From 51b20c8b1322bb8dab7059823ffc4c2fd3272237 Mon Sep 17 00:00:00 2001
From: zmc <zmc_li@foxmail.com>
Date: 星期一, 18 十二月 2023 17:32:46 +0800
Subject: [PATCH] 增加用户信息表的数据展示

---
 src/views/fytz/user/UserEdit.vue                    |    6 +
 src/views/fytz/user/components/CompBaseInfo.vue     |  188 +++++++++++++++++++++++++++++++
 src/views/baseinfo/fysp/scene/CompSceneBaseInfo.vue |  159 ++++++++++---------------
 3 files changed, 258 insertions(+), 95 deletions(-)

diff --git a/src/views/baseinfo/fysp/scene/CompSceneBaseInfo.vue b/src/views/baseinfo/fysp/scene/CompSceneBaseInfo.vue
index 5c848a2..5e4360a 100644
--- a/src/views/baseinfo/fysp/scene/CompSceneBaseInfo.vue
+++ b/src/views/baseinfo/fysp/scene/CompSceneBaseInfo.vue
@@ -1,28 +1,13 @@
 <!-- 鍦烘櫙鍩烘湰淇℃伅缂栬緫 -->
 <template>
-  <FYForm
-    :form-info="_formInfo"
-    :rules="rules"
-    @submit="submit"
-    @cancel="cancel"
-  >
+  <FYForm :form-info="_formInfo" :rules="rules" @submit="submit" @cancel="cancel">
     <template #form-item="{ formObj }">
       <el-form-item label="鍦烘櫙鍚嶇О" prop="name">
-        <el-input
-          clearable
-          show-word-limit
-          v-model="formObj.name"
-          placeholder="鍦烘櫙鍚嶇О"
-        />
+        <el-input clearable show-word-limit v-model="formObj.name" placeholder="鍦烘櫙鍚嶇О" />
       </el-form-item>
       <el-form-item label="鍦烘櫙绫诲瀷" prop="_typeObj">
         <el-select v-model="formObj._typeObj" placeholder="鍦烘櫙绫诲瀷">
-          <el-option
-            v-for="s in sceneTypes"
-            :key="s.value"
-            :label="s.label"
-            :value="s"
-          />
+          <el-option v-for="s in sceneTypes" :key="s.value" :label="s.label" :value="s" />
         </el-select>
       </el-form-item>
       <el-form-item label="鐪�/甯�/鍖�/闀�" prop="_locations">
@@ -35,12 +20,7 @@
         />
       </el-form-item>
       <el-form-item label="鍦板潃" prop="location">
-        <el-input
-          show-word-limit
-          clearable
-          v-model="formObj.location"
-          placeholder="鍦板潃"
-        />
+        <el-input show-word-limit clearable v-model="formObj.location" placeholder="鍦板潃" />
       </el-form-item>
       <el-form-item label="缁忓害" prop="longitude">
         <!-- <el-input type="number" v-model="formObj.longitude" placeholder="缁忓害" /> -->
@@ -61,12 +41,7 @@
         />
       </el-form-item>
       <el-form-item label="鑱旂郴浜�" prop="contacts">
-        <el-input
-          show-word-limit
-          clearable
-          v-model="formObj.contacts"
-          placeholder="鑱旂郴浜�"
-        />
+        <el-input show-word-limit clearable v-model="formObj.contacts" placeholder="鑱旂郴浜�" />
       </el-form-item>
       <el-form-item label="鑱旂郴鐢佃瘽" prop="contactst">
         <el-input type="tel" v-model="formObj.contactst" placeholder="鑱旂郴鐢佃瘽">
@@ -79,9 +54,7 @@
       </el-form-item>
       <el-form-item label="鐘舵��" prop="online">
         <el-switch v-model="formObj.online" />
-        <span style="margin-left: 16px">{{
-          formObj.online ? '鍦ㄧ嚎' : '涓嬬嚎'
-        }}</span>
+        <span style="margin-left: 16px">{{ formObj.online ? '鍦ㄧ嚎' : '涓嬬嚎' }}</span>
       </el-form-item>
       <el-form-item label="缂栧彿" prop="index">
         <el-input-number readonly v-model="formObj.index" :step="1" :min="0" />
@@ -91,63 +64,63 @@
 </template>
 
 <script setup>
-import { defineProps, defineEmits, reactive, ref, watch } from 'vue';
-import { enumScene } from '@/enum/scene';
-import { enumLocation } from '@/enum/location';
-import sceneApi from '@/api/fysp/sceneApi';
+import { defineProps, defineEmits, reactive, ref, watch } from 'vue'
+import { enumScene } from '@/enum/scene'
+import { enumLocation } from '@/enum/location'
+import sceneApi from '@/api/fysp/sceneApi'
 
 const props = defineProps({
   //鍦烘櫙鍩烘湰淇℃伅
   formInfo: Object,
   //鏄垱寤烘垨鑰呮洿鏂板満鏅�
-  create: Boolean,
-});
+  create: Boolean
+})
 
