From e02f6923593bd49f87caccd87e063baf312aaa3f Mon Sep 17 00:00:00 2001 From: 稚屿 <1491182878@qq.com> Date: 星期一, 22 八月 2022 14:19:08 +0800 Subject: [PATCH] 修复菜单管理已知问题 问题描述:在菜单管理下,类型为菜单或者按钮的条目下点击修改按钮。 情况1,如果是类型为菜单,第一次点击修改按钮正常,则第二次点击另一个条目后面的修改按钮时报错! 情况2,如果是类型为按钮,第一次点击修改时正常,当点击取消按钮关闭弹窗时,浏览器报错! --- ruoyi-ui/src/utils/ruoyi.js | 21 ++++++++++++++++----- 1 files changed, 16 insertions(+), 5 deletions(-) diff --git a/ruoyi-ui/src/utils/ruoyi.js b/ruoyi-ui/src/utils/ruoyi.js index 8e3cb0c..d2cd2a0 100644 --- a/ruoyi-ui/src/utils/ruoyi.js +++ b/ruoyi-ui/src/utils/ruoyi.js @@ -68,8 +68,11 @@ return search; } -// 回显数据字典 +// 回显数据字典 export function selectDictLabel(datas, value) { + if (value === undefined) { + return ""; + } var actions = []; Object.keys(datas).some((key) => { if (datas[key].value == ('' + value)) { @@ -77,23 +80,31 @@ return true; } }) + if (actions.length === 0) { + actions.push(value); + } return actions.join(''); } // 回显数据字典(字符串数组) export function selectDictLabels(datas, value, separator) { - if(value === undefined) { + if (value === undefined) { return ""; } var actions = []; var currentSeparator = undefined === separator ? "," : separator; var temp = value.split(currentSeparator); Object.keys(value.split(currentSeparator)).some((val) => { + var match = false; Object.keys(datas).some((key) => { if (datas[key].value == ('' + temp[val])) { actions.push(datas[key].label + currentSeparator); + match = true; } }) + if (!match) { + actions.push(temp[val] + currentSeparator); + } }) return actions.join('').substring(0, actions.join('').length - 1); } @@ -196,10 +207,10 @@ for (const propName of Object.keys(params)) { const value = params[propName]; var part = encodeURIComponent(propName) + "="; - if (value !== null && typeof (value) !== "undefined") { + if (value !== null && value !== "" && typeof (value) !== "undefined") { if (typeof value === 'object') { for (const key of Object.keys(value)) { - if (value[key] !== null && typeof (value[key]) !== 'undefined') { + if (value[key] !== null && value[key] !== "" && typeof (value[key]) !== 'undefined') { let params = propName + '[' + key + ']'; var subPart = encodeURIComponent(params) + "="; result += subPart + encodeURIComponent(value[key]) + "&"; @@ -222,4 +233,4 @@ } catch (error) { return true; } -} \ No newline at end of file +} -- Gitblit v1.9.2