From 106d90222ad7fb031cae93876e904e9dc8e5ce7f Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期五, 11 四月 2025 16:05:47 +0800
Subject: [PATCH] fix warnings

---
 src/views/ecg/doctor/components/RoutinePanel.vue    |   52 ++++++++----
 src/views/ecg/appointment/index.vue                 |    1 
 src/views/ecg/checktype/index.vue                   |    1 
 src/views/ecg/room/index.vue                        |    1 
 src/views/ecg/room/RoomSetting.vue                  |    5 
 src/views/ecg/callingscreen/roomscreen.vue          |   14 +--
 src/views/ecg/devmanage/index.vue                   |    8 +-
 src/views/ecg/devrent/index.vue                     |   14 --
 src/views/ecg/doctor/components/DevInstallPanel.vue |    1 
 src/utils/checkTypeFormatter.ts                     |    7 +
 src/views/ecg/doctor/components/DevReadyPanel.vue   |   13 --
 src/views/ecg/doctor/components/TitlePanel.vue      |    1 
 src/views/ecg/appointment/CheckItemPanel.vue        |    1 
 src/views/ecg/devmanage/DevStatistic.vue            |   29 +------
 src/views/ecg/doctor/DevDismantle.vue               |    4 
 src/api/ecg/appointment/index.ts                    |    2 
 src/views/ecg/appointment/AppointmentConfirm.vue    |   11 +-
 src/views/ecg/appointment/AppointmentForm.vue       |    3 
 src/views/ecg/doctor/components/QueuePanel.vue      |    3 
 src/api/ecg/doctor/index.ts                         |    6 
 src/views/ecg/doctor/DevDataEntry.vue               |    4 
 src/views/ecg/queue/index.vue                       |    1 
 22 files changed, 88 insertions(+), 94 deletions(-)