-const emit = defineEmits(['onSubmit', 'onCancel']);
+const emit = defineEmits(['onSubmit', 'onCancel'])
 
-const _formInfo = ref();
-const sceneTypes = reactive(enumScene(2, false));
-const locations = reactive(enumLocation(false));
+const _formInfo = ref()
+const sceneTypes = reactive(enumScene(2, false))
+const locations = reactive(enumLocation(false))
 const cascaderProps = reactive({
-  checkStrictly: true,
-});
+  checkStrictly: true
+})
 const rules = reactive({
   name: [
     {
       required: true,
       message: '鍦烘櫙鍚嶇О涓嶈兘涓虹┖',
-      trigger: 'blur',
-    },
+      trigger: 'blur'
+    }
   ],
   _typeObj: [
     {
       required: true,
       message: '鍦烘櫙绫诲瀷涓嶈兘涓虹┖',
-      trigger: 'change',
-    },
+      trigger: 'change'
+    }
   ],
   _locations: [
     {
       required: true,
       message: '琛屾斂鍖哄垝涓嶈兘涓虹┖',
-      trigger: 'change',
-    },
+      trigger: 'change'
+    }
   ],
   longitude: [
     {
       required: true,
       message: '缁忓害涓嶈兘涓虹┖',
-      trigger: 'blur',
-    },
+      trigger: 'blur'
+    }
   ],
   latitude: [
     {
       required: true,
       message: '绾害涓嶈兘涓虹┖',
-      trigger: 'blur',
-    },
-  ],
-});
+      trigger: 'blur'
+    }
+  ]
+})
 
 /**
  * 鍦烘櫙鍩烘湰淇℃伅鏍煎紡鍖�
@@ -157,92 +130,88 @@
 function parseSceneBaseInfo(s) {
   s._typeObj = {
     label: s.type,
-    value: s.typeid + '',
-  };
+    value: s.typeid + ''
+  }
 
-  s._locations = [];
+  s._locations = []
   if (s.provincecode && s.provincecode.length > 0)
-    s._locations.push([s.provincecode, s.provincename]);
-  if (s.citycode && s.citycode.length > 0)
-    s._locations.push([s.citycode, s.cityname]);
+    s._locations.push([s.provincecode, s.provincename])
+  if (s.citycode && s.citycode.length > 0) s._locations.push([s.citycode, s.cityname])
   if (s.districtcode && s.districtcode.length > 0)
-    s._locations.push([s.districtcode, s.districtname]);
-  if (s.towncode && s.towncode.length > 0)
-    s._locations.push([s.towncode, s.townname]);
+    s._locations.push([s.districtcode, s.districtname])
+  if (s.towncode && s.towncode.length > 0) s._locations.push([s.towncode, s.townname])
 
-  s.online = s.extension1 != '0';
+  s.online = s.extension1 != '0'
 
-  return s;
+  return s
 }
 // 鍒涘缓鏂板満鏅�
 function createScene(formObj, func) {
   return sceneApi
     .createScene(formObj.value)
     .then(() => {
-      emit('onSubmit', formObj);
+      emit('onSubmit', formObj)
     })
     .finally(() => {
-      func();
-    });
+      func()
+    })
 }
 // 鏇存柊鍦烘櫙
 function updateScene(formObj, func) {
   return sceneApi
     .updateScene(formObj.value)
     .then(() => {
-      emit('onSubmit', formObj);
+      emit('onSubmit', formObj)
     })
     .finally(() => {
-      func();
-    });
+      func()
+    })
 }
 function submit(formObj, func) {
   // 琛屾斂鍖哄垝淇℃伅濉厖
-  const a = formObj.value._locations;
+  const a = formObj.value._locations
   if (a[0]) {
-    formObj.value.provincecode = a[0][0];
-    formObj.value.provincename = a[0][1];
+    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];
+    formObj.value.citycode = a[1][0]
+    formObj.value.cityname = a[1][1]
   }
   if (a[2]) {
-    formObj.value.districtcode = a[2][0];
-    formObj.value.districtname = a[2][1];
+    formObj.value.districtcode = a[2][0]
+    formObj.value.districtname = a[2][1]
   }
   if (a[3]) {
-    formObj.value.towncode = a[3][0];
-    formObj.value.townname = a[3][1];
+    formObj.value.towncode = a[3][0]
+    formObj.value.townname = a[3][1]
   }
 
   // 鍦烘櫙绫诲瀷淇℃伅濉厖
-  const b = formObj.value._typeObj;
-  formObj.value.typeid = b.value;
-  formObj.value.type = b.label;
+  const b = formObj.value._typeObj
+  formObj.value.typeid = b.value
+  formObj.value.type = b.label
 
   // 鏄惁鍦ㄧ嚎淇℃伅濉厖
-  formObj.value.online
-    ? (formObj.value.extension1 = '1')
-    : (formObj.value.extension1 = '0');
+  formObj.value.online ? (formObj.value.extension1 = '1') : (formObj.value.extension1 = '0')
 
-  formObj.value.updatedate = new Date().toISOString();
+  formObj.value.updatedate = new Date().toISOString()
 
-  emit('onSubmit', formObj);
+  emit('onSubmit', formObj)
 
-  return props.create ? createScene(formObj, func) : updateScene(formObj, func);
+  return props.create ? createScene(formObj, func) : updateScene(formObj, func)
 }
 function cancel() {
-  emit('onCancel');
+  emit('onCancel')
 }
 
 // 鐩戝惉浼犲叆鐨勫満鏅熀鏈俊鎭紝鍋氱浉搴旂殑鏁版嵁鏍煎紡鍖�
 watch(
   () => props.formInfo,
   (nValue) => {
-    _formInfo.value = parseSceneBaseInfo(nValue);
+    _formInfo.value = parseSceneBaseInfo(nValue)
   }
-);
+)
 </script>
 
 <style scoped></style>
diff --git a/src/views/fytz/user/UserEdit.vue b/src/views/fytz/user/UserEdit.vue
index 60e1399..174e18c 100644
--- a/src/views/fytz/user/UserEdit.vue
+++ b/src/views/fytz/user/UserEdit.vue
@@ -15,6 +15,7 @@
       <div class="sub-title">鐢ㄦ埛淇℃伅琛�</div>
       <FormCol>
         <!-- <CompUserInfos :form-info="formUserInfos" /> -->
+        <CompBaseInfo :form-info="formUserInfos"/>
       </FormCol>
       <el-divider />
       <div class="sub-title">浼佷笟淇℃伅</div>
@@ -99,6 +100,7 @@
 import userApi from '@/api/fytz/userApi';
 // import ComBaseInformation from '@/views/baseinfo/fytz/scene/ComBaseInformation.vue';
 import CompUserInfo from './components/CompUserInfo.vue';
+import CompBaseInfo from './components/CompBaseInfo.vue';
 // import CompLaint from '@/views/baseinfo/fytz/scene/CompLaint.vue';
 // import CompDeviceInfo from "@/views/baseinfo/fytz/scene/CompDeviceInfo.vue";
 // import CompPanyInfo from '@/views/baseinfo/fytz/scene/CompPanyInfo.vue';
@@ -116,6 +118,7 @@
     // ComBaseInformation,
     // CompLaint,
     CompUserInfo,
+    CompBaseInfo,
     // CompDeviceInfo,
     // CompPanyInfo,
     // CompFumePurifyDevice,
@@ -157,6 +160,9 @@
             guid: to.params.userId,
           };
         }
+        if(res.baseInfo){
+          vm.formUserInfos = res.baseInfo
+        }
       });
     });
   },
diff --git a/src/views/fytz/user/components/CompBaseInfo.vue b/src/views/fytz/user/components/CompBaseInfo.vue
new file mode 100644
index 0000000..50b1e6b
--- /dev/null
+++ b/src/views/fytz/user/components/CompBaseInfo.vue
@@ -0,0 +1,188 @@
+<template>
+  <FYForm
+    :form-info="_formInfo"
+    :rules="rules"
+    :reset="active"
+    v-model:is-edit="_edit"
+    @submit="submit"
+    @cancel="cancel"
+  >
+    <template #form-item="{ formObj }">
+      <el-form-item label="鏄电О" prop="biNickName">
+        <el-input clearable v-model="formObj.biNickName" placeholder="鏄电О" />
+      </el-form-item>
+      <el-form-item label="鎵�灞炰紒涓�" prop="ciName">
+        <el-input clearable v-model="formObj.ciName" placeholder="鎵�灞炰紒涓�" />
+      </el-form-item>
+      <el-form-item label="杩愮淮鍟�">
+        <el-input clearable v-model="formObj.biManagementCompany" placeholder="杩愮淮鍟�" />
+      </el-form-item>
+
+      <el-form-item label="鍦烘櫙鍚嶇О" prop="biName">
+        <el-input clearable v-model="formObj.biName" placeholder="鍦烘櫙鍚嶇О" />
+      </el-form-item>
+
+      <FYOptionLocation
+        :allOption="false"
+        :level="4"
+        :initValue="false"
+        v-model:value="formObj._locations"
+      ></FYOptionLocation>
+
+      <el-form-item label="鍦板潃" prop="biAddress">
+        <el-input clearable v-model="formObj.biAddress" placeholder="鍦板潃" />
+      </el-form-item>
+
+      <el-form-item label="鑱旂郴浜�">
+        <el-input clearable v-model="formObj.biContact" placeholder="鑱旂郴浜�" />
+      </el-form-item>
+      <el-form-item label="鑱旂郴鐢佃瘽">
+        <el-input clearable v-model="formObj.biTelephone" placeholder="鑱旂郴鐢佃瘽" />
+      </el-form-item>
+    </template>
+  </FYForm>
+</template>
+
+<script>
+import userApi from '@/api/fytz/userApi.js'
+export default {
+  props: {
+    //鍩烘湰淇℃伅
+    formInfo: Object,
+    isEdit: Boolean,
+    create: {
+      type: Boolean,
+      default: false
+    },
+    active: {
+      type: Boolean,
+      default: false
+    }
+  },
+
+  data() {
+    return {
+      _formInfo: null,
+      _edit: false,
+      locations: false,
+      locationsProps: {
+        checkStrictly: true
+      },
+      rules: {
+        biNickName: [
+          {
+            required: true,
+            message: '鐢ㄦ埛鏄电О涓嶈兘涓虹┖',
+            trigger: 'blur'
+          }
+        ],
+        ciName: [
+          {
+            required: true,
+            message: '浼佷笟鍚嶄笉鑳戒负绌�',
+            trigger: 'blur'
+          }
+        ],
+
+        biName: [
+          {
+            required: true,
+            message: '鍦烘櫙绫诲瀷涓嶈兘涓虹┖',
+            trigger: 'blur'
+          }
+        ],
+        biAddress: [
+          {
+            required: true,
+            message: '鍦板潃涓嶈兘涓虹┖',
+            trigger: 'blur'
+          }
+        ]
+      }
+    }
+  },
+  watch: {
+    formInfo(nValue) {
+      console.log('value', nValue)
+      this._formInfo = this.parseUserInfo(nValue)
+      console.log('鎵ц浜�')
+    },
+    _edit(nValue) {
+      this.$emit('update:isEdit', nValue)
+    }
+  },
+  mounted() {},
+  methods: {
+    // 鐢ㄦ埛鍩烘湰淇℃伅鏍煎紡鍖�
+    parseUserInfo(s) {
+      const r = {}
+      s._locations = {
+        pCode: s.biProvinceCode,
+        pName: s.biProvinceName,
+        cCode: s.biCityCode,
+        cName: s.biCityName,
+        dCode: s.biDistrictCode,
+        dName: s.biDistrictName,
+        tCode: s.biTownCode,
+        tName: s.biTownName
+      }
+      return s
+    },
+    // 鍒涘缓鏂板満鏅�
+    createBaseInfo(formObj, func) {
+      return userApi
+        .createUser(formObj)
+        .then(() => {
+          this.$emit('onSubmit', formObj)
+        })
+        .finally(() => {
+          func()
+        })
+    },
+    // 鏇存柊鍦烘櫙
+    updateBaseInfo(formObj, func) {
+      return userApi
+        .updateUserInfo(formObj)
+        .then(() => {
+          this.$emit('onSubmit', formObj)
+        })
+        .finally(() => {
+          func()
+        })
+    },
+    submit(formObj, func) {
+      // 琛屾斂鍖哄垝淇℃伅濉厖
+      const a = formObj.value._locations
+      if ('pCode' in a) {
+        formObj.value.biProvinceCode = a.pCode
+      }
+      if ('pName' in a) {
+        formObj.value.biProvinceName = a.pName
+      }
+      if ('cCode' in a) {
+        formObj.value.biCityCode = a.cCode
+      }
+      if ('cName' in a) {
+        formObj.value.biCityName = a.cName
+      }
+      if ('dCode' in a) {
+        formObj.value.biDistrictCode = a.dCode
+      }
+      if ('dName' in a) {
+        formObj.value.biDistrictName = a.dName
+      }
+      if ('tCode' in a) {
+        formObj.value.biTownCode = a.tCode
+      }
+      if ('tName' in a) {
+        formObj.value.biTownName = a.tName
+      }
+
+      return this.create ? this.createBaseInfo(formObj, func) : this.updateBaseInfo(formObj, func)
+    },
+    cancel() {
+      this.$emit('onCancel')
+    }
+  }
+}
+</script>

--
Gitblit v1.9.3