Преглед на файлове

Merge branch 'dev-wyf' into 'dev'

fix: 人员分组重置修改

See merge request product-group-fe/sfy-safety-group/sfy-safety!24
楼航飞 преди 11 месеца
родител
ревизия
d3aa1c49ad
променени са 1 файла, в които са добавени 30 реда и са изтрити 17 реда
  1. 30 17
      src/views/system/person-group/components/PersonGroupEditDrawer.vue

+ 30 - 17
src/views/system/person-group/components/PersonGroupEditDrawer.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-drawer :title="title" v-model="drawerOpened" @close="reset">
+  <el-drawer :title="title" v-model="drawerOpened" @close="close">
     <el-form label-width="80px" :model="formData" :rules="formRules" ref="formInstance">
       <el-form-item label="分组名称" prop="name">
         <el-input
@@ -98,19 +98,19 @@
   const selectedUser = ref<PersonGroupItem[]>([]);
 
   // 表单相关
-  const defaultFormData = (): PersonGroupForm => ({
+  let defaultFormData: PersonGroupForm = {
     id: null,
     name: '',
     description: '',
     userList: [],
-  });
+  };
   const useUser = useUserStore();
   const { info } = storeToRefs(useUser);
   const operater = ref(info.value.realname);
 
   const total = ref<number>(0);
 
-  const formData = reactive<PersonGroupForm>(defaultFormData());
+  const formData = reactive<PersonGroupForm>(defaultFormData);
   const formRules: FormRules = {
     name: { required: true, trigger: 'blur', message: '请填写分组名称' },
     userList: { required: true, trigger: 'blur', message: '请选择组内成员' },
@@ -121,7 +121,7 @@
   /** 重置表单 */
   const reset = () => {
     formInstance.value?.resetFields();
-    Object.assign(formData, defaultFormData());
+    Object.assign(formData, defaultFormData);
   };
   /** 提交表单 */
   const submit = async () => {
@@ -151,6 +151,16 @@
     }
   };
 
+  const close = () => {
+    defaultFormData = {
+      id: null,
+      name: '',
+      description: '',
+      userList: [],
+    };
+    reset();
+  };
+
   const handleDialogCancle = () => {
     dialogOpened.value = false;
   };
@@ -164,18 +174,21 @@
   const open = async (row?: PersonGroupListItem) => {
     if (row) {
       const res = await queryUserGroupDetail(row.id);
-      formData.id = res.userGroupId;
-      formData.name = res.name;
-      formData.description = res.description;
-      formData.userList = res.userList.map((x) => {
-        return {
-          checked: true,
-          id: x.id,
-          realname: x.realname,
-          deptName: x.deptName,
-          staffNo: x.staffNo,
-        } as PersonGroupItem;
-      });
+      defaultFormData = {
+        id: res.userGroupId,
+        name: res.name,
+        description: res.description,
+        userList: res.userList.map((x) => {
+          return {
+            checked: true,
+            id: x.id,
+            realname: x.realname,
+            deptName: x.deptName,
+            staffNo: x.staffNo,
+          } as PersonGroupItem;
+        }),
+      };
+      reset();
       selectedUser.value = formData.userList;
     }
     drawerOpened.value = true;