diff --git a/.env b/.env index cbdd3de..fe3f0dd 100644 --- a/.env +++ b/.env @@ -1 +1,5 @@ -VITE_BASE_URL=http://127.0.0.1:8080/ \ No newline at end of file +VITE_BASE_WS1_URL=ws://192.168.8.10:19001/ +VITE_BASE_WS2_URL=ws://192.168.8.10:19002/ + +# VITE_BASE_WS1_URL=ws://127.0.0.1:19001/ +# VITE_BASE_WS2_URL=ws://127.0.0.1:19002/ \ No newline at end of file diff --git a/src/components/LiquidHandle.vue b/src/components/LiquidHandle.vue index cfe18b2..d9ded32 100644 --- a/src/components/LiquidHandle.vue +++ b/src/components/LiquidHandle.vue @@ -17,7 +17,7 @@ v-if="tabType == 1" @click="stopAdd" > - 暂停加液 + 停止加液
开始加液
-
+
+ 停止排液 +
+
开始排液
@@ -61,6 +72,8 @@ @@ -73,6 +86,7 @@ import { storeToRefs } from 'pinia' import { startReplenishingFluidsJSON, stopReplenishingFluidsJSON, + stopDrainingJSON, } from '@/mock/command' const props = defineProps({ @@ -86,19 +100,37 @@ const tipModalVisible = ref(false) const webSocketStore = useWebSocketStore() const isAddLiquidStatus = ref(false) +const isPopLiquidStatus = ref(false) const startAdd = () => { - isAddLiquidStatus.value = true - webSocketStore.sendCommandMsg(startReplenishingFluidsJSON) + if (!isAddLiquidStatus.value) { + isAddLiquidStatus.value = true + webSocketStore.sendCommandMsg(startReplenishingFluidsJSON) + } } const stopAdd = () => { - isAddLiquidStatus.value = false - webSocketStore.sendCommandMsg(stopReplenishingFluidsJSON) + if (isAddLiquidStatus.value) { + isAddLiquidStatus.value = false + webSocketStore.sendCommandMsg(stopReplenishingFluidsJSON) + } +} + +const stopPop = () => { + if (isPopLiquidStatus.value) { + webSocketStore.sendCommandMsg(stopDrainingJSON) + isPopLiquidStatus.value = false + } +} + +const startPopFlag = () => { + isPopLiquidStatus.value = true } const startTabLiquid = () => { - tipModalVisible.value = true + if (!isPopLiquidStatus.value) { + tipModalVisible.value = true + } } const formatter = value => { diff --git a/src/components/Operator.vue b/src/components/Operator.vue index b1fbe91..22e82c0 100644 --- a/src/components/Operator.vue +++ b/src/components/Operator.vue @@ -37,6 +37,8 @@ :disabled="operatorStore.disinfectStatus" v-model="roomSize" class="room_size" + id="room_size" + @focus="handleShowKeyBoard" />
{{ logVal }}
@@ -47,8 +49,8 @@ 开始消毒
-

消毒进度

-
+

剩余时间

+ +
+ {{ + operatorStore.disinfectStatus + ? `${operatorStore.estimatedRemainingTimeS} S` + : '未开始' + }} +
@@ -73,9 +82,9 @@ import LogPicker from 'cpns/dialogs/LogPicker' import WarnModal from 'cpns/dialogs/WarnModal' import DisinfectantLiquidInfo from 'cpns/info/DisinfectantLiquidInfo' import EnvironmentInfo from 'cpns/info/EnvironmentInfo' -import { ref } from 'vue' +import { ref, watch, onMounted, onUnmounted } from 'vue' import { useOperatorStore, useWebSocketStore } from '@/store' -import { startDisinfectionJSON } from '@/mock/command' +import { startDisinfectionJSON, getStateJSON } from '@/mock/command' import { showSuccessToast, showFailToast } from 'vant' const operatorStore = useOperatorStore() @@ -85,6 +94,15 @@ const props = defineProps({ changeShowOperator: { type: Function, }, + handleShowKeyBoard: { + type: Function, + }, + hideKeyBoard: { + type: Function, + }, + input: { + type: String, + }, }) const toDetail = () => { @@ -98,6 +116,11 @@ const logVisible = ref(false) const logVal = ref(1) const roomSize = ref(0) +watch(() => { + console.log(props.input) + roomSize.value = props.input.match(/\d+/g) +}) + const changeLogVal = val => { logVal.value = val logVisible.value = false @@ -123,6 +146,16 @@ const showLogPicker = () => { logVisible.value = true } } + +const timer = ref(null) +onMounted(() => { + timer.value = setInterval(() => { + webSocketStore.sendCommandMsg(getStateJSON) + }, 1000) +}) +onUnmounted(() => { + timer.value = null +})