Browse Source

优化

feature/user-0111
LiLongLong 7 months ago
parent
commit
c5949cefd2
  1. 7
      components.d.ts
  2. 2
      src/pages/Index/Index.vue
  3. 12
      src/pages/Index/Regular/Emergency.vue
  4. 30
      src/pages/Index/components/Consumables/MoveLiquidArea.vue
  5. 8
      src/utils/getServerInfo.ts
  6. 10
      tsconfig.app.json
  7. 119
      tsconfig.app.tsbuildinfo
  8. 2
      tsconfig.node.json

7
components.d.ts

@ -10,7 +10,11 @@ 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']
@ -18,4 +22,7 @@ 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']
}
}

2
src/pages/Index/Index.vue

@ -82,7 +82,7 @@
<script setup lang="ts">
import { ref, onMounted, onBeforeUnmount } from 'vue';
import { Time, InitWarn, LoadingModal } from './Components/Consumables';
import { Time, InitWarn, LoadingModal } from './components/Consumables';
import { startWork, pauseWork, continueWork, stopWork, getInitState, initDevice, saveMountedCardInfo, openBuzzer, closeBuzzer } from '../../services/index';
import { CheckItem, User } from '../../types/Index';
import { useConsumablesStore } from '../../store';

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

@ -111,13 +111,13 @@
import { ref, onMounted, onUnmounted, onActivated, onDeactivated, watch } from 'vue';
import { useRouter } from 'vue-router';
import { nanoid } from 'nanoid';
import { insertEmergency } from '../../../services/Index/index';
import { useEmergencyStore, useConsumablesStore, useDeviceStore } from '../../../store';
import type { ReactionPlate, AddEmergencyInfo } from '../../../types/Index';
import type { EmergencyPosStateMessage, TubeHolderStateMessage } from '../../../websocket/socket';
import { insertEmergency } from '@/services/Index/index';
import { useEmergencyStore, useConsumablesStore, useDeviceStore } from '@/store';
import type { ReactionPlate, AddEmergencyInfo } from '@/types/Index';
import type { EmergencyPosStateMessage, TubeHolderStateMessage } from '@/websocket/socket';
import { ElMessage } from 'element-plus';
import { createWebSocket } from '../../../websocket/socket';
import { getServerInfo } from '../../../utils/getServerInfo';
import { createWebSocket } from '@/websocket/socket';
import { getServerInfo } from '@/utils/getServerInfo';
const ws = createWebSocket(getServerInfo().wsUrl);
const consumableStore = useConsumablesStore();
const emergencyStore = useEmergencyStore();

30
src/pages/Index/components/Consumables/MoveLiquidArea.vue

