From 6c33f9c50792c03e55549f82c17405552ecff540 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期三, 08 二月 2023 17:18:09 +0800 Subject: [PATCH] IFME主题切换效果优化,角色管理,资源管理主题切换界面优化 --- src/views/userManage/resourceManage.vue | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 150 insertions(+), 19 deletions(-) diff --git a/src/views/userManage/resourceManage.vue b/src/views/userManage/resourceManage.vue index 9a09cad..8830c9b 100644 --- a/src/views/userManage/resourceManage.vue +++ b/src/views/userManage/resourceManage.vue @@ -30,7 +30,7 @@ >{{ $t('common.empty') }}</el-button> <el-button v-if="menuStatus.insert" - @click="InsertFormdialog = true" + @click="setInsertFormdialog" icon="el-icon-edit" type="success" size="small" @@ -144,7 +144,6 @@ class="infoBox box_div " v-show="showinfoBox" > - <div slot="header" class="clearfix" @@ -296,7 +295,27 @@ :label="$t('userManage.resManageObj.depid')" :label-width="formLabelWidth" > - <el-input + <el-select + :popper-append-to-body="false" + v-model="insertform.depValue" + placeholder="璇烽�夋嫨" + style="width:92.5%" + > + <el-option + :value="insertform.depid" + :label="insertform.depValue" + style=" height:auto" + > + <el-tree + ref="tree" + :data="depList" + node-key="id" + :props="props" + @node-click="handleDepList" + /> + </el-option> + </el-select> + <!-- <el-input v-model="insertform.depValue" disabled autocomplete="off" @@ -305,22 +324,33 @@ :underline="false" @click="showDepTree(0)" style="margin-left: 10px" - ><i class="el-icon-plus"></i></el-link> + ><i class="el-icon-plus"></i></el-link> --> </el-form-item> <el-form-item :label="$t('userManage.resManageObj.dirid')" :label-width="formLabelWidth" > - <el-input + <el-select + :popper-append-to-body="false" v-model="insertform.dirValue" - disabled - autocomplete="off" - ></el-input> - <el-link - :underline="false" - @click="showDirTree(0)" - style="margin-left: 10px" - ><i class="el-icon-plus"></i></el-link> + placeholder="璇烽�夋嫨" + style="width:92.5%" + > + <el-option + :value="insertform.dirid" + :label="insertform.dirValue" + style=" height:auto" + > + <el-tree + ref="tree" + :data="dirList" + node-key="id" + :props="props" + @node-click="handleDirList" + /> + </el-option> + </el-select> + </el-form-item> <el-form-item :label="$t('userManage.resManageObj.descr')" @@ -430,7 +460,27 @@ :label="$t('userManage.resManageObj.depid')" :label-width="formLabelWidth" > - <el-input + <el-select + :popper-append-to-body="false" + v-model="upform.depValue" + placeholder="璇烽�夋嫨" + style="width:92.5%" + > + <el-option + :value="upform.depid" + :label="upform.depValue" + style=" height:auto" + > + <el-tree + ref="tree1" + :data="dirList" + node-key="id" + :props="props" + @node-click="handleEditDepList" + /> + </el-option> + </el-select> + <!-- <el-input v-model="upform.depValue" disabled autocomplete="off" @@ -439,13 +489,34 @@ :underline="false" @click="showDepTree(1)" style="margin-left: 10px" - ><i class="el-icon-plus"></i></el-link> + ><i class="el-icon-plus"></i></el-link> --> </el-form-item> <el-form-item :label="$t('userManage.resManageObj.dirid')" :label-width="formLabelWidth" > - <el-input + <el-select + :popper-append-to-body="false" + v-model="upform.dirValue" + placeholder="璇烽�夋嫨" + style="width:92.5%" + > + <el-option + :value="upform.dirid" + :label="upform.dirValue" + style=" height:auto" + > + <el-tree + ref="tree1" + :data="dirList" + node-key="id" + :props="props" + :default-expand-all="defaultExpand" + @node-click="handleEditDirList" + /> + </el-option> + </el-select> + <!-- <el-input v-model="upform.dirValue" disabled autocomplete="off" @@ -454,7 +525,7 @@ :underline="false" @click="showDirTree(1)" style="margin-left: 10px" - ><i class="el-icon-plus"></i></el-link> + ><i class="el-icon-plus"></i></el-link> --> </el-form-item> <el-form-item :label="$t('userManage.resManageObj.descr')" @@ -587,6 +658,8 @@ updateRes, deleteRess, upload_res, + selectdirTab, + selectdepTab, } from '../../api/api.js'; import styleDirTree from '../datamanage/styleDirTree.vue'; import styleDepTree from '../datamanage/styleDepTree.vue'; @@ -594,6 +667,15 @@ components: { MyBread, styleDirTree, styleDepTree }, data() { return { + props: { + label: 'name', + value: 'id', + children: 'children', + checkStrictly: true, + emitPath: false, + }, + depList: [], + dirList: [], menuStatus: { delete: false, insert: false, @@ -616,6 +698,8 @@ uploadFile: null, insertform: { img: '', + depValue: '', + dirValue: '' }, tableData: [], itemdetail: {}, @@ -645,6 +729,53 @@ this.getRoleTabelData(); }, methods: { + handleEditDepList(data, node, nodeData) { + this.upform.depid = data.id + this.upform.depValue = data.name; + }, + handleEditDirList(data, node, nodeData) { + this.upform.dirid = data.id + this.upform.dirValue = data.name; + }, + handleDepList(data, node, nodeData) { + + this.insertform.depid = data.id + this.insertform.depValue = data.name; + }, + handleDirList(data, node, nodeData) { + this.insertform.dirid = data.id + this.insertform.dirValue = data.name; + }, + treeData(source) { + let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕 + return cloneData.filter((father) => { + // 寰幆鎵�鏈夐」 + let branchArr = cloneData.filter((child) => father.id == child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁 + branchArr.length > 0 ? (father.children = branchArr) : ''; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊� + // 灞炰簬鍚屼竴瀵硅薄闂锛屼緥濡傦細浠� a=b銆乧=1 锛岀劧鍚庡啀浠� b.c=c 锛� 閭d箞 a.c=b.c=c=1 锛涘悓鐞嗭紝鍚庣画浠� c.d=2 ,閭d箞 a.c.d 涔熸槸=2锛� + // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋� + return father.pid == 0; // 杩斿洖涓�绾ц彍鍗� + }); + }, + async getDepList() { + const data = await selectdepTab(); + if (data.code != 200) { + return this.$message.error('鍗曚綅鍒楄〃璋冪敤澶辫触'); + } + this.depList = this.treeData(data.result) + }, + async getDirList() { + const data = await selectdirTab(); + if (data.code != 200) { + return this.$message.error('鐩綍鍒楄〃璋冪敤澶辫触'); + } + this.dirList = this.treeData(data.result) + }, + setInsertFormdialog() { + this.getDepList(); + this.getDirList(); + this.InsertFormdialog = true; + }, showPermsMenu(res) { switch (res.tag) { case '/delete': @@ -808,6 +939,8 @@ console.log(this.itemdetail.imageFile) }, handleEdit(index, row) { + this.getDepList(); + this.getDirList(); this.EditFormdialog = true; this.upform = row; this.upform.depValue = row.depName; @@ -931,9 +1064,7 @@ margin: 10px auto 0; // background-color: red; } - } - } </style> \ No newline at end of file -- Gitblit v1.9.3