¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- 导å
¥è¡¨ --> |
| | | <el-dialog title="导å
¥è¡¨" :visible.sync="visible" width="800px" top="5vh" append-to-body> |
| | | <el-form :model="queryParams" ref="queryForm" :inline="true"> |
| | | <el-form-item label="表åç§°" prop="tableName"> |
| | | <el-input |
| | | v-model="queryParams.tableName" |
| | | placeholder="请è¾å
¥è¡¨åç§°" |
| | | clearable |
| | | size="small" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="表æè¿°" prop="tableComment"> |
| | | <el-input |
| | | v-model="queryParams.tableComment" |
| | | placeholder="请è¾å
¥è¡¨æè¿°" |
| | | clearable |
| | | size="small" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">æç´¢</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">éç½®</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-row> |
| | | <el-table @row-click="clickRow" ref="table" :data="dbTableList" @selection-change="handleSelectionChange" height="260px"> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="tableName" label="表åç§°" :show-overflow-tooltip="true"></el-table-column> |
| | | <el-table-column prop="tableComment" label="表æè¿°" :show-overflow-tooltip="true"></el-table-column> |
| | | <el-table-column prop="createTime" label="å建æ¶é´"></el-table-column> |
| | | <el-table-column prop="updateTime" label="æ´æ°æ¶é´"></el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | v-show="total>0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | </el-row> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="handleImportTable">ç¡® å®</el-button> |
| | | <el-button @click="visible = false">å æ¶</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | import { listDbTable, importTable } from "@/api/tool/gen"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | // é®ç½©å± |
| | | visible: false, |
| | | // é䏿°ç»å¼ |
| | | tables: [], |
| | | // æ»æ¡æ° |
| | | total: 0, |
| | | // è¡¨æ°æ® |
| | | dbTableList: [], |
| | | // æ¥è¯¢åæ° |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | tableName: undefined, |
| | | tableComment: undefined |
| | | } |
| | | }; |
| | | }, |
| | | methods: { |
| | | // æ¾ç¤ºå¼¹æ¡ |
| | | show() { |
| | | this.getList(); |
| | | this.visible = true; |
| | | }, |
| | | clickRow(row) { |
| | | this.$refs.table.toggleRowSelection(row); |
| | | }, |
| | | // å¤éæ¡é䏿°æ® |
| | | handleSelectionChange(selection) { |
| | | this.tables = selection.map(item => item.tableName); |
| | | }, |
| | | // æ¥è¯¢è¡¨æ°æ® |
| | | getList() { |
| | | listDbTable(this.queryParams).then(res => { |
| | | if (res.code === 200) { |
| | | this.dbTableList = res.rows; |
| | | this.total = res.total; |
| | | } |
| | | }); |
| | | }, |
| | | /** æç´¢æé®æä½ */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** éç½®æé®æä½ */ |
| | | resetQuery() { |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | /** 导å
¥æé®æä½ */ |
| | | handleImportTable() { |
| | | const tableNames = this.tables.join(","); |
| | | if (tableNames == "") { |
| | | this.$modal.msgError("è¯·éæ©è¦å¯¼å
¥ç表"); |
| | | return; |
| | | } |
| | | importTable({ tables: tableNames }).then(res => { |
| | | this.$modal.msgSuccess(res.msg); |
| | | if (res.code === 200) { |
| | | this.visible = false; |
| | | this.$emit("ok"); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | | </script> |