|
|
|
|
@ -226,9 +226,9 @@ import { listMenu } from '@/api/system/menu';
|
|
|
|
|
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 menuOptions = ref<Array<MenuOptionsType>>([]);
|
|
|
|
|
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 table = computed(() => props.tables);
|
|
|
|
|
|
|
|
|
|
// 表单校验
|
|
|
|
|
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>
|
|
|
|
|
|