From dbda496e50aa7536c3521333ae968a8aeb6fefbe Mon Sep 17 00:00:00 2001
From: maochaoying <925670706@qq.com>
Date: Tue, 15 Aug 2023 16:29:11 +0800
Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E9=94=AE=E7=9B=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env | 6 ++++-
src/components/LiquidHandle.vue | 46 ++++++++++++++++++++++++++++-----
src/components/Operator.vue | 47 ++++++++++++++++++++++++++++++----
src/components/Progress.vue | 6 ++++-
src/components/SimpleKeyboard.vue | 6 ++++-
src/components/dialogs/LiquidModal.vue | 13 ++++++++--
src/mock/command.js | 7 ++++-
src/pages/Home.vue | 40 +++++++++++++++++++++++++++++
src/store/modules/websocket.js | 6 +++--
9 files changed, 157 insertions(+), 20 deletions(-)
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
+})