From 555d43cd77473c1f5e1a2d0a29d0b61381b23015 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Sun, 10 Apr 2022 06:40:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/js/util.js | 66 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 58 insertions(+), 8 deletions(-) diff --git a/src/common/js/util.js b/src/common/js/util.js index f4374a1b..cf5c00e9 100644 --- a/src/common/js/util.js +++ b/src/common/js/util.js @@ -13,6 +13,60 @@ function padding(s, len) { export default { + /** + * 通过字典值获取其名称 + * 界面上可以 + * {{formatDicts(dicts,'xxx',scope.row.xxx)}} + * @param {*} dicts + * @param {*} itemCode + * @param {*} cellValue + * @returns + */ + formatDicts: function(dicts,itemCode,cellValue){ + let key=itemCode; + if( dicts[key]==undefined || dicts[key]==null || dicts[key].length==0 ){ + return cellValue; + } + let dict=dicts[key].find(i=>i.id===cellValue) + if(dict){ + return dict.name + }else{ + return cellValue + } + }, + + /** + * 通过字典值获取其名称,返回根值相同的字典,并自动计算其对应显示样式 + * 界面上可以类似使用 + * {{item.name}} + * + * @param {*} dicts + * @param {*} itemCode + * @param {*} cellValue + * @returns [{id:'',name:'',className:''}] + */ + formatDictsWithClass: function(dicts,itemCode,cellValue){ + debugger; + var classNames=['info','primary','success','warning','danger']; + let key=itemCode; + if(!cellValue){ + return []; + } + if(dicts[key]==undefined || dicts[key]==null || dicts[key].length==0 ){ + var className=cellValue%5; + return [{id:cellValue,name:cellValue,className:classNames[cellValue%5]}]; + } + let data=dicts[key].find(i=>i.id===cellValue) + let index=dicts[key].findIndex(i=>i.id===cellValue) + if(data){ + data['className']=classNames[index%5] + return [data]; + }else{ + return [{id:cellValue,name:cellValue,className:classNames[cellValue%5]}] + } + + }, + calcTableMaxHeight(cssSelector) { var table=cssSelector; if(typeof cssSelector == 'string'){ @@ -157,10 +211,8 @@ export default { */ toLine(name) { return name.replace(/([A-Z])/g, "_$1").toLowerCase(); - }, - formatDate: { - - format: function(date, pattern) { + }, + formatDate: function(date, pattern) { pattern = pattern || DEFAULT_PATTERN return pattern.replace(SIGN_REGEXP, function($0) { switch ($0.charAt(0)) { @@ -183,7 +235,7 @@ export default { } }) }, - parse: function(dateString, pattern) { + parseDate: function(dateString, pattern) { var matchs1 = pattern.match(SIGN_REGEXP) var matchs2 = dateString.match(/(\d)+/g) if (matchs1.length == matchs2.length) { @@ -215,9 +267,7 @@ export default { return _date } return null - }, - - }, + }, //type date/daterange pickerOptions: function(type) {