Browse Source

开始消毒钱增加选择预设

master
maochaoying 2 years ago
parent
commit
2a40a0da96
  1. 8
      .env
  2. 30
      src/components/Operator.vue
  3. 134
      src/components/dialogs/PreInstallPicker.vue

8
.env

@ -1,5 +1,5 @@
VITE_BASE_WS1_URL=ws://192.168.8.10:19001/
VITE_BASE_WS2_URL=ws://192.168.8.10:19002/
# VITE_BASE_WS1_URL=ws://192.168.8.10:19001/
# VITE_BASE_WS2_URL=ws://192.168.8.10:19002/
# VITE_BASE_WS1_URL=ws://127.0.0.1:19001/
# VITE_BASE_WS2_URL=ws://127.0.0.1:19002/
VITE_BASE_WS1_URL=ws://127.0.0.1:19001/
VITE_BASE_WS2_URL=ws://127.0.0.1:19002/

30
src/components/Operator.vue

@ -409,7 +409,9 @@
<div class="time"> <div class="time">
<!-- 如果没有id则为未开始 --> <!-- 如果没有id则为未开始 -->
{{ {{
operatorStore.estimatedRemainingTimeS == 0
operatorStore.disinfection_id == ''
? '未开始'
: operatorStore.estimatedRemainingTimeS == 0
? '已结束' ? '已结束'
: `${time_To_hhmmss(operatorStore.estimatedRemainingTimeS)}` : `${time_To_hhmmss(operatorStore.estimatedRemainingTimeS)}`
}} }}
@ -423,6 +425,13 @@
:changeLogVal="changeLogVal" :changeLogVal="changeLogVal"
:logVal="logVal" :logVal="logVal"
/> />
<PreInstallPicker
v-if="preVisible"
:hiddenPreVisible="hiddenPreVisible"
:changePreVal="changePreVal"
:preVal="preVal"
:realStart="realStart"
/>
<DisinfectModal <DisinfectModal
v-if="disinfectWarnVisible" v-if="disinfectWarnVisible"
:hideDisinfectModal="hideDisinfectModal" :hideDisinfectModal="hideDisinfectModal"
@ -432,6 +441,7 @@
<script setup> <script setup>
import LogPicker from 'cpns/dialogs/LogPicker' import LogPicker from 'cpns/dialogs/LogPicker'
import PreInstallPicker from 'cpns/dialogs/PreInstallPicker'
import DisinfectModal from 'cpns/dialogs/DisinfectModal' import DisinfectModal from 'cpns/dialogs/DisinfectModal'
import WarnModal from 'cpns/dialogs/WarnModal' import WarnModal from 'cpns/dialogs/WarnModal'
import DisinfectantLiquidInfo from 'cpns/info/DisinfectantLiquidInfo' import DisinfectantLiquidInfo from 'cpns/info/DisinfectantLiquidInfo'
@ -446,6 +456,14 @@ const operatorStore = useOperatorStore()
const webSocketStore = useWebSocketStore() const webSocketStore = useWebSocketStore()
const disinfectWarnVisible = ref(false) const disinfectWarnVisible = ref(false)
const preVisible = ref(false)
const preVal = ref('2')
const hiddenPreVisible = () => {
preVisible.value = false
}
// //
const stopDisinfectStatus = () => { const stopDisinfectStatus = () => {
disinfectWarnVisible.value = true disinfectWarnVisible.value = true
@ -493,9 +511,18 @@ const changeLogVal = val => {
logVal.value = val logVal.value = val
logVisible.value = false logVisible.value = false
} }
const changePreVal = val => {
preVal.value = val
preVisible.value = false
}
const startDisinfect = () => { const startDisinfect = () => {
// //
//
preVisible.value = true
}
const realStart = () => {
localStorage.setItem('logVal', logVal.value) localStorage.setItem('logVal', logVal.value)
if (![1, 2].includes(operatorStore.disinfectStatus)) { if (![1, 2].includes(operatorStore.disinfectStatus)) {
localStorage.removeItem('bin') localStorage.removeItem('bin')
@ -505,7 +532,6 @@ const startDisinfect = () => {
startDisinfectionJSON(parseInt(logVal.value), parseInt(roomSize.value)), startDisinfectionJSON(parseInt(logVal.value), parseInt(roomSize.value)),
) )
props.changeShowOperator(false) props.changeShowOperator(false)
// log
} }
} }

134
src/components/dialogs/PreInstallPicker.vue

@ -0,0 +1,134 @@
<template>
<div class="pre_install_dialog_container">
<div class="modal_content">
<p class="title">选择消毒预设</p>
<div class="log_select">
<van-picker
:columns="columns"
:show-toolbar="false"
visible-option-num="3"
option-height="42"
v-model="selectedValues"
/>
</div>
<div class="ok_btn style-btn" @click="choosePre">确定</div>
<svg
class="close"
@click="handleClickClose"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
fill="none"
version="1.1"
width="13.06049919128418"
height="13.062000274658203"
viewBox="0 0 13.06049919128418 13.062000274658203"
>
<g>
<path
d="M6.531,7.5915L12,13.062L13.0605,12.0015L7.5915,6.531L13.0605,1.062L12,3.57628e-7L6.531,5.4705L1.062,0L0,1.062L5.4705,6.531L0,12L1.062,13.062L6.531,7.5915Z"
fill="#323233"
fill-opacity="1"
/>
</g>
</svg>
</div>
</div>
</template>
<script setup>
import { ref, watch } from 'vue'
const props = defineProps({
changePreVal: {
type: Function,
},
preVal: {
type: String,
},
hiddenPreVisible: {
type: Function,
},
realStart: {
type: Function,
},
})
const columns = ref([
{ text: '1 Pre', value: '1' },
{ text: '2 Pre', value: '2' },
{ text: '3 Pre', value: '3' },
])
const choosePre = () => {
props.changePreVal(selectedValues.value[0])
}
const handleClickClose = () => {
props.hiddenPreVisible()
}
const selectedValues = ref(['2'])
watch(() => {
selectedValues.value = [props.preVal]
})
</script>
<style lang="scss" scoped>
.pre_install_dialog_container {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 2;
display: flex;
align-items: center;
justify-content: center;
.modal_content {
width: 476px;
height: 407px;
border-radius: 16px;
background: #ffffff;
box-sizing: border-box;
padding: 45px 68px 62px 68px;
display: flex;
flex-direction: column;
align-items: center;
position: relative;
.close {
position: absolute;
right: 24px;
top: 18px;
}
.title {
font-family: Source Han Sans CN;
font-size: 22px;
font-weight: normal;
letter-spacing: 0.04em;
color: #000000;
margin-bottom: 39px;
}
.log_select {
width: 340px;
height: 113px;
overflow: hidden;
margin-bottom: 48px;
}
.ok_btn {
width: 340px;
height: 68px;
border-radius: 8px;
background: #06518b;
display: flex;
align-items: center;
justify-content: center;
font-family: Source Han Sans CN;
font-size: 23px;
font-weight: 350;
letter-spacing: 0em;
color: #ffffff;
}
}
}
</style>
Loading…
Cancel
Save