Merge remote-tracking branch 'origin/test'
This commit is contained in:
commit
9d5e7f0d6f
@ -1,94 +1,18 @@
|
||||
<template>
|
||||
<div v-show="show" class="pop-menu" :class="popMenuClass" :style="{ height: height, left: tPosition.x+'px', top: tPosition.y+'px' }">
|
||||
<div v-for="(item, index) in menu" :key="index" class="" :style="{ width: width }">
|
||||
<div v-if="item.children">
|
||||
<el-popover
|
||||
placement="right-start"
|
||||
trigger="hover"
|
||||
:style="{width: calculateSubWidth(item)}"
|
||||
class="custom-popover"
|
||||
:popper-class="popClass"
|
||||
:visible-arrow="false"
|
||||
>
|
||||
<ul
|
||||
v-show="show"
|
||||
style="list-style: none; margin: 0px; padding: 0px; padding-right:0px; border-radius:0px;"
|
||||
>
|
||||
<li v-for="(child, idx) in item.children" :key="idx">
|
||||
<template v-if="child.type === 'separator'">
|
||||
<div class="separator"> </div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<el-button
|
||||
v-if="isShow(child)"
|
||||
type="text"
|
||||
class="dsp-block"
|
||||
:style="{color:checkIfDisabled(child)? '': 'black'}"
|
||||
:disabled="checkIfDisabled(child)"
|
||||
@click="child.handler(child)"
|
||||
>{{ child.label }}</el-button>
|
||||
</template>
|
||||
</li>
|
||||
</ul>
|
||||
<template v-if="item.type === 'separator'">
|
||||
<div class="separator"> </div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<el-button
|
||||
v-if="isShow(item)"
|
||||
slot="reference"
|
||||
class="dsp-block"
|
||||
type="text"
|
||||
:disabled="checkIfDisabled(item)"
|
||||
>
|
||||
{{ item.label }}
|
||||
<i class="el-icon-arrow-right" style="float: right;" />
|
||||
</el-button>
|
||||
</template>
|
||||
</el-popover>
|
||||
</div>
|
||||
<div v-else>
|
||||
<template v-if="item.type === 'separator'">
|
||||
<div class="separator"> </div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="isShow(item)">
|
||||
<el-button
|
||||
v-if="item.type ==='file'"
|
||||
type="text"
|
||||
class="uploadDemo"
|
||||
:disabled="checkIfDisabled(item)"
|
||||
>
|
||||
<input
|
||||
:ref="item.label"
|
||||
type="file"
|
||||
class="file_box"
|
||||
accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
|
||||
@change="openLoadFile(item)"
|
||||
>
|
||||
{{ item.label }}
|
||||
</el-button>
|
||||
<el-button
|
||||
v-else
|
||||
id="testId"
|
||||
class="dsp-block"
|
||||
type="text"
|
||||
:disabled="checkIfDisabled(item)"
|
||||
@click="item.handler"
|
||||
>
|
||||
{{ item.label }}
|
||||
</el-button>
|
||||
</template>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="show" class="pop-menu" :class="popMenuClass" :style="{ left: tPosition.x+'px', top: tPosition.y+'px' }">
|
||||
<pop-menu-item v-for="(option, i) in menu" :key="i" :option="option" :pop-class="popClass" @close="close" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PopMenuItem from './item';
|
||||
import { checkRectCollision } from '@/utils/index';
|
||||
|
||||
export default {
|
||||
name: 'PopMenu',
|
||||
components: {
|
||||
PopMenuItem
|
||||
},
|
||||
props: {
|
||||
menu: {
|
||||
type: Array,
|
||||
@ -109,7 +33,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
show: false,
|
||||
menuShow: false,
|
||||
defaultFontSize: 14,
|
||||
tPosition: {
|
||||
x: -1000,
|
||||
@ -121,33 +45,34 @@ export default {
|
||||
computed: {
|
||||
width() {
|
||||
let fontNum = 0;
|
||||
let newLabel = '';
|
||||
this.menu.forEach(elem => {
|
||||
newLabel = elem.label && elem.label.replace(/[^\u0000-\u00ff]/g, 'aa');
|
||||
if (elem.label && newLabel.length > fontNum) {
|
||||
fontNum = newLabel.length;
|
||||
// fontNum = elem.label.length;
|
||||
if (elem.label && elem.label.length > fontNum) {
|
||||
fontNum = elem.label.length;
|
||||
}
|
||||
});
|
||||
var width = fontNum / 2 * this.defaultFontSize + 60 + 'px';
|
||||
// if(this.$t('global.lanuage')==='en'){
|
||||
// width = fontNum/2 * this.defaultFontSize + 40 + 'px';
|
||||
// }
|
||||
var width = fontNum * this.defaultFontSize + 50 + 'px';
|
||||
return width;
|
||||
},
|
||||
show() {
|
||||
return this.menuShow && this.menu.length && !this.$store.state.menuOperation.break;
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
window.addEventListener('click', this.close, false);
|
||||
},
|
||||
beforeDestroy() {
|
||||
window.removeEventListener('click', this.close);
|
||||
},
|
||||
methods: {
|
||||
resetShowPosition(point) {
|
||||
if (point) {
|
||||
this.show = true;
|
||||
const self = this;
|
||||
this.menuShow = true;
|
||||
this.$nextTick(() => {
|
||||
const gutter = 3;
|
||||
const height = this.$el.clientHeight;
|
||||
const width = this.$el.clientWidth;
|
||||
|
||||
// 位置
|
||||
const height = self.$el.clientHeight;
|
||||
const width = self.$el.clientWidth;
|
||||
let px = 0;
|
||||
let py = 0;
|
||||
if (point.x + width > document.documentElement.clientWidth) {
|
||||
@ -160,6 +85,7 @@ export default {
|
||||
} else {
|
||||
py = point.y;
|
||||
}
|
||||
|
||||
// 处理和提示框重叠问题
|
||||
const popTipDialog = document.getElementById('pop_tip_dialog');
|
||||
if (popTipDialog) {
|
||||
@ -170,10 +96,11 @@ export default {
|
||||
};
|
||||
const menuRect = {
|
||||
point: { x: px, y: py },
|
||||
width: self.$el.offsetWidth,
|
||||
height: self.$el.offsetHeight
|
||||
width: this.$el.offsetWidth,
|
||||
height: this.$el.offsetHeight
|
||||
};
|
||||
const collision = checkRectCollision(tipRect, menuRect);
|
||||
|
||||
// 若重叠,调整位置
|
||||
if (collision) {
|
||||
px = tipRect.point.x + tipRect.width + gutter;
|
||||
@ -182,108 +109,27 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
self.tPosition.x = px;
|
||||
self.tPosition.y = py;
|
||||
|
||||
this.tPosition.x = px;
|
||||
this.tPosition.y = py;
|
||||
});
|
||||
}
|
||||
},
|
||||
close() {
|
||||
this.show = false;
|
||||
// 关闭时立即影藏popover组件
|
||||
const popoverList = document.getElementsByClassName('el-popover');
|
||||
for (let i = 0; i < popoverList.length; i++) {
|
||||
popoverList[i].style.display = 'none';
|
||||
}
|
||||
},
|
||||
checkIfDisabled(menuObj) {
|
||||
return menuObj.disabled === true;
|
||||
},
|
||||
isShow(menuObj) {
|
||||
if (typeof (menuObj.show) === 'undefined') {
|
||||
return true;
|
||||
} else {
|
||||
return menuObj.show;
|
||||
}
|
||||
},
|
||||
calculateSubWidth(item) {
|
||||
const children = item.children;
|
||||
let width = 0;
|
||||
let fontNum = 0;
|
||||
children.forEach(elem => {
|
||||
if (elem.label.length > fontNum) {
|
||||
fontNum = elem.label.length;
|
||||
}
|
||||
});
|
||||
width = fontNum * this.defaultFontSize + 20 + 'px';
|
||||
return width;
|
||||
},
|
||||
openLoadFile(item) {
|
||||
const obj = this.$refs[item.label][0];
|
||||
if (obj.files) {
|
||||
const file = obj.files[0];
|
||||
item.handler(file);
|
||||
obj.value = '';
|
||||
}
|
||||
this.menuShow = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
$bg: #fff;
|
||||
$hoverBg: #c3c3c3;
|
||||
$item-border: #909399;
|
||||
|
||||
.pop-menu {
|
||||
background-color: $bg;
|
||||
position: fixed;
|
||||
padding: 5px 0px;
|
||||
border: 1px solid gray;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
z-index: 9999;
|
||||
|
||||
.dsp-block {
|
||||
display: block;
|
||||
text-align: left;
|
||||
width: 100%;
|
||||
border-radius: unset;
|
||||
border: 1px solid transparent;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.dsp-block:hover {
|
||||
background-color: $hoverBg;
|
||||
}
|
||||
}
|
||||
|
||||
.uploadDemo {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
cursor: pointer;
|
||||
border: 1px solid transparent;
|
||||
color: #000;
|
||||
|
||||
input {
|
||||
opacity: 0;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.uploadDemo:hover {
|
||||
background-color: $hoverBg;
|
||||
}
|
||||
|
||||
.el-button--text {
|
||||
padding: 6px 15px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.separator {
|
||||
background: gray;
|
||||
width: 90%;
|
||||
height: 1px;
|
||||
margin: 0px 5%;
|
||||
border: 1px solid $item-border;
|
||||
}
|
||||
</style>
|
||||
|
211
src/components/PopMenu/item.vue
Normal file
211
src/components/PopMenu/item.vue
Normal file
@ -0,0 +1,211 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<li v-if="option.children && option.children.length" class="menu-item" :class="popClass" @mouseenter="enter($vnode.key)" @mouseleave="leave">
|
||||
<div class="flex-box">
|
||||
<el-button type="text" class="item" :disabled="checkDisabled(option)">
|
||||
<el-link v-if="option.tipsType" :type="option.tipsType" :underline="false">{{ option.label }}</el-link>
|
||||
<span v-else :style="{color: textColor(option) }">{{ option.label }}</span>
|
||||
</el-button>
|
||||
<i class="el-icon-caret-right" />
|
||||
</div>
|
||||
<ul v-if="isPopup" ref="popup" class="menu" :style="{display: isShow? 'block': 'table'}">
|
||||
<div class="menu-pop">
|
||||
<div v-show="isShow" class="arrow el-icon-arrow-down" />
|
||||
<pop-menu-item v-for="(el, i) in option.children" :key="i" :option="el" :pop-class="popClass" @close="close" />
|
||||
<div v-show="isShow" class="arrow el-icon-arrow-up" />
|
||||
</div>
|
||||
</ul>
|
||||
</li>
|
||||
<li v-else-if="checkVisible(option)" class="menu-item" :class="popClass">
|
||||
<div v-if="option.type === 'separator'" class="separator"> </div>
|
||||
<el-button v-else-if="option.type ==='file'" type="text" class="uploadDemo item" :disabled="checkDisabled(option)">
|
||||
<input :ref="option.label" type="file" class="file_box" accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" @change="doHandle(option, true)">
|
||||
<el-link v-if="option.tipsType" :type="option.tipsType" :underline="false">{{ option.label }} </el-link>
|
||||
<span v-else :style="{color: textColor(option) }">{{ option.label }}</span>
|
||||
</el-button>
|
||||
<el-button v-else type="text" class="item" :disabled="checkDisabled(option)" @click="doHandle(option, false)">
|
||||
<el-link v-if="option.tipsType" :type="option.tipsType" :underline="false">{{ option.label }}</el-link>
|
||||
<span v-else :style="{color: textColor(option) }">{{ option.label }}</span>
|
||||
</el-button>
|
||||
</li>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
name: 'PopMenuItem',
|
||||
props: {
|
||||
option: {
|
||||
type: Object,
|
||||
default() {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
popClass: {
|
||||
type: String,
|
||||
default() {
|
||||
return '';
|
||||
}
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
active: -1,
|
||||
allowedColor: '#666',
|
||||
disabledColor: '#ccc'
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
isPopup() {
|
||||
return this.active == this.$vnode.key;
|
||||
},
|
||||
isShow() {
|
||||
return this.option.children.length > 12;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
checkDisabled(option) {
|
||||
return option.disabled || this.disabled;
|
||||
},
|
||||
checkVisible(option) {
|
||||
if (typeof (option.show) === 'undefined') {
|
||||
return true;
|
||||
} else {
|
||||
return option.show;
|
||||
}
|
||||
},
|
||||
textColor(option) {
|
||||
return this.checkDisabled(option) ? this.disabledColor : this.allowedColor;
|
||||
},
|
||||
doHandle(option, isFile) {
|
||||
if (option.handler && !this.checkDisabled(option)) {
|
||||
if (isFile) {
|
||||
const obj = this.$refs[option.label][0];
|
||||
if (obj.files) {
|
||||
const file = obj.files[0];
|
||||
option.handler(file);
|
||||
obj.value = '';
|
||||
}
|
||||
} else {
|
||||
option.handler(option);
|
||||
}
|
||||
|
||||
this.close();
|
||||
}
|
||||
},
|
||||
close() {
|
||||
this.$emit('close');
|
||||
},
|
||||
enter(active) {
|
||||
this.active = active;
|
||||
},
|
||||
leave(e) {
|
||||
// if (e.toElement) {
|
||||
// if (!['div', 'CANVAS'].includes(e.toElement.tagName)) {
|
||||
this.active = -1;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
$bg: #FFFFFF;
|
||||
$item-hover: #c3c3c3;
|
||||
$item-text: #606266;
|
||||
$item-separator: gray;
|
||||
$item-border: #909399;
|
||||
$item-disabled: #cccccc;
|
||||
$item-height: 30px;
|
||||
$item-width: 180px;
|
||||
|
||||
/deep/ {
|
||||
.el-button--text {
|
||||
padding: 6px 15px;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
.container {
|
||||
position: relative;
|
||||
.menu {
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
margin-left: $item-width - 2;
|
||||
margin-top: -$item-height - 1;
|
||||
max-height: 360px;
|
||||
min-width: 800px;
|
||||
overflow: auto;
|
||||
|
||||
&-pop {
|
||||
display:table;
|
||||
border: 1px solid $item-border;
|
||||
.arrow {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
background: $bg;
|
||||
}
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
display:none;
|
||||
}
|
||||
}
|
||||
|
||||
.flex-box{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.menu-item {
|
||||
background: $bg;
|
||||
list-style: none;
|
||||
width: $item-width;
|
||||
// display: flex;
|
||||
// justify-content: space-between;
|
||||
// align-items: center;
|
||||
}
|
||||
|
||||
.menu-item:hover {
|
||||
background: $item-hover;
|
||||
}
|
||||
|
||||
.separator {
|
||||
background: $item-separator;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.item {
|
||||
color: $item-text;
|
||||
height: $item-height;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.uploadDemo {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
cursor: pointer;
|
||||
border: 1px solid transparent;
|
||||
color: $item-text;
|
||||
|
||||
input {
|
||||
opacity: 0;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
@ -1,336 +0,0 @@
|
||||
<template>
|
||||
<div v-show="show" class="pop-menu pop_menu_tip" :style="{ height: height, left: tPosition.x+'px', top: tPosition.y+'px' }">
|
||||
<div v-if="tipMsg" class="tip-top" :style="{textAlign: textAlign}">
|
||||
<div>{{ tipMsg }}</div>
|
||||
<div>{{ tipSubhead }}</div>
|
||||
</div>
|
||||
<div v-for="(item, index) in menu" :key="index" class="" :style="{ width: width }">
|
||||
<div v-if="item.children">
|
||||
<el-popover
|
||||
placement="right-start"
|
||||
trigger="hover"
|
||||
:style="{width: calculateSubWidth(item)}"
|
||||
class="custom-popover"
|
||||
:popper-class="popClass"
|
||||
:offset="0"
|
||||
:close-delay="50"
|
||||
:visible-arrow="false"
|
||||
>
|
||||
<ul
|
||||
style="list-style: none; margin: 0px; padding: 0px; padding-right:0px; border-radius:0px;"
|
||||
>
|
||||
<li v-for="(child, idx) in item.children" :key="idx" class="hover-popover">
|
||||
<template v-if="child.type === 'separator'">
|
||||
<div class="separator"> </div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<el-button
|
||||
v-if="isShow(child)"
|
||||
type="text"
|
||||
class="dsp-block"
|
||||
:style="{color:checkIfDisabled(child)? '': 'black'}"
|
||||
:disabled="checkIfDisabled(child)"
|
||||
@click="child.handler(child)"
|
||||
>{{ child.label }}</el-button>
|
||||
</template>
|
||||
</li>
|
||||
</ul>
|
||||
<template v-if="item.type === 'separator'">
|
||||
<div class="separator"> </div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<el-button
|
||||
v-if="isShow(item)"
|
||||
slot="reference"
|
||||
class="dsp-block"
|
||||
type="text"
|
||||
:disabled="checkIfDisabled(item)"
|
||||
>
|
||||
{{ item.label }}
|
||||
<i class="el-icon-arrow-right" style="float: right;" />
|
||||
</el-button>
|
||||
</template>
|
||||
</el-popover>
|
||||
</div>
|
||||
<div v-else>
|
||||
<template v-if="item.type === 'separator'">
|
||||
<div class="separator"> </div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="isShow(item)">
|
||||
<el-button
|
||||
v-if="item.type ==='file'"
|
||||
type="text"
|
||||
class="uploadDemo"
|
||||
:disabled="checkIfDisabled(item)"
|
||||
>
|
||||
<input
|
||||
:ref="item.label"
|
||||
type="file"
|
||||
class="file_box"
|
||||
accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
|
||||
@change="openLoadFile(item)"
|
||||
>
|
||||
{{ item.label }}
|
||||
</el-button>
|
||||
<el-button
|
||||
v-else
|
||||
id="testId"
|
||||
class="dsp-block"
|
||||
type="text"
|
||||
:disabled="checkIfDisabled(item)"
|
||||
@click="item.handler"
|
||||
>
|
||||
{{ item.label }}
|
||||
</el-button>
|
||||
</template>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { checkRectCollision } from '@/utils/index';
|
||||
export default {
|
||||
name: 'PopMenu',
|
||||
props: {
|
||||
menu: {
|
||||
type: Array,
|
||||
required: true
|
||||
},
|
||||
popClass: {
|
||||
type: String,
|
||||
default() {
|
||||
return '';
|
||||
}
|
||||
},
|
||||
tipMsg: {
|
||||
type: String,
|
||||
default() {
|
||||
return '';
|
||||
}
|
||||
},
|
||||
tipSubhead: {
|
||||
type: String,
|
||||
default() {
|
||||
return '';
|
||||
}
|
||||
},
|
||||
textAlign: {
|
||||
type: String,
|
||||
default() {
|
||||
return 'center';
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
show: false,
|
||||
defaultFontSize: 14,
|
||||
tPosition: {
|
||||
x: -1000,
|
||||
y: -1000
|
||||
},
|
||||
height: 'auto'
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
width() {
|
||||
let fontNum = 0;
|
||||
let newLabel = '';
|
||||
this.menu.forEach(elem => {
|
||||
newLabel = elem.label && elem.label.replace(/[^\u0000-\u00ff]/g, 'aa');
|
||||
if (elem.label && newLabel.length > fontNum) {
|
||||
fontNum = newLabel.length;
|
||||
// fontNum = elem.label.length;
|
||||
}
|
||||
});
|
||||
if (this.tipMsg) {
|
||||
newLabel = this.tipMsg.replace(/[^\u0000-\u00ff]/g, 'aa');
|
||||
if (newLabel.length > fontNum) {
|
||||
fontNum = newLabel.length;
|
||||
}
|
||||
}
|
||||
var width = fontNum / 2 * this.defaultFontSize + 60 + 'px';
|
||||
// if(this.$t('global.lanuage')==='en'){
|
||||
// width = fontNum/2 * this.defaultFontSize + 40 + 'px';
|
||||
// }
|
||||
return width;
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
resetShowPosition(point) {
|
||||
if (point) {
|
||||
this.show = true;
|
||||
const self = this;
|
||||
this.$nextTick(() => {
|
||||
const gutter = 3;
|
||||
// 位置
|
||||
const height = self.$el.clientHeight;
|
||||
const width = self.$el.clientWidth;
|
||||
let px = 0;
|
||||
let py = 0;
|
||||
if (point.x + width > document.documentElement.clientWidth) {
|
||||
px = document.documentElement.clientWidth - width - gutter;
|
||||
} else {
|
||||
px = point.x;
|
||||
}
|
||||
if (point.y + height > document.documentElement.clientHeight) {
|
||||
py = document.documentElement.clientHeight - height - gutter;
|
||||
} else {
|
||||
py = point.y;
|
||||
}
|
||||
// 处理和提示框重叠问题
|
||||
const popTipDialog = document.getElementById('pop_tip_dialog');
|
||||
if (popTipDialog) {
|
||||
const tipRect = {
|
||||
point: { x: popTipDialog.offsetLeft, y: popTipDialog.offsetTop },
|
||||
width: popTipDialog.offsetWidth,
|
||||
height: popTipDialog.offsetHeight
|
||||
};
|
||||
const menuRect = {
|
||||
point: { x: px, y: py },
|
||||
width: self.$el.offsetWidth,
|
||||
height: self.$el.offsetHeight
|
||||
};
|
||||
const collision = checkRectCollision(tipRect, menuRect);
|
||||
// 若重叠,调整位置
|
||||
if (collision) {
|
||||
px = tipRect.point.x + tipRect.width + gutter;
|
||||
if (px + width > document.documentElement.clientWidth) {
|
||||
px = tipRect.point.x - menuRect.width - gutter;
|
||||
}
|
||||
}
|
||||
}
|
||||
self.tPosition.x = px;
|
||||
self.tPosition.y = py;
|
||||
});
|
||||
}
|
||||
},
|
||||
close() {
|
||||
this.show = false;
|
||||
// 关闭时立即影藏popover组件
|
||||
const popoverList = document.getElementsByClassName('el-popover');
|
||||
for (let i = 0; i < popoverList.length; i++) {
|
||||
popoverList[i].style.display = 'none';
|
||||
}
|
||||
},
|
||||
checkIfDisabled(menuObj) {
|
||||
return menuObj.disabled === true;
|
||||
},
|
||||
isShow(menuObj) {
|
||||
if (typeof (menuObj.show) === 'undefined') {
|
||||
return true;
|
||||
} else {
|
||||
return menuObj.show;
|
||||
}
|
||||
},
|
||||
calculateSubWidth(item) {
|
||||
const children = item.children;
|
||||
let width = 0;
|
||||
let fontNum = 0;
|
||||
children.forEach(elem => {
|
||||
if (elem.label.length > fontNum) {
|
||||
fontNum = elem.label.length;
|
||||
}
|
||||
});
|
||||
width = fontNum * this.defaultFontSize + 20 + 'px';
|
||||
return width;
|
||||
},
|
||||
openLoadFile(item) {
|
||||
const obj = this.$refs[item.label][0];
|
||||
if (obj.files) {
|
||||
const file = obj.files[0];
|
||||
item.handler(file);
|
||||
obj.value = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
$bg: #78e2ad;
|
||||
$hoverBg: #78e2ad;
|
||||
|
||||
.pop-menu {
|
||||
background-color: $bg;
|
||||
position: fixed;
|
||||
padding: 5px 0px;
|
||||
border: 1px solid gray;
|
||||
z-index: 9999;
|
||||
|
||||
.dsp-block {
|
||||
display: block;
|
||||
text-align: left;
|
||||
width: 100%;
|
||||
border-radius: unset;
|
||||
border: 2px solid transparent;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.dsp-block:hover {
|
||||
background-color: $hoverBg;
|
||||
border-top: 2px solid #fff;
|
||||
border-left: 2px solid #fff;
|
||||
border-right: 2px solid #284743;
|
||||
border-bottom: 2px solid #284743;
|
||||
}
|
||||
|
||||
.tip-top{
|
||||
width: 100%;
|
||||
background: #000;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
padding: 2px 15px;
|
||||
}
|
||||
}
|
||||
|
||||
.hover-popover{
|
||||
border: 2px solid transparent;
|
||||
&:hover{
|
||||
background-color: $hoverBg;
|
||||
border-top: 2px solid #fff;
|
||||
border-left: 2px solid #fff;
|
||||
border-right: 2px solid #284743;
|
||||
border-bottom: 2px solid #284743;
|
||||
}
|
||||
}
|
||||
|
||||
.uploadDemo {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
cursor: pointer;
|
||||
border: 1px solid transparent;
|
||||
color: #000;
|
||||
|
||||
input {
|
||||
opacity: 0;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.uploadDemo:hover {
|
||||
background-color: $hoverBg;
|
||||
}
|
||||
|
||||
.el-button--text {
|
||||
padding: 6px 15px;
|
||||
text-align: left;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.separator {
|
||||
background: gray;
|
||||
width: 90%;
|
||||
height: 1px;
|
||||
margin: 0px 5%;
|
||||
}
|
||||
</style>
|
File diff suppressed because one or more lines are too long
@ -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);
|
||||
}
|
||||
|
73
src/iscs/utils/JTriangle.js
Normal file
73
src/iscs/utils/JTriangle.js
Normal 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;
|
@ -14,176 +14,6 @@ export function Moveanimate(main){
|
||||
this.status = true;
|
||||
//当前动画模型
|
||||
this.nowmodelname = undefined;
|
||||
//定义所有继电器部件动画
|
||||
// this.initlist = function(modellist){
|
||||
//
|
||||
// for(let j=0,lenj=modellist.length;j<lenj;j++){
|
||||
//
|
||||
// for(let i=0,leni=switchmodel.children.length;i<leni;i++){
|
||||
//
|
||||
// if(switchmodel.children[i].name == "dizuo"){
|
||||
// let points1 = [];
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z-150));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"dizuoon",points1,0.5,true,0);
|
||||
// let points2 = [];
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z-150));
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"dizuooff",points2,0.5,true,0);
|
||||
//
|
||||
//
|
||||
// }
|
||||
// if(switchmodel.children[i].name == "Lxing"){
|
||||
// let points1 = [];
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y-50,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"Lxingon",points1,0.5,true,0);
|
||||
// let points2 = [];
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y-50,switchmodel.children[i].position.z));
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"Lxingoff",points2,0.5,true,0);
|
||||
// }
|
||||
// if(switchmodel.children[i].name == "jiaoxingxiantie"){
|
||||
// let points1 = [];
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z+25));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"jiaoxingxiantieon",points1,0.5,true,0);
|
||||
// let points2 = [];
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z+25));
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"jiaoxingxiantieoff",points2,0.5,true,0);
|
||||
// }
|
||||
// if(switchmodel.children[i].name == "xianquan"){
|
||||
// let points1 = [];
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y-100,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"xianquanon",points1,0.5,true,0);
|
||||
// let points2 = [];
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y-100,switchmodel.children[i].position.z));
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"xianquanoff",points2,0.5,true,0);
|
||||
// }
|
||||
// if(switchmodel.children[i].name == "zhongchuipian"){
|
||||
// let points1 = [];
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y-25,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"zhongchuipianon",points1,0.5,true,0);
|
||||
// let points2 = [];
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+25,switchmodel.children[i].position.z));
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"zhongchuipianoff",points2,0.5,true,0);
|
||||
// }
|
||||
// if(switchmodel.children[i].name == "lagan"){
|
||||
// let points1 = [];
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+100,switchmodel.children[i].position.z+50));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"laganon",points1,0.5,true,0);
|
||||
// let points2 = [];
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+100,switchmodel.children[i].position.z+50));
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"laganoff",points2,0.5,true,0);
|
||||
// }
|
||||
// if(switchmodel.children[i].name == "dongjiedianzhou"){
|
||||
// let points1 = [];
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+100,switchmodel.children[i].position.z+25));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"dongjiedianzhouon",points1,0.5,true,0);
|
||||
// let points2 = [];
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+100,switchmodel.children[i].position.z+25));
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"dongjiedianzhouoff",points2,0.5,true,0);
|
||||
// }
|
||||
// if(switchmodel.children[i].name == "neibu"){
|
||||
// let points1 = [];
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z-50));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"neibuon",points1,0.5,true,0);
|
||||
// let points2 = [];
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z-50));
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"neibuoff",points2,0.5,true,0);
|
||||
// }
|
||||
// if(switchmodel.children[i].name == "jiedian"){
|
||||
// let points1 = [];
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+100,switchmodel.children[i].position.z-15));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"jiedianon",points1,0.5,true,0);
|
||||
// let points2 = [];
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+100,switchmodel.children[i].position.z-15));
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"jiedianoff",points2,0.5,true,0);
|
||||
//
|
||||
// }
|
||||
// if(switchmodel.children[i].name == "yapian"){
|
||||
// let points1 = [];
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+100,switchmodel.children[i].position.z-25));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"yapianon",points1,0.5,true,0);
|
||||
// let points2 = [];
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+100,switchmodel.children[i].position.z-25));
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"yapianoff",points2,0.5,true,0);
|
||||
// }
|
||||
// if(switchmodel.children[i].name == "fanghuozhao"){
|
||||
// let points1 = [];
|
||||
//
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z+200));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"fanghuozhaoon",points1,0.5,true,0);
|
||||
//
|
||||
// let points2 = [];
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z+200));
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"fanghuozhaooff",points2,0.5,true,0);
|
||||
// }
|
||||
// if(switchmodel.children[i].name == "dianyuanpian"){
|
||||
// let points1 = [];
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z-50));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"dianyuanpianon",points1,0.5,true,0);
|
||||
// let points2 = [];
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z-50));
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"dianyuanpianoff",points2,0.5,true,0);
|
||||
// }
|
||||
// if(switchmodel.children[i].name == "xinpian"){
|
||||
// let points1 = [];
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+150,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"xinpianon",points1,0.5,true,0);
|
||||
// let points2 = [];
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+150,switchmodel.children[i].position.z));
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"xinpianoff",points2,0.5,true,0);
|
||||
// }
|
||||
// if(switchmodel.children[i].name =="jueyuanzhou"){
|
||||
// let points1 = [];
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+100,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"jueyuanzhouon",points1,0.5,true,0);
|
||||
// let points2 = [];
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+100,switchmodel.children[i].position.z));
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"jueyuanzhouoff",points2,0.5,true,0);
|
||||
// }
|
||||
// if(switchmodel.children[i].name =="cigang"){
|
||||
// let points1 = [];
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y-100,switchmodel.children[i].position.z+100));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"cigangon",points1,0.5,true,0);
|
||||
// let points2 = [];
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y-100,switchmodel.children[i].position.z+100));
|
||||
// points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
|
||||
// scope.initanimate(switchmodel.children[i],switchmodel.name+"cigangoff",points2,0.5,true,0);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// //
|
||||
//
|
||||
//
|
||||
//
|
||||
// }
|
||||
this.initlistnew = function(switchmodel){
|
||||
|
||||
|
||||
|
@ -138,3 +138,12 @@ export function trainSimulationChangeHead(group,groupNumber) {
|
||||
params: ''
|
||||
})
|
||||
}
|
||||
|
||||
//
|
||||
export function trainSimulationDoorControl(group,groupNumber,direct,open) {
|
||||
return request({
|
||||
url: `/simulation/driving/${group}/train/${groupNumber}/onOrOffDoor?right=${direct}&open=${open}`,
|
||||
method: 'put',
|
||||
params: ''
|
||||
})
|
||||
}
|
||||
|
@ -153,6 +153,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
|
||||
getPublishMapDetail(mapId).then(data => {
|
||||
let mapnetdata = data.data;
|
||||
getPublish3dMapDetail(mapId).then(netdata => {
|
||||
console.log(netdata);
|
||||
let assetsdata = JSON.parse(netdata.data.sections);
|
||||
if(assetsdata.link){
|
||||
scope.datatype = "old";
|
||||
|
@ -355,21 +355,22 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,sta
|
||||
}
|
||||
|
||||
function traindoorupdate(data){
|
||||
|
||||
// console.log(data);
|
||||
if(trainmodel.code == data.code){
|
||||
|
||||
if(trainmodel.right == "0"){
|
||||
if(data.doorCode == "2"){
|
||||
|
||||
if(trainmodel.open != data.open && data.open == "0"){
|
||||
trainmodel.open = "0";
|
||||
if(trainmodel.openleft != data.open && data.open == "0"){
|
||||
trainmodel.openleft = "0";
|
||||
for(let an=actions["traindoor"].top.length-1;an>=0;an--){
|
||||
actions["traindoor"].top[an].reset();
|
||||
actions["traindoor"].top[an].time = actions["traindoor"].top[an]._clip.duration;
|
||||
actions["traindoor"].top[an].timeScale = -1;
|
||||
actions["traindoor"].top[an].play();
|
||||
}
|
||||
}else if(trainmodel.open != data.open && data.open == "1"){
|
||||
trainmodel.open = "1";
|
||||
}else if(trainmodel.openleft != data.open && data.open == "1"){
|
||||
trainmodel.openleft = "1";
|
||||
for(let an=actions["traindoor"].top.length-1;an>=0;an--){
|
||||
actions["traindoor"].top[an].reset();
|
||||
actions["traindoor"].top[an].time = 0;
|
||||
@ -380,16 +381,16 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,sta
|
||||
}else{
|
||||
|
||||
|
||||
if (trainmodel.open != data.open && data.open == '0') {
|
||||
trainmodel.open = '0';
|
||||
if (trainmodel.openright != data.open && data.open == '0') {
|
||||
trainmodel.openright = '0';
|
||||
for (let an=actions["traindoor"].down.length-1; an>=0; an--) {
|
||||
actions["traindoor"].down[an].reset();
|
||||
actions["traindoor"].down[an].time = actions["traindoor"].down[an]._clip.duration;
|
||||
actions["traindoor"].down[an].timeScale = -1;
|
||||
actions["traindoor"].down[an].play();
|
||||
}
|
||||
} else if (trainmodel.open != data.open && data.open == '1') {
|
||||
trainmodel.open = "1";
|
||||
} else if (trainmodel.openright != data.open && data.open == '1') {
|
||||
trainmodel.openright = "1";
|
||||
for(let an=actions["traindoor"].down.length-1;an>=0;an--){
|
||||
actions["traindoor"].down[an].reset();
|
||||
actions["traindoor"].down[an].time = 0;
|
||||
@ -402,16 +403,16 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,sta
|
||||
}else{
|
||||
if(data.doorCode == "1"){
|
||||
|
||||
if(trainmodel.open != data.open && data.open == "0"){
|
||||
trainmodel.open = "0";
|
||||
if(trainmodel.openright != data.open && data.open == "0"){
|
||||
trainmodel.openright = "0";
|
||||
for(let an=actions["traindoor"].top.length-1;an>=0;an--){
|
||||
actions["traindoor"].top[an].reset();
|
||||
actions["traindoor"].top[an].time = actions["traindoor"].top[an]._clip.duration;
|
||||
actions["traindoor"].top[an].timeScale = -1;
|
||||
actions["traindoor"].top[an].play();
|
||||
}
|
||||
}else if(trainmodel.open != data.open && data.open == "1"){
|
||||
trainmodel.open = "1";
|
||||
}else if(trainmodel.openright != data.open && data.open == "1"){
|
||||
trainmodel.openright = "1";
|
||||
for(let an=actions["traindoor"].top.length-1;an>=0;an--){
|
||||
actions["traindoor"].top[an].reset();
|
||||
actions["traindoor"].top[an].time = 0;
|
||||
@ -422,16 +423,16 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,sta
|
||||
}else{
|
||||
|
||||
|
||||
if (trainmodel.open != data.open && data.open == '0') {
|
||||
trainmodel.open = '0';
|
||||
if (trainmodel.openleft != data.open && data.open == '0') {
|
||||
trainmodel.openleft = '0';
|
||||
for (let an=actions["traindoor"].down.length-1; an>=0; an--) {
|
||||
actions["traindoor"].down[an].reset();
|
||||
actions["traindoor"].down[an].time = actions["traindoor"].down[an]._clip.duration;
|
||||
actions["traindoor"].down[an].timeScale = -1;
|
||||
actions["traindoor"].down[an].play();
|
||||
}
|
||||
} else if (trainmodel.open != data.open && data.open == '1') {
|
||||
trainmodel.open = "1";
|
||||
} else if (trainmodel.openleft != data.open && data.open == '1') {
|
||||
trainmodel.openleft = "1";
|
||||
for(let an=actions["traindoor"].down.length-1;an>=0;an--){
|
||||
actions["traindoor"].down[an].reset();
|
||||
actions["traindoor"].down[an].time = 0;
|
||||
@ -490,7 +491,8 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,sta
|
||||
trainmodel.dispose = "1";
|
||||
code = trainlisttest.group.children[i].name;
|
||||
trainmodel.rotation.y = 0;
|
||||
trainmodel.open = '1';
|
||||
trainmodel.openleft = '1';
|
||||
trainmodel.openright = '1';
|
||||
trainmodel.curve = null;
|
||||
trainmodel.nextcurve = null;
|
||||
trainmodel.speed = 0;
|
||||
|
@ -240,6 +240,7 @@ export function AssetLoader(){
|
||||
// scope.modellist.push(defaultswitch2);
|
||||
|
||||
let modeldata = JSON.parse(data);
|
||||
// console.log(data);
|
||||
for(let j=0;j<modeldata.assets.length;j++){
|
||||
let had = false;
|
||||
for(let i=0;i<scope.modellist.length;i++){
|
||||
|
@ -138,7 +138,8 @@ export function TrainListN() {
|
||||
newmesh.speed = 0;
|
||||
newmesh.speeds = 0;
|
||||
newmesh.offset = null;
|
||||
newmesh.open = '3';
|
||||
newmesh.openleft = '3';
|
||||
newmesh.openright = '3';
|
||||
|
||||
|
||||
scope.group.add(newmesh);
|
||||
|
@ -536,7 +536,8 @@ class SkinCode extends defaultStyle {
|
||||
lineColor: '#FFF', // 车次窗颜色
|
||||
lineDash: [3, 3], // 车次窗虚线间隔
|
||||
lineWidth: 1, // 车次窗线宽
|
||||
trainWindowSmooth: 0.01 // 车次窗矩形圆滑程度
|
||||
trainWindowSmooth: 0.01, // 车次窗矩形圆滑程度
|
||||
show: true // 车次窗是否显示
|
||||
};
|
||||
this[deviceType.SplitStation] = {
|
||||
lineLength: 15, // 箭头线长度
|
||||
|
@ -486,7 +486,8 @@ class SkinCode extends defaultStyle {
|
||||
lineColor: '#4DD43F', // 车次窗颜色
|
||||
lineDash: null, // 车次窗虚线间隔
|
||||
lineWidth: 1, // 车次窗线宽
|
||||
trainWindowSmooth: 0 // 车次窗矩形圆滑程度
|
||||
trainWindowSmooth: 0, // 车次窗矩形圆滑程度
|
||||
show: true // 车次窗是否显示
|
||||
};
|
||||
this[deviceType.SplitStation] = {
|
||||
lineLength: 15, // 箭头线长度
|
||||
|
@ -654,7 +654,8 @@ class SkinCode extends defaultStyle {
|
||||
lineColor: '#4DD43F', // 车次窗颜色
|
||||
lineDash: null, // 车次窗虚线间隔
|
||||
lineWidth: 1, // 车次窗线宽
|
||||
trainWindowSmooth: 0 // 车次窗矩形圆滑程度
|
||||
trainWindowSmooth: 0, // 车次窗矩形圆滑程度
|
||||
show: true // 车次窗是否显示
|
||||
};
|
||||
this[deviceType.SplitStation] = {
|
||||
lineLength: 15, // 箭头线长度
|
||||
|
@ -521,7 +521,8 @@ class SkinCode extends defaultStyle {
|
||||
lineColor: '#4DD43F', // 车次窗颜色
|
||||
lineDash: null, // 车次窗虚线间隔
|
||||
lineWidth: 1, // 车次窗线宽
|
||||
trainWindowSmooth: 0 // 车次窗矩形圆滑程度
|
||||
trainWindowSmooth: 0, // 车次窗矩形圆滑程度
|
||||
show: true // 车次窗是否显示
|
||||
};
|
||||
this[deviceType.SplitStation] = {
|
||||
lineLength: 15, // 箭头线长度
|
||||
|
@ -509,7 +509,8 @@ class SkinCode extends defaultStyle {
|
||||
lineColor: '#4DD43F', // 车次窗颜色
|
||||
lineDash: null, // 车次窗虚线间隔
|
||||
lineWidth: 1, // 车次窗线宽
|
||||
trainWindowSmooth: 0 // 车次窗矩形圆滑程度
|
||||
trainWindowSmooth: 0, // 车次窗矩形圆滑程度
|
||||
show: true // 车次窗是否显示
|
||||
};
|
||||
this[deviceType.SplitStation] = {
|
||||
lineLength: 15, // 箭头线长度
|
||||
|
@ -535,7 +535,8 @@ class SkinCode extends defaultStyle {
|
||||
lineColor: '#4DD43F', // 车次窗颜色
|
||||
lineDash: null, // 车次窗虚线间隔
|
||||
lineWidth: 1, // 车次窗线宽
|
||||
trainWindowSmooth: 0 // 车次窗矩形圆滑程度
|
||||
trainWindowSmooth: 0, // 车次窗矩形圆滑程度
|
||||
show: true // 车次窗是否显示
|
||||
};
|
||||
this[deviceType.SplitStation] = {
|
||||
lineLength: 15, // 箭头线长度
|
||||
|
@ -516,7 +516,8 @@ class SkinCode extends defaultStyle {
|
||||
lineColor: '#fff', // 车次窗颜色
|
||||
lineDash: [3], // 车次窗虚线间隔
|
||||
lineWidth: 0.5, // 车次窗线宽
|
||||
trainWindowSmooth: 0 // 车次窗矩形圆滑程度
|
||||
trainWindowSmooth: 0, // 车次窗矩形圆滑程度
|
||||
show: false // 车次窗是否显示
|
||||
};
|
||||
this[deviceType.SplitStation] = {
|
||||
lineLength: 15, // 箭头线长度
|
||||
|
@ -558,7 +558,8 @@ class SkinCode extends defaultStyle {
|
||||
lineColor: '#4DD43F', // 车次窗颜色
|
||||
lineDash: null, // 车次窗虚线间隔
|
||||
lineWidth: 1, // 车次窗线宽
|
||||
trainWindowSmooth: 0 // 车次窗矩形圆滑程度
|
||||
trainWindowSmooth: 0, // 车次窗矩形圆滑程度
|
||||
show: true // 车次窗是否显示
|
||||
};
|
||||
this[deviceType.SplitStation] = {
|
||||
lineLength: 15, // 箭头线长度
|
||||
|
@ -566,7 +566,8 @@ class SkinCode extends defaultStyle {
|
||||
lineColor: '#4DD43F', // 车次窗颜色
|
||||
lineDash: null, // 车次窗虚线间隔
|
||||
lineWidth: 1, // 车次窗线宽
|
||||
trainWindowSmooth: 0 // 车次窗矩形圆滑程度
|
||||
trainWindowSmooth: 0, // 车次窗矩形圆滑程度
|
||||
show: true // 车次窗是否显示
|
||||
};
|
||||
this[deviceType.NoOneReturn] = {
|
||||
displayCondition: '01', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示)
|
||||
|
@ -155,7 +155,9 @@ class Jlmap {
|
||||
this.setOptions(dcenter);
|
||||
}
|
||||
}
|
||||
|
||||
setRevoverBigScreen() {
|
||||
this.$painter.updateTransform({ scaleRate: this.$options.scaleRate, offsetX: this.$options.offsetX, offsetY: this.$options.offsetY });
|
||||
}
|
||||
setRecover(opts) {
|
||||
this.$painter.updateTransform({ scaleRate: opts.scaleRate, offsetX: opts.offsetX, offsetY: opts.offsetY });
|
||||
}
|
||||
@ -185,6 +187,9 @@ class Jlmap {
|
||||
const scaleHeight = Math.floor(((opts.height - 100) / (rect.height * num)) * 100) / 100;
|
||||
const scale = Math.min(scaleWidth, scaleHeight);
|
||||
|
||||
// const offsetHeight = (offsetY - (rect.height * scale)) / 2 + Math.abs(rect.x); // 高度差
|
||||
// console.log(offsetHeight, opts.height, screenSplit, offsetY, rect);
|
||||
|
||||
for (let i = 0; i < splitList.length; i++) {
|
||||
let offsetX = '';
|
||||
if (i == 0) {
|
||||
@ -193,7 +198,11 @@ class Jlmap {
|
||||
const dx = (opts.width - (splitList[i] - splitList[i - 1]) * scale) / 2; // 居中计算偏移值
|
||||
offsetX = splitList[i - 1] * scale - dx;
|
||||
}
|
||||
const param = { scaleRate: scale, offsetX: offsetX, offsetY: -100 - (offsetY * i) };
|
||||
// const param = { scaleRate: scale, offsetX: offsetX, offsetY: -offsetHeight - (offsetY * i) };
|
||||
const param = { scaleRate: scale, offsetX: offsetX, offsetY: -120 - (offsetY * i) };
|
||||
if (i == 0) {
|
||||
param.offsetY = -160 - (opts.offsetY || 0);
|
||||
}
|
||||
arr.push(param);
|
||||
const rect = {x: 0, y: 0, width: Number(splitList[i]) + 5, height: opts.height};
|
||||
rectList.push(rect);
|
||||
@ -448,9 +457,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;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -195,6 +195,7 @@ class Painter {
|
||||
* @param {*} opt
|
||||
*/
|
||||
updateTransform(opt) {
|
||||
this.screenFlag = false;
|
||||
this.$transformHandle.updateTransform(opt);
|
||||
}
|
||||
|
||||
|
@ -312,8 +312,11 @@ export default class Station extends Group {
|
||||
|
||||
recover() {
|
||||
this.emergencyControl && this.emergencyControl.setColor(this.style.Station.StationControl.lamp.grayColor);
|
||||
this.emergencyControl && this.emergencyControl.setTextColor(this.style.Station.StationControl.text.fontColor);
|
||||
this.substationControl && this.substationControl.setColor(this.style.Station.StationControl.lamp.grayColor);
|
||||
this.substationControl && this.substationControl.setTextColor(this.style.Station.StationControl.text.fontColor);
|
||||
this.centerControl && this.centerControl.setColor(this.style.Station.StationControl.lamp.grayColor);
|
||||
this.centerControl && this.centerControl.setTextColor(this.style.Station.StationControl.text.fontColor);
|
||||
}
|
||||
|
||||
// 设置状态
|
||||
|
@ -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;
|
||||
|
@ -26,7 +26,7 @@ class TrainWindow extends Group {
|
||||
}
|
||||
|
||||
createMouseEvent() {
|
||||
if (this.model.trainWindowShow) {
|
||||
if (this.style.TrainWindow.show) {
|
||||
this.mouseEvent = new EMouse(this);
|
||||
this.on('mouseout', (e) => { this.mouseEvent.mouseout(e); });
|
||||
this.on('mouseover', (e) => { this.mouseEvent.mouseover(e); });
|
||||
@ -37,29 +37,27 @@ class TrainWindow extends Group {
|
||||
createTrainWindow() {
|
||||
const model = this.model;
|
||||
const point = model.point || model.position;
|
||||
if (this.model.trainWindowShow) {
|
||||
this.trainRect = new Polygon({
|
||||
_subType: 'TrainWindow',
|
||||
zlevel: this.zlevel,
|
||||
z: this.z - 1,
|
||||
shape: {
|
||||
smooth: this.style.TrainWindow.trainWindowSmooth, // 圆滑程度
|
||||
points: [
|
||||
[point.x - model.width / 2, point.y],
|
||||
[point.x + model.width / 2, point.y],
|
||||
[point.x + model.width / 2, point.y + model.height],
|
||||
[point.x - model.width / 2, point.y + model.height]
|
||||
]
|
||||
},
|
||||
style: {
|
||||
lineDash: this.style.TrainWindow.lineDash,
|
||||
lineWidth: this.style.TrainWindow.lineWidth,
|
||||
stroke: this.style.TrainWindow.lineColor,
|
||||
fill: this.style.transparentColor
|
||||
}
|
||||
});
|
||||
this.add(this.trainRect);
|
||||
}
|
||||
this.trainRect = new Polygon({
|
||||
_subType: 'TrainWindow',
|
||||
zlevel: this.zlevel,
|
||||
z: this.z - 1,
|
||||
shape: {
|
||||
smooth: this.style.TrainWindow.trainWindowSmooth, // 圆滑程度
|
||||
points: [
|
||||
[point.x - model.width / 2, point.y],
|
||||
[point.x + model.width / 2, point.y],
|
||||
[point.x + model.width / 2, point.y + model.height],
|
||||
[point.x - model.width / 2, point.y + model.height]
|
||||
]
|
||||
},
|
||||
style: {
|
||||
lineDash: this.style.TrainWindow.lineDash,
|
||||
lineWidth: this.style.TrainWindow.lineWidth,
|
||||
stroke: this.style.TrainWindow.lineColor,
|
||||
fill: this.style.transparentColor
|
||||
}
|
||||
});
|
||||
this.add(this.trainRect);
|
||||
}
|
||||
|
||||
isPop(e) {
|
||||
|
@ -1,21 +1,19 @@
|
||||
<template>
|
||||
<div class="menus" :style="{width: width + 'px'}">
|
||||
<menu-cancel ref="menuCancel" />
|
||||
<template v-show="isShowAll">
|
||||
<menu-bar v-show="isShowBar" ref="menuBar" :selected="selected" />
|
||||
<menu-button ref="menuButton" />
|
||||
<menu-station-control ref="menuStationControl" :selected="selected" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<menu-limit ref="menuLimit" :selected="selected" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</template>
|
||||
<menu-bar v-show="isShowBar" ref="menuBar" :selected="selected" />
|
||||
<menu-button ref="menuButton" />
|
||||
<menu-station-control ref="menuStationControl" :selected="selected" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<menu-limit ref="menuLimit" :selected="selected" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -66,13 +64,8 @@ export default {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
]),
|
||||
isShowAll() {
|
||||
return this.$route.params.mode !== 'dp' &&
|
||||
this.$route.params.mode !== 'plan' &&
|
||||
this.$store.state.training.roles != 'BigScreen';
|
||||
},
|
||||
isShowBar() {
|
||||
return this.$store.state.training.prdType;
|
||||
return this.$store.state.training.prdType && this.$store.state.training.prdType !== '07';
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
@ -1,22 +1,18 @@
|
||||
<template>
|
||||
<div class="chengdou-01__menus" :style="{width: width + 'px'}">
|
||||
<menu-cancel ref="menuCancel" />
|
||||
<template v-show="isShowAll">
|
||||
<template v-show="isShowBar">
|
||||
<menu-bar ref="menuBar" :selected="selected" />
|
||||
</template>
|
||||
<menu-request ref="menuRequest" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<menu-station-platform ref="menuStationPlatform" :selected="selected" @popMenuStationStand="popMenuStationStand" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</template>
|
||||
<menu-bar v-show="isShowBar" ref="menuBar" :selected="selected" />
|
||||
<menu-request ref="menuRequest" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<menu-station-platform ref="menuStationPlatform" :selected="selected" @popMenuStationStand="popMenuStationStand" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -65,13 +61,8 @@ export default {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
]),
|
||||
isShowAll() {
|
||||
return this.$route.params.mode !== 'dp' &&
|
||||
this.$route.params.mode !== 'plan' &&
|
||||
this.$store.state.training.roles != 'BigScreen';
|
||||
},
|
||||
isShowBar() {
|
||||
return this.$store.state.training.prdType;
|
||||
return this.$store.state.training.prdType && this.$store.state.training.prdType !== '07';
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
@ -1,22 +1,18 @@
|
||||
<template>
|
||||
<div class="menus" :style="{width: width + 'px'}">
|
||||
<menu-cancel ref="menuCancel" />
|
||||
<template v-show="isShowAll">
|
||||
<template v-show="isShowBar">
|
||||
<menu-bar ref="menuBar" :selected="selected" />
|
||||
</template>
|
||||
<menu-button ref="menuButton" />
|
||||
<menu-station-control ref="menuStationControl" :selected="selected" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</template>
|
||||
<menu-bar v-show="isShowBar" ref="menuBar" :selected="selected" />
|
||||
<menu-button ref="menuButton" />
|
||||
<menu-station-control ref="menuStationControl" :selected="selected" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -65,13 +61,8 @@ export default {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
]),
|
||||
isShowAll() {
|
||||
return this.$route.params.mode !== 'dp' &&
|
||||
this.$route.params.mode !== 'plan' &&
|
||||
this.$store.state.training.roles != 'BigScreen';
|
||||
},
|
||||
isShowBar() {
|
||||
return this.$store.state.training.prdType;
|
||||
return this.$store.state.training.prdType && this.$store.state.training.prdType !== '07';
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
@ -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 }) => {
|
||||
|
@ -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
|
||||
}
|
||||
};
|
||||
|
@ -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;
|
||||
|
@ -1,23 +1,21 @@
|
||||
<template>
|
||||
<div class="menus" :style="{width: width + 'px'}">
|
||||
<menu-cancel ref="menuCancel" />
|
||||
<template v-show="isShowAll">
|
||||
<menu-bar v-show="isShowBar" ref="menuBar" :selected="selected" />
|
||||
<menu-button ref="menuButton" />
|
||||
<menu-axle-reset ref="menuAxleReset" :selected="selected" />
|
||||
<menu-auto-trun-route ref="menuAutoTrunRoute" :selected="selected" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||
<menu-station-control ref="menuStationControl" :selected="selected" />>
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<menu-limit ref="menuLimit" :selected="selected" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</template>
|
||||
<menu-bar v-show="isShowBar" ref="menuBar" :selected="selected" />
|
||||
<menu-button ref="menuButton" />
|
||||
<menu-axle-reset ref="menuAxleReset" :selected="selected" />
|
||||
<menu-auto-trun-route ref="menuAutoTrunRoute" :selected="selected" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||
<menu-station-control ref="menuStationControl" :selected="selected" />>
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<menu-limit ref="menuLimit" :selected="selected" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -72,13 +70,8 @@ export default {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
]),
|
||||
isShowAll() {
|
||||
return this.$route.params.mode !== 'dp' &&
|
||||
this.$route.params.mode !== 'plan' &&
|
||||
this.$store.state.training.roles != 'BigScreen';
|
||||
},
|
||||
isShowBar() {
|
||||
return this.$store.state.training.prdType;
|
||||
return this.$store.state.training.prdType && this.$store.state.training.prdType !== '07';
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
@ -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: {
|
||||
|
@ -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>
|
||||
|
@ -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;
|
||||
|
@ -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>
|
||||
|
@ -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() {
|
||||
|
@ -18,7 +18,7 @@
|
||||
<script>
|
||||
import PopMenu from '@/components/PopMenu';
|
||||
import NoticeInfo from './dialog/childDialog/childDialog/noticeInfo';
|
||||
import { MenuDisabledState, menuConvert, trainMenuFiltration } from './utils/menuItemStatus';
|
||||
import { MenuDisabledState } from './utils/menuItemStatus';
|
||||
import TrainDelete from './dialog/trainDelete';
|
||||
import TrainDefine from './dialog/trainDefine';
|
||||
import TrainMove from './dialog/trainMove';
|
||||
@ -65,147 +65,53 @@ export default {
|
||||
return {
|
||||
menu: [],
|
||||
menuNormal: {
|
||||
Local: [
|
||||
// {
|
||||
// label: '设置车组号',
|
||||
// handler: this.addTrainId,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// label: '删除车组号',
|
||||
// handler: this.delTrainId,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// label: '移动车组号',
|
||||
// handler: this.moveTrainId,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// label: '新建计划车',
|
||||
// handler: this.addPlanTrain,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// type: 'separator'
|
||||
// },
|
||||
// {
|
||||
// label: '设置计划车',
|
||||
// handler: this.setPlanTrain,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// label: '设置头码车',
|
||||
// handler: this.setHeadTrain,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// label: '设置人工车',
|
||||
// handler: this.setWorkTrain,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// label: '设乘务组号',
|
||||
// handler: this.undeveloped,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// type: 'separator'
|
||||
// },
|
||||
// {
|
||||
// label: '标记ATP切除',
|
||||
// handler: this.setTrainATPdel,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// label: '标记ATP恢复',
|
||||
// handler: this.setTrainATPRec,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// type: 'separator'
|
||||
// },
|
||||
// {
|
||||
// label: '旅行冲突列车',
|
||||
// handler: this.undeveloped,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// label: '列车信息',
|
||||
// handler: this.undeveloped,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// }
|
||||
],
|
||||
Local: [],
|
||||
Center: [
|
||||
// {
|
||||
// label: '设置车组号',
|
||||
// handler: this.addTrainId,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// label: '删除车组号',
|
||||
// handler: this.delTrainId,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// label: '移动车组号',
|
||||
// handler: this.moveTrainId,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// label: '新建计划车',
|
||||
// handler: this.addPlanTrain,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// type: 'separator'
|
||||
// },
|
||||
// {
|
||||
// label: '设置计划车',
|
||||
// handler: this.setPlanTrain,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// label: '设置头码车',
|
||||
// handler: this.setHeadTrain,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// label: '设置人工车',
|
||||
// handler: this.setWorkTrain,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// label: '设乘务组号',
|
||||
// handler: this.undeveloped,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// type: 'separator'
|
||||
// },
|
||||
// {
|
||||
// label: '标记ATP切除',
|
||||
// handler: this.setTrainATPdel,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// label: '标记ATP恢复',
|
||||
// handler: this.setTrainATPRec,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// type: 'separator'
|
||||
// },
|
||||
// {
|
||||
// label: '旅行冲突列车',
|
||||
// handler: this.undeveloped,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// },
|
||||
// {
|
||||
// label: '列车信息',
|
||||
// handler: this.undeveloped,
|
||||
// cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
// }
|
||||
{
|
||||
label: '添加列车识别号',
|
||||
handler: this.undeveloped,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||
},
|
||||
{
|
||||
label: '删除列车识别号',
|
||||
handler: this.undeveloped,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||
},
|
||||
{
|
||||
label: '修改列车识别号',
|
||||
handler: this.undeveloped,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||
},
|
||||
{
|
||||
label: '修改车组号',
|
||||
handler: this.undeveloped,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||
},
|
||||
{
|
||||
label: '移动列车识别号',
|
||||
handler: this.undeveloped,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||
},
|
||||
{
|
||||
label: '交换列车识别号',
|
||||
handler: this.undeveloped,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||
},
|
||||
{
|
||||
label: '标记ATP切除',
|
||||
handler: this.undeveloped,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_TAG_ATP_CUT
|
||||
},
|
||||
{
|
||||
label: '标记ATP激活',
|
||||
handler: this.undeveloped,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_TAG_ATP_RECOVER
|
||||
},
|
||||
{
|
||||
label: '查看列车详细运行信息',
|
||||
handler: this.undeveloped,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_INFO
|
||||
}
|
||||
]
|
||||
},
|
||||
menuForce: [
|
||||
@ -273,71 +179,67 @@ export default {
|
||||
doClose() {
|
||||
if (this.$refs && this.$refs.popMenu) {
|
||||
this.$refs.popMenu.close();
|
||||
// this.$store.dispatch('map/setTrainWindowShow', false);
|
||||
this.$store.dispatch('map/setTrainWindowShow', false);
|
||||
}
|
||||
},
|
||||
// 设置故障
|
||||
setStoppage() {
|
||||
const operate = {
|
||||
const step = {
|
||||
start: true,
|
||||
send: true,
|
||||
code: this.selected.code,
|
||||
type: MapDeviceType.Train.type,
|
||||
label: MapDeviceType.Train.label,
|
||||
operation: OperationEvent.Train.stoppage.menu.operation
|
||||
operation: OperationEvent.Train.stoppage.menu.operation,
|
||||
cmdType: CMD.Train.CMD_STOPPAGE,
|
||||
param: {
|
||||
code: this.selected.code
|
||||
}
|
||||
};
|
||||
|
||||
this.mouseCancelState(this.selected);
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
} else {
|
||||
this.$refs.noticeInfo.doShow(operate);
|
||||
this.$refs.noticeInfo.doShow();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.$refs.noticeInfo.doShow(operate);
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
},
|
||||
// 取消故障
|
||||
cancelStoppage() {
|
||||
const operate = {
|
||||
const step = {
|
||||
start: true,
|
||||
send: true,
|
||||
code: this.selected.code,
|
||||
type: MapDeviceType.Train.type,
|
||||
label: MapDeviceType.Train.label,
|
||||
operation: OperationEvent.Train.cancelStoppage.menu.operation
|
||||
operation: OperationEvent.Train.cancelStoppage.menu.operation,
|
||||
cmdType: CMD.Train.CMD_CANCEL_STOPPAGE,
|
||||
param: {
|
||||
code: this.selected.code
|
||||
}
|
||||
};
|
||||
|
||||
this.mouseCancelState(this.selected);
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
} else {
|
||||
this.$refs.noticeInfo.doShow(operate);
|
||||
this.$refs.noticeInfo.doShow();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.$refs.noticeInfo.doShow(operate);
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
},
|
||||
// 限速行驶
|
||||
limitSpeed() {
|
||||
const operate = {
|
||||
const step = {
|
||||
start: true,
|
||||
send: true,
|
||||
code: this.selected.code,
|
||||
type: MapDeviceType.Train.type,
|
||||
label: MapDeviceType.Train.label,
|
||||
operation: OperationEvent.Train.limitSpeed.menu.operation
|
||||
operation: OperationEvent.Train.limitSpeed.menu.operation,
|
||||
cmdType: CMD.Train.CMD_LIMIT_SPEED,
|
||||
param: {
|
||||
code: this.selected.code
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
} else {
|
||||
this.$refs.noticeInfo.doShow(operate);
|
||||
this.$refs.noticeInfo.doShow();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.$refs.noticeInfo.doShow(operate);
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
},
|
||||
undeveloped() {
|
||||
@ -345,6 +247,7 @@ export default {
|
||||
this.$alert('实现中......', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
callback: action => {
|
||||
this.$store.dispatch('map/setTrainWindowShow', false);
|
||||
}
|
||||
});
|
||||
},
|
||||
@ -417,6 +320,22 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
// 修改列车识别号
|
||||
editTrainId() {
|
||||
const step = {
|
||||
start: true,
|
||||
operation: OperationEvent.Train.editTrainId.menu.operation,
|
||||
param: {
|
||||
code: this.selected.code
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.trainDefine.doShow(step, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 设置头码车
|
||||
setHeadTrain() {
|
||||
const operate = {
|
||||
|
@ -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:{
|
||||
|
@ -1,18 +1,16 @@
|
||||
<template>
|
||||
<div class="menus" :style="{width: width + 'px'}">
|
||||
<menu-cancel ref="menuCancel" />
|
||||
<template v-show="isShowAll">
|
||||
<menu-bar v-show="isShowBar" ref="menuBar" :selected="selected" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</template>
|
||||
<menu-bar v-show="isShowBar" ref="menuBar" :selected="selected" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -57,13 +55,8 @@ export default {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
]),
|
||||
isShowAll() {
|
||||
return this.$route.params.mode != 'dp' &&
|
||||
this.$route.params.mode != 'plan' &&
|
||||
this.$store.state.training.roles != 'BigScreen';
|
||||
},
|
||||
isShowBar() {
|
||||
return this.$store.state.training.prdType;
|
||||
return this.$store.state.training.prdType && this.$store.state.training.prdType !== '07';
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
@ -66,7 +66,11 @@ export default {
|
||||
if (station.chargeStationCodeList && station.chargeStationCodeList.length) {
|
||||
const node = {
|
||||
label: station.name,
|
||||
children: []
|
||||
children: [{
|
||||
code: station.code,
|
||||
label: station.name,
|
||||
handler: this.mapLocation
|
||||
}]
|
||||
};
|
||||
station.chargeStationCodeList.forEach(item => {
|
||||
const next = this.$store.getters['map/getDeviceByCode'](item);
|
||||
|
@ -250,18 +250,18 @@ export default {
|
||||
},
|
||||
loadTableData() {
|
||||
this.tableData = [];
|
||||
this.stationControlList.forEach(control => {
|
||||
const station = this.$store.getters['map/getDeviceByCode'](control.stationCode);
|
||||
this.tableData.push({
|
||||
code: control.code,
|
||||
operate: station.name || '',
|
||||
control: '',
|
||||
check: false,
|
||||
disabled: false,
|
||||
status: this.$t('menu.menuDialog.normal'),
|
||||
result: ''
|
||||
});
|
||||
});
|
||||
// this.stationControlList.forEach(control => {
|
||||
// const station = this.$store.getters['map/getDeviceByCode'](control.stationCode);
|
||||
// this.tableData.push({
|
||||
// code: control.code,
|
||||
// operate: station.name || '',
|
||||
// control: '',
|
||||
// check: false,
|
||||
// disabled: false,
|
||||
// status: this.$t('menu.menuDialog.normal'),
|
||||
// result: ''
|
||||
// });
|
||||
// });
|
||||
},
|
||||
initTableDataStatus() {
|
||||
this.tableData.forEach(row => {
|
||||
|
@ -1,19 +1,17 @@
|
||||
<template>
|
||||
<div class="menus" :style="{width: width + 'px'}">
|
||||
<menu-cancel ref="menuCancel" />
|
||||
<template v-show="isShowAll">
|
||||
<menu-bar v-if="isShowBar" ref="menuBar" :selected="selected" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<menu-button v-if="isShowBar" ref="menuButton" :selected="selected" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</template>
|
||||
<menu-bar v-if="isShowBar" ref="menuBar" :selected="selected" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<menu-button v-if="isShowBar" ref="menuButton" :selected="selected" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -60,13 +58,8 @@ export default {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
]),
|
||||
isShowAll() {
|
||||
return this.$route.params.mode != 'dp' &&
|
||||
this.$route.params.mode != 'plan' &&
|
||||
this.$store.state.training.roles != 'BigScreen';
|
||||
},
|
||||
isShowBar() {
|
||||
return this.$store.state.training.prdType === '01';
|
||||
return this.$store.state.training.prdType === '01' && this.$store.state.training.prdType !== '07';
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
@ -1,23 +1,21 @@
|
||||
<template>
|
||||
<div class="menus" :style="{width: width + 'px'}">
|
||||
<menu-cancel ref="menuCancel" />
|
||||
<template v-show="isShowAll">
|
||||
<menu-bar v-show="isShowBar" ref="menuBar" :selected="selected" />
|
||||
<menu-axle-reset ref="menuAxleReset" :selected="selected" />
|
||||
<menu-auto-trun-route ref="menuAutoTrunRoute" :selected="selected" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||
<menu-station-control ref="menuStationControl" />
|
||||
<!-- :selected="selected" -->
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<menu-limit ref="menuLimit" :selected="selected" />
|
||||
<!--<passive-alarm ref="passiveAlarm" />-->
|
||||
<passive-contorl ref="passiveControl" />
|
||||
<!--<passive-Timeout ref="passiveTimeout" />-->
|
||||
</template>
|
||||
<menu-bar v-show="isShowBar" ref="menuBar" :selected="selected" />
|
||||
<menu-axle-reset ref="menuAxleReset" :selected="selected" />
|
||||
<menu-auto-trun-route ref="menuAutoTrunRoute" :selected="selected" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||
<menu-station-control ref="menuStationControl" />
|
||||
<!-- :selected="selected" -->
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<menu-limit ref="menuLimit" :selected="selected" />
|
||||
<!--<passive-alarm ref="passiveAlarm" />-->
|
||||
<passive-contorl ref="passiveControl" />
|
||||
<!--<passive-Timeout ref="passiveTimeout" />-->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -70,13 +68,8 @@ export default {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
]),
|
||||
isShowAll() {
|
||||
return this.$route.params.mode !== 'dp' &&
|
||||
this.$route.params.mode !== 'plan' &&
|
||||
this.$store.state.training.roles != 'BigScreen';
|
||||
},
|
||||
isShowBar() {
|
||||
return this.$store.state.training.prdType;
|
||||
return this.$store.state.training.prdType && this.$store.state.training.prdType !== '07';
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -1,19 +1,17 @@
|
||||
<template>
|
||||
<div class="menus" :style="{width: width + 'px'}">
|
||||
<menu-cancel ref="menuCancel" />
|
||||
<template v-show="isShowAll">
|
||||
<menu-bar v-show="isShowBar" ref="menuBar" :selected="selected" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<menu-station-turn-back ref="menuStationTurnBack" :selected="selected" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</template>
|
||||
<menu-bar v-show="isShowBar" ref="menuBar" :selected="selected" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<menu-station-turn-back ref="menuStationTurnBack" :selected="selected" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -60,13 +58,8 @@ export default {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
]),
|
||||
isShowAll() {
|
||||
return this.$route.params.mode != 'dp' &&
|
||||
this.$route.params.mode != 'plan' &&
|
||||
this.$store.state.training.roles != 'BigScreen';
|
||||
},
|
||||
isShowBar() {
|
||||
return this.$store.state.training.prdType;
|
||||
return this.$store.state.training.prdType && this.$store.state.training.prdType !== '07';
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
@ -67,7 +67,7 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
|
||||
},
|
||||
{
|
||||
label: '进路解封',
|
||||
label: '信号解封',
|
||||
handler: this.unlock,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK
|
||||
},
|
||||
@ -139,7 +139,7 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
|
||||
},
|
||||
{
|
||||
label: '进路解封',
|
||||
label: '信号解封',
|
||||
handler: this.unlock,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK
|
||||
},
|
||||
|
@ -1,22 +1,20 @@
|
||||
<template>
|
||||
<div class="xian-02__menus" :style="{width: width + 'px'}">
|
||||
<menu-cancel ref="menuCancel" />
|
||||
<template v-show="isShowAll">
|
||||
<!-- <menu-bar v-show="isShowBar" ref="menuBar" :selected="selected" /> -->
|
||||
<menu-axle-reset ref="menuAxleReset" :selected="selected" />
|
||||
<menu-auto-trun-route ref="menuAutoTrunRoute" :selected="selected" />
|
||||
<menu-station-control ref="menuStationControl" :selected="selected" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<menu-limit ref="menuLimit" :selected="selected" />
|
||||
<passive-contorl ref="passiveControl" />
|
||||
<menu-request ref="menuRequest" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" @popMenuStationStand="popMenuStationStand" @totalMenuEvent="totalMenuEvent" />
|
||||
<pop-station-stand ref="popStationStand" :selected="selected" @closeMenuStationStand="closeMenuStationStand" />
|
||||
</template>
|
||||
<!-- <menu-bar v-show="isShowBar" ref="menuBar" :selected="selected" /> -->
|
||||
<menu-axle-reset ref="menuAxleReset" :selected="selected" />
|
||||
<menu-auto-trun-route ref="menuAutoTrunRoute" :selected="selected" />
|
||||
<menu-station-control ref="menuStationControl" :selected="selected" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<menu-limit ref="menuLimit" :selected="selected" />
|
||||
<passive-contorl ref="passiveControl" />
|
||||
<menu-request ref="menuRequest" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" @popMenuStationStand="popMenuStationStand" @totalMenuEvent="totalMenuEvent" />
|
||||
<pop-station-stand ref="popStationStand" :selected="selected" @closeMenuStationStand="closeMenuStationStand" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -73,13 +71,8 @@ export default {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
]),
|
||||
isShowAll() {
|
||||
return this.$route.params.mode !== 'dp' &&
|
||||
this.$route.params.mode !== 'plan' &&
|
||||
this.$store.state.training.roles != 'BigScreen';
|
||||
},
|
||||
isShowBar() {
|
||||
return this.$store.state.training.prdType;
|
||||
return this.$store.state.training.prdType && this.$store.state.training.prdType !== '07';
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@ -129,9 +122,13 @@ export default {
|
||||
.xian-02__pop_tip_station{
|
||||
padding: 0 !important;
|
||||
margin-left: 1px !important;
|
||||
background: #78e2ad;
|
||||
border: 1px solid #6B736A;
|
||||
background: #78e2ad !important;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 0;
|
||||
|
||||
}
|
||||
.xian-02__pop_tip_station:hover{
|
||||
border: 1px solid #6B736A;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog {
|
||||
|
@ -5,7 +5,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PopMenu from '@/components/PopMenu/popTip';
|
||||
import PopMenu from '@/components/PopMenu/index';
|
||||
import { mapGetters } from 'vuex';
|
||||
import { DeviceMenu } from '@/scripts/ConstDic';
|
||||
import deviceType from '@/jmapNew/constant/deviceType';
|
||||
|
@ -10,7 +10,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PopMenu from '@/components/PopMenu/popTip';
|
||||
import PopMenu from '@/components/PopMenu/index';
|
||||
import SectionControl from './dialog/sectionControl';
|
||||
import SectionUnLock from './dialog/sectionUnLock';
|
||||
import SpeedLimitControl from './dialog/speedLimitControl';
|
||||
@ -31,7 +31,7 @@ export default {
|
||||
SectionUnLock,
|
||||
SpeedLimitControl,
|
||||
AlxeEffective,
|
||||
NoticeInfo,
|
||||
NoticeInfo
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
|
@ -13,7 +13,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PopMenu from '@/components/PopMenu/popTip';
|
||||
import PopMenu from '@/components/PopMenu/index';
|
||||
import RouteControl from './dialog/routeControl';
|
||||
import RouteSelection from './dialog/routeSelection';
|
||||
import RouteLock from './dialog/routeLock';
|
||||
|
@ -9,7 +9,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PopMenu from '@/components/PopMenu/popTip';
|
||||
import PopMenu from '@/components/PopMenu/index';
|
||||
import StationCmdControl from './dialog/stationCmdControl';
|
||||
import StationHumanControlAll from './dialog/stationHumanControlAll';
|
||||
import StationSetRouteControlAll from './dialog/stationSetRouteControlAll';
|
||||
|
@ -10,7 +10,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PopMenu from '@/components/PopMenu/popTip';
|
||||
import PopMenu from '@/components/PopMenu/index';
|
||||
import SwitchControl from './dialog/switchControl';
|
||||
import SwitchUnLock from './dialog/switchUnLock';
|
||||
import SpeedLimitControl from './dialog/speedLimitControl';
|
||||
|
@ -14,7 +14,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PopMenu from '@/components/PopMenu/popTip';
|
||||
import PopMenu from '@/components/PopMenu/index';
|
||||
import NoticeInfo from './dialog/childDialog/childDialog/noticeInfo';
|
||||
import { MenuDisabledState } from './utils/menuItemStatus';
|
||||
import TrainDelete from './dialog/trainDelete';
|
||||
|
@ -9,7 +9,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PopMenu from '@/components/PopMenu/popTip';
|
||||
import PopMenu from '@/components/PopMenu/index';
|
||||
import NoticeInfo from './dialog/childDialog/childDialog/noticeInfo';
|
||||
import UpdateStandPlan from './dialog/updateStandPlan';
|
||||
import WarningConfirm from './dialog/warningConfirm';
|
||||
|
@ -144,7 +144,7 @@ export function parser(data, skinCode, showConfig) {
|
||||
zrUtil.each(data.splitStationList || [], elem => {
|
||||
mapDevice[elem.code] = createDevice(deviceType.SplitStation, elem, propConvert, showConfig);
|
||||
}, this);
|
||||
|
||||
|
||||
zrUtil.each(data.tbStrategyList || [], elem => { // 站后折返按钮
|
||||
mapDevice[elem.code] = createDevice(deviceType.StationTurnBack, elem, propConvert, showConfig);
|
||||
}, this);
|
||||
|
@ -168,7 +168,7 @@ export default {
|
||||
}
|
||||
|
||||
.el-tree {
|
||||
overflow: hidden !important;
|
||||
overflow: auto !important;
|
||||
.list-elem {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
|
@ -106,7 +106,11 @@ export default {
|
||||
if (station.chargeStationCodeList && station.chargeStationCodeList.length) {
|
||||
const node = {
|
||||
label: station.name,
|
||||
children: []
|
||||
children: [{
|
||||
code: station.code,
|
||||
label: station.name,
|
||||
handler: this.mapLocation
|
||||
}]
|
||||
};
|
||||
station.chargeStationCodeList.forEach(item => {
|
||||
const next = this.$store.getters['map/getDeviceByCode'](item);
|
||||
|
@ -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" />
|
||||
|
@ -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="请选择类型">
|
||||
|
@ -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 );
|
||||
|
@ -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,
|
||||
|
@ -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>
|
||||
|
@ -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>
|
@ -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>
|
154
src/views/iscs/iscsSystem/config/bas/controlChild/modeType.vue
Normal file
154
src/views/iscs/iscsSystem/config/bas/controlChild/modeType.vue
Normal 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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
48
src/views/iscs/iscsSystem/config/bas/schedules.vue
Normal file
48
src/views/iscs/iscsSystem/config/bas/schedules.vue
Normal file
@ -0,0 +1,48 @@
|
||||
<template>
|
||||
<div class="schedules-box">
|
||||
<div class="title-name">车站运行时间表</div>
|
||||
<station-running-schedule v-if="showMode === 'stationRunningSchedule'" @changeShowMode="changeShowMode" />
|
||||
<weekly-status v-else-if="showMode==='weeklyStatus'" @changeShowMode="changeShowMode" />
|
||||
<schedules-manage v-else-if="showMode === 'schedulesManage'" @changeShowMode="changeShowMode" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import StationRunningSchedule from './schedulesChild/stationRunningSchedule';
|
||||
import WeeklyStatus from './schedulesChild/weeklyStatus';
|
||||
import SchedulesManage from './schedulesChild/schedulesManage';
|
||||
export default {
|
||||
name: 'Schedules',
|
||||
components: {
|
||||
StationRunningSchedule,
|
||||
WeeklyStatus,
|
||||
SchedulesManage
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
station: '',
|
||||
stations: [],
|
||||
showMode: 'stationRunningSchedule'
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
changeShowMode(mode) {
|
||||
this.showMode = mode;
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.schedules-box{
|
||||
width: 100%;
|
||||
height: calc(100% - 30px);
|
||||
}
|
||||
.title-name{
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-size: 26px;
|
||||
margin-top: 30px;
|
||||
color: #56E5DE;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,96 @@
|
||||
<template>
|
||||
<div style="width: 100%;display: flex;justify-content: center;">
|
||||
<div>
|
||||
<div class="top-content-box">
|
||||
<div style="width: 950px;font-size: 18px;color: #56E5DE;margin: 10px;">全线车站时间表</div>
|
||||
<div style="width: 100%;display: flex;justify-content: center;">
|
||||
<div style="width: 240px;height: 300px;background: #FFF;">
|
||||
<el-row>
|
||||
<div style="background: #43388A;font-size: 14px;height: 30px;line-height: 30px;color: #FFF;text-align: center;">公用时间列表</div>
|
||||
</el-row>
|
||||
</div>
|
||||
<div style="width: 120px;margin-left: 10px;">
|
||||
<div style="font-size: 18px;color: #56E5DE;width: 100%;text-align: center;margin: 85px 0;">增加时间表名</div>
|
||||
<el-input v-model="tableName" size="mini" />
|
||||
<div class="button-box" style="text-align: center;padding: 5px 0;margin: 10px 0;">增加</div>
|
||||
<div class="button-box" style="text-align: center;padding: 5px 0">删除</div>
|
||||
</div>
|
||||
<div style="width: 110px;height: 300px;padding: 0 15px;border-right: 2px solid #2B5932;margin-left: 40px;">
|
||||
<div style="font-size: 18px;color: #56E5DE;width: 100%;text-align: center;">下载选择</div>
|
||||
<div class="button-box" style="background: #3F8B66;text-align: center;margin-top: 256px;">立即下发</div>
|
||||
</div>
|
||||
<div style="width: 110px;height: 300px;margin-left: 15px;">
|
||||
<div style="color: #56E5DE;font-size: 13px;"><div class="check-box" />星期一</div>
|
||||
<div style="color: #56E5DE;font-size: 13px;"><div class="check-box" />星期二</div>
|
||||
<div style="color: #56E5DE;font-size: 13px;"><div class="check-box" />星期三</div>
|
||||
<div style="color: #56E5DE;font-size: 13px;"><div class="check-box" />星期四</div>
|
||||
<div style="color: #56E5DE;font-size: 13px;"><div class="check-box" />星期五</div>
|
||||
<div style="color: #56E5DE;font-size: 13px;"><div class="check-box" />星期六</div>
|
||||
<div style="color: #56E5DE;font-size: 13px;"><div class="check-box" />星期日</div>
|
||||
<div class="button-box" style="background: #3F8B66;text-align: center;margin-top: 100px;">排定下发</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'SchedulesManage',
|
||||
data() {
|
||||
return {
|
||||
tableName: ''
|
||||
};
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.top-content-box {
|
||||
width: 950px;
|
||||
margin-top: 10px;
|
||||
border-top: 2px solid #A4A3A0;
|
||||
border-left: 2px solid #A4A3A0;
|
||||
border-bottom: 2px solid #E5F1FE;
|
||||
border-right: 2px solid #E5F1FE;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
.check-box {
|
||||
display: inline-block;
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
background: #BFC1C1;
|
||||
border-top: 2px solid #FFFFFE;
|
||||
border-right: 2px solid #797977;
|
||||
border-bottom: 2px solid #797977;
|
||||
border-left: 2px solid #FFFFFE;
|
||||
}
|
||||
.button-box {
|
||||
background: #BABABB;
|
||||
border-top: 2px solid #FFFFFE;
|
||||
border-right: 2px solid #797977;
|
||||
border-bottom: 2px solid #797977;
|
||||
border-left: 2px solid #FFFFFE;
|
||||
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;
|
||||
}
|
||||
/deep/
|
||||
.el-input__inner{
|
||||
background: #11437A;
|
||||
border-radius: 0;
|
||||
border-top: 1px solid #A4A3A0;
|
||||
border-left: 1px solid #A4A3A0;
|
||||
border-bottom: 1px solid #E5F1FE;
|
||||
border-right: 1px solid #E5F1FE;
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
</style>
|
@ -0,0 +1,124 @@
|
||||
<template>
|
||||
<div style="width: 100%;height: 100%;">
|
||||
<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 style="width: 100px;height: 20px;background: #FFF;position: relative;left: calc(25% + 450px);margin-top: 20px;" />
|
||||
<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% + 650px);font-size: 12px;top: calc(100% - 300px);">
|
||||
<el-row style="background: #43388A;height: 25px;line-height: 25px;">
|
||||
<el-col :span="9" style="text-align: center;color: #FFF;border: 1px solid #000;">系统</el-col>
|
||||
<el-col :span="9" style="text-align: center;color: #FFF;border-top: 1px solid #000;border-bottom: 1px solid #000;">允许/禁止操作</el-col>
|
||||
<el-col :span="6" style="text-align: center;color: #FFF;border: 1px solid #000;">状态</el-col>
|
||||
</el-row>
|
||||
<el-row style="height: 25px;line-height: 25px;">
|
||||
<el-col :span="9" style="text-align: center;background: #FFF;border: 1px solid #D2D2D2;border-top: 0;">空调大系统</el-col>
|
||||
<el-col :span="9" style="text-align: center;background: #FFF;"><div class="button-box" style="padding: 3px 10px;height: 25px;line-height: 19px;">允许/禁止</div></el-col>
|
||||
<el-col :span="6" style="background: #0F0;text-align: center;border: 1px solid #D2D2D2;border-top: 0;">允许</el-col>
|
||||
</el-row>
|
||||
<el-row style="height: 25px;line-height: 25px;">
|
||||
<el-col :span="9" style="text-align: center;background: #FFF;border: 1px solid #D2D2D2;border-top: 0;">隧道通风系统</el-col>
|
||||
<el-col :span="9" style="text-align: center;background: #FFF;"><div class="button-box" style="padding: 3px 10px;height: 25px;line-height: 19px;">允许/禁止</div></el-col>
|
||||
<el-col :span="6" style="background: #0F0;text-align: center;border: 1px solid #D2D2D2;border-top: 0;">允许</el-col>
|
||||
</el-row>
|
||||
<el-row style="height: 25px;line-height: 25px;">
|
||||
<el-col :span="9" style="text-align: center;background: #FFF;border: 1px solid #D2D2D2;border-top: 0;">空调小系统</el-col>
|
||||
<el-col :span="9" style="text-align: center;background: #FFF;"><div class="button-box" style="padding: 3px 10px;height: 25px;line-height: 19px;">允许/禁止</div></el-col>
|
||||
<el-col :span="6" style="background: #0F0;text-align: center;border: 1px solid #D2D2D2;border-top: 0;">允许</el-col>
|
||||
</el-row>
|
||||
<el-row style="height: 25px;line-height: 25px;">
|
||||
<el-col :span="9" style="text-align: center;background: #FFF;border: 1px solid #D2D2D2;border-top: 0;">照明系统</el-col>
|
||||
<el-col :span="9" style="text-align: center;background: #FFF;"><div class="button-box" style="padding: 3px 10px;height: 25px;line-height: 19px;">允许/禁止</div></el-col>
|
||||
<el-col :span="6" style="background: #0F0;text-align: center;border: 1px solid #D2D2D2;border-top: 0;">允许</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<div style="position: absolute;left: calc(25% + 600px);font-size: 12px;top: calc(100% - 150px);display: flex;text-align: center;">
|
||||
<div class="button-box" style="height: 40px;line-height: 40px;margin: 10px;padding: 0 5px;" @click="changeShowMode('schedulesManage')">时间表管理</div>
|
||||
<div class="button-box" style="height: 40px;margin: 10px;" @click="changeShowMode('stationRunningSchedule')">全线运行<br>时间表总览</div>
|
||||
<div class="button-box" style="height: 40px;line-height: 40px;margin: 10px;padding: 0 5px;" @click="changeShowMode('weeklyStatus')">每周下发一览</div>
|
||||
<div class="button-box" style="height: 40px;margin: 10px;" @click="changeShowMode('saveScheduleView')">车站保存<br>时间表查看</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'StationRunningSchedule',
|
||||
data() {
|
||||
return {
|
||||
station: '',
|
||||
stations: []
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
changeShowMode(mode) {
|
||||
this.$emit('changeShowMode', mode);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.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;
|
||||
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>
|
@ -0,0 +1,140 @@
|
||||
<template>
|
||||
<div style="width: 100%;display: flex;justify-content: center;">
|
||||
<div>
|
||||
<el-row style="margin-top: 120px;width: 560px;height: 28px;line-height: 28px;margin-bottom: 5px;">
|
||||
<el-col :span="2" style="color: #56E5DE;">车站:</el-col>
|
||||
<el-col :span="6">
|
||||
<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-row>
|
||||
<div class="content-box">
|
||||
<el-row style="margin-top: 10px;margin-bottom: 10px;">
|
||||
<div style="color: #56E5DE;">车站控制时间表</div>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="20" :offset="2"><div style="width: 100%;background: #1120F6;color: #FFF;text-align: center;">下载</div></el-col>
|
||||
</el-row>
|
||||
<div style="width: 455px;margin-left: 45px;border: 2px solid #FFF;margin-top: 5px;padding: 5px;">
|
||||
<el-row style="height: 20px;line-height: 20px;margin-bottom: 5px;">
|
||||
<el-col :span="3" style="color: #56E5DE;">星期一</el-col>
|
||||
<el-col :span="19"><div class="white-block" /></el-col>
|
||||
<el-col :span="1" style="margin-left: 10px"><div class="button-box" style="width: 20px;height: 20px;" /></el-col>
|
||||
</el-row>
|
||||
<el-row style="height: 20px;line-height: 20px;margin-bottom: 5px;">
|
||||
<el-col :span="3" style="color: #56E5DE;">星期二</el-col>
|
||||
<el-col :span="19"><div class="white-block" /></el-col>
|
||||
<el-col :span="1" style="margin-left: 10px"><div class="button-box" style="width: 20px;height: 20px;" /></el-col>
|
||||
</el-row>
|
||||
<el-row style="height: 20px;line-height: 20px;margin-bottom: 5px;">
|
||||
<el-col :span="3" style="color: #56E5DE;">星期三</el-col>
|
||||
<el-col :span="19"><div class="white-block" /></el-col>
|
||||
<el-col :span="1" style="margin-left: 10px"><div class="button-box" style="width: 20px;height: 20px;" /></el-col>
|
||||
</el-row>
|
||||
<el-row style="height: 20px;line-height: 20px;margin-bottom: 5px;">
|
||||
<el-col :span="3" style="color: #56E5DE;">星期四</el-col>
|
||||
<el-col :span="19"><div class="white-block" /></el-col>
|
||||
<el-col :span="1" style="margin-left: 10px"><div class="button-box" style="width: 20px;height: 20px;" /></el-col>
|
||||
</el-row>
|
||||
<el-row style="height: 20px;line-height: 20px;margin-bottom: 5px;">
|
||||
<el-col :span="3" style="color: #56E5DE;">星期五</el-col>
|
||||
<el-col :span="19"><div class="white-block" /></el-col>
|
||||
<el-col :span="1" style="margin-left: 10px"><div class="button-box" style="width: 20px;height: 20px;" /></el-col>
|
||||
</el-row>
|
||||
<el-row style="height: 20px;line-height: 20px;margin-bottom: 5px;">
|
||||
<el-col :span="3" style="color: #56E5DE;">星期六</el-col>
|
||||
<el-col :span="19"><div class="white-block" /></el-col>
|
||||
<el-col :span="1" style="margin-left: 10px"><div class="button-box" style="width: 20px;height: 20px;" /></el-col>
|
||||
</el-row>
|
||||
<el-row style="height: 20px;line-height: 20px;margin-bottom: 5px;">
|
||||
<el-col :span="3" style="color: #56E5DE;">星期日</el-col>
|
||||
<el-col :span="19"><div class="white-block" /></el-col>
|
||||
<el-col :span="1" style="margin-left: 10px"><div class="button-box" style="width: 20px;height: 20px;" /></el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-box" style="padding: 10px 20px">
|
||||
<el-row>
|
||||
<el-col :span="6" style="height: 40px;line-height: 40px;color: #56E5DE;">直接下载时间表</el-col>
|
||||
<el-col :span="14"><div class="white-block" style="width: 95%;margin-top: 10px;" /></el-col>
|
||||
<el-col :span="4"><div class="button-box" style="text-align: center;padding: 5px 0;margin-top: 4px;background: #3F8B66;">立即下发</div></el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="6" style="color: #56E5DE;height: 40px;line-height: 40px;">时间表:</el-col>
|
||||
<el-col :span="14">
|
||||
<el-select v-model="station" size="mini" style="width: 95%;margin-top: 6px;" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in stations"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select></el-col>
|
||||
<el-col :span="4"><div class="button-box" style="text-align: center;padding: 5px 0;margin-top: 4px;">查看</div></el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<div style="position: absolute;left: calc(50% + 320px);bottom: calc(100% - 735px);font-size: 12px;text-align: center;">
|
||||
<div class="button-box" style="height: 40px;line-height: 40px;margin: 10px;padding: 0 5px;" @click="changeShowMode('schedulesManage')">时间表管理</div>
|
||||
<div class="button-box" style="height: 40px;margin: 10px;padding: 5px 10px;" @click="changeShowMode('')">全线运行<br>时间表管理</div>
|
||||
<div class="button-box" style="height: 40px;margin: 10px;padding: 5px 10px;" @click="changeShowMode('')">车站运行<br>时间表查看</div>
|
||||
<div class="button-box" style="height: 40px;margin: 10px;padding: 5px 10px;" @click="changeShowMode('saveScheduleView')">车站保存<br>时间表查看</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'WeeklyStatus',
|
||||
data() {
|
||||
return {
|
||||
station: '',
|
||||
stations: []
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
changeShowMode(mode) {
|
||||
this.$emit('changeShowMode', mode);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.content-box {
|
||||
width: 560px;
|
||||
border-top: 2px solid #A5A7A9;
|
||||
border-left: 2px solid #A5A7A9;
|
||||
border-bottom: 2px solid #FFF;
|
||||
border-right: 2px solid #FFF;
|
||||
padding: 5px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.button-box {
|
||||
background: #BABABB;
|
||||
border-top: 2px solid #FFFFFE;
|
||||
border-right: 2px solid #797977;
|
||||
border-bottom: 2px solid #797977;
|
||||
border-left: 2px solid #FFFFFE;
|
||||
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;
|
||||
}
|
||||
.white-block{
|
||||
width: 100%;
|
||||
height: 20px;
|
||||
background: #FFF
|
||||
}
|
||||
</style>
|
35
src/views/iscs/iscsSystem/config/bas/tunnelVentilation.vue
Normal file
35
src/views/iscs/iscsSystem/config/bas/tunnelVentilation.vue
Normal 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>
|
@ -113,7 +113,9 @@ export default {
|
||||
FrozenPump: '冷冻泵、冷却泵',
|
||||
TunnelFan: '隧道风机',
|
||||
OrbitalVentilator: '排热风机',
|
||||
Draught: '水泵'
|
||||
Draught: '水泵',
|
||||
Stairs: '自动扶梯',
|
||||
Elevator: '垂直电梯'
|
||||
},
|
||||
modeMap: {
|
||||
standFAS: '火灾报警',
|
||||
|
@ -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;
|
||||
|
@ -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'
|
||||
]
|
||||
};
|
||||
},
|
||||
|
@ -140,7 +140,7 @@
|
||||
<script>
|
||||
import Vue from 'vue';
|
||||
// import { sendSimulationCommand } from '@/api/simulation.js';
|
||||
import { trainSimulationDriveMode, trainSimulationAto ,trainSimulationAtp,trainSimulationChangeHead } from '@/jlmap3d/jl3ddrive/drivecontrol/simulation.js';
|
||||
import { trainSimulationDriveMode, trainSimulationAto ,trainSimulationAtp,trainSimulationChangeHead,trainSimulationDoorControl } from '@/jlmap3d/jl3ddrive/drivecontrol/simulation.js';
|
||||
|
||||
export default {
|
||||
name: 'TopRightPane',
|
||||
@ -185,6 +185,8 @@
|
||||
rmbuttonimg:"/static/jl3d/control/green.png",
|
||||
runLevel:null,
|
||||
cbtcbuttonimg:"/static/jl3d/control/green.png",
|
||||
doorleftstatus:false,
|
||||
doorleftstatus:false,
|
||||
|
||||
}
|
||||
},
|
||||
@ -369,12 +371,27 @@
|
||||
trainSimulationDriveMode(this.group,this.groupNum,"RM").then(netdata => {
|
||||
console.log(netdata);
|
||||
});
|
||||
},
|
||||
dlcclick: function (e){
|
||||
|
||||
},
|
||||
dloclick: function (e){
|
||||
trainSimulationDoorControl(this.group,this.groupNum,false,true).then(netdata => {
|
||||
// console.log(netdata);
|
||||
});
|
||||
},
|
||||
dlcclick: function (e){
|
||||
trainSimulationDoorControl(this.group,this.groupNum,false,false).then(netdata => {
|
||||
// console.log(netdata);
|
||||
});
|
||||
},
|
||||
|
||||
droclick: function (e){
|
||||
trainSimulationDoorControl(this.group,this.groupNum,true,true).then(netdata => {
|
||||
// console.log(netdata);
|
||||
});
|
||||
},
|
||||
drcclick: function (e){
|
||||
trainSimulationDoorControl(this.group,this.groupNum,true,false).then(netdata => {
|
||||
// console.log(netdata);
|
||||
});
|
||||
},
|
||||
atoaclick: function (e){
|
||||
trainSimulationAto(this.group,this.groupNum).then(netdata => {
|
||||
@ -383,12 +400,6 @@
|
||||
},
|
||||
cbtcclick: function (e){
|
||||
|
||||
},
|
||||
droclick: function (e){
|
||||
|
||||
},
|
||||
drcclick: function (e){
|
||||
|
||||
},
|
||||
updatabuttonlight: function (data){
|
||||
// console.log(data);
|
||||
|
@ -321,7 +321,7 @@ export default {
|
||||
padding-left:5px;
|
||||
left: 0;
|
||||
bottom:15px;
|
||||
z-index:22;
|
||||
z-index:9;
|
||||
}
|
||||
.chat-box{
|
||||
width: 100%;
|
||||
|
@ -96,7 +96,7 @@ export default {
|
||||
return false;
|
||||
},
|
||||
isScreen() {
|
||||
return this.$route.path.includes('displayBigScreen') || this.$route.path.includes('bigScreen');
|
||||
return this.$route.path.includes('displayBigScreen') || this.$route.path.includes('bigScreen') || this.$store.state.training.prdType === '07';
|
||||
},
|
||||
maskOpen() {
|
||||
return this.$store.state.config.maskOpen;
|
||||
|
@ -292,7 +292,7 @@ export default {
|
||||
padding-left:5px;
|
||||
left: 0;
|
||||
bottom:28px;
|
||||
z-index:22;
|
||||
z-index:9;
|
||||
}
|
||||
.chat-box{
|
||||
width: 100%;
|
||||
|
@ -129,7 +129,9 @@ export default {
|
||||
'canvasHeight'
|
||||
]),
|
||||
...mapGetters('map', [
|
||||
'map'
|
||||
'map',
|
||||
'bigScreenSplitConfig'
|
||||
|
||||
]),
|
||||
...mapGetters('training', [
|
||||
'offsetStationCode'
|
||||
@ -165,9 +167,15 @@ export default {
|
||||
if (val === '01' && this.$route.query.lineCode === '06') {
|
||||
this.showSelectStation = true;
|
||||
this.mapViewLoadedOver && this.setShowStation(this.showStation);
|
||||
this.cancelBigScreenMode();
|
||||
} else if (val === '02' && this.$route.query.lineCode === '06') {
|
||||
this.showSelectStation = false;
|
||||
this.mapViewLoadedOver && this.setShowStation('');
|
||||
this.cancelBigScreenMode();
|
||||
} else if (val === '07') { // 大屏
|
||||
this.setBigScreenMode();
|
||||
} else {
|
||||
this.cancelBigScreenMode();
|
||||
}
|
||||
},
|
||||
'$store.state.map.mapViewLoadedCount': function (val) {
|
||||
@ -241,7 +249,6 @@ export default {
|
||||
this.mouseNum = 1;
|
||||
},
|
||||
handleRoomInfo(data) {
|
||||
// debugger;
|
||||
if (data.state == '03') { // 退出房间
|
||||
this.$router.go(-1);
|
||||
} else if (data.state == '01') { // 进入准备中
|
||||
@ -304,14 +311,15 @@ export default {
|
||||
let offset = 10;
|
||||
const menuBar = document.getElementById('menuBar');
|
||||
const menuTool = document.getElementById('menuTool');
|
||||
|
||||
if (menuBar) {
|
||||
offset += (menuBar.offsetHeight || 0);
|
||||
}
|
||||
if (menuTool) {
|
||||
offset += (menuTool.offsetHeight || 0);
|
||||
}
|
||||
|
||||
if (this.$store.state.training.prdType === '07') {
|
||||
offset = 10;
|
||||
}
|
||||
if (this.offset != offset) {
|
||||
this.offset = offset;
|
||||
}
|
||||
@ -520,16 +528,16 @@ export default {
|
||||
this.$refs.ibpPlate.show(deviceCode, this.ibpPart);
|
||||
}
|
||||
},
|
||||
hidejl3dcctv(){
|
||||
const routeData = this.$router.resolve({
|
||||
path:'/jlmap3d/passengerflow',
|
||||
query:{
|
||||
mapid:this.mapId,
|
||||
group:this.group,
|
||||
project: this.project
|
||||
}
|
||||
});
|
||||
window.open(routeData.href, '_blank', 'noopener noreferrer');
|
||||
hidejl3dcctv() {
|
||||
const routeData = this.$router.resolve({
|
||||
path:'/jlmap3d/passengerflow',
|
||||
query:{
|
||||
mapid:this.mapId,
|
||||
group:this.group,
|
||||
project: this.project
|
||||
}
|
||||
});
|
||||
window.open(routeData.href, '_blank', 'noopener noreferrer');
|
||||
},
|
||||
hidepanel() {
|
||||
this.panelShow = false;
|
||||
@ -538,7 +546,6 @@ export default {
|
||||
this.$refs.Jl3dDrive.show(this.mapId, this.group);
|
||||
},
|
||||
|
||||
|
||||
hideIbp() {
|
||||
Message.closeAll();
|
||||
this.drivingShow = false;
|
||||
@ -557,8 +564,15 @@ export default {
|
||||
},
|
||||
setWindowSize() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('config/resize', { width: this.width, height: this.height });
|
||||
this.$store.dispatch('training/updateOffsetStationCode', { offsetStationCode: this.offsetStationCode });
|
||||
if (this.prdType == '07') {
|
||||
const width = this.$store.state.app.width - 2;
|
||||
const height = this.$store.state.app.height;
|
||||
this.$store.dispatch('config/resize', { width, height });
|
||||
this.setBigScreenMode();
|
||||
} else {
|
||||
this.$store.dispatch('config/resize', { width: this.width, height: this.height });
|
||||
this.$store.dispatch('training/updateOffsetStationCode', { offsetStationCode: this.offsetStationCode });
|
||||
}
|
||||
});
|
||||
},
|
||||
switchStationMode(val) {
|
||||
@ -586,6 +600,24 @@ export default {
|
||||
if (this.stationList.length) {
|
||||
this.showStation = this.stationList[0].value;
|
||||
}
|
||||
},
|
||||
setBigScreenMode() {
|
||||
if (this.bigScreenSplitConfig.length) {
|
||||
const size = {
|
||||
width: this.$store.state.app.width - 2,
|
||||
height: this.$store.state.app.height - 60,
|
||||
offsetY: 60,
|
||||
list: this.bigScreenSplitConfig.map(ele => ele.position)
|
||||
};
|
||||
this.$jlmap.off('zoom');
|
||||
this.$jlmap.off('pan');
|
||||
this.$jlmap.setUpdateScreen(size);
|
||||
}
|
||||
},
|
||||
cancelBigScreenMode() {
|
||||
this.$jlmap.on('zoom');
|
||||
this.$jlmap.on('pan');
|
||||
this.$jlmap.setRevoverBigScreen();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -95,7 +95,7 @@ export default {
|
||||
isSpeaking() {
|
||||
return this.userRole != 'DRIVER' && this.userRole != '';
|
||||
},
|
||||
isStationSupervisor(){
|
||||
isStationSupervisor() {
|
||||
console.log(this.userRole);
|
||||
return this.userRole == 'STATION_SUPERVISOR';
|
||||
},
|
||||
@ -132,7 +132,8 @@ export default {
|
||||
},
|
||||
'$store.state.socket.simulationStart': async function (val) {
|
||||
if (val) {
|
||||
this.$store.dispatch('training/simulationStart', { start: true });
|
||||
this.$store.dispatch('training/setInitTime', +new Date(val));
|
||||
this.$store.dispatch('training/simulationStart', { start: true});
|
||||
}
|
||||
},
|
||||
'$store.state.map.runPlanStatus': function (val) {
|
||||
@ -311,7 +312,7 @@ export default {
|
||||
jumpjlmap3d() {
|
||||
this.$emit('hidepanel');
|
||||
},
|
||||
jlmap3dcctv(){
|
||||
jlmap3dcctv() {
|
||||
this.$emit('hidejl3dcctv');
|
||||
},
|
||||
setRelDevice() {
|
||||
|
@ -27,7 +27,7 @@
|
||||
</el-button-group>
|
||||
|
||||
<el-radio-group
|
||||
v-if="(userRole == 'INSTRUCTOR' || userRole == 'ADMIN') && !dataError"
|
||||
v-if="(userRole == 'INSTRUCTOR' || userRole == 'ADMIN') && !dataError && !isScreen"
|
||||
v-model="mode"
|
||||
size="small"
|
||||
@change="changeOperateMode(mode)"
|
||||
@ -97,7 +97,8 @@ export default {
|
||||
swch: '02',
|
||||
swchList: [
|
||||
{ value: '01', name: this.$t('joinTraining.local') },
|
||||
{ value: '02', name: this.$t('joinTraining.lineAdjustment') }
|
||||
{ value: '02', name: this.$t('joinTraining.lineAdjustment') },
|
||||
{ value: '07', name: '大屏'}
|
||||
],
|
||||
runing: false,
|
||||
userId: ''
|
||||
@ -109,6 +110,9 @@ export default {
|
||||
]),
|
||||
isShowMenuBar() {
|
||||
return this.$store.state.map.roles == 'Admin';
|
||||
},
|
||||
isScreen() {
|
||||
return this.$store.state.training.prdType === '07';
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
@ -81,9 +81,9 @@ export default {
|
||||
}
|
||||
}
|
||||
if (device._type == 'Section' && (device.type == '03' || device.type == '04')) { // 过滤道岔相关区段变成道岔model
|
||||
device = device.switch;
|
||||
// device = device.switch;
|
||||
device = this.$store.getters['map/getDeviceByCode'](device.switch.code);
|
||||
}
|
||||
|
||||
return device;
|
||||
},
|
||||
clickEvent(em) {
|
||||
|
@ -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) {
|
||||
|
@ -96,7 +96,7 @@ export default {
|
||||
}
|
||||
},
|
||||
starting() {
|
||||
return this.room.state == '02';
|
||||
return this.$route.query.drawWay + '' === 'true' && this.room.state == '02';
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
@ -33,7 +33,8 @@
|
||||
@changeUser="handleUpdUser"
|
||||
@delUser="handleDelUser"
|
||||
/>
|
||||
<!-- <e-role
|
||||
<e-role
|
||||
v-if="drawWay != 'true'"
|
||||
class="role"
|
||||
title-i18n="trainRoom.teacher"
|
||||
role-type="Instructor"
|
||||
@ -42,7 +43,7 @@
|
||||
@addUser="handleAddUser"
|
||||
@changeUser="handleUpdUser"
|
||||
@delUser="handleDelUser"
|
||||
/> -->
|
||||
/>
|
||||
<e-role
|
||||
class="role"
|
||||
title-i18n="trainRoom.universalAccount"
|
||||
@ -63,7 +64,8 @@
|
||||
@changeUser="handleUpdUser"
|
||||
@delUser="handleDelUser"
|
||||
/>
|
||||
<!-- <e-role
|
||||
<e-role
|
||||
v-if="drawWay != 'true'"
|
||||
class="role"
|
||||
title-i18n="trainRoom.ibp"
|
||||
role-type="IBP"
|
||||
@ -73,7 +75,7 @@
|
||||
@addUser="handleAddUser"
|
||||
@changeUser="handleUpdUser"
|
||||
@delUser="handleDelUser"
|
||||
/> -->
|
||||
/>
|
||||
<e-role
|
||||
v-if="isGzbProject"
|
||||
class="role"
|
||||
|
BIN
static/model/passflow/SDXC15.png
Normal file
BIN
static/model/passflow/SDXC15.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.3 KiB |
BIN
static/model/passflow/sre815.png
Normal file
BIN
static/model/passflow/sre815.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user