diff --git a/src/api/ecg/appointment/index.ts b/src/api/ecg/appointment/index.ts
index fbb1e29..d9434a0 100644
--- a/src/api/ecg/appointment/index.ts
+++ b/src/api/ecg/appointment/index.ts
@@ -4,7 +4,7 @@
 export interface AppointmentVO {
   id: number,
   applyNo: string  // 棰勭害鐢宠缂栧彿
-  episodeId: number //灏辫瘖娴佹按鍙�
+  episodeId: string //灏辫瘖娴佹按鍙�
   patSrc: number
   patId: string // 鎮h�呯紪鍙�
   patName: string // 鎮h�呭鍚�
diff --git a/src/api/ecg/doctor/index.ts b/src/api/ecg/doctor/index.ts
index fe702c0..40e43b2 100644
--- a/src/api/ecg/doctor/index.ts
+++ b/src/api/ecg/doctor/index.ts
@@ -20,9 +20,9 @@
   bedNo: string // 璇婄枟搴婄紪鍙�
   patId: string // 鎮h�呯紪鍙�
   checkType: number // 妫�鏌ョ被鍨�
-  jumpFlag: number // 鎻掗槦鏍囪
-  roomId_operator: number
-  bedNo_operator: string
+  jumpFlag?: number // 鎻掗槦鏍囪
+  roomId_operator: number | null
+  bedNo_operator: string | null
 }
 
 export interface PatientStatisticVO {
diff --git a/src/utils/checkTypeFormatter.ts b/src/utils/checkTypeFormatter.ts
index 64f3767..5ffe6c7 100644
--- a/src/utils/checkTypeFormatter.ts
+++ b/src/utils/checkTypeFormatter.ts
@@ -7,3 +7,10 @@
 export const getCheckTypeSeqPrefix = (checkType) => checkTypeStore.getCheckTypeSeqPrefix(checkType)
 
 
+export const needAutoFeeConfirm = (checkType: number | null | undefined) => {
+  if (checkType == null)
+    return false
+
+  return checkTypeStore.getExpenseRecognition(checkType)
+}
+
diff --git a/src/views/ecg/appointment/AppointmentConfirm.vue b/src/views/ecg/appointment/AppointmentConfirm.vue
index 9ddf270..b0adea6 100644
--- a/src/views/ecg/appointment/AppointmentConfirm.vue
+++ b/src/views/ecg/appointment/AppointmentConfirm.vue
@@ -87,13 +87,11 @@
 <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 queryParams = reactive({
     patId: ''
@@ -104,6 +102,7 @@
 const formData = ref<AppointmentVO>({
   id: 0,
   applyNo: "",
+  episodeId: "",
   patSrc: 0,
   patId: "",
   patName: "",
@@ -118,12 +117,12 @@
   patWardCode: "",
   patWardDesc: "",
   patBedNo: "",
-  bookId: "",
   bookTime: new Date(),
   bookDate: new Date(),
   bookTimeslot: 9301030,
   bookCheckType: getCheckTypeName(100),
   paid: 0,
+  bookSeqNum: 0,
 })
 const formRef = ref() // 琛ㄥ崟 Ref
 
@@ -158,6 +157,7 @@
   formData.value = {
     id: 0,
     applyNo: "",
+    episodeId: "",
     patSrc: 0,
     patId: "",
     patName: "",
@@ -172,13 +172,12 @@
     patWardCode: "",
     patWardDesc: "",
     patBedNo: "",
-    bookId: "",
     bookTime: new Date(),
     bookDate: new Date(),
     bookTimeslot: 9301030,
     bookCheckType: getCheckTypeName(100),
     paid: 0,
-    bookSeqNum: 0
+    bookSeqNum: 0,
   }
   formRef.value?.resetFields()
 }
diff --git a/src/views/ecg/appointment/AppointmentForm.vue b/src/views/ecg/appointment/AppointmentForm.vue
index 8ea4219..64a4759 100644
--- a/src/views/ecg/appointment/AppointmentForm.vue
+++ b/src/views/ecg/appointment/AppointmentForm.vue
@@ -158,6 +158,7 @@
 import {DICT_TYPE, getIntDictOptions} from '@/utils/dict'
 import { AppointmentApi, AppointmentVO } from '@/api/ecg/appointment'
 import {useCheckTypeStore} from "@/store/modules/checkType";
+import {getCheckTypeName} from "@/utils/checkTypeFormatter";
 
 /** 棰勭害 琛ㄥ崟 */
 defineOptions({ name: 'AppointmentForm' })
@@ -290,7 +291,7 @@
 
 const searchBookInfo = async () => {
   const tmpPatId = formData.value.patId
-  if (null === tmpPatId || "" === tmpPatId)
+  if (null == tmpPatId || "" === tmpPatId)
     return
 
   const data = await AppointmentApi.queryAppointmentFromHis( tmpPatId ) // 瀵瑰簲鏁版嵁搴撲腑 pat_id
diff --git a/src/views/ecg/appointment/CheckItemPanel.vue b/src/views/ecg/appointment/CheckItemPanel.vue
index 98fbd46..7b63084 100644
--- a/src/views/ecg/appointment/CheckItemPanel.vue
+++ b/src/views/ecg/appointment/CheckItemPanel.vue
@@ -9,6 +9,7 @@
 import { cloneDeep } from 'lodash-es'
 import {hiprint} from "vue-plugin-hiprint";
 import {calGender, getBookBeginTime} from "@/utils";
+import {getCheckTypeName} from "@/utils/checkTypeFormatter";
 
 defineComponent({
   name: 'CheckItemPanel'
diff --git a/src/views/ecg/appointment/index.vue b/src/views/ecg/appointment/index.vue
index 3ccaa16..6d459e9 100644
--- a/src/views/ecg/appointment/index.vue
+++ b/src/views/ecg/appointment/index.vue
@@ -201,6 +201,7 @@
 import { AppointmentApi, AppointmentVO } from '@/api/ecg/appointment'
 import AppointmentForm from './AppointmentForm.vue'
 import {useCheckTypeStore} from "@/store/modules/checkType";
+import {getCheckTypeName} from "../../../utils/checkTypeFormatter";
 
 /** 棰勭害 鍒楄〃 */
 defineOptions({ name: 'Appointment' })
diff --git a/src/views/ecg/callingscreen/roomscreen.vue b/src/views/ecg/callingscreen/roomscreen.vue
index 0a47d5c..8437e08 100644
--- a/src/views/ecg/callingscreen/roomscreen.vue
+++ b/src/views/ecg/callingscreen/roomscreen.vue
@@ -1,17 +1,14 @@
 <script setup lang="ts">
 
-import {RoomBedVO, RoomProfileVO} from "@/api/ecg/doctor";
+import {RoomProfileVO} from "@/api/ecg/doctor";
 import {RoomApi} from "@/api/ecg/room";
 import {ScreenQueueVO, ScreenApi} from "@/api/ecg/screen";
 import {CallApi, CallVO} from "@/api/ecg/call";
 import {queueStatusConvert} from "../../../utils/statusFormatter";
-import {useCheckTypeStore} from "@/store/modules/checkType";
-import {getCheckTypeSeqPrefix} from "../../../utils/checkTypeFormatter";
+import {getCheckTypeName, getCheckTypeSeqPrefix} from "../../../utils/checkTypeFormatter";
 
 defineOptions({ name: 'roomscreen' })
 let roomId = ref<number>(0)
-
-const checkTypeStore = useCheckTypeStore()
 
 const checkRelatedPatientList = ref<ScreenQueueVO[]>([])
 const installRelatedPatientList = ref<ScreenQueueVO[]>([])
@@ -79,9 +76,10 @@
   return;
 
   curSpeakPat = await CallApi.getNextInstallCall()
-  if (curSpeakPat !== null) {
-    speak("璇枫��" + curSpeakPat.patName + "鍒�" + curSpeakPat.roomName + "瑁呮満");
-  }
+  if (curSpeakPat == null)
+    return;
+
+  speak("璇枫��" + curSpeakPat.patName + "鍒�" + curSpeakPat.roomName + "瑁呮満");
 }
 
 const speak = (msg) => {
diff --git a/src/views/ecg/checktype/index.vue b/src/views/ecg/checktype/index.vue
index e32028f..84681eb 100644
--- a/src/views/ecg/checktype/index.vue
+++ b/src/views/ecg/checktype/index.vue
@@ -191,6 +191,7 @@
 import { CheckTypeApi, CheckTypeVO } from '@/api/ecg/checktype'
 import CheckTypeForm from './CheckTypeForm.vue'
 import {useCheckTypeStore} from "@/store/modules/checkType";
+import {getCheckTypeName} from "../../../utils/checkTypeFormatter";
 
 /** 妫�鏌ョ被鍨� 鍒楄〃 */
 defineOptions({ name: 'CheckType' })
diff --git a/src/views/ecg/devmanage/DevStatistic.vue b/src/views/ecg/devmanage/DevStatistic.vue
index e7b435a..72ba4e2 100644
--- a/src/views/ecg/devmanage/DevStatistic.vue
+++ b/src/views/ecg/devmanage/DevStatistic.vue
@@ -92,16 +92,13 @@
 
 <script setup lang="ts">
 import {getStrDictOptions, DICT_TYPE, DictDataType} from '@/utils/dict'
-import {dateFormatter, dateFormatter2} from '@/utils/formatTime'
 import download from '@/utils/download'
-import {DeviceApi, DeviceStatisticVO, DeviceVO, DevModelApi, OptionsVO} from '@/api/ecg/devmanage'
-import DeviceForm from './DeviceForm.vue'
+import {DeviceApi, DeviceStatisticVO, DevModelApi, OptionsVO} from '@/api/ecg/devmanage'
 
 /** 璁惧 鍒楄〃 */
 defineOptions({ name: 'DeviceStatistic' })
 
 const message = useMessage() // 娑堟伅寮圭獥
-const { t } = useI18n() // 鍥介檯鍖�
 
 const loading = ref(true) // 鍒楄〃鐨勫姞杞戒腑
 const list = ref<DeviceStatisticVO[]>([]) // 鍒楄〃鐨勬暟鎹�
@@ -110,10 +107,10 @@
   pageSize: 10,
   purchaseDate: [],
   createTime: [],
-  devId: undefined,
-  category: undefined,
-  brand: undefined,
-  model: undefined
+  devId: '',
+  category: '',
+  brand: '',
+  model: ''
 })
 const queryFormRef = ref() // 鎼滅储鐨勮〃鍗�
 const exportLoading = ref(false) // 瀵煎嚭鐨勫姞杞戒腑
@@ -148,22 +145,6 @@
 
 /** 娣诲姞/淇敼鎿嶄綔 */
 const formRef = ref()
-const openForm = (type: string, id?: number) => {
-  formRef.value.open(type, id)
-}
-
-/** 鍒犻櫎鎸夐挳鎿嶄綔 */
-const handleDelete = async (id: number) => {
-  try {
-    // 鍒犻櫎鐨勪簩娆$‘璁�
-    await message.delConfirm()
-    // 鍙戣捣鍒犻櫎
-    await DeviceApi.deleteDevice(id)
-    message.success(t('common.delSuccess'))
-    // 鍒锋柊鍒楄〃
-    await getList()
-  } catch {}
-}
 
 /** 瀵煎嚭鎸夐挳鎿嶄綔 */
 const handleExport = async () => {
diff --git a/src/views/ecg/devmanage/index.vue b/src/views/ecg/devmanage/index.vue
index d661192..09006f2 100644
--- a/src/views/ecg/devmanage/index.vue
+++ b/src/views/ecg/devmanage/index.vue
@@ -260,9 +260,9 @@
   devCodeHosp: undefined,
   devCodeDept: undefined,
   state: [],
-  category: undefined,
-  brand: undefined,
-  model: undefined
+  category: '',
+  brand: '',
+  model: '',
 })
 const queryFormRef = ref() // 鎼滅储鐨勮〃鍗�
 const exportLoading = ref(false) // 瀵煎嚭鐨勫姞杞戒腑
@@ -365,4 +365,4 @@
 
   getList()
 })
