From fe21d23b147ed5cec22b4f76a88840b05495d4ad Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期六, 18 六月 2022 22:33:59 +0800 Subject: [PATCH] 2022-06-18 --- src/utils/utils.js | 20 ++++++++++++++------ 1 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/utils/utils.js b/src/utils/utils.js index a753811..1f78e17 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -2067,26 +2067,30 @@ */ export function getMark (marks, record, style = {}) { let icon = null - let color = null + let innerStyle = null let position = null style = JSON.parse(JSON.stringify(style)) marks.some(mark => { - let originVal = record[mark.field[0]] + '' + let originVal = record[mark.field[0]] let contrastVal = '' let result = false if (mark.field[1] === 'static') { - contrastVal = mark.contrastValue + '' + contrastVal = mark.contrastValue } else { - contrastVal = record[mark.field[2]] + '' + contrastVal = record[mark.field[2]] } + + if (originVal === undefined || contrastVal === undefined) return false if (mark.match === '=') { result = originVal === contrastVal } else if (mark.match === '!=') { result = originVal !== contrastVal } else if (mark.match === 'like') { + originVal = originVal + '' + contrastVal = contrastVal + '' result = originVal.indexOf(contrastVal) > -1 } else if (mark.match === '>') { result = parseFloat(originVal) > parseFloat(contrastVal) @@ -2100,20 +2104,24 @@ if (type === 'font') { style.color = mark.color + innerStyle = {color: mark.color} } else if (type === 'background') { style.background = mark.color if (mark.fontColor) { style.color = mark.fontColor + innerStyle = {color: mark.fontColor} } } else if (type === 'underline') { style.textDecoration = 'underline' style.color = mark.color + innerStyle = {color: mark.color, textDecoration: 'underline'} } else if (type === 'line-through') { style.textDecoration = 'line-through' style.color = mark.color + innerStyle = {color: mark.color, textDecoration: 'line-through'} } else if (type.indexOf('icon') > -1) { icon = mark.signType[mark.signType.length - 1] - color = mark.color + innerStyle = {color: mark.color} if (type === 'iconfront' || mark.signType[1] === 'front') { position = 'front' } else { @@ -2127,7 +2135,7 @@ return { style, icon, - color, + innerStyle, position } } -- Gitblit v1.8.0