From 6af68085ff6615e1ec3a5dd18c761250800d6fca Mon Sep 17 00:00:00 2001 From: LiuHao <liuhaoai545@gmail.com> Date: 星期二, 06 六月 2023 22:23:43 +0800 Subject: [PATCH] update 修改页面代码 去除ele的引入以及vue的类型声明 --- src/views/tool/gen/index.vue | 111 +++++++++++++++++++++++++++++-------------------------- 1 files changed, 59 insertions(+), 52 deletions(-) diff --git a/src/views/tool/gen/index.vue b/src/views/tool/gen/index.vue index f78bb0d..dd48635 100644 --- a/src/views/tool/gen/index.vue +++ b/src/views/tool/gen/index.vue @@ -1,36 +1,41 @@ <template> <div class="p-2"> <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave"> - <div class="search" v-show="showSearch"> - <el-form :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px"> - <el-form-item label="鏁版嵁婧�" prop="dataName"> - <el-input v-model="queryParams.dataName" placeholder="璇疯緭鍏ユ暟鎹簮鍚嶇О" clearable style="width: 200px" @keyup.enter="handleQuery" /> - </el-form-item> - <el-form-item label="琛ㄥ悕绉�" prop="tableName"> - <el-input v-model="queryParams.tableName" placeholder="璇疯緭鍏ヨ〃鍚嶇О" clearable style="width: 200px" @keyup.enter="handleQuery" /> - </el-form-item> - <el-form-item label="琛ㄦ弿杩�" prop="tableComment"> - <el-input v-model="queryParams.tableComment" placeholder="璇疯緭鍏ヨ〃鎻忚堪" clearable style="width: 200px" @keyup.enter="handleQuery" /> - </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿" style="width: 308px"> - <el-date-picker - v-model="dateRange" - value-format="YYYY-MM-DD" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button> - <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> + <div class="mb-[10px]" v-show="showSearch"> + <el-card shadow="hover"> + <el-form :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px"> + <el-form-item label="鏁版嵁婧�" prop="dataName"> + <el-select v-model="queryParams.dataName" filterable clearable placeholder="璇烽�夋嫨/杈撳叆鏁版嵁婧愬悕绉�" style="width: 200px"> + <el-option key="" label="鍏ㄩ儴" value="" /> + <el-option v-for="item in dataNameList" :key="item" :label="item" :value="item"> </el-option> + </el-select> + </el-form-item> + <el-form-item label="琛ㄥ悕绉�" prop="tableName"> + <el-input v-model="queryParams.tableName" placeholder="璇疯緭鍏ヨ〃鍚嶇О" clearable style="width: 200px" @keyup.enter="handleQuery" /> + </el-form-item> + <el-form-item label="琛ㄦ弿杩�" prop="tableComment"> + <el-input v-model="queryParams.tableComment" placeholder="璇疯緭鍏ヨ〃鎻忚堪" clearable style="width: 200px" @keyup.enter="handleQuery" /> + </el-form-item> + <el-form-item label="鍒涘缓鏃堕棿" style="width: 308px"> + <el-date-picker + v-model="dateRange" + value-format="YYYY-MM-DD" + type="daterange" + range-separator="-" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + ></el-date-picker> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button> + <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button> + </el-form-item> + </el-form> + </el-card> </div> </transition> - <el-card shadow="never"> + <el-card shadow="hover"> <template #header> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> @@ -58,6 +63,7 @@ <span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span> </template> </el-table-column> + <el-table-column label="鏁版嵁婧�" align="center" prop="dataName" :show-overflow-tooltip="true" /> <el-table-column label="琛ㄥ悕绉�" align="center" prop="tableName" :show-overflow-tooltip="true" /> <el-table-column label="琛ㄦ弿杩�" align="center" prop="tableComment" :show-overflow-tooltip="true" /> <el-table-column label="瀹炰綋" align="center" prop="className" :show-overflow-tooltip="true" /> @@ -95,9 +101,9 @@ :name="(key as any).substring((key as any).lastIndexOf('/') + 1, (key as any).indexOf('.vm'))" :key="value" > - <el-link :underline="false" icon="DocumentCopy" v-copyText="value" v-copyText:callback="copyTextSuccess" style="float:right" - > 澶嶅埗</el-link - > + <el-link :underline="false" icon="DocumentCopy" v-copyText="value" v-copyText:callback="copyTextSuccess" style="float:right"> + 澶嶅埗 + </el-link> <pre>{{ value }}</pre> </el-tab-pane> </el-tabs> @@ -107,12 +113,10 @@ </template> <script setup name="Gen" lang="ts"> -import { listTable, previewTable, delTable, genCode, synchDb } from '@/api/tool/gen'; +import { listTable, previewTable, delTable, genCode, synchDb, getDataNames } from '@/api/tool/gen'; import { TableQuery, TableVO } from '@/api/tool/gen/types'; import router from '@/router'; -import importTable from './importTable.vue'; -import { ComponentInternalInstance } from 'vue'; -import { ElForm, DateModelType } from 'element-plus'; +import ImportTable from './importTable.vue'; const route = useRoute(); const { proxy } = getCurrentInstance() as ComponentInternalInstance; @@ -124,19 +128,19 @@ const single = ref(true); const multiple = ref(true); const total = ref(0); -const tableNames = ref<Array<string>>([]); const dateRange = ref<[DateModelType, DateModelType]>(['', '']); const uniqueId = ref(""); +const dataNameList = ref<Array<string>>([]); -const queryFormRef = ref(ElForm); -const importRef = ref(importTable); +const queryFormRef = ref<ElFormInstance>(); +const importRef = ref<InstanceType<typeof ImportTable>>(); const queryParams = ref<TableQuery>({ pageNum: 1, pageSize: 10, tableName: '', tableComment: '', - dataName: "master" + dataName: "" }) const preview = ref <any>({ @@ -148,18 +152,22 @@ title: '浠g爜棰勮' }); -localStorage.setItem('dataName', queryParams.value.dataName); - onActivated(() => { const time = route.query.t; if (time != null && time != uniqueId.value) { uniqueId.value = time as string; queryParams.value.pageNum = Number(route.query.pageNum); dateRange.value = ['', '']; - queryFormRef.value.resetFields(); + queryFormRef.value?.resetFields(); getList(); } }) + +/** 鏌ヨ澶氭暟鎹簮鍚嶇О */ +const getDataNameList = async () => { + const res = await getDataNames() + dataNameList.value = res.data; +} /** 鏌ヨ琛ㄩ泦鍚� */ const getList = async () => { @@ -171,39 +179,38 @@ } /** 鎼滅储鎸夐挳鎿嶄綔 */ const handleQuery = () => { - localStorage.setItem('dataName', queryParams.value.dataName); queryParams.value.pageNum = 1; getList(); } /** 鐢熸垚浠g爜鎿嶄綔 */ const handleGenTable = async (row?: TableVO) => { - const tbNames = row?.tableName || tableNames.value; - if (tbNames == "") { + const tbIds = row?.tableId || ids.value; + if (tbIds == "") { proxy?.$modal.msgError('璇烽�夋嫨瑕佺敓鎴愮殑鏁版嵁'); return; } if (row?.genType === "1") { - await genCode(row.tableName); + await genCode(row.tableId); proxy?.$modal.msgSuccess('鎴愬姛鐢熸垚鍒拌嚜瀹氫箟璺緞锛�' + row.genPath); } else { - proxy?.$download.zip('/tool/gen/batchGenCode?tables=' + tbNames, 'ruoyi.zip'); + proxy?.$download.zip('/tool/gen/batchGenCode?tableIdStr=' + tbIds, 'ruoyi.zip'); } } /** 鍚屾鏁版嵁搴撴搷浣� */ const handleSynchDb = async (row: TableVO) => { - const tableName = row.tableName; - await proxy?.$modal.confirm('纭瑕佸己鍒跺悓姝�"' + tableName + '"琛ㄧ粨鏋勫悧锛�'); - await synchDb(tableName); + const tableId = row.tableId; + await proxy?.$modal.confirm('纭瑕佸己鍒跺悓姝�"' + row.tableName + '"琛ㄧ粨鏋勫悧锛�'); + await synchDb(tableId); proxy?.$modal.msgSuccess('鍚屾鎴愬姛'); } /** 鎵撳紑瀵煎叆琛ㄥ脊绐� */ const openImportTable = () => { - importRef.value.show(); + importRef.value.show(queryParams.value.dataName); } /** 閲嶇疆鎸夐挳鎿嶄綔 */ const resetQuery = () => { dateRange.value = ['', '']; - queryFormRef.value.resetFields(); + queryFormRef.value?.resetFields(); handleQuery(); } /** 棰勮鎸夐挳 */ @@ -220,7 +227,6 @@ // 澶氶�夋閫変腑鏁版嵁 const handleSelectionChange = (selection: TableVO[]) => { ids.value = selection.map(item => item.tableId); - tableNames.value = selection.map(item => item.tableName); single.value = selection.length != 1; multiple.value = !selection.length; } @@ -240,5 +246,6 @@ onMounted(() => { getList(); + getDataNameList(); }) </script> -- Gitblit v1.9.3