-</script>
\ No newline at end of file
+</script>
diff --git a/src/views/ecg/devrent/index.vue b/src/views/ecg/devrent/index.vue
index 3e9a1db..ae84885 100644
--- a/src/views/ecg/devrent/index.vue
+++ b/src/views/ecg/devrent/index.vue
@@ -75,14 +75,6 @@
         <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 鎼滅储</el-button>
         <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 閲嶇疆</el-button>
         <el-button
-          type="primary"
-          plain
-          @click="openForm('create')"
-          v-hasPermi="['ecg:dev-rent:create']"
-        >
-          <Icon icon="ep:plus" class="mr-5px" /> 鏂板
-        </el-button>
-        <el-button
           type="success"
           plain
           @click="handleExport"
@@ -139,6 +131,7 @@
         width="180px"
       />
 -->
+<!--
       <el-table-column label="鎿嶄綔" align="center" min-width="120px">
         <template #default="scope">
           <el-button
@@ -159,6 +152,7 @@
           </el-button>
         </template>
       </el-table-column>
+-->
     </el-table>
     <!-- 鍒嗛〉 -->
     <Pagination
@@ -179,15 +173,13 @@
 import { DevRentApi, DevRentVO } from '@/api/ecg/devrent'
 import DevRentForm from './DevRentForm.vue'
 import {tranlateCheckState} from "../../../utils/statusFormatter";
