From f093da99ecb963d19d62dc0f242f00b20bc8895c Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 14 四月 2021 13:22:31 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev --- ruoyi-ui/src/views/tool/gen/genInfoForm.vue | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 157 insertions(+), 11 deletions(-) diff --git a/ruoyi-ui/src/views/tool/gen/genInfoForm.vue b/ruoyi-ui/src/views/tool/gen/genInfoForm.vue index 659f903..27d6a22 100644 --- a/ruoyi-ui/src/views/tool/gen/genInfoForm.vue +++ b/ruoyi-ui/src/views/tool/gen/genInfoForm.vue @@ -4,9 +4,10 @@ <el-col :span="12"> <el-form-item prop="tplCategory"> <span slot="label">鐢熸垚妯℃澘</span> - <el-select v-model="info.tplCategory"> + <el-select v-model="info.tplCategory" @change="tplSelectChange"> <el-option label="鍗曡〃锛堝鍒犳敼鏌ワ級" value="crud" /> - <el-option label="鏍戣〃锛堝鍒犳敼鏌ワ級" value="tree" disabled/> + <el-option label="鏍戣〃锛堝鍒犳敼鏌ワ級" value="tree" /> + <el-option label="涓诲瓙琛紙澧炲垹鏀规煡锛�" value="sub" /> </el-select> </el-form-item> </el-col> @@ -58,6 +59,60 @@ <el-input v-model="info.functionName" /> </el-form-item> </el-col> + + <el-col :span="12"> + <el-form-item> + <span slot="label"> + 涓婄骇鑿滃崟 + <el-tooltip content="鍒嗛厤鍒版寚瀹氳彍鍗曚笅锛屼緥濡� 绯荤粺绠$悊" placement="top"> + <i class="el-icon-question"></i> + </el-tooltip> + </span> + <treeselect + :append-to-body="true" + v-model="info.parentMenuId" + :options="menus" + :normalizer="normalizer" + :show-count="true" + placeholder="璇烽�夋嫨绯荤粺鑿滃崟" + /> + </el-form-item> + </el-col> + + <el-col :span="12"> + <el-form-item prop="genType"> + <span slot="label"> + 鐢熸垚浠g爜鏂瑰紡 + <el-tooltip content="榛樿涓簔ip鍘嬬缉鍖呬笅杞斤紝涔熷彲浠ヨ嚜瀹氫箟鐢熸垚璺緞" placement="top"> + <i class="el-icon-question"></i> + </el-tooltip> + </span> + <el-radio v-model="info.genType" label="0">zip鍘嬬缉鍖�</el-radio> + <el-radio v-model="info.genType" label="1">鑷畾涔夎矾寰�</el-radio> + </el-form-item> + </el-col> + + <el-col :span="24" v-if="info.genType == '1'"> + <el-form-item prop="genPath"> + <span slot="label"> + 鑷畾涔夎矾寰� + <el-tooltip content="濉啓纾佺洏缁濆璺緞锛岃嫢涓嶅~鍐欙紝鍒欑敓鎴愬埌褰撳墠Web椤圭洰涓�" placement="top"> + <i class="el-icon-question"></i> + </el-tooltip> + </span> + <el-input v-model="info.genPath"> + <el-dropdown slot="append"> + <el-button type="primary"> + 鏈�杩戣矾寰勫揩閫熼�夋嫨 + <i class="el-icon-arrow-down el-icon--right"></i> + </el-button> + <el-dropdown-menu slot="dropdown"> + <el-dropdown-item @click.native="info.genPath = '/'">鎭㈠榛樿鐨勭敓鎴愬熀纭�璺緞</el-dropdown-item> + </el-dropdown-menu> + </el-dropdown> + </el-input> + </el-form-item> + </el-col> </el-row> <el-row v-show="info.tplCategory == 'tree'"> @@ -72,8 +127,8 @@ </span> <el-select v-model="info.treeCode" placeholder="璇烽�夋嫨"> <el-option - v-for="column in info.columns" - :key="column.columnName" + v-for="(column, index) in info.columns" + :key="index" :label="column.columnName + '锛�' + column.columnComment" :value="column.columnName" ></el-option> @@ -90,8 +145,8 @@ </span> <el-select v-model="info.treeParentCode" placeholder="璇烽�夋嫨"> <el-option - v-for="column in info.columns" - :key="column.columnName" + v-for="(column, index) in info.columns" + :key="index" :label="column.columnName + '锛�' + column.columnComment" :value="column.columnName" ></el-option> @@ -108,8 +163,47 @@ </span> <el-select v-model="info.treeName" placeholder="璇烽�夋嫨"> <el-option - v-for="column in info.columns" - :key="column.columnName" + v-for="(column, index) in info.columns" + :key="index" + :label="column.columnName + '锛�' + column.columnComment" + :value="column.columnName" + ></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row v-show="info.tplCategory == 'sub'"> + <h4 class="form-header">鍏宠仈淇℃伅</h4> + <el-col :span="12"> + <el-form-item> + <span slot="label"> + 鍏宠仈瀛愯〃鐨勮〃鍚� + <el-tooltip content="鍏宠仈瀛愯〃鐨勮〃鍚嶏紝 濡傦細sys_user" placement="top"> + <i class="el-icon-question"></i> + </el-tooltip> + </span> + <el-select v-model="info.subTableName" placeholder="璇烽�夋嫨" @change="subSelectChange"> + <el-option + v-for="(table, index) in tables" + :key="index" + :label="table.tableName + '锛�' + table.tableComment" + :value="table.tableName" + ></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item> + <span slot="label"> + 瀛愯〃鍏宠仈鐨勫閿悕 + <el-tooltip content="瀛愯〃鍏宠仈鐨勫閿悕锛� 濡傦細user_id" placement="top"> + <i class="el-icon-question"></i> + </el-tooltip> + </span> + <el-select v-model="info.subTableFkName" placeholder="璇烽�夋嫨"> + <el-option + v-for="(column, index) in subColumns" + :key="index" :label="column.columnName + '锛�' + column.columnComment" :value="column.columnName" ></el-option> @@ -120,16 +214,29 @@ </el-form> </template> <script> +import Treeselect from "@riophae/vue-treeselect"; +import "@riophae/vue-treeselect/dist/vue-treeselect.css"; + export default { name: "BasicInfoForm", + components: { Treeselect }, props: { info: { type: Object, default: null - } + }, + tables: { + type: Array, + default: null + }, + menus: { + type: Array, + default: [] + }, }, data() { return { + subColumns: [], rules: { tplCategory: [ { required: true, message: "璇烽�夋嫨鐢熸垚妯℃澘", trigger: "blur" } @@ -145,10 +252,49 @@ ], functionName: [ { required: true, message: "璇疯緭鍏ョ敓鎴愬姛鑳藉悕", trigger: "blur" } - ] + ], } }; }, - created() {} + created() {}, + watch: { + 'info.subTableName': function(val) { + this.setSubTableColumns(val); + } + }, + methods: { + /** 杞崲鑿滃崟鏁版嵁缁撴瀯 */ + normalizer(node) { + if (node.children && !node.children.length) { + delete node.children; + } + return { + id: node.menuId, + label: node.menuName, + children: node.children + }; + }, + /** 閫夋嫨瀛愯〃鍚嶈Е鍙� */ + subSelectChange(value) { + this.info.subTableFkName = ''; + }, + /** 閫夋嫨鐢熸垚妯℃澘瑙﹀彂 */ + tplSelectChange(value) { + if(value !== 'sub') { + this.info.subTableName = ''; + this.info.subTableFkName = ''; + } + }, + /** 璁剧疆鍏宠仈澶栭敭 */ + setSubTableColumns(value) { + for (var item in this.tables) { + const name = this.tables[item].tableName; + if (value === name) { + this.subColumns = this.tables[item].columns; + break; + } + } + } + } }; </script> -- Gitblit v1.9.3