diff --git a/src/jmapNew/config/skinCode/datie_02.js b/src/jmapNew/config/skinCode/datie_02.js
index 52f5655c6..6a8a2e367 100644
--- a/src/jmapNew/config/skinCode/datie_02.js
+++ b/src/jmapNew/config/skinCode/datie_02.js
@@ -164,6 +164,10 @@ class SkinCode extends defaultStyle {
},
trainPosition:{
display: false // 列车实时位置显示
+ },
+ remainTime:{
+ circleBack:'',
+ textColor:''
}
};
@@ -205,7 +209,7 @@ class SkinCode extends defaultStyle {
borderWidth: 2, // 信号灯边框线宽度
borderColor: 'rgb(85,120,182)', // 信号灯边框线颜色
darkColor:'rgb(85,120,182)', //
- radiusR: 7, // 信号灯半径
+ radiusR: 5, // 信号灯半径
grayColor: '#7F7F7F', // 信号灯灰色
redColor: '#FF0000', // 信号灯红色
greenColor: '#00FF00', // 信号灯绿色
@@ -260,6 +264,7 @@ class SkinCode extends defaultStyle {
};
this[deviceType.SignalButton] = {
+ width:12,
guideColor: 'rgb(80,80,255)',
trainColor:'rgb(0,128,0)',
strokeColor:'rgb(128,128,128)'
diff --git a/src/jmapNew/constant/stateTransition.js b/src/jmapNew/constant/stateTransition.js
index 4df564a51..46df4f7a2 100644
--- a/src/jmapNew/constant/stateTransition.js
+++ b/src/jmapNew/constant/stateTransition.js
@@ -24,6 +24,7 @@ class Status {
assignSkip: device.assignSkip, // 是否指定跳停
runLevelTime: device.runLevelTime, // 区间运行时间 自动为 0
parkingTime: device.parkingTime, // 站台停车时间 自动为0
+ remainTime:device.remainTime, // 当前剩余停站时间
fault: device.fault, /** 非故障*/
num:device.num
};
@@ -95,6 +96,7 @@ class Status {
offsetp:device.offsetp, /** 列车精确位置 (成都一号线使用)*/
physicalCode:device.physicalCode, /** 列车所在物理区段 */
num:device.num /** 列车上的人数*/
+ // parkingRemainTime
};
}
handleStation(device) {
diff --git a/src/jmapNew/shape/graph/Section/index.js b/src/jmapNew/shape/graph/Section/index.js
index 34cbb11a2..8b2137fff 100644
--- a/src/jmapNew/shape/graph/Section/index.js
+++ b/src/jmapNew/shape/graph/Section/index.js
@@ -1,4 +1,6 @@
import Group from 'zrender/src/container/Group';
+import Text from 'zrender/src/graphic/Text';
+import Arc from 'zrender/src/graphic/shape/Arc';
import ETextName from './ETextName'; // 名称文字
import ELimitLines from './ELimitLines'; // 区段限速 (私有)
import ELines from './ELines'; // 创建多线条 曲线 (私有)
@@ -132,6 +134,50 @@ export default class Section extends Group {
});
this.add(this[element]);
});
+
+ if (this.style.Section.remainTime && (this.model.standTrack || this.model.reentryTrack || this.model.transferTrack)) {
+ const computedPoints = this.computedPoints;
+ const drict = model.trainPosType != '01' ? 1 : -1;
+ const x = Math.min(computedPoints[0].x, computedPoints[computedPoints.length - 1].x) + Math.abs(computedPoints[computedPoints.length - 1].x - computedPoints[0].x) / 2;
+ const y = Math.min(computedPoints[0].y, computedPoints[computedPoints.length - 1].y) + Math.abs(computedPoints[computedPoints.length - 1].y - computedPoints[0].y) / 2;
+ this.remainTimeText = new Text({
+ _subType: 'remainTimeText',
+ zlevel: this.zlevel,
+ z: this.z,
+ silent: model.silent || false,
+ style: {
+ x: x,
+ y: y - 23 * drict,
+ fontWeight: 'normal',
+ fontSize: 13,
+ fontFamily:style.fontFamily,
+ text: '0',
+ textFill:'#ff0000',
+ textAlign: 'center', // 水平对齐方式
+ textPosition: 'inside', // 文字位置
+ textVerticalAlign: 'middle' // 文字垂直对齐方式
+ }
+ });
+ this.remainTimeCircle = new Arc({
+ _subType: 'remainTimeCircle',
+ zlevel: this.zlevel,
+ z: this.z,
+ shape: {
+ cx: x - 18,
+ cy: y - 23 * drict,
+ r: 6
+ },
+ style: {
+ lineWidth: 1,
+ fill: style.backgroundColor,
+ stroke: '#ffffff'
+ }
+ });
+ this.add(this.remainTimeText);
+ this.add(this.remainTimeCircle);
+ this.remainTimeText.hide();
+ this.remainTimeCircle.hide();
+ }
}
}
@@ -167,6 +213,8 @@ export default class Section extends Group {
this.speedLimitName && this.speedLimitName.hide();
this.separator && this.separator.show();
this.badShunt && this.badShunt.hide();
+ // this.remainTimeText && this.remainTimeText.hide();
+ // this.remainTimeCircle && this.remainTimeCircle.hide();
this.axle && this.axle.setStyle({
stroke: this.style.Section.line.spareColor,
@@ -655,4 +703,22 @@ export default class Section extends Group {
y:rect.y
};
}
+
+ showRemainTime(remainTime) {
+ this.remainTimeText.show();
+ this.remainTimeCircle.show();
+ this.remainTimeCircle && this.remainTimeCircle.animateStyle(true)
+ .when(0, { fill:this.style.backgroundColor })
+ .when(1000, { fill: '#ffffff' })
+ .when(2000, { fill:this.style.backgroundColor })
+ .start();
+ this.remainTimeText.setStyle('text', remainTime);
+ }
+
+ hideRemainTime() {
+ this.remainTimeText.hide();
+ this.remainTimeCircle && this.remainTimeCircle.stopAnimation(true);
+ this.remainTimeCircle && this.remainTimeCircle.hide();
+ }
+
}
diff --git a/src/jmapNew/shape/graph/Signal/index.js b/src/jmapNew/shape/graph/Signal/index.js
index 4bf15d7e4..0a3d22227 100644
--- a/src/jmapNew/shape/graph/Signal/index.js
+++ b/src/jmapNew/shape/graph/Signal/index.js
@@ -953,12 +953,12 @@ class Signal extends Group {
showRemainTime(number) {
this.remainTimeName.show();
this.remainTimeName && this.remainTimeName.setStyle({ text: number });
- this.model.signalButtonList && this.model.signalButtonList.length && this.model.signalButtonList.forEach(item => {
- const button = store.getters['map/getDeviceByCode'](item);
- if (button.type === 'PICK') {
- button && button.instance && button.instance.startAnimate();
- }
- });
+ // this.model.signalButtonList && this.model.signalButtonList.length && this.model.signalButtonList.forEach(item => {
+ // const button = store.getters['map/getDeviceByCode'](item);
+ // if (button.type === 'PICK') {
+ // button && button.instance && button.instance.startAnimate();
+ // }
+ // });
if (this.model.type === 'SHUNTING') {
if (!this.style.Signal.dtTextNearSignalOffset) {
this.sigName && this.sigName.setAnimationStart(this.style.Signal.text.defaultColor);
diff --git a/src/jmapNew/shape/graph/SignalButton/index.js b/src/jmapNew/shape/graph/SignalButton/index.js
index 541e4d4f0..b1d113b89 100644
--- a/src/jmapNew/shape/graph/SignalButton/index.js
+++ b/src/jmapNew/shape/graph/SignalButton/index.js
@@ -97,14 +97,15 @@ export default class SignalButton extends Group {
.add(circle2)
.add(circle3);
} else {
+ const width = this.style.SignalButton && this.style.SignalButton.width ? this.style.SignalButton.width : 14;
this.rectButton = new Rect({
zlevel: this.zlevel,
z: this.z,
shape: {
x: computedPosition.x,
y: computedPosition.y,
- width: 14,
- height: 14
+ width:width,
+ height: width
},
style: {
lineDash: null,
diff --git a/src/jmapNew/shape/graph/StationStand/index.js b/src/jmapNew/shape/graph/StationStand/index.js
index 12c635464..edaf7e2f3 100644
--- a/src/jmapNew/shape/graph/StationStand/index.js
+++ b/src/jmapNew/shape/graph/StationStand/index.js
@@ -189,6 +189,14 @@ class StationStand extends Group {
this.upDetainLamp && this.upDetainLamp.show();
this.downDetainLamp && this.downDetainLamp.show();
}
+ if (this.style.Section.remainTime) {
+ const section = this.mapDevice[model.standTrackCode];
+ if (model.remainTime) {
+ section.instance && section.instance.showRemainTime(model.remainTime);
+ } else {
+ section.instance && section.instance.hideRemainTime();
+ }
+ }
}
}
diff --git a/src/jmapNew/theme/datie_02/menus/dialog/childDialog/passwordInputBox.vue b/src/jmapNew/theme/datie_02/menus/dialog/childDialog/passwordInputBox.vue
index eec77511b..d9a626059 100644
--- a/src/jmapNew/theme/datie_02/menus/dialog/childDialog/passwordInputBox.vue
+++ b/src/jmapNew/theme/datie_02/menus/dialog/childDialog/passwordInputBox.vue
@@ -1,20 +1,20 @@
+
-
-
-
+
+ 退格
@@ -22,6 +22,22 @@
+ 0
+ 1
+ 2
+ 3
+ 4
+ 确认
+
+
+ 5
+ 6
+ 7
+ 8
+ 9
+ 取消
+
+
@@ -94,7 +110,8 @@ export default {
/* 输入值替换为对应长度的星号*/
encryptionPassword: '',
loading: false,
- showMistake: false
+ showMistake: false,
+ title:''
};
},
computed: {
@@ -109,7 +126,8 @@ export default {
}
},
methods: {
- doShow(operate) {
+ doShow(operate, title) {
+ this.title = title;
this.operate = operate || {};
this.operation = operate.operation;
if (operate.operateNext) {
@@ -125,6 +143,7 @@ export default {
this.loading = false;
this.dialogShow = false;
this.showMistake = false;
+ this.title = '';
this.$store.dispatch('training/emitTipFresh');
},
commit() { // 确定
@@ -190,4 +209,175 @@ export default {
color: red;
}
+
+ .datie-02__systerm .el-dialog {
+ background: #0055E8;
+ box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
+ border: 1px solid rgb(69, 134, 247);
+ border-radius: 6px;
+ font-size: 13px !important;
+ color: #000;
+ }
+
+ .datie-02__systerm .el-dialog span {
+ font-size: 13px !important;
+ line-height: 22px;
+ }
+
+ .datie-02__systerm .el-dialog span .el-icon-arrow-up{
+ line-height: 18px;
+ }
+
+ .datie-02__systerm .el-dialog .el-dialog__footer {
+ background: #ECE9D8;
+ opacity: 1;
+ }
+
+ .datie-02__systerm .el-dialog .el-dialog__body {
+ padding: 0px;
+ margin: 0px 3px 3px;
+ border: 2px solid rgba(120, 121, 123, 0.5);
+ box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
+ background: #ECE9D8;
+ opacity: 1;
+ }
+
+ .datie-02__systerm .el-dialog .el-dialog__title {
+ font-size: 16px;
+ color: #fff;
+ position: absolute;
+ top: 4px;
+ left: 7px;
+ }
+
+ .datie-02__systerm .el-dialog .el-button {
+ height: 30px;
+ line-height: 22px;
+ padding: 0px 13px;
+ /* width: 80px; */
+ border: 1px solid #000000;
+ border-radius: 4px !important;
+ color: #000;
+ font-weight: bold;
+ background: linear-gradient(180deg, #fff, #efebf7);
+ margin-left: 0px
+ }
+
+ .datie-02__systerm .el-dialog .el-input.is-disabled .el-input__inner {
+ background: #efebde !important;
+ border-top: 2px #7f796f solid;
+ border-left: 2px #7F796E solid;
+ border-radius: 0px;
+ height:30px;
+ color:#000;
+ }
+ .datie-02__systerm .el-dialog .el-dialog__headerbtn {
+ /* background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770); */
+ /* border: 1px solid #fff; */
+ display: none;
+ border-radius: 4px;
+ top: 6px;
+ right: 3px;
+ line-height: 16px;
+ }
+
+ .datie-02__systerm .el-dialog .button-group {
+ font-size:0;
+ margin-top:2px;
+ }
+ /*
+
+ .chengdou-03__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
+ font-size: 16px;
+ }
+
+ .chengdou-03__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
+ color: #fff;
+ }
+
+ .chengdou-03__systerm .el-dialog .expand {
+ width: 120px;
+ }
+
+ .chengdou-03__systerm .el-dialog .el-button:focus span {
+ border: 1px dashed gray;
+ }
+
+ .chengdou-03__systerm .el-dialog .el-button:active {
+ border: 2px inset #E2E2E2;
+ }
+
+ .chengdou-03__systerm .el-dialog .el-button:disabled {
+ border: 2px inset #E2E2E2;
+ }
+
+ .chengdou-03__systerm .el-dialog .el-button:disabled span {
+ border: 0px;
+ }
+
+ .chengdou-03__systerm .el-dialog .el-input {
+ border: 2px inset #E9E9E9;
+ height: 22px !important;
+ line-height: 22px !important;
+ }
+
+ .chengdou-03__systerm .el-dialog .el-input__inner {
+ color: #000;
+ background: #fff !important;
+ border: 0px;
+ border-radius: 0px !important;
+ box-sizing: border-box;
+ height: 22px !important;
+ line-height: 22px !important;
+ }
+
+ .chengdou-03__systerm .el-dialog .el-textarea {
+ border: 2px inset #E9E9E9;
+ border-radius: 0px;
+ }
+
+ .chengdou-03__systerm .el-dialog .el-textarea .el-textarea__inner {
+ color: #000;
+ background: #fff !important;
+ border: 0px;
+ border-radius: 0px !important;
+ box-sizing: border-box;
+ }
+
+ .chengdou-03__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
+ background: #F0F0F0 !important;
+ }
+
+ .chengdou-03__systerm .el-dialog .el-table--border th.gutter {
+ background: #EBEADB !important;
+ }
+
+ .chengdou-03__systerm .el-dialog .el-table {
+ border: 2px inset #E9E9E9;
+ color: #000 !important;
+ }
+
+ .chengdou-03__systerm .el-dialog .el-table .cell {
+ height: 22px;
+ line-height: 22px;
+ }
+
+ .chengdou-03__systerm .el-dialog .el-table th.is-leaf {
+ background: #F0F0F0 !important;
+ border-right: 1px solid #BDBDBD !important;
+ border-bottom: 1px solid #BDBDBD !important;
+ color: #000 !important;
+ height: 20px !important;
+ padding: 0px;
+ }
+
+ .chengdou-03__systerm .el-dialog .el-table tr td {
+ height: 20px !important;
+ padding: 0px;
+ }
+
+ .chengdou-03__systerm .el-dialog .el-table .el-table__empty-text {
+ top: 15px !important;
+ } */
+
diff --git a/src/jmapNew/theme/datie_02/menus/menuButton.vue b/src/jmapNew/theme/datie_02/menus/menuButton.vue
index dbdbf1299..68ec7318d 100644
--- a/src/jmapNew/theme/datie_02/menus/menuButton.vue
+++ b/src/jmapNew/theme/datie_02/menus/menuButton.vue
@@ -1,6 +1,6 @@
-