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