diff --git a/src/api/chat.js b/src/api/chat.js
index 0cf5433f3..81cedad06 100644
--- a/src/api/chat.js
+++ b/src/api/chat.js
@@ -53,3 +53,11 @@ export function overConversationMessage(group, conversationMessageId) {
method: 'put'
});
}
+/** 发送会话文字 */
+export function sendConversationText (group, id, data) {
+ return request({
+ url: `/api/simulation/${group}/conversation/${id}/chat/text?`,
+ method: 'post',
+ data
+ });
+}
diff --git a/src/api/script.js b/src/api/script.js
index dfff747cf..6ff230a70 100644
--- a/src/api/script.js
+++ b/src/api/script.js
@@ -118,3 +118,26 @@ export function getScriptExport(id) {
method: 'get'
});
}
+
+/** 删除会话动作(新版)*/
+export function deleteScriptAction(group, actionId) {
+ return request({
+ url: `/api/scriptSimulation/${group}/${actionId}/delete`,
+ method: 'delete'
+ });
+}
+/** 修改剧本活动条件 */
+export function updateActionCondition(group, actionId, data) {
+ return request({
+ url: `/api/scriptSimulation/${group}/${actionId}/updateCondition`,
+ method: 'put',
+ data
+ });
+}
+/** 查询剧本活动条件 */
+export function getActionCondition(group, actionId) {
+ return request({
+ url: `/api/scriptSimulation/${group}/${actionId}/condition`,
+ method: 'get'
+ });
+}
diff --git a/src/api/simulation.js b/src/api/simulation.js
index c6efd75d2..bb59c7f2a 100644
--- a/src/api/simulation.js
+++ b/src/api/simulation.js
@@ -147,6 +147,30 @@ export function modifyScriptActionNew(group, data) {
});
}
+/** 开始替换 */
+export function startReplaceBg(group) {
+ return request({
+ url: `/api/scriptSimulation/${group}/replace/start`,
+ method: 'put'
+ });
+}
+
+/** 确认替换 */
+export function confirmReplaceBg(group) {
+ return request({
+ url: `/api/scriptSimulation/${group}/replace/confirm`,
+ method: 'put'
+ });
+}
+
+/** 放弃替换 */
+export function cancelReplaceBg(group) {
+ return request({
+ url: `/api/scriptSimulation/${group}/replace/cancel`,
+ method: 'put'
+ });
+}
+
/** 分页查询存在的仿真 */
export function getExistingSimulation(params) {
return request({
diff --git a/src/directive/quickMenuDrag/quickMenuDrag.js b/src/directive/quickMenuDrag/quickMenuDrag.js
index c9f4d3aaa..e9d7b051f 100644
--- a/src/directive/quickMenuDrag/quickMenuDrag.js
+++ b/src/directive/quickMenuDrag/quickMenuDrag.js
@@ -28,8 +28,6 @@ export default {
const l = e.clientX - disX;
const t = e.clientY - disY;
- console.log(l, l + styL, dragDom.style.left);
-
/** 移动当前元素*/
if (l + styL < 0) {
dragDom.style.left = `0px`;
diff --git a/src/i18n/langs/en/scriptRecord.js b/src/i18n/langs/en/scriptRecord.js
index 8e7618762..6751f9f16 100644
--- a/src/i18n/langs/en/scriptRecord.js
+++ b/src/i18n/langs/en/scriptRecord.js
@@ -109,5 +109,10 @@ export default {
revokeScriptTip: 'This action will undo release script, whether to continue?',
inputScriptName: 'Please input script name',
selectMap: 'Please select map',
- inputScriptDescription: 'Please input script description'
+ inputScriptDescription: 'Please input script description',
+
+
+ startReplaceBg: '替换背景',
+ confirmReplaceBg: '确认替换',
+ cancelReplaceBg: '放弃替换'
};
diff --git a/src/i18n/langs/zh/scriptRecord.js b/src/i18n/langs/zh/scriptRecord.js
index d6a29074d..34edb58f5 100644
--- a/src/i18n/langs/zh/scriptRecord.js
+++ b/src/i18n/langs/zh/scriptRecord.js
@@ -110,5 +110,9 @@ export default {
revokeScriptTip: '此操作将撤销发布剧本申请, 是否继续?',
inputScriptName: '请输入剧本名称',
selectMap: '请选择地图',
- inputScriptDescription: '请输入剧本描述'
+ inputScriptDescription: '请输入剧本描述',
+
+ startReplaceBg: '替换背景',
+ confirmReplaceBg: '确认替换',
+ cancelReplaceBg: '放弃替换'
};
diff --git a/src/jmapNew/config/skinCode/bejing_01.js b/src/jmapNew/config/skinCode/bejing_01.js
index 9a699baa8..f40879aaa 100644
--- a/src/jmapNew/config/skinCode/bejing_01.js
+++ b/src/jmapNew/config/skinCode/bejing_01.js
@@ -321,7 +321,8 @@ class SkinCode extends defaultStyle {
z:0,
position: -1, // 扣车标识在站台上显示方向
text: 'H', // 扣车显示内容
- offset: { x: -8, y: 13 }, // 扣车偏移量
+ insideOffset: { x: -8, y: 13 }, // 内站台扣车偏移量
+ outsideOffset: { x: -8, y: 13 }, // 外站台扣车偏移量
centerTrainColor: '#FFFFFF', // 中心扣车颜色
andCenterTrainColor: '#F61107', // 车站+中心扣车颜色
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
diff --git a/src/jmapNew/config/skinCode/chengdu_01.js b/src/jmapNew/config/skinCode/chengdu_01.js
index aabdf1139..8a69318ad 100644
--- a/src/jmapNew/config/skinCode/chengdu_01.js
+++ b/src/jmapNew/config/skinCode/chengdu_01.js
@@ -238,7 +238,8 @@ class SkinCode extends defaultStyle {
z:0,
position: -1, // 扣车标识在站台上显示方向
text: 'H', // 扣车显示内容
- offset: { x: -8, y: 13 }, // 扣车偏移量
+ insideOffset: { x: -8, y: 13 }, // 内站台扣车偏移量
+ outsideOffset:{ x: -8, y: 13 }, // 外站台扣车偏移量
centerTrainColor: 'white', // 中心扣车颜色
andCenterTrainColor: 'red', // 车站+中心扣车颜色
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
diff --git a/src/jmapNew/config/skinCode/chengdu_03.js b/src/jmapNew/config/skinCode/chengdu_03.js
index e19e18cff..171d3313f 100644
--- a/src/jmapNew/config/skinCode/chengdu_03.js
+++ b/src/jmapNew/config/skinCode/chengdu_03.js
@@ -259,7 +259,8 @@ class SkinCode extends defaultStyle {
z:0,
position: -1, // 扣车标识在站台上显示方向
text: '扣', // 扣车显示内容
- offset: {x: -8, y: 20}, // 扣车偏移量
+ insideOffset: {x: -8, y: 20}, // 内站台扣车偏移量
+ outsideOffset: {x: -8, y: 20}, // 外站台扣车偏移量
centerTrainColor: '#C0C0C0', // 中心扣车颜色
andCenterTrainColor: '#C0C0C0', // 车站+中心扣车颜色
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
diff --git a/src/jmapNew/config/skinCode/foshan_01.js b/src/jmapNew/config/skinCode/foshan_01.js
index 8aed3e042..08ba7fc49 100644
--- a/src/jmapNew/config/skinCode/foshan_01.js
+++ b/src/jmapNew/config/skinCode/foshan_01.js
@@ -229,7 +229,8 @@ class SkinCode extends defaultStyle {
z:0,
position: 1, // 扣车标识在站台上显示方向
text: 'H', // 扣车显示内容
- offset: {x: -8, y: 17}, // 扣车偏移量
+ insideOffset: {x: -8, y: 17}, // 内站台扣车偏移量
+ outsideOffset: {x: -8, y: 17}, // 外站台扣车偏移量
centerTrainColor: '#FFFFFF', // 中心扣车颜色
andCenterTrainColor: '#F61107', // 车站+中心扣车颜色
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
diff --git a/src/jmapNew/config/skinCode/fuzhou_01.js b/src/jmapNew/config/skinCode/fuzhou_01.js
index 707fcedcf..669521a8a 100644
--- a/src/jmapNew/config/skinCode/fuzhou_01.js
+++ b/src/jmapNew/config/skinCode/fuzhou_01.js
@@ -228,7 +228,8 @@ class SkinCode extends defaultStyle {
z:0,
position: 1, // 扣车标识在站台上显示方向
text: 'H', // 扣车显示内容
- offset: {x: -8, y: 25}, // 扣车偏移量
+ insideOffset: {x: -8, y: 25}, // 内站台扣车偏移量
+ outsideOffset: {x: -8, y: 25}, // 外站台扣车偏移量
centerTrainColor: '#FFFFFF', // 中心扣车颜色
andCenterTrainColor: '#F61107', // 车站+中心扣车颜色
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
diff --git a/src/jmapNew/config/skinCode/haerbin_01.js b/src/jmapNew/config/skinCode/haerbin_01.js
index deeef91c9..58921660f 100644
--- a/src/jmapNew/config/skinCode/haerbin_01.js
+++ b/src/jmapNew/config/skinCode/haerbin_01.js
@@ -216,7 +216,7 @@ class SkinCode extends defaultStyle {
this[deviceType.StationStand] = {
// 哈尔滨一号线站台元素 站台 站台紧急关闭 扣车元素 停站时间 运行等级 跳停
- elemnetType:['gapStand', 'emergentArrow', 'detainNormal', 'level', 'jump', 'trainStop', 'trainDepart'],
+ elemnetType:['gapStand', 'emergentArrow', 'detainNormal', 'level', 'jump', 'trainStop', 'trainDepart', 'trainSetButton'],
// 站台
gapStand:{
// 层级
@@ -245,7 +245,8 @@ class SkinCode extends defaultStyle {
z:0,
position: 1, // 扣车标识在站台上显示方向
text: 'H', // 扣车显示内容
- offset: { x: 60, y: -18 }, // 扣车偏移量
+ insideOffset: { x: 60, y: -18 }, // 内站台扣车偏移量
+ outsideOffset: { x: 60, y: 25 }, // 外站台扣车偏移量
centerTrainColor: '#F61107', // 中心扣车颜色
andCenterTrainColor: '#F61107', // 车站+中心扣车颜色
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
@@ -288,8 +289,16 @@ class SkinCode extends defaultStyle {
textBorderColor: '#00FF00', // 文字边框颜色
fontSize: 10 // 字体大小
},
+ // 站台 扣车/取消扣车,越站/取消越站 设置按钮
+ trainSetButton:{
+ z:1,
+ offset: { x: 80, y:10}, // 按钮偏移
+ textFontSize: 13, // 按钮字体大小
+ textColor:'#00FF00'
+ },
common: { // 通用属性
+ bgShow: true, // 是否被选中
textFontSize: 11, // 站台默认字体大小
functionButtonShow: '03' // 功能灯按钮显示条件(01所有模式下显示 02 行调显示 03现地显示)
},
diff --git a/src/jmapNew/config/skinCode/ningbo_01.js b/src/jmapNew/config/skinCode/ningbo_01.js
index 545004532..4f4dfccaf 100644
--- a/src/jmapNew/config/skinCode/ningbo_01.js
+++ b/src/jmapNew/config/skinCode/ningbo_01.js
@@ -354,7 +354,8 @@ class SkinCode extends defaultStyle {
z:0,
position: 1, // 扣车标识在站台上显示方向
text: 'H', // 扣车显示内容
- offset: { x: -8, y: 10 }, // 扣车偏移量
+ insideOffset: { x: -8, y: 10 }, // 内站台扣车偏移量
+ outsideOffset: { x: -8, y: 10 }, // 外站台扣车偏移量
centerTrainColor: 'white', // 中心扣车颜色
andCenterTrainColor: 'red', // 车站+中心扣车颜色
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
diff --git a/src/jmapNew/config/skinCode/race_01.js b/src/jmapNew/config/skinCode/race_01.js
index 21919afe6..8d8c4f0cd 100644
--- a/src/jmapNew/config/skinCode/race_01.js
+++ b/src/jmapNew/config/skinCode/race_01.js
@@ -337,7 +337,8 @@ class SkinCode extends defaultStyle {
z:0,
position: -1, // 扣车标识在站台上显示方向
text: 'H', // 扣车显示内容
- offset: { x: -8, y: 13 }, // 扣车偏移量
+ insideOffset: { x: -8, y: 13 }, // 内站台扣车偏移量
+ outsideOffset: { x: -8, y: 13 }, // 外站台扣车偏移量
centerTrainColor: '#00FF00', // 中心扣车颜色
andCenterTrainColor: '#00FF00', // 车站+中心扣车颜色
detainTrainTextColor: '#00FF00', // 车站扣车文字颜色
@@ -658,7 +659,7 @@ class SkinCode extends defaultStyle {
], // 特殊列车类型需设置显示格式
lrPadding: 4, // 两边间隔
upPadding: 4, // 上边距离
- trainBodyFillColor: 'rgba(0,0,0,0)', // 列车车身填充颜色
+ trainBodyFillColor: '#000', // 列车车身填充颜色
trainNameFormat: 'serviceNumber:tripNumber', // 列车显示格式
trainSidelineColor:'#A5A5A5' // 列车边框颜色
},
diff --git a/src/jmapNew/config/skinCode/xian_01.js b/src/jmapNew/config/skinCode/xian_01.js
index 39f4aa916..dedc4203f 100644
--- a/src/jmapNew/config/skinCode/xian_01.js
+++ b/src/jmapNew/config/skinCode/xian_01.js
@@ -237,7 +237,8 @@ class SkinCode extends defaultStyle {
z:0,
position: 1, // 扣车标识在站台上显示方向
text: 'H', // 扣车显示内容
- offset: {x: -8, y: -6}, // 扣车偏移量
+ insideOffset: {x: -8, y: -6}, // 内站台扣车偏移量
+ outsideOffset: {x: -8, y: 16}, // 外站台扣车偏移量
trainColor: '#E4EF50', // 车站扣车颜色
centerTrainColor: '#FFFFFF', // 中心扣车颜色
andCenterTrainColor: '#F61107', // 车站+中心扣车颜色
diff --git a/src/jmapNew/shape/StationStand/ETrainSetButton.js b/src/jmapNew/shape/StationStand/ETrainSetButton.js
new file mode 100644
index 000000000..5e874dff2
--- /dev/null
+++ b/src/jmapNew/shape/StationStand/ETrainSetButton.js
@@ -0,0 +1,54 @@
+import Group from 'zrender/src/container/Group';
+import Text from 'zrender/src/graphic/Text';
+
+class ETime extends Group {
+ constructor(model) {
+ super();
+ this.model = model;
+ this.create();
+ }
+
+ create() {
+ const model = this.model.modelData;
+ const style = this.model.style;
+
+ const buttonD = model.right ? 1 : -1;
+ const buttonX = model.position.x - buttonD * (style.StationStand.trainSetButton.offset.x - model.width / 2);
+ const buttonY = model.position.y + buttonD * (style.StationStand.trainSetButton.offset.y - model.height / 2);
+
+ this.trainSetButton = new Text({
+ zlevel: this.model.zlevel,
+ z: this.model.z,
+ position: [0, 0],
+ _subType: 'trainSetButton',
+ style: {
+ x: buttonX,
+ y: buttonY,
+ fontWeight: style.textStyle.fontWeight,
+ fontSize: style.StationStand.trainSetButton.textFontSize,
+ fontFamily: style.fontFamily,
+ text: 'E',
+ textFill: style.StationStand.trainSetButton.textColor,
+ textAlign: style.textStyle.textAlign,
+ textVerticalAlign: style.textStyle.textVerticalAlign
+ }
+ });
+ this.add(this.trainSetButton);
+ }
+
+ hideMode() {
+ this.trainSetButton && this.trainSetButton.hide();
+ }
+
+ showMode() {
+ this.trainSetButton && this.trainSetButton.show();
+ }
+
+ recover() {
+ }
+
+ setState(model) {
+ }
+}
+
+export default ETime;
diff --git a/src/jmapNew/shape/StationStand/detain/EDetain.js b/src/jmapNew/shape/StationStand/detain/EDetain.js
index 9e152d560..8fcf623ef 100644
--- a/src/jmapNew/shape/StationStand/detain/EDetain.js
+++ b/src/jmapNew/shape/StationStand/detain/EDetain.js
@@ -16,9 +16,10 @@ class EDetain extends Group {
this.isNew = true;
/** 站台扣车*/
+ const detainOffset = model.inside ? deviceParam.insideOffset : deviceParam.outsideOffset;
const detainD = model.right ? 1 : -1;
- const detainX = model.position.x - detainD * (deviceParam.offset.x - model.width / 2);
- const detainY = model.position.y + detainD * (deviceParam.offset.y - model.height / 2);
+ const detainX = model.position.x - detainD * (detainOffset.x - model.width / 2);
+ const detainY = model.position.y + detainD * (detainOffset.y - model.height / 2);
this.detain = new Text({
zlevel: this.model.zlevel,
diff --git a/src/jmapNew/shape/StationStand/detain/EDetainHollow.js b/src/jmapNew/shape/StationStand/detain/EDetainHollow.js
index e23a9bc8a..2617a3a85 100644
--- a/src/jmapNew/shape/StationStand/detain/EDetainHollow.js
+++ b/src/jmapNew/shape/StationStand/detain/EDetainHollow.js
@@ -12,9 +12,10 @@ class EDetainHollow extends EDetain {
const model = this.model.modelData;
const style = this.model.style;
/** 站台扣车*/
+ const detainOffset = model.inside ? style.StationStand.detainHollow.insideOffset : style.StationStand.detainHollow.outsideOffset;
const detainD = model.right ? 1 : -1;
- const detainX = model.position.x - detainD * (style.StationStand.detainHollow.offset.x - model.width / 2);
- const detainY = model.position.y + detainD * (style.StationStand.detainHollow.offset.y - model.height / 2);
+ const detainX = model.position.x - detainD * (detainOffset.x - model.width / 2);
+ const detainY = model.position.y + detainD * (detainOffset.y - model.height / 2);
if (!this.isNew) {
super.create(style.StationStand.detainHollow);
const offsetX = model.right ? 8 : -8;
diff --git a/src/jmapNew/shape/StationStand/index.js b/src/jmapNew/shape/StationStand/index.js
index 8f92346e6..540cdfc97 100644
--- a/src/jmapNew/shape/StationStand/index.js
+++ b/src/jmapNew/shape/StationStand/index.js
@@ -33,6 +33,8 @@ import ECancelStopJumpLamp from './functionButton/ECancelStopJumpLamp';
import EUpDetainLamp from './functionButton/EUpDetainLamp';
import EDownDetainLamp from './functionButton/EDownDetainLamp';
+import ETrainSetButton from './ETrainSetButton';
+
import {isShowThePrdType} from '../../utils/handlePath';
import {traverseLineElements, traverseStatusElements} from '../utils/ShapeStatusCovert';
@@ -85,7 +87,8 @@ class StationStand extends Group {
'reentry':EReentry, // 站台折返策略
'trainStop':ETrainStop, // 列车停车点标识 哈尔滨一号线
- 'trainDepart':ETrainDepart// 列车停站时间 哈尔滨一号线
+ 'trainDepart':ETrainDepart, // 列车停站时间 哈尔滨一号线
+ 'trainSetButton':ETrainSetButton // 站台 扣车/取消扣车,越站/取消越站 设置按钮 哈尔滨一号线
};
// 遍历当前线路下的绘图元素 组合模式
traverseLineElements(style.StationStand, elementTypeList, model, style, this);
@@ -117,6 +120,10 @@ class StationStand extends Group {
this.on('mouseout', (e) => { this.mouseEvent.mouseout(e); });
this.on('mouseover', (e) => { this.mouseEvent.mouseover(e); });
}
+ if (this.style.StationStand.common.bgShow) {
+ this.highlight = new EHighlight(this);
+ this.add(this.highlight);
+ }
}
}
@@ -180,6 +187,10 @@ class StationStand extends Group {
rect = this.downDetainLamp.getBoundingRect();
break;
}
+ case 'trainSetButton': {
+ rect = this.trainSetButton.getBoundingRect();
+ break;
+ }
default: {
rect = this.getBoundingRect();
break;
diff --git a/src/jmapNew/theme/foshan_01/planConvert.js b/src/jmapNew/theme/foshan_01/planConvert.js
index 2d381de1f..4362d2c07 100644
--- a/src/jmapNew/theme/foshan_01/planConvert.js
+++ b/src/jmapNew/theme/foshan_01/planConvert.js
@@ -1,5 +1,5 @@
import { createMartPointReverse, createSeriesModel, createMarkLineModels, hexColor, convertSheetToList, prefixTime } from '@/utils/runPlan';
-
+import store from '@/store/index_APP_TARGET';
export default {
/** 边缘高度*/
EdgeHeight: 600,
@@ -110,7 +110,11 @@ export default {
// pointdata.name = `${service.serviceNumber}${train.directionCode}${train.tripNumber}`;
pointdata.name = `${service.serviceNumber}${train.tripNumber}`;
pointdata.color = '#000' || lineStyle.color;
- pointdata.directionCode = train.directionCode;
+ // pointdata.directionCode = train.directionCode;
+ pointdata.directionCode = train.right ? '2' : '1';
+ if (!store.state.map.mapConfig.upRight) {
+ pointdata.directionCode = train.right ? '1' : '2';
+ }
pointdata.coord = [train.stationTimeList[1].secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, train.stationTimeList[1], train.directionCode, false)];
/** 给服务对象添加服务名称和标记点*/
@@ -203,8 +207,12 @@ export default {
if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) {
const result = serie.markPoint.data.some(ele => ele.name == `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`);
if (!result) {
+ let directionCode = elem.right ? '2' : '1';
+ if (!store.state.map.mapConfig.upRight) {
+ directionCode = elem.right ? '1' : '2';
+ }
serie.markPoint.data.push(createMartPointReverse({
- directionCode: elem.directionCode,
+ directionCode: directionCode,
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`,
color: lineStyle.color || '#000'
diff --git a/src/jmapNew/theme/fuzhou_01/planConvert.js b/src/jmapNew/theme/fuzhou_01/planConvert.js
index 0163d7a31..b9e9580e6 100644
--- a/src/jmapNew/theme/fuzhou_01/planConvert.js
+++ b/src/jmapNew/theme/fuzhou_01/planConvert.js
@@ -1,5 +1,5 @@
import { createMartPoint, createSeriesModel, createMarkLineModels, hexColor, prefixTime, convertSheetToList } from '@/utils/runPlan';
-
+import store from '@/store/index_APP_TARGET';
export default {
/** 边缘高度*/
EdgeHeight: 3,
@@ -297,7 +297,11 @@ export default {
// pointdata.name = `${service.serviceNumber}${train.directionCode}${train.tripNumber}`;
pointdata.name = `${service.serviceNumber}${train.tripNumber}`;
pointdata.color = '#000' || lineStyle.color;
- pointdata.directionCode = train.directionCode;
+ // pointdata.directionCode = train.directionCode;
+ pointdata.directionCode = train.right ? '2' : '1';
+ if (!store.state.map.mapConfig.upRight) {
+ pointdata.directionCode = train.right ? '1' : '2';
+ }
pointdata.coord = [train.stationTimeList[0].secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, train.stationTimeList[0], train.directionCode, false)];
/** 给服务对象添加服务名称和标记点*/
@@ -388,8 +392,12 @@ export default {
if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) {
const result = serie.markPoint.data.some(ele => ele.name == `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`);
if (!result) {
+ let directionCode = elem.right ? '2' : '1';
+ if (!store.state.map.mapConfig.upRight) {
+ directionCode = elem.right ? '1' : '2';
+ }
serie.markPoint.data.push(createMartPoint({
- directionCode: elem.directionCode,
+ directionCode: directionCode,
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem)],
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`,
color: lineStyle.color || '#000'
diff --git a/src/jmapNew/theme/haerbin_01/menus/menuButton.vue b/src/jmapNew/theme/haerbin_01/menus/menuButton.vue
index 4c499bd83..a5966787d 100644
--- a/src/jmapNew/theme/haerbin_01/menus/menuButton.vue
+++ b/src/jmapNew/theme/haerbin_01/menus/menuButton.vue
@@ -126,7 +126,8 @@ export default {
this.canCommand = true;
const step = {
operation: 'click',
- code: this.selectedObj.code
+ code: this.selectedObj.code,
+ subType:this.$store.state.menuOperation.subType
};
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
if (valid) {
@@ -152,7 +153,9 @@ export default {
this.oldDevice = this.selectedObj;
break;
case 'StationStand':
- this.handleStandMenu();
+ if (this.$store.state.menuOperation.subType == 'trainSetButton') {
+ this.handleStandMenu();
+ }
break;
case 'DirectionRod':
this.handleDirectionRodMenu();
@@ -432,10 +435,16 @@ export default {
},
handleStandMenu() {
this.clearAllMenuShow();
+ if (this.$store.state.training.prdType === '02') {
+ this.deviceHighLight(this.oldDevice, false);
+ this.deviceHighLight(this.selectedObj, true);
+ this.oldDevice = this.selectedObj;
+ }
this.centralizedStationList = new Array(15).fill({});
this.standParamList.forEach((stand, index) => {
this.centralizedStationList[index] = stand;
});
+
this.tempData = [];
const data = Object.assign(this.selectedObj);
const station = this.$store.getters['map/getDeviceByCode'](this.selectedObj.stationCode);
diff --git a/src/jmapNew/theme/haerbin_01/operationConfig.js b/src/jmapNew/theme/haerbin_01/operationConfig.js
index cd02cf65a..f2894207f 100644
--- a/src/jmapNew/theme/haerbin_01/operationConfig.js
+++ b/src/jmapNew/theme/haerbin_01/operationConfig.js
@@ -876,7 +876,8 @@ export default {
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
- { deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该站台' },
+ // { deviceType: '04', orderNum: 1, tip: '鼠标左键点击选择该站台' },
+ { deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该站台', subType:'trainSetButton'},
{ deviceType: '04', orderNum: 2, operateCode: '5041', tip: '鼠标左键点击【扣车】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
@@ -891,7 +892,8 @@ export default {
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
- { deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该站台' },
+ // { deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该站台' },
+ { deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该站台', subType:'trainSetButton'},
{ deviceType: '04', orderNum: 2, operateCode: '5052', tip: '鼠标左键点击【取消扣车】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
@@ -906,7 +908,8 @@ export default {
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
- { deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该站台' },
+ // { deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该站台' },
+ { deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该站台', subType:'trainSetButton'},
{ deviceType: '04', orderNum: 2, operateCode: '5025', tip: '鼠标左键点击【越站】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
@@ -921,7 +924,8 @@ export default {
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
- { deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该站台' },
+ // { deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该站台' },
+ { deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该站台', subType:'trainSetButton'},
{ deviceType: '04', orderNum: 2, operateCode: '5035', tip: '鼠标左键点击【取消越站】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
diff --git a/src/jmapNew/theme/haerbin_01/planConvert.js b/src/jmapNew/theme/haerbin_01/planConvert.js
index be09d33f1..40ea90ee9 100644
--- a/src/jmapNew/theme/haerbin_01/planConvert.js
+++ b/src/jmapNew/theme/haerbin_01/planConvert.js
@@ -1,5 +1,5 @@
import { createMartPoint, createSeriesModel, createMarkLineModels, hexColor, prefixTime, convertSheetToList } from '@/utils/runPlan';
-
+import store from '@/store/index_APP_TARGET';
export default {
/** 边缘高度*/
EdgeHeight: 3,
@@ -168,6 +168,7 @@ export default {
var isBackup = true;
var opt = { name: '', markPointData: [], data: [] };
if (service.tripNumberDataList && service.tripNumberDataList.length) {
+ debugger;
service.tripNumberDataList.forEach((train, j) => {
var pointdata = {};
var idx = 0;
@@ -178,7 +179,10 @@ export default {
// pointdata.name = `${service.serviceNumber}${train.directionCode}${train.tripNumber}`;
pointdata.name = `${service.serviceNumber}${train.tripNumber}`;
pointdata.color = '#000' || lineStyle.color;
- pointdata.directionCode = train.directionCode;
+ pointdata.directionCode = train.right ? '2' : '1';
+ if (!store.state.map.mapConfig.upRight) {
+ pointdata.directionCode = train.right ? '1' : '2';
+ }
pointdata.coord = [train.stationTimeList[0].secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, train.stationTimeList[0], train.directionCode, false)];
/** 给服务对象添加服务名称和标记点*/
@@ -271,8 +275,12 @@ export default {
if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) {
const result = serie.markPoint.data.some(ele => ele.name == `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`);
if (!result) {
+ let directionCode = elem.right ? '2' : '1';
+ if (!store.state.map.mapConfig.upRight) {
+ directionCode = elem.right ? '1' : '2';
+ }
serie.markPoint.data.push(createMartPoint({
- directionCode: elem.directionCode,
+ directionCode: directionCode,
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem)],
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`,
color: lineStyle.color || '#000'
diff --git a/src/jmapNew/theme/ningbo_01/planConvert.js b/src/jmapNew/theme/ningbo_01/planConvert.js
index 5e73b8dc2..0a10d4565 100644
--- a/src/jmapNew/theme/ningbo_01/planConvert.js
+++ b/src/jmapNew/theme/ningbo_01/planConvert.js
@@ -1,5 +1,5 @@
import { createMartPoint, createSeriesModel, createMarkLineModels, hexColor, convertSheetToList, prefixTime } from '@/utils/runPlan';
-
+import store from '@/store/index_APP_TARGET';
export default {
/** 边缘高度*/
EdgeHeight: 600,
@@ -137,7 +137,11 @@ export default {
// pointdata.name = `${service.serviceNumber}${train.tripNumber}${train.destinationCode || ''}`;
pointdata.name = `${service.serviceNumber}${train.tripNumber}`;
pointdata.color = '#000' || lineStyle.color;
- pointdata.directionCode = train.directionCode;
+ // pointdata.directionCode = train.directionCode;
+ pointdata.directionCode = train.right ? '2' : '1';
+ if (!store.state.map.mapConfig.upRight) {
+ pointdata.directionCode = train.right ? '1' : '2';
+ }
pointdata.coord = [train.stationTimeList[1].secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, train.stationTimeList[1], train.directionCode, false)];
/** 给服务对象添加服务名称和标记点*/
@@ -230,8 +234,12 @@ export default {
if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) {
const result = serie.markPoint.data.some(ele => ele.name == `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`);
if (!result) {
+ let directionCode = elem.right ? '2' : '1';
+ if (!store.state.map.mapConfig.upRight) {
+ directionCode = elem.right ? '1' : '2';
+ }
serie.markPoint.data.push(createMartPoint({
- directionCode: elem.directionCode,
+ directionCode: directionCode,
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`,
color: lineStyle.color || '#000'
diff --git a/src/jmapNew/theme/race_01/menus/dialog/trainSetHead.vue b/src/jmapNew/theme/race_01/menus/dialog/trainSetHead.vue
index 2104b5fc2..fe8f7c0ca 100644
--- a/src/jmapNew/theme/race_01/menus/dialog/trainSetHead.vue
+++ b/src/jmapNew/theme/race_01/menus/dialog/trainSetHead.vue
@@ -12,14 +12,14 @@
>
车组号
- 服务号
+ 车次号
-
+
{{ messageTip1 }}
@@ -63,7 +63,7 @@ export default {
addModel: {
groupNumber: '',
destinationCode: '',
- serviceNumber: ''
+ tripNumber: ''
},
messageTip1:'',
messageTip2:'',
@@ -110,7 +110,7 @@ export default {
// 如果不是断点激活,则需要对初始值进行初始化
if (!this.dialogShow) {
this.addModel.groupNumber = selected.groupNumber;
- this.addModel.serviceNumber = selected.serviceNumber;
+ this.addModel.tripNumber = selected.tripNumber;
}
this.dialogShow = true;
this.$nextTick(function () {
@@ -125,8 +125,8 @@ export default {
mouseCancelState(this.selected);
},
commit() {
- if (!this.addModel.serviceNumber) {
- this.messageTip1 = '请输入服务号';
+ if (!this.addModel.tripNumber) {
+ this.messageTip1 = '请输入车次号';
return;
}
if (!this.addModel.destinationCode) {
@@ -137,7 +137,7 @@ export default {
const params = {
groupNumber: this.addModel.groupNumber,
destinationCode: this.addModel.destinationCode,
- serviceNumber: this.addModel.serviceNumber
+ tripNumber: this.addModel.tripNumber
};
this.messageTip1 = '';
this.messageTip2 = '';
diff --git a/src/jmapNew/theme/race_01/planConvert.js b/src/jmapNew/theme/race_01/planConvert.js
index 48b2e1f55..12786dd2c 100644
--- a/src/jmapNew/theme/race_01/planConvert.js
+++ b/src/jmapNew/theme/race_01/planConvert.js
@@ -1,5 +1,5 @@
import { createMartPoint, createSeriesModel, createMarkLineModels, hexColor, convertSheetToList } from '@/utils/runPlan';
-
+import store from '@/store/index_APP_TARGET';
export default {
/** 边缘高度*/
EdgeHeight: 600,
@@ -113,7 +113,10 @@ export default {
// pointdata.name = `${service.serviceNumber}${train.directionCode}${train.tripNumber}`;
pointdata.name = `${service.serviceNumber}${train.tripNumber}`;
pointdata.color = '#000' || lineStyle.color;
- pointdata.directionCode = train.directionCode;
+ pointdata.directionCode = train.right ? '2' : '1';
+ if (!store.state.map.mapConfig.upRight) {
+ pointdata.directionCode = train.right ? '1' : '2';
+ }
pointdata.coord = [train.stationTimeList[1].secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, train.stationTimeList[1], train.right, false)];
/** 给服务对象添加服务名称和标记点*/
@@ -211,8 +214,13 @@ export default {
if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) {
const result = serie.markPoint.data.some(ele => ele.name == `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`);
if (!result) {
+ let directionCode = elem.right ? '2' : '1';
+ if (!store.state.map.mapConfig.upRight) {
+ directionCode = elem.right ? '1' : '2';
+ }
+ // console.log(elem.right, 'elem.right');
serie.markPoint.data.push(createMartPoint({
- directionCode: elem.directionCode,
+ directionCode: directionCode,
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`,
color: lineStyle.color || '#000'
diff --git a/src/jmapNew/theme/xian_01/planConvert.js b/src/jmapNew/theme/xian_01/planConvert.js
index 1cf586631..c535838a3 100644
--- a/src/jmapNew/theme/xian_01/planConvert.js
+++ b/src/jmapNew/theme/xian_01/planConvert.js
@@ -1,5 +1,5 @@
import { createMartPoint, createSeriesModel, createMarkLineModels, hexColor, convertSheetToList, prefixTime } from '@/utils/runPlan';
-
+import store from '@/store/index_APP_TARGET';
export default {
/** 边缘高度*/
EdgeHeight: 600,
@@ -123,7 +123,11 @@ export default {
// pointdata.name = `${service.serviceNumber}${train.directionCode}${train.tripNumber}`;
pointdata.name = `${service.serviceNumber}${train.tripNumber}`;
pointdata.color = '#000' || lineStyle.color;
- pointdata.directionCode = train.directionCode;
+ // pointdata.directionCode = train.directionCode;
+ pointdata.directionCode = train.right ? '2' : '1';
+ if (!store.state.map.mapConfig.upRight) {
+ pointdata.directionCode = train.right ? '1' : '2';
+ }
pointdata.coord = [train.stationTimeList[1].secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, train.stationTimeList[1], train.directionCode, false)];
/** 给服务对象添加服务名称和标记点*/
@@ -221,8 +225,12 @@ export default {
if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) {
const result = serie.markPoint.data.some(ele => ele.name == `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`);
if (!result) {
+ let directionCode = elem.right ? '2' : '1';
+ if (!store.state.map.mapConfig.upRight) {
+ directionCode = elem.right ? '1' : '2';
+ }
serie.markPoint.data.push(createMartPoint({
- directionCode: elem.directionCode,
+ directionCode: directionCode,
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`,
color: lineStyle.color || '#000'
diff --git a/src/jmapNew/theme/xian_02/planConvert.js b/src/jmapNew/theme/xian_02/planConvert.js
index 2bce84025..526870390 100644
--- a/src/jmapNew/theme/xian_02/planConvert.js
+++ b/src/jmapNew/theme/xian_02/planConvert.js
@@ -1,4 +1,5 @@
import { createMartPoint, createSeriesModel, createMarkLineModels, hexColor, convertSheetToList } from '@/utils/runPlan';
+import store from '@/store/index_APP_TARGET';
const StationMap = {
YARD1: '潏河停车场',
YARD2: '潏河停车场',
@@ -176,7 +177,11 @@ export default {
/** 创建标记点名称和坐标*/
pointdata.name = `${service.serviceNumber}${train.tripNumber}`;
pointdata.color = '#000' || lineStyle.color;
- pointdata.directionCode = train.directionCode;
+ // pointdata.directionCode = train.directionCode;
+ pointdata.directionCode = train.right ? '2' : '1';
+ if (!store.state.map.mapConfig.upRight) {
+ pointdata.directionCode = train.right ? '1' : '2';
+ }
pointdata.coord = [train.stationTimeList[1].secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, train.stationTimeList[1], train.directionCode, false)];
/** 给服务对象添加服务名称和标记点*/
@@ -275,8 +280,12 @@ export default {
if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) {
const result = serie.markPoint.data.some(ele => ele.name == `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`);
if (!result) {
+ let directionCode = elem.right ? '2' : '1';
+ if (!store.state.map.mapConfig.upRight) {
+ directionCode = elem.right ? '1' : '2';
+ }
serie.markPoint.data.push(createMartPoint({
- directionCode: elem.directionCode,
+ directionCode: directionCode,
coord: [parseInt(time), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`,
color: lineStyle.color || '#000'
diff --git a/src/scripts/ConstConfig.js b/src/scripts/ConstConfig.js
index 97e7798bc..c76ef2c24 100644
--- a/src/scripts/ConstConfig.js
+++ b/src/scripts/ConstConfig.js
@@ -97,7 +97,8 @@ export default {
{label: '车辆段调度', value: 'DEPOT_DISPATCHER', enLabel: 'Depot dispatcher '},
{label: '电力调度', value: 'ELECTRIC_DISPATCHER', enLabel: 'Electric dispatcher'},
{label: '行调', value: 'DISPATCHER', enLabel: 'Dispatcher '},
- {label: '上级部门', value: 'PARENT_DEPARTMENT', enLabel: 'Parent department'}
+ {label: '上级部门', value: 'PARENT_DEPARTMENT', enLabel: 'Parent department'},
+ {label: '停车场信号楼', value: 'PARKING_LOT_SIGNAL_BUILDING', enLabel: 'Parking Signal Building'}
],
SimulationType: [
@@ -212,7 +213,8 @@ export default {
ControlConvertMenu: {enlabel: 'Control mode training', label:'控制模式实训'},
LimitControl: {enlabel: 'Control mode limit', label:'全线限速实训'},
TrainWindow: {enlabel: 'TrainWindow training', label:'车次窗实训'},
- Driver:{enlabel: 'Driver training', label:'司机实训'}
+ Driver:{enlabel: 'Driver training', label:'司机实训'},
+ DirectionRod:{enlabel: 'Direction rod training', label:'方向杆实训'}
},
interfaceErrorConfig: {
'500000': { type: '权限错误:', message: '您尚未有该操作权限!'},
diff --git a/src/scripts/cmdPlugin/ValidateHandler.js b/src/scripts/cmdPlugin/ValidateHandler.js
index 02be8563d..87706d888 100644
--- a/src/scripts/cmdPlugin/ValidateHandler.js
+++ b/src/scripts/cmdPlugin/ValidateHandler.js
@@ -57,7 +57,8 @@ class ValidateHandler {
if (operate && standard &&
operate.code == standard.code &&
operate.operation == standard.operation &&
- operate.val == standard.val) {
+ operate.val == standard.val &&
+ (!standard.subType || standard.subType && operate.subType == standard.subType) ) {
valid = true;
}
}
diff --git a/src/store/modules/socket.js b/src/store/modules/socket.js
index b659b9c13..cbf64cbaf 100644
--- a/src/store/modules/socket.js
+++ b/src/store/modules/socket.js
@@ -141,6 +141,13 @@ function handle(state, data) {
case 'Simulation_Alarm':
state.simulationAlarmInfo = msg;
break;
+ case 'Simulation_Scenes_Reload':
+ if (msg) {
+ store.dispatch('training/start');
+ } else {
+ store.dispatch('training/over');
+ }
+ break;
}
}
diff --git a/src/utils/runPlan.js b/src/utils/runPlan.js
index a3e0f9b80..4626244e5 100644
--- a/src/utils/runPlan.js
+++ b/src/utils/runPlan.js
@@ -22,6 +22,7 @@ export function createMartPoint(opt) {
/** 创建一个车次数据点*/
export function createMartPointReverse(opt) {
+ debugger;
const rotate = opt.directionCode == '1' ? 45 : (opt.directionCode == '2' ? -45 : 0);
const position = opt.type ? 'insideBottomLeft' : 'insideTopLeft';
return {
@@ -69,8 +70,8 @@ export function createMarkLineModels(stations, computedYaxis) {
markLineModel.markLine.silent = true;
markLineModel.markLine.data = [];
markLineModel.markLine.lineStyle = { color: '#B0C4DE', width: 0.5 };
- markLineModel.markLine.symbol = 'none';
- markLineModel.elements = []
+ markLineModel.markLine.symbol = 'none';
+ markLineModel.elements = [];
stations.forEach((elem, index) => {
markLineModel.markLine.data.push(
{
diff --git a/src/views/newMap/chatView/chatBox.vue b/src/views/newMap/chatView/chatBox.vue
index e792a0945..b4e84590a 100644
--- a/src/views/newMap/chatView/chatBox.vue
+++ b/src/views/newMap/chatView/chatBox.vue
@@ -88,6 +88,8 @@
+
+
@@ -138,6 +140,7 @@
+
@@ -149,7 +152,7 @@ import ChatSetting from './chatSetting';
import ChatContent from './chatContent';
import ChatMemberList from './chatMemberList';
import RecordRTC from 'recordrtc';
-import {sendSimulationConversition, startConversition, overSimulationConversition, getAllConversition, acceptConversitionInvite} from '@/api/chat';
+import {sendSimulationConversition, startConversition, overSimulationConversition, getAllConversition, acceptConversitionInvite, sendConversationText} from '@/api/chat';
import { getSessionStorage } from '@/utils/auth';
export default {
name: 'ChatBox',
@@ -166,6 +169,10 @@ export default {
userRole: {
type: String,
required: true
+ },
+ isReplaceBg: {
+ type: Boolean,
+ default: false
}
},
data() {
@@ -205,24 +212,30 @@ export default {
commonMessageList: [],
conversitionStateMap:{},
myMemberId: '',
- audioPlay:false
+ audioPlay:false,
+ textContent: ''
};
},
computed:{
isButtonShow() {
return this.userRole != 'AUDIENCE';
},
+ contentSend() {
+ return !this.textContent;
+ },
project() {
return getSessionStorage('project');
},
IsAnswering() {
return !(this.$route.path.includes('refereeJsxtDisplay'));
},
+ maskShow() {
+ return this.isReplaceBg;
+ },
userId() {
return this.$store.state.user.id;
},
conversitionId() {
- // console.log(this.conversitionStateMap, this.myMemberId, this.conversitionStateMap[this.myMemberId], (this.conversitionStateMap[this.myMemberId] || {conversitionId:''}));
return (this.conversitionStateMap[this.myMemberId] || {conversitionId:''}).conversitionId;
},
connect() {
@@ -233,6 +246,9 @@ export default {
},
privateMessageList() {
return (this.conversitionStateMap[this.myMemberId] || {privateMessageList: []}).privateMessageList;
+ },
+ isRecord() {
+ return !!this.$route.query.record;
}
},
watch:{
@@ -310,9 +326,6 @@ export default {
if (activeTrainList.length <= 0) {
this.resetCoversition();
}
- // if (this.$refs.tree) {
- // this.$refs.tree.filter(this.queryMember);
- // }
},
'$store.state.training.simulationUserList': {
handler(val, o) {
@@ -363,6 +376,7 @@ export default {
const driverList = {};
const maintainerList = {};
const parentDepartmentList = {};
+ const parkingLotSignalBuilding = {};
val.forEach(item => {
const device = this.$store.getters['map/getDeviceByCode'](item.deviceCode);
this.memberData[item.id]['active'] = false;
@@ -399,13 +413,18 @@ export default {
case 'MAINTAINER':
this.memberData[item.id].label = '通号' + (item.name || '');
this.memberData[item.id].labelName = '通号' + (item.name || '');
- // this.memberData[item.id].label = item.name || '';
maintainerList[item.id] = this.memberData[item.id];
break;
case 'PARENT_DEPARTMENT':
this.memberData[item.id].label = '上级部门' + (item.name || '');
this.memberData[item.id].labelName = '上级部门' + (item.name || '');
parentDepartmentList[item.id] = this.memberData[item.id];
+ break;
+ case 'PARKING_LOT_SIGNAL_BUILDING':
+ this.memberData[item.id].label = '停车场信号楼' + (item.name || '');
+ this.memberData[item.id].labelName = '停车场信号楼' + (item.name || '');
+ parkingLotSignalBuilding[item.id] = this.memberData[item.id];
+ break;
}
});
// { label: '全部集中站', value: 'allConcentrateStation', active: false, sign: 'DEVICE_STATION' },
@@ -446,6 +465,11 @@ export default {
id: 'electricDispatcher',
type: 'role',
children: electricDispatcherList
+ }, {
+ label: '停车场信号楼',
+ id: 'parkingLotSignalBuilding',
+ type: 'role',
+ children: parkingLotSignalBuilding
}];
this.initCommonMemberList();
this.filterNode();
@@ -458,7 +482,10 @@ export default {
},
'$store.state.socket.simulationReset': function () { // 仿真重置
this.conversitionStateMap = {};
- document.querySelector('#teleName').classList.remove('flash');
+ const teleName = document.querySelector('#teleName');
+ if (teleName) {
+ teleName.classList.remove('flash');
+ }
document.querySelector('#teleRing').pause();
},
'$store.state.socket.acceptConversionInvite':function(val) {
@@ -478,6 +505,55 @@ export default {
},
'$store.state.scriptRecord.audioPlay':function(val) {
this.audioPlay = val;
+ },
+ '$store.state.scriptRecord.updateRoleId':function(val) {
+ // val
+ if (this.conversitionStateMap[val]) {
+ this.treeData.forEach(item => {
+ if (item.children) {
+ const memberList = Object.values(item.children);
+ memberList.forEach(data =>{
+ const member = this.conversitionStateMap[val];
+ // && privateMem.connect;
+ const memberInfo = member.privateMemberList.find(privateMem=>{ return privateMem.memberId == data.id; });
+ // member.connect
+ if (member && data.id != val && memberInfo) {
+ data.isConnect = true;
+ data.active = true;
+ this.connectSuccess = true;
+ } else {
+ data.active = false;
+ data.isConnect = false;
+ this.connectSuccess = false;
+ }
+ data.loading = false;
+ data.disabled = false;
+ data.isInviting = false;
+ });
+ }
+ });
+ if (!this.connect) {
+ this.memberIdList = [];
+ this.memberObject = '';
+ }
+ } else {
+ this.memberIdList = [];
+ this.memberObject = '';
+ this.connectSuccess = false;
+ this.treeData.forEach(item => {
+ if (item.children) {
+ const memberList = Object.values(item.children);
+ memberList.forEach(data =>{
+ data.active = false;
+ data.isConnect = false;
+ data.loading = false;
+ data.disabled = false;
+ data.isInviting = false;
+ });
+ }
+ });
+ }
+
}
},
beforeDestroy() {
@@ -696,9 +772,11 @@ export default {
fd.append('file', blob);
sendSimulationConversition(that.group, that.conversitionId, fd)
.then((data) => {
+ that.textContent = '';
})
.catch(error => {
console.log(error);
+ that.$message.error('语音发送失败: ' + error.message);
});
if (that.microphone) {
that.microphone.stop();
@@ -708,6 +786,13 @@ export default {
}
});
},
+ sendText() {
+ sendConversationText(this.group, this.conversitionId, {content: this.textContent}).then(resp => {
+ this.textContent = '';
+ }).catch(() => {
+ this.$message.error('发送会话文字失败');
+ });
+ },
handleSetting() {
this.$refs.chatSetting.doShow();
},
@@ -916,15 +1001,11 @@ export default {
},
changeMessageList(data) {
this.commonMessageList.push(data.message);
- // if (this.conversitionStateMap[data.message.memberId]) {
- // this.conversitionStateMap[data.message.memberId].privateMessageList.push(data.message);
- // }
if (this.conversitionStateMap[data.message.memberId]) {
(this.conversitionStateMap[data.message.memberId].privateMemberList || []).forEach(member => {
this.conversitionStateMap[member.memberId] && this.conversitionStateMap[member.memberId].privateMessageList.push(data.message);
});
}
- // console.log(this.commonConversation, this.conversitionId, data.id, this.myMemberId, this.conversitionId === data.id, this.conversitionStateMap, '/////////////////////////');
if (this.commonConversation) {
this.messageList.push(data.message);
} else if (!this.commonConversation && this.conversitionId === data.id) {
@@ -960,8 +1041,9 @@ export default {
resetCoversition() {
this.commonMessageList = [];
this.conversitionStateMap = {};
- this.messageList = this.commonMessageList;
+ this.messageList = [];
this.connectSuccess = false;
+ this.$store.dispatch('scriptRecord/updateAudioPlay', false);
this.treeData.forEach(item => {
if (item.children) {
const memberList = Object.values(item.children);
@@ -1249,6 +1331,27 @@ export default {
-webkit-animation: isInviting infinite 1s; /* Safari 和 Chrome */
-o-animation: isInviting infinite 1s; /* Opera */
}
+
+.mask {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ opacity: 0.7;
+ z-index: 2000;
+ &::before{
+ content: '';
+ position: absolute;
+ top:0;
+ right:0;
+ bottom:0;
+ left:0;
+ background: #aaa;
+ filter: blur(20px);
+ }
+}
+
#teleName{
background: #6BBE16;
position: absolute;
diff --git a/src/views/newMap/chatView/chatContent.vue b/src/views/newMap/chatView/chatContent.vue
index 6134057c4..93c57e983 100644
--- a/src/views/newMap/chatView/chatContent.vue
+++ b/src/views/newMap/chatView/chatContent.vue
@@ -96,7 +96,6 @@ export default {
this.isPlay = true;
this.$store.dispatch('scriptRecord/updateAudioPlay', true);
this.playAllAudio();
- //
}
}
this.scrollTop();
diff --git a/src/views/newMap/displayNew/dispatherContest/index.vue b/src/views/newMap/displayNew/dispatherContest/index.vue
index 525b333c6..83814e130 100644
--- a/src/views/newMap/displayNew/dispatherContest/index.vue
+++ b/src/views/newMap/displayNew/dispatherContest/index.vue
@@ -149,7 +149,6 @@ export default {
},
data() {
return {
- isDisable: false,
tryTime: 0, // 进入页面多少秒
timeNow: 0, // 进入页面 相对时间
time: null, // 定时器
@@ -198,6 +197,9 @@ export default {
},
scriptModeList() {
return ScriptMode;
+ },
+ isDisable() {
+ return this.$store.state.training.started;
}
},
watch: {
@@ -223,6 +225,9 @@ export default {
'$store.state.socket.simulationStart':function(val) {
if (val) {
this.setRuning(true);
+ this.$store.dispatch('training/simulationStart').then(() => {
+ this.$store.dispatch('map/setShowCentralizedStationNum');
+ });
}
},
'$store.state.socket.simulationReset':function(val) {
@@ -233,8 +238,6 @@ export default {
const initTime = new Date(this.$store.state.training.initTime || null);
const model = {initTime:this.formatTime(initTime)};
this.start(model);
- } else {
- this.isDisable = true;
}
}
},
@@ -283,9 +286,6 @@ export default {
const ss = prefixIntrger(initTime.getSeconds(), 2);
return `${hh}:${mm}:${ss}`;
},
- initPlannedDriving(isDisable) {
- this.isDisable = isDisable;
- },
loadInitData() {
const data = {
mapId: this.$route.query.mapId,
@@ -331,7 +331,6 @@ export default {
});
},
start(model) { // 开始仿真
- this.isDisable = true;
const data = {
time: model.initTime
};
@@ -339,12 +338,8 @@ export default {
data.loadNumber = model.loadNum;
}
ranAsPlan(data, this.group).then(res => {
- this.$store.dispatch('training/simulationStart').then(() => {
- this.$store.dispatch('training/setInitTime', +new Date(`${new Date().toLocaleDateString()} ${model.initTime}`));
- this.$store.dispatch('map/setShowCentralizedStationNum');
- });
+ this.$store.dispatch('training/setInitTime', +new Date(`${new Date().toLocaleDateString()} ${model.initTime}`));
}).catch(error => {
- this.isDisable = false;
if (error.code == '5001') {
this.$messageBox(this.$t('error.mapDataError') + ',' + this.$t('error.startSimulationFailed'));
} else if (error.code == '5002') {
@@ -375,7 +370,6 @@ export default {
this.$refs.demonMenu.hideScheduling(run);
},
end() {
- this.isDisable = false;
exitRunPlan(this.group).then(() => {
this.$store.dispatch('training/over').then(() => {
this.$store.dispatch('training/setMapDefaultState').then(() => {
@@ -385,7 +379,6 @@ export default {
});
});
}).catch(() => {
- this.isDisable = true;
this.$messageBox(this.$t('display.demon.endSimulationFail'));
});
},
@@ -517,16 +510,16 @@ export default {
}
});
if (currentPlayList.length > 0) {
- if (currentPlayList.length > 1) {
- this.currentPlayList = currentPlayList;
- this.$refs.selectRole.doShow();
- } else {
- const member = currentPlayList[0];
- const memberId = member.id;
- (this.$store.state.training.memberData[member.id] || {}).userId = this.$store.state.user.id;
- (this.$store.state.training.memberData[member.id] || {}).disabled = true;
- this.runScriptMode(memberId);
- }
+ // if (currentPlayList.length > 1) {
+ // this.currentPlayList = currentPlayList;
+ // this.$refs.selectRole.doShow();
+ // } else {
+ const member = currentPlayList[0];
+ const memberId = member.id;
+ (this.$store.state.training.memberData[member.id] || {}).userId = this.$store.state.user.id;
+ (this.$store.state.training.memberData[member.id] || {}).disabled = true;
+ this.runScriptMode(memberId);
+ // }
}
},
runScriptMode(memberId) {
diff --git a/src/views/newMap/displayNew/dispatherContest/sceneList.vue b/src/views/newMap/displayNew/dispatherContest/sceneList.vue
index 677990346..90a22551a 100644
--- a/src/views/newMap/displayNew/dispatherContest/sceneList.vue
+++ b/src/views/newMap/displayNew/dispatherContest/sceneList.vue
@@ -77,13 +77,16 @@ export default {
mounted() {
getCompetitionPracticalScene({pageSize:100, pageNum:1}).then(res=>{
if (res.data.list && res.data.list.length > 0) {
- res.data.list.forEach(each=>{
+ const list = res.data.list.sort((a, b) => {
+ return parseInt(a.name.replace('场景', '')) - parseInt(b.name.replace('场景', ''));
+ });
+ list.forEach(each=>{
if (each.name == '场景1' || each.name == '场景2' || each.name == '场景3' || each.name == '场景7') {
this.mainSceneData[1].result.push({id:each.id, name:each.name});
} else if (each.name == '场景4') {
this.mainSceneData[0].result.push({id:each.id, name:'场景4'});
- } else if (each.name == '场景5') {
- this.mainSceneData[4].result.push({id:each.id, name:'场景5'});
+ } else if (each.name == '场景5' || each.name == '场景11') {
+ this.mainSceneData[4].result.push({id:each.id, name:each.name});
} else if (each.name == '场景9') {
this.mainSceneData[6].result.push({id:each.id, name:'场景9'});
} else if (each.name == '场景8') {
@@ -174,6 +177,9 @@ export default {
member.label = '电力调度' + (member.name ? member.name : '');
break;
}
+ case 'PARKING_LOT_SIGNAL_BUILDING': {
+ member.label = '停车场信号楼' + (member.name ? member.name : '');
+ }
}
// if (member.type === 'DISPATCHER') {
// this.memberId = member.id;
diff --git a/src/views/newMap/displayNew/index.vue b/src/views/newMap/displayNew/index.vue
index 3c6b59f50..08283ca47 100644
--- a/src/views/newMap/displayNew/index.vue
+++ b/src/views/newMap/displayNew/index.vue
@@ -181,7 +181,7 @@ export default {
setCenter(code) {
this.$jlmap.setCenter(code);
},
- // 设置 各个按钮的定位
+ // 设置各个按钮的定位
setPosition() {
this.$nextTick(() => {
this.offset = 10;
@@ -233,11 +233,8 @@ export default {
this.$store.dispatch('training/setInitTime', +new Date(`${new Date().toLocaleDateString()} ${timeFormat(resp.data.systemTime)}`));
this.$store.dispatch('training/countTime');
this.planRunning = resp.data.planRunning;
-
- if (this.isDemon) {
- this.$refs.menuDemon.initPlannedDriving(this.planRunning); // 是否正在按计划行车
- } else if (this.isScript) {
- // this.$refs.menuScript.initPlannedDriving(resp.data.planRunning);
+ if (resp.data.planRunning) {
+ this.$store.commit('training/start');
}
} else if (resp && resp.code == 200 && resp.data && resp.data.dataError) {
this.dataError = true;
diff --git a/src/views/newMap/displayNew/menuDemon.vue b/src/views/newMap/displayNew/menuDemon.vue
index 3e957a275..b48b9eccf 100644
--- a/src/views/newMap/displayNew/menuDemon.vue
+++ b/src/views/newMap/displayNew/menuDemon.vue
@@ -98,7 +98,6 @@ export default {
},
data() {
return {
- isDisable: false,
tryTime: 0, // 进入页面多少秒
timeNow: 0, // 进入页面 相对时间
time: null, // 定时器
@@ -140,6 +139,9 @@ export default {
},
projectDevice() {
return this.$route.query.projectDevice;
+ },
+ isDisable() {
+ return this.$store.state.training.started;
}
},
watch: {
@@ -162,6 +164,9 @@ export default {
'$store.state.socket.simulationStart':function(val) {
if (val) {
this.setRuning(true);
+ this.$store.dispatch('training/simulationStart').then(() => {
+ this.$store.dispatch('map/setShowCentralizedStationNum');
+ });
}
},
'$store.state.socket.simulationReset':function(val) {
@@ -207,9 +212,6 @@ export default {
console.log(error);
}
},
- initPlannedDriving(isDisable) {
- this.isDisable = isDisable;
- },
loadInitData() {
const data = {
mapId: this.$route.query.mapId,
@@ -236,7 +238,6 @@ export default {
this.$refs.setTime.doShow();
},
start(model) { // 开始仿真
- this.isDisable = true;
const data = {
time: model.initTime
};
@@ -244,12 +245,8 @@ export default {
data.loadNumber = model.loadNum;
}
ranAsPlan(data, this.group).then(res => {
- this.$store.dispatch('training/simulationStart').then(() => {
- this.$store.dispatch('training/setInitTime', +new Date(`${new Date().toLocaleDateString()} ${model.initTime}`));
- this.$store.dispatch('map/setShowCentralizedStationNum');
- });
+ this.$store.dispatch('training/setInitTime', +new Date(`${new Date().toLocaleDateString()} ${model.initTime}`));
}).catch(error => {
- this.isDisable = false;
if (error.code == '5001') {
this.$messageBox(this.$t('error.mapDataError') + ',' + this.$t('error.startSimulationFailed'));
} else if (error.code == '5002') {
@@ -280,7 +277,6 @@ export default {
this.$refs.demonMenu.hideScheduling(run);
},
end() {
- this.isDisable = false;
exitRunPlan(this.group).then(() => {
this.$store.dispatch('training/over').then(() => {
this.$store.dispatch('training/setMapDefaultState').then(() => {
@@ -290,14 +286,12 @@ export default {
});
});
}).catch(() => {
- this.isDisable = true;
this.$messageBox(this.$t('display.demon.endSimulationFail'));
});
},
handleQuitQuest() {
quitScriptNew(this.group).then(resp => {
getSimulationInfoNew(this.group).then((res)=>{
- this.isDisable = false;
EventBus.$emit('clearRunSeries');
this.quitQuest();
this.initLoadPage();
diff --git a/src/views/newMap/displayNew/scriptDisplay/component/covertOperation.js b/src/views/newMap/displayNew/scriptDisplay/component/covertOperation.js
index 84c4c0ef3..58ce5f82a 100644
--- a/src/views/newMap/displayNew/scriptDisplay/component/covertOperation.js
+++ b/src/views/newMap/displayNew/scriptDisplay/component/covertOperation.js
@@ -51,6 +51,24 @@ export const operateEnum = {
Section_Set_Limit_Speed:{
code:'speedLimitValue',
name:'限速值为'
+ },
+ Train_Load_Spare_Train:{
+ isList:true,
+ params:[
+ {
+ code:'groupNumber',
+ name:'车组号'
+ },
+ {
+ code:'right',
+ name:'方向',
+ function:judgeUpDown
+ // result:[
+ // {data:true, name:'右行', judge:'='},
+ // {data:false, name:'左行', judge:'='}
+ // ]
+ }
+ ]
}
// Section_Cancel_Limit_Speed:{
// code:'speedLimitValue',
@@ -188,8 +206,8 @@ export const operateEnum = {
isList:true,
params:[
{
- code:'serviceNumber',
- name:'服务号'
+ code:'tripNumber',
+ name:'车次号'
},
{
code:'destinationCode',
@@ -209,7 +227,11 @@ export function covertOperate(operationType, operationParamMap) {
const station = store.getters['map/getDeviceByCode'](device.stationCode);
deviceName += '【车站-' + station.name + '】 / ' + deviceType[device._type] + device.name;
} else {
- deviceName = '' + device.name;
+ if (device._type == 'Power') {
+ deviceName = '供电线(' + device.code + ')';
+ } else {
+ deviceName = '' + device.name;
+ }
}
let tip = '请找到' + deviceName + ',';
if (operationType == 'Set_Fault') {
@@ -230,6 +252,9 @@ export function covertOperate(operationType, operationParamMap) {
if (device == 'CM') {
device = 'ControlConvertMenu';
}
+ if (operationType == 'Train_Load_Spare_Train') {
+ device = 'Section';
+ }
const list = ['Train_Update_Type',
'Train_Add_Train_Trace',
'Train_Remove_Train_Trace',
@@ -359,7 +384,11 @@ function covertOperation(deviceType, operationParamMap, operationType) {
}
});
} else {
- paramName += ',值为' + data;
+ if (param.function) {
+ paramName += covertFunction(param.function, data);
+ } else {
+ paramName += ',值为' + data;
+ }
}
if (index != params.length - 1) {
@@ -399,3 +428,11 @@ function getStationResultById(stationResult) {
return station.name + ' ' + param;
}
+function judgeUpDown(right) {
+ if (store.state.map.mapConfig.upRight) {
+ return right ? '上行' : '下行';
+ } else {
+ return right ? '下行' : '上行';
+ }
+}
+
diff --git a/src/views/newMap/displayNew/scriptDisplay/component/scriptTip.vue b/src/views/newMap/displayNew/scriptDisplay/component/scriptTip.vue
index fa2dceb35..ace5b1c54 100644
--- a/src/views/newMap/displayNew/scriptDisplay/component/scriptTip.vue
+++ b/src/views/newMap/displayNew/scriptDisplay/component/scriptTip.vue
@@ -119,7 +119,8 @@ export default {
transform: translateX(-50%);
color: #000;
line-height: 180%;
- z-index: 1501;
+ // z-index: 1501;
+ z-index: 15;
font-size: 14px;
}
diff --git a/src/views/newMap/displayNew/scriptDisplay/scriptPreview/scriptButtonGroup.vue b/src/views/newMap/displayNew/scriptDisplay/scriptPreview/scriptButtonGroup.vue
index 8e0669a54..90068e9ad 100644
--- a/src/views/newMap/displayNew/scriptDisplay/scriptPreview/scriptButtonGroup.vue
+++ b/src/views/newMap/displayNew/scriptDisplay/scriptPreview/scriptButtonGroup.vue
@@ -228,6 +228,12 @@ export default {
id: 'electricDispatcher',
type: 'role',
children: result.deviceListData[6]
+ },
+ {
+ label: '停车场信号楼',
+ id: 'parkingLotSignalBuilding',
+ type: 'role',
+ children: result.deviceListData[7]
}];
const lastMemberList = result.lastMemberList;
this.$emit('setTreeData', treeData);
diff --git a/src/views/newMap/displayNew/scriptDisplay/scriptRecord/index.vue b/src/views/newMap/displayNew/scriptDisplay/scriptRecord/index.vue
index 733773e31..1492e9d72 100644
--- a/src/views/newMap/displayNew/scriptDisplay/scriptRecord/index.vue
+++ b/src/views/newMap/displayNew/scriptDisplay/scriptRecord/index.vue
@@ -2,9 +2,9 @@
- {{ $t('scriptRecord.drivingByPlan') }}
- 初始化
- {{ $t('scriptRecord.scriptBack') }}
+ {{ $t('scriptRecord.drivingByPlan') }}
+ 初始化
+ {{ $t('scriptRecord.scriptBack') }}
@@ -95,8 +98,8 @@ export default {
},
data() {
return {
- isDisable: false,
isScriptCommand:false,
+ isReplaceBg: false,
userRole:''
};
},
@@ -119,12 +122,20 @@ export default {
},
isStation() {
return this.$store.state.training.prdType == '01';
- }
+ },
+ isDisable() {
+ return this.$store.state.training.started;
+ }
},
watch: {
'$store.state.scriptRecord.bgSet':function (val) {
this.isScriptCommand = val;
},
+ '$store.state.socket.simulationStart': function(val) {
+ this.$store.dispatch('training/simulationStart').then(() => {
+ this.$store.dispatch('map/setShowCentralizedStationNum');
+ });
+ },
'$store.state.map.mapViewLoadedCount': function (val) { // 地图视图加载完成标识
getSimulationMemberList(this.group).then(resp => {
this.$store.dispatch('training/setMemberList', {memberList:resp.data, userId:this.$store.state.user.id});
@@ -133,7 +144,7 @@ export default {
return mem.userId != '' && mem.userId != undefined;
});
if (member) {
- const memberType = ['STATION_SUPERVISOR', 'DISPATCHER', 'DRIVER', 'MAINTAINER', 'DEPOT_DISPATCHER', 'PARENT_DEPARTMENT', 'ELECTRIC_DISPATCHER'];
+ const memberType = ['STATION_SUPERVISOR', 'DISPATCHER', 'DRIVER', 'MAINTAINER', 'DEPOT_DISPATCHER', 'PARENT_DEPARTMENT', 'ELECTRIC_DISPATCHER', 'PARKING_LOT_SIGNAL_BUILDING'];
const prdTypeList = ['01', '02', '04', '', '05', '', ''];
const index = memberType.indexOf(member.type);
let prdType;
@@ -152,7 +163,7 @@ export default {
},
'$store.state.scriptRecord.userRole':function (val) {
this.userRole = val;
- }
+ }
},
beforeDestroy() {
// this.clearAutoSave();
@@ -173,21 +184,13 @@ export default {
selectBeginTime() {
this.$refs.setTime.doShow();
},
- resetBeginTime() {
- this.isDisable = false;
- },
start(model) {
- this.isDisable = true;
const data = {
time: model.initTime
};
ranAsPlan(data, this.group).then(res => {
- this.$store.dispatch('training/simulationStart').then(() => {
- this.$store.dispatch('training/setInitTime', +new Date(`${new Date().toLocaleDateString()} ${model.initTime}`));
- this.$store.dispatch('map/setShowCentralizedStationNum');
- });
+ this.$store.dispatch('training/setInitTime', +new Date(`${new Date().toLocaleDateString()} ${model.initTime}`));
}).catch((error) => {
- this.isDisable = false;
if (error.code == '5001') {
this.$messageBox(this.$t('error.mapDataError') + ',' + this.$t('error.startSimulationFailed'));
} else if (error.code == '5002') {
@@ -212,7 +215,6 @@ export default {
});
},
end() {
- this.isDisable = false;
exitRunPlan(this.group).then(() => {
this.$store.dispatch('training/over').then(() => {
this.$store.dispatch('training/setMapDefaultState').then(() => {
@@ -222,7 +224,6 @@ export default {
});
});
}).catch(() => {
- this.isDisable = true;
this.$messageBox(this.$t('display.demon.endSimulationFail'));
});
},
@@ -234,6 +235,9 @@ export default {
},
resetChat() {
// this.$refs.chatbox.resetCoversition();
+ },
+ setReplace(isRp) {
+ this.isReplaceBg = isRp;
}
}
};
diff --git a/src/views/newMap/displayNew/utils.js b/src/views/newMap/displayNew/utils.js
index 08fd61ee4..83a6b9966 100644
--- a/src/views/newMap/displayNew/utils.js
+++ b/src/views/newMap/displayNew/utils.js
@@ -15,7 +15,7 @@ export function covertMemberData (activeTrainList, resp) {
lastData = JSON.parse(lastData);
const lastMemberList = [];
// const electricDispatcherList = [];
- const deviceListData = [[], [], [], [], [], [], []];
+ const deviceListData = [[], [], [], [], [], [], [], []];
const driverList = [];
lastData.forEach((member, index)=>{
if (member.userId && member.userId == store.state.user.id) {
@@ -37,7 +37,7 @@ export function covertMemberData (activeTrainList, resp) {
member.label = member.type + name + userName;
member.normalName = member.type + name;
}
- const deviceType = ['行调', '通号', '行值', '司机', '车辆段调度', '上级部门', '电力调度'];
+ const deviceType = ['行调', '通号', '行值', '司机', '车辆段调度', '上级部门', '电力调度', '停车场信号楼'];
const deviceTypeIndex = deviceType.indexOf(member.type);
if (deviceTypeIndex >= 0) {
if (deviceTypeIndex == 3) {
diff --git a/src/views/newMap/jointTrainingNew/menuDemon.vue b/src/views/newMap/jointTrainingNew/menuDemon.vue
index 13e431c95..b7fe108be 100644
--- a/src/views/newMap/jointTrainingNew/menuDemon.vue
+++ b/src/views/newMap/jointTrainingNew/menuDemon.vue
@@ -109,7 +109,6 @@ export default {
},
data() {
return {
- isDisable: false,
backLoading: false,
chatShow: true,
jsStart: true,
@@ -161,6 +160,9 @@ export default {
isDeviceLogin() {
const typeList = ['LW', 'CW'];
return typeList.includes(this.$route.query.type);
+ },
+ isDisable() {
+ return this.$store.state.training.started;
}
},
watch: {
@@ -172,11 +174,6 @@ export default {
});
}
},
- '$store.state.training.started': function (val) {
- if (val) {
- this.isDisable = true;
- }
- },
'$store.state.socket.simulationOver':function(val) {
if (val && this.project == 'refereeJsxt') {
this.$router.go(-1);
@@ -284,19 +281,15 @@ export default {
},
// 开始仿真
start(model) {
- this.isDisable = true;
const data = {
time: model.initTime
};
ranAsPlan(data, this.group).then(res => {
- // this.$store.dispatch('training/simulationStart').then(() => {
if (this.project == 'jsxt') {
this.jsStart = false;
}
this.$store.dispatch('training/setInitTime', +new Date(`${new Date().toLocaleDateString()} ${model.initTime}`));
- // });
}).catch((error) => {
- this.isDisable = false;
if (error.code == '5001') {
this.$messageBox(this.$t('error.mapDataError') + ',' + this.$t('error.startSimulationFailed'));
} else if (error.code == '5002') {
@@ -321,13 +314,11 @@ export default {
});
},
end() {
- this.isDisable = false;
exitRunPlan(this.group).then(()=>{
this.$store.dispatch('map/setTrainWindowShow', false);
this.$store.dispatch('map/resetActiveTrainList', false);
}).catch(() => {
this.$store.dispatch('training/over').then(() => {
- this.isDisable = true;
this.$store.dispatch('map/resetActiveTrainList', false);
this.$messageBox(this.$t('error.endSimulationFailed'));
});
diff --git a/src/views/newMap/newMapdraft/mapoperate/models.js b/src/views/newMap/newMapdraft/mapoperate/models.js
index da00299ca..bd6b9a4d0 100644
--- a/src/views/newMap/newMapdraft/mapoperate/models.js
+++ b/src/views/newMap/newMapdraft/mapoperate/models.js
@@ -15,8 +15,8 @@ class Model {
this.destinationCode = ''; // 目的地码
this.destinationCodePoint = { x: 0, y: 0 }; // 目的地码坐标
this.namePosition = { x: 0, y: 0 };
- this.kmRangeRight = 0;
- this.kmRangeLeft = 0;
+ // this.kmRangeRight = 0;
+ // this.kmRangeLeft = 0;
this.region = '';
this.logicSectionCodeList = [];
this.logicSectionShow = false; // 是否显示逻辑区段
@@ -135,8 +135,8 @@ class Model {
this.position = { x: 0, y: 0 };
this.kilometerPosition = { x: 0, y: 0 }; // 公里标偏移坐标
this.createControlMode = false;
- this.createTurnBack = false;
- this.turnBackPoint = {x: 0, y: 0}; // 按图折返坐标
+ // this.createTurnBack = false;
+ // this.turnBackPoint = {x: 0, y: 0}; // 按图折返坐标
this.controlModePoint = { x: 0, y: 0 }; // 控制模式坐标
}
StationStandModel() {
diff --git a/src/views/newMap/newMapdraft/mapoperate/section/index.vue b/src/views/newMap/newMapdraft/mapoperate/section/index.vue
index c5915e111..2315198ea 100644
--- a/src/views/newMap/newMapdraft/mapoperate/section/index.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/section/index.vue
@@ -203,9 +203,9 @@ export default {
{ prop: 'leftStopPointOffset', label: this.$t('map.leftStopPointOffset'), type: 'number', min: 0, max: this.maxLengthFact, isHidden: !this.isStopPointOffset }, // 左向停车点偏移量
{ prop: 'rightStopPointOffset', label: this.$t('map.rightStopPointOffset'), type: 'number', min: 0, max: this.maxLengthFact, isHidden: !this.isStopPointOffset }, // 右向停车点偏移量
{ prop: 'region', label: this.$t('map.sectionColon'), type: 'select', optionLabel: 'label', optionValue: 'value', options: this.regionList, isHidden: !this.sectionColonShow },
- { prop: 'trainWindowCode', label: '关联车次窗', type: 'input', disabled: true, isHidden: !this.isSwitchSectionShow },
- { prop: 'kmRangeLeft', label: this.$t('map.leftKilometerMark'), type: 'number', min: 0, placeholder: this.$t('map.meter') },
- { prop: 'kmRangeRight', label: this.$t('map.rightKilometerMark'), type: 'number', min: 0, placeholder: this.$t('map.meter') }
+ { prop: 'trainWindowCode', label: '关联车次窗', type: 'input', disabled: true, isHidden: !this.isSwitchSectionShow }
+ // { prop: 'kmRangeLeft', label: this.$t('map.leftKilometerMark'), type: 'number', min: 0, placeholder: this.$t('map.meter') },
+ // { prop: 'kmRangeRight', label: this.$t('map.rightKilometerMark'), type: 'number', min: 0, placeholder: this.$t('map.meter') }
]
}
}
diff --git a/src/views/newMap/newMapdraft/mapoperate/station.vue b/src/views/newMap/newMapdraft/mapoperate/station.vue
index 2f86c8252..ba2741374 100644
--- a/src/views/newMap/newMapdraft/mapoperate/station.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/station.vue
@@ -198,12 +198,12 @@ export default {
{ prop: 'controlModePoint', label: this.$t('map.stationControlPosition'), type: 'coordinate', width: '120px', isHidden:!this.editModel.createControlMode, children: [
{ prop: 'controlModePoint.x', firstLevel: 'controlModePoint', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '25px'},
{ prop: 'controlModePoint.y', firstLevel: 'controlModePoint', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '25px'}
- ] },
- { prop: 'createTurnBack', label: '按图折返:', type: 'checkbox' },
- { prop: 'turnBackPoint', label: '按图折返坐标:', type: 'coordinate', width: '120px', isHidden: !this.isPointsShow, children: [
- { prop: 'turnBackPoint.x', firstLevel: 'turnBackPoint', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '25px' },
- { prop: 'turnBackPoint.y', firstLevel: 'turnBackPoint', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '25px' }
] }
+ // { prop: 'createTurnBack', label: '按图折返:', type: 'checkbox' },
+ // { prop: 'turnBackPoint', label: '按图折返坐标:', type: 'coordinate', width: '120px', isHidden: !this.isPointsShow, children: [
+ // { prop: 'turnBackPoint.x', firstLevel: 'turnBackPoint', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '25px' },
+ // { prop: 'turnBackPoint.y', firstLevel: 'turnBackPoint', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '25px' }
+ // ] }
]
},
map: {
diff --git a/src/views/planMonitor/editTool/menus/addTask.vue b/src/views/planMonitor/editTool/menus/addTask.vue
index b0a4fd131..5f0487452 100644
--- a/src/views/planMonitor/editTool/menus/addTask.vue
+++ b/src/views/planMonitor/editTool/menus/addTask.vue
@@ -115,32 +115,32 @@
- {{ $t('global.details')+$t('global.colon') }}
+ {{ '经停转换轨 / 站台轨'+$t('global.colon') }}
-
+
{{ formatName(scope.row.stationCode) }}
-
+
{{ formatName(scope.row.sectionCode) }}
-
+
-
+
-
+
- {{ scope.row.speedLevel }}
-
+ {{ scope.row.speedLevel }}
+
@@ -233,6 +233,7 @@ export default {
if (planId) {
getRoutingList(planId).then(resp => {
this.routingList = resp.data;
+ // debugger;
const startStationFilterMap = {};
const endStationFilterMap = {};
this.routingList.forEach(routing=>{
@@ -242,6 +243,18 @@ export default {
if (!endStationFilterMap[routing.endStationCode]) {
endStationFilterMap[routing.endStationCode] = {text:formatName(routing.endStationCode), value:routing.endStationCode};
}
+ let length = routing.parkSectionCodeList.length;
+ if ( length >= 4) {
+ if (routing.parkSectionCodeList[0].stationCode == routing.parkSectionCodeList[1].stationCode) {
+ // routing.startSectionCode = routing.parkSectionCodeList[1].sectionCode;
+ routing.parkSectionCodeList.shift();
+ }
+ length = routing.parkSectionCodeList.length;
+ if (routing.parkSectionCodeList[length - 1].stationCode == routing.parkSectionCodeList[length - 2].stationCode) {
+ // routing.endSectionCode = routing.parkSectionCodeList[length - 2].sectionCode;
+ routing.parkSectionCodeList.pop();
+ }
+ }
});
this.startStationFilters = Object.values(startStationFilterMap);
this.endStationFilters = Object.values(endStationFilterMap);
@@ -387,7 +400,7 @@ export default {
},
handleClick(row, column, event) {
const arriveConfigList = [];
- row.parkSectionCodeList.forEach(parkSectionCode=>{
+ row.parkSectionCodeList.forEach((parkSectionCode, index)=>{
arriveConfigList.push({arriveTime:'', departureTime:'', sectionCode:parkSectionCode.sectionCode, stationCode:parkSectionCode.stationCode});
});
this.$set(this.addModel, 'arriveConfigList', arriveConfigList);
diff --git a/src/views/planMonitor/editTool/menus/modifyingTask.vue b/src/views/planMonitor/editTool/menus/modifyingTask.vue
index 8db9d6158..360411ab5 100644
--- a/src/views/planMonitor/editTool/menus/modifyingTask.vue
+++ b/src/views/planMonitor/editTool/menus/modifyingTask.vue
@@ -190,7 +190,7 @@
- {{ $t('planMonitor.modifying.detail') }}
+ {{ '经停转换轨 / 站台轨:' }}
@@ -406,17 +406,24 @@ export default {
planId: this.$route.query.planId || this.loadRunPlanId,
SDTNumber: `${this.serviceNumber}${this.tripNumber}`
};
- this.editModel.routingList = [];
+ this.routingList = [];
getRoutingBySDTNumber(model).then(resp => { // 根据车次号查询交路
// const routingObj = resp.data;
const editData = this.$store.state.runPlan.editData[this.serviceNumber];
if (editData) {
const trainInfo = editData.trainMap[this.tripNumber];
const lastIndex = trainInfo.stationTimeList.length - 1;
+ this.routingList.push({
+ code:resp.data.code,
+ startStationCode:resp.data.startStationCode,
+ endStationCode:resp.data.endStationCode,
+ endSectionCode:resp.data.endSectionCode,
+ startSectionCode:resp.data.startSectionCode
+ });
this.editModel = {
tripNumber: this.tripNumber,
startStationCode: resp.data.startStationCode,
- startTime: formatTime(trainInfo.stationTimeList[0].secondTime + 7200),
+ startTime: formatTime(trainInfo.stationTimeList[1].secondTime + 7200),
endStationCode: resp.data.endStationCode,
endTime: formatTime(trainInfo.stationTimeList[lastIndex].secondTime + 7200),
routingCode : resp.data.code,
diff --git a/src/views/planMonitor/editTool/schedule.vue b/src/views/planMonitor/editTool/schedule.vue
index f23d41005..8503c7cd1 100644
--- a/src/views/planMonitor/editTool/schedule.vue
+++ b/src/views/planMonitor/editTool/schedule.vue
@@ -293,9 +293,11 @@ export default {
const op = this.myChart.getOption();
op.series.forEach((item, index) => {
item.lineStyle.color = '#000';
+ item.lineStyle.width = 0.5;
switch (item.name) {
case serviceNumber: {
item.lineStyle.color = 'red';
+ item.lineStyle.width = 1;
break;
}
case 'trainLabel': {
@@ -327,6 +329,8 @@ export default {
data.push(nor);
}
});
+ // item.lineStyle.color = '#000';
+ item.lineStyle.width = 0.5;
break;
}
case 'trainLabel': {
@@ -339,7 +343,8 @@ export default {
op.series.push({
name: 'trainLabel',
lineStyle: {
- color: 'green'
+ color: 'green',
+ width:2
},
type: 'line',
data: data
diff --git a/src/views/scriptManage/allScriptRole.vue b/src/views/scriptManage/allScriptRole.vue
index 0cf6ae66c..f32d3ea3f 100644
--- a/src/views/scriptManage/allScriptRole.vue
+++ b/src/views/scriptManage/allScriptRole.vue
@@ -116,11 +116,14 @@ export default {
.settingBtn{
color: #409eff;
cursor: pointer;
- padding: 5px 10px;
+ padding: 2px 10px;
border-radius: 4px;
+ border: 1px #409eff solid;
}
.hasSetted{
-
+ width: 50px;
+ text-align: center;
+ display: inline-block;
}
diff --git a/src/views/scriptManage/getAction.vue b/src/views/scriptManage/getAction.vue
index 6ebd15082..d14ddc853 100644
--- a/src/views/scriptManage/getAction.vue
+++ b/src/views/scriptManage/getAction.vue
@@ -43,10 +43,11 @@
+ {{ conditionActionId === actionInfo.id? '关闭条件':'触发条件' }}
{{ $t('scriptRecord.modifyConversitionButton') }}
确定
取消
-
+ 删除
@@ -55,6 +56,7 @@