Browse Source

使用设备类型判断菜单是否显示

master
王梦远 2 weeks ago
parent
commit
2d5035b147
  1. 6
      src/components/common/SoftKeyboard/index.vue
  2. 4
      src/components/home/HomeSetting.vue
  3. 43
      src/components/system/ErrorEventsModal.vue
  4. 8
      src/layouts/default.vue
  5. 18
      src/router/routes.ts
  6. 4
      src/stores/deviceStore.ts
  7. 4
      src/views/debug/index.vue
  8. 12
      src/views/home/index.vue

6
src/components/common/SoftKeyboard/index.vue

@ -41,8 +41,7 @@ onMounted(() => {
const isOpen = ref(false)
watchEffect(() => {
// EventListener
console.log('deviceStete.deviceType--11-', deviceStete.isLowCost)
if (!deviceStete.isLowCost) {
if (deviceStete.deviceInfo.deviceType !== deviceStete.deviceTypeMap.LargeSpaceDM_B) { //
setTimeout(() => {
isOpen.value = props.isVisible
}, 100)
@ -53,8 +52,7 @@ watchEffect(() => {
watch(
() => props.isVisible,
(newVal) => {
console.log('deviceStete.deviceType--2-', deviceStete.isLowCost)
if (!deviceStete.isLowCost) {
if (deviceStete.deviceInfo.deviceType !== deviceStete.deviceTypeMap.LargeSpaceDM_B) {
isOpen.value = newVal
}
},

4
src/components/home/HomeSetting.vue

@ -218,7 +218,7 @@ const onClose = () => {
}
const settingWidth = computed(() => {
if (deviceStore.isLowCost) {
if (deviceStore.deviceInfo.deviceType === deviceStore.deviceTypeMap.LargeSpaceDM_B) {
return '12rem'
}
return '7.5rem'
@ -228,7 +228,7 @@ const settingWidth = computed(() => {
<template>
<div class="home-start-opt">
<div class="home-opt-flex">
<div v-if="!deviceStore.isLowCost">
<div v-if="deviceStore.deviceInfo.deviceType === deviceStore.deviceTypeMap.PipeDM">
<BtButton
button-text="压力控制"
text-size="1.3rem"

43
src/components/system/ErrorEventsModal.vue

@ -23,6 +23,17 @@ const confirmClose = (item: Record<string, any>) => {
}
syncSendCmd(params)
}
const getClassByType = (type: string) => {
if (type === 'AppCheckPointCheckFailEvent') {
return 'list-err'
}
else if (type === 'AppWarningPromoptEvent') {
return 'list-warn'
}
else {
return 'list-info'
}
}
</script>
<template>
@ -35,13 +46,17 @@ const confirmClose = (item: Record<string, any>) => {
<li
v-for="(item, index) in appEvents"
:key="index"
:class="getClassByType(item.type)"
>
<span v-if="item.errCheckPoints">
<span v-if="item.type === 'AppCheckPointCheckFailEvent'">
<span v-for="checkItem in item.errCheckPoints" :key="checkItem.ecode">
{{ checkItem.ecodeInfo }}
</span>
</span>
<span v-else>{{ item.description || item.message }}</span>
<span v-if="item.type === 'AppWarningPromoptEvent'">
{{ item.description }}
</span>
<span v-else>{{ item.message }}</span>
<div class="actions">
<button class="delete-button" @click.stop="confirmClose(item)">
关闭
@ -57,6 +72,30 @@ const confirmClose = (item: Record<string, any>) => {
</template>
<style lang="scss" scoped>
.list-warn {
padding: 10px;
margin-bottom: 5px;
border-radius: 4px;
border: 1px solid #E6A23C;
}
.list-info {
padding: 10px;
margin-bottom: 5px;
border-radius: 4px;
border: 1px solid #909399;
}
.list-err {
padding: 10px;
margin-bottom: 5px;
border-radius: 4px;
border: 1px solid #F56C6C;
}
.list-info {
padding: 10px;
margin-bottom: 5px;
border-radius: 4px;
border: 1px solid #f0f9eb;
}
.reconnect-modal-overlay {
position: fixed;
top: 0;

8
src/layouts/default.vue

@ -38,7 +38,6 @@ const sealInfo = ref(sealStore.sealInfo)
const websocketConnected = ref(systemStore.websocketConnected)
let touchStartTime = 0
let touchCount = 0
const isLowCost = ref()
onMounted(() => {
// 3
@ -99,7 +98,6 @@ watchEffect(() => {
//
sealInfo.value = sealStore.sealInfo
showDeviceStateName()
isLowCost.value = deviceStore.isLowCost
})
watch(
@ -150,7 +148,7 @@ const toggleLanguage = () => {
const statusMap = {
info: {
type: 'primary',
type: 'info',
name: '设备弹窗信息',
},
success: {
@ -204,7 +202,7 @@ const statusMap = {
</div>
</div>
<div class="user">
<span v-if="isLowCost">
<span v-if="deviceStore.deviceInfo.deviceType === deviceStore.deviceTypeMap.LargeSpaceDM_B">
<img v-if="websocketConnected" width="20" :src="WifiConnSvg" alt="">
<img v-else :src="WifiUnconnSvg" width="20" alt="">
</span>
@ -495,6 +493,8 @@ const statusMap = {
}
.footer-left {
border-right: 5px solid #f6f6f6;
align-items: center;
justify-content: center;
img {
height: 60%;
}

18
src/router/routes.ts

@ -112,12 +112,26 @@ const authRoutes = ref<RouteRecordRaw[]>([
watchEffect(() => {
setTimeout(() => {
const deviceStore = useDeviceStore()
if (deviceStore.isLowCost) {
if (deviceStore.deviceInfo.deviceType === deviceStore.deviceTypeMap.LargeSpaceDM_B) { // 大空间标准版
authRoutes.value = authRoutes.value.filter((item) => {
// return true
return item.name !== 'seal' && item.name !== 'liquid'
})
}
else if (deviceStore.deviceInfo.deviceType === deviceStore.deviceTypeMap.LargeSpaceDM) { // 大空间
authRoutes.value = authRoutes.value.filter((item) => {
return item.name !== 'seal'
})
}
else if (deviceStore.deviceInfo.deviceType === deviceStore.deviceTypeMap.SmallSpaceDM) { // 小空间
authRoutes.value = authRoutes.value.filter((item) => {
return item.name !== 'seal'
})
}
else if (deviceStore.deviceInfo.deviceType === deviceStore.deviceTypeMap.DrawBarDM) { // 拉杆箱
authRoutes.value = authRoutes.value.filter((item) => {
return item.name !== 'liquid'
})
}
}, 2000)
})

4
src/stores/deviceStore.ts

@ -34,13 +34,10 @@ export const useDeviceStore = defineStore('device', () => {
const deviceInfo = ref<Device.DeviceInfo>(initDeviceInfo)
// 使用deviceType区分是什么消毒机。低成本消毒机部署在移动pad,不显示软件键盘的开关。 拉杆消毒机是上位机显示软键盘
// 暂时使用 deviceType : ture 表示 为低成本。
const isLowCost = ref(true)
const deviceStete = ref<Device.State>(initState) // 设备状态
const updateDeviceInfo = (info: Device.DeviceInfo) => {
deviceInfo.value = info
isLowCost.value = info.projectType === 'DT600B'
// isLowCost.value = true
}
/**
@ -55,7 +52,6 @@ export const useDeviceStore = defineStore('device', () => {
return {
deviceTypeMap,
deviceInfo,
isLowCost,
deviceStete,
updateDeviceInfo,
setDeviceState,

4
src/views/debug/index.vue

@ -218,7 +218,7 @@ const printerDoTest = () => {
<div class="debug-lower">
<section>
<div>
<div v-if="!deviceStete.isLowCost" class="debug-left-lh">
<div v-if="deviceStete.deviceInfo.deviceType !== deviceStete.deviceTypeMap.LargeSpaceDM_B" class="debug-left-lh">
<div class="debug-label">
加液泵控制
</div>
@ -254,7 +254,7 @@ const printerDoTest = () => {
<bt-button button-text="关闭" @click="heatingDoClose" />
</div>
</div>
<div v-if="!deviceStete.isLowCost" class="debug-left-lh">
<div v-if="deviceStete.deviceInfo.deviceType !== deviceStete.deviceTypeMap.LargeSpaceDM_B" class="debug-left-lh">
<div class="debug-label">
气密性阀门模式
</div>

12
src/views/home/index.vue

@ -65,7 +65,7 @@ const styles = ref<any>({
const computedStyle = () => {
// console.log('homeStore.h2O2SensorData', homeStore.h2O2SensorData.length)
if (deviceStore.isLowCost) {
if (deviceStore.deviceInfo.deviceType === deviceStore.deviceTypeMap.LargeSpaceDM_B) {
if (homeStore.h2O2SensorData.length === 1) {
return {
gridTemplateColumns: 'repeat(1, 1fr)',
@ -152,11 +152,11 @@ const computedStyle = () => {
<div v-if="route.path === '/home'" class="home-grid-container">
<div class="home-left" :style="styles">
<el-card
v-if="!deviceStore.isLowCost"
v-if="deviceStore.deviceInfo.deviceType !== deviceStore.deviceTypeMap.LargeSpaceDM_B"
class="card"
:class="{
'card-center-1': !deviceStore.isLowCost && homeStore.h2O2SensorData.length === 2,
'card-center-2': !deviceStore.isLowCost && homeStore.h2O2SensorData.length === 4,
'card-center-1': deviceStore.deviceInfo.deviceType !== deviceStore.deviceTypeMap.LargeSpaceDM_B && homeStore.h2O2SensorData.length === 2,
'card-center-2': deviceStore.deviceInfo.deviceType !== deviceStore.deviceTypeMap.LargeSpaceDM_B && homeStore.h2O2SensorData.length === 4,
}"
>
<template #default>
@ -179,8 +179,8 @@ const computedStyle = () => {
:key="item.sensorId"
class="card"
:class="{
'card-center-1': index === 0 && deviceStore.isLowCost && homeStore.h2O2SensorData.length === 3,
'card-center-2': index === 0 && deviceStore.isLowCost && homeStore.h2O2SensorData.length === 5,
'card-center-1': index === 0 && deviceStore.deviceInfo.deviceType === deviceStore.deviceTypeMap.LargeSpaceDM_B && homeStore.h2O2SensorData.length === 3,
'card-center-2': index === 0 && deviceStore.deviceInfo.deviceType !== deviceStore.deviceTypeMap.LargeSpaceDM_B && homeStore.h2O2SensorData.length === 5,
}"
>
<Environment :env-params="item" />

Loading…
Cancel
Save