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

4
src/mock/command.js

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

6
src/pages/Home.vue

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

14
src/store/modules/setting.js

@ -14,10 +14,24 @@ export const useSettingStore = defineStore({
sprayLiquidConfigVal: 0, sprayLiquidConfigVal: 0,
// 首屏初始化 // 首屏初始化
initLoading: true, initLoading: true,
// 所有setting的对象数据
allSettingList: [],
} }
}, },
// actions // actions
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() { updateInitLoading() {
this.initLoading = false this.initLoading = false
}, },

24
src/store/modules/websocket.js

@ -38,8 +38,6 @@ export const useWebSocketStore = defineStore({
userStore.updateUserList(dbval) userStore.updateUserList(dbval)
break break
case 'chpasswd': case 'chpasswd':
// const { dbval } = JSON.parse(ev.data)
// userStore.updateUserList(dbval)
break break
case 'startDisinfection': case 'startDisinfection':
break break
@ -47,6 +45,10 @@ export const useWebSocketStore = defineStore({
break break
case 'login': case 'login':
break break
case 'getAllSetting':
const { dbval: allSetting } = JSON.parse(ev.data)
settingStore.updateAllSettingList(allSetting)
break
default: default:
break break
} }
@ -63,15 +65,15 @@ export const useWebSocketStore = defineStore({
init.connect() init.connect()
init.ws.onmessage = function (data) { init.ws.onmessage = function (data) {
// console.log(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 this.socketEventInstance = init
}, },

Loading…
Cancel
Save