diff --git a/components.d.ts b/components.d.ts index e21917d..69da677 100644 --- a/components.d.ts +++ b/components.d.ts @@ -10,11 +10,7 @@ declare module 'vue' { ElButton: typeof import('element-plus/es')['ElButton'] ElFooter: typeof import('element-plus/es')['ElFooter'] 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'] - ElTable: typeof import('element-plus/es')['ElTable'] - ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] ErrorModal: typeof import('./src/components/dialogs/ErrorModal.vue')['default'] Keyboard: typeof import('./src/components/Keyboard.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] @@ -22,7 +18,4 @@ declare module 'vue' { SimpleKeyboard: typeof import('./src/components/SimpleKeyboard.vue')['default'] StackInfoModal: typeof import('./src/components/dialogs/StackInfoModal.vue')['default'] } - export interface ComponentCustomProperties { - vLoading: typeof import('element-plus/es')['ElLoadingDirective'] - } } diff --git a/src/eventBus.ts b/src/eventBus.ts index 8525a65..04211dd 100644 --- a/src/eventBus.ts +++ b/src/eventBus.ts @@ -14,8 +14,10 @@ export type ErrorModalData = { stackInfo?: null } +export type ConsumeType = 'Plate' | 'LittleBuf' | 'BigBuf' | 'Tip' type Events = { - confirm: { value: number; index: number } + initDevice: void + confirm: { type: ConsumeType; value: number; index: number } 'show-error-modal': ErrorModalData 'show-stack-modal': ErrorModalData['stackInfo'] | null | undefined // 其他事件类型 diff --git a/src/pages/Index/History.vue b/src/pages/Index/History.vue index e5c11c4..5e848a6 100644 --- a/src/pages/Index/History.vue +++ b/src/pages/Index/History.vue @@ -132,14 +132,14 @@ @@ -468,8 +545,6 @@ const updateTipNum = async ({ index, tipNum }: { index: number; tipNum: number } .main-bottom { width: 100%; flex: 1; - margin-top: -90px; - .buffer-little-title { display: flex; height: 40px; @@ -490,11 +565,12 @@ const updateTipNum = async ({ index, tipNum }: { index: number; tipNum: number } .ball-area { display: flex; - justify-self: space-between; flex-wrap: wrap; - + column-gap: 20px; + row-gap: 12px; + padding: 0 24px ; .ball-grid { - margin: 0 15px 5px 15px + overflow: hidden; } } } diff --git a/src/pages/Index/Regular/Running.vue b/src/pages/Index/Regular/Running.vue index 30e66b8..16a9ee2 100644 --- a/src/pages/Index/Regular/Running.vue +++ b/src/pages/Index/Regular/Running.vue @@ -116,14 +116,14 @@ import { ref, onMounted, onUnmounted, watch, onActivated, onDeactivated } from 'vue' import { useRouter, useRoute } from 'vue-router' import { useTestTubeStore, useConsumablesStore } from '../../../store' -import { getBloodTypeLabel, processTubeSettings } from '../utils' +import { getBloodTypeLabel, processTubeSettings } from '../Utils' import { SampleDisplay, PlateDisplay, LittleBufferDisplay, BallGrid, EmergencyResultDialog, -} from '../components' +} from '../Components' import { wasteArea, getTubeRackState } from '../../../services/index' import type { Subtank, TubeRackInfo } from '../../../types/Index' import { getRunningList } from '../../../services/Index/running/running' diff --git a/src/pages/Index/Regular/TestTube.vue b/src/pages/Index/Regular/TestTube.vue index 26bc4f0..74cf70d 100644 --- a/src/pages/Index/Regular/TestTube.vue +++ b/src/pages/Index/Regular/TestTube.vue @@ -27,7 +27,7 @@ + + diff --git a/src/pages/Index/components/Consumables/ChangeNum.vue b/src/pages/Index/components/Consumables/ChangeNum.vue index 3b719e1..f05a017 100644 --- a/src/pages/Index/components/Consumables/ChangeNum.vue +++ b/src/pages/Index/components/Consumables/ChangeNum.vue @@ -57,7 +57,7 @@ const query = ref({ // 监听 value 的变化,同步更新 query watch(value, (newVal) => { query.value = { - group: `CG${ plateIndex.value } `, + group: `CG${ plateIndex.value + 1 }`, num: Number(newVal) } }) @@ -76,7 +76,7 @@ const openDialog = (plate, index) => { // 初始化 query query.value = { - group: `CG${index}`, + group: `CG${index+1}`, num: Number(plate.num) } } @@ -108,6 +108,7 @@ const handleConfirm = async () => { const res = await updateConsumables(query.value) if (res.success) { eventBus.emit('confirm', { + type: 'Plate', value: Number(value.value), index: plateIndex.value, }) diff --git a/src/pages/Index/components/Consumables/DragAreaEx.vue b/src/pages/Index/components/Consumables/DragAreaEx.vue new file mode 100644 index 0000000..7f27659 --- /dev/null +++ b/src/pages/Index/components/Consumables/DragAreaEx.vue @@ -0,0 +1,140 @@ + + + + + diff --git a/src/pages/Index/components/Consumables/InfoBar.vue b/src/pages/Index/components/Consumables/InfoBar.vue index 49ca56d..ef0d809 100644 --- a/src/pages/Index/components/Consumables/InfoBar.vue +++ b/src/pages/Index/components/Consumables/InfoBar.vue @@ -16,11 +16,11 @@ import { toRefs } from 'vue' const props = defineProps({ projectName: { type: String, - required: true, + // required: true, }, currentCount: { type: Number, - required: true, + // required: true, }, maxCount: { type: Number, @@ -39,9 +39,8 @@ const { projectName, currentCount, maxCount } = toRefs(props) justify-content: space-around; align-items: center; background-color: #808080; - border-radius: 5px; font-size: 32px; - height: 33px; + height: 32px; } .project-name { diff --git a/src/pages/Index/components/Consumables/MainComponent.vue b/src/pages/Index/components/Consumables/MainComponent.vue index 00bfc9d..4151241 100644 --- a/src/pages/Index/components/Consumables/MainComponent.vue +++ b/src/pages/Index/components/Consumables/MainComponent.vue @@ -1,7 +1,7 @@ @@ -227,30 +285,36 @@ const changePlate = (index: number) => { padding: 0; position: relative; display: flex; - justify-content: space-between; + flex-direction: column; + // justify-content: space-between; width: 100%; + .info-show-area { + display: flex; + } .title { font-size: 20px; /* 统一设置标题大小 */ font-weight: bold; } + .load-consumables { + margin: 0 8px; + padding: 0; + height: 100px; + font-size: 40px; + border-radius: 10px; + margin-bottom: 15px; + } + .move-liquid-area { width: 70%; display: flex; flex-direction: column; margin-left: 10px; gap: 9px; - - .load-consumables { - width: 98%; - padding: 0; - height: 100px; - font-size: 40px; - border-radius: 10px; - margin-bottom: 15px; - } + background-color: #f6f6f6; + border-radius: 10px; .move-liquid-title { width: 100%; @@ -270,6 +334,7 @@ const changePlate = (index: number) => { .move-liquid-controller { display: flex; + justify-content: space-between; flex-wrap: nowrap; .controller { @@ -289,10 +354,11 @@ const changePlate = (index: number) => { } .controller-number { - font-size: 32px; + font-size: 30px; font-weight: 600; border-radius: 10px; border: 3px solid #54a4e8; + padding: 0 4px; } } @@ -312,16 +378,15 @@ const changePlate = (index: number) => { width: 30%; display: flex; flex-direction: column; - justify-content: start; - height: 49.1875rem; - gap: 20px; + justify-content: stretch; + padding-left: 8px; + gap: 6px; .emergency-area, .id-area, .waste-area, .buffer-area { width: 90%; - margin: 11px 0; } .emergency-title, diff --git a/src/pages/Index/components/Consumables/Plate.vue b/src/pages/Index/components/Consumables/Plate.vue index 96bbe31..7c638a3 100644 --- a/src/pages/Index/components/Consumables/Plate.vue +++ b/src/pages/Index/components/Consumables/Plate.vue @@ -10,7 +10,6 @@ + + diff --git a/src/pages/Index/components/Consumables/SpttingPlates.vue b/src/pages/Index/components/Consumables/SpttingPlates.vue index 3928405..a71a426 100644 --- a/src/pages/Index/components/Consumables/SpttingPlates.vue +++ b/src/pages/Index/components/Consumables/SpttingPlates.vue @@ -7,65 +7,131 @@
反应板夹区
-
-
温度: {{ currentTemperature }}°
+
+
温度: {{ temperature }}°
-
+
+
+ + {{ platesValue[i - 1]?.projShortName }} + {{ platesValue[i - 1]?.num }}/25 +
+
+ + + +
+
- + +
- +
-
- - {{ plates[i - 1]?.projShortName }} - {{ plates[i - 1]?.num }}/25 -
-
- - - -
- +
\ No newline at end of file + diff --git a/src/pages/Index/components/Consumables/Warn/InitWarn.vue b/src/pages/Index/components/Consumables/Warn/InitWarn.vue index d4e289f..d9c5b1b 100644 --- a/src/pages/Index/components/Consumables/Warn/InitWarn.vue +++ b/src/pages/Index/components/Consumables/Warn/InitWarn.vue @@ -24,7 +24,7 @@