-import {useCheckTypeStore} from "@/store/modules/checkType";
+import {getCheckTypeName} from "../../../utils/checkTypeFormatter";
 
 /** 瑁呮満鎷嗘満 鍒楄〃 */
 defineOptions({ name: 'DevRent' })
 
 const message = useMessage() // 娑堟伅寮圭獥
 const { t } = useI18n() // 鍥介檯鍖�
-
-const checkTypeStore = useCheckTypeStore()
 
 const loading = ref(true) // 鍒楄〃鐨勫姞杞戒腑
 const list = ref<DevRentVO[]>([]) // 鍒楄〃鐨勬暟鎹�
diff --git a/src/views/ecg/doctor/DevDataEntry.vue b/src/views/ecg/doctor/DevDataEntry.vue
index fc35bed..d03ab97 100644
--- a/src/views/ecg/doctor/DevDataEntry.vue
+++ b/src/views/ecg/doctor/DevDataEntry.vue
@@ -15,7 +15,7 @@
             <el-input v-model="formData.patName" placeholder="璇疯緭鍏ユ偅鑰呭悕绉�" />
           </el-form-item>
           <el-form-item label="鎮h�呮弿杩�" prop="patDeptDesc">
-            绉戝: {{formData.patDetails?.deptDesc}} 鐥呭尯: {{formData.patDetails?.wardDesc}} 搴婁綅: {{formData.patDetails?.bedNo}}
+            绉戝: {{formData?.patDetails?.deptDesc}} 鐥呭尯: {{formData?.patDetails?.wardDesc}} 搴婁綅: {{formData?.patDetails?.bedNo}}
           </el-form-item>
           <el-form-item label="褰曞叆鏃堕棿" prop="entryTime">
             <el-date-picker
