diff --git a/nezha-fronted/src/components/chart/panelChart.vue b/nezha-fronted/src/components/chart/panelChart.vue index 2dae84488..94ed585d0 100644 --- a/nezha-fronted/src/components/chart/panelChart.vue +++ b/nezha-fronted/src/components/chart/panelChart.vue @@ -546,22 +546,22 @@ export default { }, variablesReplace (expression) { let str = expression - let confirmReg = '' - let confirmRegItem = '' + let confirmReg = [] this.variablesArr.forEach(item => { const reg = '$' + item.name // 后续需要考虑 item,name 使用特殊字符的问题 const index = expression.indexOf(reg) if (index !== -1) { - if (reg.length > confirmReg.length) { - confirmReg = reg - confirmRegItem = item - } + confirmReg.push(item) } }) - if (confirmReg) { - const index = expression.indexOf(confirmReg) - const replaceStr = confirmRegItem.checked.map(label => label.replace(/\"/g, '\\"').replace(/\'/g, "\\'")).join('|') - str = str.substring(0, index) + replaceStr + str.substring(index + confirmReg.length) + confirmReg = this.$loadsh.sortBy(confirmReg, function (item) { // 根据 匹配的name的长度排序 避免匹配的 $a 没匹配 $asset的问题 + return item.name.length + }) + if (confirmReg.length) { + confirmReg.forEach(item => { + const reg = new RegExp('\\$' + item.name, 'g') // 后续需要考虑 item,name 使用特殊字符的问题 + str = str.replace(reg, item.checked.map(label => label.replace(/\"/g, '\\"').replace(/\'/g, "\\'")).join('|')) + }) } return str }, diff --git a/nezha-fronted/src/components/common/rightBox/chart/otherChartConfig.vue b/nezha-fronted/src/components/common/rightBox/chart/otherChartConfig.vue index aab7518f2..70c00e82a 100644 --- a/nezha-fronted/src/components/common/rightBox/chart/otherChartConfig.vue +++ b/nezha-fronted/src/components/common/rightBox/chart/otherChartConfig.vue @@ -150,7 +150,7 @@ -
+
{{$t('dashboard.panel.showHidden')}} -
+
{{$t('dashboard.panel.showHidden')}}