|
|
@@ -24,8 +24,8 @@
|
|
|
<!-- 第二行:性别、年龄 -->
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="性别:" prop="gender">
|
|
|
- <el-select v-model="formData.gender" placeholder="请选择" class="!w-full" :disabled="isReadonly">
|
|
|
+ <el-form-item label="性别:" prop="sex">
|
|
|
+ <el-select v-model="formData.sex" placeholder="请选择" class="!w-full" :disabled="isReadonly">
|
|
|
<el-option label="男" value="男" />
|
|
|
<el-option label="女" value="女" />
|
|
|
</el-select>
|
|
|
@@ -87,9 +87,9 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="所属部门:" prop="deptId">
|
|
|
+ <el-form-item label="所属部门:" prop="serviceDeptId">
|
|
|
<el-tree-select
|
|
|
- v-model="formData.deptId"
|
|
|
+ v-model="formData.serviceDeptId"
|
|
|
:data="deptList"
|
|
|
:props="defaultProps"
|
|
|
check-strictly
|
|
|
@@ -106,26 +106,27 @@
|
|
|
<el-row :gutter="10" style="width: 100%;">
|
|
|
<el-col :span="12">
|
|
|
<!-- 编辑/新增模式:使用级联选择器 -->
|
|
|
- <el-cascader
|
|
|
- v-if="!isReadonly"
|
|
|
- v-model="formData.areaCode"
|
|
|
- :options="areaTree"
|
|
|
- :props="defaultProps"
|
|
|
- placeholder="1.请选择省/市/街道"
|
|
|
- clearable
|
|
|
- filterable
|
|
|
- class="!w-full"
|
|
|
- />
|
|
|
+<!-- <el-cascader-->
|
|
|
+<!-- v-if="!isReadonly"-->
|
|
|
+<!-- v-model="formData.areaCode"-->
|
|
|
+<!-- :options="areaTree"-->
|
|
|
+<!-- :props="defaultProps"-->
|
|
|
+<!-- placeholder="1.请选择省/市/街道"-->
|
|
|
+<!-- clearable-->
|
|
|
+<!-- filterable-->
|
|
|
+<!-- class="!w-full"-->
|
|
|
+<!-- />-->
|
|
|
<!-- 详情模式:直接显示中文地址 -->
|
|
|
- <el-input
|
|
|
- v-else
|
|
|
- :model-value="getAreaName(formData.areaCode)"
|
|
|
- disabled
|
|
|
- class="!w-full"
|
|
|
- />
|
|
|
+<!-- <el-input-->
|
|
|
+<!-- v-else-->
|
|
|
+<!-- :model-value="getAreaName(formData.areaCode)"-->
|
|
|
+<!-- disabled-->
|
|
|
+<!-- class="!w-full"-->
|
|
|
+<!-- />-->
|
|
|
+ <el-input v-model="formData.liveAddress" placeholder="1.请输入省市区" :disabled="isReadonly" />
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-input v-model="formData.detailAddress" placeholder="2.请输入详细地址:如街道、小区、楼栋、单元、房号" :disabled="isReadonly" />
|
|
|
+ <el-input v-model="formData.liveDetail" placeholder="2.请输入详细地址:如街道、小区、楼栋、单元、房号" :disabled="isReadonly" />
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form-item>
|
|
|
@@ -175,14 +176,16 @@ const formData = ref({
|
|
|
id: undefined as number | undefined,
|
|
|
name: '',
|
|
|
idCard: '',
|
|
|
- gender: '',
|
|
|
+ sex: '',
|
|
|
age: '',
|
|
|
phone: '',
|
|
|
personType: '服务人员', // 默认服务人员
|
|
|
serviceAreaId: undefined as number | undefined,
|
|
|
- deptId: undefined as number | undefined, // 所属部门
|
|
|
+ serviceDeptId: undefined as number | undefined, // 所属部门
|
|
|
areaCode: [] as number[],
|
|
|
detailAddress: '',
|
|
|
+ liveAddress: '',
|
|
|
+ liveDetail: '',
|
|
|
avatar: ''
|
|
|
})
|
|
|
|
|
|
@@ -295,8 +298,8 @@ const open = async (type: string, id?: number) => {
|
|
|
formData.value = {
|
|
|
...data,
|
|
|
// 字段映射:后端字段 -> 表单字段
|
|
|
- gender: data.sex, // sex -> gender
|
|
|
- deptId: data.serviceDeptId, // serviceDeptId -> deptId
|
|
|
+ sex: data.sex, // sex -> gender
|
|
|
+ serviceDeptId: data.serviceDeptId, // serviceDeptId -> deptId
|
|
|
serviceAreaId: data.serviceAreaId ? Number(data.serviceAreaId) : undefined,
|
|
|
areaCode: data.areaCode ? data.areaCode.split(',').map(Number) : []
|
|
|
}
|
|
|
@@ -348,10 +351,13 @@ const submitForm = async () => {
|
|
|
id: formData.value.id,
|
|
|
name: formData.value.name,
|
|
|
idCard: formData.value.idCard,
|
|
|
- sex: formData.value.gender, // gender -> sex
|
|
|
+ sex: formData.value.sex, // gender -> sex
|
|
|
phone: formData.value.phone,
|
|
|
+ liveAddress: formData.value.liveAddress,
|
|
|
+ liveDetail: formData.value.liveDetail,
|
|
|
+ avatar: formData.value.avatar,
|
|
|
serviceAreaId: formData.value.serviceAreaId,
|
|
|
- serviceDeptId: formData.value.deptId // deptId -> serviceDeptId
|
|
|
+ serviceDeptId: formData.value.serviceDeptId // deptId -> serviceDeptId
|
|
|
}
|
|
|
|
|
|
if (formType.value === 'create') {
|
|
|
@@ -379,9 +385,11 @@ const resetForm = () => {
|
|
|
phone: '',
|
|
|
personType: '服务人员',
|
|
|
serviceAreaId: undefined,
|
|
|
- deptId: undefined,
|
|
|
+ serviceDeptId: undefined,
|
|
|
areaCode: [],
|
|
|
detailAddress: '',
|
|
|
+ liveAddress: '',
|
|
|
+ liveDetail: '',
|
|
|
avatar: ''
|
|
|
}
|
|
|
formRef.value?.resetFields()
|