From 5426194b8651c9b2e13669940535e32e563964e5 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期日, 07 四月 2024 17:34:41 +0800 Subject: [PATCH] 路由代码上传 --- Source/ProjectWeb/src/router/avue-router.js | 15 +++++++-------- Source/ProjectWeb/src/store/modules/user.js | 37 ++++++++++++++++--------------------- 2 files changed, 23 insertions(+), 29 deletions(-) diff --git a/Source/ProjectWeb/src/router/avue-router.js b/Source/ProjectWeb/src/router/avue-router.js index 933f2a5..9d2fc30 100644 --- a/Source/ProjectWeb/src/router/avue-router.js +++ b/Source/ProjectWeb/src/router/avue-router.js @@ -97,8 +97,9 @@ // 璁剧疆 props榛樿鍊� 浣滅敤灏辨槸灏嗗瓧娈佃缃垚閰嶇疆鐨� const propsDefault = { label: propsConfig.label || 'name', - path: 'code', - pathValue:propsConfig.path || 'path', + path:'code', + code: 'code', + pathValue:'pathValue', icon: propsConfig.icon || 'icon', children: propsConfig.children || 'children', meta: propsConfig.meta || 'meta', @@ -119,17 +120,15 @@ } })(); let code = (() => { - return oMenu[propsDefault.path] + return oMenu[propsDefault.code] })(); // 灏嗗瓧绗︿覆鍒嗗壊鎴愭暟缁勶紝浠�'?'浣滀负鍒嗛殧绗� let parts = path.split("?"); // 濡傛灉鏁扮粍鐨勯暱搴﹀ぇ浜�1锛岃〃绀烘湁'?'锛屽垯鍙栫涓�涓厓绱犵殑绗竴涓儴鍒嗭紝鍚﹀垯鐩存帴鍙栨暣涓瓧绗︿覆 let bsValue = parts.length > 1 ? parts[0].split("=")[1] : path.split("=")[1]; - - if (bsValue ==='' || bsValue === undefined || bsValue === null ) { + if (bsValue === '' || bsValue === undefined || bsValue === null) { bsValue = "UI"; } - //鐗规畩澶勭悊缁勪欢 鎵ц瀹岃繖涓� component 涔熷氨鏄簿纭埌鍏蜂綋鐨勬枃浠朵簡 views鏂囦欢澶逛笅闈㈠氨鏄叿浣撶殑椤甸潰浠g爜 let component = bsValue === 'UI' ? 'views/base/UIContentViewer' : `views/custom-ui/${bsValue}`, name = oMenu[propsDefault.label], @@ -147,7 +146,7 @@ //鏄惁鏈夊瓙璺敱 const isChild = children.length !== 0; const oRouter = { - path: code, + path: '/' + code, component(resolve) { // 鍒ゆ柇鏄惁涓洪璺敱 if (first) { @@ -175,7 +174,7 @@ children: !isChild ? (() => { if (first) { // 杩欓噷鐨刬sURL鍒ゆ柇锛屽洜涓鸿繖涓綉绔欐湁浣跨敤 iframe銆傛墍浠ラ渶瑕佸垽鏂槸鍚︿负缃戦〉閾炬帴 - if (!isURL(path)) oMenu[propsDefault.path] = `${path}/index`; + if (!isURL(path)) oMenu[propsDefault.pathValue] = `${path}/index`; return [{ component(resolve) { require([`../${component}.vue`], resolve) diff --git a/Source/ProjectWeb/src/store/modules/user.js b/Source/ProjectWeb/src/store/modules/user.js index f522601..4227cc6 100644 --- a/Source/ProjectWeb/src/store/modules/user.js +++ b/Source/ProjectWeb/src/store/modules/user.js @@ -14,7 +14,7 @@ const propsConfig = menu.props; const propsDefault = { label: propsConfig.label || 'name', - path: 'code', + path: propsConfig.path || 'path', icon: propsConfig.icon || 'icon', children: propsConfig.children || 'children' } @@ -27,9 +27,19 @@ } else { ele[propsDefault.children].forEach(child => { addPath(child); - }) - } + }); + } +} + +function updateCode(items) { + items.forEach(item => { + item.pathValue = item.path; + item.path = '/' + item.code; + if (item.children && item.children.length > 0) { + updateCode(item.children); + } + }); } @@ -356,7 +366,7 @@ "name": "鍏稿瀷瑙勭▼", "parentId": "BDBD6CFA-2F4C-EEF7-C380-5E9BBF6A37B3", "parentName": null, - "path": "bs=?image=typical&type=workorder&context=TypicalProcessLib", + "path": "bs=test?image=typical&type=workorder&context=TypicalProcessLib", "remark": null, "sort": 1, "source": "" @@ -400,24 +410,9 @@ let menu = deepClone(list); menu.forEach(ele => { addPath(ele, true); + updateCode([ele]); }); - updateCode(menu) - function updateCode(items) { - items.forEach(item => { - // 灏嗗瓧绗︿覆鍒嗗壊鎴愭暟缁勶紝浠�'?'浣滀负鍒嗛殧绗� - let parts = item.path.split("?"); - // 濡傛灉鏁扮粍鐨勯暱搴﹀ぇ浜�1锛岃〃绀烘湁'?'锛屽垯鍙栫涓�涓厓绱犵殑绗竴涓儴鍒嗭紝鍚﹀垯鐩存帴鍙栨暣涓瓧绗︿覆 - let bsValue = parts.length > 1 ? parts[0].split("=")[1] : item.path.split("=")[1]; - if (bsValue ==='' || bsValue === undefined || bsValue === null) { - bsValue = "UI"; - } - item.path = bsValue === 'UI' ? '/base/UIContentViewer' : `/custom-ui/${bsValue}`; - // 濡傛灉children涓嶄负绌猴紝閫掑綊璋冪敤杩欎釜鍑芥暟 - if (item.children && item.children.length > 0) { - updateCode(item.children); - } - }); - } + commit('SET_MENU_ALL', menu) commit('SET_MENU', menu) //dispatch('GetButtons');s -- Gitblit v1.9.3