From 348e6bcdc7fa566a48b96dea53d24ec6dda49e1d Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期五, 11 四月 2025 18:06:40 +0800
Subject: [PATCH] update
---
src/views/ecg/appointment/AppointmentConfirm.vue | 225 +++++++++++++++++++++++++++-----------------------------
1 files changed, 108 insertions(+), 117 deletions(-)
diff --git a/src/views/ecg/appointment/AppointmentConfirm.vue b/src/views/ecg/appointment/AppointmentConfirm.vue
index f795312..b0adea6 100644
--- a/src/views/ecg/appointment/AppointmentConfirm.vue
+++ b/src/views/ecg/appointment/AppointmentConfirm.vue
@@ -1,9 +1,15 @@
<template>
- <el-form-item label="鎮h�呯紪鍙�">
- <el-input v-model="queryParams.patId" placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" clearable @input="searchBookInfo"/>
- </el-form-item>
+ <div style="display: flex; justify-content: center; ">
+ <el-form-item label="鎮h�呯紪鍙�" >
+ <el-input v-model="queryParams.patId" placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" clearable @input="searchBookInfo" />
+ </el-form-item>
+ </div>
- <el-button @click="_confirmAppointment"><Icon icon="ep:refresh" class="mr-5px" /> 鎺掗槦 </el-button>
+ <div style="display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 20px">
+ <div v-for="(_appointment, index) in appointmentVOList" :key="index">
+ <CheckItemPanel :appointment="_appointment" @event_appoint_confirm="onEventAppointConfirm"/>
+ </div>
+ </div>
<el-divider/>
@@ -15,95 +21,65 @@
>
<div class="form-row">
<el-form-item label="鎮h�呭鍚�" prop="patName">
- <el-input v-model="formData.patName" placeholder="璇疯緭鍏ユ偅鑰呭鍚�" />
+ <el-input v-model="formData.patName" placeholder="鎮h�呭鍚�" readonly />
</el-form-item>
- </div>
- <div class="form-row">
<el-form-item label="鎮h�呮�у埆" prop="patGender">
- <el-radio-group v-model="formData.patGender">
+ <el-radio-group v-model="formData.patGender" readonly>
<el-radio
- v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)"
- :key="dict.value"
- :label="dict.value"
- >
+ v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)"
+ :key="dict.value"
+ :value="dict.value">
{{ dict.label }}
</el-radio>
</el-radio-group>
</el-form-item>
- <el-form-item label="棰勭害鏃ユ湡" prop="bookDate">
- <el-date-picker
- v-model="formData.bookDate"
- type="date"
- value-format="x"
- placeholder="閫夋嫨棰勭害鏃ユ湡"
- />
- </el-form-item>
- </div>
- <div class="form-row">
- <el-form-item label="棰勭害鏃堕棿娈�" prop="bookTimeslot">
- <el-select v-model="formData.bookTimeslot" placeholder="璇烽�夋嫨棰勭害鏃堕棿娈�">
- <el-option
- v-for="dict in getIntDictOptions(DICT_TYPE.ECG_BOOK_TIMESLOT)"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- />
- </el-select>
- </el-form-item>
- <el-form-item label="棰勭害妫�鏌ョ被鍨�" prop="bookCheckType">
- <el-select v-model="formData.bookCheckType" placeholder="璇烽�夋嫨棰勭害妫�鏌ョ被鍨�">
- <el-option
- v-for="dict in checkTypeStore.getCheckTypeOptions()"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- />
- </el-select>
- </el-form-item>
- </div>
- <div class="form-row">
<el-form-item label="鎮h�呯敓鏃�" prop="patBirthday">
<el-date-picker
- v-model="formData.patBirthday"
- type="date"
- value-format="x"
- placeholder="閫夋嫨鎮h�呯敓鏃�"
+ v-model="formData.patBirthday"
+ type="date"
+ value-format="x"
+ placeholder="閫夋嫨鎮h�呯敓鏃�"
+ readonly
/>
</el-form-item>
- <el-form-item label="鎮h�呮墜鏈�" prop="patMobile">
- <el-input v-model="formData.patMobile" placeholder="璇疯緭鍏ユ偅鑰呮墜鏈�" />
- </el-form-item>
</div>
<div class="form-row">
- <el-form-item label="鎮h�呯數璇�" prop="patPhone">
+ <el-form-item label="鎮h�呮墜鏈�" prop="patMobile" >
+ <el-input v-model="formData.patMobile" placeholder="璇疯緭鍏ユ偅鑰呮墜鏈�" readonly />
+ </el-form-item>
+<!--
+ <el-form-item label="鎮h�呯數璇�" prop="patPhone" readonly>
<el-input v-model="formData.patPhone" placeholder="璇疯緭鍏ユ偅鑰呯數璇�" />
</el-form-item>
- <el-form-item label="韬唤璇佸彿" prop="patIdentityId">
- <el-input v-model="formData.patIdentityId" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" />
+-->
+ <el-form-item label="韬唤璇佸彿" prop="patIdentityId" >
+ <el-input v-model="formData.patIdentityId" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" readonly />
</el-form-item>
</div>
<div class="form-row">
+<!--
+ <el-form-item label="鐥呭尯浠g爜" prop="patWardCode" readonly>
+ <el-input v-model="formData.patWardCode" placeholder="璇疯緭鍏ョ梾鍖轰唬鐮�" />
+ </el-form-item>
+-->
+ <el-form-item label="鐥呭尯鍚嶇О" prop="patWardDesc" >
+ <el-input v-model="formData.patWardDesc" placeholder="璇疯緭鍏ョ梾鍖哄悕绉�" readonly />
+ </el-form-item>
+ <el-form-item label="搴婂彿" prop="patBedNo" >
+ <el-input v-model="formData.patBedNo" placeholder="璇疯緭鍏ュ簥鍙�" readonly />
+ </el-form-item>
+ </div>
+ <div class="form-row">
+ <!--
+ <el-form-item label="绉戝浠g爜" prop="patDeptCode" readonly>
+ <el-input v-model="formData.patDeptCode" placeholder="璇疯緭鍏ョ瀹や唬鐮�" />
+ </el-form-item>
+ -->
+ <el-form-item label="绉戝鍚嶇О" prop="patDeptDesc" >
+ <el-input v-model="formData.patDeptDesc" placeholder="璇疯緭鍏ョ瀹ゅ悕绉�" readonly/>
+ </el-form-item>
<el-form-item label="鎮h�呭湴鍧�" prop="patAddr">
- <el-input v-model="formData.patAddr" placeholder="璇疯緭鍏ユ偅鑰呭湴鍧�" />
- </el-form-item>
- <el-form-item label="鎮h�呮墍鍦ㄧ瀹や唬鐮�" prop="patDeptCode">
- <el-input v-model="formData.patDeptCode" placeholder="璇疯緭鍏ユ偅鑰呮墍鍦ㄧ瀹や唬鐮�" />
- </el-form-item>
- </div>
- <div class="form-row">
- <el-form-item label="鎮h�呮墍鍦ㄧ瀹ゅ悕绉�" prop="patDeptDesc">
- <el-input v-model="formData.patDeptDesc" placeholder="璇疯緭鍏ユ偅鑰呮墍鍦ㄧ瀹ゅ悕绉�" />
- </el-form-item>
- <el-form-item label="鎮h�呮墍鍦ㄧ梾鍖轰唬鐮�" prop="patWardCode">
- <el-input v-model="formData.patWardCode" placeholder="璇疯緭鍏ユ偅鑰呮墍鍦ㄧ梾鍖轰唬鐮�" />
- </el-form-item>
- </div>
- <div class="form-row">
- <el-form-item label="鎮h�呮墍鍦ㄧ梾鍖哄悕绉�" prop="patWardDesc">
- <el-input v-model="formData.patWardDesc" placeholder="璇疯緭鍏ユ偅鑰呮墍鍦ㄧ梾鍖哄悕绉�" />
- </el-form-item>
- <el-form-item label="搴婂彿" prop="patBedNo">
- <el-input v-model="formData.patBedNo" placeholder="璇疯緭鍏ュ簥鍙�" />
+ <el-input v-model="formData.patAddr" placeholder="璇疯緭鍏ユ偅鑰呭湴鍧�" readonly/>
</el-form-item>
</div>
</el-form>
@@ -111,26 +87,23 @@
<script setup lang="ts">
import {DICT_TYPE, getIntDictOptions} from '@/utils/dict'
import { AppointmentApi, AppointmentVO } from '@/api/ecg/appointment'
-import {useCheckTypeStore} from "@/store/modules/checkType";
+import CheckItemPanel from "@/views/ecg/appointment/CheckItemPanel.vue";
+import {getCheckTypeName} from "@/utils/checkTypeFormatter";
/** 棰勭害纭 琛ㄥ崟 */
defineOptions({ name: 'AppointmentConfirm' })
-const checkTypeStore = useCheckTypeStore();
-
-const message = useMessage() // 娑堟伅寮圭獥
-
-const loading = ref(true) // 鍒楄〃鐨勫姞杞戒腑
-const list = ref<AppointmentVO[]>([]) // 鍒楄〃鐨勬暟鎹�
-const total = ref(0) // 鍒楄〃鐨勬�婚〉鏁�
const queryParams = reactive({
- pageNo: 1,
- pageSize: 10,
- patId: undefined
+ patId: ''
})
+
+const appointmentVOList = ref<AppointmentVO[]>([])
const formData = ref<AppointmentVO>({
id: 0,
+ applyNo: "",
+ episodeId: "",
+ patSrc: 0,
patId: "",
patName: "",
patGender: 1, // 1 鐢� 2 濂�
@@ -144,52 +117,48 @@
patWardCode: "",
patWardDesc: "",
patBedNo: "",
- bookId: "",
bookTime: new Date(),
bookDate: new Date(),
- bookTimeslot: 9000930,
- bookCheckType: checkTypeStore.getCheckTypeName(100)
+ bookTimeslot: 9301030,
+ bookCheckType: getCheckTypeName(100),
+ paid: 0,
+ bookSeqNum: 0,
})
const formRef = ref() // 琛ㄥ崟 Ref
const searchBookInfo = async () => {
resetForm()
- total.value = 0
- list.value = []
- await getList()
- if (total.value === 1) {
- formData.value = list.value[0]
+ if (null === queryParams.patId || "" === queryParams.patId.trim())
+ return
+
+ const _patId = queryParams.patId.trim()
+ console.warn("===" + _patId + "===")
+
+ const data = await AppointmentApi.queryAndCreateAppointmentByPatId(_patId) // 瀵瑰簲鏁版嵁搴撲腑 pat_id
+ console.info( data )
+ if (null !== data && data.length > 0) {
+ formData.value = data[0]
+ appointmentVOList.value = data
+ console.info( formData.value )
return
}
- message.notify("璇峰厛棰勭害!")
-}
-/** 鏌ヨ鍒楄〃 */
-const getList = async () => {
- loading.value = true
- try {
- const data = await AppointmentApi.getAppointmentPage(queryParams)
- list.value = data.list
- total.value = data.total
- } finally {
- loading.value = false
- }
-}
-
-const _confirmAppointment = async () => {
- const data = await AppointmentApi.confirmAppointment(formData.value)
- ElNotification({
- title: '娓╅Θ鎻愮ず',
- message: data,
- type: 'warning'
- })
+ ElNotification({
+ title: '娓╅Θ鎻愮ず',
+ message: "璇峰厛棰勭害",
+ type: 'warning'
+ })
}
/** 閲嶇疆琛ㄥ崟 */
const resetForm = () => {
+ appointmentVOList.value.length=0;
formData.value = {
id: 0,
+ applyNo: "",
+ episodeId: "",
+ patSrc: 0,
patId: "",
patName: "",
patGender: 1, // 1 鐢� 2 濂�
@@ -203,14 +172,31 @@
patWardCode: "",
patWardDesc: "",
patBedNo: "",
- bookId: "",
bookTime: new Date(),
bookDate: new Date(),
- bookTimeslot: 9000930,
- bookCheckType: 10
+ bookTimeslot: 9301030,
+ bookCheckType: getCheckTypeName(100),
+ paid: 0,
+ bookSeqNum: 0,
}
formRef.value?.resetFields()
}
+
+const onEventAppointConfirm = () => {
+/*
+ if (null !== appointmentVOList.value && appointmentVOList.value.length === 1) {
+ queryParams.patId = ""
+ }
+*/
+ queryParams.patId = ""
+}
+
+/** 鍒濆鍖� **/
+onMounted(() => {
+ resetForm()
+})
+
+
</script>
<style lang="scss" scoped>
@@ -223,4 +209,9 @@
.two-column-form .form-row .el-form-item {
width: 48%;
}
+
+.el-form-item {
+ margin-bottom: 5px;
+}
+
</style>
--
Gitblit v1.9.3