@@ -34,7 +34,7 @@
             <el-input v-model="formData.devId" placeholder="璇疯緭鍏ヨ澶囩紪鍙�" @input="getRentInfoByDevId" />
           </el-form-item>
           <el-form-item label="璁惧鎻忚堪" prop="">
-            {{formData.brand + "&nbsp;&nbsp;" + formData.model}}
+            {{formData?.brand + "&nbsp;&nbsp;" + formData?.model}}
           </el-form-item>
           <el-form-item label="瑁呮媶鏈烘椂闂�" prop="returnTime">
             <el-date-picker
diff --git a/src/views/ecg/doctor/DevDismantle.vue b/src/views/ecg/doctor/DevDismantle.vue
index 89c1aea..724af68 100644
--- a/src/views/ecg/doctor/DevDismantle.vue
+++ b/src/views/ecg/doctor/DevDismantle.vue
@@ -16,7 +16,7 @@
             <el-input v-model="formData.patName" placeholder="璇疯緭鍏ユ偅鑰呭悕绉�" />
           </el-form-item>
           <el-form-item label="鎮h�呮弿杩�" prop="patDeptDesc">
-            绉戝: {{formData.patDetails?.deptDesc}} 鐥呭尯: {{formData.patDetails?.wardDesc}} 搴婁綅: {{formData.patDetails?.bedNo}}
+            绉戝: {{formData?.patDetails?.deptDesc}} 鐥呭尯: {{formData?.patDetails?.wardDesc}} 搴婁綅: {{formData?.patDetails?.bedNo}}
           </el-form-item>
           <el-form-item label="瑁呮満鏃堕棿" prop="rentTime">
             <el-date-picker
@@ -33,7 +33,7 @@
             <el-input v-model="formData.devId" placeholder="璇疯緭鍏ヨ澶囩紪鍙�" @input="getRentInfoByDevId" />
           </el-form-item>
           <el-form-item label="璁惧鎻忚堪" prop="">
-            {{formData.brand + "&nbsp;&nbsp;" + formData.model + " " + tranlateDevState(formData.devState)}}
+            {{formData?.brand + "&nbsp;&nbsp;" + formData?.model + " " + tranlateDevState(formData?.devState)}}
           </el-form-item>
           <el-form-item label="鎷嗘満鏃堕棿" prop="returnTime">
             <el-date-picker
diff --git a/src/views/ecg/doctor/components/DevInstallPanel.vue b/src/views/ecg/doctor/components/DevInstallPanel.vue
index 6a63211..42ffc05 100644
--- a/src/views/ecg/doctor/components/DevInstallPanel.vue
+++ b/src/views/ecg/doctor/components/DevInstallPanel.vue
@@ -127,6 +127,7 @@
 import {useCheckTypeStore} from "@/store/modules/checkType";
 import {DICT_TYPE} from "@/utils/dict";
 import {tranlateDevState} from "../../../../utils/statusFormatter";
+import {getCheckTypeName} from "../../../../utils/checkTypeFormatter";
 
 /** 璁惧瑁呮満 琛ㄥ崟 */
 defineComponent({ name: 'DevInstallPanel' })
diff --git a/src/views/ecg/doctor/components/DevReadyPanel.vue b/src/views/ecg/doctor/components/DevReadyPanel.vue
index 8c190ff..f846a23 100644
--- a/src/views/ecg/doctor/components/DevReadyPanel.vue
+++ b/src/views/ecg/doctor/components/DevReadyPanel.vue
@@ -149,7 +149,7 @@
 import {calGender, getBookBeginTime} from "@/utils";
 import {DICT_TYPE} from "@/utils/dict";
 import {tranlateDevState} from "@/utils/statusFormatter";
-import {getCheckTypeName} from "../../../../utils/checkTypeFormatter";
+import {getCheckTypeName, needAutoFeeConfirm} from "../../../../utils/checkTypeFormatter";
 
 /** 璁惧棰嗙敤 琛ㄥ崟 */
 defineComponent({ name: 'DevReadyPanel' })
@@ -203,13 +203,6 @@
 })
 
 const displayBarCode = ref<string> ()
