d96682ee19772cf112535d3e034df064.json 13 KB

1
  1. {"remainingRequest":"D:\\jiayue\\cemp-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jiayue\\cemp-ui\\src\\views\\gen\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jiayue\\cemp-ui\\src\\views\\gen\\index.vue","mtime":1619070292893},{"path":"D:\\jiayue\\cemp-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jiayue\\cemp-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jiayue\\cemp-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jiayue\\cemp-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport { fetchList, fetchSelectDsList, handleDown } from \"@/api/gen/gen\";\r\nimport { formBatchOption, formOption, tableOption } from \"@/const/crud/gen/gen\";\r\nimport Preview from \"./preview\";\r\n\r\nexport default {\r\n name: \"CodeGenerator\",\r\n components: { Preview },\r\n data() {\r\n return {\r\n q: {},\r\n dataSourceList: [],\r\n tableData: [],\r\n formData: {},\r\n formBatchData: {},\r\n box: false,\r\n boxBatch: false,\r\n page: {\r\n total: 0, // 总页数\r\n currentPage: 1, // 当前页数\r\n pageSize: 20, // 每页显示多少条\r\n },\r\n // 预览参数\r\n preview: {\r\n open: false,\r\n title: \"代码预览\",\r\n },\r\n tableLoading: false,\r\n tableOption: tableOption,\r\n formOption: formOption,\r\n formBatchOption: formBatchOption,\r\n };\r\n },\r\n created() {\r\n this.getdataSourceList();\r\n },\r\n methods: {\r\n getList(page) {\r\n this.tableLoading = true;\r\n fetchList(\r\n Object.assign(\r\n {\r\n current: page.currentPage,\r\n size: page.pageSize,\r\n },\r\n this.q\r\n )\r\n ).then((response) => {\r\n this.tableData = response.data.data.records;\r\n this.page.total = response.data.data.total;\r\n this.tableLoading = false;\r\n });\r\n },\r\n handleDesign: function (row) {\r\n this.$router.push({\r\n path: \"/gen/design\",\r\n query: { tableName: row.tableName, dsName: this.q.dsName },\r\n });\r\n },\r\n handleDown: function (row) {\r\n this.formData.tableName = row.tableName;\r\n this.box = true;\r\n },\r\n sizeChange(pageSize) {\r\n this.page.pageSize = pageSize;\r\n },\r\n currentChange(current) {\r\n this.page.currentPage = current;\r\n },\r\n refreshChange() {\r\n this.getList(this.page);\r\n },\r\n handleView: function () {\r\n this.formData.dsName = this.q.dsName;\r\n this.preview.open = true;\r\n },\r\n gen(form, done) {\r\n this.formData.dsName = this.q.dsName;\r\n handleDown(this.formData)\r\n .then(() => {\r\n done();\r\n this.box = false;\r\n })\r\n .catch(() => {\r\n done();\r\n });\r\n },\r\n getdataSourceList() {\r\n fetchSelectDsList().then((response) => {\r\n this.dataSourceList = response.data.data;\r\n });\r\n },\r\n search() {\r\n this.getList(this.page);\r\n },\r\n openBatch() {\r\n if (\r\n this.$refs.crud.tableSelect.length <= 1 ||\r\n this.$refs.crud.tableSelect.length > 10\r\n ) {\r\n this.$message.error(\"选中表数量不合法,数量最少2个或最多为10个\");\r\n return false;\r\n }\r\n let tableName = [];\r\n for (const table of this.$refs.crud.tableSelect) {\r\n tableName.push(table.tableName);\r\n }\r\n this.formBatchData.tableName = tableName.join(\"-\");\r\n this.boxBatch = true;\r\n },\r\n batchGen(form, done) {\r\n this.formBatchData.dsName = this.q.dsName;\r\n handleDown(this.formBatchData)\r\n .then(() => {\r\n done();\r\n this.boxBatch = false;\r\n })\r\n .catch(() => {\r\n done();\r\n });\r\n },\r\n },\r\n};\r\n",{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/views/gen","sourcesContent":["<!--\r\n - Copyright (c) 2018-2025, test All rights reserved.\r\n -\r\n - Redistribution and use in source and binary forms, with or without\r\n - modification, are permitted provided that the following conditions are met:\r\n -\r\n - Redistributions of source code must retain the above copyright notice,\r\n - this list of conditions and the following disclaimer.\r\n - Redistributions in binary form must reproduce the above copyright\r\n - notice, this list of conditions and the following disclaimer in the\r\n - documentation and/or other materials provided with the distribution.\r\n - Neither the name of the pig4cloud.com developer nor the names of its\r\n - contributors may be used to endorse or promote products derived from\r\n - this software without specific prior written permission.\r\n - Author: test\r\n -->\r\n\r\n<template>\r\n <div class=\"execution\">\r\n <basic-container>\r\n <el-row :gutter=\"20\">\r\n <el-col :span=\"4\">\r\n <div class=\"grid-content bg-purple\">\r\n <el-select\r\n v-model=\"q.dsName\"\r\n placeholder=\"请选择数据源\"\r\n @change=\"search\"\r\n >\r\n <el-option\r\n v-for=\"item in dataSourceList\"\r\n :key=\"item.id\"\r\n :label=\"item.name\"\r\n :value=\"item.name\"\r\n />\r\n </el-select>\r\n </div>\r\n </el-col>\r\n <el-col :span=\"4\">\r\n <div class=\"grid-content bg-purple\">\r\n <el-input v-model=\"q.tableName\" placeholder=\"表名称\" />\r\n </div>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <div class=\"grid-content bg-purple\">\r\n <el-button type=\"primary\" icon=\"el-icon-search\" @click=\"search\"\r\n >搜索</el-button\r\n >\r\n <el-button type=\"primary\" icon=\"el-icon-download\" @click=\"openBatch\"\r\n >批量生成</el-button\r\n >\r\n </div>\r\n </el-col>\r\n </el-row>\r\n <avue-crud\r\n ref=\"crud\"\r\n :page.sync=\"page\"\r\n :data=\"tableData\"\r\n :table-loading=\"tableLoading\"\r\n :option=\"tableOption\"\r\n @on-load=\"getList\"\r\n @size-change=\"sizeChange\"\r\n @current-change=\"currentChange\"\r\n @refresh-change=\"refreshChange\"\r\n >\r\n <template slot-scope=\"scope\" slot=\"menu\">\r\n <el-button\r\n type=\"text\"\r\n icon=\"el-icon-check\"\r\n @click=\"handleDown(scope.row, scope.index)\"\r\n >生成\r\n </el-button>\r\n <el-button\r\n type=\"text\"\r\n icon=\"el-icon-edit\"\r\n @click=\"handleDesign(scope.row, scope.index)\"\r\n >设计\r\n </el-button>\r\n </template>\r\n </avue-crud>\r\n\r\n <el-dialog :visible.sync=\"box\" title=\"生成配置\" width=\"50%\" lock-scroll>\r\n <div class=\"pull-auto\">\r\n <avue-form ref=\"formData\" :option=\"formOption\" v-model=\"formData\">\r\n <template slot-scope=\"scope\" slot=\"menuForm\">\r\n <el-button\r\n type=\"primary\"\r\n icon=\"el-icon-view\"\r\n plain\r\n @click=\"handleView()\"\r\n >预览\r\n </el-button>\r\n <el-button type=\"info\" icon=\"el-icon-check\" plain @click=\"gen()\"\r\n >下载\r\n </el-button>\r\n </template>\r\n </avue-form>\r\n </div>\r\n </el-dialog>\r\n <el-dialog\r\n :visible.sync=\"boxBatch\"\r\n title=\"批量生成\"\r\n width=\"50%\"\r\n lock-scroll\r\n >\r\n <div class=\"pull-auto\">\r\n <avue-form\r\n ref=\"formBatchData\"\r\n :option=\"formBatchOption\"\r\n v-model=\"formBatchData\"\r\n @submit=\"batchGen\"\r\n />\r\n </div>\r\n </el-dialog>\r\n </basic-container>\r\n <!-- 预览界面 -->\r\n <el-dialog\r\n :title=\"preview.title\"\r\n :visible.sync=\"preview.open\"\r\n width=\"80%\"\r\n top=\"5vh\"\r\n append-to-body\r\n >\r\n <Preview :queryData=\"this.formData\" v-if=\"preview.open\" />\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { fetchList, fetchSelectDsList, handleDown } from \"@/api/gen/gen\";\r\nimport { formBatchOption, formOption, tableOption } from \"@/const/crud/gen/gen\";\r\nimport Preview from \"./preview\";\r\n\r\nexport default {\r\n name: \"CodeGenerator\",\r\n components: { Preview },\r\n data() {\r\n return {\r\n q: {},\r\n dataSourceList: [],\r\n tableData: [],\r\n formData: {},\r\n formBatchData: {},\r\n box: false,\r\n boxBatch: false,\r\n page: {\r\n total: 0, // 总页数\r\n currentPage: 1, // 当前页数\r\n pageSize: 20, // 每页显示多少条\r\n },\r\n // 预览参数\r\n preview: {\r\n open: false,\r\n title: \"代码预览\",\r\n },\r\n tableLoading: false,\r\n tableOption: tableOption,\r\n formOption: formOption,\r\n formBatchOption: formBatchOption,\r\n };\r\n },\r\n created() {\r\n this.getdataSourceList();\r\n },\r\n methods: {\r\n getList(page) {\r\n this.tableLoading = true;\r\n fetchList(\r\n Object.assign(\r\n {\r\n current: page.currentPage,\r\n size: page.pageSize,\r\n },\r\n this.q\r\n )\r\n ).then((response) => {\r\n this.tableData = response.data.data.records;\r\n this.page.total = response.data.data.total;\r\n this.tableLoading = false;\r\n });\r\n },\r\n handleDesign: function (row) {\r\n this.$router.push({\r\n path: \"/gen/design\",\r\n query: { tableName: row.tableName, dsName: this.q.dsName },\r\n });\r\n },\r\n handleDown: function (row) {\r\n this.formData.tableName = row.tableName;\r\n this.box = true;\r\n },\r\n sizeChange(pageSize) {\r\n this.page.pageSize = pageSize;\r\n },\r\n currentChange(current) {\r\n this.page.currentPage = current;\r\n },\r\n refreshChange() {\r\n this.getList(this.page);\r\n },\r\n handleView: function () {\r\n this.formData.dsName = this.q.dsName;\r\n this.preview.open = true;\r\n },\r\n gen(form, done) {\r\n this.formData.dsName = this.q.dsName;\r\n handleDown(this.formData)\r\n .then(() => {\r\n done();\r\n this.box = false;\r\n })\r\n .catch(() => {\r\n done();\r\n });\r\n },\r\n getdataSourceList() {\r\n fetchSelectDsList().then((response) => {\r\n this.dataSourceList = response.data.data;\r\n });\r\n },\r\n search() {\r\n this.getList(this.page);\r\n },\r\n openBatch() {\r\n if (\r\n this.$refs.crud.tableSelect.length <= 1 ||\r\n this.$refs.crud.tableSelect.length > 10\r\n ) {\r\n this.$message.error(\"选中表数量不合法,数量最少2个或最多为10个\");\r\n return false;\r\n }\r\n let tableName = [];\r\n for (const table of this.$refs.crud.tableSelect) {\r\n tableName.push(table.tableName);\r\n }\r\n this.formBatchData.tableName = tableName.join(\"-\");\r\n this.boxBatch = true;\r\n },\r\n batchGen(form, done) {\r\n this.formBatchData.dsName = this.q.dsName;\r\n handleDown(this.formBatchData)\r\n .then(() => {\r\n done();\r\n this.boxBatch = false;\r\n })\r\n .catch(() => {\r\n done();\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n</style>\r\n\r\n"]}]}