Browse Source

消毒是否开始状态

master
maochaoying 2 years ago
parent
commit
bebafd1944
  1. 33
      src/components/Operator.vue
  2. 41
      src/components/Progress.vue
  3. 19
      src/pages/Home.vue
  4. 3
      src/store/index.js
  5. 17
      src/store/modules/operator.js

33
src/components/Operator.vue

@ -26,11 +26,16 @@
<p>SET</p> <p>SET</p>
</div> </div>
<div class="set_form"> <div class="set_form">
<input type="number" v-model="roomSize" class="room_size" />
<input
type="number"
:disabled="operatorStore.disinfectStatus"
v-model="roomSize"
class="room_size"
/>
<div class="log" @click="showLogPicker">{{ logVal }}</div> <div class="log" @click="showLogPicker">{{ logVal }}</div>
</div> </div>
<div class="start" @click="startDisinfect">开始消毒</div> <div class="start" @click="startDisinfect">开始消毒</div>
<div class="progress">
<div class="progress" @click="toDetail">
<p class="title">消毒进度</p> <p class="title">消毒进度</p>
<div class="tube"> <div class="tube">
<div <div
@ -58,6 +63,22 @@ import WarnModal from 'cpns/dialogs/WarnModal'
import DisinfectantLiquidInfo from 'cpns/info/DisinfectantLiquidInfo' import DisinfectantLiquidInfo from 'cpns/info/DisinfectantLiquidInfo'
import EnvironmentInfo from 'cpns/info/EnvironmentInfo' import EnvironmentInfo from 'cpns/info/EnvironmentInfo'
import { ref } from 'vue' import { ref } from 'vue'
import { useOperatorStore } from '@/store'
const operatorStore = useOperatorStore()
const props = defineProps({
changeShowOperator: {
type: Function,
},
})
const toDetail = () => {
//
if (operatorStore.disinfectStatus) {
props.changeShowOperator(false)
}
}
const logVisible = ref(false) const logVisible = ref(false)
const logVal = ref(1) const logVal = ref(1)
@ -69,11 +90,17 @@ const changeLogVal = val => {
} }
const startDisinfect = () => { const startDisinfect = () => {
console.log('开始消毒')
//
if (!operatorStore.disinfectStatus) {
operatorStore.updateDisinfectStatus(true)
props.changeShowOperator(false)
}
} }
const showLogPicker = () => { const showLogPicker = () => {
if (!operatorStore.disinfectStatus) {
logVisible.value = true logVisible.value = true
}
} }
</script> </script>

41
src/components/Progress.vue

@ -14,8 +14,18 @@
</div> </div>
</div> </div>
<div class="right_btns"> <div class="right_btns">
<div class="btn active">暂停消毒</div>
<div class="btn ml">继续消毒</div>
<div
:class="operatorStore.disinfectStatus ? 'btn active' : 'btn'"
@click="pauseDisinfect"
>
暂停消毒
</div>
<div
:class="operatorStore.disinfectStatus ? 'btn ml' : 'btn ml active'"
@click="continueDisinfect"
>
继续消毒
</div>
</div> </div>
</div> </div>
<div class="echarts_wrap"> <div class="echarts_wrap">
@ -33,12 +43,35 @@
</div> </div>
</div> </div>
<div class="detail_wrap"> <div class="detail_wrap">
<div class="detail">详情</div>
<div class="detail" @click="showDetail">详情</div>
</div> </div>
</div> </div>
</template> </template>
<script setup></script>
<script setup>
import { useOperatorStore } from '@/store'
const operatorStore = useOperatorStore()
const props = defineProps({
changeShowOperator: {
type: Function,
},
})
const showDetail = () => {
props.changeShowOperator(true)
}
const pauseDisinfect = () => {
if (operatorStore.disinfectStatus) {
operatorStore.updateDisinfectStatus(false)
}
}
const continueDisinfect = () => {
if (!operatorStore.disinfectStatus) {
operatorStore.updateDisinfectStatus(true)
}
}
</script>
<style lang="scss" scoped> <style lang="scss" scoped>
.progress_container { .progress_container {

19
src/pages/Home.vue

@ -118,8 +118,14 @@
<p class="text">设置</p> <p class="text">设置</p>
</div> </div>
</div> </div>
<!-- <Operator v-if="activeTab == 1" /> -->
<Progress v-if="activeTab == 1" />
<Operator
v-if="activeTab == 1 && showOpertor"
:changeShowOperator="changeShowOperator"
/>
<Progress
v-if="activeTab == 1 && !showOpertor"
:changeShowOperator="changeShowOperator"
/>
<LiquidHandle v-if="[2, 3].includes(activeTab)" /> <LiquidHandle v-if="[2, 3].includes(activeTab)" />
<Test v-if="activeTab == 4" /> <Test v-if="activeTab == 4" />
<Setting v-if="activeTab == 5" /> <Setting v-if="activeTab == 5" />
@ -138,10 +144,19 @@ import Progress from 'cpns/Progress'
import LiquidHandle from 'cpns/LiquidHandle' import LiquidHandle from 'cpns/LiquidHandle'
import Setting from 'cpns/Setting' import Setting from 'cpns/Setting'
import Test from 'cpns/Test' import Test from 'cpns/Test'
import { useOperatorStore } from '@/store'
const showOpertor = ref(true)
const operatorStore = useOperatorStore()
const activeTab = ref(1) const activeTab = ref(1)
const nowTime = ref('') const nowTime = ref('')
const timer = ref(null) const timer = ref(null)
const changeShowOperator = flag => {
showOpertor.value = flag
}
const changeTab = index => { const changeTab = index => {
activeTab.value = index activeTab.value = index
} }

3
src/store/index.js

@ -1,7 +1,8 @@
import { createPinia } from 'pinia' import { createPinia } from 'pinia'
import { useTestStore } from './modules/test' import { useTestStore } from './modules/test'
import { useSettingStore } from './modules/setting' import { useSettingStore } from './modules/setting'
import { useOperatorStore } from './modules/operator'
const store = createPinia() const store = createPinia()
export default store export default store
export { useTestStore, useSettingStore }
export { useTestStore, useSettingStore, useOperatorStore }

17
src/store/modules/operator.js

@ -0,0 +1,17 @@
import { defineStore } from 'pinia'
export const useOperatorStore = defineStore({
id: 'operator', // id必填,且需要唯一
// state
state: () => {
return {
// 是否开始消毒
disinfectStatus: false,
}
},
// actions
actions: {
updateDisinfectStatus(val) {
this.disinfectStatus = val
},
},
})
Loading…
Cancel
Save