Merge remote-tracking branch 'origin/test'

This commit is contained in:
thesai 2021-07-27 23:43:36 +08:00
commit 2552983fb5
39 changed files with 1755 additions and 51 deletions

View File

@ -660,3 +660,17 @@ export function checkConfig(mapId, data) {
}); });
} }
// { check: true/false } body体 // { check: true/false } body体
// 进路数据处理删除扣车
export function deleteDetain(mapId) {
return request({
url: `/api/draftMap/${mapId}/route/handle/standHoldList/delete`,
method: 'put'
});
}
// 进路数据处理不办延续保护
export function noOverlap(mapId) {
return request({
url: `/api/draftMap/${mapId}/route/handle/setOverlapInCtc/false`,
method: 'put'
});
}

View File

@ -47,8 +47,8 @@ export function Lesson3dPlayer(dom,lessonData,lessonIndex) {
light.position.set( 0, 4000, 0 ); light.position.set( 0, 4000, 0 );
scene.add( light ); scene.add( light );
let fire = new Fire(); // let fire = new Fire();
fire.init(scene); // fire.init(scene);
let animateManager = new AnimateManager(); let animateManager = new AnimateManager();
@ -60,8 +60,6 @@ export function Lesson3dPlayer(dom,lessonData,lessonIndex) {
animateManager.initAnimation(assetModelManager); animateManager.initAnimation(assetModelManager);
controlManager.init(animateManager.actions,assetModelManager); controlManager.init(animateManager.actions,assetModelManager);
startLesson(); startLesson();
animate(); animate();
resolve("loadeend"); //['成功了', 'success'] resolve("loadeend"); //['成功了', 'success']
@ -90,12 +88,14 @@ export function Lesson3dPlayer(dom,lessonData,lessonIndex) {
this.changeIndex = function(nowIndex){ this.changeIndex = function(nowIndex){
lessonIndex = nowIndex; lessonIndex = nowIndex;
scope.nowSceneType = lessonData.lessonProgress[nowIndex].progressScene; scope.nowSceneType = lessonData.lessonProgress[nowIndex].progressScene;
console.log(nowRole);
console.log(lessonData.lessonProgress[lessonIndex].roleName);
if(lessonData.lessonProgress[lessonIndex].roleName == nowRole){ if(lessonData.lessonProgress[lessonIndex].roleName == nowRole){
controlManager.initControlMode(lessonIndex); controlManager.initControlMode(lessonIndex);
controlManager.initRoleMode(true,nowRole); controlManager.initRoleMode(true,nowRole);
controlManager.changeIndexEvent(lessonData.lessonProgress[lessonIndex].action,true,assetModelManager.lessonTriggerList[scope.nowSceneType]); controlManager.changeIndexEvent(lessonData.lessonProgress[lessonIndex].action,true,assetModelManager.lessonTriggerList[scope.nowSceneType]);
}else{ }else{
controlManager.initControlMode(lessonIndex);
controlManager.initRoleMode(false,nowRole); controlManager.initRoleMode(false,nowRole);
controlManager.changeIndexEvent(lessonData.lessonProgress[lessonIndex].action,false,assetModelManager.lessonTriggerList[scope.nowSceneType]); controlManager.changeIndexEvent(lessonData.lessonProgress[lessonIndex].action,false,assetModelManager.lessonTriggerList[scope.nowSceneType]);
} }
@ -107,18 +107,23 @@ export function Lesson3dPlayer(dom,lessonData,lessonIndex) {
} }
this.initNowRole = function(role){ this.initNowRole = function(role){
nowRole = role; if(role){
controlManager.initControlMode(lessonIndex); nowRole = role;
let roleMode = false; controlManager.initControlMode(lessonIndex);
if(lessonData.lessonProgress[lessonIndex].roleName == nowRole){ let roleMode = false;
roleMode = true; if(lessonData.lessonProgress[lessonIndex].roleName == nowRole){
} roleMode = true;
}
controlManager.initRoleMode(roleMode); controlManager.initRoleMode(roleMode);
console.log(assetModelManager); console.log(assetModelManager);
// if(lessonData.lessonProgress[lessonIndex].action.length>0){ // if(lessonData.lessonProgress[lessonIndex].action.length>0){
controlManager.changeIndexEvent(lessonData.lessonProgress[lessonIndex].action,roleMode,assetModelManager.lessonTriggerList[scope.nowSceneType]); controlManager.changeIndexEvent(lessonData.lessonProgress[lessonIndex].action,roleMode,assetModelManager.lessonTriggerList[scope.nowSceneType]);
// }
}else{
controlManager.changeIndexEvent(lessonData.lessonProgress[lessonIndex].action,false,assetModelManager.lessonTriggerList[scope.nowSceneType]);
}
// }
}; };
//循环渲染函数 //循环渲染函数
@ -133,7 +138,7 @@ export function Lesson3dPlayer(dom,lessonData,lessonIndex) {
if(controlManager.controlMode == "non"){ if(controlManager.controlMode == "non"){
controlManager.updateOrbitControl(); controlManager.updateOrbitControl();
} }
fire.update(); // fire.update();
animateManager.updateAnimation(); animateManager.updateAnimation();
requestAnimationFrame(animate); requestAnimationFrame(animate);

View File

@ -529,9 +529,8 @@ export function ControlManager(dom,scene,lessonData,lessonIndex) {
} }
} }
} }
console.log(eventTrigger);
if(actions[i].actionType == "contact"){ if(actions[i].actionType == "contact"){
for(let j=0;j<eventTrigger.length;j++){ for(let j=0;j<eventTrigger.length;j++){
if(eventTrigger[j].label == actions[i].actionModel){ if(eventTrigger[j].label == actions[i].actionModel){
let eventTestBox = new THREE.Box3(new THREE.Vector3(), new THREE.Vector3()); let eventTestBox = new THREE.Box3(new THREE.Vector3(), new THREE.Vector3());
@ -575,6 +574,8 @@ export function ControlManager(dom,scene,lessonData,lessonIndex) {
} }
} }
} }
}else if(actions.length>0){
console.log(actions);
} }
}; };

