Browse Source

优化运行时急诊位功能

dev
LiLongLong 7 months ago
parent
commit
174cceb066
  1. 3
      components.d.ts
  2. 1
      src/pages/Index/Regular/Emergency.vue
  3. 34
      src/pages/Index/Regular/Running.vue
  4. 2
      src/pages/Index/components/TestTube/Tube.vue

3
components.d.ts

@ -7,7 +7,6 @@ export {}
/* prettier-ignore */ /* prettier-ignore */
declare module 'vue' { declare module 'vue' {
export interface GlobalComponents { export interface GlobalComponents {
Confirm: typeof import('./src/components/dialogs/Confirm.vue')['default']
ElButton: typeof import('element-plus/es')['ElButton'] ElButton: typeof import('element-plus/es')['ElButton']
ElCol: typeof import('element-plus/es')['ElCol'] ElCol: typeof import('element-plus/es')['ElCol']
ElDropdown: typeof import('element-plus/es')['ElDropdown'] ElDropdown: typeof import('element-plus/es')['ElDropdown']
@ -15,8 +14,6 @@ declare module 'vue' {
ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu'] ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
ElFooter: typeof import('element-plus/es')['ElFooter'] ElFooter: typeof import('element-plus/es')['ElFooter']
ElHeader: typeof import('element-plus/es')['ElHeader'] ElHeader: typeof import('element-plus/es')['ElHeader']
ElIcon: typeof import('element-plus/es')['ElIcon']
ElInput: typeof import('element-plus/es')['ElInput']
ElPopover: typeof import('element-plus/es')['ElPopover'] ElPopover: typeof import('element-plus/es')['ElPopover']
ElRow: typeof import('element-plus/es')['ElRow'] ElRow: typeof import('element-plus/es')['ElRow']
ElTable: typeof import('element-plus/es')['ElTable'] ElTable: typeof import('element-plus/es')['ElTable']

1
src/pages/Index/Regular/Emergency.vue

@ -203,7 +203,6 @@ onActivated(() => {
ws.connect() ws.connect()
ws.subscribe<TubeHolderStateMessage>('TubeHolderState', handleTubeHolderStateMessage) ws.subscribe<TubeHolderStateMessage>('TubeHolderState', handleTubeHolderStateMessage)
const { emergencyInfo } = emergencyStore.$state const { emergencyInfo } = emergencyStore.$state
console.log('emergencyInfo---', emergencyInfo)
if(emergencyInfo && emergencyInfo.state){ if(emergencyInfo && emergencyInfo.state){
const {state, sampleBarcode} = emergencyInfo const {state, sampleBarcode} = emergencyInfo
currentInputValue.value = sampleBarcode currentInputValue.value = sampleBarcode

34
src/pages/Index/Regular/Running.vue

@ -50,7 +50,7 @@
/> />
<span v-if="runningStore.optScanModuleState?.state === 'SCANNING'">扫描中</span> <span v-if="runningStore.optScanModuleState?.state === 'SCANNING'">扫描中</span>
<span v-else>{{ runningStore.optScanModuleState.userid }}</span> <span v-else>{{ runningStore.optScanModuleState.userid }}</span>
<span style="font-size: 14px">{{ settingTubeStore.bloodTypeKeyMap[runningStore.optScanModuleState.bloodType] }}</span>
<span style="font-size: 14px">{{ settingTubeStore.bloodTypeKeyMap[runningStore.optScanModuleState.bloodType].name }}</span>
<span style="font-size: 16px; font-weight: 600">{{ runningStore.optScanModuleState.projInfo.projShortName }}</span> <span style="font-size: 16px; font-weight: 600">{{ runningStore.optScanModuleState.projInfo.projShortName }}</span>
</span> </span>
</div> </div>
@ -126,8 +126,8 @@
<!-- 急诊按钮 --> <!-- 急诊按钮 -->
<div <div
class="emergency-button" class="emergency-button"
:class="{ disabled: hasEmergencyPosition }"
@click="confirmEmergency()"
:style="`background:${emergencyBackground}`"
@click="!hasEmergencyPosition ? confirmEmergency():null"
> >
<span>急诊</span> <span>急诊</span>
</div> </div>
@ -135,7 +135,7 @@
<div class="test-tube-rack-area"> <div class="test-tube-rack-area">
<div class="tube-project-tab"> <div class="tube-project-tab">
<tube-item <tube-item
:tube="sampleTube"
:tube="emergencyTube"
:showNum = "false" :showNum = "false"
/> />
</div> </div>
@ -214,8 +214,8 @@ import {
onActivated, onActivated,
computed, computed,
} from 'vue' } from 'vue'
import { useRouter, useRoute } from 'vue-router'
import { useConsumablesStore, useDeviceStore, useSettingTestTubeStore } from '@/store'
import { useRouter } from 'vue-router'
import { useConsumablesStore, useDeviceStore, useSettingTestTubeStore, useEmergencyStore } from '@/store'
import { getBloodTypeLabel } from '../utils' import { getBloodTypeLabel } from '../utils'
import { import {
PlateDisplay, PlateDisplay,
@ -223,8 +223,6 @@ import {
} from '../components' } from '../components'
import tubeItem from '../components/TestTube/Tube.vue' import tubeItem from '../components/TestTube/Tube.vue'
import BallGrid from '../components/Consumables/BallGrid.vue' import BallGrid from '../components/Consumables/BallGrid.vue'
import { getRunningList } from '@/services/Index/running/running'
import type { import type {
SubTank, SubTank,
} from '@/websocket/socket' } from '@/websocket/socket'
@ -233,15 +231,17 @@ const consumablesStore = useConsumablesStore()
const runningStore = useRunningStore() const runningStore = useRunningStore()
const deviceStore = useDeviceStore() const deviceStore = useDeviceStore()
const settingTubeStore = useSettingTestTubeStore() const settingTubeStore = useSettingTestTubeStore()
const emergencyStore = useEmergencyStore();//
const router = useRouter() const router = useRouter()
//
const sampleTube = {
userid: 'user123',
projId: [1, 2],
bloodType: 'A',
}
const hasEmergencyPosition = ref(false)
//
const emergencyTube = ref(emergencyStore.emergencyInfo)
const hasEmergencyPosition = ref(emergencyStore.emergencyInfo.isEmergency)
const emergencyBackground = computed(()=>{
if(hasEmergencyPosition){
return '#c7c7c7'
}
return ''
})
onMounted(() => { onMounted(() => {
// //
@ -818,7 +818,7 @@ onUnmounted(() => {
} }
.scan-main{ .scan-main{
position: fixed; position: fixed;
top: 880px;
top: 54rem;
right: 10px; right: 10px;
padding: 8px 5px; padding: 8px 5px;
background-color: rgb(223, 237, 248); background-color: rgb(223, 237, 248);

2
src/pages/Index/components/TestTube/Tube.vue

@ -31,7 +31,7 @@
</div> </div>
</div> </div>
<span v-if="showNum" class="user-id">{{ tube.userid || '-' }}</span>
<span v-if="showNum || tube.isEmergency" class="user-id">{{ tube.userid || '-' }}</span>
</div> </div>
</template> </template>

Loading…
Cancel
Save