@ -93,9 +93,9 @@
@click="showEmergencyInfo(emergencyStore.emergencyInfo)"
>
1
</div>
</div>
</div>
<button class="controller-button" @click="addEmergency">
<button class="controller-button" @click="addEmergency" :style="`background-color:${emergencyStatus?'#c84141':'#b4b4b4'}`" :disabled="!emergencyStatus">
添加急诊
</button>
</div>
@ -166,13 +166,14 @@
import BallGrid from './BallGrid.vue'
import BallGrid2 from './BallGrid2.vue'
import IdCardInfo from './IdCardInfo.vue'
import { ref, watch, reactive } from 'vue'
import { ref, watch, reactive, onMounted } from 'vue'
import { useRouter } from 'vue-router'
import { useEmergencyStore, useConsumablesStore } from '../../../../store'
import { LiquidState, BottleGroup } from '../../../../types/Index/index'
import wasteFullIcon from '@/assets/Index/waste-full.svg'
import wasteIcon from '@/assets/Index/waste.svg'
import type { EmergencyPosStateMessage } from '../../../../websocket/socket'
import { isTubeExist } from '@/services/Index/index';
const emergencyStore = useEmergencyStore()
const consumableStore = useConsumablesStore()
@ -196,6 +197,29 @@ const props = defineProps({
tempTipNum: Array,
wasteStatus: Boolean,
})
onMounted(() => {
//
getEmergencyStatus()
})
//
let emergencyStatus = ref(false)
const getEmergencyStatus = () => {
isTubeExist().then(res => {
console.log('这是急诊位状态=1=', res)
if(res && res.data){
const data = res.data
const { tube } = data;
const stateEm = ["EMPTY", "PROCESS_COMPLETE", "ERROR"];//EMPTY,PROCESS_COMPLETE,ERROR
if(tube && tube.state && stateEm.includes(tube.state)){
emergencyStatus.value = true;
}
}
})
}
const emit = defineEmits([
'loadConsumables',
'unloadConsumables',

8
src/utils/getServerInfo.ts

@ -3,16 +3,16 @@ export function getServerInfo(wsPath: string = '/api/v1/app/ws/state') {
const url = new URL(window.location.href)
// 获取主机名(IP 或域名)和端口号
const host = url.hostname // 例如: "192.168.1.100" 或 "localhost"
const port = '8082' // 使用固定的后端端口;由于本地开发时,8080被占用导致ws连接失败,所以使用8082
// const host = url.hostname // 例如: "192.168.1.100" 或 "localhost"
const host = "192.168.1.119";
// const port = '8082' // 使用固定的后端端口;由于本地开发时,8080被占用导致ws连接失败,所以使用8082
const port = "80"
// 构建 WebSocket URL
const wsProtocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:'
const wsUrl = `${wsProtocol}//${host}:${port}${wsPath}`
// 构建 HTTP URL
const httpUrl = `${window.location.protocol}//${host}:${port}` // 例如: "http://192.168.1.100:8082" 或 "http://localhost:8082"
return {
wsUrl,
httpUrl,

10
tsconfig.app.json

@ -1,5 +1,7 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"composite":true,
"target": "ES2020",
"useDefineForClassFields": true,
"module": "ESNext",
@ -18,7 +20,11 @@
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true
"noFallthroughCasesInSwitch": true,
"baseUrl": ".",
"paths": {
"@/*": ["src/*"]
},
},
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"]
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"],
}

119
tsconfig.app.tsbuildinfo

@ -1 +1,118 @@
{"root":["./src/eventbus.ts","./src/main.ts","./src/vite-env.d.ts","./src/components/index.ts","./src/components/dialogs/index.ts","./src/mock/os-control.ts","./src/mock/user-manage.ts","./src/mock/index.ts","./src/mock/index/consumables.ts","./src/mock/index/emergency.ts","./src/mock/index/history.ts","./src/mock/index/initable.ts","./src/mock/index/running.ts","./src/mock/index/testtube.ts","./src/pages/index/components/index.ts","./src/pages/index/components/consumables/index.ts","./src/pages/index/components/consumables/warn/index.ts","./src/pages/index/components/history/index.ts","./src/pages/index/components/running/index.ts","./src/pages/index/components/setting/index.ts","./src/pages/index/components/testtube/index.ts","./src/pages/index/utils/generatesamplebackground.ts","./src/pages/index/utils/getbloodtypelabel.ts","./src/pages/index/utils/index.ts","./src/pages/index/utils/processtubesettings.ts","./src/router/router.ts","./src/services/index.ts","./src/services/index/emergency.ts","./src/services/index/history.ts","./src/services/index/idcard.ts","./src/services/index/index.ts","./src/services/index/init.ts","./src/services/index/regular.ts","./src/services/index/user-manage.ts","./src/services/index/test-tube/test-tube.ts","./src/services/index/running/index.ts","./src/services/index/running/running.ts","./src/services/index/settings/index.ts","./src/services/index/settings/settings.ts","./src/services/login/index.ts","./src/services/login/login.ts","./src/services/oscontrol/index.ts","./src/services/oscontrol/os.ts","./src/store/index.ts","./src/store/modules/consumables.ts","./src/store/modules/device.ts","./src/store/modules/emergency.ts","./src/store/modules/settingtesttube.ts","./src/store/modules/test-tube.ts","./src/types/env.d.ts","./src/types/index/consumables.ts","./src/types/index/emergency.ts","./src/types/index/history.ts","./src/types/index/idcard.ts","./src/types/index/init.ts","./src/types/index/running.ts","./src/types/index/settings.ts","./src/types/index/testtube.ts","./src/types/index/user.ts","./src/types/index/index.ts","./src/types/index/osctrl.ts","./src/utils/axios.ts","./src/utils/formdate.ts","./src/utils/fuzzymatchbysequence.ts","./src/utils/getserverinfo.ts","./src/websocket/socket.ts","./src/app.vue","./src/components/keyboard.vue","./src/components/simplekeyboard.vue","./src/components/dialogs/errormodal.vue","./src/components/dialogs/stackinfomodal.vue","./src/pages/index/history.vue","./src/pages/index/index.vue","./src/pages/index/regular.vue","./src/pages/index/setting.vue","./src/pages/index/regular/consumables.vue","./src/pages/index/regular/emergency.vue","./src/pages/index/regular/running.vue","./src/pages/index/regular/testtube.vue","./src/pages/index/settings/device.vue","./src/pages/index/settings/lis.vue","./src/pages/index/settings/navbar.vue","./src/pages/index/settings/users.vue","./src/pages/index/settings/version.vue","./src/pages/index/testtube/changeuser.vue","./src/pages/index/components/consumables/ballgrid.vue","./src/pages/index/components/consumables/changenum.vue","./src/pages/index/components/consumables/idcardinfo.vue","./src/pages/index/components/consumables/infobar.vue","./src/pages/index/components/consumables/maincomponent.vue","./src/pages/index/components/consumables/moveliquidarea.vue","./src/pages/index/components/consumables/plate.vue","./src/pages/index/components/consumables/projectselector.vue","./src/pages/index/components/consumables/spttingplates.vue","./src/pages/index/components/consumables/tabbar.vue","./src/pages/index/components/consumables/time.vue","./src/pages/index/components/consumables/warn/initwarn.vue","./src/pages/index/components/consumables/warn/loadingmodal.vue","./src/pages/index/components/history/historymessage.vue","./src/pages/index/components/history/historytable.vue","./src/pages/index/components/history/historywarn.vue","./src/pages/index/components/running/emergencyresultdialog.vue","./src/pages/index/components/running/littlebufferdisplay.vue","./src/pages/index/components/running/platedisplay.vue","./src/pages/index/components/running/sampledisplay.vue","./src/pages/index/components/setting/addusermodal.vue","./src/pages/index/components/setting/delmessage.vue","./src/pages/index/components/setting/delwarn.vue","./src/pages/index/components/setting/enterpinmodal.vue","./src/pages/index/components/testtube/projectsetting.vue","./src/pages/index/components/testtube/testtuberack.vue","./src/pages/login/login.vue","./src/pages/notfound/notfound.vue"],"version":"5.6.3"}
{
"root": [
"./src/eventbus.ts",
"./src/main.ts",
"./src/vite-env.d.ts",
"./src/components/index.ts",
"./src/components/dialogs/index.ts",
"./src/mock/os-control.ts",
"./src/mock/user-manage.ts",
"./src/mock/index.ts",
"./src/mock/index/consumables.ts",
"./src/mock/index/emergency.ts",
"./src/mock/index/history.ts",
"./src/mock/index/initable.ts",
"./src/mock/index/running.ts",
"./src/mock/index/testtube.ts",
"./src/pages/index/components/index.ts",
"./src/pages/index/components/consumables/index.ts",
"./src/pages/index/components/consumables/warn/index.ts",
"./src/pages/index/components/history/index.ts",
"./src/pages/index/components/running/index.ts",
"./src/pages/index/components/setting/index.ts",
"./src/pages/index/components/testtube/index.ts",
"./src/pages/index/utils/generatesamplebackground.ts",
"./src/pages/index/utils/getbloodtypelabel.ts",
"./src/pages/index/utils/index.ts",
"./src/pages/index/utils/processtubesettings.ts",
"./src/router/router.ts",
"./src/services/index.ts",
"./src/services/index/emergency.ts",
"./src/services/index/history.ts",
"./src/services/index/idcard.ts",
"./src/services/index/index.ts",
"./src/services/index/init.ts",
"./src/services/index/regular.ts",
"./src/services/index/user-manage.ts",
"./src/services/index/test-tube/test-tube.ts",
"./src/services/index/running/index.ts",
"./src/services/index/running/running.ts",
"./src/services/index/settings/index.ts",
"./src/services/index/settings/settings.ts",
"./src/services/login/index.ts",
"./src/services/login/login.ts",
"./src/services/oscontrol/index.ts",
"./src/services/oscontrol/os.ts",
"./src/store/index.ts",
"./src/store/modules/consumables.ts",
"./src/store/modules/device.ts",
"./src/store/modules/emergency.ts",
"./src/store/modules/settingtesttube.ts",
"./src/store/modules/test-tube.ts",
"./src/types/env.d.ts",
"./src/types/index/consumables.ts",
"./src/types/index/emergency.ts",
"./src/types/index/history.ts",
"./src/types/index/idcard.ts",
"./src/types/index/init.ts",
"./src/types/index/running.ts",
"./src/types/index/settings.ts",
"./src/types/index/testtube.ts",
"./src/types/index/user.ts",
"./src/types/index/index.ts",
"./src/types/index/osctrl.ts",
"./src/utils/axios.ts",
"./src/utils/formdate.ts",
"./src/utils/fuzzymatchbysequence.ts",
"./src/utils/getserverinfo.ts",
"./src/websocket/socket.ts",
"./src/app.vue",
"./src/components/keyboard.vue",
"./src/components/simplekeyboard.vue",
"./src/components/dialogs/errormodal.vue",
"./src/components/dialogs/stackinfomodal.vue",
"./src/pages/index/history.vue",
"./src/pages/index/index.vue",
"./src/pages/index/regular.vue",
"./src/pages/index/setting.vue",
"./src/pages/index/regular/consumables.vue",
"./src/pages/index/regular/emergency.vue",
"./src/pages/index/regular/running.vue",
"./src/pages/index/regular/testtube.vue",
"./src/pages/index/settings/device.vue",
"./src/pages/index/settings/lis.vue",
"./src/pages/index/settings/navbar.vue",
"./src/pages/index/settings/users.vue",
"./src/pages/index/settings/version.vue",
"./src/pages/index/testtube/changeuser.vue",
"./src/pages/index/components/consumables/ballgrid.vue",
"./src/pages/index/components/consumables/changenum.vue",
"./src/pages/index/components/consumables/idcardinfo.vue",
"./src/pages/index/components/consumables/infobar.vue",
"./src/pages/index/components/consumables/maincomponent.vue",
"./src/pages/index/components/consumables/moveliquidarea.vue",
"./src/pages/index/components/consumables/plate.vue",
"./src/pages/index/components/consumables/projectselector.vue",
"./src/pages/index/components/consumables/spttingplates.vue",
"./src/pages/index/components/consumables/tabbar.vue",
"./src/pages/index/components/consumables/time.vue",
"./src/pages/index/components/consumables/warn/initwarn.vue",
"./src/pages/index/components/consumables/warn/loadingmodal.vue",
"./src/pages/index/components/history/historymessage.vue",
"./src/pages/index/components/history/historytable.vue",
"./src/pages/index/components/history/historywarn.vue",
"./src/pages/index/components/running/emergencyresultdialog.vue",
"./src/pages/index/components/running/littlebufferdisplay.vue",
"./src/pages/index/components/running/platedisplay.vue",
"./src/pages/index/components/running/sampledisplay.vue",
"./src/pages/index/components/setting/addusermodal.vue",
"./src/pages/index/components/setting/delmessage.vue",
"./src/pages/index/components/setting/delwarn.vue",
"./src/pages/index/components/setting/enterpinmodal.vue",
"./src/pages/index/components/testtube/projectsetting.vue",
"./src/pages/index/components/testtube/testtuberack.vue",
"./src/pages/login/login.vue",
"./src/pages/notfound/notfound.vue"
],
"version": "5.6.3"
}

2
tsconfig.node.json

@ -1,5 +1,7 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"composite":true,
"target": "ES2022",
"lib": ["ES2023"],
"module": "ESNext",

Loading…
Cancel
Save