View File

@ -146,7 +146,7 @@ export function AssetModelManager(editor,scene) {
} }
// console.log(modelList); console.log(modelList);
return modelList; return modelList;
} }
@ -218,9 +218,9 @@ export function AssetModelManager(editor,scene) {
this.deleteAsset = function(selectModel,nowSceneType){ this.deleteAsset = function(selectModel,nowSceneType){
scope.otherModel.remove(selectModel); scope.otherModel.remove(selectModel);
for(let i=0;i<scope.lessonTriggerList.length;i++){ for(let i=0;i<scope.lessonTriggerList[nowSceneType].length;i++){
if(scope.lessonTriggerList[nowSceneType][i].uuid == selectModel.uuid){ if(scope.lessonTriggerList[nowSceneType][i].uuid == selectModel.uuid){
scope.lessonTriggerList.splice(i,1); scope.lessonTriggerList[nowSceneType].splice(i,1);
updateTriggerList(scope.lessonTriggerList[nowSceneType]); updateTriggerList(scope.lessonTriggerList[nowSceneType]);
break; break;
} }
@ -309,7 +309,8 @@ export function AssetModelManager(editor,scene) {
function fbxpromise(asset){ function fbxpromise(asset){
return new Promise(function(resolve, reject){ return new Promise(function(resolve, reject){
var loader = new THREE.FBXLoader(); var loader = new THREE.FBXLoader();
console.log(asset); // console.log(asset);
// console.log(asset.url);
if(asset.assetType == "static"){ if(asset.assetType == "static"){
loader.load( asset.url, function ( object ) { loader.load( asset.url, function ( object ) {
if(asset.sceneType){ if(asset.sceneType){

View File

@ -23,7 +23,7 @@ export function Lesson3dEditor(dom,lessonData) {
// let stats = new Stats(); // let stats = new Stats();
// dom.appendChild( stats.dom ); // dom.appendChild( stats.dom );
let lessonIndex = 0;
let scope = this; let scope = this;
this.dom = dom; this.dom = dom;
this.nowSceneType = ""; this.nowSceneType = "";

View File

@ -257,6 +257,52 @@ export function JobPaneData() {
}, },
], ],
}, },
{
name:"工程部门",
value:"gcbm",
text:"负责修复设备。",
picurl:"",
controlList:[
//联控
{
name:"联控",
data:[],
},
//动作
{
name:"动作",
data:[],
},
//口呼
{
name:"口呼",
data:[],
},
],
},
{
name:"报警中心",
value:"bjzx",
text:"报告,处理突发应急事件。",
picurl:"",
controlList:[
//联控
{
name:"联控",
data:[],
},
//动作
{
name:"动作",
data:[],
},
//口呼
{
name:"口呼",
data:[],
},
],
},
{ {
name:"地铁公安", name:"地铁公安",
value:"110", value:"110",

View File

@ -153,6 +153,8 @@ class Painter {
trainDevice.overLapIndex = index; trainDevice.overLapIndex = index;
trainDevice.instance && this.mapInstanceLevel[deviceType.Train].remove(trainDevice.instance); trainDevice.instance && this.mapInstanceLevel[deviceType.Train].remove(trainDevice.instance);
trainDevice.instance = null; trainDevice.instance = null;
trainDevice.zrOffsetX = this.$jmap.$options.offsetX;
trainDevice.zrOffsetY = this.$jmap.$options.offsetY;
this.add(trainDevice); this.add(trainDevice);
}); });

View File

@ -612,8 +612,12 @@ class Signal extends Group {
} }
} else { } else {
this.cbtcStatus = ''; this.cbtcStatus = '';
this.lamps[0] && this.lamps[0].setColor(this.style.Signal.lamp.greenColor); if (parseInt(this.model.lampPositionType) === 2) {
this.lamps[1] && this.lamps[1].setColor(this.style.backgroundColor); // 设置黑色 this.lamps[1] && this.lamps[1].setColor(this.style.Signal.lamp.greenColor);
this.lamps[0] && this.lamps[0].setColor(this.style.backgroundColor); // 设置黑色
} else {
this.lamps[0] && this.lamps[0].setColor(this.style.Signal.lamp.greenColor);
}
this.virtualSignal && this.virtualSignal.setColor(this.style.Signal.lamp.blueColor); this.virtualSignal && this.virtualSignal.setColor(this.style.Signal.lamp.blueColor);
if (this.style.Signal.lamp.guidName === 'doubleAndBase') { // 设置底座颜色 if (this.style.Signal.lamp.guidName === 'doubleAndBase') { // 设置底座颜色
this.sigPost.setColor('#00FF00'); this.sigPost.setColor('#00FF00');
@ -636,8 +640,12 @@ class Signal extends Group {
} }
} else { } else {
this.cbtcStatus = ''; this.cbtcStatus = '';
this.lamps[0] && this.lamps[0].setColor(this.style.Signal.lamp.yellowColor); if (parseInt(this.model.lampPositionType) === 2) {
this.lamps[1] && this.lamps[1].setColor(this.style.backgroundColor); this.lamps[1] && this.lamps[1].setColor(this.style.Signal.lamp.yellowColor);
this.lamps[0] && this.lamps[0].setColor(this.style.backgroundColor);
} else {
this.lamps[0] && this.lamps[0].setColor(this.style.Signal.lamp.yellowColor);
}
if (this.style.Signal.lamp.guidName === 'doubleAndBase') { // 设置底座颜色 if (this.style.Signal.lamp.guidName === 'doubleAndBase') { // 设置底座颜色
this.sigPost.setColor('#00FF00'); this.sigPost.setColor('#00FF00');
if (this.model.logicLight) { // 设置哈尔滨逻辑点灯 颜色 if (this.model.logicLight) { // 设置哈尔滨逻辑点灯 颜色

View File

@ -38,7 +38,7 @@ class EReentry extends Group {
setColor(color) { setColor(color) {
this.create(); this.create();
this.reentry.setStyle('textFill', color); this.reentry.setStyle('fill', color);
} }
hideMode() { hideMode() {
@ -56,16 +56,16 @@ class EReentry extends Group {
setState(model) { setState(model) {
const style = this.model.style; const style = this.model.style;
let reentryStrategy = ''; let typeStrategy = '';
if (model.reentryStrategy !== '04') { if (model.typeStrategy !== '04') {
reentryStrategy = model.reentryStrategy; typeStrategy = model.typeStrategy;
} else { } else {
reentryStrategy = model.defaultReentryStrategy; typeStrategy = model.defaultReentryStrategy;
} }
switch (reentryStrategy) { switch (typeStrategy) {
case 'DEFAULT': /** 默认*/ case 'DEFAULT': /** 默认*/
case 'NONE': { case 'NONE': {
this.reentry && this.reentry.hideMode(); /** 无折返策略*/ this.reentry && this.hideMode(); /** 无折返策略*/
break; break;
} }
case 'UNMANNED': { case 'UNMANNED': {

View File

@ -171,7 +171,18 @@ class EMouse extends Group {
} }
mouseover() { mouseover() {
if (this.device.model.style.Train.common.trainTip) { if (this.device.model.style.Train.common.trainTip) {
const zrRect = { x: this.device.model.model.zrOffsetX, y: this.device.model.model.zrOffsetY, width: store.state.config.width, height: store.state.config.height };
this.device.deviceModel.__down = true; this.device.deviceModel.__down = true;
const arrowTextRect = this.arrowText.getBoundingRect();
const zrRectX = zrRect.x + zrRect.width;
const zrRectY = zrRect.y + zrRect.height;
const arrowTextRectX = arrowTextRect.x + arrowTextRect.width;
const arrowTextRectY = arrowTextRect.y + arrowTextRect.height;
if (arrowTextRectX > zrRectX || arrowTextRectY > zrRectY) {
const offsetX = arrowTextRectX > zrRectX ? arrowTextRectX - zrRectX : 0;
const offsetY = arrowTextRectY > zrRectY ? arrowTextRectY - zrRectY : 0;
this.arrowText.setStyle({ x: this.device.model.point.x + 50 - offsetX, y: this.device.model.point.y + 25 - offsetY });
}
this.arrowText.show(); this.arrowText.show();
} }
if (this.device.style.Train.mouseOverStyle) { if (this.device.style.Train.mouseOverStyle) {

View File

@ -223,6 +223,10 @@ export default {
{ {
label: '取消故障', label: '取消故障',
handler: this.cancelStoppage handler: this.cancelStoppage
},
{
label: '触发故障管理',
handler: this.triggerFaultManagement
} }
], ],
menuDirective: [ menuDirective: [
@ -365,6 +369,9 @@ export default {
} }
}); });
}, },
triggerFaultManagement() {
this.$store.dispatch('training/setTriggerFaultCount', this.selected);
},
nextStation() { nextStation() {
const group = this.$route.query.group; const group = this.$route.query.group;
const param = { const param = {

View File

@ -136,6 +136,10 @@ export default {
{ {
label: '取消故障', label: '取消故障',
handler: this.cancelStoppage handler: this.cancelStoppage
},
{
label: '触发故障管理',
handler: this.triggerFaultManagement
} }
], ],
menuDirective: [ menuDirective: [
@ -275,6 +279,9 @@ export default {
} }
}); });
}, },
triggerFaultManagement() {
this.$store.dispatch('training/setTriggerFaultCount', this.selected);
},
nextStation() { nextStation() {
const group = this.$route.query.group; const group = this.$route.query.group;
const param = { const param = {

View File

@ -119,6 +119,10 @@ export default {
{ {
label: '取消故障', label: '取消故障',
handler: this.cancelStoppage handler: this.cancelStoppage
},
{
label: '触发故障管理',
handler: this.triggerFaultManagement
} }
], ],
menuDirective: [ menuDirective: [
@ -246,6 +250,9 @@ export default {
} }
}); });
}, },
triggerFaultManagement() {
this.$store.dispatch('training/setTriggerFaultCount', this.selected);
},
nextStation() { nextStation() {
const group = this.$route.query.group; const group = this.$route.query.group;
const param = { const param = {

View File

@ -116,6 +116,10 @@ export default {
{ {
label: '取消故障', label: '取消故障',
handler: this.cancelStoppage handler: this.cancelStoppage
},
{
label: '触发故障管理',
handler: this.triggerFaultManagement
} }
], ],
menuDirective: [ menuDirective: [
@ -209,6 +213,9 @@ export default {
} }
}); });
}, },
triggerFaultManagement() {
this.$store.dispatch('training/setTriggerFaultCount', this.selected);
},
nextStation() { nextStation() {
const group = this.$route.query.group; const group = this.$route.query.group;
const param = { const param = {

View File

@ -127,6 +127,10 @@ export default {
{ {
label: '取消故障', label: '取消故障',
handler: this.cancelStoppage handler: this.cancelStoppage
},
{
label: '触发故障管理',
handler: this.triggerFaultManagement
} }
], ],
menuDirective: [ menuDirective: [
@ -262,6 +266,9 @@ export default {
} }
}); });
}, },
triggerFaultManagement() {
this.$store.dispatch('training/setTriggerFaultCount', this.selected);
},
nextStation() { nextStation() {
const group = this.$route.query.group; const group = this.$route.query.group;
const param = { const param = {

View File

@ -96,6 +96,10 @@ export default {
{ {
label: '取消故障', label: '取消故障',
handler: this.cancelStoppage handler: this.cancelStoppage
},
{
label: '触发故障管理',
handler: this.triggerFaultManagement
} }
], ],
menuDirective: [ menuDirective: [
@ -237,6 +241,9 @@ export default {
} }
}); });
}, },
triggerFaultManagement() {
this.$store.dispatch('training/setTriggerFaultCount', this.selected);
},
nextStation() { nextStation() {
const group = this.$route.query.group; const group = this.$route.query.group;
const param = { const param = {

View File

@ -207,6 +207,10 @@ export default {
{ {
label: '取消故障', label: '取消故障',
handler: this.cancelStoppage handler: this.cancelStoppage
},
{
label: '触发故障管理',
handler: this.triggerFaultManagement
} }
], ],
menuDirective: [ menuDirective: [
@ -335,6 +339,9 @@ export default {
} }
}); });
}, },
triggerFaultManagement() {
this.$store.dispatch('training/setTriggerFaultCount', this.selected);
},
nextStation() { nextStation() {
const group = this.$route.query.group; const group = this.$route.query.group;
const param = { const param = {

View File

@ -208,6 +208,10 @@ export default {
{ {
label: '取消故障', label: '取消故障',
handler: this.cancelStoppage handler: this.cancelStoppage
},
{
label: '触发故障管理',
handler: this.triggerFaultManagement
} }
], ],
menuDirective: [ menuDirective: [
@ -335,6 +339,9 @@ export default {
} }
}); });
}, },
triggerFaultManagement() {
this.$store.dispatch('training/setTriggerFaultCount', this.selected);
},
nextStation() { nextStation() {
const group = this.$route.query.group; const group = this.$route.query.group;
const param = { const param = {

View File

@ -211,6 +211,10 @@ export default {
label: '取消故障', label: '取消故障',
handler: this.cancelStoppage handler: this.cancelStoppage
}, },
{
label: '触发故障管理',
handler: this.triggerFaultManagement
},
{ {
label: '托管', label: '托管',
handler: this.setCollocation handler: this.setCollocation
@ -361,6 +365,9 @@ export default {
} }
}); });
}, },
triggerFaultManagement() {
this.$store.dispatch('training/setTriggerFaultCount', this.selected);
},
// //
setLink() { setLink() {
commitOperate(menuOperate.Common.setLink, { code: this.selected.code }, 0).then(({valid, operate})=>{ commitOperate(menuOperate.Common.setLink, { code: this.selected.code }, 0).then(({valid, operate})=>{

View File

@ -245,6 +245,14 @@ export default {
initMenu() { initMenu() {
this.menu = MenuContextHandler.covert(this.menuNormal); this.menu = MenuContextHandler.covert(this.menuNormal);
// //
const menuItem = this.menu.find( item => item.cmdType === CMD.Signal.CMD_SIGNAL_SET_CI_AUTO);
const menuItemDisabled = menuItem.disabled;
menuItem.disabled = true;
this.routeList.forEach(route => {
if (route.startSignalCode === this.selected.code && route.flt) {
menuItem.disabled = menuItemDisabled;
}
});
if (this.operatemode === OperateMode.FAULT) { if (this.operatemode === OperateMode.FAULT) {
this.menu = this.menuForce; this.menu = this.menuForce;
} }

View File

@ -120,6 +120,10 @@ export default {
{ {
label: '取消故障', label: '取消故障',
handler: this.cancelStoppage handler: this.cancelStoppage
},
{
label: '触发故障管理',
handler: this.triggerFaultManagement
} }
], ],
menuDirective: [ menuDirective: [
@ -528,6 +532,9 @@ export default {
callback: action => { callback: action => {
} }
}); });
},
triggerFaultManagement() {
this.$store.dispatch('training/setTriggerFaultCount', this.selected);
} }
// // // //
// switchTrainId() { // switchTrainId() {

View File

@ -61,7 +61,8 @@ export const deviceFaultType = {
], ],
Train: [ Train: [
{label: '通信异常', value: 'COMMUNICATION_ABNORMAL'}, {label: '通信异常', value: 'COMMUNICATION_ABNORMAL'},
{label: '驾驶故障', value: 'DRIVE_FAULT'} {label: '驾驶故障', value: 'DRIVE_FAULT'},
{label: '突然EB', value: 'SUDDEN_EB' }
], ],
Power:[ Power:[
{label: '供电故障', value: 'FAULT'} {label: '供电故障', value: 'FAULT'}

View File

@ -12,8 +12,8 @@
<div class="directbutton" style="top:36px;right:0;">{{ $t('jlmap3d.later') }}</div> <div class="directbutton" style="top:36px;right:0;">{{ $t('jlmap3d.later') }}</div>
</div> </div>
<div id="div1" class ="pane-box"> <div id="div1" class ="pane-box" >
<img class="paneimg" :src="pane"/> <img class="paneimg" :src="pane" @mouseout="speedout"/>
<div class="panelb" :style="{right: isZh? '80px': '80px', top: isZh? '0px': '0px'}">{{ $t('jlmap3d.traction') }}</div> <div class="panelb" :style="{right: isZh? '80px': '80px', top: isZh? '0px': '0px'}">{{ $t('jlmap3d.traction') }}</div>
<div class="panelb" :style="{right: isZh? '80px': '80px', top: '70px'}">0</div> <div class="panelb" :style="{right: isZh? '80px': '80px', top: '70px'}">0</div>
<div class="panelb" :style="{right: isZh? '80px': '80px', top: isZh? '130px': '130px'}">{{ $t('jlmap3d.braking') }}</div> <div class="panelb" :style="{right: isZh? '80px': '80px', top: isZh? '130px': '130px'}">{{ $t('jlmap3d.braking') }}</div>
@ -248,7 +248,10 @@
document.getElementById("div1").onmousemove = null; document.getElementById("div1").onmousemove = null;
document.getElementById("div2").onmouseup = null; document.getElementById("div2").onmouseup = null;
}, },
speedout: function(event){
document.getElementById("div1").onmousemove = null;
document.getElementById("div2").onmouseup = null;
},
click:function(){// click:function(){//

View File

@ -380,8 +380,8 @@ import axios from 'axios';
<style> <style>
.drivepane{ .drivepane{
width:30%; width:500px;
height:320px; height:333px;
right:500px; right:500px;
bottom:0; bottom:0;
position: absolute; position: absolute;

View File

@ -32,7 +32,6 @@
</div> </div>
<Drive-Mmi v-if="mmishow" ref="mmiui" /> <Drive-Mmi v-if="mmishow" ref="mmiui" />
<Drive-Tms v-if="mmishow" /> <Drive-Tms v-if="mmishow" />
<Drive-Control v-if="dcontrolshow" ref="dcontrol" @warningmsg="warningmsg" @warningmsgoff="warningmsgoff" /> <Drive-Control v-if="dcontrolshow" ref="dcontrol" @warningmsg="warningmsg" @warningmsgoff="warningmsgoff" />
</div> </div>

View File

@ -530,6 +530,7 @@ export default {
background: black; background: black;
position:absolute; position:absolute;
bottom:0; bottom:0;
// border: 0.1px solid #ffffff;
} }
.meter{ .meter{
width:60%; width:60%;

View File

@ -52,6 +52,7 @@ export default {
position:absolute; position:absolute;
bottom:0; bottom:0;
right:0; right:0;
// border: 0.1px solid #ffffff;
} }
</style> </style>

View File

@ -74,7 +74,7 @@
e.target.classList.remove('hideShadow') e.target.classList.remove('hideShadow')
}, },
handleClick(tab, event) { handleClick(tab, event) {
console.log(tab, event); // console.log(tab, event);
}, },
addProgress(){ addProgress(){
this.$emit('addProgress'); this.$emit('addProgress');

View File

@ -2,7 +2,7 @@
<div id="lessontoolsdiv" class="lessontoolsdiv"> <div id="lessontoolsdiv" class="lessontoolsdiv">
<el-tabs v-model="activeName" class="activediv" @tab-click="handleClick"> <el-tabs v-model="activeName" class="activediv" type="card" @tab-click="handleClick" tab-position="left" >
<el-tab-pane label="课程组件" style="height:400px" name="lessoncomponent" > <el-tab-pane label="课程组件" style="height:400px" name="lessoncomponent" >
<div v-for="(item,index) in lessonTools" class="tooldiv" > <div v-for="(item,index) in lessonTools" class="tooldiv" >
<div> <div>
@ -121,13 +121,26 @@
<style rel="stylesheet/scss" lang="scss" scoped> <style rel="stylesheet/scss" lang="scss" scoped>
@import "src/styles/mixin.scss"; @import "src/styles/mixin.scss";
.lessontoolsdiv { .lessontoolsdiv {
position: absolute; position: absolute;
width: 15%; width: 15%;
height: 100%; height: 99%;
overflow-y: auto; overflow-y: auto;
// background-color: #abc; margin-top: 10px;
border-radius:10px;
border:solid 2px #000;
}
.lessontoolsdiv /deep/ .el-tabs--left{
height: auto !important;
}
.lessontoolsdiv /deep/ .el-tabs--left .el-tabs__item{
width: 60px;
line-height: 24px;
height: auto;
word-wrap: break-word;
white-space: pre-line;
margin-bottom: 20px;
} }
.tooldiv{ .tooldiv{

View File

@ -1,7 +1,7 @@
<template> <template>
<div id="propertydiv" class="propertydiv"> <div id="propertydiv" class="propertydiv">
<el-tabs v-model="activeName" class="activediv" type="card" @tab-click="handleClick"> <el-tabs v-model="activeName" class="activediv" type="card" @tab-click="handleClick" tab-position="left">
<el-tab-pane label="当前场景信息" name="cameraproperty"> <el-tab-pane label="当前场景信息" name="cameraproperty">
<el-form ref="form" class="camerapropertydiv" size="mini" v-if="selectLesson3dControl"> <el-form ref="form" class="camerapropertydiv" size="mini" v-if="selectLesson3dControl">
@ -470,6 +470,18 @@
border:solid 2px #000; border:solid 2px #000;
overflow-y: auto; overflow-y: auto;
} }
.propertydiv /deep/ .el-tabs--left{
height: auto !important;
}
.propertydiv /deep/ .el-tabs--left .el-tabs__item{
width: 60px;
line-height: 24px;
height: auto;
word-wrap: break-word;
white-space: pre-line;
// margin-bottom: 20px;
}
.camerapropertydiv{ .camerapropertydiv{
// width:100%; // width:100%;

View File

@ -169,8 +169,13 @@
this.lessonData = new LessonData(); this.lessonData = new LessonData();
this.jobPaneData = new JobPaneData(); this.jobPaneData = new JobPaneData();
let loadData; let loadData;
if(data.data.data){ if(data.data.data){
loadData = JSON.parse(data.data.data); loadData = JSON.parse(data.data.data);
if(loadData.setup.checkedRole.length == 0){
this.showSelectJob = false;
}
this.selectJobList = loadData.setup.checkedRole; this.selectJobList = loadData.setup.checkedRole;
this.jobPaneData.dataList = loadData.toolJobPane; this.jobPaneData.dataList = loadData.toolJobPane;
this.$refs.jobpane.initJobList(this.jobPaneData.dataList); this.$refs.jobpane.initJobList(this.jobPaneData.dataList);
@ -181,6 +186,7 @@
}else{ }else{
this.lessonData.initLessonProgress(); this.lessonData.initLessonProgress();
this.$refs.jobpane.initJobList(this.jobPaneData.dataList); this.$refs.jobpane.initJobList(this.jobPaneData.dataList);
this.jl3d.initNowRole();
} }
console.log("loaddata----------------"); console.log("loaddata----------------");
console.log(loadData); console.log(loadData);

View File

@ -1434,5 +1434,6 @@ export default {
.teleNameIn{ .teleNameIn{
width: 16px; width: 16px;
white-space: pre-wrap; white-space: pre-wrap;
font-size:16px;
} }
</style> </style>

View File

@ -149,6 +149,7 @@ export default {
background: #404040; background: #404040;
color: #1DEA1E; color: #1DEA1E;
text-align: center; text-align: center;
font-size: 16px;
} }
</style> </style>

View File

@ -149,6 +149,7 @@ export default {
background: #404040; background: #404040;
color: #1DEA1E; color: #1DEA1E;
text-align: center; text-align: center;
font-size: 16px;
} }
</style> </style>

View File

@ -93,7 +93,7 @@ export default {
'routeNameUseEndOppositeSignalName', 'generateTbRoute', 'tbRouteNameUseEndOppositeSignalName', 'routeSignalAlwaysGreen', 'routeNameUseEndOppositeSignalName', 'generateTbRoute', 'tbRouteNameUseEndOppositeSignalName', 'routeSignalAlwaysGreen',
'routeApartByOverlap', 'overlapOnlySwitch', 'overlapSwitchNpOnly', 'overlapSignalOppositeSwitchNpOnly', 'routeApartByOverlap', 'overlapOnlySwitch', 'overlapSwitchNpOnly', 'overlapSignalOppositeSwitchNpOnly',
'generateCycle', 'routeButton', 'likeHa1', 'getNearlySignal', 'overlapSettingByTrigger', 'generateFls', 'signalApproachNotPassPreSignal', 'generateCycle', 'routeButton', 'likeHa1', 'getNearlySignal', 'overlapSettingByTrigger', 'generateFls', 'signalApproachNotPassPreSignal',
'generateDestination', 'ctcOverlapOnlyTurnBackStationLock' 'generateDestination', 'ctcOverlapOnlyTurnBackStationLock', 'routeInterlockDoNotIncludeStandHoldTrain'
], ],
multipleList: ['sharingECStations'], multipleList: ['sharingECStations'],
selectList: [], selectList: [],
@ -127,7 +127,8 @@ export default {
signalApproachNotPassPreSignal:'信号机接近区段不跨过前方同向信号机', signalApproachNotPassPreSignal:'信号机接近区段不跨过前方同向信号机',
generateDestination: '是否生成目的地码定义(泰雷兹)', generateDestination: '是否生成目的地码定义(泰雷兹)',
sharingECStations: '共享紧急关闭效果的车站', sharingECStations: '共享紧急关闭效果的车站',
ctcOverlapOnlyTurnBackStationLock: 'CTC列车进路延续保护仅折返站处锁闭' ctcOverlapOnlyTurnBackStationLock: 'CTC列车进路延续保护仅折返站处锁闭',
routeInterlockDoNotIncludeStandHoldTrain: '进路联锁不包含站台扣车'
} }
}; };
}, },

View File

@ -1,6 +1,6 @@
<template> <template>
<div v-show="show"> <div v-show="show">
<el-dialog v-dialogDrag :title="$t('map.routePreview')" :visible.sync="show" width="95%" top="1vh" class="dialog_content_box" :before-do-close="doClose" append-to-body> <el-dialog v-dialogDrag v-loading="loading" :title="$t('map.routePreview')" :visible.sync="show" width="95%" top="1vh" class="dialog_content_box" :before-do-close="doClose" append-to-body>
<div> <div>
<QueryListPage <QueryListPage
ref="queryListPage" ref="queryListPage"
@ -18,7 +18,7 @@
<script> <script>
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import { listMap, getRouteNewList, delRouteNew, putRouteNew, putSetDraftMapRouteById } from '@/api/jmap/mapdraft'; import { listMap, getRouteNewList, delRouteNew, putRouteNew, putSetDraftMapRouteById, deleteDetain, noOverlap } from '@/api/jmap/mapdraft';
// import ProtectDetail from './protectDetail'; // import ProtectDetail from './protectDetail';
import PreViewField from './preview'; import PreViewField from './preview';
import Related from './related'; import Related from './related';
@ -48,6 +48,7 @@ export default {
data() { data() {
return { return {
show: false, show: false,
loading: false,
showType: '', showType: '',
codeType: '', codeType: '',
mapList: [], mapList: [],
@ -151,6 +152,12 @@ export default {
type: 'tag', type: 'tag',
prop: 'flt' prop: 'flt'
}, },
{
title: 'ctc级别下需要办理延续保护',
edit: true,
type: 'tag',
prop: 'setOverlapInCtc'
},
{ {
title: this.$t('map.accessType'), title: this.$t('map.accessType'),
prop: 'turnBack', prop: 'turnBack',
@ -223,6 +230,10 @@ export default {
} }
] ]
} }
],
actions: [
{ text: '删除扣车', handler: this.handleDeleteDetain },
{ text: '不办延续保护', handler: this.handleNoOverlap }
] ]
}; };
} }
@ -344,6 +355,42 @@ export default {
selectedObj(index, row) { selectedObj(index, row) {
this.$emit('setRouteCode', row, this.codeType); this.$emit('setRouteCode', row, this.codeType);
this.show = false; this.show = false;
},
handleDeleteDetain() {
this.$confirm('是否确认批量删除扣车?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.loading = true;
deleteDetain(this.$route.params.mapId).then(response => {
this.$message.success('批量删除扣车成功');
}).catch(() => {
this.$messageBox('批量删除扣车失败');
}).finally(() => {
this.loading = false;
});
}).catch(() => {
this.$message.info('已取消批量删除扣车');
});
},
handleNoOverlap() {
this.$confirm('是否确认批量设置不办延续保护?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.loading = true;
noOverlap(this.$route.params.mapId).then(response => {
this.$message.success('批量批量设置不办延续保护成功');
}).catch(() => {
this.$messageBox('批量批量设置不办延续保护失败');
}).finally(() => {
this.loading = false;
});
}).catch(() => {
this.$message.info('已取消批量批量设置不办延续保护');
});
} }
// showConflictingSignalList(data) { // showConflictingSignalList(data) {
// const nameList = []; // const nameList = [];

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.