1.表格内添加 :formatter=""
<el-table-columnlabel="监视周期"align="center"prop="corn":formatter="cornFormat"/>
2.方法
// 频率corn转时间格式cornFormat(row, column) {let str = row.corn;// let str = row.corn; 每行数据的字段return this.cronChangeDate(str);},
// corn表达式转时间cronChangeDate(str) {console.log(str, 'strstr');if (str == null) {return '--';} else {var toDate = {};if (!str) {toDate.loopType = '单次循环';} else {var result = str.split(' ').join('');var nArr = str.split(' ');var countData = this.getPlaceholderCount(result);// console.log(countData, 'countData');if (countData.count1 === 1 && countData.count2 === 1) {// 只有一个'?'一个'*'则是按周循环toDate.loopType = '周';var keys = nArr[5];var en2cnMap = {1: '周日',2: '周一',3: '周二',4: '周三',5: '周四',6: '周五',7: '周六'};var cnKeys = keys.split(',').map(function (key, idx) {return en2cnMap[key];});toDate.loopValue = cnKeys.join(',');} else if (countData.count1 + countData.count2 === 3) {toDate.loopType = '月';var mot = [];var mkeys = nArr[3].split(',');for (var i = 0; i < mkeys.length; i++) {let mo = mkeys[i] + '号';mot.push(mo);}toDate.loopValue = mot.join(',');} else {toDate.loopType = '日';}toDate.loopTime = nArr[2] + ':' + nArr[1] + ':' + nArr[0];}let data = '';if (!toDate.loopValue) {data = '每' + toDate.loopType + ' ' + toDate.loopTime;} else {data ='每' +toDate.loopType +' ' +toDate.loopValue +' ' +toDate.loopTime;}return data;}},// 统计字符串中包含某个字符的个数getPlaceholderCount(strSource) {var count1 = 0; // ?的个数var count2 = 0; // *的个数strSource.replace(/\*|\?/g, function (m, i) {if (m === '?') {count1++;} else if (m === '*') {count2++;}});var obj = {};obj.count1 = count1; // ?obj.count2 = count2; // *// console.log(obj, 'obj');return obj; //返回一个对象,根据需要得到想要的值},