From 53aab22013a0092f5d3a8ad4758166fb355896c7 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期二, 19 十一月 2024 18:24:55 +0800 Subject: [PATCH] 手动预约时间段 选择 --- src/views/ecg/appointment/CheckItemPanel.vue | 30 +++++++++++++++++++++++++++--- 1 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/views/ecg/appointment/CheckItemPanel.vue b/src/views/ecg/appointment/CheckItemPanel.vue index 8fe2bd4..4353077 100644 --- a/src/views/ecg/appointment/CheckItemPanel.vue +++ b/src/views/ecg/appointment/CheckItemPanel.vue @@ -2,9 +2,10 @@ import {defineComponent, PropType} from "vue"; import {useCheckTypeStore} from "@/store/modules/checkType"; import {AppointmentApi, AppointmentVO} from "@/api/ecg/appointment"; -import {dateFormatter2, formatDate} from "@/utils/formatTime"; import {formatTimeslot} from "@/utils/formatter"; import {isCurrentDay} from "@/utils/dateUtil"; +import {QueueSequenceApi, QueueSequenceVO} from "@/api/ecg/queuesequence"; +import {formatDate} from "../../../utils/formatTime"; defineComponent({ name: 'CheckItemPanel' @@ -18,6 +19,9 @@ }) const checkTypeStore = useCheckTypeStore(); + +const checkTypeTimeslotList = ref<QueueSequenceVO>() +const bookTimeSlotVip = ref<number>() const _confirmAppointment = async () => { if (!isCurrentDay(props.appointment.bookDate)) { @@ -35,7 +39,10 @@ type: 'success', message: 'Delete completed', }) - const data = await AppointmentApi.confirmAppointmentVip(props.appointment) + + const tempAppointment = cloneDeep(props.appointment) + tempAppointment.bookTimeslot = bookTimeSlotVip + const data = await AppointmentApi.confirmAppointmentVip(tempAppointment) ElNotification({ title: '娓╅Θ鎻愮ず', message: data, @@ -58,13 +65,30 @@ } } +onMounted( async () => { + const data = await QueueSequenceApi.getTimeslotByCheckType(props.appointment.bookCheckType) + console.info( data ) + checkTypeTimeslotList.value = data +}) + </script> <template> <el-card style="width: 200px" shadow="hover" > <template #header>{{checkTypeStore.getCheckTypeName(appointment.bookCheckType)}}</template> <div>{{formatDate(appointment.bookDate, 'YYYY-MM-DD')}}</div> - <div>{{formatTimeslot(appointment.bookTimeslot)}}</div> + + <div v-if="isCurrentDay(appointment.bookDate)">{{formatTimeslot(appointment.bookTimeslot)}}</div> + <el-select v-else v-model="bookTimeSlotVip" placeholder="璇烽�夋嫨棰勭害鏃堕棿娈�"> + <el-option + v-for="item in checkTypeTimeslotList" + :key="item.id" + :label="formatTimeslot(item.timeSlot)" + :value="item.timeSlot" + :disabled="item.queueVipNo === item.queueVipFull" + /> + </el-select> + <el-divider/> <el-button :type="isCurrentDay(appointment.bookDate)?'primary':'warning'" @click="_confirmAppointment"><Icon icon="ep:refresh" class="mr-5px" /> 鎺掗槦 </el-button> </el-card> -- Gitblit v1.9.3