Browse Source

完善服务回显

master
wang 9 months ago
parent
commit
e59a4bf40c
  1. BIN
      dist.zip
  2. 1
      src/views/business/erp/service/service-applications-form.vue
  3. 53
      src/views/mobile/service/detail.vue

BIN
dist.zip

Binary file not shown.

1
src/views/business/erp/service/service-applications-form.vue

@ -520,6 +520,7 @@
certificateNumber: undefined,
firmId: undefined, //执业机构ID
departmentName: undefined, //部门名称
positionId: undefined, //职务ID
serviceStart: undefined, //服务开始时间
serviceEnd: undefined, //服务结束时间
serviceDuration: undefined, //服务时长(小时)

53
src/views/mobile/service/detail.vue

@ -472,7 +472,7 @@ const currentActivityType = ref('');
// 计算属性:获取当前活动类型
const activityType = computed(() => {
return currentActivityType.value || '';
return currentActivityType.value || form.serviceType || '';
});
// 计算属性:获取当前活动
@ -484,7 +484,8 @@ const selectedActivity = computed(() => {
watch(
() => [form.serviceStart, form.serviceEnd],
([startTime, endTime]) => {
if (startTime && endTime) {
// 只有在非只读模式下且当前活动类型为DICT时才自动计算服务时长
if (!readonlyMode.value && activityType.value === 'DICT' && (startTime && endTime)) {
const start = dayjs(startTime);
const end = dayjs(endTime);
if (end.isAfter(start)) {
@ -495,7 +496,8 @@ watch(
form.serviceDuration = undefined;
message.warning('服务结束时间必须晚于开始时间');
}
} else {
} else if (!readonlyMode.value && activityType.value === 'DICT' && (!startTime || !endTime)) {
// 只有在非只读模式下且当前活动类型为DICT时才清空服务时长
form.serviceDuration = undefined;
}
},
@ -515,25 +517,28 @@ watch(
form.serviceType = selectedActivity.timeType || '';
// 根据活动类型设置默认服务时长
if (selectedActivity.timeType === 'TIME') {
// 检查活动是否有固定小时数(使用price字段)
if (selectedActivity.price) {
// 如果价格包含范围(有-),让用户自己填写
if (selectedActivity.price.includes('-')) {
form.serviceDuration = undefined;
// 只有在非只读模式下(即编辑模式)才设置默认服务时长
if (!readonlyMode.value) {
if (selectedActivity.timeType === 'TIME') {
// 检查活动是否有固定小时数(使用price字段)
if (selectedActivity.price) {
// 如果价格包含范围(有-),让用户自己填写
if (selectedActivity.price.includes('-')) {
// 保留现有值,不设为undefined
} else {
// 固定使用活动中的小时数
form.serviceDuration = parseFloat(selectedActivity.price);
}
} else {
// 固定使用活动中的小时数
form.serviceDuration = parseFloat(selectedActivity.price);
// 默认值
form.serviceDuration = 25;
}
} else {
// 默认值
form.serviceDuration = 25;
} else if (selectedActivity.timeType === 'AMOUT') {
// 保留现有值,不设为undefined
} else if (selectedActivity.timeType === 'DICT') {
// DICT类型:清空服务时长,让用户通过选择时间或手动填写
form.serviceDuration = undefined;
}
} else if (selectedActivity.timeType === 'AMOUT') {
form.serviceDuration = undefined;
} else if (selectedActivity.timeType === 'DICT') {
// DICT类型:清空服务时长,让用户通过选择时间或手动填写
form.serviceDuration = undefined;
}
}
} else {
@ -676,9 +681,19 @@ async function getDetail() {
} else {
console.log('未找到对应的活动:', form.activityNameId)
console.log('活动列表:', activityList.value)
// 使用form.serviceType作为后备
if (form.serviceType) {
currentActivityType.value = form.serviceType
console.log('使用form.serviceType作为后备活动类型:', form.serviceType)
}
}
} else {
console.log('活动名称ID或活动列表为空:', form.activityNameId, activityList.value.length)
// 使用form.serviceType作为后备
if (form.serviceType) {
currentActivityType.value = form.serviceType
console.log('使用form.serviceType作为后备活动类型:', form.serviceType)
}
}
// 如果有附件ID,则加载文件列表(与PC端逻辑一致)

Loading…
Cancel
Save