|
@@ -25,10 +25,12 @@
|
|
<div class="top-center row">
|
|
<div class="top-center row">
|
|
<div v-if="hasPermission('btn:control')" class="button-box" @click="playAnimation(1)">打开前门</div>
|
|
<div v-if="hasPermission('btn:control')" class="button-box" @click="playAnimation(1)">打开前门</div>
|
|
<div v-if="hasPermission('btn:control')" class="button-box" @click="playAnimation(2)">关闭前门</div>
|
|
<div v-if="hasPermission('btn:control')" class="button-box" @click="playAnimation(2)">关闭前门</div>
|
|
|
|
+ <div v-if="hasPermission('btn:control') && selectData.deviceType == 'gate_ss'" class="button-box" @click="playAnimation(8)">打开中间门</div>
|
|
|
|
+ <div v-if="hasPermission('btn:control') && selectData.deviceType == 'gate_ss'" class="button-box" @click="playAnimation(9)">关闭中间门</div>
|
|
<div v-if="hasPermission('btn:control')" class="button-box" @click="playAnimation(3)">打开后门</div>
|
|
<div v-if="hasPermission('btn:control')" class="button-box" @click="playAnimation(3)">打开后门</div>
|
|
<div v-if="hasPermission('btn:control')" class="button-box" @click="playAnimation(4)">关闭后门</div>
|
|
<div v-if="hasPermission('btn:control')" class="button-box" @click="playAnimation(4)">关闭后门</div>
|
|
- <div v-if="hasPermission('btn:control')" class="button-box" @click="playAnimation(5)">同时打开</div>
|
|
|
|
- <div v-if="hasPermission('btn:control')" class="button-box" @click="playAnimation(6)">同时关闭</div>
|
|
|
|
|
|
+ <div v-if="hasPermission('btn:control') && selectData.deviceType != 'gate_ss'" class="button-box" @click="playAnimation(5)">同时打开</div>
|
|
|
|
+ <div v-if="hasPermission('btn:control') && selectData.deviceType != 'gate_ss'" class="button-box" @click="playAnimation(6)">同时关闭</div>
|
|
</div>
|
|
</div>
|
|
<div class="top-right row" v-if="hasPermission('btn:remote')">
|
|
<div class="top-right row" v-if="hasPermission('btn:remote')">
|
|
<div class="control-type row">
|
|
<div class="control-type row">
|
|
@@ -86,8 +88,17 @@
|
|
<a-tag v-else-if="column.dataIndex === 'rearGateOpen' && record.rearGateOpen == 1 && record.rearGateClose == '0'" color="#46C66F"
|
|
<a-tag v-else-if="column.dataIndex === 'rearGateOpen' && record.rearGateOpen == 1 && record.rearGateClose == '0'" color="#46C66F"
|
|
>打开</a-tag
|
|
>打开</a-tag
|
|
>
|
|
>
|
|
|
|
+ <a-tag v-if="column.dataIndex === 'midGateOpen' && record.midGateOpen == '0' && record.midGateClose == '0'" color="red"
|
|
|
|
+ >正在运行</a-tag
|
|
|
|
+ >
|
|
|
|
+ <a-tag v-else-if="column.dataIndex === 'midGateOpen' && record.midGateOpen == '0' && record.midGateClose == 1" color="default"
|
|
|
|
+ >关闭</a-tag
|
|
|
|
+ >
|
|
|
|
+ <a-tag v-else-if="column.dataIndex === 'midGateOpen' && record.midGateOpen == 1 && record.midGateClose == '0'" color="#46C66F"
|
|
|
|
+ >打开</a-tag
|
|
|
|
+ >
|
|
<template v-if="column.dataIndex === 'ndoortype'">
|
|
<template v-if="column.dataIndex === 'ndoortype'">
|
|
- <span v-if="record.ndoortype == 0">气动风门</span>
|
|
|
|
|
|
+ <span v-if="record.ndoortype == '0'">气动风门</span>
|
|
<span v-else color="default">液压风门</span>
|
|
<span v-else color="default">液压风门</span>
|
|
</template>
|
|
</template>
|
|
<template v-if="column.dataIndex === 'doorUse'">
|
|
<template v-if="column.dataIndex === 'doorUse'">
|
|
@@ -104,8 +115,8 @@
|
|
<a-tag v-else-if="record.warnLevel == '1001'" color="default">网络中断</a-tag>
|
|
<a-tag v-else-if="record.warnLevel == '1001'" color="default">网络中断</a-tag>
|
|
<a-tag v-else color="green">正常</a-tag>
|
|
<a-tag v-else color="green">正常</a-tag>
|
|
</template>
|
|
</template>
|
|
- <a-tag v-else-if="column.dataIndex === 'warnFlag'" :color="record.warnFlag == 0 ? 'green' : 'red'">{{
|
|
|
|
- record.warnFlag == 0 ? '正常' : '报警'
|
|
|
|
|
|
+ <a-tag v-else-if="column.dataIndex === 'warnFlag'" :color="record.warnFlag == '0' ? 'green' : 'red'">{{
|
|
|
|
+ record.warnFlag == '0' ? '正常' : '报警'
|
|
}}</a-tag>
|
|
}}</a-tag>
|
|
<a-tag v-if="column.dataIndex === 'netStatus'" :color="record.netStatus == '0' ? '#f00' : 'green'">{{
|
|
<a-tag v-if="column.dataIndex === 'netStatus'" :color="record.netStatus == '0' ? '#f00' : 'green'">{{
|
|
record.netStatus == '0' ? '断开' : '连接'
|
|
record.netStatus == '0' ? '断开' : '连接'
|
|
@@ -216,6 +227,7 @@
|
|
|
|
|
|
const frontDoorIsOpen = ref(false); //前门是否开启
|
|
const frontDoorIsOpen = ref(false); //前门是否开启
|
|
const backDoorIsOpen = ref(false); //后门是否开启
|
|
const backDoorIsOpen = ref(false); //后门是否开启
|
|
|
|
+ const midDoorIsOpen = ref(false); //中间门是否开启
|
|
|
|
|
|
const modalIsShow = ref<boolean>(false); // 是否显示模态框
|
|
const modalIsShow = ref<boolean>(false); // 是否显示模态框
|
|
const modalTitle = ref(''); // 模态框标题显示内容,根据设备操作类型决定
|
|
const modalTitle = ref(''); // 模态框标题显示内容,根据设备操作类型决定
|
|
@@ -251,6 +263,8 @@
|
|
frontGateClose: '1',
|
|
frontGateClose: '1',
|
|
rearGateOpen: '0',
|
|
rearGateOpen: '0',
|
|
rearGateClose: '1',
|
|
rearGateClose: '1',
|
|
|
|
+ midGateOpen: '0',
|
|
|
|
+ midGateClose: '1',
|
|
fault: '气源压力超限',
|
|
fault: '气源压力超限',
|
|
masterComputer: 0,
|
|
masterComputer: 0,
|
|
frontGateOpenCtrl: false,
|
|
frontGateOpenCtrl: false,
|
|
@@ -324,11 +338,11 @@
|
|
const baseData: any = deviceBaseList.value.find((baseData: any) => baseData.id === selectRow.deviceID);
|
|
const baseData: any = deviceBaseList.value.find((baseData: any) => baseData.id === selectRow.deviceID);
|
|
Object.assign(selectData, initData, selectRow, baseData);
|
|
Object.assign(selectData, initData, selectRow, baseData);
|
|
isFrontOpenRunning = false; //开关门动作是否在进行
|
|
isFrontOpenRunning = false; //开关门动作是否在进行
|
|
- isFrontCloseRunning = false; //开关门动作是否在进行
|
|
|
|
isRearOpenRunning = false; //开关门动作是否在进行
|
|
isRearOpenRunning = false; //开关门动作是否在进行
|
|
- isRearCloseRunning = false; //开关门动作是否在进行
|
|
|
|
|
|
+ isMidOpenRunning = false; //开关门动作是否在进行
|
|
frontDeviceState = 0; //记录设备状态,为了与下一次监测数据做比较
|
|
frontDeviceState = 0; //记录设备状态,为了与下一次监测数据做比较
|
|
rearDeviceState = 0; //记录设备状态,为了与下一次监测数据做比较
|
|
rearDeviceState = 0; //记录设备状态,为了与下一次监测数据做比较
|
|
|
|
+ midDeviceState = 0; //记录设备状态,为了与下一次监测数据做比较
|
|
// const type = selectData.nwindownum == 1 ? 'singleWindow' : 'doubleWindow';
|
|
// const type = selectData.nwindownum == 1 ? 'singleWindow' : 'doubleWindow';
|
|
let type;
|
|
let type;
|
|
if (selectData['doorUse'] == 2) {
|
|
if (selectData['doorUse'] == 2) {
|
|
@@ -338,6 +352,8 @@
|
|
type = 'fm2';
|
|
type = 'fm2';
|
|
} else if (selectData.deviceType == 'gate_qd') {
|
|
} else if (selectData.deviceType == 'gate_qd') {
|
|
type = 'fm3';
|
|
type = 'fm3';
|
|
|
|
+ } else if (selectData.deviceType == 'gate_ss_two') {
|
|
|
|
+ type = 'fmTwoSs';
|
|
} else {
|
|
} else {
|
|
type = 'fm1'; // 液压
|
|
type = 'fm1'; // 液压
|
|
}
|
|
}
|
|
@@ -389,6 +405,24 @@
|
|
message.warning('后门已经关闭或正在关闭,请勿重新操作');
|
|
message.warning('后门已经关闭或正在关闭,请勿重新操作');
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
|
|
+ case 8: // 打开中间门
|
|
|
|
+ if (selectData.midGateOpen == '0' && selectData.midGateClose == '1') {
|
|
|
|
+ modalTitle.value = '打开中间门';
|
|
|
|
+ modalType.value = '8';
|
|
|
|
+ modalIsShow.value = true;
|
|
|
|
+ } else {
|
|
|
|
+ message.warning('后门已经打开或正在打开,请勿重新操作');
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ case 9: // 关闭中间门
|
|
|
|
+ if (selectData.midGateOpen == '1' && selectData.midGateClose == '0') {
|
|
|
|
+ modalTitle.value = '关闭中间门';
|
|
|
|
+ modalType.value = '9';
|
|
|
|
+ modalIsShow.value = true;
|
|
|
|
+ } else {
|
|
|
|
+ message.warning('后门已经关闭或正在关闭,请勿重新操作');
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
case 5: // 打开前后门
|
|
case 5: // 打开前后门
|
|
if (
|
|
if (
|
|
selectData.frontGateOpen == '0' &&
|
|
selectData.frontGateOpen == '0' &&
|
|
@@ -436,11 +470,11 @@
|
|
// return;
|
|
// return;
|
|
// }
|
|
// }
|
|
|
|
|
|
- if ((isFrontOpenRunning || isFrontCloseRunning) && (handlerState == 2 || handlerState == 1 || handlerState == 5 || handlerState == 6)) {
|
|
|
|
|
|
+ if (isOpenRunning && (handlerState == 2 || handlerState == 1 || handlerState == 5 || handlerState == 6)) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
- if ((isRearOpenRunning || isRearCloseRunning) && (handlerState == 3 || handlerState == 4 || handlerState == 5 || handlerState == 6)) {
|
|
|
|
|
|
+ if (isOpenRunning && (handlerState == 3 || handlerState == 4 || handlerState == 5 || handlerState == 6)) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -487,6 +521,22 @@
|
|
data.paramcode = 'rearGateClose_S';
|
|
data.paramcode = 'rearGateClose_S';
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
|
|
+ case '8': // 打开中间门
|
|
|
|
+ if (selectData.midGateOpen == '0' && selectData.midGateClose == '1') {
|
|
|
|
+ handler = () => {
|
|
|
|
+ midDoorIsOpen.value = true;
|
|
|
|
+ };
|
|
|
|
+ data.paramcode = 'midGateOpen_S';
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ case '9': // 关闭中间门
|
|
|
|
+ if (selectData.midGateOpen == '1' && selectData.midGateClose == '0') {
|
|
|
|
+ handler = () => {
|
|
|
|
+ midDoorIsOpen.value = false;
|
|
|
|
+ };
|
|
|
|
+ data.paramcode = 'midGateClose_S';
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
case '5': // 打开前后门
|
|
case '5': // 打开前后门
|
|
if (
|
|
if (
|
|
selectData.frontGateOpen == '0' &&
|
|
selectData.frontGateOpen == '0' &&
|
|
@@ -534,18 +584,21 @@
|
|
});
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ let isOpenRunning = false; //开关门动作是否在进行
|
|
/** 开关门动画调用 */
|
|
/** 开关门动画调用 */
|
|
let isFrontOpenRunning = false; //开关门动作是否在进行
|
|
let isFrontOpenRunning = false; //开关门动作是否在进行
|
|
- let isFrontCloseRunning = false; //开关门动作是否在进行
|
|
|
|
|
|
+ // let isFrontCloseRunning = false; //开关门动作是否在进行
|
|
let isRearOpenRunning = false; //开关门动作是否在进行
|
|
let isRearOpenRunning = false; //开关门动作是否在进行
|
|
- let isRearCloseRunning = false; //开关门动作是否在进行
|
|
|
|
|
|
+ // let isRearCloseRunning = false; //开关门动作是否在进行
|
|
|
|
+ let isMidOpenRunning = false; //中间门动作是否在进行
|
|
|
|
+ // let isMidCloseRunning = false; //中间门动作是否在进行
|
|
let frontDeviceState = 0; //记录设备状态,为了与下一次监测数据做比较
|
|
let frontDeviceState = 0; //记录设备状态,为了与下一次监测数据做比较
|
|
let rearDeviceState = 0; //记录设备状态,为了与下一次监测数据做比较
|
|
let rearDeviceState = 0; //记录设备状态,为了与下一次监测数据做比较
|
|
|
|
+ let midDeviceState = 0; //记录设备状态,为了与下一次监测数据做比较
|
|
function monitorAnimation(selectData) {
|
|
function monitorAnimation(selectData) {
|
|
const timeScale = 0.003;
|
|
const timeScale = 0.003;
|
|
|
|
|
|
- // if (selectData.frontGateOpen == 0 && selectData.frontGateClose == 0) {
|
|
|
|
|
|
+ // if (selectData.frontGateOpen == '0' && selectData.frontGateClose == '0') {
|
|
// //正在运行
|
|
// //正在运行
|
|
// // if (!isFrontOpenRunning) {
|
|
// // if (!isFrontOpenRunning) {
|
|
// // frontDoorIsOpen.value = true;
|
|
// // frontDoorIsOpen.value = true;
|
|
@@ -555,9 +608,17 @@
|
|
// // frontDeviceState = 1;
|
|
// // frontDeviceState = 1;
|
|
// // }
|
|
// // }
|
|
// }
|
|
// }
|
|
-
|
|
|
|
- if (selectData.frontGateOpen == 1 && selectData.frontGateClose == 0) {
|
|
|
|
- isFrontOpenRunning = false;
|
|
|
|
|
|
+ if (
|
|
|
|
+ (selectData.frontGateOpen == '0' && selectData.frontGateClose == '0') ||
|
|
|
|
+ (selectData.rearGateOpen == '0' && selectData.rearGateClose == '0') ||
|
|
|
|
+ (selectData.midGateOpen == '0' && selectData.rearGateClose == '0')
|
|
|
|
+ ) {
|
|
|
|
+ isOpenRunning = true;
|
|
|
|
+ } else {
|
|
|
|
+ isOpenRunning = false;
|
|
|
|
+ }
|
|
|
|
+ if (selectData.frontGateOpen == 1 && selectData.frontGateClose == '0' && !isFrontOpenRunning) {
|
|
|
|
+ isFrontOpenRunning = true;
|
|
if (frontDeviceState != 1) {
|
|
if (frontDeviceState != 1) {
|
|
// import.meta.env.VITE_GLOB_IS_SIMULATE ? play(1, timeScale) : play(1);
|
|
// import.meta.env.VITE_GLOB_IS_SIMULATE ? play(1, timeScale) : play(1);
|
|
play(1, timeScale);
|
|
play(1, timeScale);
|
|
@@ -566,8 +627,8 @@
|
|
backDoorIsOpen.value = true;
|
|
backDoorIsOpen.value = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if (selectData.frontGateClose == 1 && selectData.frontGateOpen == 0) {
|
|
|
|
- isFrontCloseRunning = false;
|
|
|
|
|
|
+ if (selectData.frontGateClose == 1 && selectData.frontGateOpen == '0' && isFrontOpenRunning) {
|
|
|
|
+ isFrontOpenRunning = false;
|
|
if (frontDeviceState != 2) {
|
|
if (frontDeviceState != 2) {
|
|
// import.meta.env.VITE_GLOB_IS_SIMULATE ? play(2, timeScale) : play(2);
|
|
// import.meta.env.VITE_GLOB_IS_SIMULATE ? play(2, timeScale) : play(2);
|
|
play(2, timeScale);
|
|
play(2, timeScale);
|
|
@@ -576,8 +637,8 @@
|
|
// backDoorIsOpen.value = false
|
|
// backDoorIsOpen.value = false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if (selectData.rearGateOpen == 1 && selectData.rearGateClose == 0) {
|
|
|
|
- isRearOpenRunning = false;
|
|
|
|
|
|
+ if (selectData.rearGateOpen == 1 && selectData.rearGateClose == '0' && !isRearOpenRunning) {
|
|
|
|
+ isRearOpenRunning = true;
|
|
|
|
|
|
if (rearDeviceState != 3) {
|
|
if (rearDeviceState != 3) {
|
|
rearDeviceState = 3;
|
|
rearDeviceState = 3;
|
|
@@ -588,8 +649,8 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- if (selectData.rearGateClose == 1 && selectData.rearGateOpen == 0) {
|
|
|
|
- isRearCloseRunning = false;
|
|
|
|
|
|
+ if (selectData.rearGateClose == 1 && selectData.rearGateOpen == '0' && isRearOpenRunning) {
|
|
|
|
+ isRearOpenRunning = false;
|
|
if (rearDeviceState != 4) {
|
|
if (rearDeviceState != 4) {
|
|
rearDeviceState = 4;
|
|
rearDeviceState = 4;
|
|
// import.meta.env.VITE_GLOB_IS_SIMULATE ? play(4, timeScale) : play(4);
|
|
// import.meta.env.VITE_GLOB_IS_SIMULATE ? play(4, timeScale) : play(4);
|
|
@@ -597,6 +658,28 @@
|
|
backDoorIsOpen.value = false;
|
|
backDoorIsOpen.value = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if (selectData.midGateOpen == 1 && selectData.midGateClose == '0' && !isMidOpenRunning) {
|
|
|
|
+ isMidOpenRunning = true;
|
|
|
|
+
|
|
|
|
+ if (midDeviceState != 8) {
|
|
|
|
+ midDeviceState = 8;
|
|
|
|
+ // import.meta.env.VITE_GLOB_IS_SIMULATE ? play(3, timeScale) : play(3);
|
|
|
|
+ play(8, timeScale);
|
|
|
|
+ backDoorIsOpen.value = false;
|
|
|
|
+ frontDoorIsOpen.value = true;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (selectData.midGateClose == 1 && selectData.midGateOpen == '0' && isMidOpenRunning) {
|
|
|
|
+ isMidOpenRunning = false;
|
|
|
|
+ if (midDeviceState != 9) {
|
|
|
|
+ midDeviceState = 9;
|
|
|
|
+ // import.meta.env.VITE_GLOB_IS_SIMULATE ? play(4, timeScale) : play(4);
|
|
|
|
+ play(9, timeScale);
|
|
|
|
+ backDoorIsOpen.value = false;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
function handleCancel() {
|
|
function handleCancel() {
|