完善功能

This commit is contained in:
wangxiaowei
2026-03-31 21:58:51 +08:00
parent 9569903e0a
commit efe44f4ade
14 changed files with 481 additions and 80 deletions

View File

@ -33,26 +33,37 @@
<el-form-item label="体重" prop="weight">
<el-input v-model="formData.weight" clearable placeholder="请输入体重" disabled />
</el-form-item>
<el-form-item label="专属圈子" prop="weight">
<div>
<span class="mr-2" v-for="(item, index) in labelMsg" :key="index"> {{ item.label_name
}}</span>
</div>
</el-form-item>
<el-form-item label="茶艺师资格证书" prop="license_img">
<el-image style="width: 100px; height: 100px" :src="formData.license_img" :zoom-rate="1.2"
:max-scale="7" :min-scale="0.2" :preview-src-list="[formData.license_img]" show-progress
:initial-index="4" fit="cover" />
<!-- <material-picker v-model="formData.license_img" /> -->
</el-form-item>
<el-form-item label="个人头像照片" prop="avatar">
<el-image style="width: 100px; height: 100px" :src="formData.avatar" :zoom-rate="1.2" :max-scale="7"
:min-scale="0.2" :preview-src-list="[formData.avatar]" show-progress :initial-index="4"
fit="cover" />
</el-form-item>
<el-form-item label="健康证" prop="health_certificate" v-if="formData.health_certificate">
<el-image style="width: 100px; height: 100px" :src="formData.health_certificate" :zoom-rate="1.2"
:max-scale="7" :min-scale="0.2" :preview-src-list="[formData.health_certificate]" show-progress
:initial-index="4" fit="cover" />
<el-form-item label="健康证" prop="health_certificate">
<el-image v-if="formData.health_certificate" style="width: 100px; height: 100px"
:src="formData.health_certificate" :zoom-rate="1.2" :max-scale="7" :min-scale="0.2"
:preview-src-list="[formData.health_certificate]" show-progress :initial-index="4"
fit="cover" />
<div v-else>未上传</div>
</el-form-item>
<el-form-item label="个人展示" prop="avatar">
<el-image v-for="(item, index) in formData.information" :key="index"
style="width: 100px; height: 100px" :src="item" :zoom-rate="1.2" :max-scale="7" :min-scale="0.2"
:preview-src-list="formData.information" show-progress :initial-index="4" fit="cover" />
<el-image v-if="formData.information.length > 0" v-for="(item, index) in formData.information"
:key="index" style="width: 100px; height: 100px" :src="item" :zoom-rate="1.2" :max-scale="7"
:min-scale="0.2" :preview-src-list="formData.information" show-progress :initial-index="4"
fit="cover" />
<div v-else>未上传</div>
</el-form-item>
<!-- <el-form-item label="兴趣爱好" prop="hobby_introduce">
@ -87,10 +98,11 @@ const formRef = shallowRef<FormInstance>()
const popupRef = shallowRef<InstanceType<typeof Popup>>()
const mode = ref('add')
const labelMsg = ref([])
// 弹窗标题
const popupTitle = computed(() => {
return mode.value == 'edit' ? '编辑茶艺师审核' : '新增茶艺师审核'
return mode.value = '茶艺师审核'
})
// 表单数据
@ -112,46 +124,47 @@ const formData = reactive({
license_img: '',
hobby_introduce: '',
status: '',
label_id: ''
})
// 表单验证
const formRules = reactive<any>({
city_id: [{
required: true,
message: '请输入城市id',
trigger: ['blur']
}],
nickname: [{
required: true,
message: '请输入昵称',
trigger: ['blur']
}],
gender: [{
required: true,
message: '请选择1男2女',
trigger: ['blur']
}],
both: [{
required: true,
message: '请输入出生年月',
trigger: ['blur']
}],
height: [{
required: true,
message: '请输入身高',
trigger: ['blur']
}],
weight: [{
required: true,
message: '请输入体重',
trigger: ['blur']
}],
status: [{
required: true,
message: '请选择0待审核1已通过2已驳回',
trigger: ['blur']
}]
// city_id: [{
// required: true,
// message: '请输入城市id',
// trigger: ['blur']
// }],
// nickname: [{
// required: true,
// message: '请输入昵称',
// trigger: ['blur']
// }],
// gender: [{
// required: true,
// message: '请选择1男2女',
// trigger: ['blur']
// }],
// both: [{
// required: true,
// message: '请输入出生年月',
// trigger: ['blur']
// }],
// height: [{
// required: true,
// message: '请输入身高',
// trigger: ['blur']
// }],
// weight: [{
// required: true,
// message: '请输入体重',
// trigger: ['blur']
// }],
// status: [{
// required: true,
// message: '请选择0待审核1已通过2已驳回',
// trigger: ['blur']
// }]
})
@ -171,6 +184,8 @@ const setFormData = async (data: Record<any, any>) => {
formData.bohui_time = timeFormat(formData.bohui_time, 'yyyy-mm-dd hh:MM:ss')
//@ts-ignore
formData.create_time = timeFormat(formData.create_time, 'yyyy-mm-dd hh:MM:ss')
labelMsg.value = data.label_msg
}
const getDetail = async (row: Record<string, any>) => {