From 6b9c331b4499f463717c0ec64a8090d9a96ca7d7 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期二, 28 十一月 2023 10:26:40 +0800
Subject: [PATCH] 主数据申请-修订 主题库测试按钮
---
Source/UBCS-WEB/src/views/system/user.vue | 274 +++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 186 insertions(+), 88 deletions(-)
diff --git a/Source/UBCS-WEB/src/views/system/user.vue b/Source/UBCS-WEB/src/views/system/user.vue
index 390e11b..bbd3232 100644
--- a/Source/UBCS-WEB/src/views/system/user.vue
+++ b/Source/UBCS-WEB/src/views/system/user.vue
@@ -5,7 +5,7 @@
<el-scrollbar style="height: auto;border-bottom-right-radius:8px ">
<basic-container>
<div class="abox">
- <avue-tree :data="treeData" :option="treeOption" @node-click="nodeClick"/>
+ <avue-tree ref="tree" :data="treeData" :option="treeOption" @node-click="nodeClick"/>
</div>
</basic-container>
</el-scrollbar>
@@ -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"
@@ -104,20 +111,18 @@
</avue-crud>
</div>
<el-dialog :visible.sync="roleBox"
- append-to-body
- title="鐢ㄦ埛瑙掕壊閰嶇疆"
- width="345px">
-
+ append-to-body
+ title="鐢ㄦ埛瑙掕壊閰嶇疆"
+ width="345px">
<el-tree ref="treeRole"
- :data="roleGrantList"
- :default-checked-keys="roleTreeObj"
- :props="props"
- check-strictly
- default-expand-all
- node-key="id"
- show-checkbox>
+ :data="roleGrantList"
+ :default-checked-keys="roleTreeObj"
+ :props="props"
+ check-strictly
+ default-expand-all
+ node-key="id"
+ show-checkbox>
</el-tree>
-
<span slot="footer" class="dialog-footer">
<el-button @click="roleBox = false">鍙� 娑�</el-button>
<el-button type="primary"
@@ -138,13 +143,11 @@
</el-dialog>
<!-- 璁剧疆瀵嗙爜绛栫暐寮瑰嚭妗�-->
<el-dialog
- :before-close="handleClose"
:visible.sync="passVisible"
class="passdialog"
append-to-body
title="璁剧疆瀵嗙爜绛栫暐"
- width="30%"
- >
+ width="30%">
<el-select v-model="sevalue" placeholder="璇烽�夋嫨" class="selects" @change="selChange" >
<el-option
v-for="item in seoptions"
@@ -153,13 +156,12 @@
:value="item.id"
class="seloption"
>
-
</el-option>
</el-select>
<span slot="footer" class="dialog-footer">
- <el-button @click="passVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="passhandle">纭� 瀹�</el-button>
- </span>
+ <el-button @click="passVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="passhandle">纭� 瀹�</el-button>
+ </span>
</el-dialog>
</basic-container>
</el-col>
@@ -177,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";
@@ -212,6 +216,7 @@
}
};
return {
+ tenantId:'',
form: {},
seoptions: [],
sevalue:"",
@@ -280,10 +285,16 @@
tip: false,
searchShow: true,
searchMenuSpan: 6,
+ columnBtn:false,
border: true,
index: true,
selection: true,
+ /* 涓嬮潰杩欎笁涓睘鎬ч粯璁よ缃负true锛�
+ 瀹為檯鏍规嵁permissionList涓鐓х殑灞炴�ц繘琛屾帶鍒剁殑 */
viewBtn: true,
+ editBtn: true,
+ delBtn: true,
+ addBtn: true,
dialogType: 'drawer',
dialogClickModal: false,
highlightCurrentRow: true, //琛岄�変腑鏃堕珮浜�
@@ -347,7 +358,17 @@
required: true,
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: [
@@ -375,6 +396,7 @@
trigger: "click"
}],
span: 24,
+ value:""
},
{
label: "鐧诲綍璐﹀彿",
@@ -393,6 +415,7 @@
label: "dictValue",
value: "dictKey"
},
+ value:'1',
dataType: "number",
slot: true,
prop: "userType",
@@ -405,6 +428,7 @@
{
label: '瀵嗙爜',
prop: 'password',
+ type: "password",
hide: true,
editDisplay: false,
viewDisplay: false,
@@ -414,6 +438,7 @@
label: '纭瀵嗙爜',
prop: 'password2',
hide: true,
+ type: "password",
editDisplay: false,
viewDisplay: false,
rules: [{required: true, validator: validatePass2, trigger: 'blur'}]
@@ -538,7 +563,7 @@
trigger: "click"
}]
},
- {
+ /*{
label: "鎵�灞炲矖浣�",
prop: "postId",
type: "tree",
@@ -549,11 +574,11 @@
value: "id"
},
rules: [{
- required: true,
+ required: false,
message: "璇烽�夋嫨鎵�灞炲矖浣�",
trigger: "click"
}],
- },
+ },*/
]
},
]
@@ -696,6 +721,7 @@
'form.tenantId'() {
if (this.form.tenantId !== '' && this.initFlag) {
this.initData(this.form.tenantId);
+ // console.log('this.form.tenantId',this.form.tenantId)
}
},
'excelForm.isCovered'() {
@@ -707,22 +733,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 => {
@@ -749,8 +790,54 @@
}
},
methods: {
+
+ // 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();
@@ -759,7 +846,7 @@
done();
});
- },
+ },*/
//鐐瑰嚮閰嶇疆瀵嗙爜绛栫暐
handlepass(){
if (this.selectionList.length === 0) {
@@ -768,8 +855,6 @@
}else {
this.passVisible=true;
}
- //console.log("selectionList",this.selectionList)
- //console.log(this.UserPwdstrategyVO)
},
// 璁剧疆瀵嗙爜绛栫暐锛屼紶閫掍笅鎷夋鐨刬d鍜屽閫夋鐨刬d
passhandle(){
@@ -780,10 +865,9 @@
//瑕佷紶閫掔殑id锛屼竴涓槸鏁扮粍鍙︿竴涓槸瀛楃涓�
this.UserPwdstrategyVO.userIds=this.selid;
this.UserPwdstrategyVO.pwdstrategyId=this.id
- console.log("1",this.UserPwdstrategyVO)
- console.log("2",this.UserPwdstrategyVO.userIds)
+
//璇锋眰
- insert(this.UserPwdstrategyVO.userIds).then(()=>{
+ insert(this.UserPwdstrategyVO).then(()=>{
this.passVisible=false
this.$message({
type: "success",
@@ -804,13 +888,15 @@
selChange(row){
this.id=row
},
- selecload(page, params = {}) {
- getPage(this.page.currentPage, this.page.pageSize, Object.assign(params, this.query)).then(res => {
- console.log(res)
- this.seoptions=res.data.data.content
+ selecload() {
+ getPage(1, -1).then(res => {
+ // console.log(res)
+ this.seoptions=res.data.data.records
});
},
nodeClick(data) {
+ // console.log(data)
+ // console.log(this.form.tenantId)
this.treeDeptId = data.id;
this.page.currentPage = 1;
this.onLoad(this.page);
@@ -843,21 +929,22 @@
});
},
rowSave(row, done, loading) {
- row.deptId = row.deptId.join(",");
- row.roleId = row.roleId.join(",");
- row.postId = row.postId.join(",");
- add(row).then(() => {
- this.initFlag = false;
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "鎿嶄綔鎴愬姛!"
+ row.deptId = row.deptId.join(",");
+ row.roleId = row.roleId.join(",");
+ //row.postId = row.postId.join(",");
+ // console.log('3',row)
+ add(row).then(() => {
+ this.initFlag = false;
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "鎿嶄綔鎴愬姛!"
+ });
+ done();
+ }, error => {
+ window.console.log(error);
+ loading();
});
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
},
rowUpdate(row, index, done, loading) {
row.deptId = row.deptId.join(",");
@@ -970,7 +1057,7 @@
if (this.selectionList.length === 1) {
this.roleTreeObj = this.selectionList[0].roleId.split(",");
}
- getRoleTree().then(res => {
+ getRoleTree(this.selectionList[0].tenantId).then(res => {
this.roleGrantList = res.data.data;
this.roleBox = true;
@@ -1029,6 +1116,12 @@
})
},
beforeOpen(done, type) {
+ //console.log(type)
+ // console.log('this.tenantId',this.tenantId)
+ // const column = this.findObject(this.option.group,'tenantId');
+ // column.value=this.tenantId;
+ // console.log('column',column)
+ // if(this.treeDeptId){
if (["edit", "view"].includes(type)) {
getUser(this.form.id).then(res => {
this.form = res.data.data;
@@ -1043,8 +1136,13 @@
}
});
}
+ const prop = this.findObject(this.option.group, 'tenantId');
+ //console.log('1',prop)
this.initFlag = true;
done();
+ // }else {
+ // this.$message.warning('璇烽�夋嫨涓�鏉℃墍灞炵鎴�')
+ // }
},
currentChange(currentPage) {
this.page.currentPage = currentPage;
@@ -1062,6 +1160,7 @@
this.page.total = data.total;
this.data = data.records;
this.loading = false;
+ this.tenantId=data.records[0].tenantId
this.selectionClear();
});
},
@@ -1139,8 +1238,7 @@
overflow: scroll;
}
.selects{
- width: 400px;
- margin-left: 92px;
+ width: 100%;
}
.seloption{
margin-left: 10px;
--
Gitblit v1.9.3