-
-const needAutoFeeConfirm = (checkType: number | null | undefined) => {
-  if (checkType == null)
-    return false
-
-  return checkTypeStore.getExpenseRecognition(checkType)
-}
 
 const getRentInfoByPatId = () => {
   const tempPatId = formData.value.patId;
@@ -473,7 +466,7 @@
 }
 
 const getDisplayBarcode = (): string => {
-  if (!formData.value.checkType)
+  if (formData.value.checkType == null)
     return ""
 
   const displayBarcode: number[] = checkTypeStore.getCheckTypeDispBarCode(formData.value.checkType!)
@@ -485,7 +478,7 @@
 }
 
 const getBarcode = (): string => {
-  if (!formData.value.checkType)
+  if (formData.value.checkType == null)
     return ""
 
   const patSource = formData.value.patDetails?.source
diff --git a/src/views/ecg/doctor/components/QueuePanel.vue b/src/views/ecg/doctor/components/QueuePanel.vue
index 25bcf17..663b521 100644
--- a/src/views/ecg/doctor/components/QueuePanel.vue
+++ b/src/views/ecg/doctor/components/QueuePanel.vue
@@ -3,7 +3,6 @@
 import { QueueVO } from '@/api/ecg/queue'
 import {DICT_TYPE} from "@/utils/dict";
 import {PatientVO, DoctorApi, RoomBedVO} from "@/api/ecg/doctor";
-import {useCheckTypeStore} from "@/store/modules/checkType";
 import {getCheckTypeName, getCheckTypeSeqPrefix} from "../../../../utils/checkTypeFormatter";
 
 defineComponent({
@@ -11,8 +10,6 @@
 })
 
 const emit = defineEmits(['event_RecallFinish']) // 瀹氫箟 success 浜嬩欢锛岀敤浜庢搷浣滄垚鍔熷悗鐨勫洖璋�
-
-const checkTypeStore = useCheckTypeStore();
 
 const message = useMessage() // 娑堟伅寮圭獥
 
diff --git a/src/views/ecg/doctor/components/RoutinePanel.vue b/src/views/ecg/doctor/components/RoutinePanel.vue
index cc3fcfc..2b76667 100644
--- a/src/views/ecg/doctor/components/RoutinePanel.vue
+++ b/src/views/ecg/doctor/components/RoutinePanel.vue
@@ -19,8 +19,8 @@
             <el-input v-model="formData.patName" placeholder="璇疯緭鍏ユ偅鑰呭悕绉�" />
           </el-form-item>
           <el-form-item label="鎮h�呮弿杩�" prop="patDetails">
-            <dict-tag v-if="formData.patSrc" :type="DICT_TYPE.ECG_PAT_SOURCE" :value="formData.patSrc" />
-            {{formData.patDetails?.deptDesc}} {{formData.patDetails?.wardDesc}} {{formData.patDetails?.bedNo}}
+            <dict-tag v-if="formData.patDetails?.source" :type="DICT_TYPE.ECG_PAT_SOURCE" :value="formData.patDetails?.source" />
+            {{formData?.patDetails?.deptDesc}} {{formData?.patDetails?.wardDesc}} {{formData?.patDetails?.bedNo}}
           </el-form-item>
           <el-form-item label="妫�鏌ユ椂闂�" prop="rentTime">
             <el-date-picker
@@ -33,7 +33,7 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="妫�鏌ラ」鐩�" prop="">
-            {{formData.checkType && getCheckTypeName(formData.checkType)}}
+            {{formData?.checkType && getCheckTypeName(formData?.checkType)}}
           </el-form-item>
           <el-form-item label="澶囨敞" prop="remark">
             <el-input v-model="formData.remark" placeholder="璇疯緭鍏ュ娉�" />
@@ -44,8 +44,8 @@
     <el-button @click="submitForm" type="primary" :disabled="formLoading">妫�鏌ュ畬鎴�</el-button>
     <el-button @click="cancelInstall"  :disabled="formLoading">鏀惧純妫�鏌�</el-button>
     <el-button @click="resetForm()">閲� 缃�</el-button>
-    <el-button v-if="formData.checkType && checkTypeStore.getExpenseRecognition(formData.checkType)" @click="feeConfirm"  :disabled="formLoading">纭垂</el-button>
-    <el-button v-if="formData.checkType && checkTypeStore.getExpenseRecognition(formData.checkType)" @click="feeCancel"  :disabled="formLoading">鍙栨秷纭垂</el-button>
+    <el-button v-if="needAutoFeeConfirm(formData.checkType)" @click="feeConfirm"  :disabled="formLoading">纭垂</el-button>
+    <el-button v-if="needAutoFeeConfirm(formData.checkType)" @click="feeCancel"  :disabled="formLoading">鍙栨秷纭垂</el-button>
 
   <!-- 鍖荤敓瑁呮満鍒楄〃 -->
   <ContentWrap>
@@ -79,6 +79,7 @@
           :formatter="dateFormatter"
           width="180px"
       />
+<!--
       <el-table-column label="鎿嶄綔" align="center" min-width="120px">
         <template #default="scope">
           <el-button
@@ -99,6 +100,7 @@
           </el-button>
         </template>
       </el-table-column>
+-->
     </el-table>
     <!-- 鍒嗛〉 -->
     <Pagination
@@ -122,6 +124,7 @@
 import {Barcode} from "@/components/Barcode";
 import {useCheckTypeStore} from "@/store/modules/checkType";
 import {DICT_TYPE} from "@/utils/dict";
+import {getCheckTypeName, needAutoFeeConfirm} from "../../../../utils/checkTypeFormatter";
 
 /** 璁惧瑁呮満 琛ㄥ崟 */
 defineComponent({ name: 'RoutinePanel' })
@@ -144,7 +147,6 @@
   formData.value.patId = queueVO?.patId
   formData.value.patName = queueVO?.patName
   formData.value.checkType = queueVO?.bookCheckType
-  formData.value.patSrc = queueVO?.patDetails.source
   getFreeRentInfo(formData.value)
   copyBarcode()
 }
