From 6f10d1a4ba4df1565927ced7d70e77fe21f487e1 Mon Sep 17 00:00:00 2001 From: 康鲁杰 <60095866+KangLujie@users.noreply.github.com> Date: 星期三, 25 六月 2025 15:28:49 +0800 Subject: [PATCH] 修改自定义表单 --- ruoyi-ui/apps/web-antd/src/views/tool/page-designer/page-drawer.vue | 40 +++++++++++++++++++++------------------- 1 files changed, 21 insertions(+), 19 deletions(-) diff --git a/ruoyi-ui/apps/web-antd/src/views/tool/page-designer/page-drawer.vue b/ruoyi-ui/apps/web-antd/src/views/tool/page-designer/page-drawer.vue index a73c4ee..153664d 100644 --- a/ruoyi-ui/apps/web-antd/src/views/tool/page-designer/page-drawer.vue +++ b/ruoyi-ui/apps/web-antd/src/views/tool/page-designer/page-drawer.vue @@ -40,6 +40,7 @@ const modalVisible = ref(false); const modalLoading = ref(false); const currentEditId = ref<string | number>(''); // 褰撳墠缂栬緫鐨処D +const fullMenuTree = ref([]); // 鎵撳紑寮圭獥 const open = async (params: ModalProps = { update: false }) => { @@ -51,16 +52,16 @@ await setupPageSelect(); if (params.id) { - await formApi.setFieldValue('menuId', params.id); + await formApi.setFieldValue('menuParentId', params.id); if (params.update) { // 鑾峰彇璇︽儏鏁版嵁 const record = await pageInfo(params.id); - console.log('缂栬緫鏁版嵁:', record); // 璁剧疆鍩虹琛ㄥ崟鏁版嵁 + const menuParentId = String(record.menuParentId || record.parentId || ''); await formApi.setValues({ name: record.name, - menuId: record.menuId || record.parentId || params.id, // 浼樺厛浣跨敤menuId锛屽叾娆arentId + menuParentId: menuParentId, // 鐢� menuParentId 瀛楁 status: record.status, remark: record.remark, actionsFunc: record.actionsFunc ? JSON.parse(record.actionsFunc) : ['add', 'edit', 'delete', 'query'] @@ -80,7 +81,6 @@ // 鎭㈠閫変腑鐨勫瓧娈� if (record.showColumn) { selectedFields.value = JSON.parse(record.showColumn); - console.log('鎭㈠閫変腑瀛楁:', selectedFields.value); } } catch (e) { console.error('鍔犺浇琛ㄥ崟璁捐鏁版嵁澶辫触:', e); @@ -116,36 +116,46 @@ filteredList.forEach(item => { item.menuName = $t(item.menuName); }); // 杞负鏍戠粨鏋� const menuTree = listToTree(filteredList, { id: 'menuId', pid: 'parentId' }); - // 鍔犳牴鑺傜偣 - const fullMenuTree = [ + // 閫掑綊鏄犲皠 menuId -> menuParentId + function mapMenuIdToParentId(list) { + return list.map(item => { + const newItem = { ...item, menuParentId: item.menuId }; + if (item.children) { + newItem.children = mapMenuIdToParentId(item.children); + } + return newItem; + }); + } + fullMenuTree.value = [ { menuId: 0, + menuParentId: 0, menuName: $t('menu.root'), - children: menuTree, + children: mapMenuIdToParentId(menuTree), }, ]; // 鐢熸垚鍏ㄨ矾寰勫悕 - addFullName(fullMenuTree, 'menuName', ' / '); + addFullName(fullMenuTree.value, 'menuName', ' / '); formApi.updateSchema([ { componentProps: { fieldNames: { label: 'menuName', - value: 'menuId', + value: 'menuId', // 鐢� menuId children: 'children' }, getPopupContainer, listHeight: 300, showSearch: true, - treeData: fullMenuTree, + treeData: fullMenuTree.value, treeDefaultExpandAll: false, treeDefaultExpandedKeys: [0], treeLine: { showLeafIcon: false }, treeNodeFilterProp: 'menuName', treeNodeLabelProp: 'fullName', }, - fieldName: 'menuId', + fieldName: 'menuParentId', // 鐢� menuParentId }, ]); } @@ -155,7 +165,6 @@ const syncAllFields = () => { // 鑾峰彇琛ㄥ崟缁勪欢鐨勮鍒欐弿杩� const formDesc = designer.value?.getFormDescription?.(); - console.log('琛ㄥ崟缁勪欢鎻忚堪:', formDesc); if (!formDesc || !Array.isArray(formDesc)) { message.warning('鏆傛棤璁捐鏁版嵁'); @@ -170,7 +179,6 @@ field: item.field })); - console.log('鎻愬彇鐨勫瓧娈�:', allFields); if (allFields.length === 0) { message.warning('鏈壘鍒板彲鐢ㄥ瓧娈�'); @@ -190,7 +198,6 @@ // 澶勭悊璁捐鍣ㄥ彉鍖� const handleDesignerChange = () => { - console.log('璁捐鍣ㄥ唴瀹瑰彉鍖�'); nextTick(() => { updateFieldOptions(); }); @@ -198,9 +205,6 @@ // 褰撹璁″櫒鍐呭鍙樺寲鏃舵洿鏂板瓧娈甸�夐」 const updateFieldOptions = () => { - console.log('updateFieldOptions'); - console.log('designer.value', designer.value); - // 鑾峰彇琛ㄥ崟缁勪欢鐨勮鍒欐弿杩� const formDesc = designer.value?.getFormDescription?.(); if (!formDesc || !Array.isArray(formDesc)) return; @@ -216,8 +220,6 @@ label: item.title, value: item.field })); - - console.log('鏇存柊鍚庣殑瀛楁閫夐」:', fieldOptions.value); }; // 鐩戝惉璁捐鍣ㄥ唴瀹瑰彉鍖� -- Gitblit v1.9.3