From c40e3de17653a10a06ead765813783a5614a32ce Mon Sep 17 00:00:00 2001 From: 王旭 <1377869194@qq.com> Date: 星期四, 16 二月 2023 17:40:43 +0800 Subject: [PATCH] 调整运维管理部分页面格式 --- src/views/userManage/roleManage.vue | 516 ++++++++++++++++++++++++++------------------------------ 1 files changed, 240 insertions(+), 276 deletions(-) diff --git a/src/views/userManage/roleManage.vue b/src/views/userManage/roleManage.vue index f9046a4..6f4f786 100644 --- a/src/views/userManage/roleManage.vue +++ b/src/views/userManage/roleManage.vue @@ -1,53 +1,93 @@ <template> <div class="logLog_box"> - <My-bread :list="[ + <My-bread + :list="[ `${$t('operatManage.operatManage')}`, `${$t('userManage.roleManage')}`, - ]"></My-bread> + ]" + ></My-bread> <el-divider /> - <div class="inquire subpage_Div"> - <el-form - ref="ruleForm" - :model="roleForm" - :inline="true" - > - <el-form-item - :label="$t('userManage.RM.roleName')" - prop="username" - > - <el-input v-model="roleForm.username" style="width:200px"/> - </el-form-item> - <el-form-item - :label="$t('userManage.RM.ownedSystem')" - prop="ownedSystem" - > - <el-select - :popper-append-to-body="false" - v-model="roleForm.depValue" - placeholder="璇烽�夋嫨" - style="width:200px" - > - <el-option - :value="roleForm.depid" - :label="roleForm.depValue" - style=" height:auto" + <div class="inquire subpage_Div" ref="container"> + <el-form ref="ruleForm" :model="roleForm" :inline="true"> + <div class="flex_box"> + <div style="margin-right: auto"> + <el-form-item :label="$t('userManage.RM.roleName')" prop="username"> + <el-input v-model="roleForm.username" style="width: 200px" /> + </el-form-item> + <el-form-item + :label="$t('userManage.RM.ownedSystem')" + prop="ownedSystem" > - <el-tree - ref="tree" - :data="depList" - node-key="id" - :props="props" - @node-click="handleRouleDepList" - /> - </el-option> - </el-select> - <!-- <el-input + <el-select + :popper-append-to-body="false" + v-model="roleForm.depValue" + placeholder="璇烽�夋嫨" + style="width: 200px" + > + <el-option + :value="roleForm.depid" + :label="roleForm.depValue" + style="height: auto" + > + <el-tree + ref="tree" + :data="depList" + node-key="id" + :props="props" + @node-click="handleRouleDepList" + /> + </el-option> + </el-select> + <!-- <el-input v-model="roleForm.value" :disabled="true" :placeholder="$t('common.pleaseInput')" /> --> + </el-form-item> + </div> + <div> + <el-form-item> + <el-button type="info" size="small" @click="resetForm('ruleForm')" + ><i class="el-icon-delete"></i> {{ + $t("userManage.RM.reset") + }}</el-button + > + </el-form-item> + <el-form-item> + <el-button + size="small" + type="primary" + @click="onSubmit('ruleForm')" + ><i class="el-icon-search"></i> {{ + $t("userManage.RM.query") + }}</el-button + > + </el-form-item> + <el-form-item> + <el-button + type="danger" + size="small" + @click="handleDelete()" + v-if="menuStatus.delete" + ><i class="el-icon-delete"></i> {{ + $t("common.delete") + }}</el-button + > + </el-form-item> + <el-form-item> + <el-button + type="success" + size="small" + @click="setInsertFormdialog" + v-if="menuStatus.insert" + ><i class="el-icon-circle-plus-outline"></i> {{ + $t("userManage.RM.add") + }}</el-button + > + </el-form-item> + </div> + </div> - </el-form-item> <!-- <el-form-item> <el-button size="small" @@ -93,68 +133,23 @@ $t('common.delete') }}</el-button> </el-form-item> --> - <el-form-item style="float:right"> - <el-button - type="info" - size="small" - @click="resetForm('ruleForm')" - ><i class="el-icon-delete"></i> {{ - $t('userManage.RM.reset') - }}</el-button> - </el-form-item> - <el-form-item style="float:right"> - <el-button - size="small" - type="primary" - @click="onSubmit('ruleForm')" - ><i class="el-icon-search"></i> {{ - $t('userManage.RM.query') - }}</el-button> - </el-form-item> - <el-form-item style="float:right"> - <el-button - type="danger" - size="small" - @click="handleDelete()" - v-if="menuStatus.delete" - ><i class="el-icon-delete"></i> {{ - $t('common.delete') - }}</el-button> - </el-form-item> - <el-form-item style="float:right"> - <el-button - type="success" - size="small" - @click="setInsertFormdialog " - v-if="menuStatus.insert" - ><i class="el-icon-circle-plus-outline"></i> {{ - $t('userManage.RM.add') - }}</el-button> - </el-form-item> </el-form> </div> - <div class="table_box subpage_Div"> + <div class="table_box subpage_Div" :style="styleVar"> <el-table :data="tableData" style="width: 100%" - height="85%" + height="calc(100% - 57px)" @selection-change="handleSelectionChange" > - <el-table-column - type="selection" - width="55" - /> + <el-table-column type="selection" width="55" /> <el-table-column align="center" type="index" :label="$t('userManage.RM.index')" width="70px" /> - <el-table-column - align="center" - prop="id" - v-if="false" - /> + <el-table-column align="center" prop="id" v-if="false" /> <el-table-column align="center" prop="name" @@ -221,18 +216,17 @@ type="warning" @click="handleEdit(scope.$index, scope.row)" size="small" - >{{ $t('common.update') }}</el-button> + >{{ $t("common.update") }}</el-button + > <el-button @click="showDetail(scope.$index, scope.row)" size="small" - >{{ $t('common.see') }}</el-button> + >{{ $t("common.see") }}</el-button + > </template> </el-table-column> </el-table> - <div - style="margin-top: 25px" - class="pagination_box" - > + <div style="margin-top: 25px" class="pagination_box"> <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" @@ -259,7 +253,7 @@ :label-width="formLabelWidth" > <el-input - style="width:95%" + style="width: 95%" v-model="insertform.name" autocomplete="off" ></el-input> @@ -274,12 +268,12 @@ :popper-append-to-body="false" v-model="insertform.depValue" placeholder="璇烽�夋嫨" - style="width:95%" + style="width: 95%" > <el-option :value="insertform.depid" :label="insertform.depValue" - style=" height:auto" + style="height: auto" > <el-tree ref="tree" @@ -307,7 +301,7 @@ :label-width="formLabelWidth" > <el-input - style="width:95%" + style="width: 95%" v-model="insertform.descr" autocomplete="off" ></el-input> @@ -316,39 +310,27 @@ :label="$t('userManage.RM.isAdmin')" :label-width="formLabelWidth" > - <el-radio - v-model="insertform.isAdmin" - label="1" - >鏄�</el-radio> - <el-radio - v-model="insertform.isAdmin" - label="0" - >鍚�</el-radio> + <el-radio v-model="insertform.isAdmin" label="1">鏄�</el-radio> + <el-radio v-model="insertform.isAdmin" label="0">鍚�</el-radio> </el-form-item> <el-form-item :label="$t('userManage.RM.remarks')" :label-width="formLabelWidth" > <el-input - style="width:95%" + style="width: 95%" v-model="insertform.bak" autocomplete="off" ></el-input> </el-form-item> </el-form> - <div - slot="footer" - class="dialog-footer" - > - <el-button - size="small" - @click="insertFromClose" - >{{ $t('common.close') }}</el-button> - <el-button - type="primary" - size="small" - @click="insertFromData" - >{{ $t('common.confirm') }}</el-button> + <div slot="footer" class="dialog-footer"> + <el-button size="small" @click="insertFromClose">{{ + $t("common.close") + }}</el-button> + <el-button type="primary" size="small" @click="insertFromData">{{ + $t("common.confirm") + }}</el-button> </div> </el-dialog> <el-dialog @@ -363,10 +345,7 @@ :label="$t('userManage.RM.roleName')" :label-width="formLabelWidth" > - <el-input - v-model="updateform.name" - autocomplete="off" - ></el-input> + <el-input v-model="updateform.name" autocomplete="off"></el-input> </el-form-item> <el-form-item @@ -378,12 +357,12 @@ :popper-append-to-body="false" v-model="updateform.depValue" placeholder="璇烽�夋嫨" - style="width:95%" + style="width: 95%" > <el-option :value="updateform.depid" :label="updateform.depValue" - style=" height:auto" + style="height: auto" > <el-tree ref="tree" @@ -411,147 +390,111 @@ :label="$t('userManage.RM.isAdmin')" :label-width="formLabelWidth" > - <el-radio - v-model="updateform.isAdmin" - label="1" - >鏄�</el-radio> - <el-radio - v-model="updateform.isAdmin" - label="0" - >鍚�</el-radio> + <el-radio v-model="updateform.isAdmin" label="1">鏄�</el-radio> + <el-radio v-model="updateform.isAdmin" label="0">鍚�</el-radio> </el-form-item> <el-form-item :label="$t('userManage.RM.describe')" :label-width="formLabelWidth" > - <el-input - v-model="updateform.descr" - autocomplete="off" - ></el-input> + <el-input v-model="updateform.descr" autocomplete="off"></el-input> </el-form-item> <el-form-item :label="$t('userManage.RM.remarks')" :label-width="formLabelWidth" > - <el-input - v-model="updateform.bak" - autocomplete="off" - ></el-input> + <el-input v-model="updateform.bak" autocomplete="off"></el-input> </el-form-item> </el-form> - <div - slot="footer" - class="dialog-footer" - > - <el-button - size="small" - @click="updateFromClose" - >{{ $t('common.close') }}</el-button> - <el-button - type="primary" - size="small" - @click="updateFromData" - >{{ $t('common.confirm') }}</el-button> + <div slot="footer" class="dialog-footer"> + <el-button size="small" @click="updateFromClose">{{ + $t("common.close") + }}</el-button> + <el-button type="primary" size="small" @click="updateFromData">{{ + $t("common.confirm") + }}</el-button> </div> </el-dialog> - <div - class="leftTree subpage_Div box_div" - v-if="showCata" - > + <div class="leftTree subpage_Div box_div" v-if="showCata"> <div class="treeBox"> <role-dep-tree></role-dep-tree> </div> <div class="btnBox"> - <el-button - type="primary" - size="small" - @click="selectCataName" - >纭畾</el-button> - <el-button - type="info" - size="small" - @click="showCata = false" - >鍙栨秷</el-button> + <el-button type="primary" size="small" @click="selectCataName" + >纭畾</el-button + > + <el-button type="info" size="small" @click="showCata = false" + >鍙栨秷</el-button + > </div> </div> - <div - class="infoBox box_div subpage_Div" - v-show="showinfoBox" - > - - <div - slot="header" - class="clearfix" - > - <span>{{ $t('dataManage.styleObj.deInformation') }}</span> - <div - style="float: right; cursor: pointer" - @click="closeDetial" - > + <div class="infoBox box_div subpage_Div" v-show="showinfoBox"> + <div slot="header" class="clearfix"> + <span>{{ $t("dataManage.styleObj.deInformation") }}</span> + <div style="float: right; cursor: pointer" @click="closeDetial"> <i class="el-icon-close"></i> </div> </div> <el-divider></el-divider> <div class="contentBox"> <p> - <label> {{ $t('userManage.RM.roleName') }}:</label> + <label> {{ $t("userManage.RM.roleName") }}:</label> <label class="boxlabel">{{ itemdetail.name }}</label> </p> <el-divider></el-divider> <p> - <label> {{ $t('userManage.RM.ownedSystem') }}:</label> + <label> {{ $t("userManage.RM.ownedSystem") }}:</label> <label class="boxlabel">{{ itemdetail.depName }}</label> </p> <el-divider></el-divider> <p> - <label> {{ $t('userManage.RM.isAdmin') }}:</label> + <label> {{ $t("userManage.RM.isAdmin") }}:</label> <label class="boxlabel">{{ itemdetail.admin }}</label> </p> <el-divider></el-divider> <p> - <label> {{ $t('userManage.RM.describe') }}:</label> + <label> {{ $t("userManage.RM.describe") }}:</label> <label class="boxlabel">{{ itemdetail.descr }}</label> </p> <el-divider></el-divider> <p> - <label> {{ $t('userManage.RM.creationuser') }}:</label> + <label> {{ $t("userManage.RM.creationuser") }}:</label> <label class="boxlabel">{{ itemdetail.createUser }}</label> </p> <el-divider></el-divider> <p> - <label> {{ $t('userManage.RM.creationtime') }}:</label> + <label> {{ $t("userManage.RM.creationtime") }}:</label> <label class="boxlabel">{{ itemdetail.createTime }}</label> </p> <el-divider></el-divider> <p> - <label> {{ $t('userManage.RM.updateonuser') }}:</label> + <label> {{ $t("userManage.RM.updateonuser") }}:</label> <label class="boxlabel">{{ itemdetail.UpdateUser }}</label> </p> <el-divider></el-divider> <p> - <label> {{ $t('userManage.RM.updateontime') }}:</label> + <label> {{ $t("userManage.RM.updateontime") }}:</label> <label class="boxlabel">{{ itemdetail.updateTime }}</label> </p> <el-divider></el-divider> <p> - <label> {{ $t('userManage.RM.remarks') }}:</label> + <label> {{ $t("userManage.RM.remarks") }}:</label> <label class="boxlabel">{{ itemdetail.bak }}</label> </p> <el-divider></el-divider> </div> - </div> </div> </template> <script> -import moment from 'moment'; -import MyBread from '../../components/MyBread.vue'; -import roleDepTree from './roleDepTree.vue'; +import moment from "moment"; +import MyBread from "../../components/MyBread.vue"; +import roleDepTree from "./roleDepTree.vue"; import { select_Role_ByPageAndCount, selectdepTab, @@ -559,8 +502,7 @@ deleteRoles, selectDep, updateRole, - -} from '../../api/api'; +} from "../../api/api"; export default { //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� components: { @@ -570,30 +512,30 @@ data() { return { props: { - label: 'name', - value: 'id', - children: 'children', + label: "name", + value: "id", + children: "children", checkStrictly: true, emitPath: false, }, depList: [], showinfoBox: false, showCata: false, - formLabelWidth: '120px', + formLabelWidth: "120px", InsertFormdialog: false, UpdateFormdialog: false, roleForm: { - depid: '', - depValue: '', + depid: "", + depValue: "", }, - cataName: '', - depValue: '', + cataName: "", + depValue: "", elTreeFlag: 0, - path_id: '', + path_id: "", tableData: [], insertform: { - depValue: '', - depid: '' + depValue: "", + depid: "", }, updateform: {}, count: 0, @@ -612,20 +554,37 @@ insert: false, update: false, }, + tableHeight: 0, + timer: 0, + styleVar: { + height: "calc(100% - 109px)", + }, }; }, methods: { + onResize() { + this.timer && clearTimeout(this.timer); + this.timer = setTimeout(() => { + this.calHeight(); + }, 500); + }, + calHeight() { + this.$nextTick(() => { + const rect = this.$refs.container.getBoundingClientRect(); + this.tableHeight = `${rect.height + 97}px`; + this.styleVar["height"] = `calc(100% - ${rect.height + 97}px)`; + }); + }, handleRouleDepList(data, node, nodeData) { - this.roleForm.depid = data.id + this.roleForm.depid = data.id; this.roleForm.depValue = data.name; }, handleDepList(data, node, nodeData) { - - this.insertform.depid = data.id + this.insertform.depid = data.id; this.insertform.depValue = data.name; }, handleUpdataDepList(data, node, nodeData) { - this.updateform.depid = data.id + this.updateform.depid = data.id; this.updateform.depValue = data.name; }, setInsertFormdialog() { @@ -636,7 +595,7 @@ return cloneData.filter((father) => { // 寰幆鎵�鏈夐」 let branchArr = cloneData.filter((child) => father.id == child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁 - branchArr.length > 0 ? (father.children = branchArr) : ''; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊� + 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; // 杩斿洖涓�绾ц彍鍗� @@ -645,9 +604,9 @@ async getDepList() { const data = await selectdepTab(); if (data.code != 200) { - return this.$message.error('鍗曚綅鍒楄〃璋冪敤澶辫触'); + return this.$message.error("鍗曚綅鍒楄〃璋冪敤澶辫触"); } - this.depList = this.treeData(data.result) + this.depList = this.treeData(data.result); }, closeDetial() { this.showinfoBox = false; @@ -663,7 +622,7 @@ this.itemdetail.updateTime ); this.itemdetail.admin = - parseInt(this.itemdetail.isAdmin) === 0 ? '鍚�' : '鏄�'; + parseInt(this.itemdetail.isAdmin) === 0 ? "鍚�" : "鏄�"; }, handleSelectionChange(val) { this.multipleSelection = val; @@ -676,7 +635,7 @@ if (date === undefined || date === null) { return; } - return moment(parseInt(date)).format('YYYY-MM-DD HH:mm:ss'); + return moment(parseInt(date)).format("YYYY-MM-DD HH:mm:ss"); }, showDepTree(res) { this.showCata = true; @@ -686,14 +645,14 @@ this.cataName = this.$store.state.catalogueName; this.path_id = this.$store.state.cataNode.id; var value; - if (this.cataName.indexOf('>') != -1) { - var data = this.$store.state.catalogueName.split('>'); + if (this.cataName.indexOf(">") != -1) { + var data = this.$store.state.catalogueName.split(">"); value = data[data.length - 1]; } else { value = this.$store.state.catalogueName; } - this.$store.commit('changeCata', ''); //娓呯┖state鐨勯潰鍖呭睉 - this.$store.commit('changeNode', ''); //娓呯┖state鐨勮妭鐐瑰璞� + this.$store.commit("changeCata", ""); //娓呯┖state鐨勯潰鍖呭睉 + this.$store.commit("changeNode", ""); //娓呯┖state鐨勮妭鐐瑰璞� this.showCata = false; switch (this.elTreeFlag) { case 1: @@ -711,14 +670,14 @@ } }, async getRoleTabelData() { - if (this.listData.tab == '') { + if (this.listData.tab == "") { delete this.listData.tab; } this.listData.name = this.roleForm.username; this.listData.depid = this.roleForm.depid; const data = await select_Role_ByPageAndCount(this.listData); if (data.code != 200) { - this.$message.error('鍒楄〃璋冪敤澶辫触'); + this.$message.error("鍒楄〃璋冪敤澶辫触"); } console.log(data); this.tableData = data.result; @@ -728,7 +687,7 @@ this.selectData = []; const data = await selectdepTab(); if (data.code != 200) { - this.$message.error('涓嬫媺璋冪敤澶辫触'); + this.$message.error("涓嬫媺璋冪敤澶辫触"); } data.result.forEach((e) => { if (e) { @@ -746,8 +705,8 @@ async insertFromData() { if (this.insertform.depValue == null) { this.$message({ - message: '璇烽�夋嫨瑙掕壊鎵�灞炲崟浣�', - type: 'warning', + message: "璇烽�夋嫨瑙掕壊鎵�灞炲崟浣�", + type: "warning", }); return; } @@ -756,14 +715,14 @@ this.InsertFormdialog = false; this.insertform = {}; this.$message({ - message: '娣诲姞鎴愬姛锛�', - type: 'success', + message: "娣诲姞鎴愬姛锛�", + type: "success", }); this.getRoleTabelData(); } else { this.$message({ - message: '娣诲姞澶辫触锛�', - type: 'warning', + message: "娣诲姞澶辫触锛�", + type: "warning", }); } }, @@ -774,8 +733,8 @@ async updateFromData() { if (this.updateform.depValue == null) { this.$message({ - message: '璇烽�夋嫨瑙掕壊鎵�灞炲崟浣�', - type: 'warning', + message: "璇烽�夋嫨瑙掕壊鎵�灞炲崟浣�", + type: "warning", }); return; } @@ -785,14 +744,14 @@ this.UpdateFormdialog = false; this.updateform = {}; this.$message({ - message: '淇敼鎴愬姛锛�', - type: 'success', + message: "淇敼鎴愬姛锛�", + type: "success", }); this.getRoleTabelData(); } else { this.$message({ - message: '淇敼澶辫触锛�', - type: 'warning', + message: "淇敼澶辫触锛�", + type: "warning", }); } }, @@ -801,32 +760,34 @@ for (var i in this.multipleSelection) { std.push(this.multipleSelection[i].id); } - this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ヨ鑹�, 鏄惁缁х画?', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(async () => { - const data = await deleteRoles({ ids: std.toString() }); + this.$confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ヨ鑹�, 鏄惁缁х画?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(async () => { + const data = await deleteRoles({ ids: std.toString() }); - if (data.code == 200) { - this.InsertFormdialog = false; + if (data.code == 200) { + this.InsertFormdialog = false; + this.$message({ + message: "鍒犻櫎鎴愬姛锛�", + type: "success", + }); + this.getRoleTabelData(); + } else { + this.$message({ + message: "鍒犻櫎澶辫触锛�", + type: "warning", + }); + } + }) + .catch(() => { this.$message({ - message: '鍒犻櫎鎴愬姛锛�', - type: 'success', + type: "info", + message: "宸插彇娑堝垹闄�", }); - this.getRoleTabelData(); - } else { - this.$message({ - message: '鍒犻櫎澶辫触锛�', - type: 'warning', - }); - } - }).catch(() => { - this.$message({ - type: 'info', - message: '宸插彇娑堝垹闄�' }); - }); }, handleSizeChange(val) { this.listData.pageSize = val; @@ -853,17 +814,25 @@ }, showPermsMenu(res) { switch (res.tag) { - case '/delete': + case "/delete": this.menuStatus.delete = true; break; - case '/insert': + case "/insert": this.menuStatus.insert = true; break; - case '/update': + case "/update": this.menuStatus.update = true; break; } }, + }, + beforeDestroy() { + this.timer && clearTimeout(this.timer); + window.removeEventListener("resize", this.onResize); + }, + mounted() { + window.addEventListener("resize", this.onResize); + this.calHeight(); }, created() { var val = this.$store.state.currentPerms; @@ -884,7 +853,7 @@ height: 98%; width: 98%; padding: 1%; - overflow: auto; + .el-input { width: 300px; } @@ -909,24 +878,19 @@ .inquire { height: auto; - padding: 10px; - margin-top: 10px; - margin-top: 10px; - width: calc(100% - 22px); + padding: 8px; + margin-top: 20px; + border-radius: 5px; + margin-bottom: 20px; + // width: calc(100% - 22px); + .el-form-item { - margin: 7px; + margin: 5px; } } - .table_box { - width: calc(100% - 22px); - height: calc(60% - 6px); - padding: 10px; - margin-bottom: 10px; - margin-top: 10px; - border-radius: 5px; - } + .text-center { text-align: center; } -- Gitblit v1.9.3