From dc2d2f1e26a84d5600051c0ed086027a28b71162 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 26 十月 2023 11:31:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/views/system/user.vue |  176 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 126 insertions(+), 50 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/system/user.vue b/Source/UBCS-WEB/src/views/system/user.vue
index 8d6a5cf..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,10 +179,12 @@
   updatePlatform,
   add,
   grant,
-  resetPassword, unlock
+  resetPassword,
+  unlock,
+  updateUserStatus
 } from "@/api/system/user";
 import {exportBlob} from "@/api/common";
-import {getDeptTree, getDeptLazyTree, updateUserStatus} from "@/api/system/dept";
+import {getDeptTree, getDeptLazyTree} from "@/api/system/dept";
 import {getRoleTree} from "@/api/system/role";
 import {getPostList} from "@/api/system/post";
 import {mapGetters} from "vuex";
@@ -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 => {
@@ -742,9 +778,6 @@
     }
   },
   created() {
-    updateUserStatus({userid:'1702600796147871745',status:true}).then(res=>{
-      console.log(res)
-    })
     this.selecload()
     const arr=JSON.parse(localStorage.getItem("updataid"))
     if(arr.user_id != '0' && arr.tenant_id !== '000000'){
@@ -756,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();
@@ -769,7 +845,7 @@
           done();
         });
 
-    },
+    },*/
     //鐐瑰嚮閰嶇疆瀵嗙爜绛栫暐
     handlepass(){
       if (this.selectionList.length === 0) {
@@ -818,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);
@@ -855,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