From 8f3fd3579baace06690af2ae5293ac2cc9414a1e Mon Sep 17 00:00:00 2001 From: ailanyin Date: Tue, 4 Jul 2023 09:30:46 +0800 Subject: [PATCH] fix --- src/api/system/dict/type.js | 7 +- src/api/tool/gen.js | 64 ++-- src/router/index.js | 18 +- src/views/tenant/index.vue | 513 ++++++++++++++------------- src/views/tool/gen/basicInfoForm.vue | 6 +- src/views/tool/gen/editTable.vue | 82 +++-- src/views/tool/gen/genInfoForm.vue | 69 ++-- src/views/tool/gen/importTable.vue | 42 ++- src/views/tool/gen/index.vue | 181 +++++++--- vite.config.js | 4 +- 10 files changed, 585 insertions(+), 401 deletions(-) diff --git a/src/api/system/dict/type.js b/src/api/system/dict/type.js index 3716e16..c3b3834 100644 --- a/src/api/system/dict/type.js +++ b/src/api/system/dict/type.js @@ -54,8 +54,7 @@ export function refreshCache() { // 获取字典选择框列表 export function optionselect() { return request({ - url: '/system/dict/type/option-select', - method: 'get' - }) + url: "/system/dict/type/option-select", + method: "get", + }); } - diff --git a/src/api/tool/gen.js b/src/api/tool/gen.js index 4506927..e3461ab 100644 --- a/src/api/tool/gen.js +++ b/src/api/tool/gen.js @@ -1,76 +1,76 @@ -import request from '@/utils/request' +import request from "@/utils/request"; // 查询生成表数据 export function listTable(query) { return request({ - url: '/tool/gen/list', - method: 'get', - params: query - }) + url: "/tool/gen/list", + method: "get", + params: query, + }); } // 查询db数据库列表 export function listDbTable(query) { return request({ - url: '/tool/gen/db/list', - method: 'get', - params: query - }) + url: "/tool/gen/db/list", + method: "get", + params: query, + }); } // 查询表详细信息 export function getGenTable(tableId) { return request({ - url: '/tool/gen/' + tableId, - method: 'get' - }) + url: "/tool/gen/" + tableId, + method: "get", + }); } // 修改代码生成信息 export function updateGenTable(data) { return request({ - url: '/tool/gen', - method: 'put', - data: data - }) + url: "/tool/gen", + method: "put", + data: data, + }); } // 导入表 export function importTable(data) { return request({ - url: '/tool/gen/importTable', - method: 'post', - params: data - }) + url: "/tool/gen/importTable", + method: "post", + params: data, + }); } // 预览生成代码 export function previewTable(tableId) { return request({ - url: '/tool/gen/preview/' + tableId, - method: 'get' - }) + url: "/tool/gen/preview/" + tableId, + method: "get", + }); } // 删除表数据 export function delTable(tableId) { return request({ - url: '/tool/gen/' + tableId, - method: 'delete' - }) + url: "/tool/gen/" + tableId, + method: "delete", + }); } // 生成代码(自定义路径) export function genCode(tableName) { return request({ - url: '/tool/gen/genCode/' + tableName, - method: 'get' - }) + url: "/tool/gen/genCode/" + tableName, + method: "get", + }); } // 同步数据库 export function synchDb(tableName) { return request({ - url: '/tool/gen/synchDb/' + tableName, - method: 'get' - }) + url: "/tool/gen/synchDb/" + tableName, + method: "get", + }); } diff --git a/src/router/index.js b/src/router/index.js index 2be50d6..dbc4948 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -131,19 +131,19 @@ export const dynamicRoutes = [ ], }, { - path: '/tool/gen-edit', + path: "/tool/gen-edit", component: Layout, hidden: true, - permissions: ['tool:gen:edit'], + permissions: ["tool:gen:edit"], children: [ { - path: 'index/:tableId(\\d+)', - component: () => import('@/views/tool/gen/editTable'), - name: 'GenEdit', - meta: { title: '修改生成配置', activeMenu: '/tool/gen' } - } - ] - } + path: "index/:tableId(\\d+)", + component: () => import("@/views/tool/gen/editTable"), + name: "GenEdit", + meta: { title: "修改生成配置", activeMenu: "/tool/gen" }, + }, + ], + }, ]; const router = createRouter({ diff --git a/src/views/tenant/index.vue b/src/views/tenant/index.vue index b24a1f1..2f845c0 100644 --- a/src/views/tenant/index.vue +++ b/src/views/tenant/index.vue @@ -1,31 +1,31 @@ - + - + - + - + @@ -265,25 +265,25 @@ {{ option.label }} + v-for="option in tenantModeDict" + :key="option.value" + :label="option.value" + >{{ option.label }} @@ -291,7 +291,7 @@ @@ -491,15 +491,20 @@ import { updateDatasource, updateTenant, } from "@/api/tenant/tenant"; -import {getCurrentInstance, reactive, ref, toRefs} from "vue"; -import {ElMessage, ElMessageBox} from "element-plus"; -import {database_type_dict, initStatusDict, tenantModeDict, tenantStatusDict,} from "@/constant/dict"; +import { getCurrentInstance, reactive, ref, toRefs } from "vue"; +import { ElMessage, ElMessageBox } from "element-plus"; +import { + database_type_dict, + initStatusDict, + tenantModeDict, + tenantStatusDict, +} from "@/constant/dict"; import DictTag from "@/components/DictTag/index.vue"; -import {cloneDeep} from "lodash-es"; -import {ArrowRight} from "@element-plus/icons-vue"; -import {useRouter} from "vue-router"; +import { cloneDeep } from "lodash-es"; +import { ArrowRight } from "@element-plus/icons-vue"; +import { useRouter } from "vue-router"; -const {proxy} = getCurrentInstance(); +const { proxy } = getCurrentInstance(); const router = useRouter(); const tenantList = ref([]); @@ -538,7 +543,7 @@ const data = reactive({ }, rules: { companyName: [ - {required: true, message: "公司名称不能为空", trigger: "blur"}, + { required: true, message: "公司名称不能为空", trigger: "blur" }, ], }, tenantSettingForm: {}, @@ -611,11 +616,14 @@ const { const datasource = ref([]); const isInit = (tenantId) => { - console.log(tenantId) - console.log((tenantList.value.find(el => el.tenantId === tenantId)?.initialized === '1')) - return (tenantList.value.find(el => el.tenantId === tenantId)?.initialized === '1') -} - + console.log(tenantId); + console.log( + tenantList.value.find((el) => el.tenantId === tenantId)?.initialized === "1" + ); + return ( + tenantList.value.find((el) => el.tenantId === tenantId)?.initialized === "1" + ); +}; /** 查询租户列表 */ function getList() { @@ -712,12 +720,12 @@ const handleAddDataSource = () => { */ const handleDeleteDataSource = (row) => { ElMessageBox.confirm(`确认删除此数据源: ${row.ip}`, "删除数据源", {}).then( - async () => { - await deleteDatasource(row.datasourceId); - ElMessage.success("已删除数据源"); - const resp = await datasourceList(tempTenantId.value); - datasource.value = resp.data; - } + async () => { + await deleteDatasource(row.datasourceId); + ElMessage.success("已删除数据源"); + const resp = await datasourceList(tempTenantId.value); + datasource.value = resp.data; + } ); }; @@ -828,7 +836,7 @@ const submitTenantSetting = async () => { const ori = tenantSettingForm.value.oriMode; const cur = tenantSettingForm.value.mode; const warningText = () => ( - + 切换到其他模式会清除已有的数据源配置, 是否继续? ); @@ -848,26 +856,25 @@ const submitTenantSetting = async () => { function handleDelete(row) { const _tenantIds = row.tenantId || ids.value; proxy.$modal - .confirm('是否确认删除租户编号为"' + _tenantIds + '"的数据项?') - .then(function () { - return delTenant(_tenantIds); - }) - .then(() => { - getList(); - proxy.$modal.msgSuccess("删除成功"); - }) - .catch(() => { - }); + .confirm('是否确认删除租户编号为"' + _tenantIds + '"的数据项?') + .then(function () { + return delTenant(_tenantIds); + }) + .then(() => { + getList(); + proxy.$modal.msgSuccess("删除成功"); + }) + .catch(() => {}); } /** 导出按钮操作 */ function handleExport() { proxy.download( - "tenant/tenant/export", - { - ...queryParams.value, - }, - `tenant_${new Date().getTime()}.xlsx` + "tenant/tenant/export", + { + ...queryParams.value, + }, + `tenant_${new Date().getTime()}.xlsx` ); } diff --git a/src/views/tool/gen/basicInfoForm.vue b/src/views/tool/gen/basicInfoForm.vue index 4b1cae4..ce99e19 100644 --- a/src/views/tool/gen/basicInfoForm.vue +++ b/src/views/tool/gen/basicInfoForm.vue @@ -29,8 +29,8 @@ defineProps({ info: { type: Object, - default: null - } + default: null, + }, }); // 表单校验 @@ -38,6 +38,6 @@ const rules = ref({ tableName: [{ required: true, message: "请输入表名称", trigger: "blur" }], tableComment: [{ required: true, message: "请输入表描述", trigger: "blur" }], className: [{ required: true, message: "请输入实体类名称", trigger: "blur" }], - author: [{ required: true, message: "请输入作者", trigger: "blur" }] + author: [{ required: true, message: "请输入作者", trigger: "blur" }], }); diff --git a/src/views/tool/gen/editTable.vue b/src/views/tool/gen/editTable.vue index ddcbfd5..a091072 100644 --- a/src/views/tool/gen/editTable.vue +++ b/src/views/tool/gen/editTable.vue @@ -3,10 +3,16 @@ + - - + + @@ -79,7 +101,11 @@ @@ -99,26 +125,31 @@ - - - -
+
提交 返回
@@ -146,8 +177,8 @@ const info = ref({}); function submitForm() { const basicForm = proxy.$refs.basicInfo.$refs.basicInfoForm; const genForm = proxy.$refs.genInfo.$refs.genInfoForm; - Promise.all([basicForm, genForm].map(getFormPromise)).then(res => { - const validateResult = res.every(item => !!item); + Promise.all([basicForm, genForm].map(getFormPromise)).then((res) => { + const validateResult = res.every((item) => !!item); if (validateResult) { const genTable = Object.assign({}, info.value); genTable.columns = columns.value; @@ -155,9 +186,9 @@ function submitForm() { treeCode: info.value.treeCode, treeName: info.value.treeName, treeParentCode: info.value.treeParentCode, - parentMenuId: info.value.parentMenuId + parentMenuId: info.value.parentMenuId, }; - updateGenTable(genTable).then(res => { + updateGenTable(genTable).then((res) => { proxy.$modal.msgSuccess(res.msg); if (res.code === 200) { close(); @@ -169,14 +200,17 @@ function submitForm() { }); } function getFormPromise(form) { - return new Promise(resolve => { - form.validate(res => { + return new Promise((resolve) => { + form.validate((res) => { resolve(res); }); }); } function close() { - const obj = { path: "/tool/gen", query: { t: Date.now(), pageNum: route.query.pageNum } }; + const obj = { + path: "/tool/gen", + query: { t: Date.now(), pageNum: route.query.pageNum }, + }; proxy.$tab.closeOpenPage(obj); } @@ -184,13 +218,13 @@ function close() { const tableId = route.params && route.params.tableId; if (tableId) { // 获取表详细信息 - getGenTable(tableId).then(res => { + getGenTable(tableId).then((res) => { columns.value = res.data.rows; info.value = res.data.info; tables.value = res.data.tables; }); /** 查询字典下拉列表 */ - getDictOptionselect().then(response => { + getDictOptionselect().then((response) => { dictOptions.value = response.data; }); } diff --git a/src/views/tool/gen/genInfoForm.vue b/src/views/tool/gen/genInfoForm.vue index 92cfb87..d22a3e3 100644 --- a/src/views/tool/gen/genInfoForm.vue +++ b/src/views/tool/gen/genInfoForm.vue @@ -5,8 +5,13 @@ @@ -18,7 +23,9 @@ @@ -30,7 +37,9 @@ @@ -42,7 +51,9 @@ @@ -53,15 +64,25 @@ - @@ -78,25 +99,33 @@ const { proxy } = getCurrentInstance(); const props = defineProps({ info: { type: Object, - default: null + default: null, }, tables: { type: Array, - default: null - } + default: null, + }, }); // 表单校验 const rules = ref({ - packageName: [{ required: true, message: "请输入生成包路径", trigger: "blur" }], - moduleName: [{ required: true, message: "请输入生成模块名", trigger: "blur" }], - businessName: [{ required: true, message: "请输入生成业务名", trigger: "blur" }], - functionName: [{ 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" }, + ], }); /** 查询菜单下拉树结构 */ function getMenuTreeselect() { - listMenu().then(response => { + listMenu().then((response) => { menuOptions.value = proxy.handleTree(response.data, "menuId"); }); } diff --git a/src/views/tool/gen/importTable.vue b/src/views/tool/gen/importTable.vue index 33b5633..ba8406f 100644 --- a/src/views/tool/gen/importTable.vue +++ b/src/views/tool/gen/importTable.vue @@ -1,6 +1,12 @@