This commit is contained in:
sunzhenyu 2020-06-10 16:30:58 +08:00
commit 4cec1efc09
37 changed files with 3180 additions and 850 deletions

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,7 @@
import Group from 'zrender/src/container/Group';
import Line from 'zrender/src/graphic/shape/Line';
import Polygon from 'zrender/src/graphic/shape/Polygon';
import JTriangle from '../utils/JTriangle';
export default class line extends Group {
constructor(device) {
@ -36,6 +38,60 @@ export default class line extends Group {
if (model.classify == 'dashed') {
this.iscsLine.setStyle('lineDash', [8, 6]);
}
if (model.arrowShow == 'star') {
const traingle = new JTriangle(this.model.point1, this.model.point2);
let rotation = Math.PI * 2 - Math.atan2(traingle.absy, traingle.absx) * traingle.drictx * traingle.dricty;
if (this.model.point1.x >= this.model.point2.x) {
rotation += Math.PI;
}
this.arrows = new Polygon({
zlevel: model.zlevel,
z: model.z,
origin: [0, 0],
rotation: rotation,
shape: {
points: [
[0, 0],
[model.arrowSize * 2.8, -model.arrowSize],
[model.arrowSize * 2.8, model.arrowSize]
],
smooth: 0
},
style: {
lineWidth: 0,
fill: model.fillColor
}
});
this.grouper.add(this.arrows);
} else if (model.arrowShow == 'end') {
const traingle = new JTriangle(this.model.point2, this.model.point1);
let rotation = Math.PI * 2 - Math.atan2(traingle.absy, traingle.absx) * traingle.drictx * traingle.dricty;
if (this.model.point1.x <= this.model.point2.x) {
rotation += Math.PI;
}
const x = model.point2.x - model.point1.x;
const y = model.point2.y - model.point1.y;
this.arrows = new Polygon({
zlevel: model.zlevel,
z: model.z,
origin: [x, y],
rotation: rotation,
shape: {
points: [
[x, y],
[x + model.arrowSize * 2.8, y - model.arrowSize],
[x + model.arrowSize * 2.8, y + model.arrowSize]
],
smooth: 0
},
style: {
lineWidth: 0,
fill: model.fillColor
}
});
this.grouper.add(this.arrows);
}
this.grouper.add(this.iscsLine);
this.add(this.grouper);
}

View File

@ -0,0 +1,73 @@
/** 三角函数计算 */
function JTriangle(beg, end) {
this.init(beg, end);
}
JTriangle.prototype = {
constructor: JTriangle,
beg: null,
end: null,
abspowx: 0,
abspowy: 0,
abspowz: 0,
drictx: 0,
dricty: 0,
drict: 0,
init (beg, end) {
this.beg = beg;
this.end = end;
this.abspowx = Math.pow(this.end.x - this.beg.x, 2);
this.abspowy = Math.pow(this.end.y - this.beg.y, 2);
this.abspowz = this.abspowx + this.abspowy;
this.absx = Math.abs(this.end.x - this.beg.x);
this.absy = Math.abs(this.end.y - this.beg.y);
this.absz = Math.sqrt(Math.pow(this.end.x - this.beg.x, 2), Math.pow(this.end.y - this.beg.y, 2));
this.drictx = this.end.x > this.beg.x ? 1 : -1;
this.dricty = this.end.y > this.beg.y ? 1 : -1;
this.drict = this.drictx * this.dricty;
this.diff_x = end.x - beg.x;
this.diff_y = end.y - beg.y;
},
getRotation () {
return Math.atan(this.diff_y / this.diff_x);
},
getAngle () {
return 360 * Math.atan(this.diff_y / this.diff_x) / (2 * Math.PI);
},
getCos (n) {
return this.drictx * Math.sqrt(Math.pow(n, 2) * this.abspowx / this.abspowz);
},
getSin (n) {
return this.dricty * Math.sqrt(Math.pow(n, 2) * this.abspowy / this.abspowz);
},
getAbsCos(n) {
return Math.sqrt(Math.pow(n, 2) * this.abspowx / this.abspowz);
},
getAbsSin(n) {
return Math.sqrt(Math.pow(n, 2) * this.abspowy / this.abspowz);
},
getCosRate () {
return Math.sqrt(this.abspowx / this.abspowz);
},
getSinRate () {
return Math.sqrt(this.abspowy / this.abspowz);
},
getTanRate () {
var diff_x = this.end.x - this.beg.x;
var diff_y = this.end.y - this.beg.y;
return Math.abs(diff_y / diff_x);
},
getCotRate () {
var diff_x = this.end.x - this.beg.x;
var diff_y = this.end.y - this.beg.y;
return Math.abs(diff_x / diff_y);
},
middlePoint () {
return {
x: Math.min(this.end.x, this.beg.x) + Math.abs(this.end.x - this.beg.x) / 2,
y: Math.min(this.end.y, this.beg.y) + Math.abs(this.end.y - this.beg.y) / 2
};
}
};
export default JTriangle;

View File

@ -448,9 +448,11 @@ class Jlmap {
if (index) {
status.atsControl = status.atsControl && elem.atsControl;
status.fleetMode = status.fleetMode || elem.fleetMode;
status.ciControl = status.ciControl && elem.ciControl;
} else {
status.atsControl = elem.atsControl;
status.fleetMode = elem.fleetMode;
status.ciControl = elem.ciControl;
}
});
}

View File

@ -34,12 +34,12 @@ class EMouse extends Group {
direction = this.device.model.right != 1;
}
if (LangStorage.getLang() == 'en') {
text = ` The planned train: ${trainType} \n Table No.: ${this.device.model.serviceNumber} \n Train Trip No.: ${this.device.model.tripNumber}\n Destination: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n Train No.: ${this.device.model.groupNumber}\n Early or late: ${destinationText}\n Direction: ${direction ? 'up' : 'down'}\n Crew No.: \n Start Station: \n Terminal Station: \n Occupied Track: ${this.device.model.sectionModel ? this.device.model.sectionModel.parentName : ''}\n Current Station: \n Train-ground communication: normal \n Operation Speed level: 4 \n Detained: ${this.device.model.hold ? 'Detained' : 'Normal'}\n \n 跳停状态: ${this.device.model.jump ? 'Skip to continue moving' : 'Normal'}Stationary: ${!this.device.model.stop ? 'No' : 'Yes'}\n Blocked: No \n Speed: ${this.device.model.speed || 0} km/h \n Authorized Distance: ${this.device.model.maLen || 0} m`;
text = ` The planned train: ${trainType} \n Table No.: ${this.device.model.serviceNumber} \n Train Trip No.: ${this.device.model.tripNumber}\n Destination: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n Train No.: ${this.device.model.groupNumber}\n Early or late: ${destinationText}\n Direction: ${direction ? 'up' : 'down'}\n Crew No.: \n Start Station: \n Terminal Station: \n Occupied Track: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n Current Station: \n Train-ground communication: normal \n Operation Speed level: 4 \n Detained: ${this.device.model.hold ? 'Detained' : 'Normal'}\n \n 跳停状态: ${this.device.model.jump ? 'Skip to continue moving' : 'Normal'}Stationary: ${!this.device.model.stop ? 'No' : 'Yes'}\n Blocked: No \n Speed: ${this.device.model.speed || 0} km/h \n Authorized Distance: ${this.device.model.maLen || 0} m`;
} else {
if (Vue.prototype.$jlmap.lineCode == '11' || Vue.prototype.$jlmap.lineCode == '10') {
text = `列车类型: ${trainType}\n\0\0\0\0源:人工标记\n\0\0号: ${this.device.model.groupNumber}\n\0\0\0\0号: ${this.device.model.serviceNumber}\n\0\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n\0\0点: ${destinationText}\n运行方向: ${direction ? '上行' : '下行'}\nATP报告方向: ${direction ? '上行' : '下行'}\n起点站名: \n终点站名: \n占用轨道: ${this.device.model.sectionModel ? this.device.model.sectionModel.parentName : ''}\n所在车站: \n车次通信: 通信车\n运行时间: \n停站时间: \n扣车状态: ${ this.device.model.hold ? '扣车' : '正常'}\n车载扣车: 不执行\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'}\n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车状态: CTC车\n最高信号系统控制: CTC\n驾驶模式: SM模式\n最高ATP模式: AM\nATP1状态: 激活\nATP2状态: 备用\n速度: ${this.device.model.speed || 0} km/h\n车门状态: ${this.device.model.speed ? '关闭' : direction ? '左开右关' : '左关右开'}\n制动状态: 无紧急制动\n停车保证: 可保证停车\n站台无法进入: 否\n前方站台停车点: 中间\n折法策略: \n折返状态: \n屏蔽门开门许可: 是\n运营里程: 无效\n总重量: 196T\n车长: 11860cm\n列车编组: 1`;
text = `列车类型: ${trainType}\n\0\0\0\0源:人工标记\n\0\0号: ${this.device.model.groupNumber}\n\0\0\0\0号: ${this.device.model.serviceNumber}\n\0\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n\0\0点: ${destinationText}\n运行方向: ${direction ? '上行' : '下行'}\nATP报告方向: ${direction ? '上行' : '下行'}\n起点站名: \n终点站名: \n占用轨道: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n所在车站: \n车次通信: 通信车\n运行时间: \n停站时间: \n扣车状态: ${ this.device.model.hold ? '扣车' : '正常'}\n车载扣车: 不执行\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'}\n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车状态: CTC车\n最高信号系统控制: CTC\n驾驶模式: SM模式\n最高ATP模式: AM\nATP1状态: 激活\nATP2状态: 备用\n速度: ${this.device.model.speed || 0} km/h\n车门状态: ${this.device.model.speed ? '关闭' : direction ? '左开右关' : '左关右开'}\n制动状态: 无紧急制动\n停车保证: 可保证停车\n站台无法进入: 否\n前方站台停车点: 中间\n折法策略: \n折返状态: \n屏蔽门开门许可: 是\n运营里程: 无效\n总重量: 196T\n车长: 11860cm\n列车编组: 1`;
} else {
text = `列车类型: ${trainType} \n\0\0\0\0号: ${this.device.model.serviceNumber}\n\0\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n\0\0号: ${this.device.model.groupNumber}\n\0\0点: ${destinationText}\n运行方向: ${direction ? '上行' : '下行'}\n乘务组号: \n起点站名: \n终点站名: \n占用轨道: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n所在车站: \n车地通信: 正常\n运行等级: 4\n扣车状态: ${ this.device.model.hold ? '扣车' : '正常'}\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'} \n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车速度: ${this.device.model.speed || 0} km/h\n列车移动授权距离: ${this.device.model.maLen || 0} m`;
text = `列车类型: ${trainType} \n\0\0\0\0号: ${this.device.model.serviceNumber}\n\0\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n\0\0号: ${this.device.model.groupNumber}\n\0\0点: ${destinationText}\n运行方向: ${direction ? '上行' : '下行'}\n乘务组号: \n起点站名: \n终点站名: \n占用轨道: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n所在车站: \n车地通信: 正常\n运行等级: 4\n扣车状态: ${this.device.model.hold ? '扣车' : '正常'}\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'} \n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车速度: ${this.device.model.speed || 0} km/h\n列车移动授权距离: ${this.device.model.maLen || 0} m`;
}
}
const trainTip = this.device.style.Train.common.trainTip;

View File

