Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/jl-client into test
This commit is contained in:
commit
332aa9b61a
@ -390,7 +390,6 @@ export function JLmap3d(dom, data,skinCode,storemod,routegroup,project) {
|
||||
|
||||
//相机轨迹动画
|
||||
this.camerarailmove = function(){
|
||||
console.log(scope.mixers);
|
||||
camerarail.moveswitch = true;
|
||||
camerarail.progress = 0;
|
||||
let points = [];
|
||||
@ -404,7 +403,10 @@ export function JLmap3d(dom, data,skinCode,storemod,routegroup,project) {
|
||||
// points.push(new THREE.Vector3(stationp1.x+38,11,stationp1.z-15));
|
||||
// points.push(new THREE.Vector3(stationp1.x+38,11,stationp1.z+2));
|
||||
// points.push(new THREE.Vector3(stationp1.x+13,5,stationp1.z+2));
|
||||
|
||||
if(stationstandlist.group.children[0].code == "Station34"){
|
||||
points.push(new THREE.Vector3(stationp1.x+60,4,stationp1.z-23));
|
||||
points.push(new THREE.Vector3(stationp1.x-55,4,stationp1.z-23));
|
||||
}else{
|
||||
if(stationstandlist.group.children[0].inside == false){
|
||||
points.push(new THREE.Vector3(stationp1.x-65,11,stationp1.z-26));
|
||||
points.push(new THREE.Vector3(stationp1.x+60,11,stationp1.z-26));
|
||||
@ -416,6 +418,8 @@ export function JLmap3d(dom, data,skinCode,storemod,routegroup,project) {
|
||||
points.push(new THREE.Vector3(stationp1.x+60,7,stationp1.z+12));
|
||||
points.push(new THREE.Vector3(stationp1.x-55,5,stationp1.z+12));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// points.push(new THREE.Vector3(stationp1.x+40,3,stationp1.z+15));
|
||||
// controls.target = new THREE.Vector3(camera.position.x+1,camera.position.y,camera.position.z);
|
||||
|
@ -22,6 +22,9 @@ this.loadpromise = function(sectionList,sectiondata,rails,scene,assetloader){
|
||||
|
||||
var texture = new THREE.TextureLoader().load( JL3D_LOCAL_STATIC+'/test/z0251.png' );
|
||||
texture.wrapS = texture.wrapT = THREE.RepeatWrapping;
|
||||
texture.anisotropy = 0;
|
||||
texture.magFilter = THREE.NearestFilter;
|
||||
texture.minFilter = THREE.NearestFilter;
|
||||
texture.repeat.set( 1,1);
|
||||
|
||||
var selectmaterial = new THREE.MeshPhongMaterial( { map: texture,transparent:true,alphaTest:0.1 } );
|
||||
|
@ -110,7 +110,7 @@ export function StationStandListN() {
|
||||
let textmaterial = new THREE.MeshBasicMaterial( { side: THREE.DoubleSide,map:textt ,transparent: true} );
|
||||
let textplane = new THREE.Mesh( textgeometry, textmaterial );
|
||||
textplane.name = stationdata[i].code;
|
||||
textplane.position.y = 70;
|
||||
textplane.position.y = 80;
|
||||
textplane.rotation.x = Math.PI/2;
|
||||
//textplane.position.x = -30;
|
||||
scope.textlist.push(textplane);
|
||||
@ -372,9 +372,10 @@ export function StationStandListN() {
|
||||
let textmaterial = new THREE.MeshBasicMaterial( { side: THREE.DoubleSide,map:textt ,transparent: true} );
|
||||
let textplane = new THREE.Mesh( textgeometry, textmaterial );
|
||||
textplane.name = standsdata[i].code;
|
||||
console.log("sss");
|
||||
textplane.position.y = 70;
|
||||
textplane.rotation.x = Math.PI/2;
|
||||
textplane.position.z = 50;
|
||||
textplane.position.z = 80;
|
||||
scope.textlist.push(textplane);
|
||||
newstationmesh.add(textplane);
|
||||
textgeometry.dispose();
|
||||
|
@ -255,7 +255,9 @@ class SkinCode extends defaultStyle {
|
||||
},
|
||||
transmission: { // 传输信号机
|
||||
fillColor: '#f00',
|
||||
sideLength: 20
|
||||
sideLength: 20,
|
||||
textColor: '#fff',
|
||||
strokeColor: '#00FFFF'
|
||||
}
|
||||
};
|
||||
|
||||
@ -305,13 +307,14 @@ class SkinCode extends defaultStyle {
|
||||
detainNormal:{
|
||||
z:0,
|
||||
position: 1, // 扣车标识在站台上显示方向
|
||||
special:true,
|
||||
text: 'H', // 扣车显示内容
|
||||
insideOffset: { x: 80, y: -18 }, // 内站台扣车偏移量
|
||||
outsideOffset: { x:80, y: 25 }, // 外站台扣车偏移量
|
||||
insideOffset: { x: 15, y: -28 }, // 内站台扣车偏移量
|
||||
outsideOffset: { x:15, y: 22 }, // 外站台扣车偏移量
|
||||
centerTrainColor: '#ff0', // 中心扣车颜色
|
||||
andCenterTrainColor: '#ff0', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#ff0', // 车站扣除文字颜色
|
||||
fontSize: 16, // 字体大小
|
||||
fontSize: 14, // 字体大小
|
||||
fontWeight: 'bolder',
|
||||
textVerticalAlign: 'middle' // 车站扣车 文字垂直对齐方式
|
||||
},
|
||||
@ -326,12 +329,13 @@ class SkinCode extends defaultStyle {
|
||||
// 跳停
|
||||
jump: {
|
||||
z:1,
|
||||
special:true,
|
||||
position: 1, // 停跳方向
|
||||
text: 'S', // 停跳显示内容
|
||||
offset: { x: 20, y: 21 },
|
||||
offset: { x: -15, y: -18 },
|
||||
textColor: '#00FF00', // 停跳文字颜色
|
||||
fontWeight: 'bold', // 文字居中
|
||||
fontSize: 18 // 文字大小
|
||||
fontSize: 14 // 文字大小
|
||||
},
|
||||
// 列车停站
|
||||
trainStop: { // 停车标志
|
||||
@ -353,8 +357,8 @@ class SkinCode extends defaultStyle {
|
||||
// 站台 扣车/取消扣车,越站/取消越站 设置按钮
|
||||
stationPlatform:{
|
||||
z:1,
|
||||
insideOffset: { x: 50, y: -20 }, // 内站台按钮偏移量
|
||||
outsideOffset: { x: 50, y: 20}, // 外站台按钮偏移量
|
||||
insideOffset: { y: -20 }, // 内站台按钮偏移量
|
||||
outsideOffset: { y: 20}, // 外站台按钮偏移量
|
||||
detainColor:'#FFFF00', // 扣车颜色
|
||||
defaultColor:'#BFBFBF', // 默认颜色
|
||||
jumpColor:'#00FF00' // 跳停颜色
|
||||
@ -759,7 +763,8 @@ class SkinCode extends defaultStyle {
|
||||
targetCodePrefix: '000', // 目的地码前缀
|
||||
defaultTargetCode: 'AAA', // 默认目的地码
|
||||
trainTargetTextAlign: 'left', // 车次号文字显示位置
|
||||
trainNumberOffset: { x: 48, y: 3 }// 目的地码偏移量
|
||||
trainNumberOffset: { x: 48, y: 3 }, // 目的地码偏移量
|
||||
fontColor: '#00C300'
|
||||
},
|
||||
trainServer: {
|
||||
serviceNumberPrefix: '000', // 服务号(表号)前缀
|
||||
@ -788,12 +793,16 @@ class SkinCode extends defaultStyle {
|
||||
trainHeadArrowWidth: 5, // 列车车头三角宽度
|
||||
trainHeadArrowOffsetX: 2 // 列车车头三角偏移
|
||||
},
|
||||
driveModeText: { // 驾驶模式
|
||||
driveModeTextOffset: { x: 30, y: 25 }
|
||||
},
|
||||
common: {
|
||||
hasTravelSigns: true, // 是否有行进标志
|
||||
hasAtrStatus: true, // 是否有atr状态
|
||||
hasDelayTime: true, // 是否有延迟时间
|
||||
hasCrewNum: true, // 是否有乘务组号
|
||||
hasTravelNum: true, // 是否有行程号
|
||||
hasDriveMode: true, // 是否有驾驶模式
|
||||
fixedCoordinates: true, // 列车车组号等固定坐标
|
||||
trainHeight: 40, // 列车高度
|
||||
trainHeadDistance: 2, // 列车和车头之间的间距
|
||||
@ -804,7 +813,12 @@ class SkinCode extends defaultStyle {
|
||||
haveArrowText: true, // 是否需创建arrowText对象
|
||||
textOffset: 1, // 字体偏移(用以控制字体据车头的距离)
|
||||
trainWidthMoreText: 2, // 计算列车长度时--列车长比text多出尺寸
|
||||
trainTip:true // 鼠标悬停列车状态信息框是否显示
|
||||
trainTip:true, // 鼠标悬停列车状态信息框是否显示
|
||||
cbtcSpeedColor: true, // 列车车组号 驾驶模式等 是否在cbtc列车中随速度变化颜色
|
||||
cbtcSpeedColorLevel1: '#F00', // cbtc 列车禁止时 车组号 驾驶模式 颜色
|
||||
cbtcSpeedColorLevel2: '#BA00BA', // cbtc 列车 速度 小于25 大于0 时 颜色
|
||||
cbtcSpeedColorLevel3: '#F3FE00', // cbtc 列车 速度 大于25 小于60 时 颜色
|
||||
cbtcSpeedColorLevel4: '#00FF00' // cttc 列车 速度 大于60时 颜色
|
||||
},
|
||||
trainStatusStyle: {
|
||||
defaultDestinationColor: '#FFFF00', // 默认目的地状态显示颜色
|
||||
@ -841,32 +855,32 @@ class SkinCode extends defaultStyle {
|
||||
driveModeStatus: [
|
||||
{
|
||||
status: 'AM',
|
||||
trainLColor: '#00FF00',
|
||||
trainRColor: '#00FF00'
|
||||
traveNumColor: '#00FF00',
|
||||
serviceColor: '#00FF00',
|
||||
tripColor: '#00FF00'
|
||||
},
|
||||
{
|
||||
status: 'CM',
|
||||
trainLColor: '#FFFF00',
|
||||
trainRColor: '#FFFF00'
|
||||
traveNumColor: '#FF0000',
|
||||
serviceColor: '#FF0000',
|
||||
tripColor: '#FF0000'
|
||||
},
|
||||
{
|
||||
status: 'RM',
|
||||
trainLColor: '#EA700D',
|
||||
trainRColor: '#EA700D'
|
||||
traveNumColor: '#FF0000',
|
||||
serviceColor: '#FF0000',
|
||||
tripColor: '#FF0000'
|
||||
},
|
||||
{
|
||||
status: 'NRM',
|
||||
trainLColor: '#A0522D',
|
||||
trainRColor: '#A0522D'
|
||||
traveNumColor: '#FF0000',
|
||||
serviceColor: '#FF0000',
|
||||
tripColor: '#FF0000'
|
||||
}
|
||||
], // 列车运行模式对应车头颜色 ATO自动驾驶模式AM ATP监控下的人工驾驶模式CM 限制人工驾驶模式RM 非限制人工驾驶模式NRM
|
||||
runControlStatus: [], // 设置运行控制状态类型 eg:{status: '01', hShow: false, sShow: false}
|
||||
doorStatus: [], // 设置车门状态类型
|
||||
communicationStatus: [
|
||||
{status: 'CBTC', trainColor: '#000000'},
|
||||
{status: 'ITC', trainColor: '#C0C0C0'},
|
||||
{status: 'IL', trainColor: '#C0C0C0'}
|
||||
], // 设置通信状态
|
||||
communicationStatus: [], // 设置通信状态
|
||||
alarmStatus: [], // 设置报警状态 eg:{status: '01', aShow: false}
|
||||
serverNoType: []// 服务号状态类型 eg:{type: '01', showColor: '#FFFFFF'}
|
||||
}
|
||||
|
@ -339,7 +339,7 @@ class Signal extends Group {
|
||||
fontWeight: style.Signal.text.fontWeight,
|
||||
fontSize: style.Signal.text.fontSize,
|
||||
fontFamily: style.fontFamily,
|
||||
textFill: style.Signal.text.defaultColor,
|
||||
textFill: style.Signal.transmission.textColor,
|
||||
textAlign: textAlign,
|
||||
textVerticalAlign: textVerticalAlign
|
||||
});
|
||||
@ -356,7 +356,9 @@ class Signal extends Group {
|
||||
]
|
||||
},
|
||||
style: {
|
||||
fill: style.Signal.transmission.fillColor
|
||||
fill: style.Signal.transmission.fillColor,
|
||||
stroke: style.Signal.transmission.strokeColor,
|
||||
lineWidth: 0
|
||||
}
|
||||
});
|
||||
this.add(this.transmission);
|
||||
@ -728,7 +730,9 @@ class Signal extends Group {
|
||||
}
|
||||
|
||||
setState(model) {
|
||||
if (!this.isShowShape || this.model.type === 'TRANSMISSION') return;
|
||||
if (!this.isShowShape || this.model.type === 'TRANSMISSION') {
|
||||
return;
|
||||
}
|
||||
const path = window.location.href;
|
||||
this.recover();
|
||||
|
||||
@ -853,8 +857,12 @@ class Signal extends Group {
|
||||
};
|
||||
}
|
||||
drawSelected(selected) {
|
||||
if (this.model.type === 'TRANSMISSION') {
|
||||
this.transmission && this.transmission.setStyle({ lineWidth: selected ? 2 : 0 });
|
||||
} else {
|
||||
this.highlight && this.highlight.drawSelected(selected);
|
||||
}
|
||||
}
|
||||
|
||||
checkIsDrawMap() {
|
||||
const path = window.location.href;
|
||||
|
@ -15,7 +15,8 @@ class EStationPlatform extends Group {
|
||||
|
||||
const buttonD = model.right ? 1 : -1;
|
||||
const platFormOffset = model.inside ? style.StationStand.stationPlatform.insideOffset : style.StationStand.stationPlatform.outsideOffset;
|
||||
const buttonX = model.position.x - buttonD * (platFormOffset.x - model.width / 2);
|
||||
const buttonX = model.position.x - buttonD * ( model.width / 2 - 20);
|
||||
// platFormOffset.x -
|
||||
const buttonY = model.position.y + buttonD * (platFormOffset.y + buttonD * model.height / 2);
|
||||
this.stationPlatform = new Polygon({
|
||||
zlevel: this.model.zlevel,
|
||||
@ -49,6 +50,7 @@ class EStationPlatform extends Group {
|
||||
this.stationPlatform && this.stationPlatform.setStyle({fill:color});
|
||||
}
|
||||
recover() {
|
||||
// console.log(this.model.modelData, 22222222222);
|
||||
// console.log(this.model.modelData.code, 111111111);
|
||||
const style = this.model.style;
|
||||
this.setColor(style.StationStand.stationPlatform.defaultColor);
|
||||
|
@ -39,6 +39,10 @@ class EDetain extends Group {
|
||||
}
|
||||
});
|
||||
this.add(this.detain);
|
||||
|
||||
if (deviceParam.special) {
|
||||
this.detain.setStyle({x:model.position.x - detainD * (model.width / 2 + detainOffset.x), 'textPadding':[1, 3], 'textBorderColor':'#fff', 'textBorderWidth':1});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -14,9 +14,30 @@ class EJump extends Group {
|
||||
this.isNew = true;
|
||||
|
||||
const jumpDirct = model.right ? -1 : 1;
|
||||
const jumpOffsetY = model.inside ? -1 : 1;
|
||||
const jumpX = model.position.x - jumpDirct * (deviceParam.offset.x - model.width / 2);
|
||||
const jumpY = model.position.y + jumpDirct * deviceParam.offset.y;
|
||||
|
||||
if (deviceParam.special) {
|
||||
this.jump = new Text({
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z,
|
||||
style: {
|
||||
x: jumpX,
|
||||
y: model.position.y + jumpDirct * jumpOffsetY * deviceParam.offset.y,
|
||||
fontWeight: deviceParam.fontWeight,
|
||||
fontSize: deviceParam.fontSize,
|
||||
fontFamily: style.fontFamily,
|
||||
text: deviceParam.text,
|
||||
textFill: deviceParam.textColor,
|
||||
textAlign: style.textStyle.textAlign,
|
||||
textVerticalAlign: style.textStyle.textVerticalAlign,
|
||||
textPadding:[1, 3],
|
||||
textBorderColor:'#fff',
|
||||
textBorderWidth:1
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.jump = new Text({
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z,
|
||||
@ -32,6 +53,8 @@ class EJump extends Group {
|
||||
textVerticalAlign: style.textStyle.textVerticalAlign
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
this.add(this.jump);
|
||||
}
|
||||
}
|
||||
|
@ -281,6 +281,23 @@ export default class TrainBody extends Group {
|
||||
});
|
||||
this.add(this.delayTime);
|
||||
}
|
||||
if (style.Train.common.hasDriveMode) {
|
||||
this.driveModeText = new ETextName({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z + 1,
|
||||
x: parseInt(model.point.x + style.Train.driveModeText.driveModeTextOffset.x),
|
||||
y: parseInt(model.point.y + style.Train.driveModeText.driveModeTextOffset.y),
|
||||
text: model.driveMode,
|
||||
textFill: '#DADA00',
|
||||
textStroke: style.trainTextColor,
|
||||
textStrokeWidth: 0,
|
||||
fontSize: model.fontSize,
|
||||
fontFamily: style.Train.common.fontFamily,
|
||||
textAlign: 'left',
|
||||
textVerticalAlign: 'top'
|
||||
});
|
||||
this.add(this.driveModeText);
|
||||
}
|
||||
}
|
||||
|
||||
removeTrainDetail() {
|
||||
@ -326,6 +343,15 @@ export default class TrainBody extends Group {
|
||||
return new BoundingRect(0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
setTravelNumColor(color) { // 设置目的地码颜色
|
||||
this.travelNum && this.travelNum.setStyle({ textFill: color });
|
||||
}
|
||||
setServiceColor(color) { // 设置服务号颜色
|
||||
this.textTrainServer && this.textTrainServer.setStyle({ textFill: color });
|
||||
}
|
||||
setTripColor(color) { // 设置车次号颜色
|
||||
this.textTrainTrip && this.textTrainTrip.setStyle({ textFill: color });
|
||||
}
|
||||
getBoundingRectOfFont() { // 获取文字高度
|
||||
if (this.textTrainServer) {
|
||||
const tempRect = this.textTrainServer.getBoundingRect().clone();
|
||||
@ -431,6 +457,26 @@ export default class TrainBody extends Group {
|
||||
}
|
||||
}
|
||||
}
|
||||
setSpeedColor(speed) {
|
||||
const style = this.style;
|
||||
if (speed == 0) {
|
||||
this.crewNum && this.crewNum.setStyle({textFill: style.Train.common.cbtcSpeedColorLevel1});
|
||||
this.textTrainGroup && this.textTrainGroup.setStyle({textFill: style.Train.common.cbtcSpeedColorLevel1});
|
||||
this.driveModeText && this.driveModeText.setStyle({textFill: style.Train.common.cbtcSpeedColorLevel1});
|
||||
} else if (speed < 25) {
|
||||
this.crewNum && this.crewNum.setStyle({textFill: style.Train.common.cbtcSpeedColorLevel2});
|
||||
this.textTrainGroup && this.textTrainGroup.setStyle({textFill: style.Train.common.cbtcSpeedColorLevel2});
|
||||
this.driveModeText && this.driveModeText.setStyle({textFill: style.Train.common.cbtcSpeedColorLevel2});
|
||||
} else if (speed < 60) {
|
||||
this.crewNum && this.crewNum.setStyle({textFill: style.Train.common.cbtcSpeedColorLevel3});
|
||||
this.textTrainGroup && this.textTrainGroup.setStyle({textFill: style.Train.common.cbtcSpeedColorLevel3});
|
||||
this.driveModeText && this.driveModeText.setStyle({textFill: style.Train.common.cbtcSpeedColorLevel3});
|
||||
} else {
|
||||
this.crewNum && this.crewNum.setStyle({textFill: style.Train.common.cbtcSpeedColorLevel4});
|
||||
this.textTrainGroup && this.textTrainGroup.setStyle({textFill: style.Train.common.cbtcSpeedColorLevel4});
|
||||
this.driveModeText && this.driveModeText.setStyle({textFill: style.Train.common.cbtcSpeedColorLevel4});
|
||||
}
|
||||
}
|
||||
setPositionText(model, right) {
|
||||
let widthText = 0;
|
||||
let point = {
|
||||
|
@ -272,8 +272,11 @@ export default class Train extends Group {
|
||||
if (this.style.Train.trainStatusStyle.driveModeStatus.length > 0) {
|
||||
this.style.Train.trainStatusStyle.driveModeStatus.some((item) => {
|
||||
if (status === item.status) {
|
||||
this.trainL && this.trainL.setColor(item.trainLColor);
|
||||
this.trainR && this.trainR.setColor(item.trainRColor);
|
||||
this.trainL && item.trainLColor && this.trainL.setColor(item.trainLColor);
|
||||
this.trainR && item.trainRColor && this.trainR.setColor(item.trainRColor);
|
||||
this.trainB && item.traveNumColor && this.trainB.setTravelNumColor(item.traveNumColor);
|
||||
this.trainB && item.serviceColor && this.trainB.setServiceColor(item.serviceColor);
|
||||
this.trainB && item.tripColor && this.trainB.setTripColor(item.tripColor);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
@ -354,6 +357,9 @@ export default class Train extends Group {
|
||||
this.setCommunicationStatus(model.runLevel);
|
||||
this.setSoonerOrLater(model.dt);
|
||||
}
|
||||
if (this.style.Train.common.cbtcSpeedColor && model.runLevel === 'CBTC') { // 南京二号线 ctc列车随速度变化 列车部分颜色发生变化
|
||||
this.trainB.setSpeedColor(model.speed);
|
||||
}
|
||||
this.setDoorStatus(model.doorCloseLock);
|
||||
this.setAlarmStatus(model.alarmStatus);
|
||||
this.setHoldStatus(model.hold);
|
||||
|
@ -113,8 +113,8 @@
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<el-dialog
|
||||
v-else
|
||||
v-dialogDrag
|
||||
class="haerbin-01__systerm __menuButton"
|
||||
style="pointer-events: none"
|
||||
@ -171,6 +171,38 @@
|
||||
<el-button class="fr" style="line-height: 18px; margin-top: 4px;" plain @click="handleClose">关闭</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="haerbin-01__systerm __menuButton"
|
||||
style="pointer-events: none"
|
||||
title="IBP"
|
||||
:visible.sync="stationDialogVisible"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
width="30%"
|
||||
append-to-body
|
||||
:before-close="handleStationClose"
|
||||
>
|
||||
<div class="station_buttonGroup">
|
||||
<div class="station_buttonGroupL">
|
||||
<div v-if="allowDetain" :id="setDetainTrainId" class="stationButton" @click="stationDetainTrain">此站扣车</div>
|
||||
<div v-else class="stationButton disabled">此站扣车</div>
|
||||
</div>
|
||||
<div class="station_buttonGroupR">
|
||||
<div v-if="allowCancle" :id="cancelTrainId" class="stationButton" @click="stationCancleTrain">取消设置</div>
|
||||
<div v-else class="stationButton disabled">取消设置</div>
|
||||
<div v-if="allowJump" :id="setJumpStopId" class="stationButton station_jumpTrain" @click="stationJumpTrain">此站不停</div>
|
||||
<div v-else class="stationButton station_jumpTrain disabled">此站不停</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="station_line" />
|
||||
<div class="station_commandGroup">
|
||||
<el-button plain class="station_updateStatus">更新</el-button>
|
||||
<el-button plain class="station_close" @click="handleStationClose">关闭</el-button>
|
||||
<el-button :id="commandId" plain class="station_command" :class="{'disabled': isAllowCommand}" :disabled="isAllowCommand" @click="stationToCommand">执行</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
<notice-info ref="noticeInfo" pop-class="haerbin-01__systerm" />
|
||||
</div>
|
||||
</template>
|
||||
@ -236,7 +268,12 @@ export default {
|
||||
formModelNewTrip: '',
|
||||
dialogVisible: false,
|
||||
tipList: [],
|
||||
modeMatch: false
|
||||
modeMatch: false,
|
||||
stationDialogVisible:false,
|
||||
isAllowCommand:true,
|
||||
allowDetain:true,
|
||||
allowCancle:true,
|
||||
allowJump:true
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -254,6 +291,15 @@ export default {
|
||||
commandId() {
|
||||
return OperationEvent.Command.commandHaerbin.confirm.domId;
|
||||
},
|
||||
setDetainTrainId() {
|
||||
return OperationEvent.StationStand.setDetainTrain.menuButton.domId;
|
||||
},
|
||||
cancelTrainId() {
|
||||
return OperationEvent.StationStand.cancelTrain.menuButton.domId;
|
||||
},
|
||||
setJumpStopId() {
|
||||
return OperationEvent.StationStand.setJumpStop.menuButton.domId;
|
||||
},
|
||||
cr1ConfrimId() {
|
||||
return OperationEvent.Command.commandHaerbin.confrimCr1.domId;
|
||||
},
|
||||
@ -337,11 +383,11 @@ export default {
|
||||
this.deviceHighLight(this.selectedObj, true);
|
||||
this.oldDevice = this.selectedObj;
|
||||
break;
|
||||
case 'StationStand':
|
||||
if (this.$store.state.menuOperation.subType == 'trainSetButton') {
|
||||
this.handleStandMenu();
|
||||
}
|
||||
break;
|
||||
// case 'StationStand':
|
||||
// if (this.$store.state.menuOperation.subType == 'trainSetButton') {
|
||||
// this.handleStandMenu();
|
||||
// }
|
||||
// break;
|
||||
}
|
||||
}
|
||||
}).catch((error) => {
|
||||
@ -362,9 +408,30 @@ export default {
|
||||
},
|
||||
'selected': function (val) {
|
||||
this.initMenus();
|
||||
if (val.code && val._event == MouseEvent.Left && val._type != 'Psd') {
|
||||
if (val.code && val._event == MouseEvent.Left) {
|
||||
if (val._type != 'Psd' && val._type != 'StationStand') {
|
||||
this.dialogVisible = !this.isLocal;
|
||||
}
|
||||
if (val._type == 'StationStand' && this.$store.state.menuOperation.subType == 'trainSetButton') {
|
||||
if (!(this.selectedObj.assignSkip || this.selectedObj.allSkip || this.selectedObj.centerHoldTrain || this.selectedObj.stationHoldTrain)) {
|
||||
this.allowCancle = false;
|
||||
} else {
|
||||
if (this.selectedObj.assignSkip || this.selectedObj.allSkip) {
|
||||
this.allowJump = false;
|
||||
this.allowCancle = true;
|
||||
this.allowDetain = false;
|
||||
}
|
||||
if (this.selectedObj.centerHoldTrain || this.selectedObj.stationHoldTrain) {
|
||||
this.allowDetain = false;
|
||||
this.allowCancle = true;
|
||||
this.allowJump = false;
|
||||
}
|
||||
}
|
||||
|
||||
this.stationDialogVisible = true;
|
||||
}
|
||||
} else if (!val.code) {
|
||||
this.dialogVisible = false;
|
||||
if (this.$store.state.training.mode != TrainingMode.TEACH) {
|
||||
this.handleBasicMenu();
|
||||
}
|
||||
@ -777,6 +844,15 @@ export default {
|
||||
handleClose() {
|
||||
this.dialogVisible = false;
|
||||
},
|
||||
handleStationClose() {
|
||||
this.cmdType = '';
|
||||
this.operate = ''; // 清空指令
|
||||
this.isAllowCommand = true;
|
||||
this.stationDialogVisible = false;
|
||||
this.allowJump = true;
|
||||
this.allowCancle = true;
|
||||
this.allowDetain = true;
|
||||
},
|
||||
handleTrainParam() {
|
||||
if (this.selectedObj.type === '01') {
|
||||
this.formModelSectionName = this.selectedObj.name;
|
||||
@ -838,6 +914,59 @@ export default {
|
||||
this.$refs.noticeInfo.doShow('请输入正确的车次号');
|
||||
}
|
||||
},
|
||||
stationToCommand() {
|
||||
const step = {
|
||||
operation: OperationEvent.Command.commandHaerbin.confirm.operation,
|
||||
over:true,
|
||||
cmdType:this.cmdType
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.handleStationClose();
|
||||
}
|
||||
}).catch((error) => {
|
||||
console.error(error);
|
||||
this.handleStationClose();
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
},
|
||||
stationCommand(row) {
|
||||
const step = {};
|
||||
this.operate = row.operation;
|
||||
step.operate = this.operate;
|
||||
step.start = true;
|
||||
step.param = {'standCode':this.selectedObj.code};
|
||||
this.cmdType = row.cmdType;
|
||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.isAllowCommand = false;
|
||||
// this.securityCommand = row.securityCommand || row.next;
|
||||
} else if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
}
|
||||
}).catch((error) => {
|
||||
console.error(error);
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
},
|
||||
stationDetainTrain() {
|
||||
const row = {};
|
||||
row.operation = OperationEvent.StationStand.setDetainTrain.menuButton.operation;
|
||||
row.cmdType = CMD.Stand.CMD_STAND_SET_HOLD_TRAIN;
|
||||
this.stationCommand(row);
|
||||
},
|
||||
stationCancleTrain() {
|
||||
const row = {};
|
||||
row.operation = OperationEvent.StationStand.cancelTrain.menuButton.operation;
|
||||
row.cmdType = CMD.Stand.CMD_STAND_CANCEL_SETTING;
|
||||
this.stationCommand(row);
|
||||
},
|
||||
stationJumpTrain() {
|
||||
const row = {};
|
||||
row.operation = OperationEvent.StationStand.setJumpStop.menuButton.operation;
|
||||
row.cmdType = CMD.Stand.CMD_STAND_SET_JUMP_STOP;
|
||||
this.stationCommand(row);
|
||||
},
|
||||
initMenus() {
|
||||
this.basicParamList = this.$store.state.training.prdType === '01' ? [
|
||||
{ name: '' },
|
||||
@ -871,34 +1000,24 @@ export default {
|
||||
{ name: '' },
|
||||
{ name: '' },
|
||||
{ name: '' },
|
||||
{ name: '强行站控', cmdType: CMD.ControlConvertMenu.CMD_CM_FORCE_STATION_CONTROL, operate: OperationEvent.StationControl.forcedStationControl.menu, securityCommand: true, disabledCb: (selectedObj) => ['Local'].includes(selectedObj.controlMode) },
|
||||
{ name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, disabledCb: (selectedObj) => ['Local'].includes(selectedObj.controlMode) },
|
||||
{ name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menu, disabledCb: (selectedObj) => ['Center'].includes(selectedObj.controlMode) },
|
||||
{ name: '' },
|
||||
{ name: '' },
|
||||
{ name: '' },
|
||||
{ name: '' },
|
||||
{ name: '关闭索引', cmdType: '', operate: OperationEvent.StationControl.requestCentralControl.menu, disabledCb: (selectedObj) => ['None'].includes(selectedObj.controlMode) }
|
||||
// { name: '自排全开', cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING, operate: OperationEvent.Station.atsAutoControlALL.menu, disabledCb: (selectedObj) => ['None'].includes(selectedObj.controlMode) },
|
||||
// { name: '自排全关', cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING, operate: OperationEvent.Station.humanControlALL.menu, disabledCb: (selectedObj) => ['None'].includes(selectedObj.controlMode) },
|
||||
// { name: '释放指令', cmdType: '', operate: OperationEvent.Station.humanControlALL.menu, disabledCb: (selectedObj) => ['None'].includes(selectedObj.controlMode) },
|
||||
// { name: '重启令解', cmdType: CMD.Station.CMD_STATION_RESTART, operate:OperationEvent.Station.stationRestart.menuButton, securityCommand: true, disabledCb: (selectedObj) => ['None'].includes(selectedObj.controlMode)},
|
||||
// { name: '追踪全开', cmdType: CMD.Station.CMD_STATION_SET_CI_AUTO_TRIGGER, operate: OperationEvent.Station.setAutoTrigger.menu, disabledCb: (selectedObj) => ['None'].includes(selectedObj.controlMode)},
|
||||
// { name: '追踪全关', cmdType: CMD.Station.CMD_STATION_CANCEL_CI_AUTO_TRIGGER, operate: OperationEvent.Station.cancelAutoTrigger.menu, disabledCb: (selectedObj) => ['None'].includes(selectedObj.controlMode) },
|
||||
// { name: '关区信号', cmdType: CMD.Station.CMD_STATION_CIAREA_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.ciAreaCloseAllSignal.menu, disabledCb: (selectedObj) => ['None'].includes(selectedObj.controlMode) },
|
||||
// { name: '强行站控', cmdType: CMD.ControlConvertMenu.CMD_CM_FORCE_STATION_CONTROL, operate: OperationEvent.StationControl.forcedStationControl.menu, securityCommand: true, disabledCb: (selectedObj) => ['None'].includes(selectedObj.controlMode) },
|
||||
// { name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, disabledName: 'controlMode', mode: 'Center', disabledCb: (selectedObj) => ['None'].includes(selectedObj.controlMode) },
|
||||
// { name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menu, disabledName: 'controlMode', mode: 'None', disabledCb: (selectedObj) => ['None'].includes(selectedObj.controlMode) },
|
||||
{ name: '' },
|
||||
{ name: '' },
|
||||
{ name: '' },
|
||||
{ name: '' }
|
||||
];
|
||||
|
||||
this.sectionParamList = this.selected && this.selected.type == '05'? [
|
||||
this.sectionParamList = this.selected && this.selected.type == '05' ? [
|
||||
{ name: '岔芯设限', cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED, operate: OperationEvent.Section.setSpeed.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '岔芯消限', cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED, operate: OperationEvent.Section.cancelSpeed.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '强行消限', cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED, operate: OperationEvent.Section.cancelSpeed.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '预复位', cmdType: CMD.Section.CMD_SECTION_AXIS_PRE_RESET, operate: OperationEvent.Section.cancelSpeed.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '封锁岔心', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menuButton, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '解封岔心', cmdType: CMD.Section.CMD_SECTION_UNBLOCK, operate: OperationEvent.Section.unlock.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '强解岔心', cmdType: CMD.Section.CMD_SECTION_FORCE_UNLOCK, operate: OperationEvent.Section.fault.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '强解岔心', cmdType: CMD.Section.CMD_SECTION_FORCE_UNLOCK, operate: OperationEvent.Section.fault.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch }
|
||||
] : [
|
||||
{ name: '轨区设限', cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED, operate: OperationEvent.Section.setSpeed.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '轨区消限', cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED, operate: OperationEvent.Section.cancelSpeed.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
@ -960,8 +1079,12 @@ export default {
|
||||
|
||||
// { name: '重复开放', cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL, operate: OperationEvent.Signal.reopenSignal.menuButton, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
];
|
||||
this.stationParamList = [
|
||||
{ name: '关站信号', cmdType: CMD.Station.CMD_STATION_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.closeAllSignal.menu, disabledCb: (selectedObj) => !['Local'].includes(selectedObj.controlMode)||!this.modeMatch }
|
||||
this.stationParamList = this.$store.state.training.prdType === '01' ? [
|
||||
{ name: '关站信号', cmdType: CMD.Station.CMD_STATION_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.closeAllSignal.menu, disabledCb: (selectedObj) => !['Local'].includes(selectedObj.controlMode) || !this.modeMatch }
|
||||
] : [
|
||||
{ name: '关站信号', cmdType: CMD.Station.CMD_STATION_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.closeAllSignal.menu, disabledCb: (selectedObj) => !['Local'].includes(selectedObj.controlMode) || !this.modeMatch },
|
||||
{ name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, disabledCb: (selectedObj) => ['Center'].includes(selectedObj.controlMode) },
|
||||
{ name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menu, disabledCb: (selectedObj) => ['Local', 'None'].includes(selectedObj.controlMode) }
|
||||
];
|
||||
// [
|
||||
// { name: '' },
|
||||
@ -984,12 +1107,12 @@ export default {
|
||||
// { name: '自排全开', cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING, operate: OperationEvent.Station.atsAutoControlALL.menuButton },
|
||||
// { name: '自排全关', cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING, operate: OperationEvent.Station.humanControlALL.menuButton }
|
||||
// ];
|
||||
this.standParamList = this.$store.state.training.prdType === '01' ? [] : [
|
||||
{ name: '扣车', cmdType: CMD.Stand.CMD_STAND_SET_HOLD_TRAIN, operate: OperationEvent.StationStand.setDetainTrain.menuButton, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '取消扣车', cmdType: CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN, operate: OperationEvent.StationStand.cancelDetainTrain.menuButton, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '越站', cmdType: CMD.Stand.CMD_STAND_SET_JUMP_STOP, operate: OperationEvent.StationStand.setJumpStop.menuButton, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '取消越站', cmdType: CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP, operate: OperationEvent.StationStand.cancelJumpStop.menuButton, disabledCb: (selectedObj) => !this.modeMatch }
|
||||
];
|
||||
// this.standParamList = this.$store.state.training.prdType === '01' ? [] : [
|
||||
// { name: '扣车', cmdType: CMD.Stand.CMD_STAND_SET_HOLD_TRAIN, operate: OperationEvent.StationStand.setDetainTrain.menuButton, show: false },
|
||||
// { name: '取消扣车', cmdType: CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN, operate: OperationEvent.StationStand.cancelDetainTrain.menuButton, show: false },
|
||||
// { name: '越站', cmdType: CMD.Stand.CMD_STAND_SET_JUMP_STOP, operate: OperationEvent.StationStand.setJumpStop.menuButton, show: false },
|
||||
// { name: '取消越站', cmdType: CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP, operate: OperationEvent.StationStand.cancelJumpStop.menuButton, show: false }
|
||||
// ];
|
||||
this.routeParamList = [
|
||||
{ name: '排列进路', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menuButton, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '取消进路', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, operate: OperationEvent.Signal.cancelTrainRoute.menuButton, disabledCb: (selectedObj) => !this.modeMatch }
|
||||
@ -1237,4 +1360,66 @@ export default {
|
||||
from {transform: rotate(0);}
|
||||
to {transform: rotate(360deg);}
|
||||
}
|
||||
|
||||
.station_buttonGroup{
|
||||
display: inline-block;
|
||||
margin-top: 5px;
|
||||
width: 100%;
|
||||
}
|
||||
.station_buttonGroupL{
|
||||
margin-left: 10px;
|
||||
float: left;
|
||||
}
|
||||
.station_buttonGroupR{
|
||||
float: right;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.station_jumpTrain{
|
||||
margin-top: 15px;
|
||||
}
|
||||
.station_line{
|
||||
padding: 0px 10px;
|
||||
width: 100%;
|
||||
height: 20px;
|
||||
margin-top: 10px;
|
||||
&::before{
|
||||
content:'';
|
||||
border:1px #ccc solid;
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
height: 20px;
|
||||
}
|
||||
}
|
||||
.station_commandGroup{
|
||||
margin-top: 10px;
|
||||
padding: 10px;
|
||||
}
|
||||
.station_updateStatus{}
|
||||
.station_command{
|
||||
float: right;
|
||||
}
|
||||
.station_close{
|
||||
float: right;
|
||||
}
|
||||
.stationButton{
|
||||
font-size: 12px;
|
||||
width: 100px;
|
||||
border-radius: 1px !important;
|
||||
border: 1px solid #426688;
|
||||
background: #DDDDDD;
|
||||
color: #000;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
padding: 4px 0px;
|
||||
cursor: pointer;
|
||||
&:hover, &.active{
|
||||
background: #CFE8FC;
|
||||
}
|
||||
&.disabled{
|
||||
background: #f0f0f0;
|
||||
color:#a0a0a0;
|
||||
border: 1px solid #D0CEC5;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -1887,6 +1887,12 @@ export const OperationEvent = {
|
||||
operation: '519',
|
||||
domId: '_Tips-Stand-openPsdByHand-Menu'
|
||||
}
|
||||
},
|
||||
cancelTrain:{
|
||||
menuButton: {
|
||||
operation: '520',
|
||||
domId: '_Tips-Stand-CancelTrain-MenuButton{BOTTOM}'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user