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