@ -85,6 +85,10 @@ export default {
return '信号机控制';
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
return '信号机控制';
} else if (this.operation == OperationEvent.Signal.setAutoTrigger.menu.operation) {
return '设置联锁自动触发';
} else if (this.operation == OperationEvent.Signal.cancelAutoTrigger.menu.operation) {
return '取消联锁自动触发';
}
return '';
}
@ -146,6 +150,10 @@ export default {
this.singalPassModel(); //
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
this.singalCancelPassModel(); //
} else if (this.operation == OperationEvent.Signal.setAutoTrigger.menu.operation) {
this.setAutoTrigger(); /** 设置联锁自动触发*/
} else if (this.operation == OperationEvent.Signal.cancelAutoTrigger.menu.operation) {
this.cancelAutoTrigger(); /** 取消联锁自动触发*/
}
},
//
@ -208,6 +216,26 @@ export default {
this.sendCommand(operate);
},
//
setAutoTrigger() {
const operate = {
over: true,
operation: OperationEvent.Signal.setAutoTrigger.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO_TRIGGER
};
this.sendCommand(operate);
},
//
cancelAutoTrigger() {
const operate = {
over: true,
operation: OperationEvent.Signal.cancelAutoTrigger.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO_TRIGGER
};
this.sendCommand(operate);
},
sendCommand(operate) {
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {

View File

@ -188,12 +188,12 @@ export default {
getLevelByTime(time) {
const times = Object.keys(this.timeList).findIndex(key => {
return this.timeList[key].findIndex(obj => {
return obj.value === time;
return obj.value == time;
}) >= 0;
}).toString();
return times == -1 ? '0' : times;
},
loadInitData(selected, opts) {
loadInitData(selected) {
this.tempData = [];
const index = this.stationList.findIndex(n => n.code == selected.stationCode);
if (selected.direction == '01') { //
@ -201,18 +201,18 @@ export default {
if (index != 0) {
const stationStand = this.$store.getters['map/getDeviceByCode'](this.stationStandList[index + 1].code);
const station = this.$store.getters['map/getDeviceByCode'](stationStand.stationCode);
this.tempData.push({ name: `${stationStand.name}(${station.name})`, level: this.getLevelByTime(opts.intervalRunTime), time: opts.intervalRunTime ? opts.intervalRunTime : 0, check: opts.intervalRunTimeValidStatus });
this.tempData.push({ name: `${stationStand.name}(${station.name})`, level: this.getLevelByTime(selected.runLevelTime), time: selected.runLevelTime ? selected.runLevelTime : 0, check: !!selected.runLevelTimeForever });
}
} else {
//
if (index != this.stationList.length) {
const stationStand = this.$store.getters['map/getDeviceByCode'](this.stationStandList[index + 1].code);
const station = this.$store.getters['map/getDeviceByCode'](stationStand.stationCode);
this.tempData.push({ name: `${stationStand.name}(${station.name})`, level: this.getLevelByTime(opts.intervalRunTime), time: opts.intervalRunTime ? opts.intervalRunTime : 0, check: opts.intervalRunTimeValidStatus });
this.tempData.push({ name: `${stationStand.name}(${station.name})`, level: this.getLevelByTime(selected.runLevelTime), time: selected.runLevelTime ? selected.runLevelTime : 0, check: !!selected.runLevelTimeForever });
}
}
},
doShow(operate, selected, opts) {
doShow(operate, selected) {
this.selected = selected;
//
if (!this.dialogShow) {
@ -225,7 +225,7 @@ export default {
this.stationName = station.name;
}
}
this.loadInitData(selected, opts);
this.loadInitData(selected);
}
this.dialogShow = true;
@ -249,10 +249,11 @@ export default {
},
timeSelectChange(time) {
const operate = {
operation: OperationEvent.StationStand.setRunLevel.choose.operation
operation: OperationEvent.StationStand.setRunLevel.choose.operation,
val: this.time
};
this.time = time.toString();
this.time = time;
this.isSelect = false;
this.isConfirm = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
@ -263,7 +264,8 @@ export default {
},
levelSelectChange(row) {
const operate = {
operation: OperationEvent.StationStand.setRunLevel.chooseLevel.operation
operation: OperationEvent.StationStand.setRunLevel.chooseLevel.operation,
val: row.level
};
this.time = row.time = this.timeList[row.level][0].value;
@ -277,8 +279,10 @@ export default {
},
checkChange(check) {
const operate = {
operation: OperationEvent.StationStand.setRunLevel.check.operation
operation: OperationEvent.StationStand.setRunLevel.check.operation,
val: check
};
this.isConfirm = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
@ -299,7 +303,7 @@ export default {
operation: OperationEvent.StationStand.setRunLevel.menu.operation,
cmdType: CMD.Stand.CMD_STAND_SET_RUN_TIME,
param: {
runLevelTime: this.time,
runLevelTime: Number(this.time),
runLevelTimeForever: !!this.tempData[0].check
}
};

View File

@ -38,8 +38,8 @@
<span class="base-label" style="left: -9px;">有效次数</span>
<div style=" position: relative; top:-10px;">
<el-radio-group v-model="effective" :disabled="disabledTime" @change="chooseEffective">
<el-radio :id="effective === 0? '': domIdChoose2" label="0" name="effective">一次有效</el-radio>
<el-radio :id="effective === 1? '': domIdChoose2" label="1" name="effective">一直有效</el-radio>
<el-radio :id="effective == '0'? '': domIdChoose2" label="0" name="effective">一次有效</el-radio>
<el-radio :id="effective == '1'? '': domIdChoose2" label="1" name="effective">一直有效</el-radio>
</el-radio-group>
</div>
</div>
@ -128,7 +128,7 @@ export default {
});
},
methods: {
doShow(operate, selected, tempDate) {
doShow(operate, selected) {
this.selected = selected || {};
//
if (!this.dialogShow) {
@ -142,11 +142,11 @@ export default {
}
}
this.control = Number(tempDate.parkingTime) === -1 ? '01' : '02';
this.time = Number(tempDate.parkingTime) === -1 ? 15 : Number(tempDate.parkingTime);
// this.effective = tempDate.parkingValidStatus ? true : false;
this.effective = tempDate.parkingValidStatus ? '1' : '0';
this.control = Number(selected.parkingTime) == -1 ? '01' : '02';
this.effective = selected.parkingAlwaysValid ? '1' : '0';
this.direction = selected.direction;
this.time = Number(selected.parkingTime) == -1 ? 15 : Number(selected.parkingTime);
}
this.dialogShow = true;
this.$nextTick(function () {
@ -162,12 +162,13 @@ export default {
chooseControl(control) {
/** 自动时的默认时间*/
if (control == '01') {
this.inputTime = 15;
this.effective = 1;
this.time = 15;
this.effective = '1';
}
const operate = {
operation: OperationEvent.StationStand.setStopTime.choose1.operation
operation: OperationEvent.StationStand.setStopTime.choose1.operation,
val: this.control
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
@ -178,7 +179,8 @@ export default {
},
chooseEffective() {
const operate = {
operation: OperationEvent.StationStand.setStopTime.choose2.operation
operation: OperationEvent.StationStand.setStopTime.choose2.operation,
val: this.effective
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
@ -190,7 +192,8 @@ export default {
inputTime() {
const operate = {
repeat: true,
operation: OperationEvent.StationStand.setStopTime.input.operation
operation: OperationEvent.StationStand.setStopTime.input.operation,
val: this.time
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
@ -205,11 +208,9 @@ export default {
operation: OperationEvent.StationStand.setStopTime.menu.operation,
cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME,
param: {
parkingTime: this.control == '01' ? -1 : 1,
runLevelTime: this.time,
parkingTime: this.control == '01' ? -1 : this.time,
parkingAlwaysValid: this.effective == '1'
}
// messages: [`: ${this.stationName} - ${this.standName}, ${this.control == '01' ? '' : this.time + ''}, ${this.effective == false ? '' : ''}`]
};
this.loading = true;
@ -217,8 +218,6 @@ export default {
this.loading = false;
if (valid) {
this.doClose();
// this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
// this.$refs.confirmControl.doShow(operate);
}
}).catch((error) => {
this.loading = false;

View File

@ -1,9 +1,9 @@
<template>
<div v-if="isShowBtn" class="menu menuButton" style="height:45px;" :style="{left: point.x+'px', bottom: point.y+'px' }">
<button
:id="Signal.cancelTrainRoute.button.domId"
:id="MixinCommand.totalCancel.button.domId"
:style="{display: 'block', float: 'left', width: width+'px', backgroundColor:buttonUpColor}"
@click="buttonDown(Signal.cancelTrainRoute.button.operation)"
@click="buttonDown(MixinCommand.totalCancel.button.operation)"
>
<span style="color: black">
<center>
@ -278,6 +278,9 @@ export default {
},
isShowBtn() {
return this.$store.state.training.prdType == '01';
},
MixinCommand() {
return OperationEvent.MixinCommand;
}
},
watch: {

View File

@ -11,9 +11,9 @@
:modal="false"
:close-on-click-modal="false"
>
<el-radio-group v-model="control" :disabled="true">
<el-radio-group v-model="control">
<el-row v-for="item in Object.keys(controlProps)" :key="item" style="padding-bottom: 10px;padding-top:10px">
<el-radio :label="item" disabled="false">{{ controlProps[item] }}</el-radio>
<el-radio :label="item" :disabled="controlPropDisabled[item]">{{ controlProps[item] }}</el-radio>
</el-row>
</el-radio-group>
<el-row type="flex" justify="center" class="button-group">
@ -31,155 +31,161 @@ import { MapDeviceType, TrainingMode, OperationEvent, getDomIdByOperation, check
import NoticeInfo from '../dialog/childDialog/childDialog/noticeInfo';
export default {
name: 'StationStand',
components: {
NoticeInfo
},
data() {
return {
operate: null,
dialogShow: false,
disabledClose: false,
disabledCommit: false,
control: '01',
controlProps: {
'01': '全线扣车',
'02': '取消全线扣车'
}
name: 'StationStand',
components: {
NoticeInfo
},
data() {
return {
operate: null,
dialogShow: false,
disabledClose: false,
disabledCommit: false,
control: '01',
controlProps: {
'01': '全线扣车',
'02': '取消全线扣车'
},
controlPropDisabled:{
'01':false,
'02':false
}
};
},
computed: {
...mapGetters('map', [
'stationList'
]),
...mapGetters('training', [
'mode',
'started'
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
title() {
if (this.dialogShow) {
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
return '全线扣车';
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
return '取消全线扣车';
}
}
},
domIdCommit() {
if (this.dialogShow) {
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
return OperationEvent.StationStand.setDetainTrainAll.menu.domId;
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
return OperationEvent.StationStand.cancelDetainTrainAll.menu.domId;
}
}
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate) {
if (!this.dialogShow) {
this.operate = operate || {};
this.operation = operate.operation;
}
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
// 线
this.control = '01';
this.controlPropDisabled['01'] = false;
this.controlPropDisabled['02'] = true;
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
// 线
this.control = '02';
this.controlPropDisabled['01'] = true;
this.controlPropDisabled['02'] = false;
}
};
},
computed: {
...mapGetters('map', [
'stationList'
]),
...mapGetters('training', [
'mode',
'started'
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
title() {
if (this.dialogShow) {
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
return '全线扣车';
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
return '取消全线扣车';
}
}
},
domIdCommit() {
if (this.dialogShow) {
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
return OperationEvent.StationStand.setDetainTrainAll.menu.domId;
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
return OperationEvent.StationStand.cancelDetainTrainAll.menu.domId;
}
}
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate) {
if (!this.dialogShow) {
this.operate = operate || {};
this.operation = operate.operation;
}
this.dialogShow = true;
this.$store.dispatch('training/emitTipFresh');
},
doClose() {
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
cancel() {
const operate = {
type: 'bar',
operation: OperationEvent.Command.cancel.menu.operation
};
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
// 线
this.control = '01';
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
// 线
this.control = '02';
}
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
});
},
this.dialogShow = true;
this.$store.dispatch('training/emitTipFresh');
},
doClose() {
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
cancel() {
const operate = {
type: 'bar',
operation: OperationEvent.Command.cancel.menu.operation
};
//
handleCommit() {
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
// 线
this.setDetainTrainAll();
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
// 线
this.cancelDetainTrainAll();
}
},
this.$store.dispatch('training/next', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
});
},
// 线
setDetainTrainAll() {
const operate = {
send: true,
type: MapDeviceType.StationStand.type,
operation: OperationEvent.StationStand.setDetainTrainAll.menu.operation,
val: this.control,
messages: ['确认设置全线扣车!']
};
//
handleCommit() {
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
// 线
this.setDetainTrainAll();
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
// 线
this.cancelDetainTrainAll();
}
},
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
} else {
this.disabledSure = false;
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(operate);
// 线
setDetainTrainAll() {
const operate = {
send: true,
type: MapDeviceType.StationStand.type,
operation: OperationEvent.StationStand.setDetainTrainAll.menu.operation,
val: this.control,
messages: ['确认设置全线扣车!']
};
});
},
this.$store.dispatch('training/next', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
} else {
this.disabledSure = false;
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(operate);
// 线
cancelDetainTrainAll() {
const operate = {
send: true,
type: MapDeviceType.StationStand.type,
operation: OperationEvent.StationStand.cancelDetainTrainAll.menu.operation,
val: this.control,
messages: ['确认取消全线扣车!']
};
});
},
// 线
cancelDetainTrainAll() {
const operate = {
send: true,
type: MapDeviceType.StationStand.type,
operation: OperationEvent.StationStand.cancelDetainTrainAll.menu.operation,
val: this.control,
messages: ['确认取消全线扣车!']
};
this.$store.dispatch('training/next', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
} else {
this.disabledSure = false;
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(operate);
});
}
}
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
} else {
this.disabledSure = false;
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(operate);
});
}
}
};
</script>
<style scoped rel="stylesheet/scss" lang="scss" scoped>

View File

@ -11,9 +11,9 @@
:modal="false"
:close-on-click-modal="false"
>
<el-radio-group v-model="control" :disabled="true">
<el-radio-group v-model="control">
<el-row v-for="item in Object.keys(controlProps)" :key="item" style="padding-bottom: 10px;padding-top:10px">
<el-radio :label="item">{{ controlProps[item] }}</el-radio>
<el-radio :label="item" :disabled="controlPropDisabled[item]">{{ controlProps[item] }}</el-radio>
</el-row>
</el-radio-group>
<el-row type="flex" justify="center" class="button-group">
@ -45,8 +45,11 @@ export default {
controlProps: {
'01': '取消上行全线扣车',
'02': '取消下行全线扣车'
},
controlPropDisabled:{
'01':false,
'02':false
}
};
},
computed: {
@ -97,9 +100,13 @@ export default {
if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) {
// 线
this.control = '01';
this.controlPropDisabled['01'] = false;
this.controlPropDisabled['02'] = true;
} else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) {
// 线
this.control = '02';
this.controlPropDisabled['01'] = true;
this.controlPropDisabled['02'] = false;
}
this.dialogShow = true;

View File

@ -69,12 +69,12 @@ export default {
label: '区段切除',
handler: this.split,
cmdType: CMD.Section.CMD_SECTION_CUT_OFF
},
{
label: '设置临时限速',
handler: this.setSpeed,
cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED
}
// {
// label: '',
// handler: this.setSpeed,
// cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED
// }
]
},
menuForce: [
@ -203,15 +203,15 @@ export default {
this.$refs.sectionControl.doShow(operate, this.selected);
}
});
},
//
setSpeed() {
commitOperate(menuOperate.Section.setSpeed, {sectionCode:this.selected.code}, 0).then(({valid, operate})=>{
if (valid) {
this.$refs.speedLimitControl.doShow(operate, this.selected);
}
});
}
// //
// setSpeed() {
// commitOperate(menuOperate.Section.setSpeed, {sectionCode:this.selected.code}, 0).then(({valid, operate})=>{
// if (valid) {
// this.$refs.speedLimitControl.doShow(operate, this.selected);
// }
// });
// }
}
};
</script>

View File

@ -101,6 +101,16 @@ export default {
handler: this.atsAutoControl,
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
},
{
label: '设置联锁自动触发',
handler: this.setAutoTrigger,
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO_TRIGGER
},
{
label: '取消联锁自动触发',
handler: this.cancelAutoTrigger,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO_TRIGGER
},
{
label: '查询进路状态',
handler: this.detail,
@ -245,6 +255,23 @@ export default {
}
break;
}
case OperationEvent.MixinCommand.totalCancel.button.operation: {
//
// const occupy = this.isTrainOccupy(selectType);
// if (occupy) {
// //
// this.signalCloseByLow(selectType);
// } else {
//
this.cancelTrainRouteByLow(selectType);
// }
break;
}
case OperationEvent.Signal.humanTrainRoute.button.operation: {
//
this.humanTrainRoute(selectType);
break;
}
}
},
//
@ -255,6 +282,13 @@ export default {
}
});
},
//
cancelTrainRouteByLow(selectType) {
commitOperate(menuOperate.Signal.cancelTrainRoute, {signalCode:selectType.code}, 3).then(({valid, operate})=>{
}).catch(error=>{
this.$refs.noticeInfo.doShow({}, error.message);
});
},
//
cancelTrainRoute() {
commitOperate(menuOperate.Signal.cancelTrainRoute, {signalCode:this.selected.code}, 0).then(({valid, operate})=>{
@ -327,6 +361,22 @@ export default {
this.$refs.noticeInfo.doShow({}, error.message);
});
},
//
setAutoTrigger() {
commitOperate(menuOperate.Signal.setAutoTrigger, {signalCode:this.selected.code}, 0).then(({valid, operate})=>{
if (valid) {
this.$refs.routeControl.doShow(operate, this.selected);
}
});
},
//
cancelAutoTrigger() {
commitOperate(menuOperate.Signal.cancelAutoTrigger, {signalCode:this.selected.code}, 0).then(({valid, operate})=>{
if (valid) {
this.$refs.routeControl.doShow(operate, this.selected);
}
});
},
//
detail() {
commitOperate(menuOperate.Signal.detail, {signalCode:this.selected.code}, 0).then(({valid, operate})=>{
@ -336,12 +386,16 @@ export default {
});
},
//
humanTrainRoute() {
commitOperate(menuOperate.Signal.cancelGuide, {signalCode:this.selected.code}, 0).then(({valid, operate})=>{
if (valid) {
this.$refs.routerCommand.doShow(operate, this.selected, '是否执行人解列车进路命令?');
}
humanTrainRoute(selectType) {
commitOperate(menuOperate.Signal.humanTrainRoute, {signalCode:selectType.code}, 3).then(({valid, operate})=>{
}).catch(error=>{
this.$refs.noticeInfo.doShow({}, error.message);
});
// commitOperate(menuOperate.Signal.cancelGuide, {signalCode:selectType.code}, 0).then(({valid, operate})=>{
// if (valid) {
// this.$refs.routerCommand.doShow(operate, this.selected, '?');
// }
// });
},
//
guide() {

View File

@ -43,6 +43,11 @@ export const menuOperate = {
operation: OperationEvent.Signal.cancelTrainRoute.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
},
humanTrainRoute:{
// 总人解
operation: OperationEvent.Signal.humanTrainRoute.menu.operation,
cmdType:CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE
},
lock:{
// 信号封锁
operation:OperationEvent.Signal.lock.menu.operation,
@ -106,6 +111,16 @@ export const menuOperate = {
// 取消自动折返
operation: OperationEvent.AutoTurnBack.CancelAutoTurnBackButton.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_AUTO_TURN_BACK
},
setAutoTrigger: {
// 设置联锁自动触发
operation: OperationEvent.Signal.setAutoTrigger.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO_TRIGGER
},
cancelAutoTrigger: {
// 取消联锁自动触发
operation: OperationEvent.Signal.cancelAutoTrigger.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO_TRIGGER
}
},
Switch:{

View File

@ -11,9 +11,9 @@
:modal="false"
:close-on-click-modal="false"
>
<el-radio-group v-model="control" :disabled="true">
<el-radio-group v-model="control">
<el-row v-for="item in Object.keys(controlProps)" :key="item" style="padding-bottom: 10px;padding-top:10px">
<el-radio :label="item" disabled="false">{{ controlProps[item] }}</el-radio>
<el-radio :label="item" :disabled="controlPropDisabled[item]">{{ controlProps[item] }}</el-radio>
</el-row>
</el-radio-group>
<el-row type="flex" justify="center" class="button-group">
@ -45,6 +45,10 @@ export default {
controlProps: {
'01': '全线扣车',
'02': '取消全线扣车'
},
controlPropDisabled:{
'01':false,
'02':false
}
};
@ -61,18 +65,25 @@ export default {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
title() {
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
return '全线扣车';
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
return '取消全线扣车';
if (this.dialogShow) {
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
return '全线扣车';
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
return '取消全线扣车';
} else {
return '';
}
} else {
return '';
}
return '';
},
domIdCommit() {
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
return OperationEvent.StationStand.setDetainTrainAll.menu.domId;
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
return OperationEvent.StationStand.cancelDetainTrainAll.menu.domId;
if (this.dialogShow) {
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
return OperationEvent.StationStand.setDetainTrainAll.menu.domId;
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
return OperationEvent.StationStand.cancelDetainTrainAll.menu.domId;
}
}
return '';
},
@ -95,9 +106,13 @@ export default {
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
// 线
this.control = '01';
this.controlPropDisabled['01'] = false;
this.controlPropDisabled['02'] = true;
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
// 线
this.control = '02';
this.controlPropDisabled['01'] = true;
this.controlPropDisabled['02'] = false;
}
this.dialogShow = true;

View File

@ -11,9 +11,9 @@
:modal="false"
:close-on-click-modal="false"
>
<el-radio-group v-model="control" :disabled="true">
<el-radio-group v-model="control">
<el-row v-for="item in Object.keys(controlProps)" :key="item" style="padding-bottom: 10px;padding-top:10px">
<el-radio :label="item">{{ controlProps[item] }}</el-radio>
<el-radio :label="item" :disabled="controlPropDisabled[item]">{{ controlProps[item] }}</el-radio>
</el-row>
</el-radio-group>
<el-row type="flex" justify="center" class="button-group">
@ -45,8 +45,11 @@ export default {
controlProps: {
'01': '取消上行扣车',
'02': '取消下行扣车'
},
controlPropDisabled:{
'01':false,
'02':false
}
};
},
computed: {
@ -61,18 +64,22 @@ export default {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
title() {
if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) {
return '取消上行扣车';
} else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) {
return '取消下行扣车';
if (this.dialogShow) {
if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) {
return '取消上行扣车';
} else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) {
return '取消下行扣车';
}
}
return '';
},
domIdCommit() {
if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) {
return OperationEvent.StationStand.cancelUpDetainTrainAll.menu.domId;
} else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) {
return OperationEvent.StationStand.cancelDownDetainTrainAll.menu.domId;
if (this.dialogShow) {
if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) {
return OperationEvent.StationStand.cancelUpDetainTrainAll.menu.domId;
} else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) {
return OperationEvent.StationStand.cancelDownDetainTrainAll.menu.domId;
}
}
return '';
},
@ -95,9 +102,13 @@ export default {
if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) {
// 线
this.control = '01';
this.controlPropDisabled['01'] = false;
this.controlPropDisabled['02'] = true;
} else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) {
// 线
this.control = '02';
this.controlPropDisabled['01'] = true;
this.controlPropDisabled['02'] = false;
}
this.dialogShow = true;

View File

@ -5,7 +5,7 @@
<el-input v-model="form.code" :disabled="true" />
</el-form-item>
<el-form-item label="图形宽度" prop="width">
<el-input-number v-model="form.width" :min="40" />
<el-input-number v-model="form.width" :min="20" />
</el-form-item>
<el-form-item label="X轴坐标" prop="x">
<el-input-number v-model="form.x" controls-position="right" :min="1" />

View File

@ -5,7 +5,7 @@
<el-input v-model="form.code" :disabled="true" />
</el-form-item>
<el-form-item label="图形宽度" prop="width">
<el-input-number v-model="form.width" :min="15" />
<el-input-number v-model="form.width" :min="10" />
</el-form-item>
<el-form-item label="方向" prop="direction">
<el-select v-model="form.direction" placeholder="请选择类型">

View File

