# Conflicts:
#	src/utils/baseUrl.js
This commit is contained in:
zyy 2020-03-27 18:20:28 +08:00
commit c5dbd2b141
23 changed files with 331 additions and 352 deletions

View File

@ -193,6 +193,14 @@ export function saveScriptData(group) {
});
}
/** 保存录制任务数据(新版)*/
export function saveScriptDataNew(group) {
return request({
url: `/api/scriptSimulation/${group}/saveData`,
method: 'put'
});
}
/** 更新任务地图定位信息*/
export function updateMapLocation(group, data) {
return request({
@ -310,6 +318,15 @@ export function addScriptAction(group, data) {
});
}
/** 添加剧本动作(新版) */
export function addScriptActionNew(group, data) {
return request({
url: `/api/scriptSimulation/${group}/addAction`,
method: 'PUT',
data
});
}
/** 删除剧本动作 */
export function deleteScriptAction(group, actionId) {
return request({

View File

@ -270,15 +270,11 @@ class SkinCode extends defaultStyle {
},
standEmergent: { // 紧急关闭
mergentR: 4, // 站台紧急关闭半径
offset: { x: 0, y: 0 }, // 站台紧急关闭偏移量
insideOffset: { x: 0, y: -40 }, // 内站台紧急关闭偏移量
outsideOffset: { x: 0, y: 20 }, // 外站台紧急关闭偏移量
closeColor: '#F61107' // 站台紧急关闭颜色
},
reentry: { // 站台折返策略
position: 0, // 折返方向
offset: { x: -16, y: 18 }, // 折返偏移量
noHumanColor: '#0F16DA', // 站台无人折返
autoChangeEndsColor: '#0BF400' // 站台自动换端
},
reentry: {}, // 站台折返策略
detainCar: { // 扣车
text: 'H', // 扣车显示内容
offset: { x: -8, y: 13 }, // 扣车偏移量

View File

@ -219,15 +219,11 @@ class SkinCode extends defaultStyle {
},
standEmergent: { // 紧急关闭
mergentR: 4, // 站台紧急关闭半径
offset: {x: 0, y: 40}, // 站台紧急关闭偏移量
insideOffset: { x: 0, y: 25 }, // 内站台紧急关闭偏移量
outsideOffset: { x: 0, y: -25}, // 外站台紧急关闭偏移量
closeColor: 'red' // 站台紧急关闭颜色
},
reentry: { // 站台折返策略
position: 0, // 折返方向
offset: {x: -16, y: 20}, // 折返偏移量
noHumanColor: '#0F16DA', // 站台无人折返
autoChangeEndsColor: '#0BF400' // 站台自动换端
},
reentry: {}, // 站台折返策略
detainCar: { // 扣车
text: 'H', // 扣车显示内容
offset: {x: -8, y: 13}, // 扣车偏移量

View File

@ -225,15 +225,11 @@ class SkinCode extends defaultStyle {
standEmergent: { // 紧急关闭
flicker: true, // 闪烁
mergentR: 5, // 站台紧急关闭半径
offset: {x: 0, y: 15}, // 站台紧急关闭偏移量
insideOffset: { x: 0, y: 30 }, // 内站台紧急关闭偏移量
outsideOffset: { x: 0, y: -30}, // 外站台紧急关闭偏移量
closeColor: '#F61107' // 站台紧急关闭颜色
},
reentry: { // 站台折返策略
position: 0, // 折返方向
offset: {x: -16, y: 20}, // 折返偏移量
noHumanColor: '#0F16DA', // 站台无人折返
autoChangeEndsColor: '#0BF400' // 站台自动换端
},
reentry: {}, // 站台折返策略
detainCar: { // 扣车
text: '扣', // 扣车显示内容
offset: {x: -8, y: 13}, // 扣车偏移量

View File

@ -214,16 +214,11 @@ class SkinCode extends defaultStyle {
},
standEmergent: { // 紧急关闭
mergentR: 4, // 站台紧急关闭半径
position: -1,
offset: {x: -6, y: -15}, // 站台紧急关闭偏移量
insideOffset: { x: 0, y: 25}, // 内站台紧急关闭偏移量
outsideOffset: { x: 0, y: 15}, // 外站台紧急关闭偏移量
closeColor: '#F61107' // 站台紧急关闭颜色
},
reentry: { // 站台折返策略
position: 0, // 折返方向
offset: {x: -16, y: 20}, // 折返偏移量
noHumanColor: '#0F16DA', // 站台无人折返
autoChangeEndsColor: '#0BF400' // 站台自动换端
},
reentry: {}, // 站台折返策略
detainCar: { // 扣车
text: 'H', // 扣车显示内容
offset: {x: -8, y: 13}, // 扣车偏移量
@ -234,7 +229,7 @@ class SkinCode extends defaultStyle {
fontWeight: 'normal'
},
stopTime: { // 停站时间
offset: {x: -8, y: -4}, // 运行时间偏移量
offset: {x: 37, y: 5}, // 停站时间偏移量
textColor: '#C0C0C0', // 停站时间字体颜色
textFontSize: 11
},

View File

@ -219,15 +219,13 @@ class SkinCode extends defaultStyle {
},
standEmergent: { // 紧急关闭
mergentR: 4, // 站台紧急关闭半径
offset: { x: 0, y: 40 }, // 站台紧急关闭偏移量
closeColor: '#F61107' // 站台紧急关闭颜色
},
reentry: { // 站台折返策略
position: 0, // 折返方向
offset: { x: -16, y: 20 }, // 折返偏移量
noHumanColor: '#0F16DA', // 站台无人折返
autoChangeEndsColor: '#0BF400' // 站台自动换端
insideOffset: { x: -10, y: -20 }, // 内站台紧急关闭偏移量
outsideOffset: { x: -10, y: -10}, // 外站台紧急关闭偏移量
closeColor: '#F61107', // 站台紧急关闭颜色
width: 4,
radiusR: 6
},
reentry: {}, // 站台折返策略
detainCar: { // 扣车
text: 'H', // 扣车显示内容
fontSize: 18, // 扣车字体大小
@ -244,8 +242,7 @@ class SkinCode extends defaultStyle {
fontWeight: 'bold',
fontSize: 18
},
stopTime: { // 停站时间
},
stopTime: {}, // 停站时间
level: { // 运行等级
position: 1, // 运行等级方向
offset: { x: -8, y: 6 }, // 运行等级偏移量

View File

@ -323,15 +323,11 @@ class SkinCode extends defaultStyle {
},
standEmergent: { // 紧急关闭
mergentR: 4, // 站台紧急关闭半径
offset: { x: 0, y: 3 }, // 站台紧急关闭偏移量
insideOffset: { x: 0, y: 25 }, // 内站台紧急关闭偏移量
outsideOffset: { x: 0, y: -25 }, // 外站台紧急关闭偏移量
closeColor: 'red' // 站台紧急关闭颜色
},
reentry: { // 站台折返策略
position: 0, // 折返方向
offset: { x: -16, y: 20 }, // 折返偏移量
noHumanColor: '#0F16DA', // 站台无人折返
autoChangeEndsColor: '#0BF400' // 站台自动换端
},
reentry: {}, // 站台折返策略
detainCar: { // 扣车
text: 'H', // 扣车显示内容
offset: { x: -8, y: 0 }, // 扣车偏移量

View File

@ -10,7 +10,7 @@ class EDetain extends Group {
}
create() {
if (this.isNew) {
if (!this.isNew) {
const model = this.model;
const style = this.model.style;
this.isNew = true;
@ -38,11 +38,11 @@ class EDetain extends Group {
this.detain.setStyle('textFill', color);
}
hide() {
hideMode() {
this.detain && this.detain.hide();
}
show() {
showMode() {
this.create();
this.detain && this.detain.show();
}

View File

@ -9,7 +9,7 @@ class EJump extends Group {
this.isNew = false;
}
create() {
if (this.isNew) {
if (!this.isNew) {
const model = this.model;
const style = this.model.style;
this.isNew = true;
@ -54,12 +54,12 @@ class EJump extends Group {
this.jump.setStyle('textFill', color);
}
hide() {
hideMode() {
this.jump && this.jump.hide();
this.jumpArc && this.jumpArc.hide();
}
show(isAllJump) {
showMode(isAllJump) {
this.create();
if (isAllJump) { // 站台跳停
this.jump.show();

View File

@ -44,11 +44,11 @@ class ELevel extends Group {
this.level.setStyle('textFill', color);
}
hide() {
hideMode() {
this.level && this.level.hide();
}
show() {
showMode() {
this.create();
this.level.show();
}

View File

@ -34,11 +34,11 @@ class EReentry extends Group {
this.reentry.setStyle('textFill', color);
}
hide() {
hideMode() {
this.reentry && this.reentry.hide();
}
show() {
showMode() {
this.create();
this.reentry.show();
}

View File

@ -1,15 +1,13 @@
import Group from 'zrender/src/container/Group';
import Isogon from 'zrender/src/graphic/shape/Isogon';
import Polyline from 'zrender/src/graphic/shape/Polyline';
import Polygon from 'zrender/src/graphic/shape/Polygon';
import {arrow} from '../utils/ShapePoints';
class ESafeEmergent extends Group {
constructor(model) {
super();
this.model = model;
this.isNew = false;
if (this.model.style.StationStand.common.special) {
this.create();
}
}
create() {
@ -18,48 +16,19 @@ class ESafeEmergent extends Group {
const style = this.model.style;
this.isNew = true;
if (style.StationStand.common.special) {
const gagT = 19;
const gagB = 26;
let cy = model.inside ? model.y + 22 : model.y - 22;
let cx = model.inside ? model.x + model.width / 8 : model.x - model.width / 8;
if (model.right) {
if (model.inside) {
cy = model.y - gagB;
cx = model.x - model.width / 8;
} else {
cy = model.y + gagT;
cx = model.x + model.width / 8;
}
} else {
if (model.inside) {
cy = model.y + gagT;
cx = model.x + model.width / 8;
} else {
cy = model.y - gagB;
cx = model.x - model.width / 8;
}
}
this.emergent = new Polyline({
if (style.StationStand.standEmergent.radiusR) {
const rotation = model.right == 1 ? Math.PI / 2 : Math.PI * 3 / 2;
this.emergent = new Polygon({
zlevel: model.zlevel,
z: model.z,
origin: [model.x, model.y],
rotation: rotation,
shape: {
points: [
[cx, cy - 2],
[cx + 5, cy],
[cx + 5, cy + 2],
[cx + 2, cy + 2],
[cx + 2, cy + 6],
[cx - 2, cy + 6],
[cx - 2, cy + 2],
[cx - 5, cy + 2],
[cx - 5, cy],
[cx, cy - 2]
]
points: arrow(model.x, model.y, style.StationStand.standEmergent.width, style.StationStand.standEmergent.radiusR * 0.8)
},
style: {
stroke: 'red',
fill: 'red'
stroke: style.StationStand.standEmergent.closeColor,
fill: style.StationStand.standEmergent.closeColor
}
});
this.add(this.emergent);
@ -84,12 +53,11 @@ class ESafeEmergent extends Group {
}
}
hide() {
this.create();
this.emergent.hide();
hideMode() {
this.emergent && this.emergent.hide();
}
show() {
showMode() {
this.create();
this.emergent.show();
}

View File

@ -2,57 +2,57 @@ 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.isNew = false;
}
constructor(model) {
super();
this.model = model;
this.isNew = false;
}
create() {
if (!this.isNew) {
const model = this.model;
const style = this.model.style;
create() {
if (!this.isNew) {
const model = this.model;
const style = this.model.style;
this.isNew = true;
this.time = new Text({
zlevel: model.zlevel,
z: model.z,
style: {
x: model.x,
y: model.y,
fontWeight: 'normal',
fontSize: style.StationStand.common.textFontSize,
fontFamily: style.fontFamily,
text: model.name,
textFill: style.StationStand.stopTime.textColor,
textAlign: 'center',
textVerticalAlign: 'middle'
}
});
this.isNew = true;
this.time = new Text({
zlevel: model.zlevel,
z: model.z,
style: {
x: model.x,
y: model.y,
fontWeight: style.textStyle.fontWeight,
fontSize: style.StationStand.common.textFontSize,
fontFamily: style.fontFamily,
text: model.name,
textFill: style.StationStand.stopTime.textColor,
textAlign: style.textStyle.textAlign,
textVerticalAlign: style.textStyle.textVerticalAlign
}
});
this.add(this.time);
}
}
this.add(this.time);
}
}
setName(val) {
this.create();
this.time.setStyle('text', val);
}
setName(val) {
this.create();
this.time.setStyle('text', val);
}
setColor(color) {
this.create();
this.time.setStyle('textFill', color);
}
setColor(color) {
this.create();
this.time.setStyle('textFill', color);
}
hide() {
this.create();
this.time.hide();
}
hideMode() {
this.create();
this.time.hide();
}
show() {
this.create();
this.time.show();
}
showMode() {
this.create();
this.time.show();
}
}
export default ETime;

View File

@ -2,20 +2,20 @@ import Group from 'zrender/src/container/Group';
import Arc from 'zrender/src/graphic/shape/Arc';
class ETrainStop extends Group {
constructor(model) {
super();
this.model = model;
constructor(model) {
super();
this.model = model;
this.isNew = false;
}
}
create() {
if (!this.isNew) {
const model = this.model;
const gag = 22;
create() {
if (!this.isNew) {
const model = this.model;
const gag = 22;
this.isNew = true;
let cy = model.inside ? model.y + gag : model.y - gag;
let cx = model.inside ? model.x - model.width / 8 : model.x + model.width / 8;
if (model.right) {
let cx = model.inside ? model.x - model.width / 8 : model.x + model.width / 8;
if (model.right) {
if (model.inside) {
cy = model.y - gag;
cx = model.x + model.width / 8;
@ -32,10 +32,10 @@ class ETrainStop extends Group {
cx = model.x + model.width / 8;
}
}
this.trainStop = new Arc({
zlevel: model.zlevel,
z: model.z,
shape: {
this.trainStop = new Arc({
zlevel: model.zlevel,
z: model.z,
shape: {
cx: cx,
cy: cy,
r: model.r
@ -44,25 +44,25 @@ class ETrainStop extends Group {
fill: 'red',
stroke: 'red'
}
});
this.add(this.trainStop);
}
}
});
this.add(this.trainStop);
}
}
setColor(color) {
this.create();
this.trainStop.setStyle('textFill', color);
}
setColor(color) {
this.create();
this.trainStop.setStyle('textFill', color);
}
hide() {
this.create();
this.trainStop.hide();
}
hide() {
this.create();
this.trainStop.hide();
}
show() {
this.create();
this.trainStop.show();
}
show() {
this.create();
this.trainStop.show();
}
}
export default ETrainStop;

View File

@ -60,17 +60,10 @@ class StationStand extends Group {
this.add(this.safeStand);
/** 站台紧急关闭*/
const emergentH = model.inside ? model.right ? 1 : -1 : model.right ? -1 : 1;
let emergentWidth = 0;
if (style.StationStand.stopTime.position) {
emergentWidth = model.width / 2;
}
let emergentX = model.position.x + (style.StationStand.stopTime.position || emergentH) * style.StationStand.standEmergent.offset.x - emergentWidth;
let emergentY = model.position.y + emergentH * (model.height / 2 + style.StationStand.standEmergent.offset.y);
if (style.StationStand.common.special) {
emergentX = model.position.x;
emergentY = model.position.y;
}
const emergentOffset = model.inside ? style.StationStand.standEmergent.insideOffset : style.StationStand.standEmergent.outsideOffset;
const emergentH = model.right ? 1 : -1;
const emergentX = model.position.x + emergentH * emergentOffset.x;
const emergentY = model.position.y + emergentH * emergentOffset.y;
this.emergent = new ESafeEmergent({
zlevel: this.zlevel,
z: this.z + 1,
@ -118,20 +111,22 @@ class StationStand extends Group {
this.add(this.trainDepart);
/** 站台折返策略*/
const reentryH = style.StationStand.standEmergent.mergentR;
const reentryX = model.position.x - (style.StationStand.reentry.position || drict) * (style.StationStand.reentry.offset.x - model.width / 2);
const reentryY = model.position.y + (style.StationStand.reentry.position || drict) * (style.StationStand.reentry.offset.y) + drict * reentryH;
this.reentry = new EReentry({
zlevel: this.zlevel,
z: this.z + 1,
style: style,
drict: drict,
x: reentryX,
y: reentryY,
lineWidth: 0,
fill: style.StationStand.reentry.noHumanColor
});
this.add(this.reentry);
if (style.StationStand.reentry.offset) {
const reentryH = style.StationStand.standEmergent.mergentR;
const reentryX = model.position.x - (style.StationStand.reentry.position || drict) * (style.StationStand.reentry.offset.x - model.width / 2);
const reentryY = model.position.y + (style.StationStand.reentry.position || drict) * (style.StationStand.reentry.offset.y) + drict * reentryH;
this.reentry = new EReentry({
zlevel: this.zlevel,
z: this.z + 1,
style: style,
drict: drict,
x: reentryX,
y: reentryY,
lineWidth: 0,
fill: style.StationStand.reentry.noHumanColor
});
this.add(this.reentry);
}
/** 站台扣车*/
const detainD = model.right ? 1 : -1;
@ -152,7 +147,7 @@ class StationStand extends Group {
/** 停站时间*/
if (style.StationStand.stopTime.offset) {
const timeDrict = model.right ? 1 : -1;
const timeX = model.position.x - timeDrict * (style.StationStand.stopTime.offset.x - model.width / 2);
const timeX = model.position.x + timeDrict * style.StationStand.stopTime.offset.x;
const timeY = model.position.y + timeDrict * style.StationStand.stopTime.offset.y;
this.time = new ETime({
zlevel: this.zlevel,
@ -344,14 +339,14 @@ class StationStand extends Group {
/** 恢复初始状态*/
recover() {
this.time && this.time.hide();
this.level && this.level.hide();
this.detain && this.detain.hide();
this.emergent && this.emergent.hide();
this.time && this.time.hideMode();
this.level && this.level.hideMode();
this.detain && this.detain.hideMode();
this.emergent && this.emergent.hideMode();
this.trainStop && this.trainStop.hide(); // 列车停站
this.trainDepart && this.trainDepart.hide();
this.reentry && this.reentry.hide();
this.jump && this.jump.hide();
this.reentry && this.reentry.hideMode();
this.jump && this.jump.hideMode();
}
/** 空闲*/
@ -376,11 +371,7 @@ class StationStand extends Group {
if (!this.style.StationStand.common.special) {
this.safeStand && this.safeStand.setColor(this.style.StationStand.stand.spareColor);
}
if (this.style.StationStand.common.special) {
this.detain && this.detain.show('E');
this.detain && this.detain.setColor('#fff');
}
this.emergent && this.emergent.show();
this.emergent && this.emergent.showMode();
if (this.style.StationStand.standEmergent.flicker) {
this.emergent.getElement().animateStyle(true)
.when(0, { fill: this.style.backgroundColor })
@ -393,70 +384,58 @@ class StationStand extends Group {
/** 指定列车跳站*/
designatedJumpStop() {
this.safeStand && this.safeStand.setColor(this.style.StationStand.stand.designatedJumpStopColor);
this.jump && this.jump.show(0);
this.jump && this.jump.showMode(0);
}
/** 站台跳停*/
jumpStop() {
this.safeStand && this.safeStand.setColor(this.style.StationStand.stand.jumpStopColor);
this.jump && this.jump.show(1);
this.jump && this.jump.showMode(1);
}
/** 车站扣车*/
standDetainTrain() {
if (this.style.StationStand.common.special) {
this.detain && this.detain.show('H');
} else {
this.detain && this.detain.show();
}
this.detain && this.detain.showMode();
this.detain && this.detain.setColor(this.style.StationStand.detainCar.detainTrainTextColor);
}
/** 中心扣车*/
centerDetainTrain() {
if (this.style.StationStand.common.special) {
this.detain && this.detain.show('H');
} else {
this.detain && this.detain.show();
}
this.detain && this.detain.showMode();
this.detain && this.detain.setColor(this.style.StationStand.detainCar.centerTrainColor);
}
/** 中心+车站扣车*/
standAndCenterDetainTrain() {
if (this.style.StationStand.common.special) {
this.detain && this.detain.show('H');
} else {
this.detain && this.detain.show();
}
this.detain && this.detain.showMode();
this.detain && this.detain.setColor(this.style.StationStand.detainCar.andCenterTrainColor);
}
/** 人工设置停战时间*/
setManuallyArmisticeTime(val) {
this.time && this.time.show();
this.time && this.time.showMode();
this.time && this.time.setName(val);
}
/** 人工设置运行等级*/
setManuallyOperationLevel(val) {
this.level && this.level.show();
this.level && this.level.showMode();
this.level && this.level.setName(val);
}
/** 无折返(默认)*/
noReentry() {
this.reentry && this.reentry.hide();
this.reentry && this.reentry.hideMode();
}
/** 无人折返*/
noHumanReentry() {
this.reentry && this.reentry.show();
this.reentry && this.reentry.showMode();
this.reentry && this.reentry.setColor(this.style.StationStand.reentry.noHumanColor);
}
/** 自动换端*/
autoChangeEnds() {
this.reentry && this.reentry.show();
this.reentry && this.reentry.showMode();
this.reentry && this.reentry.setColor(this.style.StationStand.reentry.autoChangeEndsColor);
}

View File

@ -246,7 +246,7 @@
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
import Handler from '@/scripts/cmdPlugin/Handler';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
// import CMD from '@/scripts/cmdPlugin/CommandEnum';
// import { deepAssign } from '@/utils/index';
export default {
@ -341,6 +341,7 @@ export default {
selectedChange() {
const model = this.$store.state.menuOperation.selected;
if (model && model._type) {
} else {
Handler.clear();
this.$store.dispatch('menuOperation/setButtonOperation', null);

View File

@ -3,8 +3,8 @@
<div v-quickMenuDrag class="reminder-drag">
<div ref="drapBox" class="reminder-box">
<div class="tip-title">
<i v-show="isShrink" class="icon el-icon-minus" @click="shrink" />
<i v-show="!isShrink" class="icon el-icon-plus" @click="shrink" />
<i v-show="!isShrink" class="icon el-icon-minus" @click="shrink" />
<i v-show="isShrink" class="icon el-icon-plus" @click="shrink" />
<p v-if="isShrink" style="color: #fff;">
<span>{{ lessonName }}</span>
</p>
@ -131,12 +131,12 @@ export default {
const height = this.$refs.dragBody.offsetHeight + 40;
const top = this.$refs.drapBox.style.top;
if (this.isShrink) {
this.$refs.drapBox.style.height = '40px';
this.$refs.drapBox.style.top = '';
this.isShrink = false;
} else {
this.$refs.drapBox.style.height = height + 'px';
this.$refs.drapBox.style.top = top;
this.isShrink = false;
} else {
this.$refs.drapBox.style.height = '40px';
this.$refs.drapBox.style.top = '';
this.isShrink = true;
}
}

View File

@ -160,6 +160,7 @@ export default {
json.type = '';
json.prdType = '';
json.operateType = '';
this.typeChoose(this.$refs.queryListPage.queryData);
},
methods: {
async loadInitData() {

View File

@ -61,7 +61,7 @@ export default {
name: '',
remarks: ''
},
isShrink: false,
isShrink: true,
lessonName: '',
courseModel: {
id: '',

View File

@ -31,7 +31,7 @@ import Vue from 'vue';
import AddAction from '../scriptRecord/addAction';
import GetAction from '../scriptRecord/getAction';
import AddRole from '../scriptRecord/addRole';
import {saveScriptScenes, saveScriptData, dumpScriptData, updateMapLocation, scriptPause, executeScript} from '@/api/simulation';
import {saveScriptScenes, saveScriptData, saveScriptDataNew, dumpScriptData, updateMapLocation, scriptPause, executeScript} from '@/api/simulation';
export default {
name: 'TipScriptRecord',
@ -134,19 +134,36 @@ export default {
},
saveScenesData() {
this.isSavingScript = true;
saveScriptData(this.group).then(resp => {
this.$message.success(this.$t('scriptRecord.saveDataSucess'));
this.isSavingScript = false;
this.initAutoSaveScript();
}).catch(error => {
this.$messageBox(`${this.$t('scriptRecord.saveDataFail')}: ${error.message}`);
this.isSavingScript = false;
if (error.code === 40004 || error.code === 40005 || error.code === 40003) {
this.clearAutoSave();
} else {
if (this.$route.query.drawWay == 'true') {
saveScriptDataNew(this.group).then(resp => {
this.$message.success(this.$t('scriptRecord.saveDataSucess'));
this.isSavingScript = false;
this.initAutoSaveScript();
}
});
}).catch(error => {
this.$messageBox(`${this.$t('scriptRecord.saveDataFail')}: ${error.message}`);
this.isSavingScript = false;
if (error.code === 40004 || error.code === 40005 || error.code === 40003) {
this.clearAutoSave();
} else {
this.initAutoSaveScript();
}
});
} else {
saveScriptData(this.group).then(resp => {
this.$message.success(this.$t('scriptRecord.saveDataSucess'));
this.isSavingScript = false;
this.initAutoSaveScript();
}).catch(error => {
this.$messageBox(`${this.$t('scriptRecord.saveDataFail')}: ${error.message}`);
this.isSavingScript = false;
if (error.code === 40004 || error.code === 40005 || error.code === 40003) {
this.clearAutoSave();
} else {
this.initAutoSaveScript();
}
});
}
},
dumpScenesData() {
this.clearAutoSave();

View File

@ -7,12 +7,12 @@
<div class="itemGroup">
<el-form-item :label="$t('scriptRecord.narrator')" class="conditionVO" prop="actionVO.memberId">
<el-select v-model="modalData.actionVO.memberId" :placeholder="$t('scriptRecord.narratorRules')" :disabled="isPause&&isNotModify">
<el-option v-for="member in memberList" :key="member.id" :label="member.role+(member.name==undefined?'':member.name)" :value="member.id" />
<el-option v-for="member in memberList" :key="member.id" :label="member.name" :value="member.id" />
</el-select>
</el-form-item>
<el-form-item :label="$t('scriptRecord.receiver')" class="conditionVO" prop="actionVO.targetId">
<el-select v-model="modalData.actionVO.targetId" :placeholder="$t('scriptRecord.receiverRules')" :disabled="isPause&&isNotModify">
<el-option v-for="member in memberList" :key="member.id" :label="member.role+(member.name==undefined?'':member.name)" :value="member.id" />
<el-option v-for="member in memberList" :key="member.id" :label="member.name" :value="member.id" />
</el-select>
</el-form-item>
</div>
@ -35,7 +35,7 @@
<el-form ref="commandData" size="mini" :model="commandData" :rules="commandRules" label-width="120px" class="actionInfo" label-position="right">
<el-form-item :label="$t('scriptRecord.executor')" class="conditionVO" prop="action.memberId">
<el-select v-model="commandData.action.memberId" :placeholder="$t('scriptRecord.executorRules')" :disabled="isPause" @change="changeRole">
<el-option v-for="member in memberList" :key="member.id" :label="member.role+(member.name==undefined?'':member.name)" :value="member.id" />
<el-option v-for="member in memberList" :key="member.id" :label="member.name" :value="member.id" />
</el-select>
</el-form-item>
<el-form-item :label="$t('scriptRecord.executeCommand')" class="conditionVO" prop="action.deviceCommand">
@ -58,7 +58,7 @@ import Vue from 'vue';
import Cookies from 'js-cookie';
import ConstConfig from '@/scripts/ConstConfig';
import CommandOperation from './command';
import {addScriptAction, modifyScriptAction, getAvailableDeviceCommand, getScriptPlayMember} from '@/api/simulation';
import {addScriptAction, addScriptActionNew, modifyScriptAction, getAvailableDeviceCommand, getScriptPlayMember, getScriptPlayMemberNew} from '@/api/simulation';
export default {
name: 'AddAction',
components:{
@ -175,25 +175,40 @@ export default {
initData() {
this.buttonName = this.$t('scriptRecord.addConversitionButton');
this.operateType = 'add';
getScriptPlayMember(this.group).then(resp => {
const roleTypeList = ConstConfig.ConstSelect.roleType;
this.orginMemberList = resp.data;
let lastData = JSON.stringify(resp.data);
roleTypeList.forEach(function(element) {
const rolename = element.value;
if (Cookies.get('user_lang') == 'en') {
lastData = lastData.replace(new RegExp(rolename, 'g'), element.enLabel);
} else {
lastData = lastData.replace(new RegExp(rolename, 'g'), element.label);
}
if (this.$route.query.drawWay == 'true') {
getScriptPlayMemberNew(this.group).then(resp => {
this.orginMemberList = resp.data;
this.memberList = resp.data;
this.resetDisabled();
this.initCommandActionData();
}).catch(error => {
this.$message(error.message);
});
lastData = JSON.parse(lastData);
this.memberList = lastData;
this.resetDisabled();
this.initCommandActionData();
}).catch(error => {
this.$message(error.message);
});
} else {
getScriptPlayMember(this.group).then(resp => {
const roleTypeList = ConstConfig.ConstSelect.roleType;
this.orginMemberList = resp.data;
let lastData = JSON.stringify(resp.data);
roleTypeList.forEach(function(element) {
const rolename = element.value;
if (Cookies.get('user_lang') == 'en') {
lastData = lastData.replace(new RegExp(rolename, 'g'), element.enLabel);
} else {
lastData = lastData.replace(new RegExp(rolename, 'g'), element.label);
}
});
lastData = JSON.parse(lastData);
lastData.forEach(each=>{
each.name = each.role + (each.name == undefined ? '' : each.name);
});
this.memberList = lastData;
this.resetDisabled();
this.initCommandActionData();
}).catch(error => {
this.$message(error.message);
});
}
},
changeRole(index) {
const role = this.orginMemberList.find(elem=>{ return elem.id == index; }).role;
@ -279,17 +294,32 @@ export default {
const data = this.modalData.actionVO;
this.modifying = true;
if (this.operateType == 'add') {
addScriptAction(group, data).then(response=>{
this.modifying = false;
this.$message.success(this.$t('scriptRecord.addConversitionSuccess'));
this.$emit('create');
if (this.$route.query.drawWay == 'true') {
addScriptActionNew(group, data).then(response=>{
this.modifying = false;
this.$message.success(this.$t('scriptRecord.addConversitionSuccess'));
this.$emit('create');
// [this.modalData.actionVO.memberId]
// this.initActionData();
// this.$parent.$parent.$refs['addRole'].resetData([this.modalData.actionVO.memberId,this.modalData.actionVO.targetId]);
}).catch(error => {
this.modifying = false;
this.$messageBox(`${this.$t('scriptRecord.addConversitionFail')}: ${error.message}`);
});
}).catch(error => {
this.modifying = false;
this.$messageBox(`${this.$t('scriptRecord.addConversitionFail')}: ${error.message}`);
});
} else {
addScriptAction(group, data).then(response=>{
this.modifying = false;
this.$message.success(this.$t('scriptRecord.addConversitionSuccess'));
this.$emit('create');
// [this.modalData.actionVO.memberId]
// this.initActionData();
// this.$parent.$parent.$refs['addRole'].resetData([this.modalData.actionVO.memberId,this.modalData.actionVO.targetId]);
}).catch(error => {
this.modifying = false;
this.$messageBox(`${this.$t('scriptRecord.addConversitionFail')}: ${error.message}`);
});
}
} else {
const actionId = this.modalData.actionVO.id;
modifyScriptAction(group, actionId, data).then(response=>{

View File

@ -2,7 +2,7 @@
<el-card class="scriptTop">
<el-transfer v-model="selectRoleData" :data="allRoleData" class="script-player-choose" :titles="[$t('scriptRecord.allRoles'), $t('scriptRecord.actors')]" @change="handleChange">
<span slot-scope="{option}">
<span>{{ option.role+(option.name==undefined?'':option.name) }}</span>
<span>{{ option.name }}</span>
<el-radio-group v-model="option.gender" size="mini" class="sexGroup" @change="changeSex($event,option.key)">
<el-radio-button label="Male">{{ $t('scriptRecord.roleSexMale') }}</el-radio-button>
<el-radio-button label="Female">{{ $t('scriptRecord.roleSexFemale') }}</el-radio-button>
@ -45,9 +45,10 @@ export default {
const group = this.$props.group;
if (this.$route.query.drawWay == 'true') {
getScriptMemberDataNew(group).then(response=>{
debugger;
const lastData = JSON.stringify(response.data);
this.allRoleData = this.coverDataNew(lastData);
let lastData = JSON.stringify(response.data);
lastData = lastData.replace(new RegExp('id', 'g'), 'key');
lastData = JSON.parse(lastData);
this.allRoleData = lastData;
getScriptPlayMemberNew(group).then(response=>{
const last = response.data;
// let userdata=JSON.stringify(response.data)
@ -89,21 +90,9 @@ export default {
}
});
lastData = JSON.parse(lastData);
return lastData;
},
coverDataNew(data) {
const roleTypeList = ConstConfig.ConstSelect.roleTypeNew;
let lastData = data.replace(new RegExp('id', 'g'), 'key');
roleTypeList.forEach(function(element) {
const rolename = element.value;
if (Cookies.get('user_lang') == 'en') {
lastData = lastData.replace(new RegExp(rolename, 'g'), element.enLabel);
} else {
lastData = lastData.replace(new RegExp(rolename, 'g'), element.label);
}
lastData.forEach(each=>{
each.name = each.role + (each.name == undefined ? '' : each.name);
});
lastData = JSON.parse(lastData);
return lastData;
},
handleChange(value, direction, movedKeys) {

View File

@ -29,7 +29,8 @@
</el-scrollbar>
</template>
<script>
import {getScriptRecord, deleteScriptAction, getAvailableDeviceCommand } from '@/api/simulation';
import {deleteScriptAction, getAvailableDeviceCommand } from '@/api/simulation';
// getScriptRecord
import ConstConfig from '@/scripts/ConstConfig';
export default {
name: 'GetAction',
@ -75,57 +76,57 @@ export default {
},
loadOtherData(obj) {
const group = obj.group;
getScriptRecord(group).then(response=>{
this.$store.dispatch('scriptRecord/updateBgSet', response.data.bgSet);
this.actionInfoList = [];
const roleTypeList = ConstConfig.ConstSelect.roleType;
// getScriptRecord(group).then(response=>{
// this.$store.dispatch('scriptRecord/updateBgSet', response.data.bgSet);
// this.actionInfoList = [];
// const roleTypeList = ConstConfig.ConstSelect.roleType;
let memberVOList = JSON.stringify(response.data.memberVOList);
roleTypeList.forEach(function(element) {
const rolename = element.value;
memberVOList = memberVOList.replace(new RegExp(rolename, 'g'), element.label);
});
memberVOList = JSON.parse(memberVOList);
const actionList = response.data.actionVOList;
// let memberVOList = JSON.stringify(response.data.memberVOList);
// roleTypeList.forEach(function(element) {
// const rolename = element.value;
// memberVOList = memberVOList.replace(new RegExp(rolename, 'g'), element.label);
// });
// memberVOList = JSON.parse(memberVOList);
// const actionList = response.data.actionVOList;
actionList.forEach(element => {
// actionList.forEach(element => {
const member = memberVOList.find(elem=>{ return elem.id == element.memberId; });
// const member = memberVOList.find(elem=>{ return elem.id == element.memberId; });
const memberName = member.name ? ' - ' + member.name : '';
switch (element.type) {
case 'Conversation':
{
const target = memberVOList.find(elem=>{ return elem.id == element.targetId; });
const targetName = target.name ? ' - ' + target.name : '';
this.actionInfoList.push({id: element.id, isCoversition: true, memberName: member.role + memberName, targetName: target.role + targetName, reply: element.reply, row: element, visible: true});
break;
}
case 'Command':
{
const deviceCommand = this.deviceCommandList.find(elem=>{ return elem.deviceCommand == element.deviceCommand; });
this.actionInfoList.push({id: element.id, isCoversition: false, memberName: member.role + memberName, command: deviceCommand.label, row: element, visible: false});
// switch (element.deviceCommand) {
// case 'Train_Manual_Route_Blocking_Drive':
// {
// this.actionInfoList.push({id: element.id, isCoversition: false, memberName: member.role + memberName, command: deviceCommand.label, row: element, visible: false});
// break;
// }
// case 'Train_Manual_Limit_Drive':
// {
// this.actionInfoList.push({id: element.id, isCoversition: false, memberName: member.role + memberName, command: deviceCommand.label, row: element, visible: false});
// break;
// }
// }
}
}
});
if (response.data.mapLocation) {
const mapLocation = {'offsetX': response.data.mapLocation.x, 'offsetY': response.data.mapLocation.y, 'scaleRate': response.data.mapLocation.scale};
this.$store.dispatch('scriptRecord/updateMapLocation', mapLocation);
}
this.loading = false;
});
// const memberName = member.name ? ' - ' + member.name : '';
// switch (element.type) {
// case 'Conversation':
// {
// const target = memberVOList.find(elem=>{ return elem.id == element.targetId; });
// const targetName = target.name ? ' - ' + target.name : '';
// this.actionInfoList.push({id: element.id, isCoversition: true, memberName: member.role + memberName, targetName: target.role + targetName, reply: element.reply, row: element, visible: true});
// break;
// }
// case 'Command':
// {
// const deviceCommand = this.deviceCommandList.find(elem=>{ return elem.deviceCommand == element.deviceCommand; });
// this.actionInfoList.push({id: element.id, isCoversition: false, memberName: member.role + memberName, command: deviceCommand.label, row: element, visible: false});
// // switch (element.deviceCommand) {
// // case 'Train_Manual_Route_Blocking_Drive':
// // {
// // this.actionInfoList.push({id: element.id, isCoversition: false, memberName: member.role + memberName, command: deviceCommand.label, row: element, visible: false});
// // break;
// // }
// // case 'Train_Manual_Limit_Drive':
// // {
// // this.actionInfoList.push({id: element.id, isCoversition: false, memberName: member.role + memberName, command: deviceCommand.label, row: element, visible: false});
// // break;
// // }
// // }
// }
// }
// });
// if (response.data.mapLocation) {
// const mapLocation = {'offsetX': response.data.mapLocation.x, 'offsetY': response.data.mapLocation.y, 'scaleRate': response.data.mapLocation.scale};
// this.$store.dispatch('scriptRecord/updateMapLocation', mapLocation);
// }
// this.loading = false;
// });
},
deleteAction(row) {
const group = this.$props.group;