diff --git a/package.json b/package.json index e84f39ff7..9a08831b7 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "author": "Pan ", "license": "MIT", "scripts": { - "dev": "vue-cli-service serve --open", + "start": "vue-cli-service serve --open", + "dev": "node --max_old_space_size=4096 node_modules/@vue/cli-service/bin/vue-cli-service.js serve", "build": "vue-cli-service build", "test": "vue-cli-service build --mode staging", "local": "vue-cli-service build --mode native", @@ -28,6 +29,7 @@ "path-to-regexp": "2.4.0", "qrcode.vue": "^1.6.2", "qs": "^6.9.3", + "recordrtc": "^5.5.9", "script-loader": "^0.7.2", "sessionstorage": "^0.1.0", "sockjs-client": "^1.4.0", diff --git a/src/api/chat.js b/src/api/chat.js index 6bbb3d402..cd18aac44 100644 --- a/src/api/chat.js +++ b/src/api/chat.js @@ -49,6 +49,15 @@ export function chatWithText(data, group) { }); } +// 文字聊天 发送文字 +export function chatWithAudio(file, group) { + return request({ + url: `/api/jointTraining/chatWithAudio?group=${group}`, + method: 'post', + data: file + }); +} + // 生成分发二维码 export function getJoinTrainCode(data, group) { return request({ @@ -165,14 +174,6 @@ export function getUserRoles(group) { }); } -// 返回房间 -export function putJointTrainingState() { - return request({ - url: `/api/jointTraining/room/back`, - method: 'put' - }); -} - // 踢出用户 export function putJointTrainingUserkicked(userId, group) { return request({ @@ -284,3 +285,28 @@ export function realDeviceIsUsed(group, projectCode) { } }); } + +// 获取仿真成员列表(新版地图) +export function getSimulationMembersNew(group) { + return request({ + url: `/simulation/${group}/members`, + method: 'get' + }); +} + +// 获取仿真会话列表(新版地图) +export function getSimulationConversationListNew(group) { + return request({ + url: `/simulation/${group}/conversations`, + method: 'get' + }); +} + +// 获取/创建仿真会话(新版地图) +export function getSimulationConversationIdNew(params, group) { + return request({ + url: `/simulation/${group}/wx/conversation`, + method: 'get', + params: params + }); +} diff --git a/src/api/designPlatform.js b/src/api/designPlatform.js index 09bf58a50..fbc2120a8 100644 --- a/src/api/designPlatform.js +++ b/src/api/designPlatform.js @@ -7,13 +7,6 @@ export function getRpListByUserMapId(mapId) { method: 'get' }); } -export function getMapList(cityCode) { - /** 根据cityCode获取地图列表 */ - return request({ - url: `/api/mapSystem/queryMapByCityCode/${cityCode}`, - method: 'get' - }); -} /** 获取用户自己的运行图详情*/ export function getRpDetailByUserMapId(planId) { @@ -31,14 +24,6 @@ export function getUserMapDetailByMapId(mapId) { }); } -/** 用户自己的运行图仿真测试*/ -export function runUserPlanNotify({ planId }) { - return request({ - url: `/api/draftMap/runPlan/simulationCheck/${planId}`, - method: 'get' - }); -} - /** 管理员获取需审核的课程列表 */ export function reviewLessonList(params) { return request({ diff --git a/src/api/jmap/mapdraft.js b/src/api/jmap/mapdraft.js index cb80f5429..ba9d7f8bc 100644 --- a/src/api/jmap/mapdraft.js +++ b/src/api/jmap/mapdraft.js @@ -536,4 +536,42 @@ export function getFlankProtectionList(mapId, params) { params }); } - +/** 创建车站区段停站时间 */ +export function createStationParkTime(data) { + return request({ + url: `/api/mapBuild/stationParkTime`, + method: 'post', + data + }); +} +/** 删除车站区段停站时间 */ +export function deleteStationParkTime(stationParkTimeId) { + return request({ + url: `/api/mapBuild/stationParkTime/${stationParkTimeId}`, + method: 'delete' + }); +} +/** 获取车站区段停站时间 */ +export function getStationParkTime(stationParkTimeId, params) { + return request({ + url: `/api/mapBuild/stationParkTime/${stationParkTimeId}`, + method: 'get', + params + }); +} +/** 更新车站区段停站时间 */ +export function updateStationParkTime(data) { + return request({ + url: `/api/mapBuild/stationParkTime/${data.id}`, + method: 'get', + data + }); +} +/** 分页获取车站区段停站时间 */ +export function getStationParkTimeList(mapId, params) { + return request({ + url: `/api/mapBuild/${mapId}/stationParkTime`, + method: 'get', + params + }); +} diff --git a/src/api/jointTraining.js b/src/api/jointTraining.js index ff4a72a42..dd3785ddc 100644 --- a/src/api/jointTraining.js +++ b/src/api/jointTraining.js @@ -127,14 +127,6 @@ export function getUserRolesNew(group) { }); } -// 返回房间 -export function putJointTrainingStateNew() { - return request({ - url: `/api/v1/jointTraining/room/back`, - method: 'put' - }); -} - // 踢出用户 export function putJointTrainingUserkickedNew(userId, group) { return request({ diff --git a/src/api/quest.js b/src/api/quest.js deleted file mode 100644 index c807a6b59..000000000 --- a/src/api/quest.js +++ /dev/null @@ -1,74 +0,0 @@ -import request from '@/utils/request'; - -/** 分页查找个人录制的仿真任务*/ -export function getQuestPageList(mapId, params) { - return request({ - url: `/api/script/draft/${mapId}/list`, - method: 'get', - params: params - }); -} -/** 创建任务 */ -export function createQuest(data) { - return request({ - url: `/api/script/draft`, - method: 'post', - data - }); -} -/** 根据任务id删除任务 */ -export function deleteQuest(id) { - return request({ - url: `/api/script/draft/${id}`, - method: 'delete' - }); -} -/** 根据id查询任务基础信息 */ -export function getQuestById(id) { - return request({ - url: `/api/script/draft/${id}`, - method: 'get' - }); -} -/** 根据id查询任务详情信息 */ -export function getQuestByIdList(id) { - return request({ - url: `/api/script/draft/${id}/detail`, - method: 'get' - }); -} -/** 更新任务基本信息 */ -export function updateQuest(id, data) { - return request({ - url: `/api/script/draft/${id}`, - method: 'put', - data - }); -} - -/** 分页查找上线的仿真任务*/ -export function getQuestPageListOnline(params) { - return request({ - url: `/api/quest/paging/online`, - method: 'get', - params: params - }); -} - -/** 剧本发布 */ -export function publishQuest(id, data) { - return request({ - url: `/api/script/draft/${id}/publish`, - method: 'put', - data - }); -} - -/** 剧本撤销发布 */ -export function retractQuest(id, data) { - return request({ - url: `/api/script/draft/${id}/retract`, - method: 'put' - }); -} - diff --git a/src/api/scheduling.js b/src/api/scheduling.js index 6743c56ed..a519bf21e 100644 --- a/src/api/scheduling.js +++ b/src/api/scheduling.js @@ -45,3 +45,35 @@ export function generateSchedulingAgain(group) { method: 'delete' }); } +/** 生成地图通用派班计划 */ +export function generateCommonScheduling (data) { + return request({ + url: `/api/v1/scheduling/generate/common`, + method: 'post', + data + }); +} +/** 查询某天的派班计划 */ +export function querySechedulingNew (group, params) { + return request({ + url: `/api/v1/scheduling/${group}/day`, + method: 'get', + params + }); +} +/** 生成某天的基础派班计划 */ +export function generateSchedulingNew (group, params) { + return request({ + url: `/api/v1/scheduling/${group}/generate`, + method: 'post', + params + }); +} +/** 保存派班计划数据 */ +export function saveSchedulingNew(group, data) { + return request({ + url: `/api/v1/scheduling/${group}/save`, + method: 'post', + data + }); +} diff --git a/src/api/script.js b/src/api/script.js index e60fa9df6..b203a935e 100644 --- a/src/api/script.js +++ b/src/api/script.js @@ -24,3 +24,63 @@ export function getDraftScriptByGroup(group) { method: 'get' }); } + +/** 剧本撤销发布 */ +export function retractScript(id, data) { + return request({ + url: `/api/script/draft/${id}/retract`, + method: 'put' + }); +} + +/** 剧本发布 */ +export function publishScript(id, data) { + return request({ + url: `/api/script/draft/${id}/publish`, + method: 'put', + data + }); +} + +/** 更新剧本基本信息 */ +export function updateScript(id, data) { + return request({ + url: `/api/script/draft/${id}`, + method: 'put', + data + }); +} + +/** 根据剧本id删除剧本 */ +export function deleteScript(id) { + return request({ + url: `/api/script/draft/${id}`, + method: 'delete' + }); +} + +/** 分页查找个人录制的仿真剧本*/ +export function getScriptPageList(mapId, params) { + return request({ + url: `/api/script/draft/${mapId}/list`, + method: 'get', + params: params + }); +} + +/** 创建剧本 */ +export function createScript(data) { + return request({ + url: `/api/script/draft`, + method: 'post', + data + }); +} + +/** 根据id查询任务基础信息 */ +export function getScriptByIdBasic(id) { + return request({ + url: `/api/script/draft/${id}`, + method: 'get' + }); +} diff --git a/src/api/simulation.js b/src/api/simulation.js index 84227d643..eab1503f4 100644 --- a/src/api/simulation.js +++ b/src/api/simulation.js @@ -605,3 +605,10 @@ export function exitRunPlan (group) { method: 'post' }); } +/** 加载指定运行计划 */ +export function simulationLoadRunPlan(group, templateId) { + return request({ + url: `/simulation/${group}/load/runPlan/${templateId}`, + method: 'put' + }); +} diff --git a/src/api/trainingPlatform.js b/src/api/trainingPlatform.js index 15738bce9..373e78912 100644 --- a/src/api/trainingPlatform.js +++ b/src/api/trainingPlatform.js @@ -9,14 +9,6 @@ export function getTrainingSystemList(cityCode, params) { }); } -export function getTrainingSystemListByMapId(mapId) { - /** 根据mapId去获取其子系统 */ - return request({ - url: `/api/mapSystem/${mapId}`, - method: 'get' - }); -} - export function generateMapSystem(mapId) { /** 根据mapId生成地图子系统 */ return request({ diff --git a/src/components/QueryListPage/QueryForm.vue b/src/components/QueryListPage/QueryForm.vue index 1bea530dd..3e38317af 100644 --- a/src/components/QueryListPage/QueryForm.vue +++ b/src/components/QueryListPage/QueryForm.vue @@ -143,7 +143,7 @@ - + {{ $t('global.query') }} {{ $t('global.reset') }} {{ $t('global.export') }} @@ -201,6 +201,12 @@ export default { default() { return 18; } + }, + offsetSpan: { + type: Number, + default() { + return 1; + } } }, data() { diff --git a/src/components/QueryListPage/QueryListPage.vue b/src/components/QueryListPage/QueryListPage.vue index 68affd896..1a5f880f5 100644 --- a/src/components/QueryListPage/QueryListPage.vue +++ b/src/components/QueryListPage/QueryListPage.vue @@ -6,6 +6,7 @@ ref="queryForm" :query-form="queryForm" :left-span="queryForm.leftSpan" + :offset-span="queryForm.offsetSpan" :query-list="queryList" :before-query="queryForm.beforeQuery" :can-query="canQuery" @@ -32,7 +33,7 @@ > - + diff --git a/src/i18n/langs/en/display.js b/src/i18n/langs/en/display.js index 4aa0d4779..408b64af1 100644 --- a/src/i18n/langs/en/display.js +++ b/src/i18n/langs/en/display.js @@ -162,7 +162,7 @@ export default { createSchedulePlanSuccess: 'Create schedule plan success', regenerateSchedulePlanSuccess: 'Regenerate schedule plan success', checkPassed: 'Check passed', - checkFailed: 'Check failed', + checkFailed: 'Data check failed', checkSchedulePlanFailed: 'Check schedule plan failed', saveSchedulePlanSuccess: 'Save schedule plan success', saveSchedulePlanFail: 'Save schedule plan fail', diff --git a/src/i18n/langs/en/tip.js b/src/i18n/langs/en/tip.js index 91c39c666..230297945 100644 --- a/src/i18n/langs/en/tip.js +++ b/src/i18n/langs/en/tip.js @@ -234,5 +234,9 @@ export default { mapSortSuccessfully: 'Map sort successfully!', mapSortFailed: 'Map sort failed', enterTrainingRoomFailed: 'Failed to enter the comprehensive drill, please consult the administrator is still in the room!', - failedToAddNewRoom: 'Failed to add new room' + failedToAddNewRoom: 'Failed to add new room', + dwellTimeSuccessful: 'Create dwell time successful!', + dwellTimeFailed: 'Failed to create dwell time!', + updateDwellTimeSuccessful: 'Update dwell time successful!', + updateDwellTimeFailed: 'Failed to update dwell time!' }; diff --git a/src/i18n/langs/zh/display.js b/src/i18n/langs/zh/display.js index b4e95c37d..882ee4c95 100644 --- a/src/i18n/langs/zh/display.js +++ b/src/i18n/langs/zh/display.js @@ -161,8 +161,8 @@ export default { schedulePlanSuccess: '派班计划成功!', createSchedulePlanSuccess: '创建派班计划成功', regenerateSchedulePlanSuccess: '重新生成派班计划成功', - checkPassed: '检查通过', - checkFailed: '检查不通过', + checkPassed: '数据检查校验通过', + checkFailed: '数据检查校验不通过', checkSchedulePlanFailed: '检查派班计划失败', saveSchedulePlanSuccess: '保存派班计划成功', saveSchedulePlanFail: '保存派班失败', diff --git a/src/i18n/langs/zh/tip.js b/src/i18n/langs/zh/tip.js index 373531735..e74f6f5a1 100644 --- a/src/i18n/langs/zh/tip.js +++ b/src/i18n/langs/zh/tip.js @@ -234,5 +234,9 @@ export default { mapSortSuccessfully: '地图排序成功!', mapSortFailed: '地图排序失败!', enterTrainingRoomFailed: '进入综合演练失败,请咨询管理员是否还在房间内!', - failedToAddNewRoom: '加入新房间失败' + failedToAddNewRoom: '加入新房间失败', + dwellTimeSuccessful: '创建停站时间成功!', + dwellTimeFailed: '创建停站时间失败!', + updateDwellTimeSuccessful: '更新停站时间成功!', + updateDwellTimeFailed: '更新停站时间失败!' }; diff --git a/src/jlmap3d/edit/Jlmap3dnewdata.js b/src/jlmap3d/edit/Jlmap3dnewdata.js index 5637150c5..6e240ff41 100644 --- a/src/jlmap3d/edit/Jlmap3dnewdata.js +++ b/src/jlmap3d/edit/Jlmap3dnewdata.js @@ -24,6 +24,7 @@ export function Jlmap3ddata(mapid,scope){ console.log(data); if(data.data ){ if(data.data.assets){ + // initobj(editmapid,data.data.id); init3d(editmapid,data.data); }else{ initobj(editmapid,data.data.id); diff --git a/src/jlmap3d/edit/action/sectionaction.js b/src/jlmap3d/edit/action/sectionaction.js index b6ec6224a..a6ee4b7df 100644 --- a/src/jlmap3d/edit/action/sectionaction.js +++ b/src/jlmap3d/edit/action/sectionaction.js @@ -37,7 +37,6 @@ export function Sectionaction(){ } //点击事件 this.raycaster = function(data,type){ - console.log(type); let modellist; if(type == "test"){ modellist = data.scene.getObjectByName("section").children; @@ -80,13 +79,13 @@ export function Sectionaction(){ raycaster.setFromCamera( mouse, data.camera ); let intersects1; - console.log(modellist); + // console.log(modellist); for(let i=0;i0.49){ - rightlist.push(i); - } - if(autorail.geometry.attributes.position.array[i*3] <-0.49){ - leftlist.push(i); - } - } - autorail.rightlist = rightlist; - autorail.leftlist = leftlist; + var texture = new THREE.TextureLoader().load( '../../static/test/z0251.png' ); + texture.wrapS = texture.wrapT = THREE.RepeatWrapping; + texture.repeat.set( 1,1); + + var selectmaterial = new THREE.MeshPhongMaterial( { map: texture,transparent:true,alphaTest:0.1 } ); + + scene.add(scope.sectiongroup); return new Promise(function(resolve, reject){ for(let i=0,leni = sectiondata.length;i2){ + // console.log(newsection); + let height = Math.random()/1000; + var closedSpline = new THREE.CatmullRomCurve3( [ + new THREE.Vector3(newsection.railpoint[0].x,height,newsection.railpoint[0].z), + new THREE.Vector3(newsection.railpoint[1].x,height,newsection.railpoint[1].z), + new THREE.Vector3(newsection.railpoint[2].x,height,newsection.railpoint[2].z) + ] ); + closedSpline.type = 'catmullrom'; + closedSpline.closed = false; + var extrudeSettings = { + steps : 5, + curveSegments : 1, + bevelSegments : 1, + bevelEnabled : false, + extrudePath : closedSpline, + }; + var shape = new THREE.Shape(); + shape.moveTo( 0,-2 ); + shape.lineTo( 0, 2 ); + var geometry = new THREE.ExtrudeBufferGeometry( shape, extrudeSettings ); + testmesh2 = new THREE.Mesh( geometry, selectmaterial ); + + testmesh2.railpoint = [ + {x:newsection.railpoint[0].x,y:height,z:newsection.railpoint[0].z}, + {x:newsection.railpoint[1].x,y:height,z:newsection.railpoint[1].z}, + {x:newsection.railpoint[2].x,y:height,z:newsection.railpoint[2].z}, + ]; + testmesh2.lengthFact = newsection.railpoint[2].x - newsection.railpoint[0].x; + // closedSpline.arcLengthDivisions; + let count = testmesh2.geometry.attributes.position.count/3; + + for(let i=0;i section.lengthFact/2){ - posx = section.mesh.position.x + signaldata.sectionOffset - section.lengthFact/2; - }else{ - posx = section.mesh.position.x - (section.lengthFact/2 - signaldata.sectionOffset); - } //根据线路方向修改信号灯位置 if(signaldata.right == false){ if(section.standTrack == true){ posx = posx - 7; } - signaldata.position.set(posx,0,section.mesh.position.z-3); + signaldata.position.set(posx,0,section.railpoint[0].z-3); signaldata.rotation.z = ( Math.PI / 2 ); }else if(signaldata.right == true){ if(section.standTrack == true){ posx = posx + 7; } - signaldata.position.set(posx,0,section.mesh.position.z+3); + signaldata.position.set(posx,0,section.railpoint[0].z+3); signaldata.rotation.z = ( - Math.PI / 2 ); } - + j = sectiondata.length; } } diff --git a/src/jlmap3d/edit/neweditmodel/StationStandList.js b/src/jlmap3d/edit/neweditmodel/StationStandList.js index c105100c7..63dbd7de4 100644 --- a/src/jlmap3d/edit/neweditmodel/StationStandList.js +++ b/src/jlmap3d/edit/neweditmodel/StationStandList.js @@ -157,10 +157,7 @@ export function StationStandList() { } this.loadpromise = function(jlmap3ddata,standsdata,jlmapstanddata,scene,assetloader){ return new Promise(function(resolve, reject){ - console.log("............"); - console.log(jlmap3ddata); - console.log(standsdata); - console.log(jlmapstanddata); + let stations = jlmap3ddata.stationstandlist.list; let num; let num2; diff --git a/src/jlmap3d/edit/neweditmodel/SwitchList.js b/src/jlmap3d/edit/neweditmodel/SwitchList.js index fb68bca80..7139ef710 100644 --- a/src/jlmap3d/edit/neweditmodel/SwitchList.js +++ b/src/jlmap3d/edit/neweditmodel/SwitchList.js @@ -75,6 +75,7 @@ export function SwitchList() { pc:switchdata[i].pc }; + // console.log(newswitch.pa); let autoswitch = assetloader.modellist[num].mesh.clone(true); autoswitch.code = switchdata[i].code; for(let j=0;j sectionB.railpoint[0].x){ + scope.switchs.modellist[i].position.set(sectionA.railpoint[0].x,0,sectionA.railpoint[0].z); + }else{ + scope.switchs.modellist[i].position.set(sectionA.railpoint[1].x,0,sectionA.railpoint[1].z); + } + } + } + this.update = function(){ } diff --git a/src/jlmap3d/jl3ddrive/jl3ddrive.js b/src/jlmap3d/jl3ddrive/jl3ddrive.js index 2af26708b..e9552f250 100644 --- a/src/jlmap3d/jl3ddrive/jl3ddrive.js +++ b/src/jlmap3d/jl3ddrive/jl3ddrive.js @@ -140,10 +140,10 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj // controls3.getObject().rotation.x = Math.PI/2; scene.add(controls3.getObject()); - let cameracctv = new THREE.PerspectiveCamera(60, dom.clientWidth/dom.clientHeight, 1, 40); - cameracctv.position.set( 2, -1,27 ); + let cameracctv = new THREE.PerspectiveCamera(50, dom.clientWidth/dom.clientHeight, 1, 10); + cameracctv.position.set( 0, -1,30 ); - cameracctv.rotation.y = Math.PI/2; + // cameracctv.rotation.y = Math.PI/2; camera.add(cameracctv); diff --git a/src/jlmap3d/jl3dsimulation/connect/Jlmap3dSubscribeNew.js b/src/jlmap3d/jl3dsimulation/connect/Jlmap3dSubscribeNew.js index 0ed1d9502..d01f54579 100644 --- a/src/jlmap3d/jl3dsimulation/connect/Jlmap3dSubscribeNew.js +++ b/src/jlmap3d/jl3dsimulation/connect/Jlmap3dSubscribeNew.js @@ -147,6 +147,7 @@ export function Jlmap3dSubscribeNew(jlmap3d,routegroup,jsonwebwork) { function trainrun(data){ let code = data.code; + if(trainlisttest.list[code].dispose == "0"){ if(trainlisttest.list[code].curve == null){ if (data.right == '1') { // 向右 @@ -204,6 +205,7 @@ export function Jlmap3dSubscribeNew(jlmap3d,routegroup,jsonwebwork) { }else{ //后端数据驱动车的位置更新与代码驱动车的移动相结合 + if(data.code != trainlisttest.list[code].code){ if (data.right == '1') { // 向右 trainlisttest.list[code].right = '1'; diff --git a/src/jlmap3d/jl3dsimulation/jlmap3d.js b/src/jlmap3d/jl3dsimulation/jlmap3d.js index 83e53f0a2..ffac70487 100644 --- a/src/jlmap3d/jl3dsimulation/jlmap3d.js +++ b/src/jlmap3d/jl3dsimulation/jlmap3d.js @@ -53,6 +53,8 @@ export function JLmap3d(dom, data,skinCode,storemod,routegroup,project) { let camera = SetCamera(dom); //定义场景(渲染容器) let scene = SetScene(project); + let scenesimulation = new THREE.Group(); + scene.add(scenesimulation); //定义镜头操作 let controls = new THREE.OrbitControls(camera); controls.maxPolarAngle = Math.PI/2; @@ -110,14 +112,14 @@ export function JLmap3d(dom, data,skinCode,storemod,routegroup,project) { scope.jsonwebwork = new Worker("../../static/workertest/jsonworker.js"); scope.Subscribe = new Jlmap3dSubscribe(scope,routegroup,scope.jsonwebwork); scope.Subscribe.socketon(scope.Subscribe.topic); - SimulationLoad(mapnetdata,scope,netdata.data,mapdata,camera,controls,scene,storemod); + SimulationLoad(mapnetdata,scope,netdata.data,mapdata,camera,controls,scenesimulation,storemod); }else{ scope.datatype = "new"; scope.jsonwebworknew = new Worker("../../static/workertest/jsonworkernew.js"); scope.Subscribe = new Jlmap3dSubscribeNew(scope,routegroup,scope.jsonwebworknew); scope.Subscribe.socketon(scope.Subscribe.topic); - SimulationLoadNew(mapnetdata,scope,netdata.data,mapdata,camera,controls,scene,storemod); + SimulationLoadNew(mapnetdata,scope,netdata.data,mapdata,camera,controls,scenesimulation,storemod); } }); diff --git a/src/jlmap3d/main/control/DragControls.js b/src/jlmap3d/main/control/DragControls.js index a461d8557..a872e19a3 100644 --- a/src/jlmap3d/main/control/DragControls.js +++ b/src/jlmap3d/main/control/DragControls.js @@ -21,7 +21,7 @@ THREE.DragControls = function ( _objects, _camera, _domElement ) { var _intersection = new THREE.Vector3(); var _worldPosition = new THREE.Vector3(); var _inverseMatrix = new THREE.Matrix4(); - + var _selected = null, _hovered = null; // diff --git a/src/jlmap3d/main/control/ScalControls.js b/src/jlmap3d/main/control/ScalControls.js index 14edb8315..ec4039ba4 100644 --- a/src/jlmap3d/main/control/ScalControls.js +++ b/src/jlmap3d/main/control/ScalControls.js @@ -7,23 +7,54 @@ THREE.ScalControls = function ( scene,_camera, _domElement ) { var _scene = scene; var originposition; + var _objects = []; + + var helpmove = null; + var objectparent = null; + var selectmaterial = null; + var oldobject = null; + + var geometry = new THREE.BoxBufferGeometry( 1, 1, 1 ); + var material = new THREE.MeshBasicMaterial( {color: 0x00ff00} ); + + var newcurvehelp = new THREE.Group(); + + var cube = new THREE.Mesh( geometry, material ); + cube.name = "left"; + newcurvehelp.add( cube ); + _objects.push(cube); + + var cube = new THREE.Mesh( geometry, material ); + cube.name = "mid"; + newcurvehelp.add( cube ); + _objects.push(cube); + + var cube = new THREE.Mesh( geometry, material ); + cube.name = "right"; + newcurvehelp.add( cube ); + _objects.push(cube); + + var newlinehelp = new THREE.Group(); + + var cube = new THREE.Mesh( geometry, material ); + cube.name = "left"; + newlinehelp.add( cube ); + _objects.push(cube); + + var cube = new THREE.Mesh( geometry, material ); + cube.name = "right"; + newlinehelp.add( cube ); + _objects.push(cube); + var cubegroup = new THREE.Group(); - var geometry = new THREE.BoxBufferGeometry( 5, 5, 5 ); - var material = new THREE.MeshBasicMaterial( {color: 0x00ff00} ); var cube = new THREE.Mesh( geometry, material ); - cube.position.x = 1; - cube.position.z = 0; cube.name = "right"; cubegroup.add( cube ); _objects.push(cube); - var geometry = new THREE.BoxBufferGeometry( 5, 5, 5 ); - var material = new THREE.MeshBasicMaterial( {color: 0x00ff00} ); var cube = new THREE.Mesh( geometry, material ); - cube.position.x = -1; - cube.position.z = 0; cube.name = "left"; cubegroup.add( cube ); _objects.push(cube); @@ -53,6 +84,7 @@ THREE.ScalControls = function ( scene,_camera, _domElement ) { var scope = this; + this.scalon = false; function activate() { _domElement.addEventListener( 'mousemove', onDocumentMouseMove, false ); @@ -99,57 +131,58 @@ THREE.ScalControls = function ( scene,_camera, _domElement ) { if ( _raycaster.ray.intersectPlane( _plane, _intersection ) ) { _selected.position.copy( _intersection.sub( _offset ).applyMatrix4( _inverseMatrix ) ); _selected.position.y = 0; - console.log(_movemesh); - if(_movemesh.meshtype == "link"){ - if(_selected.name == "left"){ - for(let i=0;i<_movemesh.leftlist.length;i++){ - _movemesh.geometry.attributes.position.array[_movemesh.leftlist[i]*3] = _selected.position.x - originposition; - _movemesh.geometry.attributes.uv.array[_movemesh.leftlist[i]*2] = _movemesh.geometry.attributes.position.array[0]-_movemesh.geometry.attributes.position.array[3]; - } - } + if(_movemesh.meshtype = "section"){ + newsectioncreate(); - if(_selected.name == "right"){ - for(let i=0;i<_movemesh.rightlist.length;i++){ - _movemesh.geometry.attributes.position.array[_movemesh.rightlist[i]*3] = _selected.position.x - originposition; - _movemesh.geometry.attributes.uv.array[_movemesh.leftlist[i]*2] = _movemesh.geometry.attributes.position.array[0]-_movemesh.geometry.attributes.position.array[3]; - } - } }else{ - if(_selected.name == "left"){ - for(let i=0;i<_movemesh.leftlist.length;i++){ - _movemesh.geometry.attributes.position.array[_movemesh.leftlist[i]*3] = _selected.position.x - originposition; - _movemesh.geometry.attributes.uv.array[_movemesh.leftlist[i]*2] = (_movemesh.geometry.attributes.position.array[3]-_movemesh.geometry.attributes.position.array[0])/15.3; - } - } + if(_movemesh.meshtype == "link"){ + if(_selected.name == "left"){ + for(let i=0;i<_movemesh.leftlist.length;i++){ + _movemesh.geometry.attributes.position.array[_movemesh.leftlist[i]*3] = _selected.position.x - originposition.x; + _movemesh.geometry.attributes.uv.array[_movemesh.leftlist[i]*2] = _movemesh.geometry.attributes.position.array[0]-_movemesh.geometry.attributes.position.array[3]; - if(_selected.name == "right"){ - for(let i=0;i<_movemesh.rightlist.length;i++){ + } + } + + if(_selected.name == "right"){ + for(let i=0;i<_movemesh.rightlist.length;i++){ + _movemesh.geometry.attributes.position.array[_movemesh.rightlist[i]*3] = _selected.position.x - originposition.x; + _movemesh.geometry.attributes.uv.array[_movemesh.leftlist[i]*2] = _movemesh.geometry.attributes.position.array[0]-_movemesh.geometry.attributes.position.array[3]; + } + } + }else{ + if(_selected.name == "left"){ + for(let i=0;i<_movemesh.leftlist.length;i++){ + _movemesh.geometry.attributes.position.array[_movemesh.leftlist[i]*3] = _selected.position.x - originposition.x; + _movemesh.geometry.attributes.uv.array[_movemesh.leftlist[i]*2] = (_movemesh.geometry.attributes.position.array[3]-_movemesh.geometry.attributes.position.array[0])/15.3; + } + } + + if(_selected.name == "right"){ + for(let i=0;i<_movemesh.rightlist.length;i++){ + + _movemesh.geometry.attributes.position.array[_movemesh.rightlist[i]*3] = _selected.position.x - originposition.x; + _movemesh.geometry.attributes.uv.array[_movemesh.leftlist[i]*2] = (_movemesh.geometry.attributes.position.array[3]-_movemesh.geometry.attributes.position.array[0])/15.3; + } + } + } + + + + // newgeometry.attributes.uv.array[7] = i; + + _movemesh.geometry.attributes.position.needsUpdate = true; + _movemesh.geometry.attributes.uv.needsUpdate = true; + _movemesh.material.needsUpdate = true; + // _movemesh.geometry.computeBoundingBox(); + _movemesh.geometry.computeBoundingSphere(); + _movemesh.geometry.center(); + // _movemesh.lengthfact = (_movemesh.geometry.attributes.position.array[_movemesh.rightlist[0]] - _movemesh.geometry.attributes.position.array[_movemesh.leftlist[0]])*2+28; + _movemesh.lengthFact = (_movemesh.geometry.attributes.position.array[_movemesh.rightlist[0]*3] - _movemesh.geometry.attributes.position.array[_movemesh.leftlist[0]*3]); - _movemesh.geometry.attributes.position.array[_movemesh.rightlist[i]*3] = _selected.position.x - originposition; - _movemesh.geometry.attributes.uv.array[_movemesh.leftlist[i]*2] = (_movemesh.geometry.attributes.position.array[3]-_movemesh.geometry.attributes.position.array[0])/15.3; - } - } } - - - // newgeometry.attributes.uv.array[7] = i; - - _movemesh.geometry.attributes.position.needsUpdate = true; - _movemesh.geometry.attributes.uv.needsUpdate = true; - _movemesh.material.needsUpdate = true; - // _movemesh.geometry.computeBoundingBox(); - _movemesh.geometry.computeBoundingSphere(); - _movemesh.geometry.center(); - // _movemesh.lengthfact = (_movemesh.geometry.attributes.position.array[_movemesh.rightlist[0]] - _movemesh.geometry.attributes.position.array[_movemesh.leftlist[0]])*2+28; - _movemesh.lengthFact = (_movemesh.geometry.attributes.position.array[_movemesh.rightlist[0]*3] - _movemesh.geometry.attributes.position.array[_movemesh.leftlist[0]*3]); - - // testmesh2.position.z = 50; - - // testmesh2.geometry.center(); - // console.log(testmesh2.geometry.attributes); - } scope.dispatchEvent( { type: 'drag', object: _selected } ); @@ -230,6 +263,7 @@ THREE.ScalControls = function ( scene,_camera, _domElement ) { _selected = null; + console.log("mouseup"); } _domElement.style.cursor = _hovered ? 'pointer' : 'auto'; @@ -316,6 +350,104 @@ THREE.ScalControls = function ( scene,_camera, _domElement ) { } + //区段重新构建 + function newsectioncreate(){ + oldobject = _movemesh; + objectparent.remove(oldobject); + + let newpointlist = []; + let curvestep = 1; + var closedSpline; + var extrudeSettings; + for(let i=0;i<_movemesh.railpoint.length;i++){ + newpointlist.push(new THREE.Vector3(_movemesh.railpoint[i].x,_movemesh.railpoint[i].y,_movemesh.railpoint[i].z)); + } + + if(_movemesh.railpoint.length>2){ + + if(_selected.name == "left"){ + newpointlist[0] = new THREE.Vector3(_selected.position.x,_movemesh.railpoint[0].y,_selected.position.z); + } + if(_selected.name == "mid"){ + newpointlist[1] = new THREE.Vector3(_selected.position.x,_movemesh.railpoint[0].y,_selected.position.z); + } + if(_selected.name == "right"){ + newpointlist[2] = new THREE.Vector3(_selected.position.x,_movemesh.railpoint[0].y,_selected.position.z); + } + curvestep = 10; + }else{ + + if(_selected.name == "left"){ + newpointlist[0] = new THREE.Vector3(_selected.position.x,_movemesh.railpoint[0].y,_selected.position.z); + } + if(_selected.name == "right"){ + newpointlist[1] = new THREE.Vector3(_selected.position.x,_movemesh.railpoint[0].y,_selected.position.z); + } + curvestep =1; + } + closedSpline = new THREE.CatmullRomCurve3(newpointlist); + closedSpline.type = 'catmullrom'; + closedSpline.closed = false; + + extrudeSettings = { + steps : curvestep, + curveSegments : 1, + bevelSegments : 1, + bevelEnabled : false, + extrudePath : closedSpline, + }; + + var shape = new THREE.Shape(); + shape.moveTo( 0,-2 ); + shape.lineTo( 0, 2 ); + selectmaterial = _movemesh.material; + var geometry = new THREE.ExtrudeBufferGeometry( shape, extrudeSettings ); + _movemesh = new THREE.Mesh( geometry, selectmaterial ); + _movemesh.code = oldobject.code; + _movemesh.railpoint = []; + for(let i=0;i2){ + _movemesh.lengthFact = _movemesh.lengthFact/curvestep; + } + + let len = _movemesh.lengthFact; + // closedSpline.arcLengthDivisions; + let count = _movemesh.geometry.attributes.position.count/3; + + for(let i=0;i2){ + helpmove = newcurvehelp; + }else{ + helpmove = newlinehelp; + } + helpmove.position.y = 0; + for(let i=0;i2){ + cube2.position.set(object.railpoint[1].x-object.position.x,0,object.railpoint[1].z-object.position.z); + atobject.add(cube2); + virtualmovebox.position.set(cube2.position.x,cube2.position.y,cube2.position.z); + }else{ + virtualmovebox.position.set((cube1.position.x+cube3.position.x)/2,0,(cube1.position.z+cube3.position.z)/2); + } + } + }else{ + sectionswitch = false; + this.object = object; + this.visible = true; + + } }; // Detatch from object this.detach = function () { - + if(atobject){ + atobject.remove(virtualmovebox); + atobject.remove(cube1); + atobject.remove(cube2); + atobject.remove(cube3); + } + sectionswitch = false; this.object = undefined; this.visible = false; this.axis = null; @@ -335,13 +385,47 @@ THREE.TransformControls = function ( camera, domElement ) { } else { offset.applyQuaternion( parentQuaternionInv ).divide( parentScale ); } + console.log(sectionswitch); + if(sectionswitch){ + let oldpositionx = object.position.x; + let oldpositionz = object.position.z; + object.position.copy( offset ).add( positionStart ); + atobject.position.x += object.position.x - oldpositionx; + atobject.position.z += object.position.z - oldpositionz; + + console.log(object.position.x - oldpositionx); + atobject.railpoint[0] = { + x:cube1.matrixWorld.elements[12], + y:cube1.matrixWorld.elements[13], + z:cube1.matrixWorld.elements[14], + }; + + if(atobject.railpoint.length>2){ + atobject.railpoint[1] = { + x:cube2.matrixWorld.elements[12], + y:cube2.matrixWorld.elements[13], + z:cube2.matrixWorld.elements[14], + }; + atobject.railpoint[2] = { + x:cube3.matrixWorld.elements[12], + y:cube3.matrixWorld.elements[13], + z:cube3.matrixWorld.elements[14], + }; + }else{ + atobject.railpoint[1] = { + x:cube3.matrixWorld.elements[12], + y:cube3.matrixWorld.elements[13], + z:cube3.matrixWorld.elements[14], + }; + } + }else{ + object.position.copy( offset ).add( positionStart ); + } + - object.position.copy( offset ).add( positionStart ); // Apply translation snap - if ( this.translationSnap ) { - if ( space === 'local' ) { object.position.applyQuaternion(_tempQuaternion.copy( quaternionStart ).inverse() ); diff --git a/src/jlmap3d/main/loaders/DriverLoadNew.js b/src/jlmap3d/main/loaders/DriverLoadNew.js index c74a9d790..4202c551d 100644 --- a/src/jlmap3d/main/loaders/DriverLoadNew.js +++ b/src/jlmap3d/main/loaders/DriverLoadNew.js @@ -85,7 +85,7 @@ export function DriverLoadNew(data,scope,netdata,mapdata,sectionlist,signallist, }) .then(function(data){ //console.log(data); - return sectionlist.loadpromise(mapdata.sectionList,sectiondata.section,scene,assetloader); + return sectionlist.loadpromise(mapdata.sectionList,sectiondata.section,rails,scene,assetloader); }) .then(function(data){ //console.log(data); @@ -99,14 +99,14 @@ export function DriverLoadNew(data,scope,netdata,mapdata,sectionlist,signallist, //console.log(assetloader); return trainlisttest.drivertrain(mapdata.trainList,sceneload,assetloader,mixers,actions,"01"); }) - .then(function(data){ - return new Promise(function(resolve, reject){ - let stopoffset = 64; - rails.init(sectiondata.section,sectiondata,switchdata,sceneload); - resolve("loadrail"); - - }); - }) + // .then(function(data){ + // return new Promise(function(resolve, reject){ + // let stopoffset = 64; + // rails.init(sectiondata.section,sectiondata,switchdata,sceneload); + // resolve("loadrail"); + // + // }); + // }) .then(function(data){ return new Promise(function(resolve, reject){ diff --git a/src/jlmap3d/main/loaders/SimulationLoadNew.js b/src/jlmap3d/main/loaders/SimulationLoadNew.js index 73cb97664..46f5b5f55 100644 --- a/src/jlmap3d/main/loaders/SimulationLoadNew.js +++ b/src/jlmap3d/main/loaders/SimulationLoadNew.js @@ -83,7 +83,7 @@ export function SimulationLoadNew(data,scope,netdata,mapdata,camera,controls,sce }) .then(function(data){ //console.log(data); - return sectionlist.loadpromise(mapdata.sectionList,sectiondata.section,scene,assetloader); + return sectionlist.loadpromise(mapdata.sectionList,sectiondata.section,rails,scene,assetloader); }) .then(function(data){ //console.log(data); @@ -97,14 +97,13 @@ export function SimulationLoadNew(data,scope,netdata,mapdata,camera,controls,sce //console.log(assetloader); return trainlisttest.initpromise(mapdata.trainList,sceneload,assetloader,mixers,actions,"02"); }) - .then(function(data){ - return new Promise(function(resolve, reject){ - let stopoffset = 64; - rails.init(sectiondata.section,sectiondata,switchdata,sceneload); - resolve("loadrail"); - - }); - }) + // .then(function(data){ + // return new Promise(function(resolve, reject){ + // rails.init(sectiondata.section,sectiondata,switchdata,sceneload); + // resolve("loadrail"); + // + // }); + // }) .then(function(data){ return new Promise(function(resolve, reject){ diff --git a/src/jlmap3d/main/newmodel/RailListN.js b/src/jlmap3d/main/newmodel/RailListN.js index 4233800df..abe2e1a3a 100644 --- a/src/jlmap3d/main/newmodel/RailListN.js +++ b/src/jlmap3d/main/newmodel/RailListN.js @@ -180,7 +180,7 @@ export function RailListN(){ scope.sectionrail[section[i].code].standTrack = false; } - // + // // for(let n=0,nm=scope.sectionrail[section[i].code].lineleft.points.length;n0.49){ - rightlist.push(i); - } - if(autorail.geometry.attributes.position.array[i*3] <-0.49){ - leftlist.push(i); - } - } - autorail.rightlist = rightlist; - autorail.leftlist = leftlist; + // for(let i=0;i0.49){ + // rightlist.push(i); + // } + // if(autorail.geometry.attributes.position.array[i*3] <-0.49){ + // leftlist.push(i); + // } + // } + // autorail.rightlist = rightlist; + // autorail.leftlist = leftlist; scene.add(scope.sectiongroup); return new Promise(function(resolve, reject){ // console.log(sectiondata); @@ -53,11 +53,7 @@ this.loadpromise = function(sectionList,sectiondata,scene,assetloader){ name:sectiondata[i].name, standTrack:sectiondata[i].standTrack, rail:sectiondata[i].rail, - rightlist:sectiondata[i].rightlist, - leftlist:sectiondata[i].leftlist, - rsection:sectiondata[i].rsection, - lsection:sectiondata[i].lsection, - csection:sectiondata[i].csection, + railpoint:sectiondata[i].railpoint, lengthFact:sectiondata[i].lengthFact, lconnect:null, @@ -72,149 +68,136 @@ this.loadpromise = function(sectionList,sectiondata,scene,assetloader){ mesh:null }; + // newsection.railpoint.length>2 let len = newsection.lengthFact; - let testmesh2 = autorail.clone(true); - for(let i=0;i2){ + // console.log(newsection); + let height = Math.random()/1000; + var closedSpline = new THREE.CatmullRomCurve3( [ + new THREE.Vector3(newsection.railpoint[0].x,height,newsection.railpoint[0].z), + new THREE.Vector3(newsection.railpoint[1].x,height,newsection.railpoint[1].z), + new THREE.Vector3(newsection.railpoint[2].x,height,newsection.railpoint[2].z) + ] ); + closedSpline.type = 'catmullrom'; + closedSpline.closed = false; + var extrudeSettings = { + steps : 5, + curveSegments : 1, + bevelSegments : 1, + bevelEnabled : false, + extrudePath : closedSpline, + }; + var shape = new THREE.Shape(); + shape.moveTo( 0,-2 ); + shape.lineTo( 0, 2 ); + var geometry = new THREE.ExtrudeBufferGeometry( shape, extrudeSettings ); + var mesh = new THREE.Mesh( geometry, selectmaterial ); + let count = mesh.geometry.attributes.position.count/3; + + for(let i=0;i { + this.add(item); }); - this.mfb = new Text({ - zlevel: this.zlevel, - z: this.z, - style: { - x: model.x + model.style.FaultStatusGroup.distance * 2, - y: model.y, - fontWeight: model.style.textStyle.fontWeight, - fontSize: model.style.FaultStatusGroup.fontSize, - fontFamily: model.style.fontFamily, - text: model.style.FaultStatusGroup.mfb.text, - textFill: model.style.FaultStatusGroup.mfb.defaultColor, - textAlign: model.style.textStyle.textAlign, - textVerticalAlign: model.style.textStyle.textVerticalAlign - } - }); - this.pfa = new Text({ - zlevel: this.zlevel, - z: this.z, - style: { - x: model.x + model.style.FaultStatusGroup.distance * 3, - y: model.y, - fontWeight: model.style.textStyle.fontWeight, - fontSize: model.style.FaultStatusGroup.fontSize, - fontFamily: model.style.fontFamily, - text: model.style.FaultStatusGroup.pfa.text, - textFill: model.style.FaultStatusGroup.pfa.defaultColor, - textAlign: model.style.textStyle.textAlign, - textVerticalAlign: model.style.textStyle.textVerticalAlign - } - }); - this.pfb = new Text({ - zlevel: this.zlevel, - z: this.z, - style: { - x: model.x + model.style.FaultStatusGroup.distance * 4, - y: model.y, - fontWeight: model.style.textStyle.fontWeight, - fontSize: model.style.FaultStatusGroup.fontSize, - fontFamily: model.style.fontFamily, - text: model.style.FaultStatusGroup.pfb.text, - textFill: model.style.FaultStatusGroup.pfb.defaultColor, - textAlign: model.style.textStyle.textAlign, - textVerticalAlign: model.style.textStyle.textVerticalAlign - } + this.pfList.forEach(item => { + this.add(item); }); + // this.mfa = new Text({ + // zlevel: this.zlevel, + // z: this.z, + // style: { + // x: model.x + model.style.FaultStatusGroup.distance, + // y: model.y, + // fontWeight: model.style.textStyle.fontWeight, + // fontSize: model.style.FaultStatusGroup.fontSize, + // fontFamily: model.style.fontFamily, + // text: model.style.FaultStatusGroup.mfa.text, + // textFill: model.style.FaultStatusGroup.mfa.defaultColor, + // textAlign: model.style.textStyle.textAlign, + // textVerticalAlign: model.style.textStyle.textVerticalAlign + // } + // }); + // this.mfb = new Text({ + // zlevel: this.zlevel, + // z: this.z, + // style: { + // x: model.x + model.style.FaultStatusGroup.distance * 2, + // y: model.y, + // fontWeight: model.style.textStyle.fontWeight, + // fontSize: model.style.FaultStatusGroup.fontSize, + // fontFamily: model.style.fontFamily, + // text: model.style.FaultStatusGroup.mfb.text, + // textFill: model.style.FaultStatusGroup.mfb.defaultColor, + // textAlign: model.style.textStyle.textAlign, + // textVerticalAlign: model.style.textStyle.textVerticalAlign + // } + // }); + // this.pfa = new Text({ + // zlevel: this.zlevel, + // z: this.z, + // style: { + // x: model.x + model.style.FaultStatusGroup.distance * 3, + // y: model.y, + // fontWeight: model.style.textStyle.fontWeight, + // fontSize: model.style.FaultStatusGroup.fontSize, + // fontFamily: model.style.fontFamily, + // text: model.style.FaultStatusGroup.pfa.text, + // textFill: model.style.FaultStatusGroup.pfa.defaultColor, + // textAlign: model.style.textStyle.textAlign, + // textVerticalAlign: model.style.textStyle.textVerticalAlign + // } + // }); + // this.pfb = new Text({ + // zlevel: this.zlevel, + // z: this.z, + // style: { + // x: model.x + model.style.FaultStatusGroup.distance * 4, + // y: model.y, + // fontWeight: model.style.textStyle.fontWeight, + // fontSize: model.style.FaultStatusGroup.fontSize, + // fontFamily: model.style.fontFamily, + // text: model.style.FaultStatusGroup.pfb.text, + // textFill: model.style.FaultStatusGroup.pfb.defaultColor, + // textAlign: model.style.textStyle.textAlign, + // textVerticalAlign: model.style.textStyle.textVerticalAlign + // } + // }); this.add(this.psd); this.add(this.mfa); this.add(this.mfb); diff --git a/src/jmapNew/shape/SaidLamp/index.js b/src/jmapNew/shape/SaidLamp/index.js index d4b59b9d5..86b39fe52 100644 --- a/src/jmapNew/shape/SaidLamp/index.js +++ b/src/jmapNew/shape/SaidLamp/index.js @@ -21,21 +21,22 @@ export default class SaidLamp extends Group { this.model = model; this.style = style; this.deviceStyle = style[model._type]; - if (!this.deviceStyle) { return; } - this.isShowShape = true; - if (isShowThePrdType(model.prdType, this.deviceStyle.displayCondition) || model.previewOrMapDraw) { - this.create(); - this.createMouseEvent(); - this.setState(model); - } - if (model.previewOrMapDraw) { - this.setShowMode(); + if (this.deviceStyle) { + this.isShowShape = true; + if (isShowThePrdType(model.prdType, this.deviceStyle.displayCondition) || model.previewOrMapDraw) { + this.create(); + this.createMouseEvent(); + this.setState(model); + } + if (model.previewOrMapDraw) { + this.setShowMode(); + } } } create() { const model = this.model; - const lampDevice = ['LeuControl', 'IntersiteControl', 'CenterCommunication', 'AtsControl', 'LocalControl', 'ChainControl', 'Maintain', 'PowerSupply', 'MaintenanceLamps', 'ZcCommunication']; + const lampDevice = ['LeuControl', 'IntersiteControl', 'CenterCommunication', 'AtsControl', 'LocalControl', 'ChainControl', 'Maintain', 'PowerSupply', 'MaintenanceLamps', 'ZcCommunication', 'SwitchFault']; if (lampDevice.includes(this._type)) { this.control = new EControl({ zlevel: this.zlevel, @@ -47,8 +48,9 @@ export default class SaidLamp extends Group { r: this.deviceStyle.lamp.radiusR }, subType: 'Control', - lineWidth: 0, - fill: this.deviceStyle.lamp.controlColor + lineWidth: this.deviceStyle.lamp.lineWidth || 0, + fill: this.deviceStyle.lamp.controlColor, + stroke: this.deviceStyle.lamp.strokeColor }, text: { position: [0, 0], @@ -93,6 +95,8 @@ export default class SaidLamp extends Group { z: this.z, x: model.position.x, y: model.position.y, + mfNum: model.mfNum, + pfNum: model.pfNum, style: this.style }); this.add(this.control); @@ -129,8 +133,8 @@ export default class SaidLamp extends Group { this.control = new EUnmanned({ zlevel: this.zlevel, z: this.z, - x: model.unmannedPosition.x, - y: model.unmannedPosition.y, + x: model.position.x, + y: model.position.y, _subType: 'Unmanned', width: this.style.NoOneReturn.width, fill: this.style.NoOneReturn.defaultColor @@ -201,11 +205,13 @@ export default class SaidLamp extends Group { } setShowMode() { const showMode = this.model.showMode; - const showConditions = this.deviceStyle.displayCondition; - if (showConditions === '01' || showMode === showConditions) { - this.control && this.control.show(); - } else { - this.control && this.control.hide(); + if (this.deviceStyle) { + const showConditions = this.deviceStyle.displayCondition; + if (showConditions === '01' || showMode === showConditions) { + this.control && this.control.show(); + } else { + this.control && this.control.hide(); + } } } setShowStation(stationCode) { diff --git a/src/jmapNew/shape/Section/EAxle.js b/src/jmapNew/shape/Section/EAxle.js index d094e0c6b..9a4d03864 100644 --- a/src/jmapNew/shape/Section/EAxle.js +++ b/src/jmapNew/shape/Section/EAxle.js @@ -4,87 +4,81 @@ import Path from 'zrender/src/graphic/Path'; // 计轴 -export const EAxle = Path.extend({ +export default Path.extend({ type: 'EAxle', _subType: '', - shape: { - // style: this.style, - // traingle: traingle11, - // drictx: 1, - // dricty: 1, - // point: this.model.points[0] - }, - buildPath: function (ctx, model) { - if (model && model.style && model.traingle) { - const axleLength = 2 * model.style.Section.axle.radius; - const positionx = model.point.x + model.drictx * (model.traingle.getCos(axleLength) * 1.2); - const positiony = model.point.y + model.dricty * (model.traingle.getCos(axleLength) * 1.2); + buildPath: function (path, shape) { + if (shape && shape.style && shape.traingle) { + const axleLength = 2 * shape.style.Section.axle.radius; + // const positionx = shape.point.x + shape.drictx * (shape.traingle.getCos(axleLength) * 1.2); + // const positiony = shape.point.y + shape.dricty * (shape.traingle.getCos(axleLength) * 1.2); + const positionx = shape.point.x + shape.drictx * (shape.traingle.getCos(axleLength) * 1.05); + const positiony = shape.point.y + shape.dricty * (shape.traingle.getCos(axleLength) * 1.05); // 圆弧 - const arcX = positionx - model.dricty * model.traingle.getSin(axleLength); - const arcY = positiony + model.drictx * model.traingle.getSin(axleLength); - const arcR = model.style.Section.axle.radius; - ctx.arc(arcX, arcY, arcR, 0, 2 * Math.PI, false); - ctx.closePath(); + const arcX = positionx - shape.dricty * shape.traingle.getSin(axleLength); + const arcY = positiony + shape.drictx * shape.traingle.getSin(axleLength); + const arcR = shape.style.Section.axle.radius; + path.arc(arcX, arcY, arcR, 0, 2 * Math.PI, false); + path.closePath(); - const x1 = positionx - model.traingle.getCos(axleLength * model.multiple1) - model.dricty * model.traingle.getSin(axleLength); - const y1 = positiony + model.drictx * model.traingle.getSin(axleLength * model.multiple1) - model.traingle.getSin(axleLength); - const x2 = positionx + model.traingle.getCos(axleLength * model.multiple2) - model.dricty * model.traingle.getSin(axleLength); - const y2 = positiony + model.drictx * model.traingle.getSin(axleLength * model.multiple2) + model.traingle.getSin(axleLength); - ctx.moveTo(x1, y1); - ctx.lineTo(x2, y2); - ctx.closePath(); + const x1 = positionx - shape.traingle.getCos(axleLength * shape.multiple1) - shape.dricty * shape.traingle.getSin(axleLength); + const y1 = positiony + shape.drictx * shape.traingle.getSin(axleLength * shape.multiple1) - shape.traingle.getSin(axleLength); + const x2 = positionx + shape.traingle.getCos(axleLength * shape.multiple2) - shape.dricty * shape.traingle.getSin(axleLength); + const y2 = positiony + shape.drictx * shape.traingle.getSin(axleLength * shape.multiple2) + shape.traingle.getSin(axleLength); + path.moveTo(x1, y1); + path.lineTo(x2, y2); + path.closePath(); } } }); // export default class EAxle extends Group { -// constructor(model) { -// super(); -// this.model = model; -// this.zlevel = model.zlevel; -// this.z = 5; -// this.create(model); -// } +// constructor(model) { +// super(); +// this.model = model; +// this.zlevel = model.zlevel; +// this.z = 5; +// this.create(model); +// } -// create(model) { -// if (model && model.style && model.traingle) { -// const axleLength = 2 * model.style.Section.axle.radius; -// const positionx = model.point.x + model.drictx * (model.traingle.getCos(axleLength)); -// const positiony = model.point.y + model.dricty * (model.traingle.getCos(axleLength)); +// create(model) { +// if (model && model.style && model.traingle) { +// const axleLength = 2 * model.style.Section.axle.radius; +// const positionx = model.point.x + model.drictx * (model.traingle.getCos(axleLength) * 1.2); +// const positiony = model.point.y + model.dricty * (model.traingle.getCos(axleLength) * 1.2); +// this.line = new Line({ +// zlevel: this.zlevel, +// z: this.z, +// progressive: model.progressive, +// shape: { +// x1: positionx - model.traingle.getCos(axleLength) - model.dricty * model.traingle.getSin(axleLength), +// y1: positiony + model.drictx * model.traingle.getSin(axleLength) - model.traingle.getSin(axleLength), +// x2: positionx + model.traingle.getCos(axleLength) - model.dricty * model.traingle.getSin(axleLength), +// y2: positiony + model.drictx * model.traingle.getSin(axleLength) + model.traingle.getSin(axleLength) +// }, +// style: { +// GBaseLineWidth: 2, +// stroke: model.style.Section.axle.color +// } +// }); +// this.axle = new Circle({ +// zlevel: this.zlevel, +// z: this.z, +// progressive: model.progressive, +// shape: { +// cx: positionx - model.dricty * model.traingle.getSin(axleLength), +// cy: positiony + model.drictx * model.traingle.getSin(axleLength), +// r: model.style.Section.axle.radius +// }, +// style: { +// GBaseLineWidth: 1, +// stroke: model.style.Section.axle.color, +// fill: model.style.transparentColor +// } +// }); -// this.line = new Line({ -// zlevel: this.zlevel, -// z: this.z, -// progressive: model.progressive, -// shape: { -// x1: positionx - model.traingle.getCos(axleLength) - model.dricty * model.traingle.getSin(axleLength), -// y1: positiony + model.drictx * model.traingle.getSin(axleLength) - model.traingle.getSin(axleLength), -// x2: positionx + model.traingle.getCos(axleLength) - model.dricty * model.traingle.getSin(axleLength), -// y2: positiony + model.drictx * model.traingle.getSin(axleLength) + model.traingle.getSin(axleLength) -// }, -// style: { -// GBaseLineWidth: 1, -// stroke: model.style.Section.axle.color -// } -// }); -// this.axle = new Circle({ -// zlevel: this.zlevel, -// z: this.z, -// progressive: model.progressive, -// shape: { -// cx: positionx - model.dricty * model.traingle.getSin(axleLength), -// cy: positiony + model.drictx * model.traingle.getSin(axleLength), -// r: model.style.Section.axle.radius -// }, -// style: { -// GBaseLineWidth: 1, -// stroke: model.style.Section.axle.color, -// fill: model.style.transparentColor -// } -// }); - -// this.add(this.line); -// this.add(this.axle); -// } -// } +// this.add(this.line); +// this.add(this.axle); +// } +// } // } diff --git a/src/jmapNew/shape/Section/index.js b/src/jmapNew/shape/Section/index.js index b55d1709a..adc308203 100644 --- a/src/jmapNew/shape/Section/index.js +++ b/src/jmapNew/shape/Section/index.js @@ -6,7 +6,7 @@ import ELines from './ELines'; // 创建多线条 曲线 (私有) import EblockLines from './EblockLines'; // 区段封锁特有 import ESeparator from './ESeparator'; // 分隔符 (私有) import EMouse from './EMouse'; -import { EAxle } from './EAxle'; // 创建计轴 +import EAxle from './EAxle'; // 创建计轴 import { EBackArrow, EBackArrowTriangle } from './EBackArrow'; // 折返进路箭头 import ELimitName from './ELimitName'; // 成都三号线 限速名称 import JTriangle from '../../utils/JTriangle'; @@ -60,6 +60,7 @@ export default class Section extends Group { multiple2: 1.5 }, style: { + lineWidth: 2, fill: this.style.Section.axle.color, stroke: this.style.Section.axle.color } @@ -79,6 +80,7 @@ export default class Section extends Group { multiple2: 1 }, style: { + lineWidth: 2, fill: this.style.Section.axle.color, stroke: this.style.Section.axle.color } diff --git a/src/jmapNew/shape/Signal/index.js b/src/jmapNew/shape/Signal/index.js index 1a0d61d09..f0b5d3491 100644 --- a/src/jmapNew/shape/Signal/index.js +++ b/src/jmapNew/shape/Signal/index.js @@ -117,8 +117,8 @@ class Signal extends Group { fill: style.Signal.insideTriangle.fillColor } }); - this.add(this.insideTriangle); - this.insideTriangle.hide(); + // this.add(this.insideTriangle); + // this.insideTriangle.hide(); } if (style.Signal.sigBack) { const signalRect = this.getBoundingRect(); diff --git a/src/jmapNew/shape/StationStand/EDetainCircle.js b/src/jmapNew/shape/StationStand/EDetainCircle.js new file mode 100644 index 000000000..072c594a4 --- /dev/null +++ b/src/jmapNew/shape/StationStand/EDetainCircle.js @@ -0,0 +1,67 @@ +import Group from 'zrender/src/container/Group'; +import Circle from 'zrender/src/graphic/shape/Circle'; +import Line from 'zrender/src/graphic/shape/Line'; + +class EDetainCircle extends Group { + constructor(model) { + super(); + this.model = model; + this.create(); + } + + create() { + const model = this.model; + const style = this.model.style; + this.detainCircle = new Circle({ + zlevel: model.zlevel, + z: model.z, + shape: { + cx: model.x, + cy: model.y, + r: model.radius + }, + style:{ + lineWidth:2, + stroke:style.StationStand.detainCar.defaultColor + } + }); + this.line1 = new Line({ + zlevel: model.zlevel, + z: model.z, + shape:{ + x1:model.x - model.radius * 0.7, + y1:model.y - model.radius * 0.7, + x2:model.x + model.radius * 0.7, + y2:model.y + model.radius * 0.7 + }, + style:{ + lineWidth:2, + stroke:style.StationStand.detainCar.defaultColor + } + }); + this.line2 = new Line({ + zlevel: model.zlevel, + z: model.z, + shape:{ + x1:model.x - model.radius * 0.7, + y1:model.y + model.radius * 0.7, + x2:model.x + model.radius * 0.7, + y2:model.y - model.radius * 0.7 + }, + style:{ + lineWidth:2, + stroke:style.StationStand.detainCar.defaultColor + } + }); + this.add(this.detainCircle); + this.add(this.line1); + this.add(this.line2); + } + + setColor(color) { + this.detainCircle.setStyle('stroke', color); + this.line1.setStyle('stroke', color); + } +} + +export default EDetainCircle; diff --git a/src/jmapNew/shape/StationStand/ESafeEmergent.js b/src/jmapNew/shape/StationStand/ESafeEmergent.js index e06d27cd1..fa735e890 100644 --- a/src/jmapNew/shape/StationStand/ESafeEmergent.js +++ b/src/jmapNew/shape/StationStand/ESafeEmergent.js @@ -1,6 +1,7 @@ import Group from 'zrender/src/container/Group'; import Isogon from 'zrender/src/graphic/shape/Isogon'; import Polygon from 'zrender/src/graphic/shape/Polygon'; +import Line from 'zrender/src/graphic/shape/Line'; import {arrow} from '../utils/ShapePoints'; class ESafeEmergent extends Group { @@ -8,6 +9,9 @@ class ESafeEmergent extends Group { super(); this.model = model; this.isNew = false; + if (this.model.style.StationStand.standEmergent.special) { + this.create(); + } } create() { @@ -43,18 +47,63 @@ class ESafeEmergent extends Group { n: model.n }, style: { - lineWidth: 0, - stroke: style.StationStand.standEmergent.closeColor, - fill: style.StationStand.standEmergent.closeColor + lineWidth: 0 } }); + if (style.StationStand.standEmergent.special) { + this.emergent.setStyle('lineWidth', 2); + this.emergent.setStyle('stroke', style.StationStand.standEmergent.defaultColor); + } else { + this.emergent.setStyle('stroke', style.StationStand.standEmergent.closeColor); + this.emergent.setStyle('fill', style.StationStand.standEmergent.closeColor); + } this.add(this.emergent); + if (style.StationStand.standEmergent.special) { + // r*Math.r*cos(Math.PI/180*22.5) + // Math.sin(Math.PI/180*50) + // Math.cos(Math.PI/180*50) + this.emergent.rotation = Math.PI / 8; + this.emergent.origin = [model.x, model.y]; + this.emergent.dirty(); + this.emergentLine1 = new Line({ + zlevel: model.zlevel, + z: model.z, + shape:{ + x1:model.x - model.r * 0.5939, + y1:model.y - model.r * 0.7077, + x2:model.x + model.r * 0.5939, + y2:model.y + model.r * 0.7077 + }, + style:{ + lineWidth:2, + stroke:style.StationStand.standEmergent.defaultColor + } + }); + this.emergentLine2 = new Line({ + zlevel: model.zlevel, + z: model.z, + shape:{ + x1:model.x + model.r * 0.5939, + y1:model.y - model.r * 0.7077, + x2:model.x - model.r * 0.5939, + y2:model.y + model.r * 0.7077 + }, + style:{ + lineWidth:2, + stroke:style.StationStand.standEmergent.defaultColor + } + }); + this.add(this.emergentLine1); + this.add(this.emergentLine2); + } } } } hideMode() { - this.emergent && this.emergent.hide(); + if (!this.model.style.StationStand.standEmergent.special) { + this.emergent && this.emergent.hide(); + } } showMode() { diff --git a/src/jmapNew/shape/StationStand/index.js b/src/jmapNew/shape/StationStand/index.js index c1ddfda90..a9cd55baa 100644 --- a/src/jmapNew/shape/StationStand/index.js +++ b/src/jmapNew/shape/StationStand/index.js @@ -12,6 +12,7 @@ import EHighlight from '../element/EHighlight'; import ETrainStop from './ETrainStop'; import ETrainDepart from './ETrainDepart'; import EControl from '../element/EControl'; +import EDetainCircle from './EDetainCircle'; import {isShowThePrdType} from '../../utils/handlePath'; class StationStand extends Group { @@ -74,7 +75,7 @@ class StationStand extends Group { x: emergentX, y: emergentY, r: style.StationStand.standEmergent.mergentR, - n: 4 + n: style.StationStand.standEmergent.mergentN }); this.add(this.emergent); @@ -131,21 +132,34 @@ class StationStand extends Group { this.add(this.reentry); } - /** 站台扣车*/ - const detainD = model.right ? 1 : -1; - const detainX = model.position.x - style.StationStand.detainCar.position * detainD * (style.StationStand.detainCar.offset.x - model.width / 2); - const detainY = model.position.y + detainD * (style.StationStand.detainCar.offset.y - model.height / 2); - this.detain = new EDetain({ - zlevel: this.zlevel, - z: this.z, - style: style, - x: detainX, - y: detainY, - width: model.width, - inside: model.inside, - right: model.right - }); - this.add(this.detain); + if (style.StationStand.detainCar.special) { + const detainD = model.right ? 1 : -1; + this.detainCircle = new EDetainCircle({ + zlevel: this.zlevel, + z: this.z, + style: style, + x: model.position.x + (model.width / 2) * detainD + detainD * style.StationStand.detainCar.offset.x + detainD * style.StationStand.detainCar.circleWidth / 2, + y: model.position.y, + radius:style.StationStand.detainCar.circleWidth / 2 + }); + this.add(this.detainCircle); + } else { + /** 站台扣车*/ + const detainD = model.right ? 1 : -1; + const detainX = model.position.x - style.StationStand.detainCar.position * detainD * (style.StationStand.detainCar.offset.x - model.width / 2); + const detainY = model.position.y + detainD * (style.StationStand.detainCar.offset.y - model.height / 2); + this.detain = new EDetain({ + zlevel: this.zlevel, + z: this.z, + style: style, + x: detainX, + y: detainY, + width: model.width, + inside: model.inside, + right: model.right + }); + this.add(this.detain); + } /** 停站时间*/ if (style.StationStand.stopTime.offset) { diff --git a/src/jmapNew/shape/Train/EMouse.js b/src/jmapNew/shape/Train/EMouse.js index e37c0892e..bb8351a2a 100644 --- a/src/jmapNew/shape/Train/EMouse.js +++ b/src/jmapNew/shape/Train/EMouse.js @@ -2,6 +2,7 @@ import Group from 'zrender/src/container/Group'; import Text from 'zrender/src/graphic/Text'; import LangStorage from '@/utils/lang'; import Rect from 'zrender/src/graphic/shape/Rect'; +import store from '@/store/index_APP_TARGET'; class EMouse extends Group { constructor(device) { @@ -27,10 +28,14 @@ class EMouse extends Group { default: trainType = LangStorage.getLang() == 'en' ? 'unknown' : '未知'; break; } let text = ''; + let direction = this.device.model.right == 1; + if (store.state.map.mapConfig.upDirection == 'left') { + direction = this.device.model.right != 1; + } if (LangStorage.getLang() == 'en') { - text = ` The planned train: ${trainType} \n Table No.: ${this.device.model.serviceNumber} \n Train Trip No.: ${this.device.model.tripNumber}\n Destination: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n Train No.: ${this.device.model.groupNumber}\n Early or late: ${destinationText}\n Direction: ${this.device.model.directionType == '02' ? 'up' : 'down'}\n Crew No.: \n Start Station: \n Terminal Station: \n Occupied Track: ${this.device.model.sectionModel ? this.device.model.sectionModel.name : ''}\n Current Station: \n Train-ground communication: normal \n Operation Speed level: 4 \n Detained: ${this.device.model.hold ? 'Detained' : 'Normal'}\n \n 跳停状态: ${this.device.model.jump ? 'Skip to continue moving' : 'Normal'}Stationary: ${!this.device.model.stop ? 'No' : 'Yes'}\n Blocked: No \n Speed: ${this.device.model.speed || 0} km/h \n Authorized Distance: ${this.device.model.maLen || 0} m`; + text = ` The planned train: ${trainType} \n Table No.: ${this.device.model.serviceNumber} \n Train Trip No.: ${this.device.model.tripNumber}\n Destination: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n Train No.: ${this.device.model.groupNumber}\n Early or late: ${destinationText}\n Direction: ${direction ? 'up' : 'down'}\n Crew No.: \n Start Station: \n Terminal Station: \n Occupied Track: ${this.device.model.sectionModel ? this.device.model.sectionModel.name : ''}\n Current Station: \n Train-ground communication: normal \n Operation Speed level: 4 \n Detained: ${this.device.model.hold ? 'Detained' : 'Normal'}\n \n 跳停状态: ${this.device.model.jump ? 'Skip to continue moving' : 'Normal'}Stationary: ${!this.device.model.stop ? 'No' : 'Yes'}\n Blocked: No \n Speed: ${this.device.model.speed || 0} km/h \n Authorized Distance: ${this.device.model.maLen || 0} m`; } else { - text = `列车类型: ${trainType} \n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n车\0组\0号: ${this.device.model.groupNumber}\n早\0晚\0点: ${destinationText}\n运行方向: ${this.device.model.directionType == '02' ? '上行' : '下行'}\n乘务组号: \n起点站名: \n终点站名: \n占用轨道: ${this.device.model.sectionModel ? this.device.model.sectionModel.name : ''}\n所在车站: \n车地通信: 正常\n运行等级: 4\n扣车状态: ${ this.device.model.hold ? '扣车' : '正常'}\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'} \n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车速度: ${this.device.model.speed || 0} km/h\n列车移动授权距离: ${this.device.model.maLen || 0} m`; + text = `列车类型: ${trainType} \n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n车\0组\0号: ${this.device.model.groupNumber}\n早\0晚\0点: ${destinationText}\n运行方向: ${direction ? '上行' : '下行'}\n乘务组号: \n起点站名: \n终点站名: \n占用轨道: ${this.device.model.sectionModel ? this.device.model.sectionModel.name : ''}\n所在车站: \n车地通信: 正常\n运行等级: 4\n扣车状态: ${ this.device.model.hold ? '扣车' : '正常'}\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'} \n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车速度: ${this.device.model.speed || 0} km/h\n列车移动授权距离: ${this.device.model.maLen || 0} m`; } const trainTip = this.device.style.Train.common.trainTip; if (trainTip) { diff --git a/src/jmapNew/shape/Train/index.js b/src/jmapNew/shape/Train/index.js index 891a6cd3d..f19af6378 100644 --- a/src/jmapNew/shape/Train/index.js +++ b/src/jmapNew/shape/Train/index.js @@ -73,7 +73,7 @@ export default class Train extends Group { tripNumber: model.tripNumber, destinationCode: model.destinationCode, groupNumber: model.groupNumber, - directionType: model.directionType, + right: model.right, directionCode: model.directionCode, sectionModel: model.sectionModel, runStatus: model.runStatus, diff --git a/src/jmapNew/shape/element/EControl.js b/src/jmapNew/shape/element/EControl.js index daab1517c..423588802 100644 --- a/src/jmapNew/shape/element/EControl.js +++ b/src/jmapNew/shape/element/EControl.js @@ -25,7 +25,8 @@ export default class EControl extends Group { shape: this.arcStyle.shape, style: { lineWidth: this.arcStyle.lineWidth, - fill: this.arcStyle.fill + fill: this.arcStyle.fill, + stroke: this.arcStyle.stroke }, onmouseover: this.arcStyle.mouseover, onmouseout: this.arcStyle.mouseout diff --git a/src/jmapNew/shape/factory.js b/src/jmapNew/shape/factory.js index c300aa1e9..e8d551734 100644 --- a/src/jmapNew/shape/factory.js +++ b/src/jmapNew/shape/factory.js @@ -65,6 +65,7 @@ mapShape[deviceType.ModeStatusGroup] = SaidLamp; mapShape[deviceType.FaultStatusGroup] = SaidLamp; mapShape[deviceType.ReturnModeGroup] = SaidLamp; mapShape[deviceType.Axle] = SaidLamp; +mapShape[deviceType.SwitchFault] = SaidLamp; mapShape[deviceType.SplitStation] = SplitStation; function shapefactory(device, jmap) { diff --git a/src/jmapNew/theme/beijing_01/menusPlan/addTask.vue b/src/jmapNew/theme/beijing_01/menusPlan/addTask.vue deleted file mode 100644 index 009c19f02..000000000 --- a/src/jmapNew/theme/beijing_01/menusPlan/addTask.vue +++ /dev/null @@ -1,175 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/beijing_01/menusPlan/chooseTemplatePlan.vue b/src/jmapNew/theme/beijing_01/menusPlan/chooseTemplatePlan.vue deleted file mode 100644 index 947163306..000000000 --- a/src/jmapNew/theme/beijing_01/menusPlan/chooseTemplatePlan.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/beijing_01/menusPlan/components/dataTable.vue b/src/jmapNew/theme/beijing_01/menusPlan/components/dataTable.vue deleted file mode 100644 index fa98a48e7..000000000 --- a/src/jmapNew/theme/beijing_01/menusPlan/components/dataTable.vue +++ /dev/null @@ -1,206 +0,0 @@ - - - - - diff --git a/src/jmapNew/theme/beijing_01/menusPlan/createTodayPlan.vue b/src/jmapNew/theme/beijing_01/menusPlan/createTodayPlan.vue deleted file mode 100644 index 0c483abb4..000000000 --- a/src/jmapNew/theme/beijing_01/menusPlan/createTodayPlan.vue +++ /dev/null @@ -1,134 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/beijing_01/menusPlan/createWeekPlan.vue b/src/jmapNew/theme/beijing_01/menusPlan/createWeekPlan.vue deleted file mode 100644 index 2eabc8044..000000000 --- a/src/jmapNew/theme/beijing_01/menusPlan/createWeekPlan.vue +++ /dev/null @@ -1,137 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/beijing_01/menusPlan/deleteTask.vue b/src/jmapNew/theme/beijing_01/menusPlan/deleteTask.vue deleted file mode 100644 index cd79c305f..000000000 --- a/src/jmapNew/theme/beijing_01/menusPlan/deleteTask.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/beijing_01/menusPlan/deleteTodayPlan.vue b/src/jmapNew/theme/beijing_01/menusPlan/deleteTodayPlan.vue deleted file mode 100644 index 2e22a7c64..000000000 --- a/src/jmapNew/theme/beijing_01/menusPlan/deleteTodayPlan.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/beijing_01/menusPlan/managePlanList.vue b/src/jmapNew/theme/beijing_01/menusPlan/managePlanList.vue deleted file mode 100644 index 7fcd45639..000000000 --- a/src/jmapNew/theme/beijing_01/menusPlan/managePlanList.vue +++ /dev/null @@ -1,143 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/beijing_01/menusPlan/modifyingPlan.vue b/src/jmapNew/theme/beijing_01/menusPlan/modifyingPlan.vue deleted file mode 100644 index 1d2b31102..000000000 --- a/src/jmapNew/theme/beijing_01/menusPlan/modifyingPlan.vue +++ /dev/null @@ -1,177 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/beijing_01/menusPlan/modifyingTask.vue b/src/jmapNew/theme/beijing_01/menusPlan/modifyingTask.vue deleted file mode 100644 index 8cc14cd09..000000000 --- a/src/jmapNew/theme/beijing_01/menusPlan/modifyingTask.vue +++ /dev/null @@ -1,327 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/beijing_01/model.js b/src/jmapNew/theme/beijing_01/model.js index ed34da08c..dd040cf61 100644 --- a/src/jmapNew/theme/beijing_01/model.js +++ b/src/jmapNew/theme/beijing_01/model.js @@ -14,6 +14,9 @@ class Model { this['private'][deviceType.StationControl] = { indicatorShow: true // 标识灯名称显示 }; + this['private'][deviceType.Station] = { + kmPostShow: true // 公里标显示 + }; this['private'][deviceType.Switch] = { nameShow: true }; diff --git a/src/jmapNew/theme/beijing_01/planSchedule/index.vue b/src/jmapNew/theme/beijing_01/planSchedule/index.vue deleted file mode 100644 index 6fa39ed23..000000000 --- a/src/jmapNew/theme/beijing_01/planSchedule/index.vue +++ /dev/null @@ -1,403 +0,0 @@ - - - - - diff --git a/src/jmapNew/theme/beijing_01/planSchedule/menuBar.vue b/src/jmapNew/theme/beijing_01/planSchedule/menuBar.vue deleted file mode 100644 index e64ae3063..000000000 --- a/src/jmapNew/theme/beijing_01/planSchedule/menuBar.vue +++ /dev/null @@ -1,514 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/beijing_01/planSchedule/menuTool.vue b/src/jmapNew/theme/beijing_01/planSchedule/menuTool.vue deleted file mode 100644 index d3ecde016..000000000 --- a/src/jmapNew/theme/beijing_01/planSchedule/menuTool.vue +++ /dev/null @@ -1,172 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/jmapNew/theme/beijing_01/planSchedule/schedule.vue b/src/jmapNew/theme/beijing_01/planSchedule/schedule.vue deleted file mode 100644 index 82a3c9ed3..000000000 --- a/src/jmapNew/theme/beijing_01/planSchedule/schedule.vue +++ /dev/null @@ -1,468 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/beijing_01/planSchedule/statusBar.vue b/src/jmapNew/theme/beijing_01/planSchedule/statusBar.vue deleted file mode 100644 index 4c1418fb3..000000000 --- a/src/jmapNew/theme/beijing_01/planSchedule/statusBar.vue +++ /dev/null @@ -1,107 +0,0 @@ - - - - - diff --git a/src/jmapNew/theme/beijing_01/planSchedule/titleBar.vue b/src/jmapNew/theme/beijing_01/planSchedule/titleBar.vue deleted file mode 100644 index 689c3486a..000000000 --- a/src/jmapNew/theme/beijing_01/planSchedule/titleBar.vue +++ /dev/null @@ -1,75 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/jmapNew/theme/chengdu_01/model.js b/src/jmapNew/theme/chengdu_01/model.js index ed34da08c..dd040cf61 100644 --- a/src/jmapNew/theme/chengdu_01/model.js +++ b/src/jmapNew/theme/chengdu_01/model.js @@ -14,6 +14,9 @@ class Model { this['private'][deviceType.StationControl] = { indicatorShow: true // 标识灯名称显示 }; + this['private'][deviceType.Station] = { + kmPostShow: true // 公里标显示 + }; this['private'][deviceType.Switch] = { nameShow: true }; diff --git a/src/jmapNew/theme/chengdu_01/planSchedule/index.vue b/src/jmapNew/theme/chengdu_01/planSchedule/index.vue deleted file mode 100644 index 696eed1e0..000000000 --- a/src/jmapNew/theme/chengdu_01/planSchedule/index.vue +++ /dev/null @@ -1,403 +0,0 @@ - - - - - diff --git a/src/jmapNew/theme/chengdu_01/planSchedule/menuBar.vue b/src/jmapNew/theme/chengdu_01/planSchedule/menuBar.vue deleted file mode 100644 index e64ae3063..000000000 --- a/src/jmapNew/theme/chengdu_01/planSchedule/menuBar.vue +++ /dev/null @@ -1,514 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/chengdu_01/planSchedule/schedule.vue b/src/jmapNew/theme/chengdu_01/planSchedule/schedule.vue deleted file mode 100644 index 57008bbed..000000000 --- a/src/jmapNew/theme/chengdu_01/planSchedule/schedule.vue +++ /dev/null @@ -1,477 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/chengdu_01/planSchedule/statusBar.vue b/src/jmapNew/theme/chengdu_01/planSchedule/statusBar.vue deleted file mode 100644 index 170553e15..000000000 --- a/src/jmapNew/theme/chengdu_01/planSchedule/statusBar.vue +++ /dev/null @@ -1,100 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/jmapNew/theme/chengdu_01/planSchedule/titleBar.vue b/src/jmapNew/theme/chengdu_01/planSchedule/titleBar.vue deleted file mode 100644 index 689c3486a..000000000 --- a/src/jmapNew/theme/chengdu_01/planSchedule/titleBar.vue +++ /dev/null @@ -1,75 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/jmapNew/theme/chengdu_03/menusPlan/addTask.vue b/src/jmapNew/theme/chengdu_03/menusPlan/addTask.vue deleted file mode 100644 index 009c19f02..000000000 --- a/src/jmapNew/theme/chengdu_03/menusPlan/addTask.vue +++ /dev/null @@ -1,175 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/chengdu_03/menusPlan/chooseTemplatePlan.vue b/src/jmapNew/theme/chengdu_03/menusPlan/chooseTemplatePlan.vue deleted file mode 100644 index fa220d049..000000000 --- a/src/jmapNew/theme/chengdu_03/menusPlan/chooseTemplatePlan.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/chengdu_03/menusPlan/createTodayPlan.vue b/src/jmapNew/theme/chengdu_03/menusPlan/createTodayPlan.vue deleted file mode 100644 index 7b6159a5d..000000000 --- a/src/jmapNew/theme/chengdu_03/menusPlan/createTodayPlan.vue +++ /dev/null @@ -1,128 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/chengdu_03/menusPlan/createWeekPlan.vue b/src/jmapNew/theme/chengdu_03/menusPlan/createWeekPlan.vue deleted file mode 100644 index 2eabc8044..000000000 --- a/src/jmapNew/theme/chengdu_03/menusPlan/createWeekPlan.vue +++ /dev/null @@ -1,137 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/chengdu_03/menusPlan/deleteTask.vue b/src/jmapNew/theme/chengdu_03/menusPlan/deleteTask.vue deleted file mode 100644 index cd79c305f..000000000 --- a/src/jmapNew/theme/chengdu_03/menusPlan/deleteTask.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/chengdu_03/menusPlan/deleteTodayPlan.vue b/src/jmapNew/theme/chengdu_03/menusPlan/deleteTodayPlan.vue deleted file mode 100644 index 2e22a7c64..000000000 --- a/src/jmapNew/theme/chengdu_03/menusPlan/deleteTodayPlan.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/chengdu_03/menusPlan/managePlanList.vue b/src/jmapNew/theme/chengdu_03/menusPlan/managePlanList.vue deleted file mode 100644 index 7fcd45639..000000000 --- a/src/jmapNew/theme/chengdu_03/menusPlan/managePlanList.vue +++ /dev/null @@ -1,143 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/chengdu_03/menusPlan/modifyingPlan.vue b/src/jmapNew/theme/chengdu_03/menusPlan/modifyingPlan.vue deleted file mode 100644 index 1d2b31102..000000000 --- a/src/jmapNew/theme/chengdu_03/menusPlan/modifyingPlan.vue +++ /dev/null @@ -1,177 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/chengdu_03/menusPlan/modifyingTask.vue b/src/jmapNew/theme/chengdu_03/menusPlan/modifyingTask.vue deleted file mode 100644 index 4679c003e..000000000 --- a/src/jmapNew/theme/chengdu_03/menusPlan/modifyingTask.vue +++ /dev/null @@ -1,326 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/chengdu_03/model.js b/src/jmapNew/theme/chengdu_03/model.js index ed34da08c..dd040cf61 100644 --- a/src/jmapNew/theme/chengdu_03/model.js +++ b/src/jmapNew/theme/chengdu_03/model.js @@ -14,6 +14,9 @@ class Model { this['private'][deviceType.StationControl] = { indicatorShow: true // 标识灯名称显示 }; + this['private'][deviceType.Station] = { + kmPostShow: true // 公里标显示 + }; this['private'][deviceType.Switch] = { nameShow: true }; diff --git a/src/jmapNew/theme/chengdu_03/planSchedule/menuTool.vue b/src/jmapNew/theme/chengdu_03/planSchedule/menuTool.vue deleted file mode 100644 index a2ee9e8f0..000000000 --- a/src/jmapNew/theme/chengdu_03/planSchedule/menuTool.vue +++ /dev/null @@ -1,170 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/chengdu_03/planSchedule/statusBar.vue b/src/jmapNew/theme/chengdu_03/planSchedule/statusBar.vue deleted file mode 100644 index 170553e15..000000000 --- a/src/jmapNew/theme/chengdu_03/planSchedule/statusBar.vue +++ /dev/null @@ -1,100 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/jmapNew/theme/chengdu_03/planSchedule/titleBar.vue b/src/jmapNew/theme/chengdu_03/planSchedule/titleBar.vue deleted file mode 100644 index 689c3486a..000000000 --- a/src/jmapNew/theme/chengdu_03/planSchedule/titleBar.vue +++ /dev/null @@ -1,75 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/jmapNew/theme/factory.js b/src/jmapNew/theme/factory.js index 661112890..4cdd371d7 100644 --- a/src/jmapNew/theme/factory.js +++ b/src/jmapNew/theme/factory.js @@ -11,7 +11,8 @@ class Theme { '06': 'ningbo_01', '07': 'haerbin_01', // 哈尔滨培训线路 '08': 'foshan_01', - '09': 'xian_02' + '09': 'xian_02', + '10': 'xian_01' }; this._localShowMode = { // 现地显示模式 '01': 'all', // 成都一 全显 @@ -22,7 +23,8 @@ class Theme { '06': 'ecStation', // 宁波一 集中站显示 '07': 'ecStation', // 哈尔滨培训线路 集中站显示 '08': 'all', // 佛山有轨线路 全显 - '09': 'all' + '09': 'all', + '10': 'all' }; } @@ -32,9 +34,9 @@ class Theme { } // 加载运行图计划表组件 - loadPlanComponent(code) { - return Object.assign({}, require(`./${this._mapMenu[code || this._code]}/planSchedule/index`).default); - } + // loadPlanComponent(code) { + // return Object.assign({}, require(`./${this._mapMenu[code || this._code]}/planSchedule/index`).default); + // } // 加载运行图解析和转化函数 loadPlanConvert(code) { diff --git a/src/jmapNew/theme/foshan_01/menus/dialog/routeControl.vue b/src/jmapNew/theme/foshan_01/menus/dialog/routeControl.vue index 4c0a1bbb9..e515e9d87 100644 --- a/src/jmapNew/theme/foshan_01/menus/dialog/routeControl.vue +++ b/src/jmapNew/theme/foshan_01/menus/dialog/routeControl.vue @@ -23,8 +23,8 @@
- 设置自动通过 - 取消自动通过 + 设置自动通过 + 取消自动通过
diff --git a/src/jmapNew/theme/foshan_01/menus/dialog/stationControl.vue b/src/jmapNew/theme/foshan_01/menus/dialog/stationControl.vue index c6449ac0a..b01a98cc3 100644 --- a/src/jmapNew/theme/foshan_01/menus/dialog/stationControl.vue +++ b/src/jmapNew/theme/foshan_01/menus/dialog/stationControl.vue @@ -64,7 +64,8 @@ export default { row: null, operation: '', stationLists: [], - disabledAll: false + disabledAll: false, + checked2: false }; }, computed: { diff --git a/src/jmapNew/theme/foshan_01/menus/dialog/switchControl.vue b/src/jmapNew/theme/foshan_01/menus/dialog/switchControl.vue index 02921ccf3..3bdb6d848 100644 --- a/src/jmapNew/theme/foshan_01/menus/dialog/switchControl.vue +++ b/src/jmapNew/theme/foshan_01/menus/dialog/switchControl.vue @@ -190,7 +190,7 @@ export default { const operate = { over: true, operation: OperationEvent.Switch.locate.menu.operation, - cmdType: CMD.Switch.CMD_SWITCH_TURN_NP_CHAIN + cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION }; this.sendCommand(operate); @@ -200,7 +200,7 @@ export default { const operate = { over: true, operation: OperationEvent.Switch.reverse.menu.operation, - cmdType: CMD.Switch.CMD_SWITCH_TURN_RP_CHAIN + cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION }; this.sendCommand(operate); diff --git a/src/jmapNew/theme/foshan_01/menus/dialog/turnBackControl.vue b/src/jmapNew/theme/foshan_01/menus/dialog/turnBackControl.vue index 882b862bd..e3dfd4fc3 100644 --- a/src/jmapNew/theme/foshan_01/menus/dialog/turnBackControl.vue +++ b/src/jmapNew/theme/foshan_01/menus/dialog/turnBackControl.vue @@ -24,10 +24,10 @@ - 设置 + 设置 - 取消 + 取消 diff --git a/src/jmapNew/theme/foshan_01/menus/menuSwitch.vue b/src/jmapNew/theme/foshan_01/menus/menuSwitch.vue index f13e3354b..dc2b1669a 100644 --- a/src/jmapNew/theme/foshan_01/menus/menuSwitch.vue +++ b/src/jmapNew/theme/foshan_01/menus/menuSwitch.vue @@ -45,11 +45,36 @@ export default { Local: [ ], Center: [ - // { - // label: '设置临时限速', - // handler: this.setSpeed, - // cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED - // }, + { + label: '道岔总定', + handler: this.locate, + cmdType:CMD.Switch.CMD_SWITCH_NORMAL_POSITION + }, + { + label: '道岔总反', + handler: this.reverse, + cmdType:CMD.Switch.CMD_SWITCH_REVERSE_POSITION + }, + { + label: '道岔单锁', + handler: this.lock, + cmdType:CMD.Switch.CMD_SWITCH_SINGLE_LOCK + }, + { + label: '道岔单解', + handler: this.unlock, + cmdType:CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK + }, + { + label: '道岔封闭', + handler: this.block, + cmdType:CMD.Switch.CMD_SWITCH_BLOCK + }, + { + label: '道岔解封', + handler: this.unblock, + cmdType:CMD.Switch.CMD_SWITCH_UNBLOCK + } ] }, menuForce: [ @@ -213,48 +238,84 @@ export default { }, // 单操到定位 locate(selectType) { - commitOperate(menuOperate.Switch.locate, {switchCode:selectType.code}, 3).then(({valid, operate})=>{ - // this.$refs.switchControl.doShow(data.operate, this.selected); + let code = selectType.code; + let type = 3; + if (!code) { + code = this.selected.code; + type = 0; + } + commitOperate(menuOperate.Switch.locate, {switchCode: code}, type).then(({valid, operate})=>{ + !selectType.code && this.$refs.switchControl.doShow(operate, this.selected); }).catch(error=>{ this.$refs.noticeInfo.doShow({}, error.message); }); }, // 单操到反位 reverse(selectType) { - commitOperate(menuOperate.Switch.reverse, {switchCode:selectType.code}, 3).then(({valid, operate})=>{ - // this.$refs.switchControl.doShow(data.operate, this.selected); + let code = selectType.code; + let type = 3; + if (!code) { + code = this.selected.code; + type = 0; + } + commitOperate(menuOperate.Switch.reverse, {switchCode: code}, type).then(({valid, operate})=>{ + !selectType.code && this.$refs.switchControl.doShow(operate, this.selected); }).catch(error=>{ this.$refs.noticeInfo.doShow({}, error.message); }); }, // 道岔单锁 lock(selectType) { - commitOperate(menuOperate.Switch.lock, {switchCode:selectType.code}, 3).then(({valid, operate})=>{ - // this.$refs.switchControl.doShow(data.operate, this.selected); + let code = selectType.code; + let type = 3; + if (!code) { + code = this.selected.code; + type = 0; + } + commitOperate(menuOperate.Switch.lock, {switchCode: code}, type).then(({valid, operate})=>{ + !selectType.code && this.$refs.switchControl.doShow(operate, this.selected); }).catch(error=>{ this.$refs.noticeInfo.doShow({}, error.message); }); }, // 道岔解锁 unlock(selectType) { - commitOperate(menuOperate.Switch.unlock, {switchCode:selectType.code}, 3).then(({valid, operate})=>{ - // this.$refs.switchUnLock.doShow(data.operate, this.selected); + let code = selectType.code; + let type = 3; + if (!code) { + code = this.selected.code; + type = 0; + } + commitOperate(menuOperate.Switch.unlock, {switchCode: code}, type).then(({valid, operate})=>{ + !selectType.code && this.$refs.switchUnLock.doShow(operate, this.selected); }).catch(error=>{ this.$refs.noticeInfo.doShow({}, error.message); }); }, // 道岔封锁 block(selectType) { - commitOperate(menuOperate.Switch.block, {switchCode:selectType.code}, 3).then(({valid, operate})=>{ - // this.$refs.switchControl.doShow(data.operate, this.selected); + let code = selectType.code; + let type = 3; + if (!code) { + code = this.selected.code; + type = 0; + } + commitOperate(menuOperate.Switch.block, {switchCode: code}, type).then(({valid, operate})=>{ + !selectType.code && this.$refs.switchControl.doShow(operate, this.selected); }).catch(error=>{ this.$refs.noticeInfo.doShow({}, error.message); }); }, // 道岔解封 unblock(selectType) { - commitOperate(menuOperate.Switch.unblock, {switchCode:selectType.code}, 3).then(({valid, operate})=>{ - // this.$refs.switchUnLock.doShow(data.operate, this.selected); + let code = selectType.code; + let type = 3; + if (!code) { + code = this.selected.code; + type = 0; + } + commitOperate(menuOperate.Switch.unblock, {switchCode: code}, type).then(({valid, operate})=>{ + !selectType.code && this.$refs.switchUnLock.doShow(operate, this.selected); }).catch(error=>{ this.$refs.noticeInfo.doShow({}, error.message); }); diff --git a/src/jmapNew/theme/foshan_01/menusPlan/addTask.vue b/src/jmapNew/theme/foshan_01/menusPlan/addTask.vue deleted file mode 100644 index 7393eadc4..000000000 --- a/src/jmapNew/theme/foshan_01/menusPlan/addTask.vue +++ /dev/null @@ -1,175 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/foshan_01/menusPlan/chooseTemplatePlan.vue b/src/jmapNew/theme/foshan_01/menusPlan/chooseTemplatePlan.vue deleted file mode 100644 index 67b408088..000000000 --- a/src/jmapNew/theme/foshan_01/menusPlan/chooseTemplatePlan.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/foshan_01/menusPlan/components/dataTable.vue b/src/jmapNew/theme/foshan_01/menusPlan/components/dataTable.vue deleted file mode 100644 index fa98a48e7..000000000 --- a/src/jmapNew/theme/foshan_01/menusPlan/components/dataTable.vue +++ /dev/null @@ -1,206 +0,0 @@ - - - - - diff --git a/src/jmapNew/theme/foshan_01/menusPlan/createTodayPlan.vue b/src/jmapNew/theme/foshan_01/menusPlan/createTodayPlan.vue deleted file mode 100644 index d0e6f8303..000000000 --- a/src/jmapNew/theme/foshan_01/menusPlan/createTodayPlan.vue +++ /dev/null @@ -1,134 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/foshan_01/menusPlan/createWeekPlan.vue b/src/jmapNew/theme/foshan_01/menusPlan/createWeekPlan.vue deleted file mode 100644 index 3b7892577..000000000 --- a/src/jmapNew/theme/foshan_01/menusPlan/createWeekPlan.vue +++ /dev/null @@ -1,137 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/foshan_01/menusPlan/deleteTask.vue b/src/jmapNew/theme/foshan_01/menusPlan/deleteTask.vue deleted file mode 100644 index a4b46a39f..000000000 --- a/src/jmapNew/theme/foshan_01/menusPlan/deleteTask.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/foshan_01/menusPlan/deleteTodayPlan.vue b/src/jmapNew/theme/foshan_01/menusPlan/deleteTodayPlan.vue deleted file mode 100644 index d4ec6f572..000000000 --- a/src/jmapNew/theme/foshan_01/menusPlan/deleteTodayPlan.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/foshan_01/menusPlan/managePlanList.vue b/src/jmapNew/theme/foshan_01/menusPlan/managePlanList.vue deleted file mode 100644 index 5dde228f9..000000000 --- a/src/jmapNew/theme/foshan_01/menusPlan/managePlanList.vue +++ /dev/null @@ -1,143 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/foshan_01/menusPlan/modifyingPlan.vue b/src/jmapNew/theme/foshan_01/menusPlan/modifyingPlan.vue deleted file mode 100644 index 9b5740f84..000000000 --- a/src/jmapNew/theme/foshan_01/menusPlan/modifyingPlan.vue +++ /dev/null @@ -1,177 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/foshan_01/menusPlan/modifyingTask.vue b/src/jmapNew/theme/foshan_01/menusPlan/modifyingTask.vue deleted file mode 100644 index f581724d8..000000000 --- a/src/jmapNew/theme/foshan_01/menusPlan/modifyingTask.vue +++ /dev/null @@ -1,327 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/foshan_01/model.js b/src/jmapNew/theme/foshan_01/model.js index ed34da08c..dd040cf61 100644 --- a/src/jmapNew/theme/foshan_01/model.js +++ b/src/jmapNew/theme/foshan_01/model.js @@ -14,6 +14,9 @@ class Model { this['private'][deviceType.StationControl] = { indicatorShow: true // 标识灯名称显示 }; + this['private'][deviceType.Station] = { + kmPostShow: true // 公里标显示 + }; this['private'][deviceType.Switch] = { nameShow: true }; diff --git a/src/jmapNew/theme/foshan_01/planSchedule/index.vue b/src/jmapNew/theme/foshan_01/planSchedule/index.vue deleted file mode 100644 index 4dd59696b..000000000 --- a/src/jmapNew/theme/foshan_01/planSchedule/index.vue +++ /dev/null @@ -1,403 +0,0 @@ - - - - - diff --git a/src/jmapNew/theme/foshan_01/planSchedule/menuBar.vue b/src/jmapNew/theme/foshan_01/planSchedule/menuBar.vue deleted file mode 100644 index e64ae3063..000000000 --- a/src/jmapNew/theme/foshan_01/planSchedule/menuBar.vue +++ /dev/null @@ -1,514 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/foshan_01/planSchedule/menuTool.vue b/src/jmapNew/theme/foshan_01/planSchedule/menuTool.vue deleted file mode 100644 index d3ecde016..000000000 --- a/src/jmapNew/theme/foshan_01/planSchedule/menuTool.vue +++ /dev/null @@ -1,172 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/jmapNew/theme/foshan_01/planSchedule/schedule.vue b/src/jmapNew/theme/foshan_01/planSchedule/schedule.vue deleted file mode 100644 index 82a3c9ed3..000000000 --- a/src/jmapNew/theme/foshan_01/planSchedule/schedule.vue +++ /dev/null @@ -1,468 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/foshan_01/planSchedule/statusBar.vue b/src/jmapNew/theme/foshan_01/planSchedule/statusBar.vue deleted file mode 100644 index 4c1418fb3..000000000 --- a/src/jmapNew/theme/foshan_01/planSchedule/statusBar.vue +++ /dev/null @@ -1,107 +0,0 @@ - - - - - diff --git a/src/jmapNew/theme/foshan_01/planSchedule/titleBar.vue b/src/jmapNew/theme/foshan_01/planSchedule/titleBar.vue deleted file mode 100644 index 689c3486a..000000000 --- a/src/jmapNew/theme/foshan_01/planSchedule/titleBar.vue +++ /dev/null @@ -1,75 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/jmapNew/theme/fuzhou_01/menusPlan/addTask.vue b/src/jmapNew/theme/fuzhou_01/menusPlan/addTask.vue deleted file mode 100644 index b9e6c42e8..000000000 --- a/src/jmapNew/theme/fuzhou_01/menusPlan/addTask.vue +++ /dev/null @@ -1,175 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/fuzhou_01/menusPlan/chooseTemplatePlan.vue b/src/jmapNew/theme/fuzhou_01/menusPlan/chooseTemplatePlan.vue deleted file mode 100644 index 78abc470e..000000000 --- a/src/jmapNew/theme/fuzhou_01/menusPlan/chooseTemplatePlan.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/fuzhou_01/menusPlan/components/dataTable.vue b/src/jmapNew/theme/fuzhou_01/menusPlan/components/dataTable.vue deleted file mode 100644 index cfaac866d..000000000 --- a/src/jmapNew/theme/fuzhou_01/menusPlan/components/dataTable.vue +++ /dev/null @@ -1,206 +0,0 @@ - - - - - diff --git a/src/jmapNew/theme/fuzhou_01/menusPlan/createTodayPlan.vue b/src/jmapNew/theme/fuzhou_01/menusPlan/createTodayPlan.vue deleted file mode 100644 index e1616fa86..000000000 --- a/src/jmapNew/theme/fuzhou_01/menusPlan/createTodayPlan.vue +++ /dev/null @@ -1,135 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/fuzhou_01/menusPlan/createWeekPlan.vue b/src/jmapNew/theme/fuzhou_01/menusPlan/createWeekPlan.vue deleted file mode 100644 index 469fd37d6..000000000 --- a/src/jmapNew/theme/fuzhou_01/menusPlan/createWeekPlan.vue +++ /dev/null @@ -1,137 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/fuzhou_01/menusPlan/deleteTask.vue b/src/jmapNew/theme/fuzhou_01/menusPlan/deleteTask.vue deleted file mode 100644 index 363f3c8ab..000000000 --- a/src/jmapNew/theme/fuzhou_01/menusPlan/deleteTask.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/fuzhou_01/menusPlan/deleteTodayPlan.vue b/src/jmapNew/theme/fuzhou_01/menusPlan/deleteTodayPlan.vue deleted file mode 100644 index be003663e..000000000 --- a/src/jmapNew/theme/fuzhou_01/menusPlan/deleteTodayPlan.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/fuzhou_01/menusPlan/managePlanList.vue b/src/jmapNew/theme/fuzhou_01/menusPlan/managePlanList.vue deleted file mode 100644 index 7ad2e21bd..000000000 --- a/src/jmapNew/theme/fuzhou_01/menusPlan/managePlanList.vue +++ /dev/null @@ -1,143 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/fuzhou_01/menusPlan/modifyingPlan.vue b/src/jmapNew/theme/fuzhou_01/menusPlan/modifyingPlan.vue deleted file mode 100644 index 6cba11edc..000000000 --- a/src/jmapNew/theme/fuzhou_01/menusPlan/modifyingPlan.vue +++ /dev/null @@ -1,177 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/fuzhou_01/menusPlan/modifyingTask.vue b/src/jmapNew/theme/fuzhou_01/menusPlan/modifyingTask.vue deleted file mode 100644 index 2ebad67a8..000000000 --- a/src/jmapNew/theme/fuzhou_01/menusPlan/modifyingTask.vue +++ /dev/null @@ -1,326 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/fuzhou_01/model.js b/src/jmapNew/theme/fuzhou_01/model.js index ed34da08c..dd040cf61 100644 --- a/src/jmapNew/theme/fuzhou_01/model.js +++ b/src/jmapNew/theme/fuzhou_01/model.js @@ -14,6 +14,9 @@ class Model { this['private'][deviceType.StationControl] = { indicatorShow: true // 标识灯名称显示 }; + this['private'][deviceType.Station] = { + kmPostShow: true // 公里标显示 + }; this['private'][deviceType.Switch] = { nameShow: true }; diff --git a/src/jmapNew/theme/fuzhou_01/planSchedule/index.vue b/src/jmapNew/theme/fuzhou_01/planSchedule/index.vue deleted file mode 100644 index 0555c8878..000000000 --- a/src/jmapNew/theme/fuzhou_01/planSchedule/index.vue +++ /dev/null @@ -1,403 +0,0 @@ - - - - - diff --git a/src/jmapNew/theme/fuzhou_01/planSchedule/menuBar.vue b/src/jmapNew/theme/fuzhou_01/planSchedule/menuBar.vue deleted file mode 100644 index b58115ead..000000000 --- a/src/jmapNew/theme/fuzhou_01/planSchedule/menuBar.vue +++ /dev/null @@ -1,518 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/fuzhou_01/planSchedule/schedule.vue b/src/jmapNew/theme/fuzhou_01/planSchedule/schedule.vue deleted file mode 100644 index d157b4e01..000000000 --- a/src/jmapNew/theme/fuzhou_01/planSchedule/schedule.vue +++ /dev/null @@ -1,482 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/fuzhou_01/planSchedule/statusBar.vue b/src/jmapNew/theme/fuzhou_01/planSchedule/statusBar.vue deleted file mode 100644 index d21265950..000000000 --- a/src/jmapNew/theme/fuzhou_01/planSchedule/statusBar.vue +++ /dev/null @@ -1,107 +0,0 @@ - - - - - diff --git a/src/jmapNew/theme/haerbin_01/menusPlan/addTask.vue b/src/jmapNew/theme/haerbin_01/menusPlan/addTask.vue deleted file mode 100644 index b9e6c42e8..000000000 --- a/src/jmapNew/theme/haerbin_01/menusPlan/addTask.vue +++ /dev/null @@ -1,175 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/haerbin_01/menusPlan/chooseTemplatePlan.vue b/src/jmapNew/theme/haerbin_01/menusPlan/chooseTemplatePlan.vue deleted file mode 100644 index 78abc470e..000000000 --- a/src/jmapNew/theme/haerbin_01/menusPlan/chooseTemplatePlan.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/haerbin_01/menusPlan/components/dataTable.vue b/src/jmapNew/theme/haerbin_01/menusPlan/components/dataTable.vue deleted file mode 100644 index cfaac866d..000000000 --- a/src/jmapNew/theme/haerbin_01/menusPlan/components/dataTable.vue +++ /dev/null @@ -1,206 +0,0 @@ - - - - - diff --git a/src/jmapNew/theme/haerbin_01/menusPlan/createTodayPlan.vue b/src/jmapNew/theme/haerbin_01/menusPlan/createTodayPlan.vue deleted file mode 100644 index e1616fa86..000000000 --- a/src/jmapNew/theme/haerbin_01/menusPlan/createTodayPlan.vue +++ /dev/null @@ -1,135 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/haerbin_01/menusPlan/deleteTask.vue b/src/jmapNew/theme/haerbin_01/menusPlan/deleteTask.vue deleted file mode 100644 index 363f3c8ab..000000000 --- a/src/jmapNew/theme/haerbin_01/menusPlan/deleteTask.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/haerbin_01/menusPlan/deleteTodayPlan.vue b/src/jmapNew/theme/haerbin_01/menusPlan/deleteTodayPlan.vue deleted file mode 100644 index be003663e..000000000 --- a/src/jmapNew/theme/haerbin_01/menusPlan/deleteTodayPlan.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/haerbin_01/menusPlan/managePlanList.vue b/src/jmapNew/theme/haerbin_01/menusPlan/managePlanList.vue deleted file mode 100644 index 7ad2e21bd..000000000 --- a/src/jmapNew/theme/haerbin_01/menusPlan/managePlanList.vue +++ /dev/null @@ -1,143 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/haerbin_01/menusPlan/modifyingPlan.vue b/src/jmapNew/theme/haerbin_01/menusPlan/modifyingPlan.vue deleted file mode 100644 index 6cba11edc..000000000 --- a/src/jmapNew/theme/haerbin_01/menusPlan/modifyingPlan.vue +++ /dev/null @@ -1,177 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/haerbin_01/menusPlan/modifyingTask.vue b/src/jmapNew/theme/haerbin_01/menusPlan/modifyingTask.vue deleted file mode 100644 index 2ebad67a8..000000000 --- a/src/jmapNew/theme/haerbin_01/menusPlan/modifyingTask.vue +++ /dev/null @@ -1,326 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/haerbin_01/model.js b/src/jmapNew/theme/haerbin_01/model.js index ed34da08c..dd040cf61 100644 --- a/src/jmapNew/theme/haerbin_01/model.js +++ b/src/jmapNew/theme/haerbin_01/model.js @@ -14,6 +14,9 @@ class Model { this['private'][deviceType.StationControl] = { indicatorShow: true // 标识灯名称显示 }; + this['private'][deviceType.Station] = { + kmPostShow: true // 公里标显示 + }; this['private'][deviceType.Switch] = { nameShow: true }; diff --git a/src/jmapNew/theme/haerbin_01/planSchedule/index.vue b/src/jmapNew/theme/haerbin_01/planSchedule/index.vue deleted file mode 100644 index 0555c8878..000000000 --- a/src/jmapNew/theme/haerbin_01/planSchedule/index.vue +++ /dev/null @@ -1,403 +0,0 @@ - - - - - diff --git a/src/jmapNew/theme/haerbin_01/planSchedule/menuBar.vue b/src/jmapNew/theme/haerbin_01/planSchedule/menuBar.vue deleted file mode 100644 index b58115ead..000000000 --- a/src/jmapNew/theme/haerbin_01/planSchedule/menuBar.vue +++ /dev/null @@ -1,518 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/haerbin_01/planSchedule/schedule.vue b/src/jmapNew/theme/haerbin_01/planSchedule/schedule.vue deleted file mode 100644 index 2f066549a..000000000 --- a/src/jmapNew/theme/haerbin_01/planSchedule/schedule.vue +++ /dev/null @@ -1,479 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/haerbin_01/planSchedule/titleBar.vue b/src/jmapNew/theme/haerbin_01/planSchedule/titleBar.vue deleted file mode 100644 index 9009885e3..000000000 --- a/src/jmapNew/theme/haerbin_01/planSchedule/titleBar.vue +++ /dev/null @@ -1,75 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/ningbo_01/menus/dialog/routeControl.vue b/src/jmapNew/theme/ningbo_01/menus/dialog/routeControl.vue index 08b613516..f06c1f6e2 100644 --- a/src/jmapNew/theme/ningbo_01/menus/dialog/routeControl.vue +++ b/src/jmapNew/theme/ningbo_01/menus/dialog/routeControl.vue @@ -24,8 +24,8 @@
- 设置自动通过 - 取消自动通过 + 设置自动通过 + 取消自动通过
diff --git a/src/jmapNew/theme/ningbo_01/menus/dialog/stationControl.vue b/src/jmapNew/theme/ningbo_01/menus/dialog/stationControl.vue index 161c4ea9a..b2233e491 100644 --- a/src/jmapNew/theme/ningbo_01/menus/dialog/stationControl.vue +++ b/src/jmapNew/theme/ningbo_01/menus/dialog/stationControl.vue @@ -64,7 +64,8 @@ export default { row: null, operation: '', stationLists: [], - disabledAll: false + disabledAll: false, + checked2: false }; }, computed: { diff --git a/src/jmapNew/theme/ningbo_01/menus/dialog/turnBackControl.vue b/src/jmapNew/theme/ningbo_01/menus/dialog/turnBackControl.vue index d5207e778..37c1a36cb 100644 --- a/src/jmapNew/theme/ningbo_01/menus/dialog/turnBackControl.vue +++ b/src/jmapNew/theme/ningbo_01/menus/dialog/turnBackControl.vue @@ -24,10 +24,10 @@ - 设置 + 设置 - 取消 + 取消 diff --git a/src/jmapNew/theme/ningbo_01/menusPlan/addTask.vue b/src/jmapNew/theme/ningbo_01/menusPlan/addTask.vue deleted file mode 100644 index cf092b0ca..000000000 --- a/src/jmapNew/theme/ningbo_01/menusPlan/addTask.vue +++ /dev/null @@ -1,175 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/ningbo_01/menusPlan/chooseTemplatePlan.vue b/src/jmapNew/theme/ningbo_01/menusPlan/chooseTemplatePlan.vue deleted file mode 100644 index f9ea0760d..000000000 --- a/src/jmapNew/theme/ningbo_01/menusPlan/chooseTemplatePlan.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/ningbo_01/menusPlan/components/dataTable.vue b/src/jmapNew/theme/ningbo_01/menusPlan/components/dataTable.vue deleted file mode 100644 index fa98a48e7..000000000 --- a/src/jmapNew/theme/ningbo_01/menusPlan/components/dataTable.vue +++ /dev/null @@ -1,206 +0,0 @@ - - - - - diff --git a/src/jmapNew/theme/ningbo_01/menusPlan/createTodayPlan.vue b/src/jmapNew/theme/ningbo_01/menusPlan/createTodayPlan.vue deleted file mode 100644 index 27e3513d2..000000000 --- a/src/jmapNew/theme/ningbo_01/menusPlan/createTodayPlan.vue +++ /dev/null @@ -1,134 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/ningbo_01/menusPlan/createWeekPlan.vue b/src/jmapNew/theme/ningbo_01/menusPlan/createWeekPlan.vue deleted file mode 100644 index 48f65d60f..000000000 --- a/src/jmapNew/theme/ningbo_01/menusPlan/createWeekPlan.vue +++ /dev/null @@ -1,137 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/ningbo_01/menusPlan/deleteTask.vue b/src/jmapNew/theme/ningbo_01/menusPlan/deleteTask.vue deleted file mode 100644 index 035f23fca..000000000 --- a/src/jmapNew/theme/ningbo_01/menusPlan/deleteTask.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/ningbo_01/menusPlan/deleteTodayPlan.vue b/src/jmapNew/theme/ningbo_01/menusPlan/deleteTodayPlan.vue deleted file mode 100644 index 3110e2858..000000000 --- a/src/jmapNew/theme/ningbo_01/menusPlan/deleteTodayPlan.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/ningbo_01/menusPlan/managePlanList.vue b/src/jmapNew/theme/ningbo_01/menusPlan/managePlanList.vue deleted file mode 100644 index 034b461b6..000000000 --- a/src/jmapNew/theme/ningbo_01/menusPlan/managePlanList.vue +++ /dev/null @@ -1,143 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/ningbo_01/menusPlan/modifyingPlan.vue b/src/jmapNew/theme/ningbo_01/menusPlan/modifyingPlan.vue deleted file mode 100644 index a9d25ea80..000000000 --- a/src/jmapNew/theme/ningbo_01/menusPlan/modifyingPlan.vue +++ /dev/null @@ -1,177 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/ningbo_01/menusPlan/modifyingTask.vue b/src/jmapNew/theme/ningbo_01/menusPlan/modifyingTask.vue deleted file mode 100644 index 194534120..000000000 --- a/src/jmapNew/theme/ningbo_01/menusPlan/modifyingTask.vue +++ /dev/null @@ -1,327 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/ningbo_01/model.js b/src/jmapNew/theme/ningbo_01/model.js index ed34da08c..dd040cf61 100644 --- a/src/jmapNew/theme/ningbo_01/model.js +++ b/src/jmapNew/theme/ningbo_01/model.js @@ -14,6 +14,9 @@ class Model { this['private'][deviceType.StationControl] = { indicatorShow: true // 标识灯名称显示 }; + this['private'][deviceType.Station] = { + kmPostShow: true // 公里标显示 + }; this['private'][deviceType.Switch] = { nameShow: true }; diff --git a/src/jmapNew/theme/ningbo_01/planSchedule/index.vue b/src/jmapNew/theme/ningbo_01/planSchedule/index.vue deleted file mode 100644 index 332007bb7..000000000 --- a/src/jmapNew/theme/ningbo_01/planSchedule/index.vue +++ /dev/null @@ -1,403 +0,0 @@ - - - - - diff --git a/src/jmapNew/theme/ningbo_01/planSchedule/menuBar.vue b/src/jmapNew/theme/ningbo_01/planSchedule/menuBar.vue deleted file mode 100644 index e64ae3063..000000000 --- a/src/jmapNew/theme/ningbo_01/planSchedule/menuBar.vue +++ /dev/null @@ -1,514 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/ningbo_01/planSchedule/menuTool.vue b/src/jmapNew/theme/ningbo_01/planSchedule/menuTool.vue deleted file mode 100644 index d3ecde016..000000000 --- a/src/jmapNew/theme/ningbo_01/planSchedule/menuTool.vue +++ /dev/null @@ -1,172 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/jmapNew/theme/ningbo_01/planSchedule/schedule.vue b/src/jmapNew/theme/ningbo_01/planSchedule/schedule.vue deleted file mode 100644 index 82a3c9ed3..000000000 --- a/src/jmapNew/theme/ningbo_01/planSchedule/schedule.vue +++ /dev/null @@ -1,468 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/ningbo_01/planSchedule/statusBar.vue b/src/jmapNew/theme/ningbo_01/planSchedule/statusBar.vue deleted file mode 100644 index 4c1418fb3..000000000 --- a/src/jmapNew/theme/ningbo_01/planSchedule/statusBar.vue +++ /dev/null @@ -1,107 +0,0 @@ - - - - - diff --git a/src/jmapNew/theme/ningbo_01/planSchedule/titleBar.vue b/src/jmapNew/theme/ningbo_01/planSchedule/titleBar.vue deleted file mode 100644 index 689c3486a..000000000 --- a/src/jmapNew/theme/ningbo_01/planSchedule/titleBar.vue +++ /dev/null @@ -1,75 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/jmapNew/theme/xian_01/menus/dialog/childDialog/childDialog/noticeInfo.vue b/src/jmapNew/theme/xian_01/menus/dialog/childDialog/childDialog/noticeInfo.vue new file mode 100644 index 000000000..534acb41e --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/childDialog/childDialog/noticeInfo.vue @@ -0,0 +1,86 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/childDialog/confirmControl.vue b/src/jmapNew/theme/xian_01/menus/dialog/childDialog/confirmControl.vue new file mode 100644 index 000000000..db0298ce5 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/childDialog/confirmControl.vue @@ -0,0 +1,361 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/childDialog/confirmControlSpeed.vue b/src/jmapNew/theme/xian_01/menus/dialog/childDialog/confirmControlSpeed.vue new file mode 100644 index 000000000..a7dbc79db --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/childDialog/confirmControlSpeed.vue @@ -0,0 +1,144 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/childDialog/confirmSignalUnlock.vue b/src/jmapNew/theme/xian_01/menus/dialog/childDialog/confirmSignalUnlock.vue new file mode 100644 index 000000000..c4fe8cf20 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/childDialog/confirmSignalUnlock.vue @@ -0,0 +1,126 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/childDialog/confirmTrain.vue b/src/jmapNew/theme/xian_01/menus/dialog/childDialog/confirmTrain.vue new file mode 100644 index 000000000..ac4e2b65e --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/childDialog/confirmTrain.vue @@ -0,0 +1,180 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/routeCmdControl.vue b/src/jmapNew/theme/xian_01/menus/dialog/routeCmdControl.vue new file mode 100644 index 000000000..258096dfb --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/routeCmdControl.vue @@ -0,0 +1,450 @@ + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/routeControl.vue b/src/jmapNew/theme/xian_01/menus/dialog/routeControl.vue new file mode 100644 index 000000000..63e732f6b --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/routeControl.vue @@ -0,0 +1,332 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/routeDetail.vue b/src/jmapNew/theme/xian_01/menus/dialog/routeDetail.vue new file mode 100644 index 000000000..19472e077 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/routeDetail.vue @@ -0,0 +1,166 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/routeHandControl.vue b/src/jmapNew/theme/xian_01/menus/dialog/routeHandControl.vue new file mode 100644 index 000000000..9b6715176 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/routeHandControl.vue @@ -0,0 +1,316 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/routeLock.vue b/src/jmapNew/theme/xian_01/menus/dialog/routeLock.vue new file mode 100644 index 000000000..eaa3d6027 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/routeLock.vue @@ -0,0 +1,167 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/routeSelection.vue b/src/jmapNew/theme/xian_01/menus/dialog/routeSelection.vue new file mode 100644 index 000000000..14a6c0c34 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/routeSelection.vue @@ -0,0 +1,239 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/sectionCmdControl.vue b/src/jmapNew/theme/xian_01/menus/dialog/sectionCmdControl.vue new file mode 100644 index 000000000..6d4a00fdb --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/sectionCmdControl.vue @@ -0,0 +1,419 @@ + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/sectionControl.vue b/src/jmapNew/theme/xian_01/menus/dialog/sectionControl.vue new file mode 100644 index 000000000..d66d41180 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/sectionControl.vue @@ -0,0 +1,167 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/speedCmdControl.vue b/src/jmapNew/theme/xian_01/menus/dialog/speedCmdControl.vue new file mode 100644 index 000000000..0e4298f4b --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/speedCmdControl.vue @@ -0,0 +1,547 @@ + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/standBackStrategy.vue b/src/jmapNew/theme/xian_01/menus/dialog/standBackStrategy.vue new file mode 100644 index 000000000..f3325f200 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/standBackStrategy.vue @@ -0,0 +1,253 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/standControl.vue b/src/jmapNew/theme/xian_01/menus/dialog/standControl.vue new file mode 100644 index 000000000..185d399cf --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/standControl.vue @@ -0,0 +1,271 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/standDetail.vue b/src/jmapNew/theme/xian_01/menus/dialog/standDetail.vue new file mode 100644 index 000000000..cd0b5e891 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/standDetail.vue @@ -0,0 +1,180 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/standDetainTrainAll.vue b/src/jmapNew/theme/xian_01/menus/dialog/standDetainTrainAll.vue new file mode 100644 index 000000000..d5e3640f1 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/standDetainTrainAll.vue @@ -0,0 +1,192 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/standRunLevel.vue b/src/jmapNew/theme/xian_01/menus/dialog/standRunLevel.vue new file mode 100644 index 000000000..958656680 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/standRunLevel.vue @@ -0,0 +1,276 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/standStopTime.vue b/src/jmapNew/theme/xian_01/menus/dialog/standStopTime.vue new file mode 100644 index 000000000..11ec73b92 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/standStopTime.vue @@ -0,0 +1,265 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/stationCmdControl.vue b/src/jmapNew/theme/xian_01/menus/dialog/stationCmdControl.vue new file mode 100644 index 000000000..a25a8d7ac --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/stationCmdControl.vue @@ -0,0 +1,406 @@ + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/stationHumanControlAll.vue b/src/jmapNew/theme/xian_01/menus/dialog/stationHumanControlAll.vue new file mode 100644 index 000000000..4fe701445 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/stationHumanControlAll.vue @@ -0,0 +1,123 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/stationSetRouteControlAll.vue b/src/jmapNew/theme/xian_01/menus/dialog/stationSetRouteControlAll.vue new file mode 100644 index 000000000..40a952722 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/stationSetRouteControlAll.vue @@ -0,0 +1,145 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/switchCmdControl.vue b/src/jmapNew/theme/xian_01/menus/dialog/switchCmdControl.vue new file mode 100644 index 000000000..f55a1a53d --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/switchCmdControl.vue @@ -0,0 +1,482 @@ + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/switchControl.vue b/src/jmapNew/theme/xian_01/menus/dialog/switchControl.vue new file mode 100644 index 000000000..acdfa7ced --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/switchControl.vue @@ -0,0 +1,286 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/trainControl.vue b/src/jmapNew/theme/xian_01/menus/dialog/trainControl.vue new file mode 100644 index 000000000..87286986a --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/trainControl.vue @@ -0,0 +1,472 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/trainCreate.vue b/src/jmapNew/theme/xian_01/menus/dialog/trainCreate.vue new file mode 100644 index 000000000..c6e00382c --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/trainCreate.vue @@ -0,0 +1,155 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/trainDelete.vue b/src/jmapNew/theme/xian_01/menus/dialog/trainDelete.vue new file mode 100644 index 000000000..448f7fd28 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/trainDelete.vue @@ -0,0 +1,167 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/trainEditNumber.vue b/src/jmapNew/theme/xian_01/menus/dialog/trainEditNumber.vue new file mode 100644 index 000000000..fe924739b --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/trainEditNumber.vue @@ -0,0 +1,138 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/trainMove.vue b/src/jmapNew/theme/xian_01/menus/dialog/trainMove.vue new file mode 100644 index 000000000..845e76b56 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/trainMove.vue @@ -0,0 +1,201 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/dialog/trainSwitch.vue b/src/jmapNew/theme/xian_01/menus/dialog/trainSwitch.vue new file mode 100644 index 000000000..c7cb6d580 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/dialog/trainSwitch.vue @@ -0,0 +1,206 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/index.vue b/src/jmapNew/theme/xian_01/menus/index.vue new file mode 100644 index 000000000..0dfd8757e --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/index.vue @@ -0,0 +1,356 @@ + + + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuBar.vue b/src/jmapNew/theme/xian_01/menus/menuBar.vue new file mode 100644 index 000000000..e59b47d55 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuBar.vue @@ -0,0 +1,813 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuCancel.vue b/src/jmapNew/theme/xian_01/menus/menuCancel.vue new file mode 100644 index 000000000..c977cd799 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuCancel.vue @@ -0,0 +1,130 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuDialog/childDialog/twoConfirmation.vue b/src/jmapNew/theme/xian_01/menus/menuDialog/childDialog/twoConfirmation.vue new file mode 100644 index 000000000..309fb8c00 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuDialog/childDialog/twoConfirmation.vue @@ -0,0 +1,142 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuDialog/childDialog/userAdd.vue b/src/jmapNew/theme/xian_01/menus/menuDialog/childDialog/userAdd.vue new file mode 100644 index 000000000..d2467898d --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuDialog/childDialog/userAdd.vue @@ -0,0 +1,172 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuDialog/childDialog/userDelete.vue b/src/jmapNew/theme/xian_01/menus/menuDialog/childDialog/userDelete.vue new file mode 100644 index 000000000..f0fb7cdc1 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuDialog/childDialog/userDelete.vue @@ -0,0 +1,143 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuDialog/childDialog/userEdit.vue b/src/jmapNew/theme/xian_01/menus/menuDialog/childDialog/userEdit.vue new file mode 100644 index 000000000..a39351cd4 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuDialog/childDialog/userEdit.vue @@ -0,0 +1,189 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuDialog/helpAbout.vue b/src/jmapNew/theme/xian_01/menus/menuDialog/helpAbout.vue new file mode 100644 index 000000000..688174504 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuDialog/helpAbout.vue @@ -0,0 +1,140 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuDialog/manageUser.vue b/src/jmapNew/theme/xian_01/menus/menuDialog/manageUser.vue new file mode 100644 index 000000000..996630adf --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuDialog/manageUser.vue @@ -0,0 +1,309 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuDialog/passwordBox.vue b/src/jmapNew/theme/xian_01/menus/menuDialog/passwordBox.vue new file mode 100644 index 000000000..dd3767489 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuDialog/passwordBox.vue @@ -0,0 +1,228 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuDialog/stationControlConvert.vue b/src/jmapNew/theme/xian_01/menus/menuDialog/stationControlConvert.vue new file mode 100644 index 000000000..ea48fd5ea --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuDialog/stationControlConvert.vue @@ -0,0 +1,463 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuDialog/trainAdd.vue b/src/jmapNew/theme/xian_01/menus/menuDialog/trainAdd.vue new file mode 100644 index 000000000..89055de36 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuDialog/trainAdd.vue @@ -0,0 +1,179 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuDialog/trainDelete.vue b/src/jmapNew/theme/xian_01/menus/menuDialog/trainDelete.vue new file mode 100644 index 000000000..7e947d735 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuDialog/trainDelete.vue @@ -0,0 +1,157 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuDialog/trainTranstalet.vue b/src/jmapNew/theme/xian_01/menus/menuDialog/trainTranstalet.vue new file mode 100644 index 000000000..60da613b0 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuDialog/trainTranstalet.vue @@ -0,0 +1,164 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuDialog/viewDevice.vue b/src/jmapNew/theme/xian_01/menus/menuDialog/viewDevice.vue new file mode 100644 index 000000000..3b4b101da --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuDialog/viewDevice.vue @@ -0,0 +1,166 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuDialog/viewName.vue b/src/jmapNew/theme/xian_01/menus/menuDialog/viewName.vue new file mode 100644 index 000000000..9191ba0fc --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuDialog/viewName.vue @@ -0,0 +1,248 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuDialog/viewTrainId.vue b/src/jmapNew/theme/xian_01/menus/menuDialog/viewTrainId.vue new file mode 100644 index 000000000..c5e38fab9 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuDialog/viewTrainId.vue @@ -0,0 +1,209 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuSection.vue b/src/jmapNew/theme/xian_01/menus/menuSection.vue new file mode 100644 index 000000000..885bda462 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuSection.vue @@ -0,0 +1,370 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuSignal.vue b/src/jmapNew/theme/xian_01/menus/menuSignal.vue new file mode 100644 index 000000000..958cd69f1 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuSignal.vue @@ -0,0 +1,516 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuStation.vue b/src/jmapNew/theme/xian_01/menus/menuStation.vue new file mode 100644 index 000000000..0efa0bfed --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuStation.vue @@ -0,0 +1,309 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuStationStand.vue b/src/jmapNew/theme/xian_01/menus/menuStationStand.vue new file mode 100644 index 000000000..f96f1ebd0 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuStationStand.vue @@ -0,0 +1,473 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuSwitch.vue b/src/jmapNew/theme/xian_01/menus/menuSwitch.vue new file mode 100644 index 000000000..2ae658968 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuSwitch.vue @@ -0,0 +1,484 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuTrain.vue b/src/jmapNew/theme/xian_01/menus/menuTrain.vue new file mode 100644 index 000000000..7f215a543 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/menuTrain.vue @@ -0,0 +1,332 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/passiveDialog/alarm.vue b/src/jmapNew/theme/xian_01/menus/passiveDialog/alarm.vue new file mode 100644 index 000000000..471f03888 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/passiveDialog/alarm.vue @@ -0,0 +1,218 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/passiveDialog/control.vue b/src/jmapNew/theme/xian_01/menus/passiveDialog/control.vue new file mode 100644 index 000000000..9e5752284 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/passiveDialog/control.vue @@ -0,0 +1,309 @@ + + + + + diff --git a/src/jmapNew/theme/xian_01/menus/passiveDialog/timeout.vue b/src/jmapNew/theme/xian_01/menus/passiveDialog/timeout.vue new file mode 100644 index 000000000..2b87d09de --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/passiveDialog/timeout.vue @@ -0,0 +1,111 @@ + + + diff --git a/src/jmapNew/theme/xian_01/menus/statusDownTrainDetail.vue b/src/jmapNew/theme/xian_01/menus/statusDownTrainDetail.vue new file mode 100644 index 000000000..ac712152d --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/statusDownTrainDetail.vue @@ -0,0 +1,25 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/statusUpTrainDetail.vue b/src/jmapNew/theme/xian_01/menus/statusUpTrainDetail.vue new file mode 100644 index 000000000..bb1e0cee3 --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/statusUpTrainDetail.vue @@ -0,0 +1,26 @@ + + + + diff --git a/src/jmapNew/theme/xian_01/menus/utils/menuItemStatus.js b/src/jmapNew/theme/xian_01/menus/utils/menuItemStatus.js new file mode 100644 index 000000000..6263f872b --- /dev/null +++ b/src/jmapNew/theme/xian_01/menus/utils/menuItemStatus.js @@ -0,0 +1,570 @@ +import store from '@/store/index_APP_TARGET'; +import deviceState from '@/jmap/constant/deviceState'; +import { OperateMode } from '@/scripts/ConstDic'; + +export function getCurrentStateObject() { + return store.getters['menuOperation/selected']; +} + +/** 系统类型 */ +export const State2SimulationMap = { + '01': 'local', // 现地工作站 + '02': 'central' // 中心调度工作站 +}; + +export const State2ControlMap = { + '01': 'center', // 中控 + '02': 'station', // 站控 + '03': 'station' +}; + +// 控制禁用 +export const MenuDisabledState = { + Section: { + // 故障解锁 + fault() { + }, + // 切除 + split() { + const device = getCurrentStateObject(); + if (device && device.cutOff != deviceState.Section.cutOff.Default) { + return true; + } + }, + // 激活 + active() { + const device = getCurrentStateObject(); + if (device && device.cutOff == deviceState.Section.cutOff.Default) { + return true; + } + }, + // 区段封锁 + lock() { + const device = getCurrentStateObject(); + if (device && device.status == deviceState.Section.status.State06) { + return true; + } + }, + // 区段解禁 + unlock() { + const device = getCurrentStateObject(); + if (device && device.status != deviceState.Section.status.State06) { + return true; + } + }, + // 区段设置限速 + setSpeed() { + const device = getCurrentStateObject(); + if (device && device.speedUpperLimit != deviceState.Section.speedUpperLimit.Default) { + return true; + } + }, + // 区段取消限速 + cancelSpeed() { + const device = getCurrentStateObject(); + if (device && device.speedUpperLimit == deviceState.Section.speedUpperLimit.Default) { + return true; + } + }, + // 新建列车 + newTrain() { + }, + // 计轴预复位 + axlePreReset() { + }, + // 设置故障 + setStoppage() { + const device = getCurrentStateObject(); + if (device && device.fault) { + return true; + } + }, + // 取消故障 + cancelStoppage() { + const device = getCurrentStateObject(); + if (device && !device.fault) { + return true; + } + } + }, + Signal: { + // 进路选排 + arrangementRoute() { + + }, + // 进路取消 + cancelTrainRoute() { + }, + // 信号封闭 + lock() { + const device = getCurrentStateObject(); + if (device && device.status == deviceState.Signal.status.State05) { + return true; + } + }, + // 信号解封 + unlock() { + const device = getCurrentStateObject(); + if (device && device.status != deviceState.Signal.status.State05) { + return true; + } + }, + // 信号重开 + reopenSignal() { + }, + // 进路引导 + guide() { + }, + // 设置联锁自动进路 + setAutoInterlock() { + }, + // 取消联锁自动进路 + cancelAutoInterlock() { + }, + // 设置联锁自动触发 + setAutoTrigger() { + }, + // 取消联锁自动触发 + cancelAutoTrigger() { + }, + // 关灯 + signalClose() { + const device = getCurrentStateObject(); + if (device && device.status == deviceState.Signal.status.State01) { + return true; + } + }, + // 人工控 + humanControl() { + }, + // ats自动控 + atsAutoControl() { + }, + // 查询进路状态 + detail() { + }, + // 设置故障 + setStoppage() { + const device = getCurrentStateObject(); + if (device && device.fault) { + return true; + } + }, + // 取消故障 + cancelStoppage() { + const device = getCurrentStateObject(); + if (device && !device.fault) { + return true; + } + } + }, + Station: { + // 全站设置联锁自动触发 + setAutoTrigger() { + }, + // 全站取消联锁自动触发 + cancelAutoTrigger() { + }, + // 上电解锁 + powerUnLock() { + }, + // 执行关键操作测试 + execKeyOperationTest() { + }, + // 所有进路自排开 + atsAutoControlALL() { + }, + // 所有进路自排关 + humanControlALL() { + }, + // 设置ZC故障 + setStoppage() { + const device = getCurrentStateObject(); + if (device && device.fault) { + return true; + } + }, + // 取消ZC故障 + cancelStoppage() { + const device = getCurrentStateObject(); + if (device && !device.fault) { + return true; + } + } + }, + StationControl: { + // 紧急站控 + emergencyStationControl() { + const device = getCurrentStateObject(); + if (device && device.status == deviceState.StationControl.status.State03) { + return true; + } + }, + // 请求站控 + requestStationControl() { + const device = getCurrentStateObject(); + if (device && device.status == deviceState.StationControl.status.State02) { + return true; + } + }, + // 强行站控 + forcedStationControl() { + const device = getCurrentStateObject(); + if (device && device.status == deviceState.StationControl.status.State02) { + return true; + } + }, + // 请求中控 + requestCentralControl() { + const device = getCurrentStateObject(); + if (device && device.status == deviceState.StationControl.status.State01) { + return true; + } + }, + // 设置故障 + setStoppage() { + const device = getCurrentStateObject(); + if (device && device.fault) { + return true; + } + }, + // 取消故障 + cancelStoppage() { + const device = getCurrentStateObject(); + if (device && !device.fault) { + return true; + } + } + }, + StationStand: { + // 设置扣车 + setDetainTrain() { + const device = getCurrentStateObject(); + if (store.state.training.prdType == '02') { // 中心行调模式 + if (device && device.holdStatus == deviceState.StationStand.holdStatus.State04) { + return true; + } else if (device && device.holdStatus == deviceState.StationStand.holdStatus.State03) { + return true; + } + } else { // 现地模式 + if (device && device.holdStatus == deviceState.StationStand.holdStatus.State04) { + return true; + } else if (device && device.holdStatus == deviceState.StationStand.holdStatus.State02) { + return true; + } + } + }, + // 取消扣车 + cancelDetainTrain() { + const device = getCurrentStateObject(); + if (store.state.training.prdType == '02') { + if (device && device.holdStatus == deviceState.StationStand.holdStatus.State04) { + return false; + } else if (device && device.holdStatus != deviceState.StationStand.holdStatus.State03) { + return true; + } + } else { + if (device && device.holdStatus == deviceState.StationStand.holdStatus.State04) { + return false; + } else if (device && device.holdStatus != deviceState.StationStand.holdStatus.State02) { + return true; + } + } + }, + // 强制取消扣车 + cancelDetainTrainForce() { + const device = getCurrentStateObject(); + if (device && device.holdStatus == deviceState.StationStand.holdStatus.State01) { + return true; + } + }, + // 设置全站扣车 + cancelDetainTrainAll() { + }, + // 设置运行等级 + setRunLevel() { + }, + // 设置停站时间 + setStopTime() { + }, + // 设置跳停 + setJumpStop() { + const device = getCurrentStateObject(); + if (device && device.jumpStopStatus != deviceState.StationStand.jumpStopStatus.State01) { + return true; + } + }, + // 取消跳停 + cancelJumpStop() { + const device = getCurrentStateObject(); + if (device && device.jumpStopStatus == deviceState.StationStand.jumpStopStatus.State01) { + return true; + } + }, + // 提前发车 + earlyDeparture() { + }, + // 站台详细信息 + detail() { + }, + // 设置折返策略 + setBackStrategy() { + }, + // 设置故障 + setStoppage() { + const device = getCurrentStateObject(); + if (device && device.fault) { + return true; + } + }, + // 取消故障 + cancelStoppage() { + const device = getCurrentStateObject(); + if (device && !device.fault) { + return true; + } + } + }, + Switch: { + // 单锁 + lock() { + const device = getCurrentStateObject(); + if (device && device.status == deviceState.Switch.status.State10) { + return true; + } + }, + // 解锁 + unlock() { + const device = getCurrentStateObject(); + if (device && device.status != deviceState.Switch.status.State10) { + return true; + } + }, + // 封锁 + block() { + const device = getCurrentStateObject(); + if (device && device.status == deviceState.Switch.status.State14) { + return true; + } + }, + // 解封 + unblock() { + const device = getCurrentStateObject(); + if (device && device.status != deviceState.Switch.status.State14) { + return true; + } + }, + // 强扳 + switchTurnoutForce() { + }, + // 转动 + switchTurnout() { + }, + // 道岔故障解锁 + fault() { + }, + // 计轴预复位 + axlePreReset() { + }, + // 道岔切除 + split() { + }, + // 道岔激活 + active() { + }, + // 道岔设置速度 + setSpeed() { + // const device = getCurrentStateObject(); + }, + // 道岔取消速度 + cancelSpeed() { + }, + // 设置故障 + setStoppage() { + const device = getCurrentStateObject(); + if (device && device.fault) { + return true; + } + }, + // 取消故障 + cancelStoppage() { + const device = getCurrentStateObject(); + if (device && !device.fault) { + return true; + } + } + }, + Train: { + // 添加列车识别号 + addTrainId() { + }, + // 删除列车识别号 + delTrainId() { + }, + // 修改列车识别号 + editTrainId() { + }, + // 修改车组号 + editTrainNo() { + }, + // 移动列车识别号 + moveTrainId() { + }, + // 交换列车识别号 + switchTrainId() { + }, + // 设置限速 + limitSpeed() { + }, + // 设置通信故障 + setStoppage() { + const device = getCurrentStateObject(); + if (device && device.fault) { + return true; + } + }, + // 取消通信故障 + cancelStoppage() { + const device = getCurrentStateObject(); + if (device && !device.fault) { + return true; + } + } + } +}; + +export function checkOperationValidity() { + if (store.state.training.prdType == '02') { + return true; + } +} + +/** + * 将menu的disabled属性使用disabledCallback计算并返回 + * @param {Array} menu + */ +export function menuConvert(menu) { + if (menu.constructor === Array) { + menu.forEach(elem => { + if (elem.type === 'separator') { + elem.show = true; + return; + } + + if (elem.disabledCallback.constructor === Function) { + elem.disabled = elem.defaultDisabled; + if (!elem.defaultDisabled) { + elem.disabled = elem.disabledCallback(); + } + } + }); + } + return menu; +} + +/** + * 根据产品类型,返回对应的menuBar + * @param {*} menuObj + */ +export function menuBarConvert(menu, mode) { + if (menu) { + if (mode === OperateMode.NORMAL) { + menu.forEach(item => { + if (item.type === 'separator') { + item.show = true; + return; + } + + item.show = false; + if (!item.click) { + item.click = () => { }; + } + + if (!item.froce) { + item.show = true; + if (item.children && item.children.length > 0) { + menuBarConvert(item.children, mode); + } + } + }); + } else if (mode === OperateMode.ADMIN) { + menu.forEach(item => { + item.show = true; + if (!item.click) { + item.click = () => { }; + } + if (item.children && item.children.length > 0) { + menuBarConvert(item.children, mode); + } + }); + } + } + return menu || []; +} + +/** + * 将menu的show属性过滤返回 + * @param {Array} menu + */ +export function menuFiltration(menuObj) { + var selected = getCurrentStateObject(); + var control; + var menu = []; + + if (selected._type == 'StationStand') { + control = store.getters['map/getStationControlByStationCode'](selected.deviceStationCode); + } else if (selected._type == 'Station') { + control = store.getters['map/getStationControlByStationCode'](selected.code); + } else { + control = store.getters['map/getStationControlByStationCode'](selected.stationCode); + } + + if (control) { + if (store.state.training.prdType != '') { + const type = State2SimulationMap[store.state.training.prdType]; + const status = State2ControlMap[control.status]; + menu = [...menuObj[type]]; + if (menu.constructor === Array) { + menu.forEach(elem => { + if (elem.type === 'separator') { + elem.show = true; + return; + } + + if (elem.auth.constructor === Object) { + elem.show = true; + if (!elem.auth['station'] && !elem.auth['center']) { // 控制不显示 + elem.show = false; + } + elem.defaultDisabled = !elem.auth[status]; + } + }); + } + } + } + + return menu; +} + +/** + * 将train menu的show属性过滤返回 + */ +export function trainMenuFiltration(menuObj) { + var menu = []; + if (store.state.training.prdType != '') { + const type = State2SimulationMap[store.state.training.prdType]; + menu = [...menuObj[type]]; + if (menu.constructor === Array) { + menu.forEach(elem => { + if (elem.auth.constructor === Object) { + elem.show = true; + if (!elem.auth['station'] && !elem.auth['center']) { // 控制不显示 + elem.show = false; + } + } + }); + } + } + return menu; +} + diff --git a/src/jmapNew/theme/xian_01/model.js b/src/jmapNew/theme/xian_01/model.js new file mode 100644 index 000000000..dd040cf61 --- /dev/null +++ b/src/jmapNew/theme/xian_01/model.js @@ -0,0 +1,72 @@ +import deviceType from '../../constant/deviceType'; + +class Model { + constructor() { + // 公共字段部分默认初始值 + this['public'] = {}; + this['public'][deviceType.Signal] = { + lampPositionType: '02', + lampPostType: '02' + }; + + // 私有字段部分默认初始值 + this['private'] = {}; + this['private'][deviceType.StationControl] = { + indicatorShow: true // 标识灯名称显示 + }; + this['private'][deviceType.Station] = { + kmPostShow: true // 公里标显示 + }; + this['private'][deviceType.Switch] = { + nameShow: true + }; + this['private'][deviceType.Section] = { + nameShow: true, + borderBorderShow: true, // 区段边界显示 + destinationNameShow: true, // 目的地码名称显示 + standTrackNameShow: true, // 站台轨名称显示 + reentryTrackNameShow: true, // 折返轨名称显示 + transferTrackNameShow: true // 转换轨名称显示 + }; + this['private'][deviceType.Signal] = { + nameShow: true, // 信号机名称显示 + linkageAutoRouteShow: true, // 联锁自动进路表示灯显示 + atsAutoTriggerShow: true // ATS自动触发表示灯显示 + }; + this['private'][deviceType.Train] = { + nameFormat: 'targetCode:serviceNumber:tripNumber', // 字体格式 + nameFontSize: 10 // 字体大小 + }; + this['private'][deviceType.TrainWindow] = { + trainWindowShow: true + }; + } + + initPublicProps(model) { + if (model) { + var modelInitial = this.public[model._type]; + if (modelInitial) { + for (var prop in modelInitial) { + model[prop] = modelInitial[prop]; + } + } + } + + return model; + } + + initPrivateProps(model) { + if (model) { + var modelInitial = this.private[model._type]; + if (modelInitial) { + for (var prop in modelInitial) { + model[prop] = modelInitial[prop]; + } + } + } + + return model; + } +} + +export default new Model(); diff --git a/src/jmapNew/theme/xian_01/operationConfig.js b/src/jmapNew/theme/xian_01/operationConfig.js new file mode 100644 index 000000000..b038248fa --- /dev/null +++ b/src/jmapNew/theme/xian_01/operationConfig.js @@ -0,0 +1,849 @@ +// 操作规则定义 +// {id: "1", trainingType: "01", name: "车站名称"} +// {id: "2", trainingType: "01", name: "车站控制模式编号"} +// {id: "3", trainingType: "02", name: "进路名称"} +// {id: "4", trainingType: "02", name: "进路编号"} +// {id: "5", trainingType: "02", name: "信号机名称"} +// {id: "6", trainingType: "02", name: "信号机编号"} + +// {id: "7", trainingType: "03", name: "道岔名称"} +// {id: "17", trainingType: "03", name: "道岔编码"} +// {id: "15", trainingType: "03", name: "道岔位置"} +// {id: "16", trainingType: "03", name: "道岔位置(反)"} +// {id: "21", trainingType: "03", name: "车站名称"} +// {id: "23", trainingType: "03", name: "车站编号"} +// {id: "24", trainingType: "03", name: "道岔计轴区段编号"} +// {id: "25", trainingType: "03", name: "道岔计轴区段名称"} + +// {id: "8", trainingType: "04", name: "物理区段名称"} +// {id: "9", trainingType: "04", name: "逻辑区段名称"} +// {id: "18", trainingType: "04", name: "逻辑区段编码"} +// {id: "19", trainingType: "04", name: "区段编号"} +// {id: "20", trainingType: "04", name: "车站名称"} +// {id: "22", trainingType: "04", name: "车站编号"} + +// {id: "10", trainingType: "05", name: "车站名称"} +// {id: "11", trainingType: "05", name: "站台行驶方向编号"} +// {id: "12", trainingType: "05", name: "站台行驶方向"} +// {id: "13", trainingType: "05", name: "站台行驶方向编号(反)"} +// {id: "14", trainingType: "05", name: "站台行驶方向(反)"} +export default { + list: [ + { + maxDuration: 20, + minDuration: 15, + operateType: '0103', + skinCode: '02', + trainingName: '转为中控({1})', + trainingRemark: '控制权限转换,站控转中控', + trainingType: '01', + productTypes: ['02'], + stepVOList: [ + { deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: '鼠标左键点击顶部菜单栏【控制模式转换】' }, + { deviceType: 'bar', orderNum: 2, operateCode: '2041', tip: '鼠标左键点击【转为中控】' }, + { deviceType: '05', orderNum: 3, operateCode: '2042', tip: '鼠标左键选择所需要转换的控制区域【{1}】', val: '{2}' }, + { deviceType: '05', orderNum: 4, operateCode: '204', tip: '鼠标左键点击【请求中控】', val: '{2}' }, + { deviceType: '05', orderNum: 5, operateCode: '2043', tip: '鼠标左键点击【确认】按钮', val: '{2}' }, + { deviceType: '05', orderNum: 6, operateCode: '0013', tip: '鼠标左键点击【确定】按钮' }, + { deviceType: 'bar', orderNum: 7, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0101', + skinCode: '02', + trainingName: '转为站控({1})', + trainingRemark: '控制权限转换,中控转站控', + trainingType: '01', + productTypes: ['01'], + stepVOList: [ + { deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: '鼠标左键点击顶部菜单栏【控制模式转换】' }, + { deviceType: 'bar', orderNum: 2, operateCode: '2021', tip: '鼠标左键点击【转为站控】' }, + { deviceType: '05', orderNum: 3, operateCode: '2022', tip: '鼠标左键选择所需要转换的控制区域【{1}】', val: '{2}' }, + { deviceType: '05', orderNum: 4, operateCode: '202', tip: '鼠标左键点击【请求站控】', val: '{2}' }, + { deviceType: '05', orderNum: 5, operateCode: '2023', tip: '鼠标左键点击【确认】按钮', val: '{2}' }, + { deviceType: '05', orderNum: 6, operateCode: '0013', tip: '鼠标左键点击【确定】按钮' }, + { deviceType: 'bar', orderNum: 7, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0102', + skinCode: '02', + trainingName: '强制站控({1})', + trainingRemark: '控制权限转换,强制站控', + trainingType: '01', + productTypes: ['01'], + stepVOList: [ + { deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: '鼠标左键点击顶部菜单栏【控制模式转换】' }, + { deviceType: 'bar', orderNum: 2, operateCode: '2034', tip: '鼠标左键点击【强制站控】' }, + { deviceType: 'bar', orderNum: 3, operateCode: '2035', tip: '鼠标左键输入默认密码【123456】后,点击【确定】按钮' }, + { deviceType: '05', orderNum: 4, operateCode: '2032', tip: '鼠标左键选择所需要转换的控制区域【{1}】', val: '{2}' }, + { deviceType: '05', orderNum: 5, operateCode: '203', tip: '鼠标左键点击【强制站控】', val: '{2}' }, + { deviceType: '05', orderNum: 6, operateCode: '2033', tip: '鼠标左键点击【确认】按钮', val: '{2}' }, + { deviceType: '05', orderNum: 7, operateCode: '0013', tip: '鼠标左键点击【确定】按钮' }, + { deviceType: 'bar', orderNum: 8, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0501', + skinCode: '02', + trainingName: '站台扣车({10}-{12}站台)', + trainingRemark: '设置扣车功能', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '504', tip: '鼠标右键菜单选择【扣车】' }, + { deviceType: '06', orderNum: 2, operateCode: '504', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0502', + skinCode: '02', + trainingName: '站台取消扣车({10}-{12}站台)', + trainingRemark: '设置取消扣车功能', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '505', tip: '鼠标右键菜单选择【取消扣车】' }, + { deviceType: '06', orderNum: 2, operateCode: '505', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0503', + skinCode: '02', + trainingName: '强制取消扣车({10}-{12}站台)', + trainingRemark: '强制取消扣车功能', + trainingType: '05', + productTypes: ['01'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '506', tip: '鼠标右键菜单选择【强制取消扣车】' }, + { deviceType: '06', orderNum: 2, operateCode: '506', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0504', + skinCode: '02', + trainingName: '全线取消扣车({10}-{12}站台)', + trainingRemark: '全线取消扣车功能(默认上行全线/下行全线,不做选择)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '508', tip: '鼠标右键菜单选择【全线取消扣车】' }, + { deviceType: '06', orderNum: 2, operateCode: '508', tip: '鼠标左键点击【确定】按钮', val: '{11}' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0504', + skinCode: '02', + trainingName: '全线取消扣车({10}-{12}站台)', + trainingRemark: '全线取消扣车功能(选择上/下行全线)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '508', tip: '鼠标右键菜单选择【全线取消扣车】' }, + { deviceType: '06', orderNum: 2, operateCode: '5081', tip: '鼠标右键菜单选择【{14}全线】', val: '{13}' }, + { deviceType: '06', orderNum: 3, operateCode: '508', tip: '鼠标左键点击【确定】按钮', val: '{13}' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0505', + skinCode: '02', + trainingName: '站台跳停({10}-{12}站台)', + trainingRemark: '设置跳停功能', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '502', tip: '鼠标右键菜单选择【跳停】' }, + { deviceType: '06', orderNum: 2, operateCode: '502', tip: '鼠标左键点击【确定】按钮', val: '{11}' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0506', + skinCode: '02', + trainingName: '取消跳停({10}-{12}站台)', + trainingRemark: '设置取消跳停功能', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '503', tip: '鼠标右键菜单选择【取消跳停】' }, + { deviceType: '06', orderNum: 2, operateCode: '503', tip: '鼠标左键点击【确定】按钮', val: '{11}' } + ] + }, + { + maxDuration: 8, + minDuration: 5, + operateType: '0507', + skinCode: '02', + trainingName: '查询站台状态({10}-{12}站台)', + trainingRemark: '查询站台状态功能', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '507', tip: '鼠标右键菜单选择【查询站台状态】' }, + { deviceType: '06', orderNum: 2, operateCode: '0012', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0508', + skinCode: '02', + trainingName: '设置停站时间({10}-{12}站台)', + trainingRemark: '设置停站时间(自动, 一直有效)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' }, + { deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【自动】', val: '01' }, + { deviceType: '06', orderNum: 3, operateCode: '509', tip: '鼠标左键点击【确认】按钮', val: '01::20::true' }, + { deviceType: '06', orderNum: 4, operateCode: '5091', tip: '鼠标左键点击【确认】按钮', val: '01::20::true' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0508', + skinCode: '02', + trainingName: '设置停站时间({10}-{12}站台)', + trainingRemark: '设置停站时间(人工, 20秒, 一直有效)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' }, + { deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【人工】', val: '02' }, + { deviceType: '06', orderNum: 3, operateCode: '5094', tip: '输入或鼠标点击,调整为【20】', val: '20' }, + { deviceType: '06', orderNum: 4, operateCode: '509', tip: '鼠标左键点击【确认】按钮', val: '02::20::true' }, + { deviceType: '06', orderNum: 5, operateCode: '5091', tip: '鼠标左键点击【确认】按钮', val: '02::20::true' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0508', + skinCode: '02', + trainingName: '设置停站时间({10}-{12}站台)', + trainingRemark: '设置停站时间(人工, 20秒, 一次有效)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' }, + { deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【人工】', val: '02' }, + { deviceType: '06', orderNum: 3, operateCode: '5094', tip: '输入或鼠标点击,调整为【20】', val: '20' }, + { deviceType: '06', orderNum: 4, operateCode: '5093', tip: '鼠标左键点击,选择【一次有效】', val: 'false' }, + { deviceType: '06', orderNum: 5, operateCode: '509', tip: '鼠标左键点击【确认】按钮', val: '02::20::false' }, + { deviceType: '06', orderNum: 6, operateCode: '5091', tip: '鼠标左键点击【确认】按钮', val: '02::20::false' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0509', + skinCode: '02', + trainingName: '设置运行等级({10}-{12}站台)', + trainingRemark: '设置运行等级(设置区间运行时间为60,一直有效)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置运行等级】' }, + { deviceType: '06', orderNum: 2, operateCode: '5101', tip: '鼠标左键点击,选择【60】', val: '60' }, + { deviceType: '06', orderNum: 3, operateCode: '510', tip: '鼠标左键点击【确认】按钮', val: '60::true' }, + { deviceType: '06', orderNum: 4, operateCode: '5102', tip: '鼠标左键点击【确认】按钮', val: '60::true' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0509', + skinCode: '02', + trainingName: '设置运行等级({10}-{12}站台)', + trainingRemark: '设置运行等级(设置区间运行时间为60,一次有效)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置运行等级】' }, + { deviceType: '06', orderNum: 2, operateCode: '5101', tip: '鼠标左键点击,选择【60】', val: '60' }, + { deviceType: '06', orderNum: 3, operateCode: '5103', tip: '鼠标左键点击,取消选择【一直有效】', val: 'false' }, + { deviceType: '06', orderNum: 4, operateCode: '510', tip: '鼠标左键点击【确认】按钮', val: '60::false' }, + { deviceType: '06', orderNum: 5, operateCode: '5102', tip: '鼠标左键点击【确认】按钮', val: '60::false' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0510', + skinCode: '02', + trainingName: '设置提前发车({10}-{12}站台)', + trainingRemark: '设置提前发车功能', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '501', tip: '鼠标右键菜单选择【设置提前发车】' }, + { deviceType: '06', orderNum: 2, operateCode: '501', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0511', + skinCode: '02', + trainingName: '人工折返策略设置({10}-{12}站台)', + trainingRemark: '人工折返策略设置功能', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '511', tip: '鼠标右键菜单选择【人工折返策略设置】' }, + { deviceType: '06', orderNum: 2, operateCode: '5111', tip: '鼠标左键点击,选择【无折返】', val: '01' }, + { deviceType: '06', orderNum: 3, operateCode: '511', tip: '鼠标左键点击【确定】按钮', val: '01' } + ] + }, + + { + maxDuration: 15, + minDuration: 8, + operateType: '0401', + skinCode: '02', + trainingName: '区段故障解锁({8}{9})', + trainingRemark: '故障解锁功能', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '402', tip: '鼠标右键菜单选择【区段故障解锁】' }, + { deviceType: '03', orderNum: 2, operateCode: '4026', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '03', orderNum: 3, operateCode: '4024', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '03', orderNum: 4, operateCode: '4025', tip: '鼠标左键点击【确认2】按钮' }, + { deviceType: '03', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0402', + skinCode: '02', + trainingName: '区段切除({8}{9})', + trainingRemark: '区段切除', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '405', tip: '鼠标右键菜单选择【区段切除】' }, + { deviceType: '03', orderNum: 2, operateCode: '405', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0403', + skinCode: '02', + trainingName: '区段激活({8}{9})', + trainingRemark: '区段激活功能', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '406', tip: '鼠标右键菜单选择【区段激活】' }, + { deviceType: '03', orderNum: 2, operateCode: '406', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0404', + skinCode: '02', + trainingName: '计轴预复位({8}{9})', + trainingRemark: '计轴预复位功能', + trainingType: '04', + productTypes: ['01'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '409', tip: '鼠标右键菜单选择【区段计轴预复位】' }, + { deviceType: '03', orderNum: 2, operateCode: '4091', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '03', orderNum: 3, operateCode: '4093', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '03', orderNum: 4, operateCode: '4094', tip: '鼠标左键点击【确认2】按钮' }, + { deviceType: '03', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0405', + skinCode: '02', + trainingName: '区段封锁({8}{9})', + trainingRemark: '区段封锁功能', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '403', tip: '鼠标右键菜单选择【区段封锁】' }, + { deviceType: '03', orderNum: 2, operateCode: '403', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0406', + skinCode: '02', + trainingName: '区段解封({8}{9})', + trainingRemark: '区段解封功能', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '404', tip: '鼠标右键菜单选择【区段解封】' }, + { deviceType: '03', orderNum: 2, operateCode: '4041', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '03', orderNum: 3, operateCode: '4043', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '03', orderNum: 4, operateCode: '4044', tip: '鼠标左键点击【确认2】按钮' }, + { deviceType: '03', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0407', + skinCode: '02', + trainingName: '区段设置限速({8}{9})', + trainingRemark: '区段设置限速功能(限速值:5)', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '407', tip: '鼠标右键菜单选择【区段设置限速】' }, + { deviceType: '03', orderNum: 2, operateCode: '4076', tip: '鼠标左键选择【限速值5】', val: '5' }, + { deviceType: '03', orderNum: 3, operateCode: '4071', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '03', orderNum: 4, operateCode: '4072', tip: '鼠标左键点击【确认】按钮' }, + { deviceType: '03', orderNum: 5, operateCode: '4073', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '03', orderNum: 6, operateCode: '4074', tip: '鼠标左键点击【确认2】按钮', val: '5' }, + { deviceType: '03', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0408', + skinCode: '02', + trainingName: '区段取消限速({8}{9})', + trainingRemark: '区段取消限速功能', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '408', tip: '鼠标右键菜单选择【区段取消限速】' }, + { deviceType: '03', orderNum: 2, operateCode: '4081', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '03', orderNum: 3, operateCode: '4082', tip: '鼠标左键点击【确认】按钮' }, + { deviceType: '03', orderNum: 4, operateCode: '4083', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '03', orderNum: 5, operateCode: '4084', tip: '鼠标左键点击【确认2】按钮', val: '5' }, + { deviceType: '03', orderNum: 6, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + + { + maxDuration: 15, + minDuration: 8, + operateType: '0301', + skinCode: '02', + trainingName: '道岔单锁({7})', + trainingRemark: '道岔单锁功能', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '103', tip: '鼠标右键菜单选择【道岔单锁】' }, + { deviceType: '02', orderNum: 2, operateCode: '103', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0302', + skinCode: '02', + trainingName: '道岔单解({7})', + trainingRemark: '道岔单解功能', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '104', tip: '鼠标右键菜单选择【道岔单解】' }, + { deviceType: '02', orderNum: 2, operateCode: '1041', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '02', orderNum: 3, operateCode: '1043', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '02', orderNum: 4, operateCode: '1044', tip: '鼠标左键点击【确认2】按钮' }, + { deviceType: '02', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0303', + skinCode: '02', + trainingName: '道岔区段封闭({7})', + trainingRemark: '道岔区段封闭功能', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '105', tip: '鼠标右键菜单选择【道岔区段封闭】' }, + { deviceType: '02', orderNum: 2, operateCode: '105', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0304', + skinCode: '02', + trainingName: '道岔区段解封({7})', + trainingRemark: '道岔区段解封功能', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '106', tip: '鼠标右键菜单选择【道岔区段解封】' }, + { deviceType: '02', orderNum: 2, operateCode: '1061', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '02', orderNum: 3, operateCode: '1063', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '02', orderNum: 4, operateCode: '1064', tip: '鼠标左键点击【确认2】按钮' }, + { deviceType: '02', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0305', + skinCode: '02', + trainingName: '道岔转动({7})', + trainingRemark: '道岔转动功能({15}转{16})', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '107', tip: '鼠标右键菜单选择【道岔转动】' }, + { deviceType: '02', orderNum: 2, operateCode: '107', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 20, + minDuration: 10, + operateType: '0306', + skinCode: '02', + trainingName: '道岔区段故障解锁({7})', + trainingRemark: '道岔区段故障解锁功能', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '109', tip: '鼠标右键菜单选择【道岔区段故障解锁】' }, + { deviceType: '02', orderNum: 2, operateCode: '1091', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '02', orderNum: 3, operateCode: '1093', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '02', orderNum: 4, operateCode: '1094', tip: '鼠标左键点击【确认2】按钮' }, + { deviceType: '02', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0307', + skinCode: '02', + trainingName: '道岔区段计轴预复位({7})', + trainingRemark: '道岔区段计轴预复位功能', + trainingType: '03', + productTypes: ['01'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '110', tip: '鼠标右键菜单选择【道岔区段计轴预复位】' }, + { deviceType: '02', orderNum: 2, operateCode: '1101', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '02', orderNum: 3, operateCode: '1103', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '02', orderNum: 4, operateCode: '1104', tip: '鼠标左键点击【确认2】按钮' }, + { deviceType: '02', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0308', + skinCode: '02', + trainingName: '区段切除({7})', + trainingRemark: '区段切除', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '111', tip: '鼠标右键菜单选择【区段切除】' }, + { deviceType: '02', orderNum: 2, operateCode: '111', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0309', + skinCode: '02', + trainingName: '区段激活({7})', + trainingRemark: '区段激活功能', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '112', tip: '鼠标右键菜单选择【区段激活】' }, + { deviceType: '02', orderNum: 2, operateCode: '112', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0310', + skinCode: '02', + trainingName: '道岔区段设置限速({7})', + trainingRemark: '道岔区段设置限速功能(限速值:5)', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '113', tip: '鼠标右键菜单选择【道岔区段设置限速】' }, + { deviceType: '02', orderNum: 2, operateCode: '1136', tip: '鼠标左键选择【限速值5】', val: '5' }, + { deviceType: '02', orderNum: 3, operateCode: '1131', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '02', orderNum: 4, operateCode: '1132', tip: '鼠标左键点击【确认】按钮' }, + { deviceType: '02', orderNum: 5, operateCode: '1133', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '02', orderNum: 6, operateCode: '1134', tip: '鼠标左键点击【确认2】按钮', val: '5' }, + { deviceType: '02', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0311', + skinCode: '02', + trainingName: '道岔区段取消限速({7})', + trainingRemark: '道岔区段取消限速功能', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '114', tip: '鼠标右键菜单选择【道岔区段取消限速】' }, + { deviceType: '02', orderNum: 2, operateCode: '1141', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '02', orderNum: 3, operateCode: '1142', tip: '鼠标左键点击【确认】按钮' }, + { deviceType: '02', orderNum: 4, operateCode: '1143', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '02', orderNum: 5, operateCode: '1144', tip: '鼠标左键点击【确认2】按钮', val: '5' }, + { deviceType: '02', orderNum: 6, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + + { + maxDuration: 15, + minDuration: 8, + operateType: '0201', + skinCode: '02', + trainingName: '进路选排({3})', + trainingRemark: '选择排列进路', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '301', tip: '鼠标右键菜单选择【进路选排】' }, + { deviceType: '04', orderNum: 2, operateCode: '3011', tip: '鼠标左键选择进路名称【{3}】', val: '{4}' }, + { deviceType: '04', orderNum: 3, operateCode: '301', tip: '鼠标左键点击【确定】按钮' }, + { deviceType: '04', orderNum: 4, operateCode: '3012', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0202', + skinCode: '02', + trainingName: '进路取消({3})', + trainingRemark: '进路取消', + trainingType: '02', + productTypes: ['02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '303', tip: '鼠标右键菜单选择【进路取消】' }, + { deviceType: '04', orderNum: 2, operateCode: '303', tip: '鼠标左键点击【确定】按钮' }, + { deviceType: '04', orderNum: 3, operateCode: '3031', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0202', + skinCode: '02', + trainingName: '进路取消({3})', + trainingRemark: '进路取消', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '303', tip: '鼠标右键菜单选择【进路取消】' }, + { deviceType: '04', orderNum: 2, operateCode: '303', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0203', + skinCode: '02', + trainingName: '信号封闭({5})', + trainingRemark: '信号封闭', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '306', tip: '鼠标右键菜单选择【信号封闭】' }, + { deviceType: '04', orderNum: 2, operateCode: '306', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0204', + skinCode: '02', + trainingName: '信号解封({5})', + trainingRemark: '信号解封', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '307', tip: '鼠标右键菜单选择【信号解封】' }, + { deviceType: '04', orderNum: 2, operateCode: '3071', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '04', orderNum: 3, operateCode: '3072', tip: '鼠标左键点击【确认】按钮' }, + { deviceType: '04', orderNum: 4, operateCode: '3073', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '04', orderNum: 5, operateCode: '3074', tip: '鼠标左键点击【确认2】按钮' }, + { deviceType: '04', orderNum: 6, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0205', + skinCode: '02', + trainingName: '信号关灯({3})', + trainingRemark: '信号关灯', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '313', tip: '鼠标右键菜单选择【信号关灯】' }, + { deviceType: '04', orderNum: 2, operateCode: '313', tip: '鼠标左键点击【确定】按钮' }, + { deviceType: '04', orderNum: 3, operateCode: '3131', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0206', + skinCode: '02', + trainingName: '信号重开({3})', + trainingRemark: '信号重开', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '304', tip: '鼠标右键菜单选择【信号重开】' }, + { deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【确定】按钮' }, + { deviceType: '04', orderNum: 3, operateCode: '3041', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0207', + skinCode: '02', + trainingName: '引导进路办理({3})', + trainingRemark: '进路办理信号引导', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '308', tip: '鼠标右键菜单选择【引导进路办理】' }, + { deviceType: '04', orderNum: 2, operateCode: '3081', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '04', orderNum: 3, operateCode: '3083', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '04', orderNum: 4, operateCode: '3084', tip: '鼠标左键点击【确认2】按钮' }, + { deviceType: '04', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0208', + skinCode: '02', + trainingName: '自排开({5})', + trainingRemark: '自排开', + trainingType: '02', + productTypes: ['02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '315', tip: '鼠标右键菜单选择【自排开】' }, + { deviceType: '04', orderNum: 2, operateCode: '3151', tip: '鼠标左键选择控制状态为"人工"的进路', val: '{6}' }, + { deviceType: '04', orderNum: 3, operateCode: '315', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0209', + skinCode: '02', + trainingName: '自排关({5})', + trainingRemark: '自排关', + trainingType: '02', + productTypes: ['02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '314', tip: '鼠标右键菜单选择【自排关】' }, + { deviceType: '04', orderNum: 2, operateCode: '3141', tip: '鼠标左键选择第一条进路', val: '{6}' }, + { deviceType: '04', orderNum: 3, operateCode: '314', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0210', + skinCode: '02', + trainingName: '查询进路控制状态({5})', + trainingRemark: '查询进路控制状态', + trainingType: '02', + productTypes: ['02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '316', tip: '鼠标右键菜单选择【查询进路控制模式】' }, + { deviceType: '04', orderNum: 2, operateCode: '316', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0211', + skinCode: '02', + trainingName: '设置联锁自动进路({5})', + trainingRemark: '设置联锁自动进路', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '309', tip: '鼠标右键菜单选择【设置联锁自动进路】' }, + { deviceType: '04', orderNum: 2, operateCode: '309', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0212', + skinCode: '02', + trainingName: '取消联锁自动进路({5})', + trainingRemark: '取消联锁自动进路', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '310', tip: '鼠标右键菜单选择【取消联锁自动进路】' }, + { deviceType: '04', orderNum: 2, operateCode: '310', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0213', + skinCode: '02', + trainingName: '设置联锁自动触发({5})', + trainingRemark: '设置联锁自动触发', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '311', tip: '鼠标右键菜单选择【设置联锁自动触发】' }, + { deviceType: '04', orderNum: 2, operateCode: '311', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0214', + skinCode: '02', + trainingName: '取消联锁自动触发({5})', + trainingRemark: '取消联锁自动触发', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '312', tip: '鼠标右键菜单选择【取消联锁自动触发】' }, + { deviceType: '04', orderNum: 2, operateCode: '312', tip: '鼠标左键点击【确定】按钮' } + ] + } + ] +}; diff --git a/src/jmapNew/theme/xian_01/operationConfigGlobal.js b/src/jmapNew/theme/xian_01/operationConfigGlobal.js new file mode 100644 index 000000000..e99041826 --- /dev/null +++ b/src/jmapNew/theme/xian_01/operationConfigGlobal.js @@ -0,0 +1,820 @@ +export default { + list: [ + { + maxDuration: 20, + minDuration: 15, + operateType: '0103', + skinCode: '05', + trainingName: 'Switch to central control ({1})', + trainingRemark: 'Control permission conversion, switch station control to central control', + trainingType: '01', + productTypes: ['02'], + stepVOList: [ + { deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: 'Left click the menu bar [control mode conversion]on the top' }, + { deviceType: 'bar', orderNum: 2, operateCode: '2041', tip: 'Left click [switch to central control] ' }, + { deviceType: '05', orderNum: 3, operateCode: '2042', tip: 'Left click to select the control area to be converted【{1}】', val: '{2}' }, + { deviceType: '05', orderNum: 4, operateCode: '204', tip: 'Left click [request to central control] ', val: '{2}' }, + { deviceType: '05', orderNum: 5, operateCode: '2043', tip: 'Left click [confirm]', val: '{2}' }, + { deviceType: '05', orderNum: 6, operateCode: '0013', tip: 'Left click [confirm]' }, + { deviceType: 'bar', orderNum: 7, operateCode: '000', tip: 'Left click [close] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0101', + skinCode: '05', + trainingName: 'Switch to station control ({1})', + trainingRemark: 'Control permission conversion, Force to station control', + trainingType: '01', + productTypes: ['01'], + stepVOList: [ + { deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: 'Left click the menu bar [control mode conversion]on the top' }, + { deviceType: 'bar', orderNum: 2, operateCode: '2021', tip: 'Left click [switch to station control' }, + { deviceType: '05', orderNum: 3, operateCode: '2022', tip: 'Left click to select the control area to be converted【{1}】', val: '{2}' }, + { deviceType: '05', orderNum: 4, operateCode: '202', tip: 'Left click [request to station control', val: '{2}' }, + { deviceType: '05', orderNum: 5, operateCode: '2023', tip: 'Left click [confirm] ', val: '{2}' }, + { deviceType: '05', orderNum: 6, operateCode: '0013', tip: 'Left click [confirm] ' }, + { deviceType: 'bar', orderNum: 7, operateCode: '000', tip: 'Left click [close] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0102', + skinCode: '05', + trainingName: 'Force to station control ({1})', + trainingRemark: 'Control permission conversion,Force to station control', + trainingType: '01', + productTypes: ['01'], + stepVOList: [ + { deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: 'Left click the menu bar [control mode conversion]on the top' }, + { deviceType: 'bar', orderNum: 2, operateCode: '2034', tip: 'Left click[Force to station control]' }, + { deviceType: 'bar', orderNum: 3, operateCode: '2035', tip: 'Left click to input the password [123456],then left click the [confirm]' }, + { deviceType: '05', orderNum: 4, operateCode: '2032', tip: 'Left click to select the control area to be converted【{1}】', val: '{2}' }, + { deviceType: '05', orderNum: 5, operateCode: '203', tip: 'Left click [Foece to station control', val: '{2}' }, + { deviceType: '05', orderNum: 6, operateCode: '2033', tip: 'Left click [confirm] ', val: '{2}' }, + { deviceType: '05', orderNum: 7, operateCode: '0013', tip: 'Left click [confirm] ' }, + { deviceType: 'bar', orderNum: 8, operateCode: '000', tip: 'Left click [close] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0501', + skinCode: '05', + trainingName: 'Detain Train({10}-{12}station)', + trainingRemark: 'Set the detaining function', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '504', tip: 'Right click to select [Detain Train]' }, + { deviceType: '06', orderNum: 2, operateCode: '504', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0502', + skinCode: '05', + trainingName: 'Cancel Detaining({10}-{12}The platform)', + trainingRemark: 'Set cancelling detaining function', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '505', tip: 'Right click to select [Cancel Detaining]]' }, + { deviceType: '06', orderNum: 2, operateCode: '505', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0503', + skinCode: '05', + trainingName: 'Force Canceling Detaining({10}-{12}The platform)', + trainingRemark: 'Force to cancel train detaining function', + trainingType: '05', + productTypes: ['01'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '506', tip: 'Right click to select [Force Canceling Detaining]' }, + { deviceType: '06', orderNum: 2, operateCode: '506', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0504', + skinCode: '05', + trainingName: 'Cancel train detaining along the whole line({10}-{12}The platform)', + trainingRemark: 'Cancel train detaining along the whole line (default the whole uplink and downlink )', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '508', tip: 'Right click to select [Cancel train detaining along the whole line]' }, + { deviceType: '06', orderNum: 2, operateCode: '508', tip: 'Left click [confirm] ', val: '{11}' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0504', + skinCode: '05', + trainingName: 'Cancel train detaining along the whole line({10}-{12}The platform)', + trainingRemark: 'Cancel train detaining along the whole line (select the uplink or downlink ))', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '508', tip: 'Right click to select [Cancel train detaining along the whole line]' }, + { deviceType: '06', orderNum: 2, operateCode: '5081', tip: 'Right click to select[{14}the whole line', val: '{13}' }, + { deviceType: '06', orderNum: 3, operateCode: '508', tip: 'Left click [confirm]', val: '{13}' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0505', + skinCode: '05', + trainingName: 'Skip this station to continue moving({10}-{12}The platform)', + trainingRemark: 'Set the skip to continue moving function', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '502', tip: 'Right click to select [Skip this station to continue moving]' }, + { deviceType: '06', orderNum: 2, operateCode: '502', tip: 'Left click [confirm]', val: '{11}' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0506', + skinCode: '05', + trainingName: 'Cancel skiping({10}-{12}The platform)', + trainingRemark: 'Set cancelling skiping function', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '503', tip: 'Right click to select [Cancel skiping]' }, + { deviceType: '06', orderNum: 2, operateCode: '503', tip: 'Left click [confirm]', val: '{11}' } + ] + }, + { + maxDuration: 8, + minDuration: 5, + operateType: '0507', + skinCode: '05', + trainingName: 'Query Platform status({10}-{12}The platform)', + trainingRemark: 'Query platform status function', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '507', tip: 'Right click to select [Query Platform status]' }, + { deviceType: '06', orderNum: 2, operateCode: '0012', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0508', + skinCode: '05', + trainingName: 'Set the stop time({10}-{12}The platform)', + trainingRemark: 'Set the stop time (auto, permanent validity)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '509', tip: 'Right click to select [Set the stop time]' }, + { deviceType: '06', orderNum: 2, operateCode: '5092', tip: 'Left click to select [auto]', val: '01' }, + { deviceType: '06', orderNum: 3, operateCode: '509', tip: 'Left click [confirm] ', val: '01::20::true' }, + { deviceType: '06', orderNum: 4, operateCode: '5091', tip: 'Left click [confirm] ', val: '01::20::true' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0508', + skinCode: '05', + trainingName: 'Set the stop time({10}-{12}The platform)', + trainingRemark: 'Set the stop time (manual, 20 seconds, permanent validity)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '509', tip: 'Right click to select [Set the stop time]' }, + { deviceType: '06', orderNum: 2, operateCode: '5092', tip: 'Left click to select [manual]', val: '02' }, + { deviceType: '06', orderNum: 3, operateCode: '5094', tip: 'Set time [20]', val: '20' }, + { deviceType: '06', orderNum: 4, operateCode: '509', tip: 'Left click [confirm] ', val: '02::20::true' }, + { deviceType: '06', orderNum: 5, operateCode: '5091', tip: 'Left click [confirm]', val: '02::20::true' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0508', + skinCode: '05', + trainingName: 'Set the stop time({10}-{12}The platform)', + trainingRemark: 'Set the stop time (manual, 20 seconds, once valid )', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '509', tip: 'Right click to select [Set the stop time]' }, + { deviceType: '06', orderNum: 2, operateCode: '5092', tip: 'Left click to select [manual]', val: '02' }, + { deviceType: '06', orderNum: 3, operateCode: '5094', tip: 'Set time [20]', val: '20' }, + { deviceType: '06', orderNum: 4, operateCode: '5093', tip: 'Left click to select "once valid ".', val: 'false' }, + { deviceType: '06', orderNum: 5, operateCode: '509', tip: 'Left click [confirm] ', val: '02::20::false' }, + { deviceType: '06', orderNum: 6, operateCode: '5091', tip: 'Left click [confirm] ', val: '02::20::false' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0509', + skinCode: '05', + trainingName: 'Set Operation speed Level({10}-{12}The platform)', + trainingRemark: 'Set Operation speed Level(set the interval running time to 60, permanent validity)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '510', tip: 'Right click to select [Set Operation speed Level]' }, + { deviceType: '06', orderNum: 2, operateCode: '5101', tip: 'Left click to select [60]', val: '60' }, + { deviceType: '06', orderNum: 3, operateCode: '510', tip: 'Left click [confirm] ', val: '60::true' }, + { deviceType: '06', orderNum: 4, operateCode: '5102', tip: 'Left click [confirm] ', val: '60::true' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0509', + skinCode: '05', + trainingName: 'Set Operation speed Level({10}-{12}The platform)', + trainingRemark: 'Set Operation speed Level (set the interval running time to 60, once valid )', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '510', tip: 'Right click to select [Set Operation speed Level]' }, + { deviceType: '06', orderNum: 2, operateCode: '5101', tip: 'Left click to select [60]', val: '60' }, + { deviceType: '06', orderNum: 3, operateCode: '5103', tip: 'Left click to cancel [permanent validity].', val: 'false' }, + { deviceType: '06', orderNum: 4, operateCode: '510', tip: 'Left click [confirm] ', val: '60::false' }, + { deviceType: '06', orderNum: 5, operateCode: '5102', tip: 'Left click [confirm] ', val: '60::false' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0510', + skinCode: '05', + trainingName: 'Set departure in advance({10}-{12}The platform)', + trainingRemark: 'Set departure inadvance function', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '501', tip: 'Right click to select [Set departure in advance]' }, + { deviceType: '06', orderNum: 2, operateCode: '501', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0511', + skinCode: '05', + trainingName: 'Manual return strategy setting({10}-{12}The platform)', + trainingRemark: 'Manual return strategy setting function', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '511', tip: 'Right click to select [Manual return strategy setting]' }, + { deviceType: '06', orderNum: 2, operateCode: '5111', tip: 'Left click to select [No return]".', val: '01' }, + { deviceType: '06', orderNum: 3, operateCode: '511', tip: 'Left click [confirm] ', val: '01' } + ] + }, + + { + maxDuration: 15, + minDuration: 8, + operateType: '0401', + skinCode: '05', + trainingName: 'Section fault unlocking({8}{9})', + trainingRemark: 'Fault unlocking', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '402', tip: 'Right click to select [Section fault unlocking]' }, + { deviceType: '03', orderNum: 2, operateCode: '4026', tip: 'Left click [Execute] ' }, + { deviceType: '03', orderNum: 3, operateCode: '4024', tip: 'Left click [ok 1] ' }, + { deviceType: '03', orderNum: 4, operateCode: '4025', tip: 'Left click [ok 2] ' }, + { deviceType: '03', orderNum: 5, operateCode: '001', tip: 'Left click [close] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0402', + skinCode: '05', + trainingName: 'Section resection({8}{9})', + trainingRemark: 'Section resection', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '405', tip: 'Right click to select [Section resection]' }, + { deviceType: '03', orderNum: 2, operateCode: '405', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0403', + skinCode: '05', + trainingName: 'Section activation({8}{9})', + trainingRemark: 'Section activation function', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '406', tip: 'Right click to select [Section activation]' }, + { deviceType: '03', orderNum: 2, operateCode: '406', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0404', + skinCode: '05', + trainingName: 'Axis pre-reset({8}{9})', + trainingRemark: 'Axis pre-reset function', + trainingType: '04', + productTypes: ['01'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '409', tip: 'Right click to select [Axis pre-reset]' }, + { deviceType: '03', orderNum: 2, operateCode: '4091', tip: 'Left click [Execute]' }, + { deviceType: '03', orderNum: 3, operateCode: '4093', tip: 'Left click [confirm1]' }, + { deviceType: '03', orderNum: 4, operateCode: '4094', tip: 'Left click [confirm2]' }, + { deviceType: '03', orderNum: 5, operateCode: '001', tip: 'Left click [close]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0405', + skinCode: '05', + trainingName: 'Section blockade({8}{9})', + trainingRemark: 'Section blockade function', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '403', tip: 'Right click to select [Section blockade]' }, + { deviceType: '03', orderNum: 2, operateCode: '403', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0406', + skinCode: '05', + trainingName: 'Section unblockade({8}{9})', + trainingRemark: 'Section unblockade function', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '404', tip: 'Right click to select [Section unblockade]' }, + { deviceType: '03', orderNum: 2, operateCode: '4041', tip: 'Left click [Execute]' }, + { deviceType: '03', orderNum: 3, operateCode: '4043', tip: 'Left click [confirm1]' }, + { deviceType: '03', orderNum: 4, operateCode: '4044', tip: 'Left click [confirm2]' }, + { deviceType: '03', orderNum: 5, operateCode: '001', tip: 'Left click [close]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0407', + skinCode: '05', + trainingName: 'Set speed limit on the section({8}{9})', + trainingRemark: 'Set speed limit on the section (speed limit value: 5)', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '407', tip: 'Right click to select [Set speed limit on the section]' }, + { deviceType: '03', orderNum: 2, operateCode: '4076', tip: 'Left click to select [speed limit 5] ', val: '5' }, + { deviceType: '03', orderNum: 3, operateCode: '4071', tip: 'Left click [Execute]' }, + { deviceType: '03', orderNum: 4, operateCode: '4072', tip: 'Left click [confirm]' }, + { deviceType: '03', orderNum: 5, operateCode: '4073', tip: 'Left click [confirm1]' }, + { deviceType: '03', orderNum: 6, operateCode: '4074', tip: 'Left click [confirm2]', val: '5' }, + { deviceType: '03', orderNum: 7, operateCode: '001', tip: 'Left click [close]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0408', + skinCode: '05', + trainingName: 'Cancel speed limit on the section({8}{9})', + trainingRemark: 'Cancel speed limit on the section', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '408', tip: 'Right click to select [Cancel speed limit on the section]' }, + { deviceType: '03', orderNum: 2, operateCode: '4081', tip: 'Left click [Execute]' }, + { deviceType: '03', orderNum: 3, operateCode: '4082', tip: 'Left click [confirm] ' }, + { deviceType: '03', orderNum: 4, operateCode: '4083', tip: 'Left click [confirm1]' }, + { deviceType: '03', orderNum: 5, operateCode: '4084', tip: 'Left click [confirm2]', val: '5' }, + { deviceType: '03', orderNum: 6, operateCode: '001', tip: 'Left click [close]' } + ] + }, + + { + maxDuration: 15, + minDuration: 8, + operateType: '0301', + skinCode: '05', + trainingName: 'Single lock of turnout({7})', + trainingRemark: 'Single lock of turnout', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '103', tip: 'Right click to select [Single lock of turnout]' }, + { deviceType: '02', orderNum: 2, operateCode: '103', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0302', + skinCode: '05', + trainingName: 'Single release of turnout({7})', + trainingRemark: 'Single release of turnout', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '104', tip: 'Right click to select [Single release of turnout]' }, + { deviceType: '02', orderNum: 2, operateCode: '1041', tip: 'Left click [Execute]' }, + { deviceType: '02', orderNum: 3, operateCode: '1043', tip: 'Left click [confirm1] ' }, + { deviceType: '02', orderNum: 4, operateCode: '1044', tip: 'Left click [confirm2] ' }, + { deviceType: '02', orderNum: 5, operateCode: '001', tip: 'Left click [close] '} + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0303', + skinCode: '05', + trainingName: 'Turnout section closure({7})', + trainingRemark: 'Turnout section closure ', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '105', tip: 'Right click to select [Turnout section closure]' }, + { deviceType: '02', orderNum: 2, operateCode: '105', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0304', + skinCode: '05', + trainingName: 'Turnout section unsealing({7})', + trainingRemark: 'Turnout section unsealing function', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '106', tip: 'Right click to select [Turnout section unsealing]' }, + { deviceType: '02', orderNum: 2, operateCode: '1061', tip: 'Left click [Execute]' }, + { deviceType: '02', orderNum: 3, operateCode: '1063', tip: 'Left click [confirm1]' }, + { deviceType: '02', orderNum: 4, operateCode: '1064', tip: 'Left click [confirm2]' }, + { deviceType: '02', orderNum: 5, operateCode: '001', tip: 'Left click [close]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0305', + skinCode: '05', + trainingName: 'Turnout rotation({7})', + trainingRemark: 'Turnout rotation({15}turn{16})', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '107', tip: 'Right click to select [Turnout rotation]' }, + { deviceType: '02', orderNum: 2, operateCode: '107', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 20, + minDuration: 10, + operateType: '0306', + skinCode: '05', + trainingName: 'Turnout section fault unlocking({7})', + trainingRemark: 'Turnout section fault unlocking function', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '109', tip: 'Right click to select [Turnout section fault unlocking]' }, + { deviceType: '02', orderNum: 2, operateCode: '1091', tip: 'Left click [Execute]' }, + { deviceType: '02', orderNum: 3, operateCode: '1093', tip: 'Left click [confirm1]' }, + { deviceType: '02', orderNum: 4, operateCode: '1094', tip: 'Left click [confirm2]' }, + { deviceType: '02', orderNum: 5, operateCode: '001', tip: 'Left click [close]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0307', + skinCode: '05', + trainingName: 'Turnout section axile pre reset({7})', + trainingRemark: 'Turnout section axile pre reset function', + trainingType: '03', + productTypes: ['01'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '110', tip: 'Right click to select [Turnout section axile pre reset]' }, + { deviceType: '02', orderNum: 2, operateCode: '1101', tip: 'Left click [Execute]' }, + { deviceType: '02', orderNum: 3, operateCode: '1103', tip: 'Left click [confirm1]' }, + { deviceType: '02', orderNum: 4, operateCode: '1104', tip: 'Left click [confirm2]' }, + { deviceType: '02', orderNum: 5, operateCode: '001', tip: 'Left click [close]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0308', + skinCode: '05', + trainingName: 'Section resection({7})', + trainingRemark: 'Section resection', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '111', tip: 'Right click to select [Section resection]' }, + { deviceType: '02', orderNum: 2, operateCode: '111', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0309', + skinCode: '05', + trainingName: 'Section activation({7})', + trainingRemark: 'Section activation function', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '112', tip: 'Right click to select [Section activation]' }, + { deviceType: '02', orderNum: 2, operateCode: '112', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0310', + skinCode: '05', + trainingName: 'Set speed limit on the turnout section({7})', + trainingRemark: 'Set speed limit on the section (speed limit value: 5)', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '113', tip: 'Right click to select [Set speed limit on the turnout section]' }, + { deviceType: '02', orderNum: 2, operateCode: '1136', tip: 'Left click to select [speed limit 5] ', val: '5' }, + { deviceType: '02', orderNum: 3, operateCode: '1131', tip: 'Left click [Execute]' }, + { deviceType: '02', orderNum: 4, operateCode: '1132', tip: 'Left click [confirm]' }, + { deviceType: '02', orderNum: 5, operateCode: '1133', tip: 'Left click [confirm1]' }, + { deviceType: '02', orderNum: 6, operateCode: '1134', tip: 'Left click [confirm2]', val: '5' }, + { deviceType: '02', orderNum: 7, operateCode: '001', tip: 'Left click [close]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0311', + skinCode: '05', + trainingName: 'Cancel speed limit on the turnout section({7})', + trainingRemark: 'Cancel speed limit on the turnout section', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '114', tip: 'Right click to select [Cancel speed limit on the turnout section]' }, + { deviceType: '02', orderNum: 2, operateCode: '1141', tip: 'Left click [Execute]' }, + { deviceType: '02', orderNum: 3, operateCode: '1142', tip: 'Left click [confirm] ' }, + { deviceType: '02', orderNum: 4, operateCode: '1143', tip: 'Left click [confirm1]' }, + { deviceType: '02', orderNum: 5, operateCode: '1144', tip: 'Left click [confirm2]', val: '5' }, + { deviceType: '02', orderNum: 6, operateCode: '001', tip: 'Left click [close]' } + ] + }, + + { + maxDuration: 15, + minDuration: 8, + operateType: '0201', + skinCode: '05', + trainingName: 'Route selection({3})', + trainingRemark: 'Route selection', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '301', tip: 'Right click to select [Route selection]' }, + { deviceType: '04', orderNum: 2, operateCode: '3011', tip: 'Left click to select the route name【{3}】', val: '{4}' }, + { deviceType: '04', orderNum: 3, operateCode: '301', tip: 'Left click [confirm] ' }, + { deviceType: '04', orderNum: 4, operateCode: '3012', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0202', + skinCode: '05', + trainingName: 'Cancel the route({3})', + trainingRemark: 'Cancel the route', + trainingType: '02', + productTypes: ['02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '303', tip: 'Right click to select [Cancel the route]' }, + { deviceType: '04', orderNum: 2, operateCode: '303', tip: 'Left click [confirm] ' }, + { deviceType: '04', orderNum: 3, operateCode: '3031', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0202', + skinCode: '05', + trainingName: 'Cancel the route({3})', + trainingRemark: 'Cancel the route', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '303', tip: 'Right click to select [Cancel the route]' }, + { deviceType: '04', orderNum: 2, operateCode: '303', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0203', + skinCode: '05', + trainingName: 'Signal closure({5})', + trainingRemark: 'Signal closure', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '306', tip: 'Right click to select [Signal closure]' }, + { deviceType: '04', orderNum: 2, operateCode: '306', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0204', + skinCode: '05', + trainingName: 'Signal unsealing({5})', + trainingRemark: 'Signal unsealing', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '307', tip: 'Right click to select [Signal unsealing]' }, + { deviceType: '04', orderNum: 2, operateCode: '3071', tip: 'Left click [Execute]' }, + { deviceType: '04', orderNum: 3, operateCode: '3072', tip: 'Left click [confirm]' }, + { deviceType: '04', orderNum: 4, operateCode: '3073', tip: 'Left click [confirm1]' }, + { deviceType: '04', orderNum: 5, operateCode: '3074', tip: 'Left click [confirm2]' }, + { deviceType: '04', orderNum: 6, operateCode: '001', tip: 'Left click [close]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0205', + skinCode: '05', + trainingName: 'Signal Off({3})', + trainingRemark: 'Signal Off', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '313', tip: 'Right click to select [Signal Off]' }, + { deviceType: '04', orderNum: 2, operateCode: '313', tip: 'Left click [confirm]' }, + { deviceType: '04', orderNum: 3, operateCode: '3131', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0206', + skinCode: '05', + trainingName: 'Signal reopen({3})', + trainingRemark: 'Signal reopen', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '304', tip: 'Right click to select [Signal reopen]' }, + { deviceType: '04', orderNum: 2, operateCode: '304', tip: 'Left click [confirm]' }, + { deviceType: '04', orderNum: 3, operateCode: '3041', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0207', + skinCode: '05', + trainingName: 'Guide route handling({3})', + trainingRemark: 'Guide route handling', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '308', tip: 'Right click to select [Guide route handling]' }, + { deviceType: '04', orderNum: 2, operateCode: '3081', tip: 'Left click [Execute]' }, + { deviceType: '04', orderNum: 3, operateCode: '3083', tip: 'Left click [confirm1]' }, + { deviceType: '04', orderNum: 4, operateCode: '3084', tip: 'Left click [confirm2]' }, + { deviceType: '04', orderNum: 5, operateCode: '001', tip: 'Left click [close]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0208', + skinCode: '05', + trainingName: 'Start automatic routing({5})', + trainingRemark: 'Start automatic routing', + trainingType: '02', + productTypes: ['02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '315', tip: 'Right click to select [Start automatic routing]' }, + { deviceType: '04', orderNum: 2, operateCode: '3151', tip: 'Left click to select the route based on the manual control state', val: '{6}' }, + { deviceType: '04', orderNum: 3, operateCode: '315', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0209', + skinCode: '05', + trainingName: 'Close automatic routing({5})', + trainingRemark: 'Close automatic routing', + trainingType: '02', + productTypes: ['02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '314', tip: 'Right click to select [Close automatic routing]' }, + { deviceType: '04', orderNum: 2, operateCode: '3141', tip: 'Left click to select the first route', val: '{6}' }, + { deviceType: '04', orderNum: 3, operateCode: '314', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0210', + skinCode: '05', + trainingName: 'Route control status query({5})', + trainingRemark: 'Query the route control status ', + trainingType: '02', + productTypes: ['02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '316', tip: 'Right click to select [Route control status query]' }, + { deviceType: '04', orderNum: 2, operateCode: '316', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0211', + skinCode: '05', + trainingName: 'Set Interlock for Auto Routing({5})', + trainingRemark: 'Set Interlock for Auto Routing', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '309', tip: 'Right click to select [Set Interlock for Auto Routing]' }, + { deviceType: '04', orderNum: 2, operateCode: '309', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0212', + skinCode: '05', + trainingName: 'Cancel Interlock setting for Auto Routing({5})', + trainingRemark: 'Cancel Interlock setting for Auto Routing', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '310', tip: 'Right click to select [Cancel Interlock setting for Auto Routing]' }, + { deviceType: '04', orderNum: 2, operateCode: '310', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0213', + skinCode: '05', + trainingName: 'Set Interlock for Auto Trigger({5})', + trainingRemark: 'Set Interlock for Auto Trigger', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '311', tip: 'Right click to select [Set Interlock for Auto Trigger]' }, + { deviceType: '04', orderNum: 2, operateCode: '311', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0214', + skinCode: '05', + trainingName: 'Cancel Interlock setting for Auto Trigger({5})', + trainingRemark: 'Cancel Interlock setting for Auto Trigger', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '312', tip: 'Right click to select[Cancel Interlock setting for Auto Trigger]' }, + { deviceType: '04', orderNum: 2, operateCode: '312', tip: 'Left click [confirm]' } + ] + } + ] +}; diff --git a/src/jmapNew/theme/xian_01/planConvert.js b/src/jmapNew/theme/xian_01/planConvert.js new file mode 100644 index 000000000..a4341aa98 --- /dev/null +++ b/src/jmapNew/theme/xian_01/planConvert.js @@ -0,0 +1,319 @@ +import { createMartPoint, createSeriesModel, createMarkLineModels, hexColor, convertSheetToList, prefixTime } from '@/utils/runPlan'; + +export default { + /** 边缘高度*/ + EdgeHeight: 600, + + /** 间隔高度*/ + CoordMultiple: 1, + + /** 偏移时间*/ + TranslationTime: 60 * 60 * 2, + + /** excel解析配置*/ + ExcelConfig: { + beginRow: 1, + beginCol: 0, + fieldNum: 6, + sepField: '车次号', + columns: { + '停车站名称': { key: 'stationName', formatter: (val) => { return val; } }, + '到达时间': { key: 'arriveTime', formatter: (val) => { return val; } }, + '出发时间': { key: 'departureTime', formatter: (val) => { return val; } } + } + }, + + /** 解析exal数据转换为Json后台数据*/ + importData(Sheet, JsonData) { + const dataList = convertSheetToList(Sheet, true); + const needList = Object.keys(this.ExcelConfig.columns); + + if (dataList && dataList.length) { + for (let colIndex = this.ExcelConfig.beginCol; colIndex < dataList.length; colIndex += this.ExcelConfig.fieldNum + 1) { + let isContinue = true; + let tripObj = { code: '', arrivalList: [] }; + for (let rowIndex = this.ExcelConfig.beginRow; isContinue; rowIndex += 1) { + isContinue = false; + + const stationObj = {}; + for (let index = 0; index < this.ExcelConfig.fieldNum; index += 1) { + if (dataList[colIndex + index]) { + const title = dataList[colIndex + index][0]; + const value = dataList[colIndex + index][rowIndex]; + + if (title && value) { + // 数据列解析 + isContinue = true; + const titleStr = `${title}`.trim(); + let valueStr = `${value}`.trim(); + + if (titleStr == this.ExcelConfig.sepField) { + valueStr = `${dataList[colIndex + index - 1][rowIndex]}${valueStr}`; + if (tripObj.code) { + const length = tripObj.arrivalList.length; + if (length == 1) { + tripObj.arrivalList[0]['flag'] = true; + } + if (valueStr != tripObj.code) { + JsonData.push(tripObj); + tripObj = { code: valueStr, arrivalList: [] }; + } + } else { + tripObj.code = valueStr; + } + } + + // 取需要的字段 + if (needList.findIndex(elem => { return elem == titleStr; }) >= 0) { + stationObj[this.ExcelConfig.columns[titleStr].key] = this.ExcelConfig.columns[titleStr].formatter(valueStr); + if (this.ExcelConfig.columns[titleStr].key == 'arriveTime' || this.ExcelConfig.columns[titleStr].key == 'departureTime') { + stationObj[this.ExcelConfig.columns[titleStr].key] = this.ExcelConfig.columns[titleStr].formatter(prefixTime(valueStr)); + } + } + } + } + } + + // 添加字段值 + if (Object.keys(stationObj).length) { + tripObj.arrivalList.push(stationObj); + } + } + + // 添加最后那条没有车次的记录 + if (tripObj.code) { + const length = tripObj.arrivalList.length; + if (length) { + tripObj.arrivalList[length - 1]['flag'] = true; + } + JsonData.push(tripObj); + } + } + } + + return JsonData; + }, + + /** 将后台数据解析成图表*/ + convertDataToModels(data, stations, kmRangeCoordMap, lineStyle) { + var models = []; + + if (data && data.serviceNumberDataList && data.serviceNumberDataList.length) { + /** 按服务遍历数据*/ + data.serviceNumberDataList.forEach((service) => { + /** 按车次遍历数据*/ + var isBackup = true; + var opt = { name: '', markPointData: [], data: [] }; + if (service.tripNumberDataList && service.tripNumberDataList.length) { + service.tripNumberDataList.forEach((train, j) => { + var pointdata = {}; + var idx = 0; + var num = 0; + var lastPoint = null; + var nextPoint = null; + + /** 如果车次号为空,不显示名称*/ + if (train.tripNumber) { + /** 创建标记点名称和坐标*/ + pointdata.name = `${service.serviceNumber}${train.directionCode}${train.tripNumber}`; + pointdata.color = '#000' || lineStyle.color; + pointdata.directionCode = train.directionCode; + pointdata.coord = [train.stationTimeList[1].secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, train.stationTimeList[1], train.directionCode, false)]; + + /** 给服务对象添加服务名称和标记点*/ + opt.markPointData.push(createMartPoint(pointdata)); + /** 创建服务号名称*/ + opt.name = `${service.serviceNumber}`; + } + + /** 计算非折返点车次点坐标集合*/ + train.stationTimeList.forEach((elem, index) => { + idx = index; + if (index == 0 && train.stationTimeList[index].stationCode != train.stationTimeList[index + 1].stationCode || + index == train.stationTimeList.length - 2 && train.stationTimeList[index].secondTime != train.stationTimeList[index + 1].secondTime || + index > 0 && index < train.stationTimeList.length - 1) { + const aa = `${train.directionCode}${train.tripNumber}`; + opt.data.push([elem.secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, elem, elem.directionCode, false), elem.stationCode, aa]); + } + }); + + /** 计算折返点车次坐标点集合*/ + if (!train.backup && train.reentry && service.tripNumberDataList[j + 1] && service.tripNumberDataList[j + 1].stationTimeList) { + lastPoint = train.stationTimeList[idx - 1]; + nextPoint = service.tripNumberDataList[j + 1].stationTimeList[1]; + num = this.computedReentryNumber(train.tripNumber); + const aa = `${train.directionCode}${train.tripNumber}`; + opt.data.push([lastPoint.secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, lastPoint, train.directionCode, true, num), lastPoint.stationCode, aa]); + opt.data.push([nextPoint.secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, nextPoint, train.directionCode, true, num), nextPoint.stationCode, aa]); + } + + /** 如果是备用车,按车次添加线*/ + if (train.backup) { + /** 创建一条完成的服务数据*/ + opt.name += j; + var model = createSeriesModel(opt, Object.assign({ color: hexColor.toCreate() }, lineStyle)); + if (model) { + models.push(model); + opt = { name: '', markPointData: [], data: [] }; + } + } + + isBackup = train.backup; + }); + + // 不是备用车,按服务添加线 + if (!isBackup) { + /** 创建一条完成的服务数据*/ + var model = createSeriesModel(opt, Object.assign({ color: hexColor.toCreate() }, lineStyle)); + if (model) { + models.push(model); + } + } + } + }); + return models; + } else { + return []; + } + }, + + /** 更新数据并解析成图表*/ + updateDataToModels(data, stations, kmRangeCoordMap, runPlanData, series, lineStyle) { + if (data && data.length) { + data.forEach(elem => { + /** 判断此条记录的服务号是否存在*/ + if (!runPlanData[elem.serviceNumber]) { + /** 创建一个新服务号标记*/ + runPlanData[elem.serviceNumber] = {}; + + /** 不存在此服务号,则需要创建一条新的line*/ + series.push(createSeriesModel({ + zlevel: 1, + name: `run${elem.serviceNumber}`, + data: [], + markPointData: [] + }, Object.assign({ color: hexColor.toCreate() }, lineStyle))); + } + + /** 添加数据*/ + series.forEach(serie => { + /** 找到服务号所在图数据的位置*/ + if (serie.name == `run${elem.serviceNumber}`) { + /** 添加车组号记录标记*/ + if (!runPlanData[elem.serviceNumber][elem.tripNumber]) { + runPlanData[elem.serviceNumber][elem.tripNumber] = []; + } + + runPlanData[elem.serviceNumber][elem.tripNumber].push(elem); + runPlanData[elem.serviceNumber][elem.tripNumber].sort((a, b) => { + return parseInt(a.secondTime) - parseInt(b.secondTime); + }); + + /** 如果此记录车组号的数据为第一条时,则打上标签*/ + if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) { + serie.markPoint.data.push(createMartPoint({ + directionCode: elem.directionCode, + coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)], + name: `(${elem.groupNumber})${elem.serviceNumber}${elem.directionCode}${elem.tripNumber}`, + color: lineStyle.color || '#000' + })); + } + + /** 计算折返点*/ + var nextPoint = [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false), elem.directionCode]; + if (serie.data.length > 0) { + var lastPoint = serie.data[serie.data.length - 1]; + if (lastPoint[2] !== nextPoint[2]) { + var num = this.computedReentryNumber(elem.tripNumber); + serie.data.push([lastPoint[0], this.getYvalueByDirectionCode(lastPoint[1], lastPoint[2], num), lastPoint[2]]); + serie.data.push([nextPoint[0], this.getYvalueByDirectionCode(nextPoint[1], lastPoint[2], num), lastPoint[2]]); + } + } + + /** 添加车组号数据到对应的服务图数据中*/ + serie.data.push(nextPoint); + + /** 保证原始数据排序*/ + serie.data.sort((a, b) => { + return parseInt(a[0]) - parseInt(b[0]); + }); + } + }); + }); + } + + return series; + }, + + /** 初始化Y轴*/ + initializeYaxis(stations) { + return createMarkLineModels(stations, (elem) => { + return this.EdgeHeight + elem.kmRange * this.CoordMultiple; + }); + }, + + /** 将后台数据转换为试图序列模型*/ + convertStationsToMap(stations) { + var map = {}; + if (stations && stations.length) { + stations.forEach((elem) => { + map[`${elem.kmRange}`] = this.EdgeHeight + elem.kmRange * this.CoordMultiple; + }); + } + + return map; + }, + + /** 计算y轴最小值*/ + computedYaxisMinValue(stations) { + return stations[0].kmRange * this.CoordMultiple; + }, + + /** 计算y轴最大值*/ + computedYaxisMaxValue(stations) { + return stations[stations.length - 1].kmRange * this.CoordMultiple + this.EdgeHeight * 2; + }, + + /** 格式化y轴数据*/ + computedFormatYAxis(stations, params) { + var yText = '0m'; + + stations.forEach(elem => { + if (elem.kmRange < parseInt(params.value) / this.CoordMultiple - this.EdgeHeight) { + yText = Math.floor(elem.kmRange) + 'm'; + } + }); + + return yText; + }, + + /** 根据是否和上一个车次是否相交,计算下一个车次的折返的高度*/ + computedReentryNumber(code) { + return parseInt(code || 1) % 2 ? 1 : 2; + }, + + /** 根据方向计算y折返偏移量*/ + getYvalueByDirectionCode(defaultVlue, directionCode, num) { + if (directionCode === '1') { + defaultVlue -= this.EdgeHeight / 2 * num; + } else if (directionCode === '2') { + defaultVlue += this.EdgeHeight / 2 * num; + } + + return defaultVlue; + }, + + /** 根据elem计算y值*/ + getCoordYByElem(stations, kmRangeCoordMap, elem, directionCode, isSpecial, num) { + var defaultVlue = 0; + var station = stations.find(it => { return it.code == elem.stationCode; }); + if (station) { + defaultVlue = kmRangeCoordMap[`${station.kmRange}`]; + if (isSpecial) { + defaultVlue = this.getYvalueByDirectionCode(defaultVlue, directionCode, num); + } + } + + return defaultVlue; + } +}; diff --git a/src/jmapNew/theme/xian_02/menusPlan/addTask.vue b/src/jmapNew/theme/xian_02/menusPlan/addTask.vue deleted file mode 100644 index cf092b0ca..000000000 --- a/src/jmapNew/theme/xian_02/menusPlan/addTask.vue +++ /dev/null @@ -1,175 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/xian_02/menusPlan/chooseTemplatePlan.vue b/src/jmapNew/theme/xian_02/menusPlan/chooseTemplatePlan.vue deleted file mode 100644 index f9ea0760d..000000000 --- a/src/jmapNew/theme/xian_02/menusPlan/chooseTemplatePlan.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/xian_02/menusPlan/components/dataTable.vue b/src/jmapNew/theme/xian_02/menusPlan/components/dataTable.vue deleted file mode 100644 index fa98a48e7..000000000 --- a/src/jmapNew/theme/xian_02/menusPlan/components/dataTable.vue +++ /dev/null @@ -1,206 +0,0 @@ - - - - - diff --git a/src/jmapNew/theme/xian_02/menusPlan/createTodayPlan.vue b/src/jmapNew/theme/xian_02/menusPlan/createTodayPlan.vue deleted file mode 100644 index 27e3513d2..000000000 --- a/src/jmapNew/theme/xian_02/menusPlan/createTodayPlan.vue +++ /dev/null @@ -1,134 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/xian_02/menusPlan/createWeekPlan.vue b/src/jmapNew/theme/xian_02/menusPlan/createWeekPlan.vue deleted file mode 100644 index 48f65d60f..000000000 --- a/src/jmapNew/theme/xian_02/menusPlan/createWeekPlan.vue +++ /dev/null @@ -1,137 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/xian_02/menusPlan/deleteTask.vue b/src/jmapNew/theme/xian_02/menusPlan/deleteTask.vue deleted file mode 100644 index 035f23fca..000000000 --- a/src/jmapNew/theme/xian_02/menusPlan/deleteTask.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/xian_02/menusPlan/deleteTodayPlan.vue b/src/jmapNew/theme/xian_02/menusPlan/deleteTodayPlan.vue deleted file mode 100644 index 3110e2858..000000000 --- a/src/jmapNew/theme/xian_02/menusPlan/deleteTodayPlan.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/xian_02/menusPlan/modifyingPlan.vue b/src/jmapNew/theme/xian_02/menusPlan/modifyingPlan.vue deleted file mode 100644 index a9d25ea80..000000000 --- a/src/jmapNew/theme/xian_02/menusPlan/modifyingPlan.vue +++ /dev/null @@ -1,177 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/xian_02/menusPlan/modifyingTask.vue b/src/jmapNew/theme/xian_02/menusPlan/modifyingTask.vue deleted file mode 100644 index 194534120..000000000 --- a/src/jmapNew/theme/xian_02/menusPlan/modifyingTask.vue +++ /dev/null @@ -1,327 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/xian_02/model.js b/src/jmapNew/theme/xian_02/model.js index ed34da08c..dd040cf61 100644 --- a/src/jmapNew/theme/xian_02/model.js +++ b/src/jmapNew/theme/xian_02/model.js @@ -14,6 +14,9 @@ class Model { this['private'][deviceType.StationControl] = { indicatorShow: true // 标识灯名称显示 }; + this['private'][deviceType.Station] = { + kmPostShow: true // 公里标显示 + }; this['private'][deviceType.Switch] = { nameShow: true }; diff --git a/src/jmapNew/theme/xian_02/planConvert.js b/src/jmapNew/theme/xian_02/planConvert.js index 8f2fc6dc3..94dbb9b00 100644 --- a/src/jmapNew/theme/xian_02/planConvert.js +++ b/src/jmapNew/theme/xian_02/planConvert.js @@ -1,4 +1,31 @@ -import { createMartPoint, createSeriesModel, createMarkLineModels, hexColor, convertSheetToList, prefixTime } from '@/utils/runPlan'; +import { createMartPoint, createSeriesModel, createMarkLineModels, hexColor, convertSheetToList } from '@/utils/runPlan'; +const StationMap = { + YARD1: '潏河转换轨', + YARD2: '潏河转换轨', + WQN: '韦曲南站', + HTC: '航天城站', + FQY: '凤栖原站', + SYZ: '三爻站', + HZX: '会展中心站', + WYJ: '纬一街站', + XZZ: '小寨站', + TYC: '体育场站', + NSM: '南稍门站', + YNM: '永宁门站', + ZLZ: '钟楼站', + BDJ: '北大街站', + AYM: '安远门站', + LSY: '龙首原站', + DMG: '大明宫西站', + STS: '市图书馆站', + FCW: '凤城五路站', + XZX: '行政中心站', + YDG: '运动公园站', + BYZ: '北苑站', + BKZ: '北客站', + NDOP1: '渭河转换轨', + NDOP2: '渭河转换轨' +}; export default { /** 边缘高度*/ @@ -9,107 +36,101 @@ export default { /** 偏移时间*/ TranslationTime: 60 * 60 * 2, - /** excel解析配置*/ ExcelConfig: { beginRow: 1, beginCol: 0, - fieldNum: 10, - sepField: '行车间隔', - trainId: 'TrainID', - columns: ['折返线', 'TrainID', '行车间隔'] + fieldNum: 8, + sepField: 'Trip', + idField: 'Train ID', + columns: { + 'LOC': { key: 'stationName', formatter: (val) => { return StationMap[val]; } }, + 'Arrive': { key: 'arriveTime', formatter: (val) => { return val; } }, + 'Depart': { key: 'departureTime', formatter: (val) => { return val; } } + } + }, /** 解析exal数据转换为Json后台数据*/ importData(Sheet, JsonData) { var dataList = convertSheetToList(Sheet, true); - if (dataList && dataList.length) { - if (dataList && dataList.length && dataList[1] && dataList[0]) { - // const tIndex = dataList.findIndex(it => { return it[0]; }); // 设置不用过滤行数 - const tIndex = 9; // 设置不用过滤行数 + var needList = Object.keys(this.ExcelConfig.columns); - /** 解析二维数组为json对象*/ - const reg3 = /^(\d+:\d+:\d+|)/; // 06:12:00 - dataList.forEach((elem, i) => { - var begin = -1; - /** 跳过名称所在的行*/ - if (i != tIndex && elem && elem.length > 0) { - let flag = false; - let count = 0; - let param = { begTime: '', endTime: '' }; - if (i > tIndex) { elem.reverse(); } - elem.forEach((item, j) => { - /** 过滤空值*/ - if (item) { - let title = ''; - var value = `${item}`.trim(); - if (i > tIndex) { // 上行线 - title = `${dataList[tIndex][dataList[tIndex].length - j - 1]}`.replace(/\s*/g, ''); - if (title == 'undefined') { - title = `${dataList[tIndex][dataList[tIndex].length - j - 2]}`.replace(/\s*/g, ''); - } - } else { // 下行线 - title = `${dataList[tIndex][j]}`.replace(/\s*/g, ''); - if (title == 'undefined') { - title = `${dataList[tIndex][j - 1]}`.replace(/\s*/g, ''); + if (dataList && dataList.length) { + for (var colIndex = this.ExcelConfig.beginCol; colIndex < dataList.length; colIndex += this.ExcelConfig.fieldNum + 1) { + var isContinue = true; + var tripObj = { code: '', trainId: '', arrivalList: [] }; + + for (var rowIndex = this.ExcelConfig.beginRow; isContinue; rowIndex += 1) { + isContinue = false; + + var stationObj = {}; + for (var index = 0; index < this.ExcelConfig.fieldNum; index += 1) { + if (dataList[colIndex + index]) { + var title = dataList[colIndex + index][0]; + var value = dataList[colIndex + index][rowIndex]; + + if (title && value) { + // 数据列解析 + isContinue = true; + var titleStr = `${title}`.trim(); + var valueStr = `${value}`.trim(); + + if (titleStr == this.ExcelConfig.sepField) { + if (tripObj.code) { + const length = tripObj.arrivalList.length; + if (length == 1) { + tripObj.arrivalList[0]['flag'] = true; + } + if (valueStr.includes('FT') || valueStr.includes('LT')) { + valueStr = valueStr.replace('FT', '').replace('LT', ''); + console.log(valueStr); + } + valueStr = tripObj.trainId + valueStr; + delete tripObj.trainId; + JsonData.push(tripObj); + tripObj = { code: valueStr, arrivalList: [] }; + } else { + if (valueStr.includes('FT') || valueStr.includes('LT')) { + valueStr = valueStr.replace('FT', '').replace('LT', ''); + } + valueStr = tripObj.trainId + valueStr; + delete tripObj.trainId; + tripObj.code = valueStr; } + } else if (titleStr === this.ExcelConfig.idField) { + tripObj.trainId = valueStr; } - /** 匹配到开始位置或者结束位置*/ - if (title == this.ExcelConfig.trainId) { - if (begin == -1) { - flag = true; - begin = value; // 设置初始索引 - JsonData.push({ - code: value, - destinationCode: '', - arrivalList: [] - }); - } else if (flag) { - begin = -1; // 清空初始索引 - JsonData[JsonData.length - 1].destinationCode = value; - flag = false; - } - } else if (begin !== -1) { - /** 匹配到中间位置*/ - var stationName = title.replace(/\s/, ''); - if (this.ExcelConfig.columns.indexOf(stationName) == -1 && reg3.test(value)) { - let need = false; - if (value.split(':')[0] == '24') { // 24:XX:XX 类似这种数据 变24为00 - const arr = value.split(':'); - arr[0] = '00'; - value = arr.join(':'); - } - if (count == 1) { - count = 0; - param.endTime = value; - } - if (count == 0) { - count = 1; - param.begTime = param.begTime || value; - } - - if (param.begTime && param.endTime) { - need = true; - } - - /** 添加json数据*/ - if (need) { // 储存非空 数据 - var stationObj = { - stationName: stationName - }; - stationObj['arriveTime'] = prefixTime(param.begTime); - stationObj['departureTime'] = prefixTime(param.endTime); - JsonData[JsonData.length - 1].arrivalList.push(stationObj); - param = { begTime: '', endTime: '' }; - count = 0; - } - } + // 取需要的字段 + if (needList.findIndex(elem => { return elem == titleStr; }) >= 0) { + stationObj[this.ExcelConfig.columns[titleStr].key] = this.ExcelConfig.columns[titleStr].formatter(valueStr); } } - }); + } } - }); + + // 添加字段值 + if (Object.keys(stationObj).length) { + if (!stationObj.departureTime) { + stationObj.departureTime = stationObj.arriveTime; + } else if (!stationObj.arriveTime) { + stationObj.arriveTime = stationObj.departureTime; + } + if (stationObj.stationName) { + tripObj.arrivalList.push(stationObj); + } + } + } + + // 添加最后那条没有车次的记录 + if (tripObj.code) { + const length = tripObj.arrivalList.length; + if (length) { + tripObj.arrivalList[length - 1]['flag'] = true; + } + JsonData.push(tripObj); + } } } return JsonData; @@ -118,10 +139,12 @@ export default { /** 将后台数据解析成图表*/ convertDataToModels(data, stations, kmRangeCoordMap, lineStyle) { var models = []; + if (data && data.serviceNumberDataList && data.serviceNumberDataList.length) { /** 按服务遍历数据*/ data.serviceNumberDataList.forEach((service) => { /** 按车次遍历数据*/ + var isBackup = true; var opt = { name: '', markPointData: [], data: [] }; if (service.tripNumberDataList && service.tripNumberDataList.length) { service.tripNumberDataList.forEach((train, j) => { @@ -161,8 +184,9 @@ export default { lastPoint = train.stationTimeList[idx - 1]; nextPoint = service.tripNumberDataList[j + 1].stationTimeList[1]; num = this.computedReentryNumber(train.tripNumber); - opt.data.push([lastPoint.secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, lastPoint, train.directionCode, true, num), lastPoint.stationCode]); - opt.data.push([nextPoint.secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, nextPoint, train.directionCode, true, num), nextPoint.stationCode]); + const aa = `${train.directionCode}${train.tripNumber}`; + opt.data.push([lastPoint.secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, lastPoint, train.directionCode, true, num), lastPoint.stationCode, aa]); + opt.data.push([nextPoint.secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, nextPoint, train.directionCode, true, num), nextPoint.stationCode, aa]); } /** 如果是备用车,按车次添加线*/ @@ -175,10 +199,12 @@ export default { opt = { name: '', markPointData: [], data: [] }; } } + + isBackup = train.backup; }); // 不是备用车,按服务添加线 - if (!service.backup) { + if (!isBackup) { /** 创建一条完成的服务数据*/ var model = createSeriesModel(opt, Object.assign({ color: hexColor.toCreate() }, lineStyle)); if (model) { @@ -201,6 +227,7 @@ export default { if (!runPlanData[elem.serviceNumber]) { /** 创建一个新服务号标记*/ runPlanData[elem.serviceNumber] = {}; + /** 不存在此服务号,则需要创建一条新的line*/ series.push(createSeriesModel({ zlevel: 1, diff --git a/src/jmapNew/theme/xian_02/planSchedule/index.vue b/src/jmapNew/theme/xian_02/planSchedule/index.vue deleted file mode 100644 index 332007bb7..000000000 --- a/src/jmapNew/theme/xian_02/planSchedule/index.vue +++ /dev/null @@ -1,403 +0,0 @@ - - - - - diff --git a/src/jmapNew/theme/xian_02/planSchedule/menuBar.vue b/src/jmapNew/theme/xian_02/planSchedule/menuBar.vue deleted file mode 100644 index e64ae3063..000000000 --- a/src/jmapNew/theme/xian_02/planSchedule/menuBar.vue +++ /dev/null @@ -1,514 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/xian_02/planSchedule/menuTool.vue b/src/jmapNew/theme/xian_02/planSchedule/menuTool.vue deleted file mode 100644 index d3ecde016..000000000 --- a/src/jmapNew/theme/xian_02/planSchedule/menuTool.vue +++ /dev/null @@ -1,172 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/jmapNew/theme/xian_02/planSchedule/schedule.vue b/src/jmapNew/theme/xian_02/planSchedule/schedule.vue deleted file mode 100644 index 82a3c9ed3..000000000 --- a/src/jmapNew/theme/xian_02/planSchedule/schedule.vue +++ /dev/null @@ -1,468 +0,0 @@ - - - - diff --git a/src/jmapNew/theme/xian_02/planSchedule/statusBar.vue b/src/jmapNew/theme/xian_02/planSchedule/statusBar.vue deleted file mode 100644 index 4c1418fb3..000000000 --- a/src/jmapNew/theme/xian_02/planSchedule/statusBar.vue +++ /dev/null @@ -1,107 +0,0 @@ - - - - - diff --git a/src/jmapNew/theme/xian_02/planSchedule/titleBar.vue b/src/jmapNew/theme/xian_02/planSchedule/titleBar.vue deleted file mode 100644 index 689c3486a..000000000 --- a/src/jmapNew/theme/xian_02/planSchedule/titleBar.vue +++ /dev/null @@ -1,75 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/jmapNew/utils/parser.js b/src/jmapNew/utils/parser.js index 82727b6fc..6c6484ffd 100644 --- a/src/jmapNew/utils/parser.js +++ b/src/jmapNew/utils/parser.js @@ -179,6 +179,21 @@ export function parser(data, skinCode, showConfig) { case 'Axle': mapDevice[elem.code] = createDevice(deviceType.Axle, elem, propConvert, showConfig); break; + case 'ModeStatusGroup': + mapDevice[elem.code] = createDevice(deviceType.ModeStatusGroup, elem, propConvert, showConfig); + break; + case 'LampFilament': + mapDevice[elem.code] = createDevice(deviceType.LampFilament, elem, propConvert, showConfig); + break; + case 'ReturnModeGroup': + mapDevice[elem.code] = createDevice(deviceType.ReturnModeGroup, elem, propConvert, showConfig); + break; + case 'ControlSwitch': + mapDevice[elem.code] = createDevice(deviceType.ControlSwitch, elem, propConvert, showConfig); + break; + case 'SwitchFault': + mapDevice[elem.code] = createDevice(deviceType.SwitchFault, elem, propConvert, showConfig); + break; } }, this); @@ -298,6 +313,7 @@ export function updateMapData(state, model) { case deviceType.ControlSwitch: updateForList(model, state, 'indicatorLightList'); break; case deviceType.Axle: updateForList(model, state, 'indicatorLightList'); break; case deviceType.SplitStation: updateForList(model, state, 'splitStationList'); break; + case deviceType.SwitchFault: updateForList(model, state, 'indicatorLightList'); break; } } } diff --git a/src/permission.js b/src/permission.js index 3d3c9b496..949a5a037 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,6 +3,7 @@ import store from '@/store/index_APP_TARGET'; import router from './router/index_APP_TARGET'; import {PermissionParam} from '@/scripts/ProjectConfig'; import NProgress from 'nprogress'; +import 'nprogress/nprogress.css'; import { admin} from './router/index_APP_TARGET'; import { getToken, removeToken} from '@/utils/auth'; import { LoginParams } from '@/utils/login'; diff --git a/src/scripts/ConstConfig.js b/src/scripts/ConstConfig.js index 7070ddc21..9cf863d59 100644 --- a/src/scripts/ConstConfig.js +++ b/src/scripts/ConstConfig.js @@ -89,7 +89,7 @@ export default { ], roleTypeNew:[ {label: '管理员', value: 'ADMIN', enLabel: 'Admin '}, - // {label: '教员', value: 'Instructor', enLabel: 'Instructor '}, + {label: '教员', value: 'Instructor', enLabel: 'Instructor '}, {label: '行调', value: 'DISPATCHER', enLabel: 'Dispatcher '}, {label: '行值', value: 'STATION_SUPERVISOR', enLabel: 'Attendant '}, {label: '观众', value: 'AUDIENCE', enLabel: 'Audience '}, diff --git a/src/scripts/GlobalPlugin.js b/src/scripts/GlobalPlugin.js index d767ae38c..0a466d53e 100644 --- a/src/scripts/GlobalPlugin.js +++ b/src/scripts/GlobalPlugin.js @@ -100,3 +100,17 @@ Vue.prototype.$convertList = function(FromList, ToList, checktypeFunction) { }); } }; + +// 对象2 复制到 对象1上 并保留对象1原有字段 +Vue.prototype.$copyClone = function(obj1, obj2 = {}) { + for (const keys in obj1) { + if (obj1.hasOwnProperty(keys)) { + if (obj1[keys] && typeof obj1[keys] === 'object') { // 如果值是对象,就递归一下 + obj1[keys] = Vue.prototype.$copyClone(obj1[keys], obj2[keys]); + } else { + obj1[keys] = obj2[keys]; + } + } + } + return obj1; +}; diff --git a/src/store/modules/socket.js b/src/store/modules/socket.js index e3e4ad1d6..3673c1088 100644 --- a/src/store/modules/socket.js +++ b/src/store/modules/socket.js @@ -81,6 +81,9 @@ function handle(state, data) { case 'Be_Logged_Out': // 重复登录被登出 state.beLogoutCount++; break; + case 'Simulation_Run_Plan_Reload': // 运行图变更 + state.runPlanReloadCount++; + break; case 'Simulation_Control_Pause': // 暂停中 store.dispatch('scriptRecord/updateSimulationPause', msg); break; @@ -233,7 +236,8 @@ const socket = { tipOperateCount: 0, // 任务结束提示消息 realDeviceInfo: 0, // 真实设备信息 - beLogoutCount: 0 // 被登出 + beLogoutCount: 0, // 被登出 + runPlanReloadCount: 0 // 仿真运行图变更 }, getters: { diff --git a/src/utils/index.js b/src/utils/index.js index ce0764f13..056af38cf 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -160,16 +160,3 @@ export function deepAssign(obj, item) { return Object.assign(obj, target); } -// 对象2 复制到 对象1上 并保留对象1原有字段 -export function copyClone(obj1, obj2 = {}) { - for (const keys in obj1) { - if (obj1.hasOwnProperty(keys)) { - if (obj1[keys] && typeof obj1[keys] === 'object') { // 如果值是对象,就递归一下 - obj1[keys] = copyClone(obj1[keys], obj2[keys]); - } else { - obj1[keys] = obj2[keys]; - } - } - } - return obj1; -} diff --git a/src/utils/request.js b/src/utils/request.js index b31cf8b33..cbe2c8ea3 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -6,6 +6,7 @@ import { MessageBox } from 'element-ui'; import { getToken } from '@/utils/auth'; import { getBaseUrl } from '@/utils/baseUrl'; import { EventBus } from '@/scripts/event-bus'; +import Vue from 'vue'; const BASE_API = getBaseUrl(); @@ -61,8 +62,17 @@ service.interceptors.response.use( }); }); }); + // } else if (res.code == 500) { + // Vue.prototype.$alert('服务异常: ' + res.message + '', '请求结果', { + // confirmButtonText: '确定', + // dangerouslyUseHTMLString: true, + // closeOnClickModal: false + // }).then(() => { + // return Promise.reject(res); + // }); + // } else { + return Promise.reject(res); } - return Promise.reject(res); } else { return response.data; } diff --git a/src/views/components/editTable/index.vue b/src/views/components/editTable/index.vue index 776b7a351..b0783ffde 100644 --- a/src/views/components/editTable/index.vue +++ b/src/views/components/editTable/index.vue @@ -2,7 +2,7 @@
export default { - props: { - maxHeight: { - type: Number, - default() { - return 400; - } - }, - height: { - type: Number, - default() { - return 400; - } - }, - size: { - type: String, - default() { - return 'mini'; - } - }, - border: { - type: Boolean - }, - stripe: { - type: Boolean - }, - tableData: { - type: Array, - default() { - return []; - } - }, - tableForm: { - type: Object, - required: true - }, - rowStyle: { - type: Function, - default() { - return null; - } - } - }, - data() { - return { - scope: null, - labelWidth: '120' - }; - }, - methods: { - obtainOptions(column) { - return column.options(); - }, - checkFieldType(field, type) { - return field == type; - }, - formatText(column, row) { - return column.format ? column.format(row) : row[column.prop]; - }, - handleClick(action, scope) { - this.handleBlur(this.scope); - action.handleClick(scope.$index, scope.row); - }, - handleFocus(scope) { - this.handleBlur(this.scope); - this.$set(this.tableData[scope.$index], 'editing', true); - this.scope = scope; - }, - handleBlur(scope) { - if (scope) { - this.$set(this.tableData[scope.$index], 'editing', false); - } - } - } + props: { + maxHeight: { + type: Number, + default() { + return 400; + } + }, + height: { + type: Number, + default() { + return 400; + } + }, + size: { + type: String, + default() { + return 'mini'; + } + }, + border: { + type: Boolean + }, + stripe: { + type: Boolean + }, + tableData: { + type: Array, + default() { + return []; + } + }, + tableForm: { + type: Object, + required: true + }, + rowStyle: { + type: Function, + default() { + return null; + } + } + }, + data() { + return { + scope: null, + labelWidth: '120' + }; + }, + methods: { + obtainOptions(column) { + return column.options(); + }, + checkFieldType(field, type) { + return field == type; + }, + formatText(column, row) { + return column.format ? column.format(row) : row[column.prop]; + }, + handleClick(action, scope) { + this.handleBlur(this.scope); + action.handleClick(scope.$index, scope.row); + }, + handleFocus(scope) { + this.handleBlur(this.scope); + this.$set(this.tableData[scope.$index], 'editing', true); + this.scope = scope; + }, + handleBlur(scope) { + if (scope) { + this.$set(this.tableData[scope.$index], 'editing', false); + } + } + } }; diff --git a/src/views/newMap/jointTrainingNew/chatSetting.vue b/src/views/newMap/jointTrainingNew/chatSetting.vue new file mode 100644 index 000000000..90ac70cd6 --- /dev/null +++ b/src/views/newMap/jointTrainingNew/chatSetting.vue @@ -0,0 +1,121 @@ + + + + diff --git a/src/views/newMap/jointTrainingNew/index.vue b/src/views/newMap/jointTrainingNew/index.vue index ff903836b..63092118f 100644 --- a/src/views/newMap/jointTrainingNew/index.vue +++ b/src/views/newMap/jointTrainingNew/index.vue @@ -85,7 +85,7 @@ export default { panelShow: true, ibpPart: '', showStation: '', - stationList: '', + stationList: [], showSelectStation: false, mapViewLoadedOver: false }; diff --git a/src/views/newMap/jointTrainingNew/menuDemon.vue b/src/views/newMap/jointTrainingNew/menuDemon.vue index 0ea4a114c..1c21f0724 100644 --- a/src/views/newMap/jointTrainingNew/menuDemon.vue +++ b/src/views/newMap/jointTrainingNew/menuDemon.vue @@ -1,5 +1,63 @@ - {{ $t('global.back') }} + {{ $t('global.back') }}
@@ -19,6 +77,9 @@ + diff --git a/src/views/newMap/newMapdraft/dataRelation/dwellTimeOperate/dwellTime.vue b/src/views/newMap/newMapdraft/dataRelation/dwellTimeOperate/dwellTime.vue new file mode 100644 index 000000000..59d643ec4 --- /dev/null +++ b/src/views/newMap/newMapdraft/dataRelation/dwellTimeOperate/dwellTime.vue @@ -0,0 +1,265 @@ + + + diff --git a/src/views/newMap/newMapdraft/dataRelation/dwellTimeOperate/index.vue b/src/views/newMap/newMapdraft/dataRelation/dwellTimeOperate/index.vue new file mode 100644 index 000000000..f83cbd2e2 --- /dev/null +++ b/src/views/newMap/newMapdraft/dataRelation/dwellTimeOperate/index.vue @@ -0,0 +1,87 @@ + + diff --git a/src/views/newMap/newMapdraft/dataRelation/flankProtectOperate/route.vue b/src/views/newMap/newMapdraft/dataRelation/flankProtectOperate/route.vue index 195e931cb..cd0e98369 100644 --- a/src/views/newMap/newMapdraft/dataRelation/flankProtectOperate/route.vue +++ b/src/views/newMap/newMapdraft/dataRelation/flankProtectOperate/route.vue @@ -172,7 +172,6 @@ import { mapGetters } from 'vuex'; import { setUID } from '@/jmapNew/utils/Uid'; import { getFlankProtectionList, postFlankProtection, putFlankProtection } from '@/api/jmap/mapdraft'; -import { copyClone } from '@/utils/index'; export default { name: 'RouteOperation', @@ -269,8 +268,8 @@ export default { }, routeData(val, old) { if (val) { - this.addModel = copyClone(this.addModel, val); - console.log(this.addModel, 'addModel'); + // console.log(this, this.$copyClone); + this.addModel = this.$copyClone(this.addModel, val); this.editShow = true; } } diff --git a/src/views/newMap/newMapdraft/dataRelation/index.vue b/src/views/newMap/newMapdraft/dataRelation/index.vue index 5eb8a5a9a..1c579bfc0 100644 --- a/src/views/newMap/newMapdraft/dataRelation/index.vue +++ b/src/views/newMap/newMapdraft/dataRelation/index.vue @@ -69,6 +69,14 @@ @setCenter="setCenter" /> + + +
@@ -84,6 +92,7 @@ import RunLevelOperate from './runLeveloperate/index'; import SignalOperate from './signaloperate/index'; import TurnedOperate from './turnedoperate/index'; import FlankProtectOperate from './flankProtectOperate/index'; +import DwellTimeOperate from './dwellTimeOperate/index'; export default { name: 'DataRelation', @@ -95,7 +104,8 @@ export default { FlankProtectOperate, // PathOperate, SignalOperate, - TurnedOperate + TurnedOperate, + DwellTimeOperate }, props: { selected: { @@ -120,7 +130,8 @@ export default { signal: 'signalOperate', runLevel: 'runLevelOperate', turned: 'turnedOperate', - flankProtect: 'flankProtectOperate' + flankProtect: 'flankProtectOperate', + dwellTime: 'dwellTimeOperate' } }; }, @@ -131,7 +142,7 @@ export default { this.$emit('showMap'); }, initLoad() { - if (this.enabledTab === 'route') { + if (this.enabledTab === 'route' || this.enabledTab == 'runLevel') { this.$refs[this.enabledTabMenu[this.enabledTab]].initLoad(); } }, @@ -153,13 +164,14 @@ export default { drawMap() { this.$refs.routeOperate.batchSectionListFocus(false); this.$refs.signalOperate.batchSectionListFocus(false); + this.$refs.runLevelOperate.batchSectionListFocus(false); this.$emit('selectView', 'draft'); }, tabBeforeLeave(activeName, oldActiveName) { - if (activeName === 'route' || activeName === 'signal') { + if (activeName === 'route' || activeName === 'signal' || activeName == 'runLevel') { this.$refs[this.enabledTabMenu[activeName]].batchSectionListFocus(true); } - if (oldActiveName === 'route' || oldActiveName === 'signal') { + if (oldActiveName === 'route' || oldActiveName === 'signal' || activeName == 'runLevel') { this.$refs[this.enabledTabMenu[oldActiveName]].batchSectionListFocus(false); } } diff --git a/src/views/newMap/newMapdraft/dataRelation/routeoperate/hostileData.vue b/src/views/newMap/newMapdraft/dataRelation/routeoperate/hostileData.vue index 50b0be100..e7a809045 100644 --- a/src/views/newMap/newMapdraft/dataRelation/routeoperate/hostileData.vue +++ b/src/views/newMap/newMapdraft/dataRelation/routeoperate/hostileData.vue @@ -122,7 +122,7 @@ export default { } }, conflictingSignalList: { - type: Object, + type: Array, default() { return []; } diff --git a/src/views/newMap/newMapdraft/dataRelation/routeoperate/protect.vue b/src/views/newMap/newMapdraft/dataRelation/routeoperate/protect.vue index 1668fdf17..22ec3260a 100644 --- a/src/views/newMap/newMapdraft/dataRelation/routeoperate/protect.vue +++ b/src/views/newMap/newMapdraft/dataRelation/routeoperate/protect.vue @@ -1,6 +1,6 @@