From d50a7bc02d89e14beeab83a28f0d3677dbd9f0ef Mon Sep 17 00:00:00 2001
From: zhangxiao <898441624@qq.com>
Date: 星期五, 30 八月 2024 14:31:50 +0800
Subject: [PATCH] fix: 修改bug

---
 src/views/authority/users/index.vue |   36 +++++++++++++++++++++++++++++-------
 1 files changed, 29 insertions(+), 7 deletions(-)

diff --git a/src/views/authority/users/index.vue b/src/views/authority/users/index.vue
index 6c51b2e..068e9b5 100644
--- a/src/views/authority/users/index.vue
+++ b/src/views/authority/users/index.vue
@@ -123,7 +123,7 @@
       @ok="editHandleOk"
       width="48%"
     >
-      <a-form ref="formRefPaw" :model="editform" auto-label-width>
+      <a-form ref="formRef" :model="editform" auto-label-width>
         <a-row :gutter="20">
           <a-col :span="10">
             <a-form-item
@@ -177,6 +177,7 @@
               :rules="[{ required: true, message: '瑙掕壊蹇呴��' }]"
             >
               <a-select
+                multiple
                 v-model="editform.role"
                 :options="roles"
                 :field-names="fieldNames"
@@ -327,7 +328,6 @@
   let checkStrictlyDialog = ref([]);
   let checkStrictlyAgent = ref([]);
   let formRef = ref();
-  const formRefPaw = ref();
 
   let menuTips = ref(['鏉冮檺绠$悊', '璐﹀彿']);
   type SizeProps = 'mini' | 'small' | 'medium' | 'large';
@@ -355,7 +355,7 @@
     loginName: '',
     userName: '',
     psw: '',
-    role: '',
+    role: [],
   });
 
   let size = ref<SizeProps>('medium');
@@ -447,7 +447,15 @@
   ]);
 
   const statusChange = async (value, record) => {
-    await Userstatus(record.userId, value).then((res) => {});
+    if (record?.dept) {
+      await Userstatus(record.userId, value).then((res) => {});
+    } else {
+      record.status = '0';
+      Modal.warning({
+        title: '鎻愮ず',
+        content: '濡傛兂鍚敤鐢ㄦ埛锛岄渶杩涜閮ㄩ棬閰嶇疆.',
+      });
+    }
   };
 
   const handleCancel = (type) => {
@@ -475,18 +483,28 @@
     if (err) {
       visible.value = true;
     } else {
+      let uuu;
       if (editform.value.userId.length > 0) {
         await UserEdit({
           ...editform.value,
         } as unknown as User).then((res) => {
           fetchData();
+          uuu = res.data;
         });
       } else {
         await UserAdd({
           ...editform.value,
         } as unknown as User).then((res) => {
           fetchData();
+          uuu = res.data;
         });
+      }
+      if (uuu.dept?false:true) {
+        deptvisible.value = true;
+        checkedKeys.value = [];
+        expandKdys.value = [];
+        checkStrictly.value = [];
+        selectUser.value = uuu;
       }
     }
   };
@@ -524,7 +542,8 @@
     //缂栬緫
     if (t == 2) {
       visible.value = true;
-      formRefPaw.value?.resetFields();
+      formRef.value?.resetFields();
+      editform.value.role=[];
       save.value = '缂栬緫';
       editform.value.userId = record.userId;
       editform.value.userName = record.userName;
@@ -532,7 +551,10 @@
       editform.value.email = record.email;
       editform.value.phoneNumber = record.phoneNumber;
       if (record.roles?.length > 0) {
-        editform.value.role = record.roles[0].roleId;
+        //閬嶅巻record.roles
+        record.roles.forEach((val) => {
+          editform.value.role.push(val.roleId);
+        })
       }
     }
     //鍒犻櫎
@@ -612,7 +634,7 @@
       checkStrictly.value = [];
       selectUser.value = record;
       expandKdys.value.push('0');
-      if (record.dept) {
+      if (record?.dept) {
         record.dept.forEach((val) => {
           checkStrictly.value.push({
             deptId: val.deptId,

--
Gitblit v1.8.0