完善功能

This commit is contained in:
wangxiaowei
2026-04-03 15:02:22 +08:00
parent 0125218013
commit 6a4a8ecb42
12 changed files with 604 additions and 8 deletions

View File

@ -82,11 +82,18 @@
</el-select>
</el-form-item>
<el-form-item label="所属城市" prop="city_id">
<el-select v-model="formData.city_id" clearable placeholder="请选择">
<el-select v-model="formData.city_id" clearable placeholder="请选择" @change="handleCityChange">
<el-option :label="item.name" :value="item.id" v-for="item in cityList"
:key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="经纪人" prop="broker_user_id">
<el-select v-model="formData.broker_user_id" clearable placeholder="请选择">
<el-option :label="item.name" :value="item.id" v-for="item in brokerList"
:key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="地址" prop="longitude">
<el-input v-model="formData.address" clearable placeholder="请输入地址" />
</el-form-item>
@ -122,7 +129,7 @@
<script lang="ts" setup name="teamasterUserEdit">
import Popup from '@/components/popup/index.vue'
import { apiTeamasterUserAdd, apiTeamasterUserEdit, apiTeamasterUserDetail, apiLabel } from '@/api/teamaster_user'
import { apiTeamasterUserAdd, apiTeamasterUserEdit, apiTeamasterUserDetail, apiLabel, apiBrokerList } from '@/api/teamaster_user'
import { timeFormat, removeImageUrlPrefix, normalizeImageUrl } from '@/utils/util'
import type { PropType } from 'vue'
import { apiTeaStoreCityLists } from '@/api/tea_store'
@ -193,6 +200,7 @@ const formData = reactive({
information: '',
health_certificate: '',
label_id: '',
broker_user_id: '',
})
// 城市列表
@ -224,6 +232,9 @@ const setFormData = async (data: Record<any, any>) => {
}
}
const broker_user_id = formData.broker_user_id
await handleCityChange(formData.city_id) // 获取经纪人列表
formData.broker_user_id = broker_user_id
//@ts-ignore
// formData.avatar = normalizeImageUrl(formData.avatar)
formData.label_id = formData.label_id ? formData.label_id.split(',') : []
@ -275,6 +286,18 @@ const handleClose = () => {
emit('close')
}
const brokerList = ref<any[]>([])
// 城市切换时获取经纪人列表
const handleCityChange = async (cityId: string | number) => {
try {
const res = await apiBrokerList({ city_id: cityId })
brokerList.value = res
formData.broker_user_id = '' // 切换城市后清空已选择的经纪人
} catch (e) {
// 处理异常
}
}
defineExpose({
open,