From 90b486ba54098be293a256d9313d201a3bd5221f Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 18 十月 2023 21:31:02 +0800
Subject: [PATCH] 1、编码规则增加显示所有者列,高级查询中增加所有者; 2、用户管理界面添加停用启用按钮。

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

diff --git a/Source/UBCS-WEB/src/views/system/user.vue b/Source/UBCS-WEB/src/views/system/user.vue
index 8bce7c9..9b3f3a2 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>
@@ -64,25 +64,31 @@
               閰嶇疆瀵嗙爜绛栫暐
             </el-button>
             <el-button v-if="userInfo.role_name.includes('admin')"
-                       icon="el-icon-coordinate"
-                       plain
-                       size="small"
-                       type="info"
-                       @click="handleLock">璐﹀彿瑙e皝
+              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">瀵煎叆
+              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">瀵煎嚭
+              icon="el-icon-download"
+              plain
+              size="small"
+              type="warning"
+              @click="handleExport">瀵煎嚭
+            </el-button>
+            <el-button size="small"
+                type="warning"
+                icon="el-icon-setting"
+                @click="updateUserStatus">
+              璐﹀彿鍋�/鍚敤
             </el-button>
           </template>
           <template slot="tenantName"
@@ -116,7 +122,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,13 +142,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"
@@ -155,9 +158,9 @@
             </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>
@@ -175,7 +178,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";
@@ -210,6 +215,7 @@
       }
     };
     return {
+      tenantId:'',
       form: {},
       seoptions: [],
       sevalue:"",
@@ -278,6 +284,7 @@
         tip: false,
         searchShow: true,
         searchMenuSpan: 6,
+        columnBtn:false,
         border: true,
         index: true,
         selection: true,
@@ -345,7 +352,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: [
@@ -373,6 +390,7 @@
                   trigger: "click"
                 }],
                 span: 24,
+                value:""
               },
               {
                 label: "鐧诲綍璐﹀彿",
@@ -391,6 +409,7 @@
                   label: "dictValue",
                   value: "dictKey"
                 },
+                value:'1',
                 dataType: "number",
                 slot: true,
                 prop: "userType",
@@ -403,6 +422,7 @@
               {
                 label: '瀵嗙爜',
                 prop: 'password',
+                type: "password",
                 hide: true,
                 editDisplay: false,
                 viewDisplay: false,
@@ -412,6 +432,7 @@
                 label: '纭瀵嗙爜',
                 prop: 'password2',
                 hide: true,
+                type: "password",
                 editDisplay: false,
                 viewDisplay: false,
                 rules: [{required: true, validator: validatePass2, trigger: 'blur'}]
@@ -547,7 +568,7 @@
                   value: "id"
                 },
                 rules: [{
-                  required: true,
+                  required: false,
                   message: "璇烽�夋嫨鎵�灞炲矖浣�",
                   trigger: "click"
                 }],
@@ -694,6 +715,7 @@
     'form.tenantId'() {
       if (this.form.tenantId !== '' && this.initFlag) {
         this.initData(this.form.tenantId);
+        console.log('this.form.tenantId',this.form.tenantId)
       }
     },
     'excelForm.isCovered'() {
@@ -747,8 +769,40 @@
     }
   },
   methods: {
+
+    // beOpen(done,type){
+    //   console.log(done,type)
+    // },
+    // 鐢ㄦ埛鍋滅敤鍚敤鐘舵��
+    /** 淇敼鐢ㄦ埛鐘舵�� */
+    updateUserStatus(){
+      let list = this.selectionList;
+      if(func.isEmpty(list)){
+        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;
+      updateUserStatus(userIds,status).then(res=>{
+        this.$message({
+          type: "success",
+          message: "鎿嶄綔鎴愬姛!"
+        });
+        this.onLoad(this.page);
+      })
+    },
     //esc鍙栨秷閿搷浣�
-    handleClose(done) {
+    /*handleClose(done) {
       this.$confirm('纭鍏抽棴锛�')
         .then(() => {
           done();
@@ -757,7 +811,7 @@
           done();
         });
 
-    },
+    },*/
     //鐐瑰嚮閰嶇疆瀵嗙爜绛栫暐
     handlepass(){
       if (this.selectionList.length === 0) {
@@ -766,8 +820,6 @@
       }else {
         this.passVisible=true;
       }
-      //console.log("selectionList",this.selectionList)
-      //console.log(this.UserPwdstrategyVO)
     },
     // 璁剧疆瀵嗙爜绛栫暐锛屼紶閫掍笅鎷夋鐨刬d鍜屽閫夋鐨刬d
     passhandle(){
@@ -780,7 +832,7 @@
        this.UserPwdstrategyVO.pwdstrategyId=this.id
 
       //璇锋眰
-      insert(this.UserPwdstrategyVO.userIds).then(()=>{
+      insert(this.UserPwdstrategyVO).then(()=>{
         this.passVisible=false
         this.$message({
           type: "success",
@@ -801,13 +853,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);
@@ -840,21 +894,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(",");
@@ -967,7 +1022,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;
 
@@ -1026,6 +1081,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;
@@ -1040,8 +1101,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;
@@ -1059,6 +1125,7 @@
         this.page.total = data.total;
         this.data = data.records;
         this.loading = false;
+        this.tenantId=data.records[0].tenantId
         this.selectionClear();
       });
     },

--
Gitblit v1.9.3