Files
education/frontend/node_modules/.cache/vue-loader/c549af00e37a280dac68b0c3aff57758.json
T

1 line
16 KiB
JSON

{"remainingRequest":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\tool\\gen\\editTable.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\tool\\gen\\editTable.vue","mtime":1787567871723},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js","mtime":1787309793142},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js","mtime":1787309793790}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgeyBnZXRHZW5UYWJsZSwgdXBkYXRlR2VuVGFibGUgfSBmcm9tICJAL2FwaS90b29sL2dlbiINCmltcG9ydCB7IG9wdGlvbnNlbGVjdCBhcyBnZXREaWN0T3B0aW9uc2VsZWN0IH0gZnJvbSAiQC9hcGkvc3lzdGVtL2RpY3QvdHlwZSINCmltcG9ydCB7IGxpc3RNZW51IGFzIGdldE1lbnVUcmVlc2VsZWN0IH0gZnJvbSAiQC9hcGkvc3lzdGVtL21lbnUiDQppbXBvcnQgYmFzaWNJbmZvRm9ybSBmcm9tICIuL2Jhc2ljSW5mb0Zvcm0iDQppbXBvcnQgZ2VuSW5mb0Zvcm0gZnJvbSAiLi9nZW5JbmZvRm9ybSINCmltcG9ydCBTb3J0YWJsZSBmcm9tICdzb3J0YWJsZWpzJw0KDQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICJHZW5FZGl0IiwNCiAgY29tcG9uZW50czogew0KICAgIGJhc2ljSW5mb0Zvcm0sDQogICAgZ2VuSW5mb0Zvcm0NCiAgfSwNCiAgZGF0YSgpIHsNCiAgICByZXR1cm4gew0KICAgICAgLy8g6YCJ5Lit6YCJ6aG55Y2h55qEIG5hbWUNCiAgICAgIGFjdGl2ZU5hbWU6ICJjb2x1bW5JbmZvIiwNCiAgICAgIC8vIOihqOagvOeahOmrmOW6pg0KICAgICAgdGFibGVIZWlnaHQ6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQgLSAyNDUgKyAicHgiLA0KICAgICAgLy8g6KGo5L+h5oGvDQogICAgICB0YWJsZXM6IFtdLA0KICAgICAgLy8g6KGo5YiX5L+h5oGvDQogICAgICBjb2x1bW5zOiBbXSwNCiAgICAgIC8vIOWtl+WFuOS/oeaBrw0KICAgICAgZGljdE9wdGlvbnM6IFtdLA0KICAgICAgLy8g6I+c5Y2V5L+h5oGvDQogICAgICBtZW51czogW10sDQogICAgICAvLyDooajor6bnu4bkv6Hmga8NCiAgICAgIGluZm86IHt9DQogICAgfQ0KICB9LA0KICBjcmVhdGVkKCkgew0KICAgIGNvbnN0IHRhYmxlSWQgPSB0aGlzLiRyb3V0ZS5wYXJhbXMgJiYgdGhpcy4kcm91dGUucGFyYW1zLnRhYmxlSWQNCiAgICBpZiAodGFibGVJZCkgew0KICAgICAgLy8g6I635Y+W6KGo6K+m57uG5L+h5oGvDQogICAgICBnZXRHZW5UYWJsZSh0YWJsZUlkKS50aGVuKHJlcyA9PiB7DQogICAgICAgIHRoaXMuY29sdW1ucyA9IHJlcy5kYXRhLnJvd3MNCiAgICAgICAgdGhpcy5pbmZvID0gcmVzLmRhdGEuaW5mbw0KICAgICAgICB0aGlzLnRhYmxlcyA9IHJlcy5kYXRhLnRhYmxlcw0KICAgICAgfSkNCiAgICAgIC8qKiDmn6Xor6LlrZflhbjkuIvmi4nliJfooaggKi8NCiAgICAgIGdldERpY3RPcHRpb25zZWxlY3QoKS50aGVuKHJlc3BvbnNlID0+IHsNCiAgICAgICAgdGhpcy5kaWN0T3B0aW9ucyA9IHJlc3BvbnNlLmRhdGENCiAgICAgIH0pDQogICAgICAvKiog5p+l6K+i6I+c5Y2V5LiL5ouJ5YiX6KGoICovDQogICAgICBnZXRNZW51VHJlZXNlbGVjdCgpLnRoZW4ocmVzcG9uc2UgPT4gew0KICAgICAgICB0aGlzLm1lbnVzID0gdGhpcy5oYW5kbGVUcmVlKHJlc3BvbnNlLmRhdGEsICJtZW51SWQiKQ0KICAgICAgfSkNCiAgICB9DQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICAvKiog5o+Q5Lqk5oyJ6ZKuICovDQogICAgc3VibWl0Rm9ybSgpIHsNCiAgICAgIGNvbnN0IGJhc2ljRm9ybSA9IHRoaXMuJHJlZnMuYmFzaWNJbmZvLiRyZWZzLmJhc2ljSW5mb0Zvcm0NCiAgICAgIGNvbnN0IGdlbkZvcm0gPSB0aGlzLiRyZWZzLmdlbkluZm8uJHJlZnMuZ2VuSW5mb0Zvcm0NCiAgICAgIFByb21pc2UuYWxsKFtiYXNpY0Zvcm0sIGdlbkZvcm1dLm1hcCh0aGlzLmdldEZvcm1Qcm9taXNlKSkudGhlbihyZXMgPT4gew0KICAgICAgICBjb25zdCB2YWxpZGF0ZVJlc3VsdCA9IHJlcy5ldmVyeShpdGVtID0+ICEhaXRlbSkNCiAgICAgICAgaWYgKHZhbGlkYXRlUmVzdWx0KSB7DQogICAgICAgICAgY29uc3QgZ2VuVGFibGUgPSBPYmplY3QuYXNzaWduKHt9LCBiYXNpY0Zvcm0ubW9kZWwsIGdlbkZvcm0ubW9kZWwpDQogICAgICAgICAgZ2VuVGFibGUuY29sdW1ucyA9IHRoaXMuY29sdW1ucw0KICAgICAgICAgIGdlblRhYmxlLnBhcmFtcyA9IHsNCiAgICAgICAgICAgIGdlblZpZXc6IGdlblRhYmxlLnZpZXcgPyAnMScgOiAnMCcsDQogICAgICAgICAgICB0cmVlQ29kZTogZ2VuVGFibGUudHJlZUNvZGUsDQogICAgICAgICAgICB0cmVlTmFtZTogZ2VuVGFibGUudHJlZU5hbWUsDQogICAgICAgICAgICB0cmVlUGFyZW50Q29kZTogZ2VuVGFibGUudHJlZVBhcmVudENvZGUsDQogICAgICAgICAgICBwYXJlbnRNZW51SWQ6IGdlblRhYmxlLnBhcmVudE1lbnVJZA0KICAgICAgICAgIH0NCiAgICAgICAgICB1cGRhdGVHZW5UYWJsZShnZW5UYWJsZSkudGhlbihyZXMgPT4gew0KICAgICAgICAgICAgdGhpcy4kbW9kYWwubXNnU3VjY2VzcyhyZXMubXNnKQ0KICAgICAgICAgICAgaWYgKHJlcy5jb2RlID09PSAyMDApIHsNCiAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpDQogICAgICAgICAgICB9DQogICAgICAgICAgfSkNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICB0aGlzLiRtb2RhbC5tc2dFcnJvcigi6KGo5Y2V5qCh6aqM5pyq6YCa6L+H77yM6K+36YeN5paw5qOA5p+l5o+Q5Lqk5YaF5a65IikNCiAgICAgICAgfQ0KICAgICAgfSkNCiAgICB9LA0KICAgIGdldEZvcm1Qcm9taXNlKGZvcm0pIHsNCiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsNCiAgICAgICAgZm9ybS52YWxpZGF0ZShyZXMgPT4gew0KICAgICAgICAgIHJlc29sdmUocmVzKQ0KICAgICAgICB9KQ0KICAgICAgfSkNCiAgICB9LA0KICAgIC8qKiDlhbPpl63mjInpkq4gKi8NCiAgICBjbG9zZSgpIHsNCiAgICAgIGNvbnN0IG9iaiA9IHsgcGF0aDogIi90b29sL2dlbiIsIHF1ZXJ5OiB7IHQ6IERhdGUubm93KCksIHBhZ2VOdW06IHRoaXMuJHJvdXRlLnF1ZXJ5LnBhZ2VOdW0gfSB9DQogICAgICB0aGlzLiR0YWIuY2xvc2VPcGVuUGFnZShvYmopDQogICAgfQ0KICB9LA0KICBtb3VudGVkKCkgew0KICAgIGNvbnN0IGVsID0gdGhpcy4kcmVmcy5kcmFnVGFibGUuJGVsLnF1ZXJ5U2VsZWN0b3JBbGwoIi5lbC10YWJsZV9fYm9keS13cmFwcGVyID4gdGFibGUgPiB0Ym9keSIpWzBdDQogICAgY29uc3Qgc29ydGFibGUgPSBTb3J0YWJsZS5jcmVhdGUoZWwsIHsNCiAgICAgIGhhbmRsZTogIi5hbGxvd0RyYWciLA0KICAgICAgb25FbmQ6IGV2dCA9PiB7DQogICAgICAgIGNvbnN0IHRhcmdldFJvdyA9IHRoaXMuY29sdW1ucy5zcGxpY2UoZXZ0Lm9sZEluZGV4LCAxKVswXQ0KICAgICAgICB0aGlzLmNvbHVtbnMuc3BsaWNlKGV2dC5uZXdJbmRleCwgMCwgdGFyZ2V0Um93KQ0KICAgICAgICBmb3IgKGxldCBpbmRleCBpbiB0aGlzLmNvbHVtbnMpIHsNCiAgICAgICAgICB0aGlzLmNvbHVtbnNbaW5kZXhdLnNvcnQgPSBwYXJzZUludChpbmRleCkgKyAxDQogICAgICAgIH0NCiAgICAgIH0NCiAgICB9KQ0KICB9DQp9DQo="},{"version":3,"sources":["editTable.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4HA;AACA;AACA;AACA;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","file":"editTable.vue","sourceRoot":"src/views/tool/gen","sourcesContent":["<template>\r\n <el-card>\r\n <el-tabs v-model=\"activeName\">\r\n <el-tab-pane label=\"基本信息\" name=\"basic\">\r\n <basic-info-form ref=\"basicInfo\" :info=\"info\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"字段信息\" name=\"columnInfo\">\r\n <el-table ref=\"dragTable\" :data=\"columns\" row-key=\"columnId\" :max-height=\"tableHeight\">\r\n <el-table-column label=\"序号\" type=\"index\" min-width=\"5%\" class-name=\"allowDrag\"/>\r\n <el-table-column label=\"字段列名\" prop=\"columnName\" min-width=\"10%\" :show-overflow-tooltip=\"true\" class-name=\"allowDrag\"/>\r\n <el-table-column label=\"字段描述\" min-width=\"10%\">\r\n <template slot-scope=\"scope\">\r\n <el-input v-model=\"scope.row.columnComment\"></el-input>\r\n </template>\r\n </el-table-column>\r\n <el-table-column\r\n label=\"物理类型\"\r\n prop=\"columnType\"\r\n min-width=\"10%\"\r\n :show-overflow-tooltip=\"true\"\r\n />\r\n <el-table-column label=\"Java类型\" min-width=\"11%\">\r\n <template slot-scope=\"scope\">\r\n <el-select v-model=\"scope.row.javaType\">\r\n <el-option label=\"Long\" value=\"Long\" />\r\n <el-option label=\"String\" value=\"String\" />\r\n <el-option label=\"Integer\" value=\"Integer\" />\r\n <el-option label=\"Double\" value=\"Double\" />\r\n <el-option label=\"BigDecimal\" value=\"BigDecimal\" />\r\n <el-option label=\"Date\" value=\"Date\" />\r\n <el-option label=\"Boolean\" value=\"Boolean\" />\r\n </el-select>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"java属性\" min-width=\"10%\">\r\n <template slot-scope=\"scope\">\r\n <el-input v-model=\"scope.row.javaField\"></el-input>\r\n </template>\r\n </el-table-column>\r\n\r\n <el-table-column label=\"插入\" min-width=\"5%\">\r\n <template slot-scope=\"scope\">\r\n <el-checkbox true-label=\"1\" false-label=\"0\" v-model=\"scope.row.isInsert\"></el-checkbox>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"编辑\" min-width=\"5%\">\r\n <template slot-scope=\"scope\">\r\n <el-checkbox true-label=\"1\" false-label=\"0\" v-model=\"scope.row.isEdit\"></el-checkbox>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"列表\" min-width=\"5%\">\r\n <template slot-scope=\"scope\">\r\n <el-checkbox true-label=\"1\" false-label=\"0\" v-model=\"scope.row.isList\"></el-checkbox>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"查询\" min-width=\"5%\">\r\n <template slot-scope=\"scope\">\r\n <el-checkbox true-label=\"1\" false-label=\"0\" v-model=\"scope.row.isQuery\"></el-checkbox>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"查询方式\" min-width=\"10%\">\r\n <template slot-scope=\"scope\">\r\n <el-select v-model=\"scope.row.queryType\">\r\n <el-option label=\"=\" value=\"EQ\" />\r\n <el-option label=\"!=\" value=\"NE\" />\r\n <el-option label=\">\" value=\"GT\" />\r\n <el-option label=\">=\" value=\"GTE\" />\r\n <el-option label=\"<\" value=\"LT\" />\r\n <el-option label=\"<=\" value=\"LTE\" />\r\n <el-option label=\"LIKE\" value=\"LIKE\" />\r\n <el-option label=\"BETWEEN\" value=\"BETWEEN\" />\r\n </el-select>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"必填\" min-width=\"5%\">\r\n <template slot-scope=\"scope\">\r\n <el-checkbox true-label=\"1\" false-label=\"0\" v-model=\"scope.row.isRequired\"></el-checkbox>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"显示类型\" min-width=\"12%\">\r\n <template slot-scope=\"scope\">\r\n <el-select v-model=\"scope.row.htmlType\">\r\n <el-option label=\"文本框\" value=\"input\" />\r\n <el-option label=\"文本域\" value=\"textarea\" />\r\n <el-option label=\"下拉框\" value=\"select\" />\r\n <el-option label=\"单选框\" value=\"radio\" />\r\n <el-option label=\"复选框\" value=\"checkbox\" />\r\n <el-option label=\"日期控件\" value=\"datetime\" />\r\n <el-option label=\"图片上传\" value=\"imageUpload\" />\r\n <el-option label=\"文件上传\" value=\"fileUpload\" />\r\n <el-option label=\"富文本控件\" value=\"editor\" />\r\n </el-select>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"字典类型\" min-width=\"12%\">\r\n <template slot-scope=\"scope\">\r\n <el-select v-model=\"scope.row.dictType\" clearable filterable placeholder=\"请选择\">\r\n <el-option\r\n v-for=\"dict in dictOptions\"\r\n :key=\"dict.dictType\"\r\n :label=\"dict.dictName\"\r\n :value=\"dict.dictType\">\r\n <span style=\"float: left\">{{ dict.dictName }}</span>\r\n <span style=\"float: right; color: #8492a6; font-size: 13px\">{{ dict.dictType }}</span>\r\n </el-option>\r\n </el-select>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-tab-pane>\r\n <el-tab-pane label=\"生成信息\" name=\"genInfo\">\r\n <gen-info-form ref=\"genInfo\" :info=\"info\" :tables=\"tables\" :menus=\"menus\"/>\r\n </el-tab-pane>\r\n </el-tabs>\r\n <el-form label-width=\"100px\">\r\n <el-form-item style=\"text-align: center;margin-left:-100px;margin-top:10px;\">\r\n <el-button type=\"primary\" @click=\"submitForm()\">提交</el-button>\r\n <el-button @click=\"close()\">返回</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </el-card>\r\n</template>\r\n\r\n<script>\r\nimport { getGenTable, updateGenTable } from \"@/api/tool/gen\"\r\nimport { optionselect as getDictOptionselect } from \"@/api/system/dict/type\"\r\nimport { listMenu as getMenuTreeselect } from \"@/api/system/menu\"\r\nimport basicInfoForm from \"./basicInfoForm\"\r\nimport genInfoForm from \"./genInfoForm\"\r\nimport Sortable from 'sortablejs'\r\n\r\nexport default {\r\n name: \"GenEdit\",\r\n components: {\r\n basicInfoForm,\r\n genInfoForm\r\n },\r\n data() {\r\n return {\r\n // 选中选项卡的 name\r\n activeName: \"columnInfo\",\r\n // 表格的高度\r\n tableHeight: document.documentElement.scrollHeight - 245 + \"px\",\r\n // 表信息\r\n tables: [],\r\n // 表列信息\r\n columns: [],\r\n // 字典信息\r\n dictOptions: [],\r\n // 菜单信息\r\n menus: [],\r\n // 表详细信息\r\n info: {}\r\n }\r\n },\r\n created() {\r\n const tableId = this.$route.params && this.$route.params.tableId\r\n if (tableId) {\r\n // 获取表详细信息\r\n getGenTable(tableId).then(res => {\r\n this.columns = res.data.rows\r\n this.info = res.data.info\r\n this.tables = res.data.tables\r\n })\r\n /** 查询字典下拉列表 */\r\n getDictOptionselect().then(response => {\r\n this.dictOptions = response.data\r\n })\r\n /** 查询菜单下拉列表 */\r\n getMenuTreeselect().then(response => {\r\n this.menus = this.handleTree(response.data, \"menuId\")\r\n })\r\n }\r\n },\r\n methods: {\r\n /** 提交按钮 */\r\n submitForm() {\r\n const basicForm = this.$refs.basicInfo.$refs.basicInfoForm\r\n const genForm = this.$refs.genInfo.$refs.genInfoForm\r\n Promise.all([basicForm, genForm].map(this.getFormPromise)).then(res => {\r\n const validateResult = res.every(item => !!item)\r\n if (validateResult) {\r\n const genTable = Object.assign({}, basicForm.model, genForm.model)\r\n genTable.columns = this.columns\r\n genTable.params = {\r\n genView: genTable.view ? '1' : '0',\r\n treeCode: genTable.treeCode,\r\n treeName: genTable.treeName,\r\n treeParentCode: genTable.treeParentCode,\r\n parentMenuId: genTable.parentMenuId\r\n }\r\n updateGenTable(genTable).then(res => {\r\n this.$modal.msgSuccess(res.msg)\r\n if (res.code === 200) {\r\n this.close()\r\n }\r\n })\r\n } else {\r\n this.$modal.msgError(\"表单校验未通过,请重新检查提交内容\")\r\n }\r\n })\r\n },\r\n getFormPromise(form) {\r\n return new Promise(resolve => {\r\n form.validate(res => {\r\n resolve(res)\r\n })\r\n })\r\n },\r\n /** 关闭按钮 */\r\n close() {\r\n const obj = { path: \"/tool/gen\", query: { t: Date.now(), pageNum: this.$route.query.pageNum } }\r\n this.$tab.closeOpenPage(obj)\r\n }\r\n },\r\n mounted() {\r\n const el = this.$refs.dragTable.$el.querySelectorAll(\".el-table__body-wrapper > table > tbody\")[0]\r\n const sortable = Sortable.create(el, {\r\n handle: \".allowDrag\",\r\n onEnd: evt => {\r\n const targetRow = this.columns.splice(evt.oldIndex, 1)[0]\r\n this.columns.splice(evt.newIndex, 0, targetRow)\r\n for (let index in this.columns) {\r\n this.columns[index].sort = parseInt(index) + 1\r\n }\r\n }\r\n })\r\n }\r\n}\r\n</script>\r\n"]}]}