@ -8,10 +8,7 @@
<el-input-number v-model="form.width" :min="15" />
</el-form-item>
<el-form-item label="旋转角度" prop="rotateAngle">
<el-select v-model="form.rotateAngle" placeholder="请选择类型">
<el-option label="0度" value="0" />
<el-option label="90度" value="90" />
</el-select>
<el-input-number v-model="form.rotateAngle" />
</el-form-item>
<el-form-item label="X轴坐标" prop="x">
<el-input-number v-model="form.x" controls-position="right" :min="1" />
@ -39,7 +36,7 @@ export default {
buttonText: '立即创建',
form:{
code:'',
rotateAngle:'0',
rotateAngle: 0,
width: 20,
x: 10,
y: 10
@ -76,7 +73,7 @@ export default {
this.form.width = model.width;
this.form.x = model.point.x;
this.form.y = model.point.y;
this.form.rotateAngle = model.rotateAngle;
this.form.rotateAngle = model.rotateAngle || 0;
}
}
},
@ -112,7 +109,7 @@ export default {
this.showDeleteButton = false;
this.form = {
code:'',
rotateAngle:'0',
rotateAngle: 0,
width: 20,
x: 10,
y: 10
@ -128,7 +125,7 @@ export default {
_type: 'VolumeControlDamper',
code: this.form.code,
width: this.form.width,
rotateAngle:this.form.rotateAngle,
rotateAngle: this.form.rotateAngle,
color:'#00ff00'
};
this.$emit('deleteDataModel', newModel );

View File

@ -13,6 +13,16 @@
<el-form-item label="线段颜色" prop="fillColor">
<el-color-picker v-model="form.fillColor" />
</el-form-item>
<el-form-item label="箭头显示" prop="arrowShow">
<el-select v-model="form.arrowShow" placeholder="请选择">
<el-option label="无" value="none" />
<el-option label="始端" value="star" />
<el-option label="终端" value="end" />
</el-select>
</el-form-item>
<el-form-item v-if="form.arrowShow != 'none'" label="箭头大小" prop="arrowSize">
<el-input-number v-model="form.arrowSize" controls-position="right" :min="1" />
</el-form-item>
<el-form-item label="起始X轴坐标">
<el-input-number v-model="form.x1" controls-position="right" :min="0" />
</el-form-item>
@ -49,6 +59,8 @@ export default {
code: '',
lineWidth: '',
fillColor: '#fff',
arrowShow: 'none',
arrowSize: 5,
x1: 10,
y1: 10,
x2: 20,
@ -84,6 +96,8 @@ export default {
this.form.x2 = model.point2.x;
this.form.y2 = model.point2.y;
this.form.classify = model.classify;
this.form.arrowShow = model.arrowShow || 'none';
this.form.arrowSize = model.arrowSize || 5;
}
}
},
@ -105,7 +119,9 @@ export default {
_type: 'IscsLine',
lineWidth: this.form.lineWidth,
fillColor: this.form.fillColor,
classify:this.form.classify
classify: this.form.classify,
arrowShow: this.form.arrowShow,
arrowSize: this.form.arrowSize
};
this.$emit('createDataModel', lineModel);
this.initPage();
@ -128,7 +144,9 @@ export default {
_type: 'IscsLine',
lineWidth: this.form.lineWidth,
fillColor: this.form.fillColor,
classify:this.form.classify
classify: this.form.classify,
arrowShow: this.form.arrowShow,
arrowSize: this.form.arrowSize
};
this.$emit('deleteDataModel', lineModel);
},
@ -140,6 +158,8 @@ export default {
code: '',
lineWidth: '',
fillColor: '#fff',
arrowShow: 'none',
arrowSize: 5,
x1: 10,
y1: 10,
x2: 20,

View File

@ -2,247 +2,14 @@
<div class="control-bas-box">
<div class="title-name">{{ $route.query.stationName + modeName }}</div>
<div class="control-bas">
<el-table v-if="mode==='bigSystem'" ref="table1" :data="tableData" :header-row-style="tableTitleStyle" :cell-style="rowStyle" :span-method="objectSpanMethod" style="float: left;">
<el-table-column label="日期" width="300">
<template slot="header">
<div class="title-0">全年运行工况</div>
<div class="title-0">运行模式号</div>
<div class="title-0">模式状态</div>
<div class="title-0">火灾指示灯:</div>
</template>
<template slot-scope="scope">
<div v-if="scope.$index == 0" class="table-0-top">
<div class="left">
<div>正常</div>
<div>运行</div>
</div>
<div class="right">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">小新风空调</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(1)">全新风空调</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(2)">非空调季节</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(3)">冬季模式</div>
</div>
</div>
<div v-if="scope.$index == 4" class="table-4-top">
<div class="left">
<div>火灾</div>
<div>模式</div>
</div>
<div class="right">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">站厅公共区火灾</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">站台公共区火灾</div>
</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(6)">非火灾工况突发事件</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(7)">全停模式</div>
</div>
<div v-if="scope.$index == 8" class="table-8-top">设备实际运行状态</div>
<div v-if="scope.$index == 9" class="table-9-top">状态比较</div>
</template>
</el-table-column>
<el-table-column prop="code" width="120">
<template slot="header">
<div style="width: 100%">模式</div>
<div style="width: 100%">编号</div>
</template>
</el-table-column>
<el-table-column label="大系统模式表">
<el-table-column label="新风机">
<el-table-column prop="faf1" label="FAF-1" width="120" />
<el-table-column prop="faf2" label="FAF-2" width="120" />
</el-table-column>
<el-table-column label="组合式空调器">
<el-table-column prop="ahu1" label="AHU-1" width="120" />
<el-table-column prop="ahu2" label="AHU-2" width="120" />
</el-table-column>
<el-table-column label="回排风机">
<el-table-column prop="raf1" label="RAF/SEF-1" width="120" />
<el-table-column prop="raf2" label="RAF/SEF-2" width="120" />
</el-table-column>
<el-table-column label="风机1">
<el-table-column prop="md1" label="MD-1" width="120" />
<el-table-column prop="md1" label="MD-2" width="120" />
<el-table-column prop="md1" label="MD-3" width="120" />
<el-table-column prop="md1" label="MD-4" width="120" />
<el-table-column prop="md1" label="MD-5" width="120" />
<el-table-column prop="md1" label="MD-6" width="120" />
<el-table-column prop="md1" label="MD-7" width="120" />
<el-table-column prop="md1" label="MD-8" width="120" />
<el-table-column prop="md1" label="MD-9" width="120" />
<el-table-column prop="md1" label="MD-10" width="120" />
<el-table-column prop="md1" label="MD-11" width="120" />
<el-table-column prop="md1" label="MD-12" width="120" />
<el-table-column prop="md1" label="MD-13" width="120" />
</el-table-column>
</el-table-column>
</el-table>
<el-table v-else-if="mode === 'smallSystem1'" ref="table2" :data="tableData1" :header-row-style="tableTitleStyle" :cell-style="rowStyle" :span-method="objectSpanMethod1" style="float: left;">
<el-table-column type="index" width="20" class-name="index-column">
<template slot="header">
<div style="width: 100%;height: 26px;background: #FFF" />
<div class="index-column-cell">1</div>
<div class="index-column-cell">2</div>
<div class="index-column-cell">3</div>
</template>
<template slot-scope="scope">
<div class="index-column-cell">{{ scope.$index + 4 }}</div>
</template>
</el-table-column>
<el-table-column width="300">
<template slot="header">
<div style="font-size: 0;text-align: center;">
<div class="index-row-cell">1</div>
<div class="index-row-cell">2</div>
<div class="index-row-cell">3</div>
</div>
<div class="title-0">全年运行工况</div>
<div class="title-0">运行模式号</div>
<div class="title-0">模式状态</div>
<div class="title-0">火灾指示灯:</div>
</template>
<template slot-scope="scope">
<div v-if="scope.$index == 0" class="table-0-top">
<div class="left" style="width: 100px;">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div class="right" style="width: 195px;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">小新风空调</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(1)">小新风空调</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(2)">非空调工况</div>
<div class="button-box" style="width: 100%;height: 27px;line-height: 27px;" @click="showModeDialog(3)">35KV开关柜室事故排风</div>
</div>
</div>
<div v-if="scope.$index == 4" style="display: flex;">
<div style="width: 100px;display: inline-block;margin: auto;">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div style="width: 100px;display: inline-block;">
<div style="height: 56px; border: 1px solid #FFF;">控制室</div>
<div style="height: 56px; border: 1px solid #FFF;">
<div>35KV</div>
<div>开关柜室</div>
</div>
<div style="height: 56px; border: 1px solid #FFF;">
<div>整流变频</div>
<div>压器室1</div>
</div>
<div style="height: 56px; border: 1px solid #FFF;">
<div>整流变频</div>
<div>压器室2</div>
</div>
<div style="height: 56px; border: 1px solid #FFF;">
<div>直流开</div>
<div>关柜室</div>
</div>
<div style="height: 56px; border: 1px solid #FFF;">
<div>0.4KV</div>
<div>低压柜室</div>
</div>
</div>
<div style="width: 100px;display: inline-block;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">排气</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">排气</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">排气</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">排气</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">排气</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
<div class="button-box" style="width: 100%;height: 27px;line-height: 27px;" @click="showModeDialog(5)">排气</div>
</div>
</div>
<div v-if="scope.$index === 16" style="height: 28px;line-height: 28px;">设备实际运行状态</div>
<div v-if="scope.$index === 17">状态比较</div>
</template>
</el-table-column>
<el-table-column :key="11" prop="code" label="模式编号" width="90">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;margin-left: -1px;">4</div>
<div style="font-size: 14px;height: 80px;line-height: 80px;">模式编号</div>
</div>
</template>
</el-table-column>
<el-table-column prop="smallSystem1">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;">5</div>
<div class="index-row-cell" style="width: 90px;">6</div>
<div class="index-row-cell" style="width: 90px;">7</div>
<div class="index-row-cell" style="width: 90px;">8</div>
<div class="index-row-cell" style="width: 90px;">9</div>
<div class="index-row-cell" style="width: 90px;">10</div>
<div class="index-row-cell" style="width: 90px;">11</div>
<div class="index-row-cell" style="width: 89px;">12</div>
<div style="font-size: 14px;">小系统1</div>
</div>
</template>
<el-table-column prop="airConditioner" label="空调机">
<el-table-column prop="ahu1" width="90" label="AHU-B101" />
</el-table-column>
<el-table-column prop="exhaustFan" label="回排风机">
<el-table-column prop="raf1" width="90" label="RAF-B101" />
</el-table-column>
<el-table-column prop="flowControl" label="电动风量调节阀">
<el-table-column prop="md1" width="90" label="MD-B101" />
<el-table-column prop="md2" width="90" label="MD-B102" />
<el-table-column prop="md3" width="90" label="MD-B103" />
<el-table-column prop="md4" width="90" label="MD-B104" />
<el-table-column prop="md5" width="90" label="MD-B105" />
<el-table-column prop="md6" width="90" label="MD-B106" />
</el-table-column>
</el-table-column>
<el-table-column prop="smallSystem2">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;">13</div>
<div class="index-row-cell" style="width: 99px;">14</div>
<div style="font-size: 14px;">小系统2</div>
</div>
</template>
<el-table-column prop="exhaustFan" label="排风机">
<el-table-column prop="eaf" width="90" label="EAF-B201" />
</el-table-column>
<el-table-column prop="flowControl" label="电动风量调节阀">
<el-table-column prop="md7" width="100" label="MD-B201" />
</el-table-column>
</el-table-column>
<el-table-column prop="smallSystem4">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;">15</div>
<div class="index-row-cell" style="width: 90px;">16</div>
<div class="index-row-cell" style="width: 90px;">17</div>
<div class="index-row-cell" style="width: 90px;">18</div>
<div class="index-row-cell" style="width: 90px;">19</div>
<div class="index-row-cell" style="width: 90px;">20</div>
<div class="index-row-cell" style="width: 89px;">21</div>
<div style="font-size: 14px;">小系统4</div>
</div>
</template>
<el-table-column prop="airConditioner" label="空调机">
<el-table-column prop="ahu2" width="90" label="AHU-B401" />
</el-table-column>
<el-table-column prop="exhaustFan" label="回排风机">
<el-table-column prop="raf2" width="90" label="RAF-B401" />
</el-table-column>
<el-table-column prop="flowControl" label="电动风量调节阀">
<el-table-column prop="md8" width="90" label="MD-B401" />
<el-table-column prop="md9" width="90" label="MD-B402" />
<el-table-column prop="md10" width="90" label="MD-B403" />
<el-table-column prop="md11" width="90" label="MD-B404" />
<el-table-column prop="md12" width="90" label="MD-B405" />
</el-table-column>
</el-table-column>
</el-table>
<big-system-table v-if="mode === 'bigSystem'" @showModeDialog="showModeDialog" />
<small-system1-table v-else-if="mode === 'smallSystem1'" @showModeDialog="showModeDialog" />
<small-system2-table v-else-if="mode === 'smallSystem2'" @showModeDialog="showModeDialog" />
<ventilation v-else-if="mode === 'ventilation'" @showModeDialog="showModeDialog" />
<ventilation1 v-else-if="mode=== 'ventilation1'" @showModeDialog="showModeDialog" />
<ventilation2 v-else-if="mode === 'ventilation2'" @showModeDialog="showModeDialog" />
<ventilation3 v-else-if="mode === 'ventilation3'" @showModeDialog="showModeDialog" />
<lighting-system v-else-if="mode === 'lightingSystem'" @showModeDialog="showModeDialog" />
</div>
<div style="width: 100%;display:flex;justify-content:space-around;">
<div class="button-box" style="padding: 5px;" @click="switchedSystems('bigSystem')">至大系统模式表</div>
@ -254,153 +21,34 @@
<div class="button-box" style="padding: 5px;" @click="switchedSystems('ventilation3')">至隧道通风系模式表3</div>
<div class="button-box" style="padding: 5px;" @click="switchedSystems('lightingSystem')">至照明模式表</div>
</div>
<el-dialog title="" :visible.sync="dialogVisible" width="600px" class="iscs_device_control_dialog">
<div>
<div class="dialog-box">
<div class="title">模式类别</div>
<div class="content">
<div class="stand-title">{{ modeModel.stationName }}</div>
<div class="stand-control">{{ modeModel.controlName }}</div>
</div>
</div>
<div class="dialog-box">
<div class="title">启动模式号</div>
<div class="content">
<div class="model">{{ modeModel.modeCode }}</div>
</div>
</div>
</div>
<div class="dialog-footer" style="margin-top: 20px; text-align: center;">
<el-button style="margin-right: 13px;" @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="dialogVisible = false"> </el-button>
</div>
</el-dialog>
<mode-type ref="modeType" />
</div>
</template>
<script>
import BigSystemTable from './controlChild/bigSystemTable';
import SmallSystem1Table from './controlChild/smallSystem1Table';
import SmallSystem2Table from './controlChild/smallSystem2Table';
import ModeType from './controlChild/modeType';
import Ventilation from './controlChild/ventilation';
import Ventilation1 from './controlChild/ventilation1';
import Ventilation2 from './controlChild/ventilation2';
import Ventilation3 from './controlChild/ventilation3';
import LightingSystem from './controlChild/lightingSystem';
export default {
components: {
BigSystemTable,
SmallSystem1Table,
ModeType,
SmallSystem2Table,
Ventilation,
Ventilation1,
Ventilation2,
Ventilation3,
LightingSystem
},
data() {
return {
mode:'bigSystem',
dialogVisible: false,
modeModel: {
stationName: this.$route.query.stationName,
controlName: '系统模式控制',
modeCode: ''
},
tableTitleStyle: {'text-align': 'center', 'height': '28px', 'padding': '0', 'background': '#45607B'},
rowStyle: {'text-align': 'center', 'height': '28px', 'padding': '0', 'background': '#45607B' },
tableData: [{
code: '101',
faf1: '打开',
faf2: '打开',
ahu1: '打开',
ahu2: '打开',
raf1: '打开',
raf2: '打开',
md1: '关闭'
}, {
code: '102',
faf1: '打开',
faf2: '打开',
ahu1: '打开',
ahu2: '打开',
raf1: '打开',
raf2: '打开',
md1: '打开'
}, {
code: '103',
faf1: '打开',
faf2: '打开',
ahu1: '打开',
ahu2: '打开',
raf1: '打开',
raf2: '打开',
md1: '关闭'
}, {
code: '104',
faf1: '打开',
faf2: '关闭',
ahu1: '打开',
ahu2: '打开',
raf1: '打开',
raf2: '打开',
md1: '打开'
}, {
code: '105',
faf1: '打开',
faf2: '打开',
ahu1: '打开',
ahu2: '打开',
raf1: '打开',
raf2: '打开',
md1: '关闭'
}, {
code: '106',
faf1: '打开',
faf2: '关闭',
ahu1: '打开',
ahu2: '打开',
raf1: '打开',
raf2: '打开',
md1: '打开'
}, {
code: '107',
faf1: '打开',
faf2: '打开',
ahu1: '打开',
ahu2: '打开',
raf1: '打开',
raf2: '打开',
md1: '打开'
}, {
code: '108',
faf1: '打开',
faf2: '关闭',
ahu1: '打开',
ahu2: '打开',
raf1: '打开',
raf2: '打开',
md1: '打开'
}, {
code: '',
faf1: '打开',
faf2: '打开',
ahu1: '打开',
ahu2: '打开',
raf1: '打开',
raf2: '打开',
md1: '打开'
}, {
code: '',
faf1: '打开',
faf2: '打开',
ahu1: '打开',
ahu2: '打开',
raf1: '打开',
raf2: '打开',
md1: '打开'
}],
tableData1: [
{code: '301', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '302', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '303', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '304', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '305', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '306', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '307', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '308', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '309', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '310', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '311', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '312', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '313', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '314', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '315', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '316', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{}
]
mode:'bigSystem'
};
},
computed: {
@ -413,6 +61,9 @@ export default {
case 'smallSystem1':
name = '小系统模式表(一)';
break;
case 'smallSystem2':
name = '小系统模式表(二)';
break;
case 'ventilation':
name = '隧道通风系模式表';
break;
@ -433,74 +84,8 @@ export default {
}
},
methods: {
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) { //
if (rowIndex == 0 || rowIndex == 4) {
return {
rowspan: 4,
colspan: 1
};
} else if (rowIndex >= 8) {
return {
rowspan: 1,
colspan: 2
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
}
if (columnIndex == 1) {
if (rowIndex >= 8) {
return {
rowspan: 0,
colspan: 0
};
}
}
},
objectSpanMethod1( {row, column, rowIndex, columnIndex}) {
if (columnIndex === 1) {
if (rowIndex === 0) {
return {
rowspan: 4,
colspan: 1
};
} else if (rowIndex === 4) {
return {
rowspan: 12,
colspan: 1
};
} else if (rowIndex === 16 || rowIndex === 17) {
return {
rowspan: 1,
colspan: 2
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
} else if (columnIndex === 2) {
if (rowIndex === 16 || rowIndex === 17) {
return {
rowspan: 0,
colspan: 0
};
} else {
return {
rowspan: 1,
colspan: 1
};
}
}
},
showModeDialog(index) {
this.modeModel.modeCode = this.tableData[index].code;
this.dialogVisible = true;
showModeDialog(code) {
this.$refs.modeType.doShow(code);
},
switchedSystems(mode) {
this.mode = mode;
@ -517,36 +102,6 @@ export default {
text-align: left;
padding-left: 14px;
}
.table-0-top{
overflow: hidden;
.left{
float: left;
width: 40%;
display: flex;
flex-direction: column;
height: 110px;
justify-content: center;
}
.right{
float: right;
width: 60%;
}
}
.table-4-top{
overflow: hidden;
.left{
float: left;
height: 56px;
width: 40%;
display: flex;
flex-direction: column;
justify-content: center;
}
.right{
float: right;
width: 60%;
}
}
.button-box{
text-align: center;
background-color: #ccc;
@ -569,46 +124,6 @@ export default {
border-bottom: 1px solid #fff;
}
}
.dialog-box{
width: 100%;
overflow: hidden;
margin-bottom: 10px;
.title{
float: left;
width: 90px;
text-align: left;
color:#6F49FE;
font-size: 14px;
}
.content{
float: left;
width: 400px;
background: #efefef;
height: 40px;
padding-left: 15px;
.stand-title{
float: left;
margin-right: 50px;
height: 40px;
line-height: 40px;
color:#6F49FE;
font-size: 14px;
}
.stand-control{
float: left;
height: 40px;
line-height: 40px;
color:#6F49FE;
font-size: 14px;
}
.model{
height: 40px;
line-height: 40px;
color:#6F49FE;
font-size: 14px;
}
}
}
}
.control-bas{
margin: 30px;
@ -627,26 +142,6 @@ export default {
margin-top: 30px;
color: #56E5DE;
}
.index-column-cell {
text-align:center;
width: 100%;
height: 28px;
border-top: 1px solid #203244;
border-left: 2px solid #A3A3A3;
border-bottom: 1px solid #203244;
border-right: 1px solid #203244;
}
.index-row-cell {
width: 99px;
height: 20px;
font-size: 14px;
line-height: 20px;
display: inline-block;
border-top: 2px solid #A3A3A3;
border-left: 1px solid #203244;
border-bottom: 2px solid #203244;
border-right: 1px solid #203244;
}
/deep/{
.el-table--border{
background: #45607B;
@ -656,6 +151,9 @@ export default {
.index-column{
border: 0 !important;
}
.cyan-label{
color: #56E5DE;
}
.el-table th, .el-table tr{
background: #45607B;
color: #fff;
@ -682,70 +180,3 @@ export default {
}
}
</style>
<style>
.iscs_device_control_dialog .el-dialog .el-dialog__header {
width: 100%;
height: 30px;
background-image: linear-gradient(#F0DBCE,#ECB85E, #F0DBCE);
}
.iscs_device_control_dialog .el-dialog .el-dialog__headerbtn{
position: absolute;
top: 5px;
right: 10px;
padding: 0;
background: 0 0;
outline: 0;
cursor: pointer;
font-size: 16px;
border: 1px solid #FFF;
width: 20px;
height: 18px;
}
.iscs_device_control_dialog .el-dialog .el-dialog__body {
padding: 30px 20px;
color: #606266;
font-size: 14px;
word-break: break-all;
background: #CDC6C0;
}
.iscs_device_control_dialog .el-dialog .el-button {
display: inline-block;
line-height: 1;
white-space: nowrap;
cursor: pointer;
background: #CACACA;
border-top: 1px solid #3D3B39;
border-left: 1px solid #3D3B39;
border-bottom: 1px solid #847B77;
border-right: 1px solid #847B77;
color: #000;
-webkit-appearance: none;
text-align: center;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: 0;
margin: 0;
-webkit-transition: .1s;
transition: .1s;
padding: 0;
font-weight: 500;
font-size: 12px;
height: 30px;
width: 70px;
border-radius: 0;
position: relative;
}
.iscs_device_control_dialog .el-dialog .el-button :before {
content: '';
width: 70px;
height: 30px;
border-top: 1px solid #FFF;
border-left: 1px solid #FFF;
position: absolute;
top: -2px;
left: -2px;
}
.iscs_device_control_dialog .el-dialog .el-button:hover {
background-image: linear-gradient(#E2E4E5,#D5D6D8,#E2E4E5);
}
</style>

View File

@ -0,0 +1,221 @@
<template>
<el-table ref="table1" class="table-box" :data="tableData" :header-row-style="tableTitleStyle" :cell-style="rowStyleFunction" :span-method="objectSpanMethod" style="float: left;">
<el-table-column label="日期" fixed width="300">
<template slot="header">
<div class="title-0">全年运行工况</div>
<div class="title-0">运行模式号</div>
<div class="title-0">模式状态</div>
<div class="title-0">火灾指示灯:</div>
</template>
<template slot-scope="scope">
<div v-if="scope.$index == 0" class="table-0-top">
<div class="left">
<div>正常</div>
<div>运行</div>
</div>
<div class="right">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">小新风空调</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(1)">全新风空调</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(2)">非空调季节</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(3)">冬季模式</div>
</div>
</div>
<div v-if="scope.$index == 4" class="table-4-top">
<div class="left">
<div>火灾</div>
<div>模式</div>
</div>
<div class="right">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">站厅公共区火灾</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">站台公共区火灾</div>
</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(6)">非火灾工况突发事件</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(7)">全停模式</div>
</div>
<div v-if="scope.$index == 8" class="table-8-top">设备实际运行状态</div>
<div v-if="scope.$index == 9" class="table-9-top">状态比较</div>
</template>
</el-table-column>
<el-table-column prop="code" width="120">
<template slot="header">
<div style="width: 100%">模式</div>
<div style="width: 100%">编号</div>
</template>
</el-table-column>
<el-table-column label="大系统模式表">
<el-table-column label="新风机">
<el-table-column prop="faf1" label-class-name="cyan-label" label="FAF-1" width="120" />
<el-table-column prop="faf2" label-class-name="cyan-label" label="FAF-2" width="120" />
</el-table-column>
<el-table-column label="组合式空调器">
<el-table-column prop="ahu1" label-class-name="cyan-label" label="AHU-1" width="120" />
<el-table-column prop="ahu2" label-class-name="cyan-label" label="AHU-2" width="120" />
</el-table-column>
<el-table-column label="回排风机">
<el-table-column prop="raf1" label-class-name="cyan-label" label="RAF/SEF-1" width="120" />
<el-table-column prop="raf2" label-class-name="cyan-label" label="RAF/SEF-2" width="120" />
</el-table-column>
<el-table-column label="风机1">
<el-table-column prop="md1" label-class-name="cyan-label" label="MD-1" width="120" />
<el-table-column prop="md1" label-class-name="cyan-label" label="MD-2" width="120" />
<el-table-column prop="md1" label-class-name="cyan-label" label="MD-3" width="120" />
<el-table-column prop="md1" label-class-name="cyan-label" label="MD-4" width="120" />
<el-table-column prop="md1" label-class-name="cyan-label" label="MD-5" width="120" />
<el-table-column prop="md1" label-class-name="cyan-label" label="MD-6" width="120" />
<el-table-column prop="md1" label-class-name="cyan-label" label="MD-7" width="120" />
<el-table-column prop="md1" label-class-name="cyan-label" label="MD-8" width="120" />
<el-table-column prop="md1" label-class-name="cyan-label" label="MD-9" width="120" />
<el-table-column prop="md1" label-class-name="cyan-label" label="MD-10" width="120" />
<el-table-column prop="md1" label-class-name="cyan-label" label="MD-11" width="120" />
<el-table-column prop="md1" label-class-name="cyan-label" label="MD-12" width="120" />
<el-table-column prop="md1" label-class-name="cyan-label" label="MD-13" width="120" />
</el-table-column>
</el-table-column>
</el-table>
</template>
<script>
export default {
name: 'BigSystemTable',
data() {
return {
tableTitleStyle: {'text-align': 'center', 'height': '28px', 'padding': '0', 'background': '#45607B'},
tableData: [
{code: '101', faf1: '打开', faf2: '打开', ahu1: '打开', ahu2: '打开', raf1: '打开', raf2: '打开', md1: '关闭'},
{code: '102', faf1: '打开', faf2: '打开', ahu1: '打开', ahu2: '打开', raf1: '打开', raf2: '打开', md1: '打开'},
{code: '103', faf1: '打开', faf2: '打开', ahu1: '打开', ahu2: '打开', raf1: '打开', raf2: '打开', md1: '关闭'},
{code: '104', faf1: '打开', faf2: '关闭', ahu1: '打开', ahu2: '打开', raf1: '打开', raf2: '打开', md1: '打开'},
{code: '105', faf1: '打开', faf2: '打开', ahu1: '打开', ahu2: '打开', raf1: '打开', raf2: '打开', md1: '关闭'},
{code: '106', faf1: '打开', faf2: '关闭', ahu1: '打开', ahu2: '打开', raf1: '打开', raf2: '打开', md1: '打开'},
{code: '107', faf1: '打开', faf2: '打开', ahu1: '打开', ahu2: '打开', raf1: '打开', raf2: '打开', md1: '打开'},
{code: '108', faf1: '打开', faf2: '关闭', ahu1: '打开', ahu2: '打开', raf1: '打开', raf2: '打开', md1: '打开'},
{code: '', faf1: '打开', faf2: '打开', ahu1: '打开', ahu2: '打开', raf1: '打开', raf2: '打开', md1: '打开'}, {}
// {code: '', faf1: '', faf2: '', ahu1: '', ahu2: '', raf1: '', raf2: '', md1: ''}
]
};
},
methods: {
rowStyleFunction({row, column, rowIndex, columnIndex}) {
if (rowIndex === 8 && columnIndex > 1) {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B',
'color': '#0F0'
};
} else if (columnIndex === 1) {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B',
'color': '#56E5DE'
};
} else {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B'
};
}
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) { //
if (rowIndex == 0 || rowIndex == 4) {
return {
rowspan: 4,
colspan: 1
};
} else if (rowIndex >= 8) {
return {
rowspan: 1,
colspan: 2
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
}
if (columnIndex == 1) {
if (rowIndex >= 8) {
return {
rowspan: 0,
colspan: 0
};
}
}
},
showModeDialog(index) {
this.$emit('showModeDialog', this.tableData[index].code);
}
}
};
</script>
<style lang="scss" scoped>
.table-box {
width: 100%;
.title-0{
width: 100%;
line-height: 20px;
text-align: left;
padding-left: 14px;
}
.table-0-top{
overflow: hidden;
.left{
float: left;
width: 40%;
display: flex;
flex-direction: column;
height: 110px;
justify-content: center;
}
.right{
float: right;
width: 60%;
}
}
.table-4-top{
overflow: hidden;
.left{
float: left;
height: 56px;
width: 40%;
display: flex;
flex-direction: column;
justify-content: center;
}
.right{
float: right;
width: 60%;
}
}
.button-box{
text-align: center;
background-color: #ccc;
float: left;
font-size: 12px;
color: #333;
font-weight: bold;
box-sizing: border-box;
border-top: 2px solid #fff;
border-left: 2px solid #fff;
border-right: 2px solid #565656;
border-bottom: 2px solid #565656;
cursor: pointer;
&.active,
&:hover{
background: #EBB570;
border-top: 2px solid #795B31;
border-left: 2px solid #795B31;
border-right: 1px solid #fff;
border-bottom: 1px solid #fff;
}
}
}
</style>

View File

@ -0,0 +1,281 @@
<template>
<el-table ref="table2" :data="tableData" :header-row-style="tableTitleStyle" :cell-style="rowStyleFunction" :span-method="objectSpanMethod" style="float: left;">
<el-table-column type="index" width="20" fixed class-name="index-column">
<template slot="header">
<div style="width: 100%;height: 26px;background: #FFF" />
<div class="index-column-cell">1</div>
<div class="index-column-cell">2</div>
<div class="index-column-cell">3</div>
</template>
<template slot-scope="scope">
<div class="index-column-cell">{{ scope.$index + 4 }}</div>
</template>
</el-table-column>
<el-table-column fixed width="300">
<template slot="header">
<div style="font-size: 0;text-align: center;">
<div class="index-row-cell">1</div>
<div class="index-row-cell">2</div>
<div class="index-row-cell">3</div>
</div>
<div class="title-0">全年运行工况</div>
<div class="title-0">运行模式号</div>
<div class="title-0">模式状态</div>
<div class="title-0">火灾指示灯:</div>
</template>
<template slot-scope="scope">
<div v-if="scope.$index == 0">
<div style="width: 300px; display: flex;">
<div style="width: 100px;display: inline-block;border: 1px solid #FFF;height:168px;">
<div style="margin-top: 63px;">正常</div>
<div>模式</div>
</div>
<div style="width: 199px;display: inline-block;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">正常模式_白天</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">正常模式_夜间</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">节电模式_白天</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">节电模式_夜间</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">停运模式</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">区间维修</div>
</div>
</div>
<div style="width: 300px; display: flex;">
<div style="width: 100px;display: inline-block;border: 1px solid #FFF;height:84px;">
<div style="margin-top: 18px;">火灾</div>
<div>模式</div>
</div>
<div style="width: 199px;display: inline-block;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">设备区火灾</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">公共区火灾</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">相邻区间火灾</div>
</div>
</div>
</div>
<div v-if="scope.$index === 9" style="height: 28px;line-height: 28px;">设备实际运行状态</div>
<div v-if="scope.$index === 10">状态比较</div>
</template>
</el-table-column>
<el-table-column :key="11" prop="code" label="模式编号" width="90">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;margin-left: -1px;">4</div>
<div style="font-size: 14px;height: 80px;line-height: 80px;">模式编号</div>
</div>
</template>
</el-table-column>
<el-table-column prop="platformWorkLight">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 100px;">5</div>
<div class="index-row-cell" style="width: 100px;">6</div>
<div class="index-row-cell" style="width: 100px;">7</div>
<div class="index-row-cell" style="width: 99px;">8</div>
<div style="font-size: 14px;">站台层公共区工作照明</div>
</div>
</template>
<el-table-column prop="a" label="A端">
<el-table-column prop="a03g" width="100" label-class-name="cyan-label" label="AL_A03_G" />
<el-table-column prop="a04g" width="100" label-class-name="cyan-label" label="AL_A04_G" />
</el-table-column>
<el-table-column prop="b" label="B端">
<el-table-column prop="b03g" width="100" label-class-name="cyan-label" label="AL_B03_G" />
<el-table-column prop="b04g" width="100" label-class-name="cyan-label" label="AL_B04_G" />
</el-table-column>
</el-table-column>
<el-table-column prop="platformDimoutLight">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 100px;">9</div>
<div class="index-row-cell" style="width: 100px;">10</div>
<div class="index-row-cell" style="width: 100px;">11</div>
<div class="index-row-cell" style="width: 99px;">12</div>
<div style="font-size: 14px;">站台层公共区节电照明</div>
</div>
</template>
<el-table-column prop="a" label="A端">
<el-table-column prop="a03j" width="100" label-class-name="cyan-label" label="AL_A03_J" />
<el-table-column prop="a04j" width="100" label-class-name="cyan-label" label="AL_A04_J" />
</el-table-column>
<el-table-column prop="b" label="B端">
<el-table-column prop="b03j" width="100" label-class-name="cyan-label" label="AL_B03_J" />
<el-table-column prop="b04j" width="100" label-class-name="cyan-label" label="AL_B04_J" />
</el-table-column>
</el-table-column>
<el-table-column prop="stationWorkLight">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 100px;">13</div>
<div class="index-row-cell" style="width: 100px;">14</div>
<div class="index-row-cell" style="width: 100px;">15</div>
<div class="index-row-cell" style="width: 99px;">16</div>
<div style="font-size: 14px;">站厅层公共区工作照明</div>
</div>
</template>
<el-table-column prop="a" label="A端">
<el-table-column prop="a01g" width="100" label-class-name="cyan-label" label="AL_A01_G" />
<el-table-column prop="a02g" width="100" label-class-name="cyan-label" label="AL_A02_G" />
</el-table-column>
<el-table-column prop="b" label="B端">
<el-table-column prop="b01g" width="100" label-class-name="cyan-label" label="AL_B01_G" />
<el-table-column prop="b02g" width="100" label-class-name="cyan-label" label="AL_B02_G" />
</el-table-column>
</el-table-column>
<el-table-column prop="stationDimoutLight">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 100px;">17</div>
<div class="index-row-cell" style="width: 100px;">18</div>
<div class="index-row-cell" style="width: 100px;">19</div>
<div class="index-row-cell" style="width: 99px;">20</div>
<div style="font-size: 14px;">站厅层公共区节电照明</div>
</div>
</template>
<el-table-column prop="a" label="A端">
<el-table-column prop="a01j" width="100" label-class-name="cyan-label" label="AL_A01_J" />
<el-table-column prop="a02j" width="100" label-class-name="cyan-label" label="AL_A02_J" />
</el-table-column>
<el-table-column prop="b" label="B端">
<el-table-column prop="b01j" width="100" label-class-name="cyan-label" label="AL_B01_J" />
<el-table-column prop="b02j" width="100" label-class-name="cyan-label" label="AL_B02_J" />
</el-table-column>
</el-table-column>
</el-table>
</template>
<script>
export default {
name: 'Ventilation1',
data() {
return {
tableTitleStyle: {'text-align': 'center', 'height': '28px', 'padding': '0', 'background': '#45607B'},
tableData: [
{code: '436', a01g: '打开', a02g: '打开', a03g: '半开', a04g: '半开', b01g: '半开', b02g: '打开', b03g: '打开', b04g: '关闭', a01j: '打开', a02j: '打开', a03j: '打开', a04j: '打开', b01j: '打开', b02j: '打开', b03j: '打开', b04j: '打开'},
{code: '436', a01g: '打开', a02g: '打开', a03g: '半开', a04g: '半开', b01g: '半开', b02g: '打开', b03g: '打开', b04g: '关闭', a01j: '打开', a02j: '打开', a03j: '打开', a04j: '打开', b01j: '打开', b02j: '打开', b03j: '打开', b04j: '打开'},
{code: '436', a01g: '打开', a02g: '打开', a03g: '半开', a04g: '半开', b01g: '半开', b02g: '打开', b03g: '打开', b04g: '关闭', a01j: '打开', a02j: '打开', a03j: '打开', a04j: '打开', b01j: '打开', b02j: '打开', b03j: '打开', b04j: '打开'},
{code: '436', a01g: '打开', a02g: '打开', a03g: '半开', a04g: '半开', b01g: '半开', b02g: '打开', b03g: '打开', b04g: '关闭', a01j: '打开', a02j: '打开', a03j: '打开', a04j: '打开', b01j: '打开', b02j: '打开', b03j: '打开', b04j: '打开'},
{code: '436', a01g: '打开', a02g: '打开', a03g: '半开', a04g: '半开', b01g: '半开', b02g: '打开', b03g: '打开', b04g: '关闭', a01j: '打开', a02j: '打开', a03j: '打开', a04j: '打开', b01j: '打开', b02j: '打开', b03j: '打开', b04j: '打开'},
{code: '436', a01g: '打开', a02g: '打开', a03g: '半开', a04g: '半开', b01g: '半开', b02g: '打开', b03g: '打开', b04g: '关闭', a01j: '打开', a02j: '打开', a03j: '打开', a04j: '打开', b01j: '打开', b02j: '打开', b03j: '打开', b04j: '打开'},
{code: '436', a01g: '打开', a02g: '打开', a03g: '半开', a04g: '半开', b01g: '半开', b02g: '打开', b03g: '打开', b04g: '关闭', a01j: '打开', a02j: '打开', a03j: '打开', a04j: '打开', b01j: '打开', b02j: '打开', b03j: '打开', b04j: '打开'},
{code: '436', a01g: '打开', a02g: '打开', a03g: '半开', a04g: '半开', b01g: '半开', b02g: '打开', b03g: '打开', b04g: '关闭', a01j: '打开', a02j: '打开', a03j: '打开', a04j: '打开', b01j: '打开', b02j: '打开', b03j: '打开', b04j: '打开'},
{code: '436', a01g: '打开', a02g: '打开', a03g: '半开', a04g: '半开', b01g: '半开', b02g: '打开', b03g: '打开', b04g: '关闭', a01j: '打开', a02j: '打开', a03j: '打开', a04j: '打开', b01j: '打开', b02j: '打开', b03j: '打开', b04j: '打开'},
{code: '', a01g: '打开', a02g: '打开', a03g: '半开', a04g: '半开', b01g: '半开', b02g: '打开', b03g: '打开', b04g: '关闭', a01j: '打开', a02j: '打开', a03j: '打开', a04j: '打开', b01j: '打开', b02j: '打开', b03j: '打开', b04j: '打开'},
{}
]
};
},
methods: {
rowStyleFunction({row, column, rowIndex, columnIndex}) {
if (rowIndex === 9 && columnIndex > 1) {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B',
'color': '#0F0'
};
} else if (columnIndex === 2) {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B',
'color': '#56E5DE'
};
} else {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B'
};
}
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 1) {
if (rowIndex === 0) {
return {
rowspan: 9,
colspan: 1
};
} else if (rowIndex === 9 || rowIndex === 10) {
return {
rowspan: 1,
colspan: 2
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
} else if (columnIndex === 2) {
if (rowIndex === 9 || rowIndex === 10) {
return {
rowspan: 0,
colspan: 0
};
} else {
return {
rowspan: 1,
colspan: 1
};
}
}
},
showModeDialog(index) {
}
}
};
</script>
<style scoped>
.title-0{
width: 100%;
line-height: 20px;
text-align: left;
padding-left: 14px;
}
.index-column-cell {
text-align:center;
width: 100%;
height: 28px;
border-top: 1px solid #203244;
border-left: 2px solid #A3A3A3;
border-bottom: 1px solid #203244;
border-right: 1px solid #203244;
}
.index-row-cell {
width: 99px;
height: 20px;
font-size: 14px;
line-height: 20px;
display: inline-block;
border-top: 2px solid #A3A3A3;
border-left: 1px solid #203244;
border-bottom: 2px solid #203244;
border-right: 1px solid #203244;
}
.button-box{
text-align: center;
background-color: #ccc;
float: left;
font-size: 12px;
color: #333;
font-weight: bold;
box-sizing: border-box;
border-top: 2px solid #fff;
border-left: 2px solid #fff;
border-right: 2px solid #565656;
border-bottom: 2px solid #565656;
cursor: pointer;
}
.button-box.active,
.button-box:hover{
background: #EBB570;
border-top: 2px solid #795B31;
border-left: 2px solid #795B31;
border-right: 1px solid #fff;
border-bottom: 1px solid #fff;
}
</style>

View File

@ -0,0 +1,154 @@
<template>
<el-dialog title="" :visible.sync="dialogVisible" width="600px" class="iscs_device_control_dialog">
<div>
<div class="dialog-box">
<div class="title">模式类别</div>
<div class="content">
<div class="stand-title">{{ modeModel.stationName }}</div>
<div class="stand-control">{{ modeModel.controlName }}</div>
</div>
</div>
<div class="dialog-box">
<div class="title">启动模式号</div>
<div class="content">
<div class="model">{{ modeModel.modeCode }}</div>
</div>
</div>
</div>
<div class="dialog-footer" style="margin-top: 20px; text-align: center;">
<el-button style="margin-right: 13px;" @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="dialogVisible = false"> </el-button>
</div>
</el-dialog>
</template>
<script>
export default {
name: 'ModeType',
data() {
return {
dialogVisible: false,
modeModel: {
stationName: this.$route.query.stationName,
controlName: '系统模式控制',
modeCode: ''
}
};
},
methods: {
doShow(code) {
this.modeModel.modeCode = code;
this.dialogVisible = true;
}
}
};
</script>
<style slot="scope" lang="scss">
.dialog-box{
width: 100%;
overflow: hidden;
margin-bottom: 10px;
.title{
float: left;
width: 90px;
text-align: left;
color:#6F49FE;
font-size: 14px;
}
.content{
float: left;
width: 400px;
background: #efefef;
height: 40px;
padding-left: 15px;
.stand-title{
float: left;
margin-right: 50px;
height: 40px;
line-height: 40px;
color:#6F49FE;
font-size: 14px;
}
.stand-control{
float: left;
height: 40px;
line-height: 40px;
color:#6F49FE;
font-size: 14px;
}
.model{
height: 40px;
line-height: 40px;
color:#6F49FE;
font-size: 14px;
}
}
}
</style>
<style>
.iscs_device_control_dialog .el-dialog .el-dialog__header {
width: 100%;
height: 30px;
background-image: linear-gradient(#F0DBCE,#ECB85E, #F0DBCE);
}
.iscs_device_control_dialog .el-dialog .el-dialog__headerbtn{
position: absolute;
top: 5px;
right: 10px;
padding: 0;
background: 0 0;
outline: 0;
cursor: pointer;
font-size: 16px;
border: 1px solid #FFF;
width: 20px;
height: 18px;
}
.iscs_device_control_dialog .el-dialog .el-dialog__body {
padding: 30px 20px;
color: #606266;
font-size: 14px;
word-break: break-all;
background: #CDC6C0;
}
.iscs_device_control_dialog .el-dialog .el-button {
display: inline-block;
line-height: 1;
white-space: nowrap;
cursor: pointer;
background: #CACACA;
border-top: 1px solid #3D3B39;
border-left: 1px solid #3D3B39;
border-bottom: 1px solid #847B77;
border-right: 1px solid #847B77;
color: #000;
-webkit-appearance: none;
text-align: center;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: 0;
margin: 0;
-webkit-transition: .1s;
transition: .1s;
padding: 0;
font-weight: 500;
font-size: 12px;
height: 30px;
width: 70px;
border-radius: 0;
position: relative;
}
.iscs_device_control_dialog .el-dialog .el-button :before {
content: '';
width: 70px;
height: 30px;
border-top: 1px solid #FFF;
border-left: 1px solid #FFF;
position: absolute;
top: -2px;
left: -2px;
}
.iscs_device_control_dialog .el-dialog .el-button:hover {
background-image: linear-gradient(#E2E4E5,#D5D6D8,#E2E4E5);
}
</style>

View File

@ -0,0 +1,320 @@
<template>
<el-table ref="table2" :data="tableData" :header-row-style="tableTitleStyle" :cell-style="rowStyleFunction" :span-method="objectSpanMethod" style="float: left;">
<el-table-column type="index" width="20" fixed class-name="index-column">
<template slot="header">
<div style="width: 100%;height: 26px;background: #FFF" />
<div class="index-column-cell">1</div>
<div class="index-column-cell">2</div>
<div class="index-column-cell">3</div>
</template>
<template slot-scope="scope">
<div class="index-column-cell">{{ scope.$index + 4 }}</div>
</template>
</el-table-column>
<el-table-column fixed width="300">
<template slot="header">
<div style="font-size: 0;text-align: center;">
<div class="index-row-cell">1</div>
<div class="index-row-cell">2</div>
<div class="index-row-cell">3</div>
</div>
<div class="title-0">全年运行工况</div>
<div class="title-0">运行模式号</div>
<div class="title-0">模式状态</div>
<div class="title-0">火灾指示灯:</div>
</template>
<template slot-scope="scope">
<div v-if="scope.$index == 0" style="display: flex;">
<div style="width: 100px;">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div style="width: 199px;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">小新风空调</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(1)">小新风空调</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(2)">非空调工况</div>
<div class="button-box" style="width: 100%;height: 27px;line-height: 27px;" @click="showModeDialog(3)">35KV开关柜室事故排风</div>
</div>
</div>
<div v-if="scope.$index == 4" style="display: flex;">
<div style="width: 100px;display: inline-block;margin: auto;">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div style="width: 100px;display: inline-block;">
<div style="height: 56px; border: 1px solid #FFF;">控制室</div>
<div style="height: 56px; border: 1px solid #FFF;">
<div>35KV</div>
<div>开关柜室</div>
</div>
<div style="height: 56px; border: 1px solid #FFF;">
<div>整流变频</div>
<div>压器室1</div>
</div>
<div style="height: 56px; border: 1px solid #FFF;">
<div>整流变频</div>
<div>压器室2</div>
</div>
<div style="height: 56px; border: 1px solid #FFF;">
<div>直流开</div>
<div>关柜室</div>
</div>
<div style="height: 56px; border: 1px solid #FFF;">
<div>0.4KV</div>
<div>低压柜室</div>
</div>
</div>
<div style="width: 100px;display: inline-block;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">排气</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">排气</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">排气</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">排气</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">排气</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
<div class="button-box" style="width: 100%;height: 27px;line-height: 27px;" @click="showModeDialog(5)">排气</div>
</div>
</div>
<div v-if="scope.$index === 16" style="height: 28px;line-height: 28px;">设备实际运行状态</div>
<div v-if="scope.$index === 17">状态比较</div>
</template>
</el-table-column>
<el-table-column :key="11" prop="code" label="模式编号" width="90">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;margin-left: -1px;">4</div>
<div style="font-size: 14px;height: 80px;line-height: 80px;">模式编号</div>
</div>
</template>
</el-table-column>
<el-table-column prop="smallSystem1">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;">5</div>
<div class="index-row-cell" style="width: 90px;">6</div>
<div class="index-row-cell" style="width: 90px;">7</div>
<div class="index-row-cell" style="width: 90px;">8</div>
<div class="index-row-cell" style="width: 90px;">9</div>
<div class="index-row-cell" style="width: 90px;">10</div>
<div class="index-row-cell" style="width: 90px;">11</div>
<div class="index-row-cell" style="width: 89px;">12</div>
<div style="font-size: 14px;">小系统1</div>
</div>
</template>
<el-table-column prop="airConditioner" label="空调机">
<el-table-column prop="ahu1" width="90" label-class-name="cyan-label" label="AHU-B101" />
</el-table-column>
<el-table-column prop="exhaustFan" label="回排风机">
<el-table-column prop="raf1" width="90" label-class-name="cyan-label" label="RAF-B101" />
</el-table-column>
<el-table-column prop="flowControl" label="电动风量调节阀">
<el-table-column prop="md1" width="90" label-class-name="cyan-label" label="MD-B101" />
<el-table-column prop="md2" width="90" label-class-name="cyan-label" label="MD-B102" />
<el-table-column prop="md3" width="90" label-class-name="cyan-label" label="MD-B103" />
<el-table-column prop="md4" width="90" label-class-name="cyan-label" label="MD-B104" />
<el-table-column prop="md5" width="90" label-class-name="cyan-label" label="MD-B105" />
<el-table-column prop="md6" width="90" label-class-name="cyan-label" label="MD-B106" />
</el-table-column>
</el-table-column>
<el-table-column prop="smallSystem2">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;">13</div>
<div class="index-row-cell" style="width: 99px;">14</div>
<div style="font-size: 14px;">小系统2</div>
</div>
</template>
<el-table-column prop="exhaustFan" label="排风机">
<el-table-column prop="eaf" width="90" label-class-name="cyan-label" label="EAF-B201" />
</el-table-column>
<el-table-column prop="flowControl" label="电动风量调节阀">
<el-table-column prop="md7" width="100" label-class-name="cyan-label" label="MD-B201" />
</el-table-column>
</el-table-column>
<el-table-column prop="smallSystem4">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;">15</div>
<div class="index-row-cell" style="width: 90px;">16</div>
<div class="index-row-cell" style="width: 90px;">17</div>
<div class="index-row-cell" style="width: 90px;">18</div>
<div class="index-row-cell" style="width: 90px;">19</div>
<div class="index-row-cell" style="width: 90px;">20</div>
<div class="index-row-cell" style="width: 89px;">21</div>
<div style="font-size: 14px;">小系统4</div>
</div>
</template>
<el-table-column prop="airConditioner" label="空调机">
<el-table-column prop="ahu2" width="90" label-class-name="cyan-label" label="AHU-B401" />
</el-table-column>
<el-table-column prop="exhaustFan" label="回排风机">
<el-table-column prop="raf2" width="90" label-class-name="cyan-label" label="RAF-B401" />
</el-table-column>
<el-table-column prop="flowControl" label="电动风量调节阀">
<el-table-column prop="md8" width="90" label-class-name="cyan-label" label="MD-B401" />
<el-table-column prop="md9" width="90" label-class-name="cyan-label" label="MD-B402" />
<el-table-column prop="md10" width="90" label-class-name="cyan-label" label="MD-B403" />
<el-table-column prop="md11" width="90" label-class-name="cyan-label" label="MD-B404" />
<el-table-column prop="md12" width="90" label-class-name="cyan-label" label="MD-B405" />
</el-table-column>
</el-table-column>
</el-table>
</template>
<script>
export default {
name: 'SmallSystem1Table',
data() {
return {
tableTitleStyle: {'text-align': 'center', 'height': '28px', 'padding': '0', 'background': '#45607B'},
tableData: [
{code: '301', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '302', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '303', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '304', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '305', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '306', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '307', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '308', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '309', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '310', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '311', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '312', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '313', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '314', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '315', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '316', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{}
]
};
},
methods: {
rowStyleFunction({row, column, rowIndex, columnIndex}) {
if (rowIndex === 16 && columnIndex > 1) {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B',
'color': '#0F0'
};
} else if (columnIndex === 2) {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B',
'color': '#56E5DE'
};
} else {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B'
};
}
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 1) {
if (rowIndex === 0) {
return {
rowspan: 4,
colspan: 1
};
} else if (rowIndex === 4) {
return {
rowspan: 12,
colspan: 1
};
} else if (rowIndex === 16 || rowIndex === 17) {
return {
rowspan: 1,
colspan: 2
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
} else if (columnIndex === 2) {
if (rowIndex === 16 || rowIndex === 17) {
return {
rowspan: 0,
colspan: 0
};
} else {
return {
rowspan: 1,
colspan: 1
};
}
}
},
showModeDialog(index) {
}
}
};
</script>
<style scoped>
.title-0{
width: 100%;
line-height: 20px;
text-align: left;
padding-left: 14px;
}
.index-column-cell {
text-align:center;
width: 100%;
height: 28px;
border-top: 1px solid #203244;
border-left: 2px solid #A3A3A3;
border-bottom: 1px solid #203244;
border-right: 1px solid #203244;
}
.index-row-cell {
width: 99px;
height: 20px;
font-size: 14px;
line-height: 20px;
display: inline-block;
border-top: 2px solid #A3A3A3;
border-left: 1px solid #203244;
border-bottom: 2px solid #203244;
border-right: 1px solid #203244;
}
.button-box{
text-align: center;
background-color: #ccc;
float: left;
font-size: 12px;
color: #333;
font-weight: bold;
box-sizing: border-box;
border-top: 2px solid #fff;
border-left: 2px solid #fff;
border-right: 2px solid #565656;
border-bottom: 2px solid #565656;
cursor: pointer;
}
.button-box.active,
.button-box:hover{
background: #EBB570;
border-top: 2px solid #795B31;
border-left: 2px solid #795B31;
border-right: 1px solid #fff;
border-bottom: 1px solid #fff;
}
</style>

View File

@ -0,0 +1,315 @@
<template>
<el-table ref="table2" :data="tableData" :header-row-style="tableTitleStyle" :cell-style="rowStyleFunction" :span-method="objectSpanMethod" style="float: left;">
<el-table-column type="index" fixed width="20" class-name="index-column">
<template slot="header">
<div style="width: 100%;height: 26px;background: #FFF" />
<div class="index-column-cell">1</div>
<div class="index-column-cell">2</div>
<div class="index-column-cell">3</div>
</template>
<template slot-scope="scope">
<div class="index-column-cell">{{ scope.$index + 4 }}</div>
</template>
</el-table-column>
<el-table-column fixed width="300">
<template slot="header">
<div style="font-size: 0;text-align: center;">
<div class="index-row-cell">1</div>
<div class="index-row-cell">2</div>
<div class="index-row-cell">3</div>
</div>
<div class="title-0">全年运行工况</div>
<div class="title-0">运行模式号</div>
<div class="title-0">模式状态</div>
<div class="title-0">火灾指示灯:</div>
</template>
<template slot-scope="scope">
<div v-if="scope.$index == 0" style="display: flex;">
<div style="width: 100px;">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div style="width: 100px;">
<div style="height: 56px; border: 1px solid #FFF;">
<div>商用通信</div>
<div>设备室</div>
</div>
<div style="height: 56px; border: 1px solid #FFF;">
<div>再生制动</div>
<div>监控室</div>
</div>
</div>
<div style="width: 99px;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">排气</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">排气</div>
</div>
</div>
<div v-if="scope.$index == 4" style="display: flex;">
<div style="width: 100px;display: inline-block;margin: auto;">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div style="width: 200px;display: inline-block;">
<div style="width: 200px;display: flex;">
<div style="width: 100px;display: inline-block;height: 56px; border: 1px solid #FFF;">
<div>再生制动</div>
<div>电阻室</div>
</div>
<div style="display: inline-block;width: 100px;">
<div class="button-box" style="width: 100px;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
<div class="button-box" style="width: 100px;height: 28px;line-height: 28px;" @click="showModeDialog(5)">排气</div>
</div>
</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">车站控制室</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">站厅B端环控电控室</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">站厅B端空调机房</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">站厅A端冷水机房</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">站厅A端空调机房</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">站厅A端环控电控室</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">站厅A端走廊</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">B端其余房间火灾</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">A端其余房间火灾</div>
<div class="button-box" style="width: 100%;height: 27px;line-height: 27px;" @click="showModeDialog(5)">全停模式</div>
</div>
</div>
<div v-if="scope.$index === 16" style="height: 28px;line-height: 28px;">设备实际运行状态</div>
<div v-if="scope.$index === 17">状态比较</div>
</template>
</el-table-column>
<el-table-column :key="11" prop="code" label="模式编号" width="90">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;margin-left: -1px;">4</div>
<div style="font-size: 14px;height: 80px;line-height: 80px;">模式编号</div>
</div>
</template>
</el-table-column>
<el-table-column prop="smallSystem1">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;">5</div>
<div class="index-row-cell" style="width: 90px;">6</div>
<div class="index-row-cell" style="width: 90px;">7</div>
<div class="index-row-cell" style="width: 90px;">8</div>
<div class="index-row-cell" style="width: 90px;">9</div>
<div class="index-row-cell" style="width: 90px;">10</div>
<div class="index-row-cell" style="width: 90px;">11</div>
<div class="index-row-cell" style="width: 89px;">12</div>
<div style="font-size: 14px;">小系统1</div>
</div>
</template>
<el-table-column prop="airConditioner" label="空调机">
<el-table-column label-class-name="cyan-label" prop="ahu1" width="90" label="AHU-B101" />
</el-table-column>
<el-table-column prop="exhaustFan" label="回排风机">
<el-table-column label-class-name="cyan-label" prop="raf1" width="90" label="RAF-B101" />
</el-table-column>
<el-table-column prop="flowControl" label="电动风量调节阀">
<el-table-column prop="md1" width="90" label-class-name="cyan-label" label="MD-B101" />
<el-table-column prop="md2" width="90" label-class-name="cyan-label" label="MD-B102" />
<el-table-column prop="md3" width="90" label-class-name="cyan-label" label="MD-B103" />
<el-table-column prop="md4" width="90" label-class-name="cyan-label" label="MD-B104" />
<el-table-column prop="md5" width="90" label-class-name="cyan-label" label="MD-B105" />
<el-table-column prop="md6" width="90" label-class-name="cyan-label" label="MD-B106" />
</el-table-column>
</el-table-column>
<el-table-column prop="smallSystem2">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;">13</div>
<div class="index-row-cell" style="width: 99px;">14</div>
<div style="font-size: 14px;">小系统2</div>
</div>
</template>
<el-table-column prop="exhaustFan" label="排风机">
<el-table-column prop="eaf" width="90" label-class-name="cyan-label" label="EAF-B201" />
</el-table-column>
<el-table-column prop="flowControl" label="电动风量调节阀">
<el-table-column prop="md7" width="100" label-class-name="cyan-label" label="MD-B201" />
</el-table-column>
</el-table-column>
<el-table-column prop="smallSystem4">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;">15</div>
<div class="index-row-cell" style="width: 90px;">16</div>
<div class="index-row-cell" style="width: 90px;">17</div>
<div class="index-row-cell" style="width: 90px;">18</div>
<div class="index-row-cell" style="width: 90px;">19</div>
<div class="index-row-cell" style="width: 90px;">20</div>
<div class="index-row-cell" style="width: 89px;">21</div>
<div style="font-size: 14px;">小系统4</div>
</div>
</template>
<el-table-column prop="airConditioner" label="空调机">
<el-table-column prop="ahu2" width="90" label-class-name="cyan-label" label="AHU-B401" />
</el-table-column>
<el-table-column prop="exhaustFan" label="回排风机">
<el-table-column prop="raf2" width="90" label-class-name="cyan-label" label="RAF-B401" />
</el-table-column>
<el-table-column prop="flowControl" label="电动风量调节阀">
<el-table-column prop="md8" width="90" label-class-name="cyan-label" label="MD-B401" />
<el-table-column prop="md9" width="90" label-class-name="cyan-label" label="MD-B402" />
<el-table-column prop="md10" width="90" label-class-name="cyan-label" label="MD-B403" />
<el-table-column prop="md11" width="90" label-class-name="cyan-label" label="MD-B404" />
<el-table-column prop="md12" width="90" label-class-name="cyan-label" label="MD-B405" />
</el-table-column>
</el-table-column>
</el-table>
</template>
<script>
export default {
name: 'SmallSystem1Table',
data() {
return {
tableTitleStyle: {'text-align': 'center', 'height': '28px', 'padding': '0', 'background': '#45607B'},
tableData: [
{code: '317', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '318', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '319', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '320', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '321', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '322', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '323', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '324', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '325', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '326', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '327', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '328', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '329', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '330', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '331', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '332', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{code: '', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
{}
]
};
},
methods: {
rowStyleFunction({row, column, rowIndex, columnIndex}) {
if (rowIndex === 16 && columnIndex > 1) {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B',
'color': '#0F0'
};
} else if (columnIndex === 2) {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B',
'color': '#56E5DE'
};
} else {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B'
};
}
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 1) {
if (rowIndex === 0) {
return {
rowspan: 4,
colspan: 1
};
} else if (rowIndex === 4) {
return {
rowspan: 12,
colspan: 1
};
} else if (rowIndex === 16 || rowIndex === 17) {
return {
rowspan: 1,
colspan: 2
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
} else if (columnIndex === 2) {
if (rowIndex === 16 || rowIndex === 17) {
return {
rowspan: 0,
colspan: 0
};
} else {
return {
rowspan: 1,
colspan: 1
};
}
}
},
showModeDialog(index) {
}
}
};
</script>
<style scoped>
.title-0{
width: 100%;
line-height: 20px;
text-align: left;
padding-left: 14px;
}
.index-column-cell {
text-align:center;
width: 100%;
height: 28px;
border-top: 1px solid #203244;
border-left: 2px solid #A3A3A3;
border-bottom: 1px solid #203244;
border-right: 1px solid #203244;
}
.index-row-cell {
width: 99px;
height: 20px;
font-size: 14px;
line-height: 20px;
display: inline-block;
border-top: 2px solid #A3A3A3;
border-left: 1px solid #203244;
border-bottom: 2px solid #203244;
border-right: 1px solid #203244;
}
.button-box{
text-align: center;
background-color: #ccc;
float: left;
font-size: 12px;
color: #333;
font-weight: bold;
box-sizing: border-box;
border-top: 2px solid #fff;
border-left: 2px solid #fff;
border-right: 2px solid #565656;
border-bottom: 2px solid #565656;
cursor: pointer;
}
.button-box.active,
.button-box:hover{
background: #EBB570;
border-top: 2px solid #795B31;
border-left: 2px solid #795B31;
border-right: 1px solid #fff;
border-bottom: 1px solid #fff;
}
</style>

View File

@ -0,0 +1,286 @@
<template>
<el-table ref="table2" :data="tableData" :header-row-style="tableTitleStyle" :cell-style="rowStyleFunction" :span-method="objectSpanMethod" style="float: left;">
<el-table-column type="index" width="20" fixed class-name="index-column">
<template slot="header">
<div style="width: 100%;height: 26px;background: #FFF" />
<div class="index-column-cell">1</div>
<div class="index-column-cell">2</div>
<div class="index-column-cell">3</div>
</template>
<template slot-scope="scope">
<div class="index-column-cell">{{ scope.$index + 4 }}</div>
</template>
</el-table-column>
<el-table-column fixed width="300">
<template slot="header">
<div style="font-size: 0;text-align: center;">
<div class="index-row-cell">1</div>
<div class="index-row-cell">2</div>
<div class="index-row-cell">3</div>
</div>
<div class="title-0">全年运行工况</div>
<div class="title-0">运行模式号</div>
<div class="title-0">模式状态</div>
<div class="title-0">火灾指示灯:</div>
</template>
<template slot-scope="scope">
<div v-if="scope.$index == 0" style="display: flex;">
<div style="width: 299px;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">正常运营</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(1)">夜间停运</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(2)">月检测</div>
<div class="button-box" style="width: 100%;height: 27px;line-height: 27px;" @click="showModeDialog(3)">月检测</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(2)">早晚运行-早间通风</div>
<div class="button-box" style="width: 100%;height: 27px;line-height: 27px;" @click="showModeDialog(3)">早晚运行-晚间通风</div>
</div>
</div>
<div v-if="scope.$index == 6">
<div style="width: 299px;display: flex;">
<div style="width: 199px;display: inline-block;">
<div style="height: 56px;border: 1px solid #FFF;">
<div>站台火灾开启</div>
<div>上行屏蔽门</div>
</div>
<div style="height: 56px;border: 1px solid #FFF;">
<div>站台火灾开启</div>
<div>下行屏蔽门</div>
</div>
</div>
<div style="width: 100px;display: inline-block">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
</div>
</div>
<div style="width: 299px;display: flex;">
<div style="display: inline-block;width: 100px;border: 1px solid #FFF;height: 112px;line-height: 112px;">车站隧道火灾</div>
<div style="display: inline-block;width: 100px;">
<div style="width: 100%; border: 1px solid #FFF; height: 56px;line-height: 56px;">上行</div>
<div style="width: 100%; border: 1px solid #FFF; height: 56px;line-height: 56px;">下行</div>
</div>
<div style="width: 100px;display: inline-block">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
</div>
</div>
</div>
<div v-if="scope.$index === 14" style="height: 28px;line-height: 28px;">设备实际运行状态</div>
<div v-if="scope.$index === 15">状态比较</div>
</template>
</el-table-column>
<el-table-column :key="11" prop="code" label="模式编号" width="90">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;margin-left: -1px;">4</div>
<div style="font-size: 14px;height: 80px;line-height: 80px;">模式编号</div>
</div>
</template>
</el-table-column>
<el-table-column prop="smallSystem1">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;">5</div>
<div class="index-row-cell" style="width: 90px;">6</div>
<div class="index-row-cell" style="width: 90px;">7</div>
<div class="index-row-cell" style="width: 90px;">8</div>
<div class="index-row-cell" style="width: 90px;">9</div>
<div class="index-row-cell" style="width: 90px;">10</div>
<div class="index-row-cell" style="width: 90px;">11</div>
<div class="index-row-cell" style="width: 89px;">12</div>
<div class="index-row-cell" style="width: 90px;">13</div>
<div class="index-row-cell" style="width: 90px;">14</div>
<div class="index-row-cell" style="width: 90px;">15</div>
<div class="index-row-cell" style="width: 90px;">16</div>
<div class="index-row-cell" style="width: 90px;">17</div>
<div class="index-row-cell" style="width: 90px;">18</div>
<div class="index-row-cell" style="width: 90px;">19</div>
<div class="index-row-cell" style="width: 89px;">20</div>
<div class="index-row-cell" style="width: 90px;">21</div>
<div class="index-row-cell" style="width: 90px;">22</div>
<div class="index-row-cell" style="width: 90px;">23</div>
<div class="index-row-cell" style="width: 90px;">24</div>
<div class="index-row-cell" style="width: 89px;">25</div>
<div style="font-size: 14px;">隧道通风系</div>
</div>
</template>
<el-table-column prop="tunnelFan" label="隧道风机">
<el-table-column prop="tvf1" width="90" label-class-name="cyan-label" label="TVF-201-I-1" />
<el-table-column prop="tvf2" width="90" label-class-name="cyan-label" label="TVF-201-I-2" />
<el-table-column prop="tvf3" width="90" label-class-name="cyan-label" label="TVF-201-II-1" />
<el-table-column prop="tvf4" width="90" label-class-name="cyan-label" label="TVF-201-II-2" />
</el-table-column>
<el-table-column prop="exhaustFan" label="车站排热风机">
<el-table-column prop="tef1" width="90" label-class-name="cyan-label" label="TEF-201-I-1" />
<el-table-column prop="tef2" width="90" label-class-name="cyan-label" label="TEF-201-II-1" />
</el-table-column>
<el-table-column prop="jetFan" label="射流风机风机">
<el-table-column prop="jet1" width="90" label-class-name="cyan-label" label="JET-281-1" />
<el-table-column prop="jet2" width="90" label-class-name="cyan-label" label="JET-281-2" />
<el-table-column prop="jet3" width="90" label-class-name="cyan-label" label="JET-281-3" />
<el-table-column prop="jet4" width="90" label-class-name="cyan-label" label="JET-281-4" />
<el-table-column prop="jet5" width="90" label-class-name="cyan-label" label="JET-281-5" />
<el-table-column prop="jet6" width="90" label-class-name="cyan-label" label="JET-281-6" />
<el-table-column prop="jet7" width="90" label-class-name="cyan-label" label="JET-281-7" />
<el-table-column prop="jet8" width="90" label-class-name="cyan-label" label="JET-281-8" />
<el-table-column prop="jet9" width="90" label-class-name="cyan-label" label="JET-281-9" />
<el-table-column prop="jet10" width="90" label-class-name="cyan-label" label="JET-281-10" />
<el-table-column prop="jet11" width="90" label-class-name="cyan-label" label="JET-281-11" />
<el-table-column prop="jet12" width="90" label-class-name="cyan-label" label="JET-281-12" />
<el-table-column prop="jet13" width="90" label-class-name="cyan-label" label="JET-281-13" />
<el-table-column prop="jet14" width="90" label-class-name="cyan-label" label="JET-281-14" />
<el-table-column prop="jet15" width="90" label-class-name="cyan-label" label="JET-281-15" />
</el-table-column>
</el-table-column>
</el-table>
</template>
<script>
export default {
name: 'Ventilation',
data() {
return {
tableTitleStyle: {'text-align': 'center', 'height': '28px', 'padding': '0', 'background': '#45607B'},
tableData: [
{code: '401', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', jet1: '打开', jet2: '关闭', jet3: '打开', jet4: '打开', jet5: '打开', jet6: '打开', jet7: '打开', jet8: '打开', jet9: '打开', jet10: '打开', jet11: '打开', jet12: '打开', jet13: '打开', jet14:'打开', jet15: '打开'},
{code: '402', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', jet1: '打开', jet2: '关闭', jet3: '打开', jet4: '打开', jet5: '打开', jet6: '打开', jet7: '打开', jet8: '打开', jet9: '打开', jet10: '打开', jet11: '打开', jet12: '打开', jet13: '打开', jet14:'打开', jet15: '打开'},
{code: '403', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', jet1: '打开', jet2: '关闭', jet3: '打开', jet4: '打开', jet5: '打开', jet6: '打开', jet7: '打开', jet8: '打开', jet9: '打开', jet10: '打开', jet11: '打开', jet12: '打开', jet13: '打开', jet14:'打开', jet15: '打开'},
{code: '404', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', jet1: '打开', jet2: '关闭', jet3: '打开', jet4: '打开', jet5: '打开', jet6: '打开', jet7: '打开', jet8: '打开', jet9: '打开', jet10: '打开', jet11: '打开', jet12: '打开', jet13: '打开', jet14:'打开', jet15: '打开'},
{code: '405', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', jet1: '打开', jet2: '关闭', jet3: '打开', jet4: '打开', jet5: '打开', jet6: '打开', jet7: '打开', jet8: '打开', jet9: '打开', jet10: '打开', jet11: '打开', jet12: '打开', jet13: '打开', jet14:'打开', jet15: '打开'},
{code: '406', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', jet1: '打开', jet2: '关闭', jet3: '打开', jet4: '打开', jet5: '打开', jet6: '打开', jet7: '打开', jet8: '打开', jet9: '打开', jet10: '打开', jet11: '打开', jet12: '打开', jet13: '打开', jet14:'打开', jet15: '打开'},
{code: '407', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', jet1: '打开', jet2: '关闭', jet3: '打开', jet4: '打开', jet5: '打开', jet6: '打开', jet7: '打开', jet8: '打开', jet9: '打开', jet10: '打开', jet11: '打开', jet12: '打开', jet13: '打开', jet14:'打开', jet15: '打开'},
{code: '408', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', jet1: '打开', jet2: '关闭', jet3: '打开', jet4: '打开', jet5: '打开', jet6: '打开', jet7: '打开', jet8: '打开', jet9: '打开', jet10: '打开', jet11: '打开', jet12: '打开', jet13: '打开', jet14:'打开', jet15: '打开'},
{code: '409', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', jet1: '打开', jet2: '关闭', jet3: '打开', jet4: '打开', jet5: '打开', jet6: '打开', jet7: '打开', jet8: '打开', jet9: '打开', jet10: '打开', jet11: '打开', jet12: '打开', jet13: '打开', jet14:'打开', jet15: '打开'},
{code: '410', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', jet1: '打开', jet2: '关闭', jet3: '打开', jet4: '打开', jet5: '打开', jet6: '打开', jet7: '打开', jet8: '打开', jet9: '打开', jet10: '打开', jet11: '打开', jet12: '打开', jet13: '打开', jet14:'打开', jet15: '打开'},
{code: '411', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', jet1: '打开', jet2: '关闭', jet3: '打开', jet4: '打开', jet5: '打开', jet6: '打开', jet7: '打开', jet8: '打开', jet9: '打开', jet10: '打开', jet11: '打开', jet12: '打开', jet13: '打开', jet14:'打开', jet15: '打开'},
{code: '412', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', jet1: '打开', jet2: '关闭', jet3: '打开', jet4: '打开', jet5: '打开', jet6: '打开', jet7: '打开', jet8: '打开', jet9: '打开', jet10: '打开', jet11: '打开', jet12: '打开', jet13: '打开', jet14:'打开', jet15: '打开'},
{code: '413', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', jet1: '打开', jet2: '关闭', jet3: '打开', jet4: '打开', jet5: '打开', jet6: '打开', jet7: '打开', jet8: '打开', jet9: '打开', jet10: '打开', jet11: '打开', jet12: '打开', jet13: '打开', jet14:'打开', jet15: '打开'},
{code: '414', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', jet1: '打开', jet2: '关闭', jet3: '打开', jet4: '打开', jet5: '打开', jet6: '打开', jet7: '打开', jet8: '打开', jet9: '打开', jet10: '打开', jet11: '打开', jet12: '打开', jet13: '打开', jet14:'打开', jet15: '打开'},
{code: '', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', jet1: '打开', jet2: '关闭', jet3: '打开', jet4: '打开', jet5: '打开', jet6: '打开', jet7: '打开', jet8: '打开', jet9: '打开', jet10: '打开', jet11: '打开', jet12: '打开', jet13: '打开', jet14:'打开', jet15: '打开'},
{}
]
};
},
methods: {
rowStyleFunction({row, column, rowIndex, columnIndex}) {
if (rowIndex === 14 && columnIndex > 1) {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B',
'color': '#0F0'
};
} else if (columnIndex === 2) {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B',
'color': '#56E5DE'
};
} else {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B'
};
}
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 1) {
if (rowIndex === 0) {
return {
rowspan: 6,
colspan: 1
};
} else if (rowIndex === 6) {
return {
rowspan: 8,
colspan: 1
};
} else if (rowIndex === 14 || rowIndex === 15) {
return {
rowspan: 1,
colspan: 2
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
} else if (columnIndex === 2) {
if (rowIndex === 14 || rowIndex === 15) {
return {
rowspan: 0,
colspan: 0
};
} else {
return {
rowspan: 1,
colspan: 1
};
}
}
},
showModeDialog(index) {
}
}
};
</script>
<style scoped>
.title-0{
width: 100%;
line-height: 20px;
text-align: left;
padding-left: 14px;
}
.index-column-cell {
text-align:center;
width: 100%;
height: 28px;
border-top: 1px solid #203244;
border-left: 2px solid #A3A3A3;
border-bottom: 1px solid #203244;
border-right: 1px solid #203244;
}
.index-row-cell {
width: 99px;
height: 20px;
font-size: 14px;
line-height: 20px;
display: inline-block;
border-top: 2px solid #A3A3A3;
border-left: 1px solid #203244;
border-bottom: 2px solid #203244;
border-right: 1px solid #203244;
}
.button-box{
text-align: center;
background-color: #ccc;
float: left;
font-size: 12px;
color: #333;
font-weight: bold;
box-sizing: border-box;
border-top: 2px solid #fff;
border-left: 2px solid #fff;
border-right: 2px solid #565656;
border-bottom: 2px solid #565656;
cursor: pointer;
}
.button-box.active,
.button-box:hover{
background: #EBB570;
border-top: 2px solid #795B31;
border-left: 2px solid #795B31;
border-right: 1px solid #fff;
border-bottom: 1px solid #fff;
}
</style>

View File

@ -0,0 +1,308 @@
<template>
<el-table ref="table2" :data="tableData" :header-row-style="tableTitleStyle" :cell-style="rowStyleFunction" :span-method="objectSpanMethod" style="float: left;">
<el-table-column type="index" width="20" fixed class-name="index-column">
<template slot="header">
<div style="width: 100%;height: 26px;background: #FFF" />
<div class="index-column-cell">1</div>
<div class="index-column-cell">2</div>
<div class="index-column-cell">3</div>
</template>
<template slot-scope="scope">
<div class="index-column-cell">{{ scope.$index + 4 }}</div>
</template>
</el-table-column>
<el-table-column fixed width="300">
<template slot="header">
<div style="font-size: 0;text-align: center;">
<div class="index-row-cell">1</div>
<div class="index-row-cell">2</div>
<div class="index-row-cell">3</div>
</div>
<div class="title-0">全年运行工况</div>
<div class="title-0">运行模式号</div>
<div class="title-0">模式状态</div>
<div class="title-0">火灾指示灯:</div>
</template>
<template slot-scope="scope">
<div v-if="scope.$index == 0">
<div style="width: 299px;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">正常工况</div>
</div>
<div style="width: 300px;display: flex;">
<div style="width: 200px;display: inline-block;border: 1px solid #FFF;height: 56px;line-height: 56px;">A端出入端左线火灾</div>
<div style="width: 99px;display: inline-block;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
</div>
</div>
<div style="width: 300px;display: flex;">
<div style="width: 200px;display: inline-block;border: 1px solid #FFF;height: 56px;line-height: 56px;">A端出入端右线火灾</div>
<div style="width: 99px;display: inline-block;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
</div>
</div>
<div style="width: 300px;display: flex;">
<div style="width: 100px;display: inline-block;border: 1px solid #FFF;height: 84px;margin: auto;">
<div style="margin-top: 18px;">上行</div><div>阻塞</div>
</div>
<div style="width: 200px;display: inline-block">
<div style="width: 200px;display: flex;">
<div style="width: 100px;display: inline-block;height: 56px;line-height: 56px;">工况1</div>
<div style="width: 99px;display: inline-block">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
</div>
</div>
<div style="width: 199px;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">工况2</div>
</div>
</div>
</div>
<div style="width: 300px; display: flex;">
<div style="width: 100px;display: inline-block;border: 1px solid #FFF;height:112px;margin: auto;">
<div style="margin-top: 32px;">上行</div><div>火灾</div>
</div>
<div style="width: 100px;display: inline-block;">
<div style="width: 100px;border: 1px solid #FFF;height:56px;line-height: 56px;">工况1</div>
<div style="width: 100px;border: 1px solid #FFF;height:56px;line-height: 56px;">工况2</div>
</div>
<div style="width: 99px;display: inline-block;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
</div>
</div>
<div style="width: 300px;display: flex;">
<div style="width: 100px;display: inline-block;border: 1px solid #FFF;height: 84px;margin: auto;">
<div style="margin-top: 18px;">下行</div><div>阻塞</div>
</div>
<div style="width: 200px;display: inline-block">
<div style="width: 200px;display: flex;">
<div style="width: 100px;display: inline-block;height: 56px;line-height: 56px;">工况1</div>
<div style="width: 99px;display: inline-block">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
</div>
</div>
<div style="width: 199px;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">工况2</div>
</div>
</div>
</div>
</div>
<div v-if="scope.$index === 15" style="height: 28px;line-height: 28px;">设备实际运行状态</div>
<div v-if="scope.$index === 16">状态比较</div>
</template>
</el-table-column>
<el-table-column :key="11" prop="code" label="模式编号" width="90">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;margin-left: -1px;">4</div>
<div style="font-size: 14px;height: 80px;line-height: 80px;">模式编号</div>
</div>
</template>
</el-table-column>
<el-table-column prop="smallSystem1">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;">5</div>
<div class="index-row-cell" style="width: 90px;">6</div>
<div class="index-row-cell" style="width: 90px;">7</div>
<div class="index-row-cell" style="width: 90px;">8</div>
<div class="index-row-cell" style="width: 90px;">9</div>
<div class="index-row-cell" style="width: 90px;">10</div>
<div class="index-row-cell" style="width: 90px;">11</div>
<div class="index-row-cell" style="width: 89px;">12</div>
<div class="index-row-cell" style="width: 90px;">13</div>
<div class="index-row-cell" style="width: 90px;">14</div>
<div class="index-row-cell" style="width: 90px;">15</div>
<div class="index-row-cell" style="width: 90px;">16</div>
<div class="index-row-cell" style="width: 90px;">17</div>
<div class="index-row-cell" style="width: 90px;">18</div>
<div class="index-row-cell" style="width: 90px;">19</div>
<div class="index-row-cell" style="width: 89px;">20</div>
<div class="index-row-cell" style="width: 90px;">21</div>
<div class="index-row-cell" style="width: 90px;">22</div>
<div class="index-row-cell" style="width: 90px;">23</div>
<div class="index-row-cell" style="width: 90px;">24</div>
<div class="index-row-cell" style="width: 89px;">25</div>
<div style="font-size: 14px;">隧道通风系1</div>
</div>
</template>
<el-table-column prop="exhaustFan" label="车站排热风机">
<el-table-column prop="tef1" width="90" label-class-name="cyan-label" label="TEF-201-I-1" />
<el-table-column prop="tef2" width="90" label-class-name="cyan-label" label="TEF-201-II-1" />
</el-table-column>
<el-table-column prop="tunnelFan" label="隧道风机">
<el-table-column prop="tvf1" width="90" label-class-name="cyan-label" label="TVF-201-I-1" />
<el-table-column prop="tvf2" width="90" label-class-name="cyan-label" label="TVF-201-I-2" />
<el-table-column prop="tvf3" width="90" label-class-name="cyan-label" label="TVF-201-II-1" />
<el-table-column prop="tvf4" width="90" label-class-name="cyan-label" label="TVF-201-II-2" />
</el-table-column>
<el-table-column prop="flowControl" label="电动组合风量调节阀">
<el-table-column prop="md1" width="90" label-class-name="cyan-label" label="MD-201-I-1" />
<el-table-column prop="md2" width="90" label-class-name="cyan-label" label="MD-201-I-2" />
<el-table-column prop="md3" width="90" label-class-name="cyan-label" label="MD-201-I-3" />
<el-table-column prop="md4" width="90" label-class-name="cyan-label" label="MD-201-I-4" />
<el-table-column prop="md5" width="90" label-class-name="cyan-label" label="MD-201-I-5" />
<el-table-column prop="md6" width="90" label-class-name="cyan-label" label="MD-201-I-6" />
<el-table-column prop="md7" width="90" label-class-name="cyan-label" label="MD-201-I-7" />
<el-table-column prop="md8" width="90" label-class-name="cyan-label" label="MD-201-I-8" />
<el-table-column prop="md9" width="90" label-class-name="cyan-label" label="MD-201-II-1" />
<el-table-column prop="md10" width="90" label-class-name="cyan-label" label="MD-201-II-2" />
<el-table-column prop="md11" width="90" label-class-name="cyan-label" label="MD-201-II-3" />
<el-table-column prop="md12" width="90" label-class-name="cyan-label" label="MD-201-II-4" />
<el-table-column prop="md13" width="90" label-class-name="cyan-label" label="MD-201-II-5" />
<el-table-column prop="md14" width="90" label-class-name="cyan-label" label="MD-201-II-6" />
<el-table-column prop="md15" width="90" label-class-name="cyan-label" label="MD-201-II-7" />
<el-table-column prop="md16" width="90" label-class-name="cyan-label" label="MD-201-II-8" />
</el-table-column>
</el-table-column>
</el-table>
</template>
<script>
export default {
name: 'Ventilation1',
data() {
return {
tableTitleStyle: {'text-align': 'center', 'height': '28px', 'padding': '0', 'background': '#45607B'},
tableData: [
{code: '415', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '416', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '417', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '418', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '419', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '420', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '421', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '422', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '423', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '424', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '425', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '426', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '427', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '428', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '429', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{}
]
};
},
methods: {
rowStyleFunction({row, column, rowIndex, columnIndex}) {
if (rowIndex === 15 && columnIndex > 1) {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B',
'color': '#0F0'
};
} else if (columnIndex === 2) {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B',
'color': '#56E5DE'
};
} else {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B'
};
}
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 1) {
if (rowIndex === 0) {
return {
rowspan: 15,
colspan: 1
};
} else if (rowIndex === 16 || rowIndex === 15) {
return {
rowspan: 1,
colspan: 2
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
} else if (columnIndex === 2) {
if (rowIndex === 16 || rowIndex === 15) {
return {
rowspan: 0,
colspan: 0
};
} else {
return {
rowspan: 1,
colspan: 1
};
}
}
},
showModeDialog(index) {
}
}
};
</script>
<style scoped>
.title-0{
width: 100%;
line-height: 20px;
text-align: left;
padding-left: 14px;
}
.index-column-cell {
text-align:center;
width: 100%;
height: 28px;
border-top: 1px solid #203244;
border-left: 2px solid #A3A3A3;
border-bottom: 1px solid #203244;
border-right: 1px solid #203244;
}
.index-row-cell {
width: 99px;
height: 20px;
font-size: 14px;
line-height: 20px;
display: inline-block;
border-top: 2px solid #A3A3A3;
border-left: 1px solid #203244;
border-bottom: 2px solid #203244;
border-right: 1px solid #203244;
}
.button-box{
text-align: center;
background-color: #ccc;
float: left;
font-size: 12px;
color: #333;
font-weight: bold;
box-sizing: border-box;
border-top: 2px solid #fff;
border-left: 2px solid #fff;
border-right: 2px solid #565656;
border-bottom: 2px solid #565656;
cursor: pointer;
}
.button-box.active,
.button-box:hover{
background: #EBB570;
border-top: 2px solid #795B31;
border-left: 2px solid #795B31;
border-right: 1px solid #fff;
border-bottom: 1px solid #fff;
}
</style>

View File

@ -0,0 +1,256 @@
<template>
<el-table ref="table2" :data="tableData" :header-row-style="tableTitleStyle" :cell-style="rowStyleFunction" :span-method="objectSpanMethod" style="float: left;">
<el-table-column type="index" width="20" fixed class-name="index-column">
<template slot="header">
<div style="width: 100%;height: 26px;background: #FFF" />
<div class="index-column-cell">1</div>
<div class="index-column-cell">2</div>
<div class="index-column-cell">3</div>
</template>
<template slot-scope="scope">
<div class="index-column-cell">{{ scope.$index + 4 }}</div>
</template>
</el-table-column>
<el-table-column fixed width="300">
<template slot="header">
<div style="font-size: 0;text-align: center;">
<div class="index-row-cell">1</div>
<div class="index-row-cell">2</div>
<div class="index-row-cell">3</div>
</div>
<div class="title-0">全年运行工况</div>
<div class="title-0">运行模式号</div>
<div class="title-0">模式状态</div>
<div class="title-0">火灾指示灯:</div>
</template>
<template slot-scope="scope">
<div v-if="scope.$index == 0">
<div style="width: 300px; display: flex;">
<div style="width: 100px;display: inline-block;border: 1px solid #FFF;height:112px;margin: auto;">
<div style="margin-top: 32px;">下行</div><div>火灾</div>
</div>
<div style="width: 100px;display: inline-block;">
<div style="width: 100px;border: 1px solid #FFF;height:56px;line-height: 56px;">工况1</div>
<div style="width: 100px;border: 1px solid #FFF;height:56px;line-height: 56px;">工况2</div>
</div>
<div style="width: 99px;display: inline-block;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
</div>
</div>
<div style="width: 300px; display: flex;">
<div style="width: 200px;display: inline-block;border: 1px solid #FFF;height: 56px;line-height: 56px">A端停车线火灾</div>
<div style="width: 99px;display: inline-block;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
</div>
</div>
</div>
<div v-if="scope.$index === 6" style="height: 28px;line-height: 28px;">设备实际运行状态</div>
<div v-if="scope.$index === 7">状态比较</div>
</template>
</el-table-column>
<el-table-column :key="11" prop="code" label="模式编号" width="90">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;margin-left: -1px;">4</div>
<div style="font-size: 14px;height: 80px;line-height: 80px;">模式编号</div>
</div>
</template>
</el-table-column>
<el-table-column prop="smallSystem1">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;">5</div>
<div class="index-row-cell" style="width: 90px;">6</div>
<div class="index-row-cell" style="width: 90px;">7</div>
<div class="index-row-cell" style="width: 90px;">8</div>
<div class="index-row-cell" style="width: 90px;">9</div>
<div class="index-row-cell" style="width: 90px;">10</div>
<div class="index-row-cell" style="width: 90px;">11</div>
<div class="index-row-cell" style="width: 90px;">12</div>
<div class="index-row-cell" style="width: 90px;">13</div>
<div class="index-row-cell" style="width: 90px;">14</div>
<div class="index-row-cell" style="width: 90px;">15</div>
<div class="index-row-cell" style="width: 90px;">16</div>
<div class="index-row-cell" style="width: 90px;">17</div>
<div class="index-row-cell" style="width: 90px;">18</div>
<div class="index-row-cell" style="width: 90px;">19</div>
<div class="index-row-cell" style="width: 90px;">20</div>
<div class="index-row-cell" style="width: 90px;">21</div>
<div class="index-row-cell" style="width: 90px;">22</div>
<div class="index-row-cell" style="width: 90px;">23</div>
<div class="index-row-cell" style="width: 90px;">24</div>
<div class="index-row-cell" style="width: 90px;">25</div>
<div class="index-row-cell" style="width: 89px;">26</div>
<div style="font-size: 14px;">隧道通风系1</div>
</div>
</template>
<el-table-column prop="exhaustFan" label="车站排热风机">
<el-table-column prop="tef1" width="90" label-class-name="cyan-label" label="TEF-201-I-1" />
<el-table-column prop="tef2" width="90" label-class-name="cyan-label" label="TEF-201-II-1" />
</el-table-column>
<el-table-column prop="tunnelFan" label="隧道风机">
<el-table-column prop="tvf1" width="90" label-class-name="cyan-label" label="TVF-201-I-1" />
<el-table-column prop="tvf2" width="90" label-class-name="cyan-label" label="TVF-201-I-2" />
<el-table-column prop="tvf3" width="90" label-class-name="cyan-label" label="TVF-201-II-1" />
<el-table-column prop="tvf4" width="90" label-class-name="cyan-label" label="TVF-201-II-2" />
</el-table-column>
<el-table-column prop="flowControl" label="电动组合风量调节阀">
<el-table-column prop="md1" width="90" label-class-name="cyan-label" label="MD-201-I-1" />
<el-table-column prop="md2" width="90" label-class-name="cyan-label" label="MD-201-I-2" />
<el-table-column prop="md3" width="90" label-class-name="cyan-label" label="MD-201-I-3" />
<el-table-column prop="md4" width="90" label-class-name="cyan-label" label="MD-201-I-4" />
<el-table-column prop="md5" width="90" label-class-name="cyan-label" label="MD-201-I-5" />
<el-table-column prop="md6" width="90" label-class-name="cyan-label" label="MD-201-I-6" />
<el-table-column prop="md7" width="90" label-class-name="cyan-label" label="MD-201-I-7" />
<el-table-column prop="md8" width="90" label-class-name="cyan-label" label="MD-201-I-8" />
<el-table-column prop="md9" width="90" label-class-name="cyan-label" label="MD-201-II-1" />
<el-table-column prop="md10" width="90" label-class-name="cyan-label" label="MD-201-II-2" />
<el-table-column prop="md11" width="90" label-class-name="cyan-label" label="MD-201-II-3" />
<el-table-column prop="md12" width="90" label-class-name="cyan-label" label="MD-201-II-4" />
<el-table-column prop="md13" width="90" label-class-name="cyan-label" label="MD-201-II-5" />
<el-table-column prop="md14" width="90" label-class-name="cyan-label" label="MD-201-II-6" />
<el-table-column prop="md15" width="90" label-class-name="cyan-label" label="MD-201-II-7" />
<el-table-column prop="md16" width="90" label-class-name="cyan-label" label="MD-201-II-8" />
</el-table-column>
</el-table-column>
</el-table>
</template>
<script>
export default {
name: 'Ventilation1',
data() {
return {
tableTitleStyle: {'text-align': 'center', 'height': '28px', 'padding': '0', 'background': '#45607B'},
tableData: [
{code: '430', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '431', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '432', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '433', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '434', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '435', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{}
]
};
},
methods: {
rowStyleFunction({row, column, rowIndex, columnIndex}) {
if (rowIndex === 6 && columnIndex > 1) {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B',
'color': '#0F0'
};
} else if (columnIndex === 2) {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B',
'color': '#56E5DE'
};
} else {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B'
};
}
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 1) {
if (rowIndex === 0) {
return {
rowspan: 6,
colspan: 1
};
} else if (rowIndex === 6 || rowIndex === 7) {
return {
rowspan: 1,
colspan: 2
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
} else if (columnIndex === 2) {
if (rowIndex === 6 || rowIndex === 7) {
return {
rowspan: 0,
colspan: 0
};
} else {
return {
rowspan: 1,
colspan: 1
};
}
}
},
showModeDialog(index) {
}
}
};
</script>
<style scoped>
.title-0{
width: 100%;
line-height: 20px;
text-align: left;
padding-left: 14px;
}
.index-column-cell {
text-align:center;
width: 100%;
height: 28px;
border-top: 1px solid #203244;
border-left: 2px solid #A3A3A3;
border-bottom: 1px solid #203244;
border-right: 1px solid #203244;
}
.index-row-cell {
width: 99px;
height: 20px;
font-size: 14px;
line-height: 20px;
display: inline-block;
border-top: 2px solid #A3A3A3;
border-left: 1px solid #203244;
border-bottom: 2px solid #203244;
border-right: 1px solid #203244;
}
.button-box{
text-align: center;
background-color: #ccc;
float: left;
font-size: 12px;
color: #333;
font-weight: bold;
box-sizing: border-box;
border-top: 2px solid #fff;
border-left: 2px solid #fff;
border-right: 2px solid #565656;
border-bottom: 2px solid #565656;
cursor: pointer;
}
.button-box.active,
.button-box:hover{
background: #EBB570;
border-top: 2px solid #795B31;
border-left: 2px solid #795B31;
border-right: 1px solid #fff;
border-bottom: 1px solid #fff;
}
</style>

View File

@ -0,0 +1,296 @@
<template>
<el-table ref="table2" :data="tableData" :header-row-style="tableTitleStyle" :cell-style="rowStyleFunction" :span-method="objectSpanMethod" style="float: left;">
<el-table-column type="index" width="20" fixed class-name="index-column">
<template slot="header">
<div style="width: 100%;height: 26px;background: #FFF" />
<div class="index-column-cell">1</div>
<div class="index-column-cell">2</div>
<div class="index-column-cell">3</div>
</template>
<template slot-scope="scope">
<div class="index-column-cell">{{ scope.$index + 4 }}</div>
</template>
</el-table-column>
<el-table-column fixed width="300">
<template slot="header">
<div style="font-size: 0;text-align: center;">
<div class="index-row-cell">1</div>
<div class="index-row-cell">2</div>
<div class="index-row-cell">3</div>
</div>
<div class="title-0">全年运行工况</div>
<div class="title-0">运行模式号</div>
<div class="title-0">模式状态</div>
<div class="title-0">火灾指示灯:</div>
</template>
<template slot-scope="scope">
<div v-if="scope.$index == 0">
<div style="width: 300px; display: flex;">
<div style="width: 200px;display: inline-block;border: 1px solid #FFF;height:56px;line-height: 56px;">
<div>上行阻塞</div>
</div>
<div style="width: 99px;display: inline-block;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
</div>
</div>
<div style="width:299px;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">两线同时阻塞(上行先阻塞)</div>
</div>
<div style="width: 300px; display: flex;">
<div style="width: 100px;display: inline-block;border: 1px solid #FFF;height:112px;margin: auto;">
<div style="margin-top: 32px;">上行</div><div>火灾</div>
</div>
<div style="width: 100px;display: inline-block;">
<div style="width: 100px;border: 1px solid #FFF;height:56px;line-height: 56px;">车头火灾</div>
<div style="width: 100px;border: 1px solid #FFF;height:56px;line-height: 56px;">车尾火灾</div>
</div>
<div style="width: 99px;display: inline-block;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
</div>
</div>
<div style="width: 300px; display: flex;">
<div style="width: 200px;display: inline-block;border: 1px solid #FFF;height:56px;line-height: 56px;">
<div>上行阻塞</div>
</div>
<div style="width: 99px;display: inline-block;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
</div>
</div>
<div style="width:299px;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">两线同时阻塞(上行先阻塞)</div>
</div>
<div style="width: 300px; display: flex;">
<div style="width: 100px;display: inline-block;border: 1px solid #FFF;height:112px;margin: auto;">
<div style="margin-top: 32px;">下行</div><div>火灾</div>
</div>
<div style="width: 100px;display: inline-block;">
<div style="width: 100px;border: 1px solid #FFF;height:56px;line-height: 56px;">车头火灾</div>
<div style="width: 100px;border: 1px solid #FFF;height:56px;line-height: 56px;">车尾火灾</div>
</div>
<div style="width: 99px;display: inline-block;">
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">首选</div>
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">备选</div>
</div>
</div>
</div>
<div v-if="scope.$index === 14" style="height: 28px;line-height: 28px;">设备实际运行状态</div>
<div v-if="scope.$index === 15">状态比较</div>
</template>
</el-table-column>
<el-table-column :key="11" prop="code" label="模式编号" width="90">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;margin-left: -1px;">4</div>
<div style="font-size: 14px;height: 80px;line-height: 80px;">模式编号</div>
</div>
</template>
</el-table-column>
<el-table-column prop="smallSystem1">
<template slot="header">
<div style="font-size: 0;text-align: center;height: 100%;">
<div class="index-row-cell" style="width: 90px;">5</div>
<div class="index-row-cell" style="width: 90px;">6</div>
<div class="index-row-cell" style="width: 90px;">7</div>
<div class="index-row-cell" style="width: 90px;">8</div>
<div class="index-row-cell" style="width: 90px;">9</div>
<div class="index-row-cell" style="width: 90px;">10</div>
<div class="index-row-cell" style="width: 90px;">11</div>
<div class="index-row-cell" style="width: 90px;">12</div>
<div class="index-row-cell" style="width: 90px;">13</div>
<div class="index-row-cell" style="width: 90px;">14</div>
<div class="index-row-cell" style="width: 90px;">15</div>
<div class="index-row-cell" style="width: 90px;">16</div>
<div class="index-row-cell" style="width: 90px;">17</div>
<div class="index-row-cell" style="width: 90px;">18</div>
<div class="index-row-cell" style="width: 90px;">19</div>
<div class="index-row-cell" style="width: 90px;">20</div>
<div class="index-row-cell" style="width: 90px;">21</div>
<div class="index-row-cell" style="width: 90px;">22</div>
<div class="index-row-cell" style="width: 90px;">23</div>
<div class="index-row-cell" style="width: 90px;">24</div>
<div class="index-row-cell" style="width: 90px;">25</div>
<div class="index-row-cell" style="width: 89px;">26</div>
<div style="font-size: 14px;">隧道通风系1</div>
</div>
</template>
<el-table-column prop="exhaustFan" label="车站排热风机">
<el-table-column prop="tef1" width="90" label-class-name="cyan-label" label="TEF-201-I-1" />
<el-table-column prop="tef2" width="90" label-class-name="cyan-label" label="TEF-201-II-1" />
</el-table-column>
<el-table-column prop="tunnelFan" label="隧道风机">
<el-table-column prop="tvf1" width="90" label-class-name="cyan-label" label="TVF-201-I-1" />
<el-table-column prop="tvf2" width="90" label-class-name="cyan-label" label="TVF-201-I-2" />
<el-table-column prop="tvf3" width="90" label-class-name="cyan-label" label="TVF-201-II-1" />
<el-table-column prop="tvf4" width="90" label-class-name="cyan-label" label="TVF-201-II-2" />
</el-table-column>
<el-table-column prop="flowControl" label="电动组合风量调节阀">
<el-table-column prop="md1" width="90" label-class-name="cyan-label" label="MD-201-I-1" />
<el-table-column prop="md2" width="90" label-class-name="cyan-label" label="MD-201-I-2" />
<el-table-column prop="md3" width="90" label-class-name="cyan-label" label="MD-201-I-3" />
<el-table-column prop="md4" width="90" label-class-name="cyan-label" label="MD-201-I-4" />
<el-table-column prop="md5" width="90" label-class-name="cyan-label" label="MD-201-I-5" />
<el-table-column prop="md6" width="90" label-class-name="cyan-label" label="MD-201-I-6" />
<el-table-column prop="md7" width="90" label-class-name="cyan-label" label="MD-201-I-7" />
<el-table-column prop="md8" width="90" label-class-name="cyan-label" label="MD-201-I-8" />
<el-table-column prop="md9" width="90" label-class-name="cyan-label" label="MD-201-II-1" />
<el-table-column prop="md10" width="90" label-class-name="cyan-label" label="MD-201-II-2" />
<el-table-column prop="md11" width="90" label-class-name="cyan-label" label="MD-201-II-3" />
<el-table-column prop="md12" width="90" label-class-name="cyan-label" label="MD-201-II-4" />
<el-table-column prop="md13" width="90" label-class-name="cyan-label" label="MD-201-II-5" />
<el-table-column prop="md14" width="90" label-class-name="cyan-label" label="MD-201-II-6" />
<el-table-column prop="md15" width="90" label-class-name="cyan-label" label="MD-201-II-7" />
<el-table-column prop="md16" width="90" label-class-name="cyan-label" label="MD-201-II-8" />
</el-table-column>
</el-table-column>
</el-table>
</template>
<script>
export default {
name: 'Ventilation1',
data() {
return {
tableTitleStyle: {'text-align': 'center', 'height': '28px', 'padding': '0', 'background': '#45607B'},
tableData: [
{code: '436', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '437', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '438', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '439', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '440', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '441', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '442', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '443', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '444', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '445', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '446', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '447', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '438', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '439', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{code: '', tvf1: '打开', tvf2: '打开', tvf3: '半开', tvf4: '半开', tef1: '半开', tef2: '打开', md1: '打开', md2: '关闭', md3: '打开', md4: '打开', md5: '打开', md6: '打开', md7: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开', md13: '打开', md14:'打开', md15: '打开', md16: '打开'},
{}
]
};
},
methods: {
rowStyleFunction({row, column, rowIndex, columnIndex}) {
if (rowIndex === 14 && columnIndex > 1) {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B',
'color': '#0F0'
};
} else if (columnIndex === 2) {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B',
'color': '#56E5DE'
};
} else {
return {
'text-align': 'center',
'height': '28px',
'padding': '0',
'background': '#45607B'
};
}
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 1) {
if (rowIndex === 0) {
return {
rowspan: 14,
colspan: 1
};
} else if (rowIndex === 14 || rowIndex === 15) {
return {
rowspan: 1,
colspan: 2
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
} else if (columnIndex === 2) {
if (rowIndex === 14 || rowIndex === 15) {
return {
rowspan: 0,
colspan: 0
};
} else {
return {
rowspan: 1,
colspan: 1
};
}
}
},
showModeDialog(index) {
}
}
};
</script>
<style scoped>
.title-0{
width: 100%;
line-height: 20px;
text-align: left;
padding-left: 14px;
}
.index-column-cell {
text-align:center;
width: 100%;
height: 28px;
border-top: 1px solid #203244;
border-left: 2px solid #A3A3A3;
border-bottom: 1px solid #203244;
border-right: 1px solid #203244;
}
.index-row-cell {
width: 99px;
height: 20px;
font-size: 14px;
line-height: 20px;
display: inline-block;
border-top: 2px solid #A3A3A3;
border-left: 1px solid #203244;
border-bottom: 2px solid #203244;
border-right: 1px solid #203244;
}
.button-box{
text-align: center;
background-color: #ccc;
float: left;
font-size: 12px;
color: #333;
font-weight: bold;
box-sizing: border-box;
border-top: 2px solid #fff;
border-left: 2px solid #fff;
border-right: 2px solid #565656;
border-bottom: 2px solid #565656;
cursor: pointer;
}
.button-box.active,
.button-box:hover{
background: #EBB570;
border-top: 2px solid #795B31;
border-left: 2px solid #795B31;
border-right: 1px solid #fff;
border-bottom: 1px solid #fff;
}
</style>

View File

@ -0,0 +1,123 @@
<template>
<div class="schedules-box">
<div class="title-name">车站运行时间表</div>
<div class="top-box">
<el-row style="background: #43388A;font-size: 12px;height: 20px;line-height: 20px;">
<el-col :span="8" style="text-align: center;color: #FFF;">车站</el-col>
<el-col :span="8" style="text-align: center;color: #FFF;">时间表</el-col>
<el-col :span="8" style="text-align: center;color: #FFF;">版本</el-col>
</el-row>
<el-row>
<el-col :span="8" style="padding: 10px;">
<el-select v-model="station" size="mini" placeholder="请选择">
<el-option
v-for="item in stations"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
<el-col :span="8" style="padding: 10px;">
<div style="width: 100%;height: 28px;background: #FFF" />
</el-col>
<el-col :span="8" style="padding: 10px;">
<div style="width: 100%;height: 28px;background: #FFF" />
</el-col>
</el-row>
</div>
<div class="top-box" style="border: 0; height: 50%;background: #FFF;">
<el-row style="background: #43388A;font-size: 12px;height: 20px;line-height: 20px;">
<el-col :span="4" style="text-align: center;color: #FFF;border-right: 1px solid #000;border-bottom: 1px solid #000;">时间表</el-col>
<el-col :span="4" style="text-align: center;color: #FFF;border-right: 1px solid #000;border-bottom: 1px solid #000;">时间</el-col>
<el-col :span="4" style="text-align: center;color: #FFF;border-right: 1px solid #000;border-bottom: 1px solid #000;">模式</el-col>
<el-col :span="4" style="text-align: center;color: #FFF;border-right: 1px solid #000;border-bottom: 1px solid #000;">模式描述</el-col>
<el-col :span="8" style="text-align: center;color: #FFF;border-right: 1px solid #000;border-bottom: 1px solid #000;">系统</el-col>
</el-row>
</div>
<div class="top-box" style="border: 0; display: flex;justify-content: space-between;">
<div class="button-box">上一页</div>
<div class="button-box">更新时间表</div>
<div class="button-box">下一页</div>
</div>
<div style="width: 240px;position: absolute;left: calc(25% + 600px);font-size: 12px;height: 20px;line-height: 20px;">
<el-row style="background: #43388A;">
<el-col :span="9" style="text-align: center;color: #FFF;">系统</el-col>
<el-col :span="9" style="text-align: center;color: #FFF;">允许/禁止操作</el-col>
<el-col :span="6" style="text-align: center;color: #FFF;">状态</el-col>
</el-row>
<el-row>
<el-col :span="9" style="text-align: center;background: #FFF;">空调大系统</el-col>
<el-col :span="9" style="text-align: center;background: #FFF;"><div class="button-box" style="padding: 2px 10px;height: 16px;line-height: 16px;">允许/禁止</div></el-col>
<el-col :span="6" style="background: #0F0;text-align: center;">允许</el-col>
</el-row>
<el-row>
<el-col :span="9" style="text-align: center;background: #FFF;">隧道通风系统</el-col>
<el-col :span="9" style="text-align: center;background: #FFF;"><div class="button-box" style="padding: 2px 10px;height: 16px;line-height: 16px;">允许/禁止</div></el-col>
<el-col :span="6" style="background: #0F0;text-align: center;">允许</el-col>
</el-row>
<el-row>
<el-col :span="9" style="text-align: center;background: #FFF;">空调小系统</el-col>
<el-col :span="9" style="text-align: center;background: #FFF;"><div class="button-box" style="padding: 2px 10px;height: 16px;line-height: 16px;">允许/禁止</div></el-col>
<el-col :span="6" style="background: #0F0;text-align: center;">允许</el-col>
</el-row>
<el-row>
<el-col :span="9" style="text-align: center;background: #FFF;">照明系统</el-col>
<el-col :span="9" style="text-align: center;background: #FFF;"><div class="button-box" style="padding: 2px 10px;height: 16px;line-height: 16px;">允许/禁止</div></el-col>
<el-col :span="6" style="background: #0F0;text-align: center;">允许</el-col>
</el-row>
</div>
</div>
</template>
<script>
export default {
name: 'Schedules',
data() {
return {
station: '',
stations: []
};
}
};
</script>
<style scoped>
.schedules-box{
width: 100%;
height: calc(100% - 30px);
}
.top-box {
width:550px;
position: relative;
left: 25%;
margin-top: 20px;
border-top: 2px solid #A4A3A0;
border-left: 2px solid #A4A3A0;
border-bottom: 2px solid #E5F1FE;
border-right: 2px solid #E5F1FE
}
.button-box {
background: #BABABB;
padding: 5px 10px;
border-top: 2px solid #FFFFFE;
border-right: 2px solid #797977;
border-bottom: 2px solid #797977;
border-left: 2px solid #FFFFFE;
}
.button-box.active,
.button-box:hover{
background: #EBB570;
border-top: 2px solid #795B31;
border-left: 2px solid #795B31;
border-right: 1px solid #fff;
border-bottom: 1px solid #fff;
}
.title-name{
width: 100%;
text-align: center;
font-size: 26px;
margin-top: 30px;
color: #56E5DE;
}
</style>

View File

@ -0,0 +1,35 @@
<template>
<div class="bigSystemBox">
<div class="title-name">{{ $route.query.stationName }}机电隧道通风</div>
<div class="">
<iscsSystem ref="iscsPlate" :width-canvas="1300" :canvas-height="700" />
</div>
</div>
</template>
<script>
import iscsSystem from '../canvas/iscsCanvas';
export default {
components: {
iscsSystem
},
data() {
return {
};
},
mounted() {
this.$refs.iscsPlate.show('28');
},
methods: {
}
};
</script>
<style lang="scss" scoped>
.title-name{
width: 100%;
text-align: center;
font-size: 26px;
margin-top: 30px;
color: #56E5DE;
}
</style>

View File

@ -113,7 +113,9 @@ export default {
FrozenPump: '冷冻泵、冷却泵',
TunnelFan: '隧道风机',
OrbitalVentilator: '排热风机',
Draught: '水泵'
Draught: '水泵',
Stairs: '自动扶梯',
Elevator: '垂直电梯'
},
modeMap: {
standFAS: '火灾报警',

View File

@ -109,7 +109,7 @@ export default {
title: '',
meaning: '',
width: '480px',
doubleRowList: ['bigSystem', 'waterSystem']
doubleRowList: ['bigSystem', 'waterSystem', 'tunnelVentilation']
};
},
computed: {
@ -144,6 +144,7 @@ export default {
break;
case 'bigSystem':
case 'waterSystem':
case 'tunnelVentilation' :
this.title = 'BAS通风空调图元详情';
this.width = '600px';
this.tableData = this.basData;

View File

@ -30,6 +30,8 @@
<lighting-system v-else-if="mode === 'lighting'" />
<electric-escalator v-else-if="mode === 'electricEscalator'" />
<water-supply v-else-if="mode === 'waterSupply'" />
<tunnel-ventilation v-else-if="mode === 'tunnelVentilation'" />
<schedules v-else-if="mode === 'schedules'" />
<graphic-ele ref="graphicEle" />
<device-control ref="deviceControl" />
</div>
@ -68,6 +70,8 @@ import GraphicEle from './graphicEle';
import DeviceControl from './deviceControl';
import ElectricEscalator from './bas/electricEscalator';
import WaterSupply from './bas/waterSupply';
import TunnelVentilation from './bas/tunnelVentilation';
import Schedules from './bas/schedules';
export default {
components: {
@ -102,7 +106,9 @@ export default {
waterSystem,
LightingSystem,
ElectricEscalator,
WaterSupply
WaterSupply,
TunnelVentilation,
Schedules
},
data() {
return {
@ -127,7 +133,9 @@ export default {
'FrozenPump',
'TunnelFan',
'OrbitalVentilator',
'Draught'
'Draught',
'Stairs',
'Elevator'
]
};
},

View File

@ -241,7 +241,6 @@ export default {
this.mouseNum = 1;
},
handleRoomInfo(data) {
// debugger;
if (data.state == '03') { // 退
this.$router.go(-1);
} else if (data.state == '01') { //

View File

@ -1,6 +1,6 @@
<template>
<div v-show="dialogVisible">
<el-dialog v-dialogDrag title="配置项" :visible.sync="dialogVisible" fullscreen :before-close="handleClose" center :close-on-click-modal="false" :z-index="2000">
<el-dialog v-dialogDrag :title="title" :visible.sync="dialogVisible" fullscreen :before-close="handleClose" center :close-on-click-modal="false" :z-index="2000">
<div style="overflow-y: scroll;" :style="{height: height+ 'px'}">
<el-card>
<div slot="header" style="font-weight: bold;text-align: center;">
@ -23,7 +23,7 @@
<el-radio v-model="scope.row.configValue" :label="false"></el-radio>
</div>
<div v-else-if="scope.row.type === 'select'">
<el-select v-model="scope.row.configValue" size="mini" style="width: 80px;">
<el-select v-model="scope.row.configValue" size="mini" style="width:120px;">
<el-option
v-for="item in scope.row.options"
:key="item.value"
@ -65,17 +65,19 @@ export default {
return {
dialogVisible: false,
index: 0,
title:'',
id: '',
generalData: [],
height: 800,
roadData: [],
focus: false,
booleanList: ['lockFirst', 'switchSingleHandle', 'switchNRTurnChain', 'switchSingleLockChain', 'signalForceCancelRoute'],
selectList: ['upDirection'],
generalConfig: ['lockFirst', 'switchSingleHandle', 'upDirection', 'switchNRTurnChain', 'switchSingleLockChain', 'signalForceCancelRoute'],
selectList: ['upDirection', 'runMode'],
generalConfig: ['lockFirst', 'switchSingleHandle', 'upDirection', 'switchNRTurnChain', 'switchSingleLockChain', 'signalForceCancelRoute', 'runMode'],
numberList: [],
optionsMap: {
upDirection: [{label: 'right', value: 'right'}, {label: 'left', value: 'left'}]
upDirection: [{label: 'right', value: 'right'}, {label: 'left', value: 'left'}],
runMode:[{label: 'CBTC级别', value: 'CBTC'}, {label: '点式通信', value: 'ITC'}, {label: '联锁级', value: 'IL'}]
},
remarkMap: {
lockFirst: '是否先锁闭——办理过程直接先锁闭区段',
@ -83,7 +85,8 @@ export default {
switchSingleHandle: '道岔区段状态改变按单个道岔处理',
switchNRTurnChain:'道岔正/反操是否联动',
switchSingleLockChain:'道岔单解/锁是否联动',
signalForceCancelRoute:'是否强制取消进路/在接近区段占用时是否依旧强制执行取消进路'
signalForceCancelRoute:'是否强制取消进路/在接近区段占用时是否依旧强制执行取消进路',
runMode:'列车控制模式/级别'
}
};
},
@ -91,6 +94,7 @@ export default {
},
methods: {
async show(row) {
this.title = row.name + ' 配置项';
this.dialogVisible = true;
this.height = document.documentElement.clientHeight - 180;
if (row && row.id) {