From d4e7c11e06b643c9353444c839cec40c25945219 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 30 十月 2024 17:37:05 +0800
Subject: [PATCH] 1. 场景报告模块编写(暂存)
---
src/views/fytz/user/components/CompUserInfo.vue | 215 ++++++++++++++++++++++++-----------------------------
1 files changed, 99 insertions(+), 116 deletions(-)
diff --git a/src/views/fytz/user/components/CompUserInfo.vue b/src/views/fytz/user/components/CompUserInfo.vue
index 1270998..aece522 100644
--- a/src/views/fytz/user/components/CompUserInfo.vue
+++ b/src/views/fytz/user/components/CompUserInfo.vue
@@ -1,11 +1,13 @@
<template>
<FYForm
- :form-info="_formInfo"
+ :form-info="formInfo"
:rules="rules"
- :reset="active"
- v-model:is-edit="_edit"
+ :doClear="active"
+ :useCancel="create"
+ :useReset="!create"
+ @update:isEdit="(v) => $emit('updateEdit', v)"
@submit="submit"
- @cancel="cancel"
+ @cancel="$emit('onCancel')"
>
<template #form-item="{ formObj }">
<!-- <el-form-item label="澶村儚url" prop="HeadIconUrl">
@@ -38,6 +40,7 @@
</el-col>
</el-form-item>
<FYOptionUserType
+ prop="_usertype"
:allOption="false"
:initValue="false"
v-model:value="formObj._usertype"
@@ -60,17 +63,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="5"
+ :checkStrictly="true"
+ :initValue="false"
+ v-model:value="formObj._locations"
+ ></FYOptionLocation>
<FYOptionScene
+ prop="_scenetype"
:allOption="false"
:type="1"
:initValue="false"
@@ -81,16 +84,19 @@
</template>
<script setup>
-import { defineProps, defineEmits, reactive, ref, watch } from 'vue';
+import { defineProps, defineEmits, reactive, ref, watch, computed } from 'vue';
import { getSceneName } from '@/enum/scene';
-import { enumLocation } from '@/enum/location';
import userApi from '@/api/fytz/userApi';
import { useMessageBoxTip } from '@/composables/messageBox';
const props = defineProps({
//鍩烘湰淇℃伅
- formInfo: Object,
- isEdit: Boolean,
+ model: {
+ type: Object
+ // default: () => {
+ // return { isenable: true };
+ // }
+ },
create: {
type: Boolean,
default: false
@@ -101,15 +107,17 @@
}
});
-const emit = defineEmits(['onSubmit', 'onCancel', 'update:isEdit']);
+const formInfo = ref({ isenable: true });
-const _formInfo = ref();
-const _formObject = { value: {} };
-const _edit = ref(false);
-const locations = enumLocation(false);
-const locationsProps = reactive({
- checkStrictly: true
-});
+watch(
+ () => props.model,
+ (nValue) => {
+ formInfo.value = parseUserInfo(nValue);
+ }
+);
+
+const emit = defineEmits(['onSubmit', 'onCancel', 'updateEdit']);
+
const rules = reactive({
acountname: [
{
@@ -124,7 +132,7 @@
message: '鐢ㄦ埛鏄电О涓嶈兘涓虹┖',
trigger: 'blur'
}
- ],
+ ]
// password: [
// {
// required: props.create,
@@ -132,124 +140,99 @@
// trigger: 'blur',
// },
// ],
- _usertype: [
- {
- required: true,
- message: '鐢ㄦ埛绫诲瀷涓嶈兘涓虹┖',
- trigger: 'change'
- }
- ],
- _locations: [
- {
- required: props.create,
- message: '鐪�/甯�/鍖�/闀囦笉鑳戒负绌�',
- trigger: 'change'
- }
- ],
- _scenetype: [
- {
- required: true,
- message: '鍦烘櫙绫诲瀷涓嶈兘涓虹┖',
- trigger: 'change'
- }
- ]
});
// 鐢ㄦ埛鍩烘湰淇℃伅鏍煎紡鍖�
function parseUserInfo(s) {
- s._usertype = {
- label: s.usertype,
- value: s.usertypeid + ''
- };
+ if (s.usertype && s.usertypeid) {
+ s._usertype = {
+ label: s.usertype,
+ value: s.usertypeid + ''
+ };
+ }
- s._scenetype = getSceneName(s.extension2, 1);
+ if (s.extension2) {
+ s._scenetype = getSceneName(s.extension2, 1);
+ }
- s._locations = [];
+ s._locations = {};
return s;
}
-function parseUserInfoReverse(formObj) {
+function parseUserInfoReverse(v) {
+ // 琛屾斂鍖哄垝淇℃伅濉厖
+ const a = v._locations;
+ v.extension1 = a.dName;
// 鐢ㄦ埛绫诲瀷淇℃伅濉厖
- const b = formObj.value._usertype;
- formObj.value.usertypeid = b.value;
- formObj.value.usertype = b.label;
+ const b = v._usertype;
+ v.usertypeid = b.value;
+ v.usertype = b.label;
// 鍦烘櫙绫诲瀷淇℃伅濉厖
- const c = formObj.value._scenetype;
- formObj.value.extension2 = c.value;
+ const c = v._scenetype;
+ v.extension2 = c.value;
- return formObj;
+ return v;
}
-function createUser(formObj, func) {
+function createUser(v, success, fail) {
+ const l = v._locations;
+ const params = {
+ userInfo: v,
+ baseInfo: {
+ biProvinceCode: l.pCode,
+ biProvinceName: l.pName,
+ biCityCode: l.cCode,
+ biCityName: l.cName,
+ biDistrictCode: l.dCode,
+ biDistrictName: l.dName,
+ biTownCode: l.tCode,
+ biTownName: l.tName,
+ biAreaCode: l.aCode,
+ biArea: l.aName
+ // 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(v, success, fail) {
return userApi
- .updateUserInfo(formObj.value)
+ .updateUserInfo(v)
.then(() => {
- emit('onSubmit', formObj);
+ emit('onSubmit', v);
+ 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(v, success, fail) {
+ parseUserInfoReverse(v.value);
- parseUserInfoReverse(formObj);
+ return props.create ? createUser(v.value, success, fail) : updateUser(v.value, success, fail);
+ // parseUserInfoReverse(props.formInfo);
- return props.create ? createUser(formObj, func) : updateUser(formObj, func);
+ // return props.create
+ // ? createUser(props.formInfo, success, fail)
+ // : updateUser(props.formInfo, success, fail);
}
-
-function cancel() {
- emit('onCancel');
-}
-
-watch(
- () => props.formInfo,
- (nValue) => {
- _formInfo.value = parseUserInfo(nValue);
- _formObject.value = _formInfo.value;
- }
-);
-
-watch(_edit, (nValue) => {
- emit('update:isEdit', nValue);
-});
-
// 閲嶇疆瀵嗙爜
-
const pwLoading = ref(false);
function onResetPw() {
@@ -257,10 +240,10 @@
confirmMsg: '鏄惁閲嶇疆璇ュ満鏅瘑鐮侊紵',
confirmTitle: '閲嶇疆瀵嗙爜',
onConfirm: async () => {
- pwLoading.value = true
- _formObject.value.password = '123456';
- await updateUser(_formObject);
- pwLoading.value = false
+ pwLoading.value = true;
+ return userApi.resetPassword(formInfo.value.guid).finally(() => {
+ pwLoading.value = false;
+ });
}
});
}
--
Gitblit v1.9.3