Browse Source

指令结构

master
maochaoying 2 years ago
parent
commit
6966cf4c16
  1. 29
      src/components/Setting/components/Device.vue
  2. 4
      src/mock/command.js
  3. 6
      src/pages/Home.vue
  4. 14
      src/store/modules/setting.js
  5. 24
      src/store/modules/websocket.js

29
src/components/Setting/components/Device.vue

@ -5,7 +5,7 @@
<p class="num">
<van-field
type="number"
v-model="addLiquidVal"
v-model="addLiquidConfigVal"
:clickable="true"
:formatter="formatter"
placeholder="设置加液蠕动泵转速"
@ -18,7 +18,7 @@
<p class="num">
<van-field
type="number"
v-model="sprayLiquidVal"
v-model="sprayLiquidConfigVal"
:clickable="true"
:formatter="formatter"
placeholder="设置喷液蠕动泵转速"
@ -32,12 +32,18 @@
<script setup>
import { ref } from 'vue'
import { showSuccessToast, showFailToast } from 'vant'
import { useSettingStore } from '@/store'
import { useSettingStore, useWebSocketStore } from '@/store'
import { storeToRefs } from 'pinia'
import { setSettingValJSON } from '@/mock/command'
const settingStore = useSettingStore()
const addLiquidVal = ref(settingStore.addLiquidConfigVal)
const sprayLiquidVal = ref(settingStore.sprayLiquidConfigVal)
const webSocketStore = useWebSocketStore()
const { addLiquidConfigVal, sprayLiquidConfigVal } = storeToRefs(settingStore)
const formatter = value => {
if (value > 2000) {
return '2000/g'
}
if (value != 0) {
var newVal = value.replace(/\b(0+)/gi, '')
return newVal + '/g'
@ -47,17 +53,26 @@ const formatter = value => {
const setAddliquidVal = () => {
const val = parseInt(
addLiquidVal.value.substring(0, addLiquidVal.value.length - 2),
addLiquidConfigVal.value.substring(0, addLiquidConfigVal.value.length - 2),
)
settingStore.changeAddLiquidConfigVal(val)
webSocketStore.sendCommandMsg(
setSettingValJSON('drainage_pump_speed', addLiquidConfigVal.value),
)
showSuccessToast('设置成功')
}
const setSprayLiquidVal = () => {
const val = parseInt(
sprayLiquidVal.value.substring(0, sprayLiquidVal.value.length - 2),
sprayLiquidConfigVal.value.substring(
0,
sprayLiquidConfigVal.value.length - 2,
),
)
settingStore.changeSprayLiquidConfigVal(val)
webSocketStore.sendCommandMsg(
setSettingValJSON('injection_pump_speed', sprayLiquidConfigVal.value),
)
showSuccessToast('设置成功')
}
</script>

4
src/mock/command.js

@ -58,7 +58,7 @@ export const getAllUserJSON = {
messageId: 'getAllUser',
}
export const getAllSetting = {
export const getAllSettingJSON = {
command: 'getAllSetting',
messageId: 'getAllSetting',
}
@ -71,7 +71,7 @@ export const getAllRecords = disinfection_id => {
}
}
export const setSettingVal = (settingName, settingVal) => {
export const setSettingValJSON = (settingName, settingVal) => {
return {
command: 'setSettingVal',
messageId: 'setSettingVal',

6
src/pages/Home.vue

@ -191,7 +191,7 @@ import {
useSettingStore,
useUserStore,
} from '@/store'
import { logoutJSON, getStateJSON } from '@/mock/command'
import { logoutJSON, getStateJSON, getAllSettingJSON } from '@/mock/command'
import { useRouter } from 'vue-router'
const router = useRouter()
@ -215,6 +215,10 @@ const changeShowOperator = flag => {
const changeTab = index => {
activeTab.value = index
if (index == 5) {
// getAllSetting
webSocketStore.sendCommandMsg(getAllSettingJSON)
}
}
const getdateTime = () => {

14
src/store/modules/setting.js

@ -14,10 +14,24 @@ export const useSettingStore = defineStore({
sprayLiquidConfigVal: 0,
// 首屏初始化
initLoading: true,
// 所有setting的对象数据
allSettingList: [],
}
},
// actions
actions: {
updateAllSettingList(allSettingList) {
// 对当前数组进行处理 赋予给泵参数
const addLiquid = allSettingList.filter(
item => item.name == 'drainage_pump_speed',
)[0]
const sprayLiquid = allSettingList.filter(
item => item.name == 'injection_pump_speed',
)[0]
this.addLiquidConfigVal = addLiquid.val
this.sprayLiquidConfigVal = sprayLiquid.val
this.allSettingList = allSettingList
},
updateInitLoading() {
this.initLoading = false
},

24
src/store/modules/websocket.js

@ -38,8 +38,6 @@ export const useWebSocketStore = defineStore({
userStore.updateUserList(dbval)
break
case 'chpasswd':
// const { dbval } = JSON.parse(ev.data)
// userStore.updateUserList(dbval)
break
case 'startDisinfection':
break
@ -47,6 +45,10 @@ export const useWebSocketStore = defineStore({
break
case 'login':
break
case 'getAllSetting':
const { dbval: allSetting } = JSON.parse(ev.data)
settingStore.updateAllSettingList(allSetting)
break
default:
break
}
@ -63,15 +65,15 @@ export const useWebSocketStore = defineStore({
init.connect()
init.ws.onmessage = function (data) {
// console.log(data)
const { command } = data
switch (command) {
case 'RealtimeSensorDataReport':
const { sensor_data } = data || {}
// 将sensor_data中的数据更新到store中
break
default:
break
}
// const { command } = data
// switch (command) {
// case 'RealtimeSensorDataReport':
// const { sensor_data } = data || {}
// // 将sensor_data中的数据更新到store中
// break
// default:
// break
// }
}
this.socketEventInstance = init
},

Loading…
Cancel
Save