From 356f54467f525f437f41271fb62f6be66f2ab1e5 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 18 十二月 2023 17:36:11 +0800
Subject: [PATCH] 1. 调整飞羽环境用户信息的编辑

---
 src/views/fytz/user/components/CompUserInfo.vue |  124 +++++++++++++++++++++++-----------------
 1 files changed, 71 insertions(+), 53 deletions(-)

diff --git a/src/views/fytz/user/components/CompUserInfo.vue b/src/views/fytz/user/components/CompUserInfo.vue
index 1270998..e477f47 100644
--- a/src/views/fytz/user/components/CompUserInfo.vue
+++ b/src/views/fytz/user/components/CompUserInfo.vue
@@ -3,6 +3,9 @@
     :form-info="_formInfo"
     :rules="rules"
     :reset="active"
+    :useCancel="create"
+    :useReset="!create"
+    :clearAftSubmit="create"
     v-model:is-edit="_edit"
     @submit="submit"
     @cancel="cancel"
@@ -38,6 +41,7 @@
         </el-col>
       </el-form-item>
       <FYOptionUserType
+        prop="_usertype"
         :allOption="false"
         :initValue="false"
         v-model:value="formObj._usertype"
@@ -60,17 +64,17 @@
       <el-form-item label="鎵嬫満" prop="telephone">
         <el-input clearable type="tel" v-model="formObj.telephone" placeholder="鎵嬫満" />
       </el-form-item>
-      <!-- <el-form-item label="鐪�/甯�/鍖�/闀�" prop="_locations">
-        <el-cascader
-          v-model="formObj._locations"
-          :options="locations"
-          placeholder="鐪�/甯�/鍖�/闀�"
-          :props="locationsProps"
-          style="width: 280px"
-          :disabled="!create"
-        />
-      </el-form-item> -->
+      <FYOptionLocation
+        v-if="create"
+        prop="_locations"
+        :allOption="false"
+        :level="4"
+        :checkStrictly="false"
+        :initValue="false"
+        v-model:value="formObj._locations"
+      ></FYOptionLocation>
       <FYOptionScene
+        prop="_scenetype"
         :allOption="false"
         :type="1"
         :initValue="false"
@@ -103,13 +107,8 @@
 
 const emit = defineEmits(['onSubmit', 'onCancel', 'update:isEdit']);
 
-const _formInfo = ref();
-const _formObject = { value: {} };
+const _formInfo = ref({ isenable: true });
 const _edit = ref(false);
-const locations = enumLocation(false);
-const locationsProps = reactive({
-  checkStrictly: true
-});
 const rules = reactive({
   acountname: [
     {
@@ -170,6 +169,16 @@
 }
 
 function parseUserInfoReverse(formObj) {
+  // 琛屾斂鍖哄垝淇℃伅濉厖
+  const a = formObj.value._locations;
+  formObj.value.provincecode = a.pCode;
+  formObj.value.provincename = a.pName;
+  formObj.value.citycode = a.cCode;
+  formObj.value.cityname = a.cName;
+  formObj.value.districtcode = a.dCode;
+  formObj.value.extension1 = a.dName;
+  formObj.value.towncode = a.tCode;
+  formObj.value.townname = a.tName;
   // 鐢ㄦ埛绫诲瀷淇℃伅濉厖
   const b = formObj.value._usertype;
   formObj.value.usertypeid = b.value;
@@ -182,53 +191,54 @@
   return formObj;
 }
 
-function createUser(formObj, func) {
+function createUser(formObj, success, fail) {
+  const params = {
+    userInfo: formObj.value,
+    baseInfo: {
+      biProvinceCode: formObj.value.provincecode,
+      biProvinceName: formObj.value.provincename,
+      biCityCode: formObj.value.citycode,
+      biCityName: formObj.value.cityname,
+      biDistrictCode: formObj.value.districtcode,
+      biDistrictName: formObj.value.extension1,
+      biTownCode: formObj.value.towncode,
+      biTownName: formObj.value.townname
+      // biAreaCode
+      // biArea
+      // biManagementCompanyId
+      // biManagementCompany
+      // biContact
+      // biTelephone
+      // biAddress
+    }
+  };
   return userApi
-    .createUser(formObj.value)
+    .createUser(params)
     .then(() => {
-      emit('onSubmit', formObj);
+      emit('onSubmit', params);
+      success();
     })
-    .finally(() => {
-      _formObject.value = formObj.value;
-      func();
+    .catch((err) => {
+      fail(err);
     });
 }
 
-function updateUser(formObj, func) {
+function updateUser(formObj, success, fail) {
   return userApi
     .updateUserInfo(formObj.value)
     .then(() => {
       emit('onSubmit', formObj);
+      if (success) success();
     })
-    .finally(() => {
-      _formObject.value = formObj.value;
-      if (func) func();
+    .catch((err) => {
+      if (fail) fail(err);
     });
 }
 
-function submit(formObj, func) {
-  // 琛屾斂鍖哄垝淇℃伅濉厖
-  // const a = formObj.value._locations;
-  // if (a[0]) {
-  //   formObj.value.provincecode = a[0][0];
-  //   formObj.value.provincename = a[0][1];
-  // }
-  // if (a[1]) {
-  //   formObj.value.citycode = a[1][0];
-  //   formObj.value.cityname = a[1][1];
-  // }
-  // if (a[2]) {
-  //   formObj.value.districtcode = a[2][0];
-  //   formObj.value.extension1 = a[2][1];
-  // }
-  // if (a[3]) {
-  //   formObj.value.towncode = a[3][0];
-  //   formObj.value.townname = a[3][1];
-  // }
-
+function submit(formObj, success, fail) {
   parseUserInfoReverse(formObj);
 
-  return props.create ? createUser(formObj, func) : updateUser(formObj, func);
+  return props.create ? createUser(formObj, success, fail) : updateUser(formObj, success, fail);
 }
 
 function cancel() {
@@ -239,14 +249,22 @@
   () => props.formInfo,
   (nValue) => {
     _formInfo.value = parseUserInfo(nValue);
-    _formObject.value = _formInfo.value;
   }
 );
+
+// watch(
+//   () => props.create,
+//   (nValue) => {
+//     if (nValue) {
+
+//     }
+//   },
+//   {immediate:true}
+// );
 
 watch(_edit, (nValue) => {
   emit('update:isEdit', nValue);
 });
-
 
 // 閲嶇疆瀵嗙爜
 
@@ -257,10 +275,10 @@
     confirmMsg: '鏄惁閲嶇疆璇ュ満鏅瘑鐮侊紵',
     confirmTitle: '閲嶇疆瀵嗙爜',
     onConfirm: async () => {
-      pwLoading.value = true
-      _formObject.value.password = '123456';
-      await updateUser(_formObject);
-      pwLoading.value = false
+      pwLoading.value = true;
+      return userApi.resetPassword(props.formInfo.guid).finally(() => {
+        pwLoading.value = false;
+      });
     }
   });
 }

--
Gitblit v1.9.3