Browse Source

feat:debug状态变更

feature/three
guoapeng 3 months ago
parent
commit
bd710da8ce
  1. 2
      src/components/home/SetTemperature/index.vue
  2. 25
      src/hooks/useActivateDebug.ts
  3. 7
      src/layouts/default.vue
  4. 5
      src/stores/systemStore.ts
  5. 2
      src/types/home.d.ts
  6. 2
      src/types/system.d.ts
  7. 2
      src/views/home/index.vue

2
src/components/home/SetTemperature/index.vue

@ -17,7 +17,7 @@ onMounted(() => {
}) })
const form = ref({ const form = ref({
temperature: undefined,
temperature: 0,
}) })
const formRef = ref() const formRef = ref()

25
src/hooks/useActivateDebug.ts

@ -0,0 +1,25 @@
import { useSystemStore } from 'stores/systemStore'
import { ref } from 'vue'
export const useActivateDebug = () => {
const systemStore = useSystemStore()
const logoClickCount = ref(0)
let clickTimeout: NodeJS.Timeout | null = null
const handleLogoClick = () => {
if (clickTimeout) {
clearTimeout(clickTimeout)
}
logoClickCount.value++
if (logoClickCount.value === 10) {
systemStore.updateDebug()
logoClickCount.value = 0 // 重置计数器
}
clickTimeout = setTimeout(() => {
logoClickCount.value = 0 // 重置计数器
}, 1000)
}
return {
handleLogoClick,
}
}

7
src/layouts/default.vue

@ -1,5 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import Exit from 'components/exit/index.vue' import Exit from 'components/exit/index.vue'
import { useActivateDebug } from 'hooks/useActivateDebug'
import { isClose } from 'libs/socket' import { isClose } from 'libs/socket'
import { formatDateTime } from 'libs/utils' import { formatDateTime } from 'libs/utils'
import { authRoutes } from 'router/routes' import { authRoutes } from 'router/routes'
@ -7,6 +8,8 @@ import { useSystemStore } from 'stores/systemStore'
import { onUnmounted, ref } from 'vue' import { onUnmounted, ref } from 'vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
const { handleLogoClick } = useActivateDebug()
const systemStore = useSystemStore() const systemStore = useSystemStore()
const router = useRouter() const router = useRouter()
@ -31,8 +34,8 @@ const onExitHandle = () => {
<el-container class="main"> <el-container class="main">
<el-header class="header"> <el-header class="header">
<div class="logo"> <div class="logo">
<img src="../assets/images/logo.svg" alt="">
<span class="title">长春黄金研究院有限公司</span>
<img src="../assets/images/logo.svg" alt="" @click="handleLogoClick">
<span class="title" @click="handleLogoClick">长春黄金研究院有限公司</span>
<img :class="systemStore.menuExpand ? 'expand-icon' : 'fold-icon'" src="../assets/images/expand.svg" alt="" @click="systemStore.updateMenuExpand()"> <img :class="systemStore.menuExpand ? 'expand-icon' : 'fold-icon'" src="../assets/images/expand.svg" alt="" @click="systemStore.updateMenuExpand()">
</div> </div>
<div class="header-right"> <div class="header-right">

5
src/stores/systemStore.ts

@ -74,7 +74,7 @@ export const useSystemStore = defineStore('system', {
], ],
pumping: false, pumping: false,
}, },
heatArea: [
heatModule: [
{ {
moduleCode: 'heat_module_01', moduleCode: 'heat_module_01',
trayStatus: 0, trayStatus: 0,
@ -139,6 +139,9 @@ export const useSystemStore = defineStore('system', {
systemList: [], systemList: [],
}), }),
actions: { actions: {
updateDebug() {
this.isDebug = !this.isDebug
},
updateSystemStatus(data: System.SystemStatus) { updateSystemStatus(data: System.SystemStatus) {
this.systemStatus = data this.systemStatus = data
}, },

2
src/types/home.d.ts

@ -8,7 +8,7 @@ declare namespace Home {
selected: boolean selected: boolean
} }
interface SetTargetTemperatureParams { interface SetTargetTemperatureParams {
moduleCode: 'heat_module_01' | 'heat_module_02' | 'heat_module_03' | 'heat_module_04' | 'heat_module_05' | 'heat_module_06'
moduleCode: string
temperature: number temperature: number
} }
} }

2
src/types/system.d.ts

@ -25,7 +25,7 @@ declare namespace System {
solutionContainer: SolutionContainer[] solutionContainer: SolutionContainer[]
pumping: boolean pumping: boolean
} }
heatArea: HeatArea[]
heatModule: HeatArea[]
tray: Tray[] tray: Tray[]
} }
interface Tray { interface Tray {

2
src/views/home/index.vue

@ -217,7 +217,7 @@ const take_photo = async () => {
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="15"> <el-col :span="15">
<div class="page-left"> <div class="page-left">
<Tube v-for="(item, index) in systemStore.systemStatus.heatArea" :key="item.moduleCode" :data="item" @select-change="homeStore.selectChange(index)" @set-temperature="setTemperature" />
<Tube v-for="(item, index) in systemStore.systemStatus.heatModule" :key="item.moduleCode" :data="item" @select-change="homeStore.selectChange(index)" @set-temperature="setTemperature" />
</div> </div>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">

Loading…
Cancel
Save