From 7371051db9b19381f42165153d17758a90d68f33 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期日, 29 十月 2023 00:24:36 +0800
Subject: [PATCH] 修改主数据按钮查询权限接口,VciBaseUtil中增加校验当前用户是否为配置的超管用户方法
---
Source/UBCS-WEB/src/views/system/user.vue | 171 +++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 125 insertions(+), 46 deletions(-)
diff --git a/Source/UBCS-WEB/src/views/system/user.vue b/Source/UBCS-WEB/src/views/system/user.vue
index 24ba2e6..8eb6b6f 100644
--- a/Source/UBCS-WEB/src/views/system/user.vue
+++ b/Source/UBCS-WEB/src/views/system/user.vue
@@ -35,54 +35,61 @@
@refresh-change="refreshChange"
@on-load="onLoad">
<template slot="menuLeft">
- <el-button v-if="permission.user_delete"
+ <el-button v-if="permissionList.delBtn"
icon="el-icon-delete"
plain
size="small"
type="danger"
@click="handleDelete">鍒� 闄�
</el-button>
- <el-button v-if="permission.user_role"
+ <el-button v-if="permissionList.roleBtn"
icon="el-icon-user"
plain
size="small"
type="info"
@click="handleGrant">瑙掕壊閰嶇疆
</el-button>
- <el-button v-if="permission.user_reset"
+ <el-button v-if="permissionList.resetBtn"
icon="el-icon-refresh"
plain
size="small"
type="info"
@click="handleReset">瀵嗙爜閲嶇疆
</el-button>
- <el-button size="small"
- v-if="userInfo.role_name.includes('admin')"
+ <el-button v-if="permissionList.pwdStrategyBtn"
+ size="small"
type="success"
icon="el-icon-setting"
@click="handlepass">
閰嶇疆瀵嗙爜绛栫暐
</el-button>
- <el-button v-if="userInfo.role_name.includes('admin')"
- icon="el-icon-coordinate"
- plain
- size="small"
- type="info"
- @click="handleLock">璐﹀彿瑙e皝
+ <el-button v-if="permissionList.unsealBtn"
+ icon="el-icon-coordinate"
+ plain
+ size="small"
+ type="info"
+ @click="handleLock">璐﹀彿瑙e皝
</el-button>
- <el-button v-if="userInfo.role_name.includes('admin')"
- icon="el-icon-upload2"
- plain
- size="small"
- type="success"
- @click="handleImport">瀵煎叆
+ <el-button v-if="permissionList.importBtn"
+ icon="el-icon-upload2"
+ plain
+ size="small"
+ type="success"
+ @click="handleImport">瀵煎叆
</el-button>
- <el-button v-if="userInfo.role_name.includes('admin')"
- icon="el-icon-download"
- plain
- size="small"
- type="warning"
- @click="handleExport">瀵煎嚭
+ <el-button v-if="permissionList.exportBtn"
+ icon="el-icon-download"
+ plain
+ size="small"
+ type="warning"
+ @click="handleExport">瀵煎嚭
+ </el-button>
+ <el-button v-if="permissionList.deactEnBtn"
+ size="small"
+ type="warning"
+ icon="el-icon-setting"
+ @click="updateUserStatus">
+ 璐﹀彿鍋�/鍚敤
</el-button>
</template>
<template slot="tenantName"
@@ -116,7 +123,6 @@
node-key="id"
show-checkbox>
</el-tree>
-
<span slot="footer" class="dialog-footer">
<el-button @click="roleBox = false">鍙� 娑�</el-button>
<el-button type="primary"
@@ -137,7 +143,6 @@
</el-dialog>
<!-- 璁剧疆瀵嗙爜绛栫暐寮瑰嚭妗�-->
<el-dialog
- :before-close="handleClose"
:visible.sync="passVisible"
class="passdialog"
append-to-body
@@ -174,7 +179,9 @@
updatePlatform,
add,
grant,
- resetPassword, unlock
+ resetPassword,
+ unlock,
+ updateUserStatus
} from "@/api/system/user";
import {exportBlob} from "@/api/common";
import {getDeptTree, getDeptLazyTree} from "@/api/system/dept";
@@ -282,7 +289,11 @@
border: true,
index: true,
selection: true,
+ /* 涓嬮潰杩欎笁涓睘鎬ч粯璁よ缃负true锛�
+ 瀹為檯鏍规嵁permissionList涓鐓х殑灞炴�ц繘琛屾帶鍒剁殑 */
viewBtn: true,
+ editBtn: true,
+ delBtn: true,
dialogType: 'drawer',
dialogClickModal: false,
highlightCurrentRow: true, //琛岄�変腑鏃堕珮浜�
@@ -347,6 +358,16 @@
message: "璇烽�夋嫨鐢ㄦ埛骞冲彴",
trigger: "blur"
}],
+ },
+ {
+ label: "鐘舵��",
+ display: false,
+ sortable:true,
+ html:true,
+ prop: "userStatus",
+ formatter : function (row, column) {
+ return row.userStatus == 0 ? '<i class="el-icon-check" style="color: #32cd32;font-size: 20px;font-weight: 800"></i>' : '<i class="el-icon-close" style="color: #ff0000;font-size: 20px;font-weight: 800"></i>'
+ }
},
],
group: [
@@ -699,7 +720,7 @@
'form.tenantId'() {
if (this.form.tenantId !== '' && this.initFlag) {
this.initData(this.form.tenantId);
- console.log('this.form.tenantId',this.form.tenantId)
+ // console.log('this.form.tenantId',this.form.tenantId)
}
},
'excelForm.isCovered'() {
@@ -711,22 +732,37 @@
},
computed: {
...mapGetters(["userInfo", "permission"]),
+ /** 鎸夐挳鏄剧ず闅愯棌鎺у埗 */
permissionList() {
return {
- addBtn: this.vaildData(this.permission.user_add, false),
- viewBtn: this.vaildData(this.permission.user_view, false),
- delBtn: this.vaildData(this.permission.user_delete, false),
- editBtn: this.vaildData(this.permission.user_edit, false)
+ addBtn: this.vaildData(this.permission.user.user_add, false),
+ viewBtn: this.vaildData(this.permission.user.user_view, false),
+ delBtn: this.vaildData(this.permission.user.user_delete, false),
+ editBtn: this.vaildData(this.permission.user.user_edit, false),
+ deactEnBtn: this.vaildData(this.permission.user.user_deact_en,false),
+ exportBtn: this.vaildData(this.permission.user.user_export,false),
+ pwdStrategyBtn: this.vaildData(this.permission.user.user_pwd_strategy,false),
+ importBtn: this.vaildData(this.permission.user.user_import,false),
+ resetBtn: this.vaildData(this.permission.user.user_reset,false),
+ roleBtn: this.vaildData(this.permission.user.user_role,false),
+ unsealBtn: this.vaildData(this.permission.user.user_unseal,false),
};
},
- platformPermissionList() {
- return {
- addBtn: false,
- viewBtn: false,
- delBtn: false,
- editBtn: this.vaildData(this.permission.user_edit, false)
- };
- },
+ // platformPermissionList() {
+ // return {
+ // addBtn: this.vaildData(this.permission.user.user_add, false),
+ // viewBtn: this.vaildData(this.permission.user.user_view, false),
+ // delBtn: this.vaildData(this.permission.user.user_delete, false),
+ // editBtn: this.vaildData(this.permission.user.user_edit, false),
+ // deactEnBtn: this.vaildData(this.permission.user.user_deact_en,false),
+ // exportBtn: this.vaildData(this.permission.user.user_export,false),
+ // pwdStrategyBtn: this.vaildData(this.permission.user.user_pwd_strategy,false),
+ // importBtn: this.vaildData(this.permission.user.user_import,false),
+ // resetBtn: this.vaildData(this.permission.user.user_reset,false),
+ // roleBtn: this.vaildData(this.permission.user.user_role,false),
+ // unsealBtn: this.vaildData(this.permission.user.user_unseal,false),
+ // };
+ // },
ids() {
let ids = [];
this.selectionList.forEach(ele => {
@@ -753,11 +789,54 @@
}
},
methods: {
- beOpen(done,type){
- console.log(done,type)
+
+ // beOpen(done,type){
+ // console.log(done,type)
+ // },
+ // 鐢ㄦ埛鍋滅敤鍚敤鐘舵��
+ /** 淇敼鐢ㄦ埛鐘舵�� */
+ updateUserStatus(){
+ let list = this.selectionList;
+ if(list.length < 1){
+ this.$message({
+ type: "warning",
+ message: "璇疯嚦灏戦�夋嫨涓�鏉$敤鎴锋暟鎹紒"
+ });
+ return;
+ }
+ if(func.isAttrInconsistent(list,"userStatus")){
+ this.$message({
+ type: "warning",
+ message: "鎵归噺鎿嶄綔鐢ㄦ埛鐘舵�佹椂锛岃閫夋嫨鐢ㄦ埛鐘舵�佷竴鑷寸殑鏁版嵁锛�"
+ });
+ return;
+ }
+ let userIds = func.joinedString(list,"id");
+ let status = list[0].userStatus == 1 ? true:false;
+ let msg = status ? "纭畾灏嗛�夋嫨璐﹀彿鍚敤":"纭畾灏嗛�夋嫨璐﹀彿鍋滅敤"+"锛�";
+ // console.log(msg);
+ this.$confirm(msg, {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ })
+ .then(() => {
+ return updateUserStatus(userIds,status);
+ })
+ .then(() => {
+ this.$message({
+ type: "success",
+ message: "鎿嶄綔鎴愬姛!",
+ duration: 1000,// 璁剧疆娑堟伅鏄剧ず3绉掑悗鑷姩鍏抽棴
+ onClose: () => {
+ // 鍦ㄦ秷鎭叧闂椂閲嶆柊鍔犺浇鏁版嵁
+ this.onLoad(this.page);
+ }
+ });
+ });
},
//esc鍙栨秷閿搷浣�
- handleClose(done) {
+ /*handleClose(done) {
this.$confirm('纭鍏抽棴锛�')
.then(() => {
done();
@@ -766,7 +845,7 @@
done();
});
- },
+ },*/
//鐐瑰嚮閰嶇疆瀵嗙爜绛栫暐
handlepass(){
if (this.selectionList.length === 0) {
@@ -815,8 +894,8 @@
});
},
nodeClick(data) {
- console.log(data)
- console.log(this.form.tenantId)
+ // console.log(data)
+ // console.log(this.form.tenantId)
this.treeDeptId = data.id;
this.page.currentPage = 1;
this.onLoad(this.page);
@@ -852,7 +931,7 @@
row.deptId = row.deptId.join(",");
row.roleId = row.roleId.join(",");
row.postId = row.postId.join(",");
- console.log('3',row)
+ // console.log('3',row)
add(row).then(() => {
this.initFlag = false;
this.onLoad(this.page);
--
Gitblit v1.9.3