Explorar o código

feat: 调整重置的逻辑为修改之前的

louhangfei hai 11 meses
pai
achega
d9a1dad94e
Modificáronse 1 ficheiros con 21 adicións e 23 borrados
  1. 21 23
      src/views/system/user/CreateDrawer.vue

+ 21 - 23
src/views/system/user/CreateDrawer.vue

@@ -20,9 +20,6 @@
           @change="handleChange"
           v-else
         />
-        <el-text class="mx-1 text-mode" type="primary" @click="handleChangeStaff">{{
-          `工号${staffNoHtmlType === 'INPUT' ? '选择' : '输入'}方式`
-        }}</el-text>
       </el-form-item>
       <el-form-item label="所属部门" prop="deptId">
         <el-tree-select
@@ -146,7 +143,7 @@
       width: 450,
     },
   );
-  const defaultValueRef = () => ({
+  let defaultValue = {
     password: '',
     passwordRe: '',
     deptId: null,
@@ -156,12 +153,12 @@
     isDisabled: true,
     realname: '',
     roleIdList: [],
-  });
+  };
   const message = ElMessage;
   const formRef: any = ref(null);
   const isDrawer = ref(false);
   const subLoading = ref(false);
-  const formParams = ref<UserType>(defaultValueRef());
+  const formParams = ref<UserType>(defaultValue);
   const isAddUser = computed(() => {
     return props.title === '添加用户';
   });
@@ -178,11 +175,11 @@
         if (res) {
           loading.value = false;
           staffNoOptions.value = transformTreeData(res, true);
-           /* 保存原始数据,用于选中后将数据返显到表单 */
+          /* 保存原始数据,用于选中后将数据返显到表单 */
           OrganizationSourceData.value = res;
           /* 选中数据后将部门设置为当前数据的部门 */
           departmentArr.value = transformTreeData(OrganizationSourceData.value, false);
-        } 
+        }
 
         if (res.length === 0) {
           departmentArr.value = props.departmentList;
@@ -197,16 +194,16 @@
 
   type STAFFNO_HTML_TYPE = 'INPUT' | 'SELECT';
   const staffNoHtmlType = ref<STAFFNO_HTML_TYPE>('SELECT');
-  const handleChangeStaff = () => {
-    staffNoHtmlType.value = staffNoHtmlType.value === 'INPUT' ? 'SELECT' : 'INPUT';
-    if (staffNoHtmlType.value === 'INPUT') {
-       departmentArr.value = props.departmentList;
-    }
-  };
+  // const handleChangeStaff = () => {
+  //   staffNoHtmlType.value = staffNoHtmlType.value === 'INPUT' ? 'SELECT' : 'INPUT';
+  //   if (staffNoHtmlType.value === 'INPUT') {
+  //     departmentArr.value = props.departmentList;
+  //   }
+  // };
 
   const handleClear = () => {
     formRef.value.resetFields();
-    formParams.value = Object.assign(formParams.value, defaultValueRef());
+    formParams.value = Object.assign(formParams.value, defaultValue);
   };
 
   const handleChange = (value) => {
@@ -286,23 +283,25 @@
 
   function handleReset() {
     formRef.value.resetFields();
-    formParams.value = Object.assign(formParams.value, defaultValueRef());
+    formParams.value = Object.assign(formParams.value, defaultValue);
   }
 
   function getInfo() {
     userInfo({ userId: Number(formParams.value.userId) }).then((res) => {
+      defaultValue = res;
       Object.entries(res).forEach(([key, value]) => {
-        formParams.value[key] = value;
+        defaultValue[key] = value;
       });
-      formParams.value.roleIdList = res.roleIds;
-      formParams.value.passwordRe = res.password;
-      formParams.value.isDisabled = res.isDisabled === DisabledEnum.NO ? true : false;
+      defaultValue.roleIdList = res.roleIds;
+      defaultValue.passwordRe = res.password;
+      defaultValue.isDisabled = res.isDisabled === DisabledEnum.NO ? true : false;
+      formParams.value = { ...defaultValue };
       isDrawer.value = true;
-      remoteMethod(res.username)
+      remoteMethod(res.username);
     });
   }
 
-   watch(
+  watch(
     () => props.departmentList,
     (newVal) => {
       departmentArr.value = newVal;
@@ -312,7 +311,6 @@
     },
   );
 
-
   defineExpose({
     openDrawer,
     closeDrawer,