diff --git a/src/api/mdp/meta/item.js b/src/api/mdp/meta/item.js index eea08e0b..29f48f2f 100644 --- a/src/api/mdp/meta/item.js +++ b/src/api/mdp/meta/item.js @@ -63,6 +63,27 @@ export const initSimpleDicts=function(categoryId,itemCodes){ data.forEach(dict=>{ if(dict.optionList){ dict.options=JSON.parse(dict.optionList) + dict.options.forEach(k=>{ + var cellValue=k.id + var classNames=['info','primary','success','warning','danger']; + var colors=['#909399','#409EFF','#67C23A','#E6A23C','#F56C6C','#00ced1','#c71585','#ff8c00','#c7158577','#ffd700']; + var cellValueInt=parseInt(cellValue) + if( isNaN(cellValueInt) ){ + cellValueInt=cellValue.chartCodeAt(cellValue.length-1) + } + var colorIndex=cellValueInt % 10 + if(cellValueInt > 0 && colorIndex==0){ + colorIndex=1 + } + var typeIndex=cellValueInt % 5 + if(cellValueInt > 0 && typeIndex==0){ + typeIndex=1 + } + if(!k.color){ + k.color=colors[colorIndex] + } + k.className=classNames[typeIndex] + }) }else{ dict.options=[] } diff --git a/src/common/js/util.js b/src/common/js/util.js index eedcfcf2..6a0ab48a 100644 --- a/src/common/js/util.js +++ b/src/common/js/util.js @@ -39,40 +39,104 @@ export default { * 通过字典值获取其名称,返回根值相同的字典,并自动计算其对应显示样式 * 界面上可以类似使用 * 显示: - {{item.name}} + {{item.name}} * 下拉框: - + + + + {{item.name}} + + + + 0|xx|#909399 + 1|xx|#409EFF + 2|xx|#67C23A + 3|xx|#E6A23C + 4|xx|#F56C6C + 5|xx|#00ced1 + 6|xx|#c71585 + 7|xx|#ff8c00 + 8|xx|#c7158577 + 9|xx|#ffd700 * * @param {*} dicts * @param {*} itemCode * @param {*} cellValue * @returns [{id:'',name:'',className:'',color:'',icon:''}] - */ + */ formatDictsWithClass: function(dicts,itemCode,cellValue){ - var classNames=['info','primary','success','warning','danger']; + var classNames=['info','primary','success','warning','danger']; + var colors=['#909399','#409EFF','#67C23A','#E6A23C','#F56C6C','#00ced1','#c71585','#ff8c00','#c7158577','#ffd700']; + let key=itemCode; if(!cellValue){ return []; } + var cellValueInt=parseInt(cellValue) + if( isNaN(cellValueInt) ){ + cellValueInt=cellValue.chartCodeAt(cellValue.length-1) + } + var colorIndex=cellValueInt % 10 + if(cellValueInt > 0 && colorIndex==0){ + colorIndex=1 + } + var typeIndex=cellValueInt % 5 + if(cellValueInt > 0 && typeIndex==0){ + typeIndex=1 + } if(dicts[key]==undefined || dicts[key]==null || dicts[key].length==0 ){ - var className=cellValue%5; - return [{id:cellValue,name:cellValue,className:classNames[cellValue%5]}]; + + return [{id:cellValue,name:cellValue,className:classNames[typeIndex],color:colors[colorIndex]}]; } - let data=dicts[key].find(i=>i.id===cellValue) - let index=dicts[key].findIndex(i=>i.id===cellValue) + let data=dicts[key].find(i=>i.id===cellValue) if(data){ - data['className']=classNames[index%5] + data['className']=classNames[typeIndex] + if(!data.color){ + data.color=colors[colorIndex] + } return [data]; }else{ - return [{id:cellValue,name:cellValue,className:classNames[cellValue%5]}] + return [{id:cellValue,name:cellValue,className:classNames[typeIndex],color:colors[colorIndex]}] } - }, + }, + + getColor(cellValue){ + var colors=['#909399','#409EFF','#67C23A','#E6A23C','#F56C6C','#00ced1','#c71585','#ff8c00','#c7158577','#ffd700']; + if(!cellValue){ + return colors[0] + } + var cellValueInt=parseInt(cellValue) + if( isNaN(cellValueInt) ){ + cellValueInt=cellValue.chartCodeAt(cellValue.length-1) + } + var colorIndex=cellValueInt % 10 + if(cellValueInt > 0 && colorIndex==0){ + colorIndex=1 + } + return colors[colorIndex] + }, + + getType(cellValue){ + var classNames=['info','primary','success','warning','danger']; + if(!cellValue){ + return classNames[0] + } + var cellValueInt=parseInt(cellValue) + if( isNaN(cellValueInt) ){ + cellValueInt=cellValue.chartCodeAt(cellValue.length-1) + } + var typeIndex=cellValueInt % 5 + if(cellValueInt > 0 && typeIndex==0){ + typeIndex=1 + } + return classNames[typeIndex] + }, calcTableMaxHeight(cssSelector) { var table=cssSelector; if(typeof cssSelector == 'string'){ diff --git a/src/views/xm/core/xmTestPlanCase/XmTestPlanCaseEdit.vue b/src/views/xm/core/xmTestPlanCase/XmTestPlanCaseEdit.vue index ce6341c7..35658e2a 100644 --- a/src/views/xm/core/xmTestPlanCase/XmTestPlanCaseEdit.vue +++ b/src/views/xm/core/xmTestPlanCase/XmTestPlanCaseEdit.vue @@ -31,11 +31,7 @@
- - - - - +
{{formatDicts(dicts,'testStepTcode',editForm.execStatus)}} @@ -132,7 +128,12 @@ - + + + + {{item.name}} + + @@ -142,7 +143,12 @@ - + + + + {{item.name}} + + @@ -283,11 +289,19 @@ TestStepResult,MyInput, this.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:tips.isOk?'success':'error'}) } }).catch((e)=>Object.assign(this.editForm,this.editFormBak)) - }, + }, + + getExecStatusIcon(execStatus){ + var icons=['el-icon-arrow-up','el-icon-right','el-icon-check','el-icon-minus','el-icon-close']; + if(!execStatus){ + return icons[0] + } + return icons[parseInt(execStatus)] + } },//end method mounted() { this.$nextTick(() => { - initDicts(this); + initDicts(this); this.initData() this.maxTableHeight = util.calcTableMaxHeight(this.$refs.table.$el) });