|
@@ -9,14 +9,14 @@
|
|
|
<template #container>
|
|
|
<div class="vent-flex-row-between auto-control mt-10px mb-10px">
|
|
|
<div class="title">自动调节:</div>
|
|
|
- <a-radio-group :value="avePressSetting.isAutoControl" name="radioGroup" @change="changeIsAutoControl">
|
|
|
- <a-radio value="1">关闭</a-radio>
|
|
|
- <a-radio value="2">开启</a-radio>
|
|
|
+ <a-radio-group :value="avePressSetting.isAuto" name="radioGroup" @change="changeAvePressState($event, 'isAuto')">
|
|
|
+ <a-radio :value="false">关闭</a-radio>
|
|
|
+ <a-radio :value="true">开启</a-radio>
|
|
|
</a-radio-group>
|
|
|
</div>
|
|
|
<div class="vent-flex-row-between auto-control mt-10px mb-10px">
|
|
|
<div class="title">调节类型:</div>
|
|
|
- <a-radio-group :value="avePressSetting.controlType" name="radioGroup" @change="changeIsAutoControl">
|
|
|
+ <a-radio-group :value="avePressSetting.controlType" name="radioGroup" @change="changeAvePressState($event, 'controlType')">
|
|
|
<a-radio value="o2">氧气</a-radio>
|
|
|
<a-radio value="pressure">压差</a-radio>
|
|
|
</a-radio-group>
|
|
@@ -97,7 +97,7 @@
|
|
|
</div>
|
|
|
<PasswordModal :modal-is-show="modalVisible" modal-title="提交" @handle-ok="handleResolve" @handle-cancel="handleReject" />
|
|
|
<UpdatePassword @register="updatePwdRegister" @submit="handleChangePassword" />
|
|
|
- <BasicModal title="风门状态监测" :mask="false" :bodyStyle="{ height: '50px' }" style="top: 20px" :show-ok-btn="false" @register="warnRegister2">
|
|
|
+ <!-- <BasicModal title="风门状态监测" :mask="false" :bodyStyle="{ height: '50px' }" style="top: 20px" :show-ok-btn="false" @register="warnRegister2">
|
|
|
{{ warnModalText2 }}
|
|
|
</BasicModal>
|
|
|
<BasicModal
|
|
@@ -113,7 +113,7 @@
|
|
|
</BasicModal>
|
|
|
<BasicModal title="局扇状态监测" :mask="false" :bodyStyle="{ height: '50px' }" style="top: 420px" :show-ok-btn="false" @register="warnRegister3">
|
|
|
{{ warnModalText3 }}
|
|
|
- </BasicModal>
|
|
|
+ </BasicModal> -->
|
|
|
</a-spin>
|
|
|
</template>
|
|
|
<script setup lang="ts">
|
|
@@ -124,11 +124,11 @@
|
|
|
import { useInitConfigs } from '../../../home/configurable/hooks/useInit';
|
|
|
import { useGlobSetting } from '/@/hooks/setting';
|
|
|
import { settingParam4 } from '../balancePress.data';
|
|
|
- import { notification } from 'ant-design-vue';
|
|
|
+ import { Modal } from 'ant-design-vue';
|
|
|
import ventBox1 from '/@/components/vent/ventBox1.vue';
|
|
|
import PasswordModal from '../../comment/components/PasswordModal.vue';
|
|
|
import UpdatePassword from '../../comment/components/UpdatePassword.vue';
|
|
|
- import { BasicModal, useModal } from '/@/components/Modal';
|
|
|
+ import { useModal } from '/@/components/Modal';
|
|
|
import { connectWebSocket, onWebSocket } from '/@/hooks/web/useWebSocket';
|
|
|
import { getToken } from '/@/utils/auth';
|
|
|
import { useUserStore } from '/@/store/modules/user';
|
|
@@ -224,9 +224,6 @@
|
|
|
const { configs, fetchConfigs } = useInitConfigs();
|
|
|
|
|
|
const [updatePwdRegister, { openModal, closeModal, setModalProps }] = useModal();
|
|
|
- const [warnRegister1, warnModal1] = useModal();
|
|
|
- const [warnRegister2, warnModal2] = useModal();
|
|
|
- const [warnRegister3, warnModal3] = useModal();
|
|
|
|
|
|
function handleChangePassword(values) {
|
|
|
setModalProps({ confirmLoading: true });
|
|
@@ -250,14 +247,14 @@
|
|
|
});
|
|
|
};
|
|
|
}
|
|
|
- function changeIsAutoControl({ target }) {
|
|
|
- formData.value.isAutoControl = target.value;
|
|
|
+ function changeAvePressState({ target }, key) {
|
|
|
+ formData.value.temp = target.value;
|
|
|
modalVisible.value = true;
|
|
|
resolver = (password) => {
|
|
|
settingControl(
|
|
|
{ password, id: avePressSetting.value.id },
|
|
|
{
|
|
|
- isAutoControl: formData.value.isAutoControl,
|
|
|
+ [key]: formData.value.temp,
|
|
|
}
|
|
|
).finally(() => {
|
|
|
modalVisible.value = false;
|
|
@@ -286,9 +283,15 @@
|
|
|
resolver = null;
|
|
|
}
|
|
|
|
|
|
- const warnModalText1 = ref('');
|
|
|
- const warnModalText2 = ref('');
|
|
|
- const warnModalText3 = ref('');
|
|
|
+ // const [warnRegister1, warnModal1] = useModal();
|
|
|
+ // const [warnRegister2, warnModal2] = useModal();
|
|
|
+ // const [warnRegister3, warnModal3] = useModal();
|
|
|
+ const warnModal1 = ref();
|
|
|
+ const warnModal2 = ref();
|
|
|
+ const warnModal3 = ref();
|
|
|
+ // const warnModalText1 = ref('');
|
|
|
+ // const warnModalText2 = ref('');
|
|
|
+ // const warnModalText3 = ref('');
|
|
|
|
|
|
// 初始化 WebSocket
|
|
|
function initWebSocket() {
|
|
@@ -299,73 +302,86 @@
|
|
|
const url = `${glob.wsUrl?.replace('https://', 'wss://').replace('http://', 'ws://')}/websocket/${userStore.getUserInfo.id}?token=${token}`;
|
|
|
connectWebSocket(url);
|
|
|
onWebSocket((data: any) => {
|
|
|
- if (data.cmd === 'topic') {
|
|
|
- if (data.msgTxt) {
|
|
|
- const { info = '' } = JSON.parse(data.msgTxt);
|
|
|
- if (info.includes('局扇')) {
|
|
|
- warnModalText3.value = info;
|
|
|
- warnModal3.openModal();
|
|
|
- }
|
|
|
- if (info.includes('风门')) {
|
|
|
- warnModalText2.value = info;
|
|
|
- warnModal2.openModal();
|
|
|
- }
|
|
|
- if (info.includes('压差')) {
|
|
|
- warnModalText1.value = info;
|
|
|
- warnModal1.openModal();
|
|
|
- }
|
|
|
- }
|
|
|
+ if (data.cmd !== 'topic' || data.topic !== 'warn') return;
|
|
|
+ if (!data.msgTxt) return;
|
|
|
+
|
|
|
+ const { info = '', type = '' } = JSON.parse(data.msgTxt);
|
|
|
+ switch (type) {
|
|
|
+ case 'o2':
|
|
|
+ if (warnModal1.value) break;
|
|
|
+ warnModal1.value = Modal.confirm({
|
|
|
+ title: data.msgTitle,
|
|
|
+ content: info,
|
|
|
+ centered: true,
|
|
|
+ okText: '下发调节指令',
|
|
|
+ mask: true,
|
|
|
+ class: 'balancePress',
|
|
|
+ async onOk() {
|
|
|
+ await autoControl();
|
|
|
+ warnModal1.value = null;
|
|
|
+ },
|
|
|
+ onCancel: () => {
|
|
|
+ warnModal1.value = null;
|
|
|
+ },
|
|
|
+ });
|
|
|
+ // warnModalText1.value = info;
|
|
|
+ // warnModal1.openModal();
|
|
|
+
|
|
|
+ break;
|
|
|
+ case 'pressure':
|
|
|
+ // warnModalText1.value = info;
|
|
|
+ // warnModal1.openModal();
|
|
|
+ if (warnModal1.value) break;
|
|
|
+ warnModal1.value = Modal.confirm({
|
|
|
+ title: data.msgTitle,
|
|
|
+ content: info,
|
|
|
+ centered: true,
|
|
|
+ okText: '下发调节指令',
|
|
|
+ mask: true,
|
|
|
+ class: 'balancePress',
|
|
|
+ async onOk() {
|
|
|
+ await autoControl();
|
|
|
+ warnModal1.value = null;
|
|
|
+ },
|
|
|
+ onCancel: () => {
|
|
|
+ warnModal1.value = null;
|
|
|
+ },
|
|
|
+ });
|
|
|
+
|
|
|
+ break;
|
|
|
+ case 'gate':
|
|
|
+ if (warnModal2.value) break;
|
|
|
+ warnModal2.value = Modal.warn({
|
|
|
+ title: data.msgTitle,
|
|
|
+ content: info,
|
|
|
+ showOkBtn: false,
|
|
|
+ mask: true,
|
|
|
+ class: 'balancePress',
|
|
|
+ onOk: () => {
|
|
|
+ warnModal2.value = null;
|
|
|
+ },
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case 'fansys':
|
|
|
+ if (warnModal3.value) break;
|
|
|
+ warnModal3.value = Modal.warn({
|
|
|
+ title: data.msgTitle,
|
|
|
+ content: info,
|
|
|
+ showOkBtn: false,
|
|
|
+ mask: true,
|
|
|
+ class: 'balancePress',
|
|
|
+ style: 'top: 700px',
|
|
|
+ onOk: () => {
|
|
|
+ warnModal3.value = null;
|
|
|
+ },
|
|
|
+ });
|
|
|
+
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ break;
|
|
|
}
|
|
|
});
|
|
|
-
|
|
|
- // setInterval(() => {
|
|
|
- // const data = [
|
|
|
- // {
|
|
|
- // cmd: 'topic',
|
|
|
- // msgTxt: `{"info":"局扇-我是局扇啊!"}`,
|
|
|
- // },
|
|
|
- // {
|
|
|
- // cmd: 'topic',
|
|
|
- // msgTxt: `{"info":"压差-我是压差啊!"}`,
|
|
|
- // },
|
|
|
- // {
|
|
|
- // cmd: 'topic',
|
|
|
- // msgTxt: `{"info":"风门-我是风门啊!"}`,
|
|
|
- // },
|
|
|
- // ][(Math.random() * 3) | 0];
|
|
|
- // if (data.cmd === 'topic') {
|
|
|
- // if (data.msgTxt) {
|
|
|
- // const { info = '' } = JSON.parse(data.msgTxt);
|
|
|
- // if (info.includes('局扇')) {
|
|
|
- // warnModalText3.value = info;
|
|
|
- // warnModal3.openModal();
|
|
|
- // // notification.warn({
|
|
|
- // // description: info,
|
|
|
- // // message: '警报!',
|
|
|
- // // duration: 0,
|
|
|
- // // });
|
|
|
- // }
|
|
|
- // if (info.includes('风门')) {
|
|
|
- // warnModalText2.value = info;
|
|
|
- // warnModal2.openModal();
|
|
|
- // // notification.warn({
|
|
|
- // // description: info,
|
|
|
- // // message: '警报!',
|
|
|
- // // duration: 0,
|
|
|
- // // });
|
|
|
- // }
|
|
|
- // if (info.includes('压差')) {
|
|
|
- // warnModalText1.value = info;
|
|
|
- // warnModal1.openModal();
|
|
|
- // // notification.warn({
|
|
|
- // // description: info,
|
|
|
- // // message: '警报!',
|
|
|
- // // duration: 0,
|
|
|
- // // });
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }, 5000);
|
|
|
}
|
|
|
|
|
|
const settingFormDisabled = ref(true);
|
|
@@ -410,3 +426,11 @@
|
|
|
margin-top: 60px;
|
|
|
}
|
|
|
</style>
|
|
|
+<style>
|
|
|
+ /* .balancePress .zxm-modal-confirm-title {
|
|
|
+ font-size: 20px;
|
|
|
+ } */
|
|
|
+ .balancePress .zxm-modal-confirm-content {
|
|
|
+ font-size: 22px;
|
|
|
+ }
|
|
|
+</style>
|