From a6ad430fbe12bd634304abbca659605c32df348c Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期一, 10 十月 2022 16:02:51 +0800 Subject: [PATCH] 1 --- src/views/userManage/authorityManage.vue | 487 +++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 374 insertions(+), 113 deletions(-) diff --git a/src/views/userManage/authorityManage.vue b/src/views/userManage/authorityManage.vue index a4234a1..2d30d6c 100644 --- a/src/views/userManage/authorityManage.vue +++ b/src/views/userManage/authorityManage.vue @@ -8,19 +8,43 @@ ></My-bread> <el-divider /> <div class="power_quire"> - <el-form ref="form" :model="form" label-width="100px" :inline="true"> + <el-form ref="form" :model="ruleForm" label-width="100px" :inline="true"> <el-form-item :label="$t('common.username')"> - <el-input v-model="form.name"></el-input> + <el-input v-model="ruleForm.name"></el-input> </el-form-item> <el-form-item> - <el-button icon="el-icon-search" type="primary" plain>{{ + <el-button @click="submitForm('ruleForm')" icon="el-icon-search" type="primary">{{ $t('common.iquery') }}</el-button> + <el-button + @click="resetForm('ruleForm')" + icon="el-icon-refresh" + type="info" + >{{ $t('common.empty') }}</el-button + > + <el-button + @click="InsertFormdialog = true" + icon="el-icon-edit" + type="success" + >{{ $t('common.append') }}</el-button + > + <el-button + @click="DelFromData" + icon="el-icon-delete" + type="danger" + >{{ $t('common.delete') }}</el-button + > </el-form-item> </el-form> </div> <div class="table_box"> - <el-table :data="tableData" border style="width: 100%"> + <el-table + :data="tableData" + style="width: 100%" + fit + @selection-change="handleSelectionChange" + > + <el-table-column type="selection" width="55" /> <el-table-column align="center" type="index" @@ -28,39 +52,47 @@ width="70px" /> <el-table-column - prop="date" - align="center" - :label="$t('userManage.userInfoObj.username')" - > - </el-table-column> - <el-table-column prop="name" align="center" - :label="$t('userManage.userInfoObj.affiliatedUnit')" + :label="$t('userManage.userInfoObj.name')" > </el-table-column> <el-table-column - prop="province" + prop="tag" align="center" - :label="$t('userManage.userInfoObj.mobileNumber')" + :label="$t('userManage.userInfoObj.tag')" > </el-table-column> <el-table-column - prop="city" + prop="createUser" align="center" - :label="$t('userManage.userInfoObj.post')" + :label="$t('userManage.userInfoObj.createUser')" > </el-table-column> <el-table-column - prop="address" + prop="createTime" align="center" - :label="$t('userManage.userInfoObj.userstate')" + :label="$t('userManage.userInfoObj.createTime')" + :formatter="formatTime" > </el-table-column> <el-table-column - prop="zip" + prop="updateUser" align="center" - :label="$t('userManage.userInfoObj.addtime')" + :label="$t('userManage.userInfoObj.updateUser')" + > + </el-table-column> + <el-table-column + prop="updateTime" + align="center" + :label="$t('userManage.userInfoObj.updateTime')" + :formatter="formatTime" + > + </el-table-column> + <el-table-column + prop="bak" + align="center" + :label="$t('userManage.userInfoObj.bak')" > </el-table-column> <el-table-column @@ -70,14 +102,19 @@ > <template slot-scope="scope"> <el-button - @click="handleClick(scope.row)" + @click="showDetail(scope.$index, scope.row)" + type="primary" + plain + size="small" + >{{ $t('common.see') }}</el-button + > + <el-button + @click="handleEdit(scope.$index, scope.row)" type="warning" size="small" + plain >{{ $t('common.edit') }}</el-button > - <el-button type="danger" size="small">{{ - $t('common.delete') - }}</el-button> </template> </el-table-column> </el-table> @@ -86,15 +123,63 @@ <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" - :current-page="currentPage" + :current-page="listData.pageIndex" :page-sizes="[10, 20, 30, 40]" - :page-size="10" + :page-size="listData.pageSize" layout="total, sizes, prev, pager, next, jumper" - :total="9" + :total="count" > </el-pagination> </div> - + <div class="infoBox" v-show="showinfoBox"> + <el-card class="box-card"> + <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> + <div class="contentBox"> + <p> + <label> {{ $t('userManage.userInfoObj.name') }}:</label> + <label class="boxlabel">{{ itemdetail.name }}</label> + </p> + <el-divider></el-divider> + <p> + <p> + <label> {{ $t('userManage.userInfoObj.tag') }}:</label> + <label class="boxlabel">{{ itemdetail.tag }}</label> + </p> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.userInfoObj.createUser') }}:</label> + <label class="boxlabel">{{ itemdetail.createUser }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.userInfoObj.createTime') }}:</label> + <label class="boxlabel">{{ itemdetail.createTime }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.userInfoObj.updateUser') }}:</label> + <label class="boxlabel">{{ itemdetail.updateUser }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.userInfoObj.updateTime') }}:</label> + <label class="boxlabel">{{ itemdetail.updateTime }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.userInfoObj.bak') }}:</label> + <label class="boxlabel">{{ itemdetail.bak }}</label> + </p> + <el-divider></el-divider> + </div> + </el-card> + </div> <el-dialog :title="dialogTitle" :visible.sync="isTransfer" @@ -115,111 +200,234 @@ }}</el-button> <el-button type="info" size="small">{{ $t('common.close') }}</el-button> </el-dialog> + <el-dialog + :title="$t('userManage.userInfoObj.addPermission')" + style="overflow: hidden" + :visible.sync="InsertFormdialog" + width="30%" + > + <el-form :model="insertform"> + <el-form-item + :label="$t('userManage.userInfoObj.name')" + :label-width="formLabelWidth" + > + <el-input v-model="insertform.name" autocomplete="off"></el-input> + </el-form-item> + <el-form-item + :label="$t('userManage.userInfoObj.tag')" + :label-width="formLabelWidth" + > + <el-input v-model="insertform.tag" autocomplete="off"></el-input> + </el-form-item> + <el-form-item + :label="$t('userManage.userInfoObj.bak')" + :label-width="formLabelWidth" + > + <el-input v-model="insertform.bak" autocomplete="off"></el-input> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button @click="insertFromDataClose">{{ + $t('common.close') + }}</el-button> + <el-button type="primary" @click="insertFromData">{{ + $t('common.confirm') + }}</el-button> + </div> + </el-dialog> + <el-dialog + :title="$t('userManage.userInfoObj.editPermission')" + style="overflow: hidden" + :visible.sync="EditFormdialog" + :before-close="EditFromDataClose" + width="30%" + > + <el-form :model="upform"> + <el-form-item + :label="$t('userManage.userInfoObj.name')" + :label-width="formLabelWidth" + > + <el-input v-model="upform.name" ></el-input> + </el-form-item> + <el-form-item + :label="$t('userManage.userInfoObj.tag')" + :label-width="formLabelWidth" + > + <el-input v-model="upform.tag" ></el-input> + </el-form-item> + <el-form-item + :label="$t('userManage.userInfoObj.bak')" + :label-width="formLabelWidth" + > + <el-input v-model="upform.bak" ></el-input> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button @click="EditFromDataClose" >{{ + $t('common.close') + }}</el-button> + <el-button @click="EditFromData" type="primary" >{{ + $t('common.confirm') + }}</el-button> + </div> + </el-dialog> </div> </template> <script> +import moment from 'moment'; import MyBread from '../../components/MyBread.vue'; +import { select_Auth_ByPageAndCount, insertAuth,updateAuth,deleteAuths } from '../../api/api.js'; export default { components: { MyBread }, data() { return { - form: {}, + formLabelWidth: '100px', + ruleForm: {}, isTransfer: false, dialogTitle: '', - data: [ - { - id: 1, - label: '涓�绾� 1', - children: [ - { - id: 4, - label: '浜岀骇 1-1', - children: [ - { - id: 9, - label: '涓夌骇 1-1-1', - }, - { - id: 10, - label: '涓夌骇 1-1-2', - }, - ], - }, - ], - }, - { - id: 2, - label: '涓�绾� 2', - children: [ - { - id: 5, - label: '浜岀骇 2-1', - }, - { - id: 6, - label: '浜岀骇 2-2', - }, - ], - }, - { - id: 3, - label: '涓�绾� 3', - children: [ - { - id: 7, - label: '浜岀骇 3-1', - }, - { - id: 8, - label: '浜岀骇 3-2', - }, - ], - }, - ], - tableData: [ - { - date: '2016-05-02', - name: '鐜嬪皬铏�', - province: '涓婃捣', - city: '鏅檧鍖�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�', - zip: 200333, - }, - { - date: '2016-05-04', - name: '鐜嬪皬铏�', - province: '涓婃捣', - city: '鏅檧鍖�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1517 寮�', - zip: 200333, - }, - { - date: '2016-05-01', - name: '鐜嬪皬铏�', - province: '涓婃捣', - city: '鏅檧鍖�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�', - zip: 200333, - }, - { - date: '2016-05-03', - name: '鐜嬪皬铏�', - province: '涓婃捣', - city: '鏅檧鍖�', - address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�', - zip: 200333, - }, - ], + data: [], + InsertFormdialog: false, + showinfoBox: false, + EditFormdialog: false, + insertform: {}, + tableData: [], + itemdetail: {}, + upform: {}, + multipleSelection: [], + count: 0, + listData: { + name: null, + pageIndex: 1, + pageSize: 10, + }, }; }, defaultProps: { children: 'children', label: 'label', }, + created() { + this.getRoleTabelData(); + }, methods: { + async DelFromData(){ + var std = []; + for (var i in this.multipleSelection) { + std.push(this.multipleSelection[i].id); + } + const data = await deleteAuths({ ids: std.toString() }); + if (data.code == 200) { + this.$message({ + message: '鍒犻櫎鎴愬姛锛�', + type: 'success', + }); + this.getRoleTabelData(); + } else { + this.$message({ + message: '鍒犻櫎澶辫触锛�', + type: 'warning', + }); + } + }, + handleSelectionChange(val) { + this.multipleSelection = val; + }, + submitForm(formName) { + this.getRoleTabelData() + + }, + resetForm(formName) { + this.ruleForm ={} + this.getRoleTabelData(); + }, + EditFromDataClose(){ + this.EditFormdialog = false; + this.upform ={}; + }, + async EditFromData(){ + const data = await updateAuth(this.upform); + if (data.code == 200) { + this.EditFormdialog = false; + this.upform = {}; + this.$message({ + message: '淇敼鎴愬姛锛�', + type: 'success', + }); + this.getRoleTabelData(); + } else { + this.$message({ + message: '淇敼澶辫触锛�', + type: 'warning', + }); + } + + }, + showDetail(index, row) { + this.showinfoBox = true; + this.itemdetail = row; + }, + handleEdit(index, row) { + this.EditFormdialog = true; + this.upform = row; + }, + closeDetial() { + this.showinfoBox = false; + this.itemdetail = {}; + }, + handleSizeChange(val) { + this.listData.pageSize = val; + this.getRoleTabelData(); + }, + handleCurrentChange(val) { + this.listData.pageIndex = val; + this.getRoleTabelData(); + }, + insertFromDataClose() { + this.InsertFormdialog = false; + this.insertform = {}; + }, + async insertFromData() { + const data = await insertAuth(this.insertform); + if (data.code == 200) { + this.InsertFormdialog = false; + this.insertform = {}; + this.$message({ + message: '娣诲姞鎴愬姛锛�', + type: 'success', + }); + this.getRoleTabelData(); + } else { + this.$message({ + message: '娣诲姞澶辫触锛�', + type: 'warning', + }); + } + }, + async getRoleTabelData() { + if (this.listData.tab == '') { + delete this.listData.tab; + } + this.listData.name = this.ruleForm.name; + const data = await select_Auth_ByPageAndCount(this.listData); + if (data.code != 200) { + this.$message.error('鍒楄〃璋冪敤澶辫触'); + } + console.log(data.result); + this.tableData = data.result; + this.count = data.count; + }, + formatTime(row, column) { + let date = row[column.property]; + return this.formomentTime(date); + }, + formomentTime(date) { + if (date === undefined || date === null) { + return; + } + return moment(parseInt(date)).format('YYYY-MM-DD HH:mm:ss'); + }, handleClick(row) { - console.log(row); this.dialogTitle = row.name; this.isTransfer = true; }, @@ -257,5 +465,58 @@ .pagination_box { margin-top: 20px; } + .infoBox { + width: 500px; + border: 1px solid #eee; + position: absolute; + z-index: 100; + top: 25%; + right: 12%; + background-color: #fff; + .el-card { + background-color: transparent; + span { + font-size: 16px; + font-weight: 600; + } + } + .contentBox { + margin: 0 aotu 10px; + height: 485px; + overflow: auto; + p { + // background-color: #bfa; + // margin-bottom: 10px; + font-size: 14px; + } + .boxlabel { + margin-left: 10px; + } + } + /* 鏁翠綋鏍峰紡 */ + .contentBox::-webkit-scrollbar { + width: 6px; + height: 6px; + } + + /* 婊氬姩鏉� */ + .contentBox::-webkit-scrollbar-thumb { + background-color: #b3d8ff; + border-radius: 6px; + } + + /* 婊氬姩鏉¢紶鏍囩粡杩囨牱寮� */ + .contentBox::-webkit-scrollbar-thumb:hover { + background-color: #b3d8ff; + border-radius: 6px; + } + + /* 婊氬姩鏉¤建閬� */ + .contentBox::-webkit-scrollbar-track-piece { + -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); + border-radius: 10px; + background: #ededed; + } + } } </style> -- Gitblit v1.9.3