From 61417032b79f99ecb462f7f7f2263c2d98d1b558 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期四, 20 四月 2023 18:45:29 +0800
Subject: [PATCH] fix 修复 代码生成菜单选项回显问题

---
 src/views/tool/gen/genInfoForm.vue |   69 +++++++++++-----------
 src/views/tool/gen/editTable.vue   |   79 +++++++++++++-------------
 2 files changed, 74 insertions(+), 74 deletions(-)

diff --git a/src/views/tool/gen/editTable.vue b/src/views/tool/gen/editTable.vue
index eb11b88..15e6edd 100644
--- a/src/views/tool/gen/editTable.vue
+++ b/src/views/tool/gen/editTable.vue
@@ -136,54 +136,53 @@
 
 /** 鎻愪氦鎸夐挳 */
 const submitForm = () => {
-    const basicForm = basicInfo.value.$refs.basicInfoForm;
-    const genForm = genInfo.value.$refs.genInfoForm;
+  const basicForm = basicInfo.value.$refs.basicInfoForm;
+  const genForm = genInfo.value.$refs.genInfoForm;
 
-    Promise.all([basicForm, genForm].map(getFormPromise)).then(async res => {
-        const validateResult = res.every(item => !!item);
-        if (validateResult) {
-            const genTable: any = Object.assign({}, info.value);
-            genTable.columns = columns.value;
-            genTable.params = {
-                treeCode: info.value?.treeCode,
-                treeName: info.value.treeName,
-                treeParentCode: info.value.treeParentCode,
-                parentMenuId: info.value.parentMenuId
-            };
-            const response = await updateGenTable(genTable);
-            proxy?.$modal.msgSuccess(response.msg);
-            if (response.code === 200) {
-                close();
-            }
-        } else {
-            proxy?.$modal.msgError("琛ㄥ崟鏍¢獙鏈�氳繃锛岃閲嶆柊妫�鏌ユ彁浜ゅ唴瀹�");
-        }
-    });
+  Promise.all([basicForm, genForm].map(getFormPromise)).then(async res => {
+    const validateResult = res.every(item => !!item);
+    if (validateResult) {
+      const genTable: any = Object.assign({}, info.value);
+      genTable.columns = columns.value;
+      genTable.params = {
+        treeCode: info.value?.treeCode,
+        treeName: info.value.treeName,
+        treeParentCode: info.value.treeParentCode,
+        parentMenuId: info.value.parentMenuId
+      };
+      const response = await updateGenTable(genTable);
+      proxy?.$modal.msgSuccess(response.msg);
+      if (response.code === 200) {
+        close();
+      }
+    } else {
+      proxy?.$modal.msgError("琛ㄥ崟鏍¢獙鏈�氳繃锛岃閲嶆柊妫�鏌ユ彁浜ゅ唴瀹�");
+    }
+  });
 }
 const getFormPromise = (form: any) => {
-    return new Promise(resolve => {
-        form.validate((res: any) => {
-            resolve(res);
-        });
+  return new Promise(resolve => {
+    form.validate((res: any) => {
+      resolve(res);
     });
+  });
 }
 const close = () => {
-    const obj = { path: "/tool/gen", query: { t: Date.now(), pageNum: route.query.pageNum } };
-    proxy?.$tab.closeOpenPage(obj);
+  const obj = {path: "/tool/gen", query: {t: Date.now(), pageNum: route.query.pageNum}};
+  proxy?.$tab.closeOpenPage(obj);
 }
 
 (async () => {
-    const tableId = route.params && route.params.tableId as string;
-    if (tableId) {
-        // 鑾峰彇琛ㄨ缁嗕俊鎭�
-      const res = await getGenTable(tableId);
-        res.data.info.parentMenuId = Number(res.data.info.parentMenuId);
-        columns.value = res.data.rows;
-        info.value = res.data.info;
-        tables.value = res.data.tables;
-        /** 鏌ヨ瀛楀吀涓嬫媺鍒楄〃 */
-        const response = await getDictOptionselect();
-        dictOptions.value = response.data;
-    }
+  const tableId = route.params && route.params.tableId as string;
+  if (tableId) {
+    // 鑾峰彇琛ㄨ缁嗕俊鎭�
+    const res = await getGenTable(tableId);
+    columns.value = res.data.rows;
+    info.value = res.data.info;
+    tables.value = res.data.tables;
+    /** 鏌ヨ瀛楀吀涓嬫媺鍒楄〃 */
+    const response = await getDictOptionselect();
+    dictOptions.value = response.data;
+  }
 })();
 </script>
diff --git a/src/views/tool/gen/genInfoForm.vue b/src/views/tool/gen/genInfoForm.vue
index 54a9a19..ab6e714 100644
--- a/src/views/tool/gen/genInfoForm.vue
+++ b/src/views/tool/gen/genInfoForm.vue
@@ -226,9 +226,9 @@
 import { ComponentInternalInstance, PropType } from 'vue';
 
 interface MenuOptionsType {
-    menuId: number;
-    menuName: string;
-    children: MenuOptionsType[] | undefined;
+  menuId: number | string;
+  menuName: string;
+  children: MenuOptionsType[] | undefined;
 }
 
 const subColumns = ref<any>([]);
@@ -236,14 +236,14 @@
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 
 const props = defineProps({
-    info: {
-        type: Object as PropType<any>,
-        default: null
-    },
-    tables: {
-        type: Array as PropType<any[]>,
-        default: null
-    }
+  info: {
+    type: Object as PropType<any>,
+    default: null
+  },
+  tables: {
+    type: Array as PropType<any[]>,
+    default: null
+  }
 });
 
 const infoForm = computed(() => props.info);
@@ -252,45 +252,46 @@
 
 // 琛ㄥ崟鏍¢獙
 const rules = ref({
-    tplCategory: [{ required: true, message: "璇烽�夋嫨鐢熸垚妯℃澘", trigger: "blur" }],
-    packageName: [{ required: true, message: "璇疯緭鍏ョ敓鎴愬寘璺緞", trigger: "blur" }],
-    moduleName: [{ required: true, message: "璇疯緭鍏ョ敓鎴愭ā鍧楀悕", trigger: "blur" }],
-    businessName: [{ required: true, message: "璇疯緭鍏ョ敓鎴愪笟鍔″悕", trigger: "blur" }],
-    functionName: [{ required: true, message: "璇疯緭鍏ョ敓鎴愬姛鑳藉悕", trigger: "blur" }]
+  tplCategory: [{required: true, message: "璇烽�夋嫨鐢熸垚妯℃澘", trigger: "blur"}],
+  packageName: [{required: true, message: "璇疯緭鍏ョ敓鎴愬寘璺緞", trigger: "blur"}],
+  moduleName: [{required: true, message: "璇疯緭鍏ョ敓鎴愭ā鍧楀悕", trigger: "blur"}],
+  businessName: [{required: true, message: "璇疯緭鍏ョ敓鎴愪笟鍔″悕", trigger: "blur"}],
+  functionName: [{required: true, message: "璇疯緭鍏ョ敓鎴愬姛鑳藉悕", trigger: "blur"}]
 });
 const subSelectChange = () => {
-    infoForm.value.subTableFkName = "";
+  infoForm.value.subTableFkName = "";
 }
 const tplSelectChange = (value: string) => {
-    if (value !== "sub") {
-        infoForm.value.subTableName = "";
-        infoForm.value.subTableFkName = "";
-    }
+  if (value !== "sub") {
+    infoForm.value.subTableName = "";
+    infoForm.value.subTableFkName = "";
+  }
 }
 const setSubTableColumns = (value: string) => {
-    table.value.forEach(item => {
-        const name = item.tableName;
-        if (value === name) {
-            subColumns.value = item.columns;
-            return;
-        }
-    })
+  table.value.forEach(item => {
+    const name = item.tableName;
+    if (value === name) {
+      subColumns.value = item.columns;
+      return;
+    }
+  })
 }
 
 /** 鏌ヨ鑿滃崟涓嬫媺鏍戠粨鏋� */
 const getMenuTreeselect = async () => {
-    const res = await listMenu();
-    const data = proxy?.handleTree<MenuOptionsType>(res.data, "menuId");
+  const res = await listMenu();
+  res.data.forEach(m => m.menuId = m.menuId.toString());
+  const data = proxy?.handleTree<MenuOptionsType>(res.data, "menuId");
   if (data) {
-        menuOptions.value = data
-    }
+    menuOptions.value = data
+  }
 }
 
 watch(() => props.info.subTableName, val => {
-    setSubTableColumns(val);
+  setSubTableColumns(val);
 });
 
 onMounted(() => {
-    getMenuTreeselect();
+  getMenuTreeselect();
 })
 </script>

--
Gitblit v1.9.3