|
|
|
@ -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端逻辑一致) |
|
|
|
|