From a870a1c6bcb5ca385be193a7efd3f5c72cfd14c9 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期三, 20 十月 2021 15:23:51 +0800
Subject: [PATCH] update sql文件更新 xxljob控制台菜单
---
ruoyi-ui/src/views/tool/gen/editTable.vue | 449 +++++++++++++++++++++++++++++---------------------------
1 files changed, 232 insertions(+), 217 deletions(-)
diff --git a/ruoyi-ui/src/views/tool/gen/editTable.vue b/ruoyi-ui/src/views/tool/gen/editTable.vue
index 5f88c1a..95b12cf 100644
--- a/ruoyi-ui/src/views/tool/gen/editTable.vue
+++ b/ruoyi-ui/src/views/tool/gen/editTable.vue
@@ -1,217 +1,232 @@
-<template>
- <el-card>
- <el-tabs v-model="activeName">
- <el-tab-pane label="鍩烘湰淇℃伅" name="basic">
- <basic-info-form ref="basicInfo" :info="info" />
- </el-tab-pane>
- <el-tab-pane label="瀛楁淇℃伅" name="cloum">
- <el-table ref="dragTable" :data="cloumns" row-key="columnId" :max-height="tableHeight">
- <el-table-column label="搴忓彿" type="index" min-width="5%" class-name="allowDrag" />
- <el-table-column
- label="瀛楁鍒楀悕"
- prop="columnName"
- min-width="10%"
- :show-overflow-tooltip="true"
- />
- <el-table-column label="瀛楁鎻忚堪" min-width="10%">
- <template slot-scope="scope">
- <el-input v-model="scope.row.columnComment"></el-input>
- </template>
- </el-table-column>
- <el-table-column
- label="鐗╃悊绫诲瀷"
- prop="columnType"
- min-width="10%"
- :show-overflow-tooltip="true"
- />
- <el-table-column label="Java绫诲瀷" min-width="11%">
- <template slot-scope="scope">
- <el-select v-model="scope.row.javaType">
- <el-option label="Long" value="Long" />
- <el-option label="String" value="String" />
- <el-option label="Integer" value="Integer" />
- <el-option label="Double" value="Double" />
- <el-option label="BigDecimal" value="BigDecimal" />
- <el-option label="Date" value="Date" />
- </el-select>
- </template>
- </el-table-column>
- <el-table-column label="java灞炴��" min-width="10%">
- <template slot-scope="scope">
- <el-input v-model="scope.row.javaField"></el-input>
- </template>
- </el-table-column>
-
- <el-table-column label="鎻掑叆" min-width="5%">
- <template slot-scope="scope">
- <el-checkbox true-label="1" v-model="scope.row.isInsert"></el-checkbox>
- </template>
- </el-table-column>
- <el-table-column label="缂栬緫" min-width="5%">
- <template slot-scope="scope">
- <el-checkbox true-label="1" v-model="scope.row.isEdit"></el-checkbox>
- </template>
- </el-table-column>
- <el-table-column label="鍒楄〃" min-width="5%">
- <template slot-scope="scope">
- <el-checkbox true-label="1" v-model="scope.row.isList"></el-checkbox>
- </template>
- </el-table-column>
- <el-table-column label="鏌ヨ" min-width="5%">
- <template slot-scope="scope">
- <el-checkbox true-label="1" v-model="scope.row.isQuery"></el-checkbox>
- </template>
- </el-table-column>
- <el-table-column label="鏌ヨ鏂瑰紡" min-width="10%">
- <template slot-scope="scope">
- <el-select v-model="scope.row.queryType">
- <el-option label="=" value="EQ" />
- <el-option label="!=" value="NE" />
- <el-option label=">" value="GT" />
- <el-option label=">=" value="GTE" />
- <el-option label="<" value="LT" />
- <el-option label="<=" value="LTE" />
- <el-option label="LIKE" value="LIKE" />
- <el-option label="BETWEEN" value="BETWEEN" />
- </el-select>
- </template>
- </el-table-column>
- <el-table-column label="蹇呭~" min-width="5%">
- <template slot-scope="scope">
- <el-checkbox true-label="1" v-model="scope.row.isRequired"></el-checkbox>
- </template>
- </el-table-column>
- <el-table-column label="鏄剧ず绫诲瀷" min-width="12%">
- <template slot-scope="scope">
- <el-select v-model="scope.row.htmlType">
- <el-option label="鏂囨湰妗�" value="input" />
- <el-option label="鏂囨湰鍩�" value="textarea" />
- <el-option label="涓嬫媺妗�" value="select" />
- <el-option label="鍗曢�夋" value="radio" />
- <el-option label="澶嶉�夋" value="checkbox" />
- <el-option label="鏃ユ湡鎺т欢" value="datetime" />
- </el-select>
- </template>
- </el-table-column>
- <el-table-column label="瀛楀吀绫诲瀷" min-width="12%">
- <template slot-scope="scope">
- <el-select v-model="scope.row.dictType" clearable filterable placeholder="璇烽�夋嫨">
- <el-option
- v-for="dict in dictOptions"
- :key="dict.dictType"
- :label="dict.dictName"
- :value="dict.dictType">
- <span style="float: left">{{ dict.dictName }}</span>
- <span style="float: right; color: #8492a6; font-size: 13px">{{ dict.dictType }}</span>
- </el-option>
- </el-select>
- </template>
- </el-table-column>
- </el-table>
- </el-tab-pane>
- <el-tab-pane label="鐢熸垚淇℃伅" name="genInfo">
- <gen-info-form ref="genInfo" :info="info" />
- </el-tab-pane>
- </el-tabs>
- <el-form label-width="100px">
- <el-form-item style="text-align: center;margin-left:-100px;margin-top:10px;">
- <el-button type="primary" @click="submitForm()">鎻愪氦</el-button>
- <el-button @click="close()">杩斿洖</el-button>
- </el-form-item>
- </el-form>
- </el-card>
-</template>
-<script>
-import { getGenTable, updateGenTable } from "@/api/tool/gen";
-import { optionselect as getDictOptionselect } from "@/api/system/dict/type";
-import basicInfoForm from "./basicInfoForm";
-import genInfoForm from "./genInfoForm";
-import Sortable from 'sortablejs'
-export default {
- name: "GenEdit",
- components: {
- basicInfoForm,
- genInfoForm
- },
- data() {
- return {
- // 閫変腑閫夐」鍗$殑 name
- activeName: "cloum",
- // 琛ㄦ牸鐨勯珮搴�
- tableHeight: document.documentElement.scrollHeight - 245 + "px",
- // 琛ㄥ垪淇℃伅
- cloumns: [],
- // 瀛楀吀淇℃伅
- dictOptions: [],
- // 琛ㄨ缁嗕俊鎭�
- info: {}
- };
- },
- beforeCreate() {
- const { tableId } = this.$route.query;
- if (tableId) {
- // 鑾峰彇琛ㄨ缁嗕俊鎭�
- getGenTable(tableId).then(res => {
- this.cloumns = res.data.rows;
- this.info = res.data.info;
- });
- /** 鏌ヨ瀛楀吀涓嬫媺鍒楄〃 */
- getDictOptionselect().then(response => {
- this.dictOptions = response.data;
- });
- }
- },
- methods: {
- /** 鎻愪氦鎸夐挳 */
- submitForm() {
- const basicForm = this.$refs.basicInfo.$refs.basicInfoForm;
- const genForm = this.$refs.genInfo.$refs.genInfoForm;
- Promise.all([basicForm, genForm].map(this.getFormPromise)).then(res => {
- const validateResult = res.every(item => !!item);
- if (validateResult) {
- const genTable = Object.assign({}, basicForm.model, genForm.model);
- genTable.columns = this.cloumns;
- genTable.params = {
- treeCode: genTable.treeCode,
- treeName: genTable.treeName,
- treeParentCode: genTable.treeParentCode
- };
- updateGenTable(genTable).then(res => {
- this.msgSuccess(res.msg);
- if (res.code === 200) {
- this.close();
- }
- });
- } else {
- this.msgError("琛ㄥ崟鏍¢獙鏈�氳繃锛岃閲嶆柊妫�鏌ユ彁浜ゅ唴瀹�");
- }
- });
- },
- getFormPromise(form) {
- return new Promise(resolve => {
- form.validate(res => {
- resolve(res);
- });
- });
- },
- /** 鍏抽棴鎸夐挳 */
- close() {
- this.$store.dispatch("tagsView/delView", this.$route);
- this.$router.push({ path: "/tool/gen", query: { t: Date.now()}})
- }
- },
- mounted() {
- const el = this.$refs.dragTable.$el.querySelectorAll(".el-table__body-wrapper > table > tbody")[0];
- const sortable = Sortable.create(el, {
- handle: ".allowDrag",
- onEnd: evt => {
- const targetRow = this.cloumns.splice(evt.oldIndex, 1)[0];
- this.cloumns.splice(evt.newIndex, 0, targetRow);
- for (let index in this.cloumns) {
- this.cloumns[index].sort = parseInt(index) + 1;
- }
- }
- });
- }
-};
-</script>
+<template>
+ <el-card>
+ <el-tabs v-model="activeName">
+ <el-tab-pane label="鍩烘湰淇℃伅" name="basic">
+ <basic-info-form ref="basicInfo" :info="info" />
+ </el-tab-pane>
+ <el-tab-pane label="瀛楁淇℃伅" name="columnInfo">
+ <el-table ref="dragTable" :data="columns" row-key="columnId" :max-height="tableHeight">
+ <el-table-column label="搴忓彿" type="index" min-width="5%" class-name="allowDrag" />
+ <el-table-column
+ label="瀛楁鍒楀悕"
+ prop="columnName"
+ min-width="10%"
+ :show-overflow-tooltip="true"
+ />
+ <el-table-column label="瀛楁鎻忚堪" min-width="10%">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.columnComment"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鐗╃悊绫诲瀷"
+ prop="columnType"
+ min-width="10%"
+ :show-overflow-tooltip="true"
+ />
+ <el-table-column label="Java绫诲瀷" min-width="11%">
+ <template slot-scope="scope">
+ <el-select v-model="scope.row.javaType">
+ <el-option label="Long" value="Long" />
+ <el-option label="String" value="String" />
+ <el-option label="Integer" value="Integer" />
+ <el-option label="Double" value="Double" />
+ <el-option label="BigDecimal" value="BigDecimal" />
+ <el-option label="Date" value="Date" />
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column label="java灞炴��" min-width="10%">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.javaField"></el-input>
+ </template>
+ </el-table-column>
+
+ <el-table-column label="鎻掑叆" min-width="5%">
+ <template slot-scope="scope">
+ <el-checkbox true-label="1" v-model="scope.row.isInsert"></el-checkbox>
+ </template>
+ </el-table-column>
+ <el-table-column label="缂栬緫" min-width="5%">
+ <template slot-scope="scope">
+ <el-checkbox true-label="1" v-model="scope.row.isEdit"></el-checkbox>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍒楄〃" min-width="5%">
+ <template slot-scope="scope">
+ <el-checkbox true-label="1" v-model="scope.row.isList"></el-checkbox>
+ </template>
+ </el-table-column>
+ <el-table-column label="鏌ヨ" min-width="5%">
+ <template slot-scope="scope">
+ <el-checkbox true-label="1" v-model="scope.row.isQuery"></el-checkbox>
+ </template>
+ </el-table-column>
+ <el-table-column label="鏌ヨ鏂瑰紡" min-width="10%">
+ <template slot-scope="scope">
+ <el-select v-model="scope.row.queryType">
+ <el-option label="=" value="EQ" />
+ <el-option label="!=" value="NE" />
+ <el-option label=">" value="GT" />
+ <el-option label=">=" value="GE" />
+ <el-option label="<" value="LT" />
+ <el-option label="<=" value="LE" />
+ <el-option label="LIKE" value="LIKE" />
+ <el-option label="BETWEEN" value="BETWEEN" />
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column label="蹇呭~" min-width="5%">
+ <template slot-scope="scope">
+ <el-checkbox true-label="1" v-model="scope.row.isRequired"></el-checkbox>
+ </template>
+ </el-table-column>
+ <el-table-column label="鏄剧ず绫诲瀷" min-width="12%">
+ <template slot-scope="scope">
+ <el-select v-model="scope.row.htmlType">
+ <el-option label="鏂囨湰妗�" value="input" />
+ <el-option label="鏂囨湰鍩�" value="textarea" />
+ <el-option label="涓嬫媺妗�" value="select" />
+ <el-option label="鍗曢�夋" value="radio" />
+ <el-option label="澶嶉�夋" value="checkbox" />
+ <el-option label="鏃ユ湡鎺т欢" value="datetime" />
+ <el-option label="鍥剧墖涓婁紶" value="imageUpload" />
+ <el-option label="鏂囦欢涓婁紶" value="fileUpload" />
+ <el-option label="瀵屾枃鏈帶浠�" value="editor" />
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column label="瀛楀吀绫诲瀷" min-width="12%">
+ <template slot-scope="scope">
+ <el-select v-model="scope.row.dictType" clearable filterable placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="dict in dictOptions"
+ :key="dict.dictType"
+ :label="dict.dictName"
+ :value="dict.dictType">
+ <span style="float: left">{{ dict.dictName }}</span>
+ <span style="float: right; color: #8492a6; font-size: 13px">{{ dict.dictType }}</span>
+ </el-option>
+ </el-select>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-tab-pane>
+ <el-tab-pane label="鐢熸垚淇℃伅" name="genInfo">
+ <gen-info-form ref="genInfo" :info="info" :tables="tables" :menus="menus"/>
+ </el-tab-pane>
+ </el-tabs>
+ <el-form label-width="100px">
+ <el-form-item style="text-align: center;margin-left:-100px;margin-top:10px;">
+ <el-button type="primary" @click="submitForm()">鎻愪氦</el-button>
+ <el-button @click="close()">杩斿洖</el-button>
+ </el-form-item>
+ </el-form>
+ </el-card>
+</template>
+<script>
+import { getGenTable, updateGenTable } from "@/api/tool/gen";
+import { optionselect as getDictOptionselect } from "@/api/system/dict/type";
+import { listMenu as getMenuTreeselect } from "@/api/system/menu";
+import basicInfoForm from "./basicInfoForm";
+import genInfoForm from "./genInfoForm";
+import Sortable from 'sortablejs'
+
+export default {
+ name: "GenEdit",
+ components: {
+ basicInfoForm,
+ genInfoForm
+ },
+ data() {
+ return {
+ // 閫変腑閫夐」鍗$殑 name
+ activeName: "columnInfo",
+ // 琛ㄦ牸鐨勯珮搴�
+ tableHeight: document.documentElement.scrollHeight - 245 + "px",
+ // 琛ㄤ俊鎭�
+ tables: [],
+ // 琛ㄥ垪淇℃伅
+ columns: [],
+ // 瀛楀吀淇℃伅
+ dictOptions: [],
+ // 鑿滃崟淇℃伅
+ menus: [],
+ // 琛ㄨ缁嗕俊鎭�
+ info: {}
+ };
+ },
+ created() {
+ const tableId = this.$route.query && this.$route.query.tableId;
+ if (tableId) {
+ // 鑾峰彇琛ㄨ缁嗕俊鎭�
+ getGenTable(tableId).then(res => {
+ this.columns = res.data.rows;
+ this.info = res.data.info;
+ this.tables = res.data.tables;
+ });
+ /** 鏌ヨ瀛楀吀涓嬫媺鍒楄〃 */
+ getDictOptionselect().then(response => {
+ this.dictOptions = response.data;
+ });
+ /** 鏌ヨ鑿滃崟涓嬫媺鍒楄〃 */
+ getMenuTreeselect().then(response => {
+ this.menus = this.handleTree(response.data, "menuId");
+ });
+ }
+ },
+ methods: {
+ /** 鎻愪氦鎸夐挳 */
+ submitForm() {
+ const basicForm = this.$refs.basicInfo.$refs.basicInfoForm;
+ const genForm = this.$refs.genInfo.$refs.genInfoForm;
+ Promise.all([basicForm, genForm].map(this.getFormPromise)).then(res => {
+ const validateResult = res.every(item => !!item);
+ if (validateResult) {
+ const genTable = Object.assign({}, basicForm.model, genForm.model);
+ genTable.columns = this.columns;
+ genTable.params = {
+ treeCode: genTable.treeCode,
+ treeName: genTable.treeName,
+ treeParentCode: genTable.treeParentCode,
+ parentMenuId: genTable.parentMenuId
+ };
+ updateGenTable(genTable).then(res => {
+ this.$modal.msgSuccess(res.msg);
+ if (res.code === 200) {
+ this.close();
+ }
+ });
+ } else {
+ this.$modal.msgError("琛ㄥ崟鏍¢獙鏈�氳繃锛岃閲嶆柊妫�鏌ユ彁浜ゅ唴瀹�");
+ }
+ });
+ },
+ getFormPromise(form) {
+ return new Promise(resolve => {
+ form.validate(res => {
+ resolve(res);
+ });
+ });
+ },
+ /** 鍏抽棴鎸夐挳 */
+ close() {
+ this.$store.dispatch("tagsView/delView", this.$route);
+ this.$router.push({ path: "/tool/gen", query: { t: Date.now(), pageNum: this.$route.query.pageNum } })
+ }
+ },
+ mounted() {
+ const el = this.$refs.dragTable.$el.querySelectorAll(".el-table__body-wrapper > table > tbody")[0];
+ const sortable = Sortable.create(el, {
+ handle: ".allowDrag",
+ onEnd: evt => {
+ const targetRow = this.columns.splice(evt.oldIndex, 1)[0];
+ this.columns.splice(evt.newIndex, 0, targetRow);
+ for (let index in this.columns) {
+ this.columns[index].sort = parseInt(index) + 1;
+ }
+ }
+ });
+ }
+};
+</script>
--
Gitblit v1.9.3