@@ -157,7 +159,7 @@
 
 const formLoading = ref(false) // 琛ㄥ崟鐨勫姞杞戒腑锛�1锛変慨鏀规椂鐨勬暟鎹姞杞斤紱2锛夋彁浜ょ殑鎸夐挳绂佺敤
 
-const formData = ref({
+const formData = ref<Partial<DevRentVO>>({
   id: undefined,
   devId: undefined,
   patId: undefined,
@@ -166,13 +168,8 @@
   checkType: undefined,
   rentTime: new Date().getTime(),
   returnTime: undefined,
-  interference: undefined,
-  baseline: undefined,
-  detachment: undefined,
   remark: undefined,
   paid: undefined,
-  roomId: props.room.roomId,
-  bedNo: props.room.bedNo
 })
 
 const formRules = reactive({
@@ -194,6 +191,12 @@
     formData.value.bedNo = props.room.bedNo
     const data = formData.value as unknown as DevRentVO
     await DevRentApi.routineFinish(data)
+
+    // 鑷姩纭垂
+    if (needAutoFeeConfirm(formData.value.checkType)) {
+      feeConfirm()
+    }
+
     message.success(t('鎿嶄綔鎴愬姛'))
     dialogVisible.value = false
     // 鍙戦�佹搷浣滄垚鍔熺殑浜嬩欢
@@ -305,35 +308,50 @@
 }
 
 const feeConfirm = async () => {
+  if (formData.value.id == null) {
+    message.error(t('璇峰厛妫�鏌�'))
+    return
+  }
+
   const result = await DevRentApi.feeConfirm(formData.value.id)
   if (0 == result)
     message.success(t('鎿嶄綔鎴愬姛'))
 }
 
 const feeCancel = async () => {
+  if (formData.value.id == null) {
+    message.error(t('璇峰厛妫�鏌�'))
+    return
+  }
+
   const result = await DevRentApi.feeCancel(formData.value.id)
   if (0 == result)
     message.success(t('鎿嶄綔鎴愬姛'))
 }
 
 const getDisplayBarcode = (): string => {
-  if (!formData.value.checkType)
+  if (formData.value.checkType == null)
     return ""
 
   const displayBarcode: number[] = checkTypeStore.getCheckTypeDispBarCode(formData.value.checkType!)
-  if (!displayBarcode.includes( formData.value.patSrc ))
+  if (formData.value.patDetails == null || formData.value.patDetails.source == null ||
+      !displayBarcode.includes( formData.value.patDetails.source ))
     return ""
 
   return getBarcode()
 }
 
 const getBarcode = (): string => {
-  if (!formData.value.checkType)
+  if (formData.value.checkType == null)
     return ""
 
-  if (1 === formData.value.patSrc || 2 === formData.value.patSrc)
+  const patSource = formData.value.patDetails?.source
+  if (patSource == null)
+    return ""
+
+  if (1 === patSource || 2 === patSource)
     return formData.value.applyNo??""
-  else if (3 === formData.value.patSrc || 4 === formData.value.patSrc)
+  else if (3 === patSource || 4 === patSource)
     return formData.value.episodeId??""
 
   return ""
diff --git a/src/views/ecg/doctor/components/TitlePanel.vue b/src/views/ecg/doctor/components/TitlePanel.vue
index b8c6801..9bb66ee 100644
--- a/src/views/ecg/doctor/components/TitlePanel.vue
+++ b/src/views/ecg/doctor/components/TitlePanel.vue
@@ -2,6 +2,7 @@
 import {defineComponent, PropType} from "vue";
 import {PatientStatisticVO, RoomBedVO} from "@/api/ecg/doctor";
 import {useCheckTypeStore} from "@/store/modules/checkType";
+import {getCheckTypeName} from "../../../../utils/checkTypeFormatter";
 
 defineComponent({
   name: 'TitlePanel'
diff --git a/src/views/ecg/queue/index.vue b/src/views/ecg/queue/index.vue
index 4bf7d8e..e8c0f84 100644
--- a/src/views/ecg/queue/index.vue
+++ b/src/views/ecg/queue/index.vue
@@ -250,6 +250,7 @@
 import {useCheckTypeStore} from "@/store/modules/checkType";
 import AppointmentForm from "@/views/ecg/appointment/AppointmentForm.vue";
 import {genderFormat} from "@/utils/stringUtil";
+import {getCheckTypeName} from "../../../utils/checkTypeFormatter";
 
 /** 鎺掗槦 鍒楄〃 */
 defineOptions({ name: 'queue' })
diff --git a/src/views/ecg/room/RoomSetting.vue b/src/views/ecg/room/RoomSetting.vue
index 0772027..a16a12c 100644
--- a/src/views/ecg/room/RoomSetting.vue
+++ b/src/views/ecg/room/RoomSetting.vue
@@ -15,8 +15,8 @@
       </div>
     </el-main>
     <el-aside width="250px">
-      <div>寮�璇婃椂闂达細{{ openingPeriod }}  {{ monitorInfo.openingFlag }}  </div>
-      <div>宸ヤ綅姒傚喌锛� {{monitorInfo.openingBedNum}} {{monitorInfo.docBedNum}} {{monitorInfo.routingBedNum}} </div>
+      <div>寮�璇婃椂闂达細{{ openingPeriod }}  {{ monitorInfo?.openingFlag }}  </div>
+      <div>宸ヤ綅姒傚喌锛� {{monitorInfo?.openingBedNum}} {{monitorInfo?.docBedNum}} {{monitorInfo?.routingBedNum}} </div>
       <div v-for="(value, key) in monitorInfo.checkTypeBedInfo" :key="key">
         {{ getCheckTypeName(Number(key)) }}  {{ value }}
       </div>
@@ -32,6 +32,7 @@
 import { QueueApi } from '@/api/ecg/queue'
 import { getConfigKey } from '@/api/infra/config'
 import {useCheckTypeStore} from "@/store/modules/checkType";
+import {getCheckTypeName} from "../../../utils/checkTypeFormatter";
 
 defineOptions({ name: 'RoomSetting' })
 
diff --git a/src/views/ecg/room/index.vue b/src/views/ecg/room/index.vue
index 4306451..6182195 100644
--- a/src/views/ecg/room/index.vue
+++ b/src/views/ecg/room/index.vue
@@ -121,6 +121,7 @@
 import { RoomApi, RoomVO } from '@/api/ecg/room'
 import RoomForm from './RoomForm.vue'
 import {useCheckTypeStore} from "@/store/modules/checkType";
+import {getCheckTypeName} from "../../../utils/checkTypeFormatter";
 
 /** 璇婂鍜岃瘖鐤楀簥 鍒楄〃 */
 defineOptions({ name: 'Room' })

--
Gitblit v1.9.3