From ec3add985f600fe56a7232484bbe89a11b73c23b Mon Sep 17 00:00:00 2001
From: wanghong <309858992@qq.com>
Date: 星期四, 21 十二月 2023 12:25:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS-WEB/src/views/system/user.vue | 975 +++++++++++++++++++++++++++++++--------------------------
1 files changed, 532 insertions(+), 443 deletions(-)
diff --git a/Source/UBCS-WEB/src/views/system/user.vue b/Source/UBCS-WEB/src/views/system/user.vue
index b69c093..02d3363 100644
--- a/Source/UBCS-WEB/src/views/system/user.vue
+++ b/Source/UBCS-WEB/src/views/system/user.vue
@@ -1,84 +1,95 @@
<template>
<el-row>
- <el-col :span="5">
+ <el-col :span="5" v-if="userflag">
<div class="box">
- <el-scrollbar>
+ <el-scrollbar style="height: auto;border-bottom-right-radius:8px ">
<basic-container>
- <avue-tree :data="treeData" :option="treeOption" @node-click="nodeClick"/>
+ <div class="abox">
+ <avue-tree ref="tree" :data="treeData" :option="treeOption" @node-click="nodeClick"/>
+ </div>
</basic-container>
</el-scrollbar>
</div>
</el-col>
- <el-col :span="19">
+ <el-col :span="usernumber">
<basic-container>
+ <div class="bbox">
<avue-crud ref="crud"
- v-model="form"
- :before-open="beforeOpen"
- :data="data"
- :option="option"
- :page.sync="page"
- :permission="permissionList"
- :search.sync="search"
- :table-loading="loading"
- @row-del="rowDel"
- @row-update="rowUpdate"
- @row-save="rowSave"
- @search-change="searchChange"
- @search-reset="searchReset"
- @selection-change="selectionChange"
- @current-change="currentChange"
- @size-change="sizeChange"
- @refresh-change="refreshChange"
- @on-load="onLoad">
+ v-model="form"
+ :before-open="beforeOpen"
+ :data="data"
+ :option="option"
+ :page.sync="page"
+ :permission="permissionList"
+ :search.sync="search"
+ :table-loading="loading"
+ @row-del="rowDel"
+ @row-update="rowUpdate"
+ @row-save="rowSave"
+ @search-change="searchChange"
+ @search-reset="searchReset"
+ @row-click="clickRowChange"
+ @selection-change="selectionChange"
+ @current-change="currentChange"
+ @size-change="sizeChange"
+ @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"
@@ -98,21 +109,20 @@
<el-tag>{{ row.userTypeName }}</el-tag>
</template>
</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"
@@ -133,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"
@@ -148,44 +156,13 @@
: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>
- <!-- <el-dialog title="鐢ㄦ埛骞冲彴閰嶇疆"-->
- <!-- append-to-body-->
- <!-- :visible.sync="platformBox">-->
- <!-- <avue-crud :option="platformOption"-->
- <!-- :table-loading="platformLoading"-->
- <!-- :data="platformData"-->
- <!-- ref="platformCrud"-->
- <!-- v-model="platformForm"-->
- <!-- :before-open="platformBeforeOpen"-->
- <!-- :page.sync="platformPage"-->
- <!-- :permission="platformPermissionList"-->
- <!-- @row-update="platformRowUpdate"-->
- <!-- @search-change="platformSearchChange"-->
- <!-- @search-reset="platformSearchReset"-->
- <!-- @selection-change="platformSelectionChange"-->
- <!-- @current-change="platformCurrentChange"-->
- <!-- @size-change="platformSizeChange"-->
- <!-- @refresh-change="platformRefreshChange"-->
- <!-- @on-load="platformOnLoad">-->
- <!-- <template slot-scope="{row}"-->
- <!-- slot="tenantName">-->
- <!-- <el-tag>{{row.tenantName}}</el-tag>-->
- <!-- </template>-->
- <!-- <template slot-scope="{row}"-->
- <!-- slot="userTypeName">-->
- <!-- <el-tag>{{row.userTypeName}}</el-tag>-->
- <!-- </template>-->
- <!-- -->
- <!-- </avue-crud>-->
- <!-- </el-dialog>-->
</basic-container>
</el-col>
</el-row>
@@ -202,12 +179,14 @@
updatePlatform,
add,
grant,
- resetPassword, unlock
+ resetPassword,
+ unlock,
+ updateUserStatus
} from "@/api/system/user";
import {exportBlob} from "@/api/common";
import {getDeptTree, getDeptLazyTree} from "@/api/system/dept";
import {getRoleTree} from "@/api/system/role";
-import {getPostList} from "@/api/system/post";
+//import {getPostList} from "@/api/system/post";
import {mapGetters} from "vuex";
import website from '@/config/website';
import {getToken} from '@/util/auth';
@@ -220,23 +199,8 @@
export default {
data() {
- const validatePass = (rule, value, callback) => {
- if (value === '') {
- callback(new Error('璇疯緭鍏ュ瘑鐮�'));
- } else {
- callback();
- }
- };
- const validatePass2 = (rule, value, callback) => {
- if (value === '') {
- callback(new Error('璇峰啀娆¤緭鍏ュ瘑鐮�'));
- } else if (value !== this.form.password) {
- callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!'));
- } else {
- callback();
- }
- };
return {
+ tenantId:'',
form: {},
seoptions: [],
sevalue:"",
@@ -274,7 +238,9 @@
treeDeptId: '',
treeData: [],
treeOption: {
+ height:"auto",
nodeKey: 'id',
+ border: true,
lazy: true,
treeLoad: function (node, resolve) {
const parentId = (node.level === 0) ? 0 : node.data.id;
@@ -296,289 +262,6 @@
value: 'value',
children: 'children'
}
- },
- option: {
- height: 'auto',
- calcHeight: 80,
- tip: false,
- searchShow: true,
- searchMenuSpan: 6,
- border: true,
- index: true,
- selection: true,
- viewBtn: true,
- dialogType: 'drawer',
- dialogClickModal: false,
- column: [
- {
- label: "鐧诲綍璐﹀彿",
- prop: "account",
- search: true,
- display: false
- },
- {
- label: "鎵�灞炵鎴�",
- prop: "tenantName",
- slot: true,
- display: false
- },
- {
- label: "鐢ㄦ埛濮撳悕",
- prop: "realName",
- search: true,
- display: false
- },
- {
- label: "鎵�灞炶鑹�",
- prop: "roleName",
- slot: true,
- display: false
- },
- {
- label: "瀵嗙爜绛栫暐",
- prop: "pwdStrategy",
- slot: true,
- display: false
- },
- {
- label: "鎵�灞為儴闂�",
- prop: "deptName",
- slot: true,
- display: false
- },
- {
- label: "鐢ㄦ埛骞冲彴",
- prop: "userTypeName",
- slot: true,
- display: false
- },
- {
- label: "鐢ㄦ埛骞冲彴",
- type: "select",
- dicUrl: "/api/blade-system/dict/dictionary?code=user_type",
- props: {
- label: "dictValue",
- value: "dictKey"
- },
- dataType: "number",
- search: true,
- hide: true,
- display: false,
- prop: "userType",
- rules: [{
- required: true,
- message: "璇烽�夋嫨鐢ㄦ埛骞冲彴",
- trigger: "blur"
- }]
- },
- ],
- group: [
- {
- label: '鍩虹淇℃伅',
- prop: 'baseInfo',
- icon: 'el-icon-user-solid',
- column: [
- {
- label: "鎵�灞炵鎴�",
- prop: "tenantId",
- type: "tree",
- dicUrl: "/api/blade-system/tenant/select",
- props: {
- label: "tenantName",
- value: "tenantId"
- },
- hide: !website.tenantMode,
- addDisplay: website.tenantMode,
- editDisplay: website.tenantMode,
- viewDisplay: website.tenantMode,
- rules: [{
- required: true,
- message: "璇疯緭鍏ユ墍灞炵鎴�",
- trigger: "click"
- }],
- span: 24,
- },
- {
- label: "鐧诲綍璐﹀彿",
- prop: "account",
- rules: [{
- required: true,
- message: "璇疯緭鍏ョ櫥褰曡处鍙�",
- trigger: "blur"
- }],
- },
- {
- label: "鐢ㄦ埛骞冲彴",
- type: "select",
- dicUrl: "/api/blade-system/dict/dictionary?code=user_type",
- props: {
- label: "dictValue",
- value: "dictKey"
- },
- dataType: "number",
- slot: true,
- prop: "userType",
- rules: [{
- required: true,
- message: "璇烽�夋嫨鐢ㄦ埛骞冲彴",
- trigger: "blur"
- }]
- },
- {
- label: '瀵嗙爜',
- prop: 'password',
- hide: true,
- editDisplay: false,
- viewDisplay: false,
- rules: [{required: true, validator: validatePass, trigger: 'blur'}]
- },
- {
- label: '纭瀵嗙爜',
- prop: 'password2',
- hide: true,
- editDisplay: false,
- viewDisplay: false,
- rules: [{required: true, validator: validatePass2, trigger: 'blur'}]
- },
- ]
- },
- {
- label: '璇︾粏淇℃伅',
- prop: 'detailInfo',
- icon: 'el-icon-s-order',
- column: [
- {
- label: "鐢ㄦ埛鏄电О",
- prop: "name",
- hide: true,
- rules: [{
- required: true,
- message: "璇疯緭鍏ョ敤鎴锋樀绉�",
- trigger: "blur"
- }]
- },
- {
- label: "鐢ㄦ埛濮撳悕",
- prop: "realName",
- rules: [{
- required: true,
- message: "璇疯緭鍏ョ敤鎴峰鍚�",
- trigger: "blur"
- }, {
- min: 2,
- max: 5,
- message: '濮撳悕闀垮害鍦�2鍒�5涓瓧绗�'
- }]
- },
- {
- label: "鎵嬫満鍙风爜",
- prop: "phone",
- overHidden: true
- },
- {
- label: "鐢靛瓙閭",
- prop: "email",
- hide: true,
- overHidden: true
- },
- {
- label: "鐢ㄦ埛鎬у埆",
- prop: "sex",
- type: "select",
- dicData: [
- {
- label: "鐢�",
- value: 1
- },
- {
- label: "濂�",
- value: 2
- },
- {
- label: "鏈煡",
- value: 3
- }
- ],
- hide: true
- },
- {
- label: "鐢ㄦ埛鐢熸棩",
- type: "date",
- prop: "birthday",
- format: "yyyy-MM-dd hh:mm:ss",
- valueFormat: "yyyy-MM-dd hh:mm:ss",
- hide: true
- },
- {
- label: "璐﹀彿鐘舵��",
- prop: "statusName",
- hide: true,
- display: false
- }
- ]
- },
- {
- label: '鑱岃矗淇℃伅',
- prop: 'dutyInfo',
- icon: 'el-icon-s-custom',
- column: [
- {
- label: "鐢ㄦ埛缂栧彿",
- prop: "code",
- },
- {
- label: "鎵�灞炶鑹�",
- prop: "roleId",
- multiple: true,
- type: "tree",
- dicData: [],
- props: {
- label: "title"
- },
- checkStrictly: true,
- slot: true,
- rules: [{
- required: true,
- message: "璇烽�夋嫨鎵�灞炶鑹�",
- trigger: "click"
- }]
- },
- {
- label: "鎵�灞為儴闂�",
- prop: "deptId",
- type: "tree",
- multiple: true,
- dicData: [],
- props: {
- label: "title"
- },
- checkStrictly: true,
- slot: true,
- rules: [{
- required: true,
- message: "璇烽�夋嫨鎵�灞為儴闂�",
- trigger: "click"
- }]
- },
- {
- label: "鎵�灞炲矖浣�",
- prop: "postId",
- type: "tree",
- multiple: true,
- dicData: [],
- props: {
- label: "postName",
- value: "id"
- },
- rules: [{
- required: true,
- message: "璇烽�夋嫨鎵�灞炲矖浣�",
- trigger: "click"
- }],
- },
- ]
- },
- ]
},
data: [],
platformQuery: {},
@@ -625,7 +308,7 @@
{
label: "鐢ㄦ埛骞冲彴",
type: "select",
- dicUrl: "/api/blade-system/dict/dictionary?code=user_type",
+ dicUrl: "/api/ubcs-system/dict/dictionary?code=user_type",
props: {
label: "dictValue",
value: "dictKey"
@@ -669,7 +352,7 @@
res: 'data'
},
tip: '璇蜂笂浼� .xls,.xlsx 鏍囧噯鏍煎紡鏂囦欢',
- action: "/api/blade-user/import-user"
+ action: "/api/ubcs-user/import-user"
},
{
label: "鏁版嵁瑕嗙洊",
@@ -709,39 +392,361 @@
UserPwdstrategyVO:{
userIds:[],
pwdstrategyId:''
- }
+ },
+ userflag:true,
+ usernumber:0,
+ userStatus:false,
+ isUpdateShowInput:false,
};
},
watch: {
'form.tenantId'() {
if (this.form.tenantId !== '' && this.initFlag) {
this.initData(this.form.tenantId);
+ // console.log('this.form.tenantId',this.form.tenantId)
}
},
'excelForm.isCovered'() {
if (this.excelForm.isCovered !== '') {
const column = this.findObject(this.excelOption.column, "excelFile");
- column.action = `/api/blade-user/import-user?isCovered=${this.excelForm.isCovered}`;
+ column.action = `/api/ubcs-user/import-user?isCovered=${this.excelForm.isCovered}`;
}
}
},
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)
- };
+ option() {
+ return{
+ height:'auto',
+ calcHeight: 80,
+ 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, //琛岄�変腑鏃堕珮浜�
+ column: [
+ {
+ label: "鐧诲綍璐﹀彿",
+ prop: "account",
+ search: true,
+ display: false
+ },
+ {
+ label: "鎵�灞炵鎴�",
+ prop: "tenantName",
+ slot: true,
+ display: false
+ },
+ {
+ label: "鐢ㄦ埛濮撳悕",
+ prop: "realName",
+ search: true,
+ display: false
+ },
+ {
+ label: "鎵�灞炶鑹�",
+ prop: "roleName",
+ slot: true,
+ display: false
+ },
+ {
+ label: "瀵嗙爜绛栫暐",
+ prop: "pwdStrategy",
+ slot: true,
+ display: false
+ },
+ {
+ label: "鎵�灞為儴闂�",
+ prop: "deptName",
+ slot: true,
+ display: false
+ },
+ {
+ label: "鐢ㄦ埛骞冲彴",
+ prop: "userTypeName",
+ slot: true,
+ display: false
+ },
+ {
+ label: "鐢ㄦ埛骞冲彴",
+ type: "select",
+ dicUrl: "/api/ubcs-system/dict/dictionary?code=user_type",
+ props: {
+ label: "dictValue",
+ value: "dictKey"
+ },
+ dataType: "number",
+ search: true,
+ hide: true,
+ display: false,
+ prop: "userType",
+ rules: [{
+ 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: [
+ {
+ label: '鍩虹淇℃伅',
+ prop: 'baseInfo',
+ icon: 'el-icon-user-solid',
+ column: [
+ {
+ label: "鎵�灞炵鎴�",
+ prop: "tenantId",
+ type: "tree",
+ dicUrl: "/api/ubcs-system/tenant/select",
+ props: {
+ label: "tenantName",
+ value: "tenantId"
+ },
+ hide: !website.tenantMode,
+ addDisplay: website.tenantMode,
+ editDisplay: website.tenantMode,
+ viewDisplay: website.tenantMode,
+ rules: [{
+ required: true,
+ message: "璇疯緭鍏ユ墍灞炵鎴�",
+ trigger: "click"
+ }],
+ span: 24,
+ value:""
+ },
+ {
+ label: "鐧诲綍璐﹀彿",
+ prop: "account",
+ rules: [{
+ required: true,
+ message: "璇疯緭鍏ョ櫥褰曡处鍙�",
+ trigger: "blur"
+ }],
+ disabled: this.isUpdateShowInput,
+ },
+ {
+ label: "鐢ㄦ埛骞冲彴",
+ type: "select",
+ dicUrl: "/api/ubcs-system/dict/dictionary?code=user_type",
+ props: {
+ label: "dictValue",
+ value: "dictKey"
+ },
+ value:'1',
+ dataType: "number",
+ slot: true,
+ prop: "userType",
+ rules: [{
+ required: true,
+ message: "璇烽�夋嫨鐢ㄦ埛骞冲彴",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: '瀵嗙爜',
+ prop: 'password',
+ type: "password",
+ hide: true,
+ editDisplay: false,
+ viewDisplay: false,
+ rules: [{
+ required: true,
+ validator:(rule, value,callback) => {
+ if (value === '') {
+ callback(new Error('璇峰啀娆¤緭鍏ュ瘑鐮�'));
+ } else if (value !== this.form.password) {
+ callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!'));
+ } else {
+ callback();
+ }
+ },
+ trigger: 'blur'
+ }]
+ },
+ {
+ label: '纭瀵嗙爜',
+ prop: 'password2',
+ hide: true,
+ type: "password",
+ editDisplay: false,
+ viewDisplay: false,
+ rules: [{
+ required: true,
+ validator:(rule, value,callback) => {
+ if (value === '') {
+ callback(new Error('璇峰啀娆¤緭鍏ュ瘑鐮�'));
+ } else if (value !== this.form.password) {
+ callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!'));
+ } else {
+ callback();
+ }
+ },
+ trigger: 'blur'
+ }]
+ },
+ ]
+ },
+ {
+ label: '璇︾粏淇℃伅',
+ prop: 'detailInfo',
+ icon: 'el-icon-s-order',
+ column: [
+ {
+ label: "鐢ㄦ埛鏄电О",
+ prop: "name",
+ hide: true,
+ rules: [{
+ required: true,
+ message: "璇疯緭鍏ョ敤鎴锋樀绉�",
+ trigger: "blur"
+ }]
+ },
+ {
+ label: "鐢ㄦ埛濮撳悕",
+ prop: "realName",
+ rules: [{
+ required: true,
+ message: "璇疯緭鍏ョ敤鎴峰鍚�",
+ trigger: "blur"
+ }, {
+ min: 2,
+ max: 5,
+ message: '濮撳悕闀垮害鍦�2鍒�5涓瓧绗�'
+ }]
+ },
+ {
+ label: "鎵嬫満鍙风爜",
+ prop: "phone",
+ overHidden: true
+ },
+ {
+ label: "鐢靛瓙閭",
+ prop: "email",
+ hide: true,
+ overHidden: true
+ },
+ {
+ label: "鐢ㄦ埛鎬у埆",
+ prop: "sex",
+ type: "select",
+ dicData: [
+ {
+ label: "鐢�",
+ value: 1
+ },
+ {
+ label: "濂�",
+ value: 2
+ },
+ {
+ label: "鏈煡",
+ value: 3
+ }
+ ],
+ hide: true
+ },
+ {
+ label: "鐢ㄦ埛鐢熸棩",
+ type: "date",
+ prop: "birthday",
+ format: "yyyy-MM-dd hh:mm:ss",
+ valueFormat: "yyyy-MM-dd hh:mm:ss",
+ hide: true
+ },
+ {
+ label: "璐﹀彿鐘舵��",
+ prop: "statusName",
+ hide: true,
+ display: false
+ }
+ ]
+ },
+ {
+ label: '鑱岃矗淇℃伅',
+ prop: 'dutyInfo',
+ icon: 'el-icon-s-custom',
+ column: [
+ {
+ label: "鐢ㄦ埛缂栧彿",
+ prop: "code",
+ },
+ {
+ label: "鎵�灞炶鑹�",
+ prop: "roleId",
+ multiple: true,
+ type: "tree",
+ dicData: [],
+ disabled: this.isUpdateShowInput,
+ props: {
+ label: "title"
+ },
+ checkStrictly: true,
+ slot: true,
+ rules: [{
+ required: true,
+ message: "璇烽�夋嫨鎵�灞炶鑹�",
+ trigger: "click"
+ }]
+ },
+ {
+ label: "鎵�灞為儴闂�",
+ prop: "deptId",
+ type: "tree",
+ multiple: true,
+ dicData: [],
+ props: {
+ label: "title"
+ },
+ checkStrictly: true,
+ slot: true,
+ rules: [{
+ required: true,
+ message: "璇烽�夋嫨鎵�灞為儴闂�",
+ trigger: "click"
+ }]
+ },
+ ]
+ },
+ ]
+
+ }
},
ids() {
let ids = [];
@@ -759,10 +764,64 @@
},
created() {
this.selecload()
+ const arr=JSON.parse(localStorage.getItem("updataid"))
+ if(arr.user_id != '0' && arr.tenant_id !== '000000'){
+ this.userflag=false
+ this.usernumber=24
+ }else {
+ this.userflag=true
+ this.usernumber=19
+ }
},
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();
@@ -771,7 +830,7 @@
done();
});
- },
+ },*/
//鐐瑰嚮閰嶇疆瀵嗙爜绛栫暐
handlepass(){
if (this.selectionList.length === 0) {
@@ -780,7 +839,6 @@
}else {
this.passVisible=true;
}
- console.log("selectionList",this.selectionList)
},
// 璁剧疆瀵嗙爜绛栫暐锛屼紶閫掍笅鎷夋鐨刬d鍜屽閫夋鐨刬d
passhandle(){
@@ -791,7 +849,7 @@
//瑕佷紶閫掔殑id锛屼竴涓槸鏁扮粍鍙︿竴涓槸瀛楃涓�
this.UserPwdstrategyVO.userIds=this.selid;
this.UserPwdstrategyVO.pwdstrategyId=this.id
- console.log(this.UserPwdstrategyVO)
+
//璇锋眰
insert(this.UserPwdstrategyVO).then(()=>{
this.passVisible=false
@@ -799,10 +857,10 @@
type: "success",
message: "閰嶇疆鎴愬姛!"
});
- this.selectionList=[]
this.onLoad(this.page)
- console.log("selectionList",this.selectionList)
+ this.selid=[]
}).catch(res=>{
+ this.selid=[]
this.$message({
type: "warning",
message: res
@@ -814,13 +872,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);
@@ -836,10 +896,10 @@
const column = this.findObject(this.option.group, "deptId");
column.dicData = res.data.data;
});
- getPostList(tenantId).then(res => {
- const column = this.findObject(this.option.group, "postId");
- column.dicData = res.data.data;
- });
+ // getPostList(tenantId).then(res => {
+ // const column = this.findObject(this.option.group, "postId");
+ // column.dicData = res.data.data;
+ // });
},
submitRole() {
const roleList = this.$refs.treeRole.getCheckedKeys().join(",");
@@ -853,21 +913,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(",");
@@ -914,8 +975,15 @@
this.onLoad(this.page, params);
done();
},
+ clickRowChange(row){
+ this.$refs.crud.toggleSelection();
+ this.selectionList = row;
+ this.$refs.crud.setCurrentRow(row);
+ this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛�
+ },
selectionChange(list) {
this.selectionList = list;
+ this.$refs.crud.setCurrentRow(this.selectionList[list.length-1]);
},
selectionClear() {
this.selectionList = [];
@@ -973,7 +1041,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;
@@ -1020,18 +1088,30 @@
type: "warning"
}).then(() => {
NProgress.start();
- exportBlob(`/api/blade-user/export-user?${this.website.tokenHeader}=${getToken()}&account=${account}&realName=${realName}`).then(res => {
+ exportBlob(`/api/ubcs-user/export-user?${this.website.tokenHeader}=${getToken()}&account=${account}&realName=${realName}`).then(res => {
downloadXls(res.data, `鐢ㄦ埛鏁版嵁琛�${dateNow()}.xlsx`);
NProgress.done();
})
});
},
handleTemplate() {
- exportBlob(`/api/blade-user/export-template?${this.website.tokenHeader}=${getToken()}`).then(res => {
+ exportBlob(`/api/ubcs-user/export-template?${this.website.tokenHeader}=${getToken()}`).then(res => {
downloadXls(res.data, "鐢ㄦ埛鏁版嵁妯℃澘.xlsx");
})
},
beforeOpen(done, type) {
+ // console.log(type)
+ if(type === "edit"){
+ this.isUpdateShowInput = true;
+ }else {
+ this.isUpdateShowInput = false;
+ }
+ //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;
@@ -1046,8 +1126,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;
@@ -1065,6 +1150,7 @@
this.page.total = data.total;
this.data = data.records;
this.loading = false;
+ this.tenantId=data.records[0].tenantId
this.selectionClear();
});
},
@@ -1142,10 +1228,13 @@
overflow: scroll;
}
.selects{
- width: 400px;
- margin-left: 92px;
+ width: 100%;
}
.seloption{
margin-left: 10px;
}
+.abox{
+ height: 771px;
+}
+
</style>
--
Gitblit v1.9.3