|
|
@@ -9,9 +9,9 @@
|
|
|
<!-- 长者信息选择 -->
|
|
|
<div class="section-title">长者信息</div>
|
|
|
|
|
|
- <el-form-item label="长者姓名" prop="elderId">
|
|
|
+ <el-form-item label="长者姓名" prop="homeElderId">
|
|
|
<el-select
|
|
|
- v-model="formData.elderId"
|
|
|
+ v-model="formData.homeElderId"
|
|
|
placeholder="请输入长者姓名搜索"
|
|
|
class="w-full"
|
|
|
filterable
|
|
|
@@ -126,19 +126,19 @@
|
|
|
class="w-full"
|
|
|
:disabled="isDetailMode"
|
|
|
>
|
|
|
- <el-option label="报警" value="报警" />
|
|
|
- <el-option label="电话咨询" value="电话咨询" />
|
|
|
- <el-option label="自主下单" value="自主下单" />
|
|
|
- <el-option label="上门关怀" value="上门关怀" />
|
|
|
- <el-option label="工单详情下单" value="工单详情下单" />
|
|
|
- <el-option label="长者小程序下单" value="长者小程序下单" />
|
|
|
- <el-option label="守护中心下单" value="守护中心下单" />
|
|
|
+ <el-option label="报警" :value="0" />
|
|
|
+ <el-option label="电话咨询" :value="1" />
|
|
|
+ <el-option label="自主下单" :value="2" />
|
|
|
+ <el-option label="上门关怀" :value="3" />
|
|
|
+ <el-option label="工单详情下单" :value="4" />
|
|
|
+ <el-option label="长者小程序下单" :value="5" />
|
|
|
+ <el-option label="守护中心下单" :value="6" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="服务人员" prop="servicePersonId">
|
|
|
+ <el-form-item label="服务人员" prop="serviceMemberId">
|
|
|
<el-select
|
|
|
- v-model="formData.servicePersonId"
|
|
|
+ v-model="formData.serviceMemberId"
|
|
|
placeholder="请选择服务人员"
|
|
|
clearable
|
|
|
class="w-full"
|
|
|
@@ -167,9 +167,9 @@
|
|
|
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="上门开始时间" prop="visitStartTime">
|
|
|
+ <el-form-item label="上门开始时间" prop="serviceStartTime">
|
|
|
<el-date-picker
|
|
|
- v-model="formData.visitStartTime"
|
|
|
+ v-model="formData.serviceStartTime"
|
|
|
type="datetime"
|
|
|
placeholder="选择上门开始时间"
|
|
|
class="w-full"
|
|
|
@@ -180,9 +180,9 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="上门结束时间" prop="visitEndTime">
|
|
|
+ <el-form-item label="上门结束时间" prop="serviceEndTime">
|
|
|
<el-date-picker
|
|
|
- v-model="formData.visitEndTime"
|
|
|
+ v-model="formData.serviceEndTime"
|
|
|
type="datetime"
|
|
|
placeholder="选择上门结束时间"
|
|
|
class="w-full"
|
|
|
@@ -279,67 +279,11 @@
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <!-- 详情模式下显示额外信息 -->
|
|
|
- <template v-if="isDetailMode && detailData">
|
|
|
- <div class="section-title">其他信息</div>
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="下单时间">
|
|
|
- <el-input v-model="detailData.orderTime" disabled />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="是否过期">
|
|
|
- <el-input :value="detailData.isExpired === '是' ? '是' : '否'" disabled />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="工单状态">
|
|
|
- <el-input v-model="detailData.status" disabled />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </template>
|
|
|
+
|
|
|
+
|
|
|
</el-form>
|
|
|
|
|
|
- <!-- 后端提交参数说明 -->
|
|
|
- <el-divider content-position="left">后端接口参数说明</el-divider>
|
|
|
- <el-descriptions :column="2" border size="small" class="field-description">
|
|
|
- <el-descriptions-item label="elderId" :span="1">长者ID(number,必填)</el-descriptions-item>
|
|
|
- <el-descriptions-item label="elderName" :span="1">长者姓名(string,必填)</el-descriptions-item>
|
|
|
-
|
|
|
- <el-descriptions-item label="gender" :span="1">性别(string,男/女)</el-descriptions-item>
|
|
|
- <el-descriptions-item label="age" :span="1">年龄(number)</el-descriptions-item>
|
|
|
-
|
|
|
- <el-descriptions-item label="phone" :span="1">手机号码(string)</el-descriptions-item>
|
|
|
- <el-descriptions-item label="address" :span="1">居住地址(string)</el-descriptions-item>
|
|
|
-
|
|
|
- <el-descriptions-item label="orderType" :span="1">下单方式(string,必填)</el-descriptions-item>
|
|
|
- <el-descriptions-item label="servicePersonId" :span="1">服务人员ID(number,必填)</el-descriptions-item>
|
|
|
-
|
|
|
- <el-descriptions-item label="servicePersonName" :span="1">服务人员姓名(string,必填)</el-descriptions-item>
|
|
|
- <el-descriptions-item label="orderTime" :span="1">下单时间(string,YYYY-MM-DD HH:mm:ss)</el-descriptions-item>
|
|
|
-
|
|
|
- <el-descriptions-item label="visitStartTime" :span="1">上门开始时间(string,YYYY-MM-DD HH:mm:ss)</el-descriptions-item>
|
|
|
- <el-descriptions-item label="visitEndTime" :span="1">上门结束时间(string,YYYY-MM-DD HH:mm:ss)</el-descriptions-item>
|
|
|
-
|
|
|
- <el-descriptions-item label="serviceDuration" :span="1">服务时长(number,分钟)</el-descriptions-item>
|
|
|
- <el-descriptions-item label="projectAmount" :span="1">项目金额(number,元)</el-descriptions-item>
|
|
|
-
|
|
|
- <el-descriptions-item label="subsidyAmount" :span="1">补贴金额(number,元,默认等于项目金额)</el-descriptions-item>
|
|
|
- <el-descriptions-item label="selfPayAmount" :span="1">自费金额(number,元,默认为0)</el-descriptions-item>
|
|
|
-
|
|
|
- <el-descriptions-item label="serviceItems" :span="2">
|
|
|
- <div>服务项目列表(array,必填)</div>
|
|
|
- <div style="margin-top: 5px; color: #606266; font-size: 12px;">
|
|
|
- 每项包含:id(项目ID)、itemName(项目名称)、amount(金额)
|
|
|
- </div>
|
|
|
- </el-descriptions-item>
|
|
|
-
|
|
|
- <el-descriptions-item label="remark" :span="2">工单备注(string)</el-descriptions-item>
|
|
|
- </el-descriptions>
|
|
|
+
|
|
|
|
|
|
<template #footer>
|
|
|
<el-button @click="dialogVisible = false">{{ isDetailMode ? '关闭' : '取消' }}</el-button>
|
|
|
@@ -350,6 +294,7 @@
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
import * as ElderApi from '@/api/living-home/elderly'
|
|
|
+import {getElderDetail} from "@/api/living-home/elderly";
|
|
|
|
|
|
const emit = defineEmits(['success'])
|
|
|
|
|
|
@@ -370,36 +315,36 @@ const selectedElder = ref<any>(null)
|
|
|
|
|
|
const formData = reactive({
|
|
|
id: undefined as number | undefined,
|
|
|
- elderId: undefined as number | undefined,
|
|
|
+ homeElderId: undefined as number | undefined,
|
|
|
elderName: '',
|
|
|
gender: '',
|
|
|
age: undefined as number | undefined,
|
|
|
phone: '',
|
|
|
address: '',
|
|
|
- orderType: '电话咨询', // 默认使用电话咨询
|
|
|
- servicePersonId: undefined as number | undefined,
|
|
|
+ orderType: 1, // 默认0
|
|
|
+ serviceMemberId: undefined as number | undefined,
|
|
|
servicePersonName: '',
|
|
|
- serviceItemIds: [] as number[], // 服务项目ID
|
|
|
+ serviceItemIds: [] as number[], // 服务项目ID列表
|
|
|
orderTime: '', // 下单时间
|
|
|
- visitStartTime: '', // 上门开始时间
|
|
|
- visitEndTime: '', // 上门结束时间
|
|
|
+ serviceStartTime: '', // 上门开始时间
|
|
|
+ serviceEndTime: '', // 上门结束时间
|
|
|
serviceDuration: undefined as number | undefined, // 服务时长(分钟)
|
|
|
- serviceItems: [] as number[], // 服务项目ID列表
|
|
|
projectAmount: 0, // 项目金额,默认为0
|
|
|
subsidyAmount: 0, // 补贴金额,默认为0
|
|
|
selfPayAmount: 0, // 自费金额,默认为0
|
|
|
subsidyArrivalDate: '', // 补贴到账日期
|
|
|
- remark: ''
|
|
|
+ remark: '',
|
|
|
+ type: 0 // 默认0
|
|
|
})
|
|
|
|
|
|
const formRules = {
|
|
|
- elderId: [{ required: true, message: '请选择长者', trigger: 'change' }],
|
|
|
+ homeElderId: [{ required: true, message: '请选择长者', trigger: 'change' }],
|
|
|
serviceItems: [{ required: true, message: '请选择服务项目', trigger: 'change', type: 'array' }],
|
|
|
orderType: [{ required: true, message: '请选择下单方式', trigger: 'change' }],
|
|
|
- servicePersonId: [{ required: true, message: '请选择服务人员', trigger: 'change' }],
|
|
|
+ serviceMemberId: [{ required: true, message: '请选择服务人员', trigger: 'change' }],
|
|
|
orderTime: [{ required: true, message: '请选择下单时间', trigger: 'change' }],
|
|
|
- visitStartTime: [{ required: true, message: '请选择上门开始时间', trigger: 'change' }],
|
|
|
- visitEndTime: [{ required: true, message: '请选择上门结束时间', trigger: 'change' }],
|
|
|
+ serviceStartTime: [{ required: true, message: '请选择上门开始时间', trigger: 'change' }],
|
|
|
+ serviceEndTime: [{ required: true, message: '请选择上门结束时间', trigger: 'change' }],
|
|
|
serviceDuration: [{ required: true, message: '请输入服务时长', trigger: 'change' }],
|
|
|
projectAmount: [{ required: true, message: '请输入项目金额', trigger: 'change' }]
|
|
|
}
|
|
|
@@ -498,15 +443,15 @@ const calculateEndTime = (startTime: string, durationMinutes: number): string =>
|
|
|
|
|
|
// 上门开始时间变化
|
|
|
const handleVisitStartTimeChange = () => {
|
|
|
- if (formData.visitStartTime && formData.serviceDuration) {
|
|
|
- formData.visitEndTime = calculateEndTime(formData.visitStartTime, formData.serviceDuration)
|
|
|
+ if (formData.serviceStartTime && formData.serviceDuration) {
|
|
|
+ formData.serviceEndTime = calculateEndTime(formData.serviceStartTime, formData.serviceDuration)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 上门结束时间变化
|
|
|
const handleVisitEndTimeChange = () => {
|
|
|
- if (formData.visitStartTime && formData.visitEndTime) {
|
|
|
- const duration = calculateDuration(formData.visitStartTime, formData.visitEndTime)
|
|
|
+ if (formData.serviceStartTime && formData.serviceEndTime) {
|
|
|
+ const duration = calculateDuration(formData.serviceStartTime, formData.serviceEndTime)
|
|
|
if (duration > 0) {
|
|
|
formData.serviceDuration = duration
|
|
|
}
|
|
|
@@ -515,8 +460,8 @@ const handleVisitEndTimeChange = () => {
|
|
|
|
|
|
// 服务时长变化
|
|
|
const handleDurationChange = () => {
|
|
|
- if (formData.visitStartTime && formData.serviceDuration) {
|
|
|
- formData.visitEndTime = calculateEndTime(formData.visitStartTime, formData.serviceDuration)
|
|
|
+ if (formData.serviceStartTime && formData.serviceDuration) {
|
|
|
+ formData.serviceEndTime = calculateEndTime(formData.serviceStartTime, formData.serviceDuration)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -601,65 +546,139 @@ const toggleServiceItem = (item: any) => {
|
|
|
// 打开弹窗
|
|
|
const open = async (row?: any, mode: 'create' | 'edit' | 'detail' = 'create') => {
|
|
|
dialogMode.value = mode
|
|
|
- dialogVisible.value = true
|
|
|
- resetForm()
|
|
|
+
|
|
|
+ // 新增模式先重置表单,避免显示上一次的值
|
|
|
+ if (!row || mode === 'create') {
|
|
|
+ resetForm()
|
|
|
+ }
|
|
|
|
|
|
// 加载服务人员列表和服务项目列表
|
|
|
await getServicePersonList()
|
|
|
await getServiceItemList()
|
|
|
+
|
|
|
+ // 新增模式下,确保服务项目选中状态被清空(因为getServiceItemList可能会触发响应式更新)
|
|
|
+ if (!row || mode === 'create') {
|
|
|
+ selectedServiceItems.value = []
|
|
|
+ formData.serviceItemIds = []
|
|
|
+ }
|
|
|
|
|
|
- if (row && (mode === 'edit' || mode === 'detail')) {
|
|
|
- // 回填数据
|
|
|
- await fillFormData(row)
|
|
|
- detailData.value = row
|
|
|
+ if (row && (mode === 'edit' || mode === 'detail') && row.id) {
|
|
|
+ // 调用接口获取最新详情数据
|
|
|
+ try {
|
|
|
+ const res = await ElderApi.getAppointment(row.id)
|
|
|
+ if (res) {
|
|
|
+ await fillFormData(res)
|
|
|
+ detailData.value = res
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ console.log('获取详情失败', error)
|
|
|
+ // 接口失败时使用传入的row数据
|
|
|
+ await fillFormData(row)
|
|
|
+ detailData.value = row
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+ // 最后才显示弹窗
|
|
|
+ dialogVisible.value = true
|
|
|
+}
|
|
|
+
|
|
|
+// 13位时间戳转日期时间字符串
|
|
|
+const timestampToDateStr = (timestamp: number | string | undefined): string => {
|
|
|
+ if (!timestamp) return ''
|
|
|
+ const ts = typeof timestamp === 'string' ? parseInt(timestamp) : timestamp
|
|
|
+ if (isNaN(ts)) return ''
|
|
|
+ const date = new Date(ts)
|
|
|
+ if (isNaN(date.getTime())) return ''
|
|
|
+ const year = date.getFullYear()
|
|
|
+ const month = String(date.getMonth() + 1).padStart(2, '0')
|
|
|
+ const day = String(date.getDate()).padStart(2, '0')
|
|
|
+ const hours = String(date.getHours()).padStart(2, '0')
|
|
|
+ const minutes = String(date.getMinutes()).padStart(2, '0')
|
|
|
+ const seconds = String(date.getSeconds()).padStart(2, '0')
|
|
|
+ return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
|
|
|
}
|
|
|
|
|
|
// 回填表单数据
|
|
|
const fillFormData = async (row: any) => {
|
|
|
formData.id = row.id
|
|
|
- formData.elderId = row.elderId
|
|
|
- formData.elderName = row.elderName
|
|
|
- formData.gender = row.gender
|
|
|
- formData.age = row.age
|
|
|
- formData.phone = row.phone
|
|
|
- formData.address = row.address
|
|
|
- formData.orderType = row.orderType
|
|
|
- formData.servicePersonId = row.servicePersonId
|
|
|
+ formData.orderType = row.orderType ?? 1
|
|
|
+ formData.serviceMemberId = row.serviceMemberId ?? row.servicePersonId
|
|
|
formData.servicePersonName = row.servicePersonName
|
|
|
- formData.orderTime = row.orderTime
|
|
|
- formData.visitStartTime = row.visitStartTime || row.visitTime
|
|
|
- formData.visitEndTime = row.visitEndTime
|
|
|
+ // 时间戳转日期字符串
|
|
|
+ formData.orderTime = timestampToDateStr(row.orderTime) || row.orderTime
|
|
|
+ formData.serviceStartTime = timestampToDateStr(row.serviceStartTime) || row.visitStartTime || row.visitTime
|
|
|
+ formData.serviceEndTime = timestampToDateStr(row.serviceEndTime) || row.visitEndTime
|
|
|
formData.serviceDuration = row.serviceDuration
|
|
|
formData.projectAmount = row.projectAmount || 0
|
|
|
formData.subsidyAmount = row.subsidyAmount || row.projectAmount || 0
|
|
|
formData.selfPayAmount = row.selfPayAmount || 0
|
|
|
formData.subsidyArrivalDate = row.subsidyArrivalDate || ''
|
|
|
formData.remark = row.remark || ''
|
|
|
+ formData.type = row.type ?? 0
|
|
|
|
|
|
// 回填服务项目
|
|
|
- if (row.serviceItems && row.serviceItems.length > 0) {
|
|
|
+ if (row.serviceItemIds && row.serviceItemIds.length > 0) {
|
|
|
+ formData.serviceItemIds = row.serviceItemIds
|
|
|
+ formData.serviceItems = row.serviceItemIds // 同时设置serviceItems用于表单验证
|
|
|
+ // 从列表中找到对应的服务项目
|
|
|
+ selectedServiceItems.value = serviceItemList.value.filter(item => row.serviceItemIds.includes(item.id))
|
|
|
+ } else if (row.serviceItems && row.serviceItems.length > 0) {
|
|
|
const itemIds = row.serviceItems.map((item: any) => typeof item === 'object' ? item.id : item)
|
|
|
- formData.serviceItems = itemIds
|
|
|
formData.serviceItemIds = itemIds
|
|
|
+ formData.serviceItems = itemIds // 同时设置serviceItems用于表单验证
|
|
|
// 从列表中找到对应的服务项目
|
|
|
selectedServiceItems.value = serviceItemList.value.filter(item => itemIds.includes(item.id))
|
|
|
} else {
|
|
|
- formData.serviceItems = []
|
|
|
formData.serviceItemIds = []
|
|
|
+ formData.serviceItems = []
|
|
|
selectedServiceItems.value = []
|
|
|
}
|
|
|
|
|
|
- // 设置选中的长者信息
|
|
|
- selectedElder.value = {
|
|
|
- id: row.elderId,
|
|
|
- elderName: row.elderName,
|
|
|
- sex: row.gender === '男' ? '1' : '2',
|
|
|
- age: row.age,
|
|
|
- phone: row.phone,
|
|
|
- currentLiveAddress: row.address
|
|
|
+ // 根据长者ID查询长者详细信息
|
|
|
+ const elderId = row.homeElderId || row.elderId
|
|
|
+ if (elderId) {
|
|
|
+ try {
|
|
|
+ const elderRes = await getElderDetail(elderId)
|
|
|
+ if (elderRes) {
|
|
|
+ formData.homeElderId = elderRes.id
|
|
|
+ formData.elderName = elderRes.elderName
|
|
|
+ formData.gender = elderRes.sex === '1' ? '男' : '女'
|
|
|
+ formData.age = elderRes.age
|
|
|
+ formData.phone = elderRes.phone
|
|
|
+ formData.address = elderRes.currentLiveAddress
|
|
|
+
|
|
|
+ // 设置选中的长者信息
|
|
|
+ selectedElder.value = {
|
|
|
+ id: elderRes.id,
|
|
|
+ elderName: elderRes.elderName,
|
|
|
+ sex: elderRes.sex,
|
|
|
+ age: elderRes.age,
|
|
|
+ phone: elderRes.phone,
|
|
|
+ currentLiveAddress: elderRes.currentLiveAddress
|
|
|
+ }
|
|
|
+ elderSearchOptions.value = [selectedElder.value]
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ console.log('获取长者详情失败', error)
|
|
|
+ // 使用后端返回的数据作为回退
|
|
|
+ formData.homeElderId = row.homeElderId || row.elderId
|
|
|
+ formData.elderName = row.homeElderName || row.elderName || ''
|
|
|
+ formData.gender = row.gender || ''
|
|
|
+ formData.age = row.age
|
|
|
+ formData.phone = row.phone || ''
|
|
|
+ formData.address = row.address || ''
|
|
|
+
|
|
|
+ selectedElder.value = {
|
|
|
+ id: row.homeElderId || row.elderId,
|
|
|
+ elderName: row.homeElderName || row.elderName || '',
|
|
|
+ sex: row.gender === '男' ? '1' : '2',
|
|
|
+ age: row.age,
|
|
|
+ phone: row.phone || '',
|
|
|
+ currentLiveAddress: row.address || ''
|
|
|
+ }
|
|
|
+ elderSearchOptions.value = selectedElder.value ? [selectedElder.value] : []
|
|
|
+ }
|
|
|
}
|
|
|
- elderSearchOptions.value = [selectedElder.value]
|
|
|
}
|
|
|
|
|
|
// 获取当前时间格式化
|
|
|
@@ -677,26 +696,26 @@ const getCurrentDateTime = (): string => {
|
|
|
// 重置表单
|
|
|
const resetForm = () => {
|
|
|
formData.id = undefined
|
|
|
- formData.elderId = undefined
|
|
|
+ formData.homeElderId = undefined
|
|
|
formData.elderName = ''
|
|
|
formData.gender = ''
|
|
|
formData.age = undefined
|
|
|
formData.phone = ''
|
|
|
formData.address = ''
|
|
|
- formData.orderType = '电话咨询'
|
|
|
- formData.servicePersonId = undefined
|
|
|
+ formData.orderType = 1
|
|
|
+ formData.serviceMemberId = undefined
|
|
|
formData.servicePersonName = ''
|
|
|
formData.orderTime = getCurrentDateTime() // 默认当前时间
|
|
|
- formData.visitStartTime = ''
|
|
|
- formData.visitEndTime = ''
|
|
|
+ formData.serviceStartTime = ''
|
|
|
+ formData.serviceEndTime = ''
|
|
|
formData.serviceDuration = undefined
|
|
|
- formData.serviceItems = []
|
|
|
formData.serviceItemIds = []
|
|
|
selectedServiceItems.value = []
|
|
|
serviceItemSearchKeyword.value = ''
|
|
|
formData.projectAmount = 0
|
|
|
formData.subsidyAmount = 0
|
|
|
formData.selfPayAmount = 0
|
|
|
+ formData.type = 0
|
|
|
formData.remark = ''
|
|
|
|
|
|
selectedElder.value = null
|
|
|
@@ -707,6 +726,14 @@ const resetForm = () => {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+// 日期时间转13位时间戳
|
|
|
+const dateToTimestamp = (dateStr: string): number | undefined => {
|
|
|
+ if (!dateStr) return undefined
|
|
|
+ const date = new Date(dateStr)
|
|
|
+ if (isNaN(date.getTime())) return undefined
|
|
|
+ return date.getTime()
|
|
|
+}
|
|
|
+
|
|
|
// 提交表单
|
|
|
const handleSubmit = async () => {
|
|
|
const valid = await formRef.value?.validate().catch(() => false)
|
|
|
@@ -715,17 +742,20 @@ const handleSubmit = async () => {
|
|
|
submitLoading.value = true
|
|
|
try {
|
|
|
// 获取选中的服务人员名称
|
|
|
- const servicePerson = servicePersonList.value.find(item => item.id === formData.servicePersonId)
|
|
|
+ const servicePerson = servicePersonList.value.find(item => item.id === formData.serviceMemberId)
|
|
|
const servicePersonName = servicePerson?.name || ''
|
|
|
|
|
|
const data = {
|
|
|
...formData,
|
|
|
servicePersonName,
|
|
|
- serviceItems: selectedServiceItems.value.map(item => ({
|
|
|
- id: item.id,
|
|
|
- itemName: item.itemName,
|
|
|
- amount: item.amount
|
|
|
- }))
|
|
|
+ serviceItemIds: selectedServiceItems.value.map(item => item.id),
|
|
|
+ // 时间字段转换为13位时间戳
|
|
|
+ orderTime: dateToTimestamp(formData.orderTime),
|
|
|
+ serviceStartTime: dateToTimestamp(formData.serviceStartTime),
|
|
|
+ serviceEndTime: dateToTimestamp(formData.serviceEndTime),
|
|
|
+ // 后端需要的字段名
|
|
|
+ homeElderId: formData.elderId,
|
|
|
+ homeElderName: formData.elderName
|
|
|
}
|
|
|
|
|
|
if (dialogMode.value === 'edit' && formData.id) {
|
|
|
@@ -893,4 +923,4 @@ defineExpose({ open })
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-</style>
|
|
|
+</style>
|