diff --git a/src/api/jmap/map.js b/src/api/jmap/map.js index e84b54ff4..98f04ef19 100644 --- a/src/api/jmap/map.js +++ b/src/api/jmap/map.js @@ -157,3 +157,11 @@ export function copyMapAs(mapId, data) { data: data }); } + +/** 检测仿真数据是否存在错误 */ +export function simulationCheck(id) { + return request({ + url: `/api/map/${id}/simulationCheck`, + method: 'get' + }); +} diff --git a/src/i18n/langs/en/global.js b/src/i18n/langs/en/global.js index b5f000a8e..949386fa2 100644 --- a/src/i18n/langs/en/global.js +++ b/src/i18n/langs/en/global.js @@ -203,5 +203,6 @@ export default { enterPermissionNumInt:'number must interger', perpetual: 'perpetual', buyingTips: 'Function upgrade, stay tuned!', - permissionAllNum:'Total permissions' + permissionAllNum:'Total permissions', + set: 'Set' }; diff --git a/src/i18n/langs/en/map.js b/src/i18n/langs/en/map.js index 4d24182bb..3a1ef8796 100644 --- a/src/i18n/langs/en/map.js +++ b/src/i18n/langs/en/map.js @@ -574,5 +574,13 @@ export default { continueProtect: 'Continue protect', continueProtectList: 'Continue protect list', saveRoute: 'Save route', - updataRoute: 'Updata route' + updataRoute: 'Updata route', + leftStopPointOffsetFromStart: 'LeftStopPointOffsetFromStart:', + rightStopPointOffsetFromTerminal: 'RightStopPointOffsetFromTerminal:', + sectionRelationCheck: 'Section relation check', + batchSettings: 'Batch settings', + logicalSectionStartOffset: 'Logical section start offset:', + logicalSectionEndOffset: 'Logical section start offset:', + associateSwitchSection: 'Associate switch section:', + failedToSetParkingPointOffset: 'failed to set parking point offset: the actual length of the section is less than the offset distance.' }; diff --git a/src/i18n/langs/en/publish.js b/src/i18n/langs/en/publish.js index 6c7ae8565..6ddb19a1a 100644 --- a/src/i18n/langs/en/publish.js +++ b/src/i18n/langs/en/publish.js @@ -122,5 +122,7 @@ export default { whetherToCopyData: 'Whether to copy data', copy:'Copy', lineType:'Line Type', - belongsToMap: 'Belongs to map' + belongsToMap: 'Belongs to map', + simulationDataCheck: 'Simulation data check', + simulationDataIsValidated: 'The simulation data is validated' }; diff --git a/src/i18n/langs/en/tip.js b/src/i18n/langs/en/tip.js index 8cfe47b15..6ef6afe19 100644 --- a/src/i18n/langs/en/tip.js +++ b/src/i18n/langs/en/tip.js @@ -229,5 +229,6 @@ export default { updateRealDeviceConnectionSuccess: 'Update real device connection successfully!', updateRealDeviceConnectionFailed: 'Update real device connection failed!', createProjectDeviceSuccessfully: 'Create project device successfully!', - deviceCodeRepeatTip: 'The device code already exists, please modify the device code and created!' + deviceCodeRepeatTip: 'The device code already exists, please modify the device code and created!', + stopPointOffsetTip: 'Set block stop offset in bulk successfully!' }; diff --git a/src/i18n/langs/zh/global.js b/src/i18n/langs/zh/global.js index 14c9bd651..893759f07 100644 --- a/src/i18n/langs/zh/global.js +++ b/src/i18n/langs/zh/global.js @@ -203,5 +203,6 @@ export default { enterPermissionNumInt:'权限数量需为整数', perpetual: '永久', buyingTips: '功能升级中, 敬请期待!', - permissionAllNum:'权限总数' + permissionAllNum:'权限总数', + set: '设 置' }; diff --git a/src/i18n/langs/zh/map.js b/src/i18n/langs/zh/map.js index 9588c0ff5..c3b2f2320 100644 --- a/src/i18n/langs/zh/map.js +++ b/src/i18n/langs/zh/map.js @@ -568,5 +568,13 @@ export default { continueProtect: '延续保护', continueProtectList: '延续保护列表', saveRoute: '保存进路', - updataRoute: '修改进路' + updataRoute: '修改进路', + leftStopPointOffsetFromStart: '左向停车点距始端偏移距离:', + rightStopPointOffsetFromTerminal: '右向停车点距终端偏移距离:', + sectionRelationCheck: '区段关系校验', + batchSettings: '批量设置', + logicalSectionStartOffset: '逻辑区段起点偏移:', + logicalSectionEndOffset: '逻辑区段终点偏移:', + associateSwitchSection: '关联道岔区段:', + failedToSetParkingPointOffset: '设置停车点偏移量失败:区段实际长度小于偏移距离。' }; diff --git a/src/i18n/langs/zh/publish.js b/src/i18n/langs/zh/publish.js index dcb7b9dc9..bc30057f9 100644 --- a/src/i18n/langs/zh/publish.js +++ b/src/i18n/langs/zh/publish.js @@ -126,5 +126,7 @@ export default { whetherToCopyData: '是否复制数据', copy:'复制', lineType:'线路类型', - belongsToMap: '所属地图' + belongsToMap: '所属地图', + simulationDataCheck: '仿真数据校验', + simulationDataIsValidated: '仿真数据校验通过!' }; diff --git a/src/i18n/langs/zh/tip.js b/src/i18n/langs/zh/tip.js index 104447222..d3fd570e0 100644 --- a/src/i18n/langs/zh/tip.js +++ b/src/i18n/langs/zh/tip.js @@ -229,6 +229,7 @@ export default { updateRealDeviceConnectionSuccess: '更新真实设备连接关系成功!', updateRealDeviceConnectionFailed: '更新真实设备连接关系失败!', createProjectDeviceSuccessfully: '创建项目设备成功!', - deviceCodeRepeatTip: '已存在该设备编号,请修改设备编号后创建!' + deviceCodeRepeatTip: '已存在该设备编号,请修改设备编号后创建!', + stopPointOffsetTip: '批量设置区段停车点偏移量成功!' }; diff --git a/src/iscs/iscs.js b/src/iscs/iscs.js index 29e6831c9..163c2a6f9 100644 --- a/src/iscs/iscs.js +++ b/src/iscs/iscs.js @@ -6,6 +6,7 @@ import Painter from './painter'; import deviceType from './constant/deviceType'; import {calculateDCenter, createBoundingRect, deviceFactory} from './utils/parser'; import { updateIscsData } from './utils/parser'; +import store from '@/store'; const renderer = 'canvas'; const devicePixelRatio = 1; @@ -120,7 +121,7 @@ class Iscs { (list || []).forEach(elem => { const code = elem.code; const type = elem._type; - updateIscsData(elem); + updateIscsData(store.state.iscs, elem); const oDevice = this.iscsDevice[code] || deviceFactory(type, elem); const nDevice = deviceFactory(type, Object.assign(oDevice.model || {}, elem)); delete this.iscsDevice[code]; diff --git a/src/iscs/shape/Vidicon.js b/src/iscs/shape/Vidicon.js index f90edb516..8baad4179 100644 --- a/src/iscs/shape/Vidicon.js +++ b/src/iscs/shape/Vidicon.js @@ -13,7 +13,6 @@ export default class Vidicon extends Group { this.create(); } create() { - console.log(this.model); this.grouper = new Group({ id: this.model.code, position: [this.model.point.x, this.model.point.y] diff --git a/src/iscs/shape/bas/chiller.js b/src/iscs/shape/bas/chiller.js index 009ff7d84..163357065 100644 --- a/src/iscs/shape/bas/chiller.js +++ b/src/iscs/shape/bas/chiller.js @@ -31,7 +31,7 @@ export default class chiller extends Group { }, style: { stroke:this.model.color, - lineWidth:2 + lineWidth:1 } }); this.circle1 = new Circle({ @@ -81,7 +81,7 @@ export default class chiller extends Group { }, style: { stroke:this.model.color, - lineWidth:2 + lineWidth:1 } }); @@ -104,7 +104,7 @@ export default class chiller extends Group { }, style: { stroke:this.model.color, - lineWidth:2 + lineWidth:1 } }); @@ -127,7 +127,7 @@ export default class chiller extends Group { }, style: { stroke:this.model.color, - lineWidth:2 + lineWidth:1 } }); diff --git a/src/iscs/shape/bas/coolTower.js b/src/iscs/shape/bas/coolTower.js index e69de29bb..3e08913a7 100644 --- a/src/iscs/shape/bas/coolTower.js +++ b/src/iscs/shape/bas/coolTower.js @@ -0,0 +1,27 @@ +import Group from 'zrender/src/container/Group'; +import createPathSvg from '../components/pathsvg'; + +export default class coolTower extends Group { + constructor(device) { + super(); + this.model = device.model; + this.zlevel = device.model.zlevel; + this.z = device.model.z; + this._type = device.model._type; + this.code = device.model.code; + this.create(); + } + create() { + this.grouper = new Group({ + id: this.model.code, + position: [this.model.point.x, this.model.point.y] + }); + this.path = createPathSvg(this.model); + this.add(this.grouper); + this.grouper.add(this.path); + } + setModel(dx, dy) { + this.model.point.x += dx; + this.model.point.y += dy; + } +} diff --git a/src/iscs/shape/bas/frozenPump.js b/src/iscs/shape/bas/frozenPump.js index fdffe2fd0..8782850f0 100644 --- a/src/iscs/shape/bas/frozenPump.js +++ b/src/iscs/shape/bas/frozenPump.js @@ -26,7 +26,7 @@ export default class frozenPump extends Group { }, style: { stroke: this.model.color, - lineWidth:2 + lineWidth:1 } }); this.triangle = new Polygon({ diff --git a/src/iscs/shape/bas/jetFan.js b/src/iscs/shape/bas/jetFan.js index e69de29bb..464f59d90 100644 --- a/src/iscs/shape/bas/jetFan.js +++ b/src/iscs/shape/bas/jetFan.js @@ -0,0 +1,27 @@ +import Group from 'zrender/src/container/Group'; +import createPathSvg from '../components/pathsvg'; + +export default class jetFan extends Group { + constructor(device) { + super(); + this.model = device.model; + this.zlevel = device.model.zlevel; + this.z = device.model.z; + this._type = device.model._type; + this.code = device.model.code; + this.create(); + } + create() { + this.grouper = new Group({ + id: this.model.code, + position: [this.model.point.x, this.model.point.y] + }); + this.path = createPathSvg(this.model); + this.add(this.grouper); + this.grouper.add(this.path); + } + setModel(dx, dy) { + this.model.point.x += dx; + this.model.point.y += dy; + } +} diff --git a/src/iscs/shape/bas/orbitalVentilator.js b/src/iscs/shape/bas/orbitalVentilator.js index e69de29bb..9f5ba312b 100644 --- a/src/iscs/shape/bas/orbitalVentilator.js +++ b/src/iscs/shape/bas/orbitalVentilator.js @@ -0,0 +1,27 @@ +import Group from 'zrender/src/container/Group'; +import createPathSvg from '../components/pathsvg'; + +export default class orbitalVentilator extends Group { + constructor(device) { + super(); + this.model = device.model; + this.zlevel = device.model.zlevel; + this.z = device.model.z; + this._type = device.model._type; + this.code = device.model.code; + this.create(); + } + create() { + this.grouper = new Group({ + id: this.model.code, + position: [this.model.point.x, this.model.point.y] + }); + this.path = createPathSvg(this.model); + this.add(this.grouper); + this.grouper.add(this.path); + } + setModel(dx, dy) { + this.model.point.x += dx; + this.model.point.y += dy; + } +} diff --git a/src/iscs/shape/bas/tunnelFan.js b/src/iscs/shape/bas/tunnelFan.js index e69de29bb..c8f6c01aa 100644 --- a/src/iscs/shape/bas/tunnelFan.js +++ b/src/iscs/shape/bas/tunnelFan.js @@ -0,0 +1,27 @@ +import Group from 'zrender/src/container/Group'; +import createPathSvg from '../components/pathsvg'; + +export default class tunnelFan extends Group { + constructor(device) { + super(); + this.model = device.model; + this.zlevel = device.model.zlevel; + this.z = device.model.z; + this._type = device.model._type; + this.code = device.model.code; + this.create(); + } + create() { + this.grouper = new Group({ + id: this.model.code, + position: [this.model.point.x, this.model.point.y] + }); + this.path = createPathSvg(this.model); + this.add(this.grouper); + this.grouper.add(this.path); + } + setModel(dx, dy) { + this.model.point.x += dx; + this.model.point.y += dy; + } +} diff --git a/src/iscs/shape/components/pathsvg.js b/src/iscs/shape/components/pathsvg.js index b05d68d3b..59e344cc7 100644 --- a/src/iscs/shape/components/pathsvg.js +++ b/src/iscs/shape/components/pathsvg.js @@ -4,25 +4,41 @@ const map = { scale: [0.02, 0.02], path: 'M917.749663 10.405886C911.585184 3.624959 902.758306 0.937984 893.583268 0 431.820819 9.342974 145.285208 116.940772 41.943153 319.811507-35.676029 472.166287 16.281719 643.911525 70.123626 722.186067c6.225919 9.072638 16.609276 14.909436 27.627513 13.783036a31.850488 31.850488 0 0 0 26.316794-16.261116c63.201265-112.455653 187.985875-295.958457 368.517032-386.613155-68.669424 89.593834-177.418197 237.273031-282.726332 404.778911-10.301438 14.069757-87.388139 125.62429-48.435189 262.901697A31.913976 31.913976 0 0 0 192.041037 1023.999754a31.014905 31.014905 0 0 0 8.765438-1.228799 32.00204 32.00204 0 0 0 21.893114-39.546871c-22.958074-80.855021 6.901758-152.575963 25.661434-186.695635 128.880609 54.415347 249.40538 53.637107 350.085036-2.785279 172.380119-96.645097 282.562492-351.743916 327.454642-758.210379a32.255992 32.255992 0 0 0-8.151038-25.126905zM567.377907 737.873743c-81.51038 45.690869-177.029078 46.940149-284.385212 3.788799 15.421436-24.104954 30.822393-47.513589 46.141429-70.533103l219.197387-31.436793a32.01228 32.01228 0 0 0-9.011198-63.385584l-161.710041 23.203834c13.250557-19.169275 26.173434-37.580791 38.871031-55.521267a30.595065 30.595065 0 0 0 6.184958-0.614399l159.272922-31.989753a32.028664 32.028664 0 0 0 24.985594-37.662711 31.651832 31.651832 0 0 0-37.498871-25.108474l-98.488296 19.783676c81.96094-111.742949 141.066206-183.898068 142.069726-185.139156a32.11468 32.11468 0 0 0 2.375679-37.531639 31.743992 31.743992 0 0 0-34.815991-13.844477c-85.503979 22.001659-161.484761 63.657969-227.860426 114.608101v-58.490866a31.856632 31.856632 0 1 0-63.713264 0v112.672741c-22.630395 21.202939-43.868149 43.231222-63.713265 65.574896v-101.715943a31.846392 31.846392 0 1 0-63.692785 0v179.458004c0 0.24576 0.12288 0.43008 0.12288 0.67584-24.289274 32.665592-45.711349 64.614384-63.897585 94.064618-28.344313-67.071984-54.251507-181.637076 0.83968-289.761211C186.593358 176.322518 448.921615 78.374893 858.337197 64.968688c-44.646389 363.374505-142.479326 589.653874-290.95929 672.905055z m339.353518-145.653725c-10.874877-21.626875-45.957109-21.626875-56.852466 0-19.189755 38.256631-114.872292 232.120264-114.872293 294.625209 0 75.612142 64.286705 137.154527 143.298526 137.154527s143.319006-61.542385 143.319006-137.154527c0-62.504945-95.703017-256.368578-114.892773-294.625209z m-28.426233 367.574952c-43.909109 0-79.605741-32.727032-79.605741-72.949743 0-27.770873 40.44799-123.96541 79.605741-207.09371 39.157751 83.1283 79.626221 179.322837 79.626221 207.09371 0 40.22271-35.696631 72.949742-79.626221 72.949743z' }, - brakeMachine: { + BrakeMachine: { width: 159, path: 'M160,101H1V82l46.013-.289c8.016-5.064,38.681-23.717,63.8-29.188C85.244,47.006,53.8,27.621,46.55,23H1V4L160,3V23H141.512c1.7,4.784,3.5,23.827-9.675,29.436,12.815,5.166,11.856,22.742,10.254,28.676L160,81v20ZM22,87H10v9l12,0.083V87ZM22,9H10v9l12,0.083V9ZM154,9H29v9.132L154,19V9ZM132.222,23H58.7c9.442,5.485,55.744,31.358,70.3,20C134.869,38.421,132.945,26.523,132.222,23Zm-2.953,39c-14.3-11.122-59.136,13.454-69.891,19.633l73.284-.461C133.452,76.9,134.758,66.27,129.269,62ZM154,87H29v9.132L154,97V87Z' }, - ticketMachine: { + TicketMachine: { width: 107, path: 'M102,42H96V24h6V42ZM83,27h6v9H83V27ZM22,38H16V29h6v9Zm7-4V27H44V43H26V36h5v2h8V32H34v2H29Zm32,0V27H76V43H58V36h5v2h8V32H66v2H61Zm24,6V50H14V42h4v4H81V40h4ZM95,61H89V45h6V61ZM85,21H25v6H19V16H91v8H85V21ZM12,60V52H85v8H81V56H16v4H12Zm98.509,65L91,138.919V140H4V63h6v3h8V61h5v5h8V61h5v5h5V61h5v5H57V61h5v5h7V58h5v8h4V63h5v8H10v2H85V63h6v68.548l14-9.988V9H20.251l-0.659,1H102V21H96V14H17V13.935L16.957,14H17V28H11V15.089L9.644,14.2,16,4.547V3h1.019l0.327-.5L18.1,3H111V125h-0.491ZM85,78H10v56H85V78ZM31,95l8,23H33l-1.826-6H25.826L24,118H18l8-23h5Zm-1.044,13L28.5,103.214,27.044,108h2.913Zm12.9-14L46.5,108.786,50.143,94H55l-6.476,23H44.476L38,94h4.857ZM60,95h4l4,13.333L72,95h5l2,22H75l-1.3-14.326L70,115H66l-3.7-12.326L61,117H57l2-22h1ZM10,59H4V31h6V59Z' }, - semiAutomaticTicketMachine: { + SemiAutomaticTicketMachine: { width: 107, path: 'M169,104h-6V86h6v18ZM150,89h6v9h-6V89ZM89,100H83V91h6v9Zm7-4V89h15v16H93V98h5v2h8V94h-5v2H96Zm32,0V89h15v16H125V98h5v2h8V94h-5v2h-5Zm24,6v10H81v-8h4v4h63v-6h4Zm10,21h-6V107h6v16ZM152,83H92v6H86V78h72v8h-6V83ZM79,122v-8h73v8h-4v-4H83v4H79Zm98.509,65L158,200.919V202H71V125h6v3h8v-5h5v5h8v-5h5v5h5v-5h5v5h11v-5h5v5h7v-8h5v8h4v-3h5v8H77v2h75V125h6v68.548l14-9.988V71H87.251l-0.659,1H169V83h-6V76H84V75.935L83.957,76H84V90H78V77.089L76.644,76.2,83,66.547V65h1.019l0.327-.5L85.1,65H178V187h-0.491ZM152,140H77v56h75V140ZM98,164.882c-0.086,2.392-3.312,3.289-6.116,3.616a17.317,17.317,0,0,0-4.1.165,28.262,28.262,0,0,0,4.1-.165c3.22,0.281,6.956,1.758,5.638,7.378C96.7,179.378,85,178.968,85,178.968V158.359S98.327,155.743,98,164.882ZM88,176.176s6.134,0.926,6-2.823c-0.126-3.527-6-2.824-6-2.824v5.647Zm0-9.411s5.2,0.959,6-1.883c1.046-3.717-6-3.764-6-3.764v5.647ZM109.5,158c4.694,0,8.5,4.925,8.5,11s-3.806,11-8.5,11-8.5-4.925-8.5-11S104.806,158,109.5,158ZM109,176c3.3,0.056,5.091-3.366,5-8-0.076-3.884-1.747-5.728-4-6s-4.973,2.36-5,7C104.981,172.375,105.106,175.934,109,176Zm14-18h4l4,13.333L135,158h5l2,22h-4l-1.3-14.326L133,178h-4l-3.7-12.326L124,180h-4l2-22h1ZM77,121H71V93h6v28Z' }, - airConditioner: { + AirConditioner: { width: 147, path: 'M3,77V2L150,3V78ZM24,14H17V65h7V14Zm7-8H28v4h3V6Zm0,8H28V65h3V14ZM147,6H35v4h8V68l-8,.06V72H31V68.09l-3,.022V72H24V68.142l-11,.082V10H24V6H6V74H147V6ZM35,14V65h5V14H35ZM76,68l-30,.224V10H76V68ZM59,56H52.625A8.285,8.285,0,0,0,59,60.912V56Zm0-3V45.225c-3.36.708-7.185,3.154-7,7.775h7Zm4,0h6c0-2.946-1.113-6.969-6-7.827V53Zm0,3v4.593A8.015,8.015,0,0,0,68.387,56H63ZM49,65H59V64.906a12.456,12.456,0,0,1-10-7.2V65Zm0-51v5.294A12.172,12.172,0,0,1,53.6,14H49Zm10,2.225c-3.36.708-7.185,3.154-7,7.775h7V16.225ZM59,27H52.625A8.285,8.285,0,0,0,59,31.912V27Zm4-10.827V24h6C69,21.054,67.887,17.031,63,16.173ZM63,27v4.593A8.015,8.015,0,0,0,68.387,27H63ZM73,53V14H67.4A11.87,11.87,0,0,1,73,24,12.258,12.258,0,0,1,60.5,36,12.522,12.522,0,0,1,49,28.706V48.294a12.456,12.456,0,0,1,10-7.2V41h4v0.241a11.914,11.914,0,0,1,0,23.518V65H73V53Zm28-35a19.912,19.912,0,0,1,7,1.284V19h23V39H120.95A19.984,19.984,0,0,1,101,58c-11.046,0-21-8.954-21-20S89.954,18,101,18Zm27,17V23H114.2a19.935,19.935,0,0,1,6.553,12H128ZM84,39c0.594,8.917,8.91,15.731,19,15,10.255-.743,14.645-9.489,15-15,0.594-9.238-6.151-16.7-17-17S83.406,30.083,84,39Zm17.707-9a8.5,8.5,0,0,1,0,17A8.755,8.755,0,0,1,93,38.5,8.755,8.755,0,0,1,101.707,30ZM96,39c0.246,3.79,1.817,4.311,6,4,4.252-.316,4.853-1.658,5-4,0.246-3.926-.5-4.874-5-5S95.754,35.21,96,39Z' }, - volumeControlDamper: { + VolumeControlDamper: { width: 42, - path: 'M3,36H43V99H3V36Zm4,3H40V96H7V39Zm6,4H34V63H13V43Zm0,30H34V93H13V73Zm20,2h8v5H33V75Zm0-20h8v5H33V55ZM20,29h5v8H20V29ZM23,3C34.6,3,44,9.268,44,17S34.6,31,23,31,2,24.732,2,17,11.4,3,23,3Zm0,4c12.261,0,16,6.134,16,10s-3.72,8.837-15,9S8,20.866,8,17,10.74,7,23,7ZM14,25V7l4-1,6,7,4-6,5,1V26H28V16l-4,4-5-4V26ZM27,62h5V75H27V62ZM15.617,88.076l2.649,3.265L9.777,98.228,7.128,94.963ZM13.4,45.987l2.619-3.215L7.622,35.991,5,39.206Z' + path: 'M23,28.935V34H41V97H1V34H5.615l0.007-.009L5.633,34H18V28.856C7.824,27.885,0,22.053,0,15,0,7.268,9.4,1,21,1S42,7.268,42,15C42,22.282,33.659,28.264,23,28.935ZM38,58H32v3H30V71h2v2h6V58Zm0,36V78H32V91H14.258l-3.629,3H38ZM11,87.6V71H25V61H11V43.667L5,38.819V92.4ZM9.346,37l4.669,3.772L13.83,41H32V53h6V37H9.346ZM12,6.581C7.281,8.661,6,12.359,6,15c0,2.42,1.85,5.4,6,7.251V6.581ZM21,5a30.248,30.248,0,0,0-3.934.243L22,11l3.762-5.642A30.068,30.068,0,0,0,21,5Zm5,9-4,4-5-4v9.66A29.382,29.382,0,0,0,22,24a32.355,32.355,0,0,0,4-.295V14Zm5-7.077V22.4c4.357-1.814,6-4.843,6-7.4C37,12.5,35.429,9.047,31,6.923Z' + }, + CoolTower:{ + width: 67, + path:'M36,4L24,10L48,10M14,13L55,13L55,15L52,15L52,24L61,30L57,30L50,25L50,15L20,15L17,15L14,15 M18,15L18,22L8,30L12,30L20,23L20,15 M22,23L28,19L34,23L28,27 M34,17L36,17L36,29L34,29 M5,30L7,30L7,35L62,35L62,30L64,30L64,37L5,37 M5,30L64,30L64,32L5,32 M5,37L5,64L64,64L64,37L62,37L62,51L7,51L7,37 M15,37L11,42L14,43L17,39L20,43L23,42L19,37 M26,37L22,42L25,43L28,39L31,43L34,42L30,37 M39,37L35,42L38,43L41,39L44,43L47,42L43,37 M52,37L48,42L51,43L54,39L57,43L60,42L57,37 M36,23L42,19L48,23L42,27' + }, + JetFan:{ + width:68, + path:'M39,110L4,92V89H72v3ZM5,24H72V87H5V24ZM9,83H68V28H9V83Zm29.5-1A26.5,26.5,0,1,1,65,55.5,26.5,26.5,0,0,1,38.5,82ZM51,75l7-7-2-2-7,7ZM35,64l-5-4-2,2,5,4ZM26,75l2-2-8-7-2,2Zm0-38-9,8,3,2,8-7Zm7,10-5,5,3,2,5-5Zm9,6H36v6h6V53Zm2,13,5-5-2-2-5,5ZM43,47l5,5,2-3-5-5Zm9-12-3,2,8,8,2-2ZM4,20L39,2,72,20v3H4V20Z' + }, + OrbitalVentilator:{ + width:70, + path:'M37,96L2,78V75H70v3ZM4,3H72V72H4V3ZM8,68H68V7H8V68Zm29.5-2C22.312,66,10,53.016,10,37S22.312,8,37.5,8,65,20.984,65,37,52.688,66,37.5,66Zm12.972-7.66,7.264-7.66L55.66,48.491,48.4,56.151ZM33.868,46.3l-5.189-4.377L26.6,44.113l5.189,4.377ZM24.528,58.34L26.6,56.151l-8.3-7.66-2.075,2.189Zm0-41.585-9.34,8.755L18.3,27.7l8.3-7.66ZM31.793,27.7L26.6,33.17l3.113,2.189,5.189-5.472Zm9.34,6.566H34.906V40.83h6.226V34.264Zm2.075,14.226L48.4,43.019,46.321,40.83,41.132,46.3ZM42.17,27.7l5.189,5.472,2.075-3.283-5.189-5.472Zm9.34-13.132L48.4,16.755l8.3,8.755,2.076-2.189Z' + }, + TunnelFan:{ + width:68, + path:'M40,112L5,94V91H73v3ZM6,26H73V89H6V26Zm4,59H69V30H10V85Zm29.5-1A26.5,26.5,0,1,1,66,57.5,26.5,26.5,0,0,1,39.5,84ZM52,77l7-7-2-2-7,7ZM36,66l-5-4-2,2,5,4ZM27,77l2-2-8-7-2,2Zm0-38-9,8,3,2,8-7Zm7,10-5,5,3,2,5-5Zm9,6H37v6h6V55Zm2,13,5-5-2-2-5,5ZM44,49l5,5,2-3-5-5Zm9-12-3,2,8,8,2-2ZM5,22L40,4,73,22v3H5V22Z' } }; diff --git a/src/iscs/utils/Uid.js b/src/iscs/utils/Uid.js index f559072b0..eb8c61d5c 100644 --- a/src/iscs/utils/Uid.js +++ b/src/iscs/utils/Uid.js @@ -2,7 +2,7 @@ export function getUID(type, list) { if (list && list.length > 0) { const lastCode = list[list.length - 1].code; const num = lastCode.split(type + '_')[1]; - return type + `_${num + 1}`; + return type + `_${parseInt(num) + 1}`; } else { return type + `_1`; } diff --git a/src/iscs/utils/parser.js b/src/iscs/utils/parser.js index e9a1e74b4..e2730057d 100644 --- a/src/iscs/utils/parser.js +++ b/src/iscs/utils/parser.js @@ -126,100 +126,109 @@ export function parser(data) { return iscsDevice; } -function updateIscsListByDevice(iscs, name, device) { - var list = iscs[name]; - if (list) { +function updateIscsListByDevice(state, name, device) { + // var list = iscs[name]; + const list = state.iscs[name]; + if (list && list instanceof Array) { const index = list.findIndex(elem => { return elem.code == device.code; }); - if (index >= 0) { - device._dispose ? list.splice(index, 1) : list[index] = deepClone(device); - } else { - list.push(deepClone(device)); + if (device._dispose) { + index >= 0 && list.splice(index, 1); // 删除 + } else if (!list[index]) { + list.push(deepClone(device)); // 新增 + } else if (index >= 0) { + list[index] = deepClone(device); // item map 数据 model 页面表单数据 } + // if (index >= 0) { + // device._dispose ? list.splice(index, 1) : list[index] = deepClone(device); + // } else { + // list.push(deepClone(device)); + // } } else { - iscs[name] = [device]; + // list[name] = [device]; + state.iscs[name] = [device]; } - return list; + // return list; } -export function updateIscsData(device) { - const iscsData = store.state.iscs; +export function updateIscsData(state, device) { + // const state = store.state; switch (device._type) { - case deviceType.vidiconList : - updateIscsListByDevice(iscsData, 'vidiconList', device); + case deviceType.Vidicon : + updateIscsListByDevice(state, 'vidiconList', device); break; - case deviceType.vidiconCloudList : - updateIscsListByDevice(iscsData, 'vidiconCloudList', device); + case deviceType.VidiconCloud : + updateIscsListByDevice(state, 'vidiconCloudList', device); break; case deviceType.ManualAlarmButton : - updateIscsListByDevice(iscsData, 'manualAlarmButtonList', device); + updateIscsListByDevice(state, 'manualAlarmButtonList', device); break; case deviceType.FireHydranAlarmButton: - updateIscsListByDevice(iscsData, 'fireHydranAlarmButtonList', device); + updateIscsListByDevice(state, 'fireHydranAlarmButtonList', device); break; case deviceType.GasFireControl: - updateIscsListByDevice(iscsData, 'gasFireControlList', device); + updateIscsListByDevice(state, 'gasFireControlList', device); break; case deviceType.SmokeDetector: - updateIscsListByDevice(iscsData, 'smokeDetectorList', device); + updateIscsListByDevice(state, 'smokeDetectorList', device); break; case deviceType.TemperatureDetector: - updateIscsListByDevice(iscsData, 'temperatureDetectorList', device); + updateIscsListByDevice(state, 'temperatureDetectorList', device); break; case deviceType.PlatformScreenDoor: - updateIscsListByDevice(iscsData, 'platformScreenDoorList', device); + updateIscsListByDevice(state, 'platformScreenDoorList', device); break; case deviceType.FrozenPump : - updateIscsListByDevice(iscsData, 'frozenPumpList', device); + updateIscsListByDevice(state, 'frozenPumpList', device); break; case deviceType.Ventilator : - updateIscsListByDevice(iscsData, 'ventilatorList', device); + updateIscsListByDevice(state, 'ventilatorList', device); break; case deviceType.Chiller : - updateIscsListByDevice(iscsData, 'chillerList', device); + updateIscsListByDevice(state, 'chillerList', device); break; case deviceType.CoolTower : - updateIscsListByDevice(iscsData, 'coolTowerList', device); + updateIscsListByDevice(state, 'coolTowerList', device); break; case deviceType.EndDoor: - updateIscsListByDevice(iscsData, 'endDoorList', device); + updateIscsListByDevice(state, 'endDoorList', device); break; case deviceType.BorderRadius: - updateIscsListByDevice(iscsData, 'borderRadiusList', device); + updateIscsListByDevice(state, 'borderRadiusList', device); break; case deviceType.BrakeMachine: - updateIscsListByDevice(iscsData, 'brakeMachineList', device); + updateIscsListByDevice(state, 'brakeMachineList', device); break; case deviceType.EntranceGuard: - updateIscsListByDevice(iscsData, 'entranceGuardList', device); + updateIscsListByDevice(state, 'entranceGuardList', device); break; case deviceType.TicketMachine: - updateIscsListByDevice(iscsData, 'ticketMachineList', device); + updateIscsListByDevice(state, 'ticketMachineList', device); break; case deviceType.SemiAutomaticTicketMachine: - updateIscsListByDevice(iscsData, 'semiAutomaticTicketMachineList', device); + updateIscsListByDevice(state, 'semiAutomaticTicketMachineList', device); break; case deviceType.AirConditioner: - updateIscsListByDevice(iscsData, 'airConditionerList', device); + updateIscsListByDevice(state, 'airConditionerList', device); break; case deviceType.OrbitalVentilator: - updateIscsListByDevice(iscsData, 'orbitalVentilatorList', device); + updateIscsListByDevice(state, 'orbitalVentilatorList', device); break; case deviceType.JetFan: - updateIscsListByDevice(iscsData, 'jetFanList', device); + updateIscsListByDevice(state, 'jetFanList', device); break; case deviceType.TunnelFan: - updateIscsListByDevice(iscsData, 'tunnelFanList', device); + updateIscsListByDevice(state, 'tunnelFanList', device); break; case deviceType.FireDamper: - updateIscsListByDevice(iscsData, 'fireDamperList', device); + updateIscsListByDevice(state, 'fireDamperList', device); break; case deviceType.SmookProofFd: - updateIscsListByDevice(iscsData, 'smookProofFdList', device); + updateIscsListByDevice(state, 'smookProofFdList', device); break; case deviceType.VolumeControlDamper: - updateIscsListByDevice(iscsData, 'volumeControlDamperList', device); + updateIscsListByDevice(state, 'volumeControlDamperList', device); break; } - store.dispatch('iscs/setIscsData', iscsData); + // store.dispatch('iscs/setIscsData', state.iscs); } diff --git a/src/jmapNew/map.js b/src/jmapNew/map.js index 8aef78eba..230da72d6 100644 --- a/src/jmapNew/map.js +++ b/src/jmapNew/map.js @@ -10,6 +10,7 @@ import deviceType from './constant/deviceType'; import { selectLineCode } from './config/deviceStyle'; import { deviceFactory, createBoundingRect, calculateDCenter } from './utils/parser'; import { deepAssign } from '@/utils/index'; +import store from '@/store'; const renderer = 'canvas'; const devicePixelRatio = 1; @@ -251,6 +252,9 @@ class Jlmap { this.$painter.update(oDevice); } } + if (elem.deviceType == 'ROUTE') { // 处理进路数据状态 + store.dispatch('map/updateRouteState', elem); + } }); // 状态后处理 diff --git a/src/jmapNew/theme/ningbo_01/menus/dialog/routeSelection.vue b/src/jmapNew/theme/ningbo_01/menus/dialog/routeSelection.vue index b4cc77bda..02a4f6a94 100644 --- a/src/jmapNew/theme/ningbo_01/menus/dialog/routeSelection.vue +++ b/src/jmapNew/theme/ningbo_01/menus/dialog/routeSelection.vue @@ -156,17 +156,17 @@ export default { // 恢复进路区段的切除状态 this.restoreBeforeDevices(); - if (row.canSetting) { + if (!row.setting) { // 设置选中区段为切除状态 - if (row.containSectionList && row.containSectionList.length) { + if (row.routeSectionList && row.routeSectionList.length) { // 设置新选的进路区段为切除状态 - row.containSectionList.forEach(elem => { + row.routeSectionList.forEach(elem => { elem.cutOff = true; }); } - this.$store.dispatch('training/updateMapState', [...row.containSectionList]); - this.beforeSectionList = row.containSectionList || []; + this.$store.dispatch('training/updateMapState', [...row.routeSectionList]); + this.beforeSectionList = row.routeSectionList || []; // 设置选中指令 const operate = { diff --git a/src/jmapNew/theme/ningbo_01/menus/menuSignal.vue b/src/jmapNew/theme/ningbo_01/menus/menuSignal.vue index d64917fcb..da580ef1c 100644 --- a/src/jmapNew/theme/ningbo_01/menus/menuSignal.vue +++ b/src/jmapNew/theme/ningbo_01/menus/menuSignal.vue @@ -262,11 +262,10 @@ export default { this.$store.dispatch('training/nextNew', step).then(({ valid }) => { this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); if (valid) { - // querySignalStatus(this.group, {signalCode: this.selected.code}).then(resp => { - // const tempData = resp.data; - const tempData = []; - this.$refs.routeSelection.doShow(step.operation, this.selected, tempData); - // }); + this.$store.dispatch('map/getRouteDataListByCode', this.selected.code).then(list => { + const tempData = list; + this.$refs.routeSelection.doShow(step.operation, this.selected, tempData); + }); } }).catch(() => { this.$refs.noticeInfo.doShow(step); @@ -373,11 +372,10 @@ export default { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => { if (valid) { this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - // querySignalStatus(this.group, {signalCode: `${this.selected.code}`}).then(resp => { - // const tempData = resp.data; - const tempData = []; - this.$refs.routeHandControl.doShow(operate, this.selected, tempData); - // }); + this.$store.dispatch('map/getRouteDataListByCode', this.selected.code).then(list => { + const tempData = []; + this.$refs.routeHandControl.doShow(operate, this.selected, tempData); + }); } }); }, @@ -394,11 +392,10 @@ export default { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => { if (valid) { this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - // querySignalStatus(this.group, {signalCode: `${this.selected.code}`}).then(resp => { - // const tempData = resp.data; - const tempData = []; - this.$refs.routeHandControl.doShow(operate, this.selected, tempData); - // }); + this.$store.dispatch('map/getRouteDataListByCode', this.selected.code).then(list => { + const tempData = []; + this.$refs.routeHandControl.doShow(operate, this.selected, tempData); + }); } }); }, diff --git a/src/permission.js b/src/permission.js index 3c25d117d..7ad94aa0d 100644 --- a/src/permission.js +++ b/src/permission.js @@ -16,7 +16,7 @@ function hasPermission(roles, permissionRoles) { const whiteList = ['/login', '/design/login', '/xty/login', '/designxty/login', '/gzb/login', '/designgzb/login', '/gzzbxy/relay', '/hyd/login']; // 不重定向白名单 -const designPageRegex = [/^\/design/, /^\/scriptDisplay/, /^\/publish/, /^\/orderauthor/, /^\/system/, /^\/display\/record/, /^\/display\/manage/, /^\/apply/, /^\/plan/, /^\/display\/plan/]; +const designPageRegex = [/^\/design/, /^\/scriptDisplay/, /^\/publish/, /^\/orderauthor/, /^\/system/, /^\/iscs/, /^\/display\/record/, /^\/display\/manage/, /^\/apply/, /^\/plan/, /^\/display\/plan/]; function isDesignPage(toRoutePath) { return designPageRegex.some(item => { @@ -34,7 +34,7 @@ const loginHydPage = whiteList[7]; const loginDesignPageMenu = { design: loginDesignPage, designxty: loginDesignXtyPage, - designgzb: loginDesignGzbPage, + designgzb: loginDesignGzbPage }; const loginPageMenu = { login: loginPage, diff --git a/src/router/index.js b/src/router/index.js index f382da904..f94ad5727 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -33,16 +33,17 @@ const ExistingSimulation = () => import('@/views/system/existingSimulation/index const CacheControl = () => import('@/views/system/cacheControl/index'); const SystemGenerate = () => import('@/views/system/systemGenerate/index'); const IbpDraw = () => import('@/views/system/ibpDraw/index'); -const IscsDraw = () => import('@/views/system/iscsDraw/index'); -const IscsDesign = () => import('@/views/system/iscsDesign/index'); const News = () => import('@/views/system/news/index'); const CommandDictionary = () => import('@/views/system/commandDictionary/index'); const CommandDictionaryDetail = () => import('@/views/system/commandDictionary/edit'); const configLine = () => import('@/views/system/configLine/index'); -const IscsSystem = () => import('@/views/system/iscsSystem/index'); - const Mapedit = () => import('@/views/mapdraft/index'); +const IscsSystem = () => import('@/views/iscs/iscsSystem/index'); +const IscsDraw = () => import('@/views/iscs/iscsDraw/index'); +const IscsDesign = () => import('@/views/iscs/iscsDesign/index'); +const IscsConfig = () => import('@/views/iscs/iscsSystem/config/index'); + const NewMapDraft = () => import('@/views/newMap/newMapdraft/index'); const NewDesignPlatformUser = () => import('@/views/newMap/newDesignUser/index'); @@ -770,27 +771,6 @@ export const asyncRouter = [ i18n: 'router.ibpDraw' } }, - { - path:'iscs/design', - component: IscsDesign, - meta: { - i18n: 'router.iscsDraw' - }, - children: [ - { - path: 'edit/:id/:mode', - component: IscsDraw, - hidden: true - } - ] - }, - { - path: 'iscs/system', - component: IscsSystem, - meta: { - i18n: 'router.iscsSystem' - } - }, { path: 'dictionary', component: Dictionary, @@ -955,6 +935,44 @@ export const asyncRouter = [ ] } ] + }, + { // iscs系统 + path: '/iscs', + component: Layout, + meta: { + i18n: 'router.iscsSystem', + roles: [admin] + }, + children: [ + { + path:'design', + component: IscsDesign, + meta: { + i18n: 'router.iscsDraw' + }, + children: [ + { + path: 'edit/:id/:mode', + component: IscsDraw, + hidden: true + } + ] + }, + { + path: 'system', + component: IscsSystem, + meta: { + i18n: 'router.iscsSystem' + }, + children: [ + { + path: 'config/:mode', + component: IscsConfig, + hidden: true + } + ] + } + ] } ]; diff --git a/src/store/modules/iscs.js b/src/store/modules/iscs.js index 965567ec8..7e353e051 100644 --- a/src/store/modules/iscs.js +++ b/src/store/modules/iscs.js @@ -33,84 +33,84 @@ const iscs = { return state.updateDeviceData; }, vidiconList: (state) => { - if (state.iscs && state.iscs.vidiconList) { + if (state.iscs) { return state.iscs.vidiconList; } else { return []; } }, vidiconCloudList: (state) => { - if (state.iscs && state.iscs.vidiconCloudList) { + if (state.iscs.vidiconCloudList) { return state.iscs.vidiconCloudList; } else { return []; } }, frozenPumpList:(state)=>{ - if (state.iscs && state.iscs.frozenPumpList) { + if (state.iscs.frozenPumpList) { return state.iscs.frozenPumpList; } else { return []; } }, airConditionerList:(state)=>{ - if (state.iscs && state.iscs.airConditionerList) { + if (state.iscs.airConditionerList) { return state.iscs.airConditionerList; } else { return []; } }, tunnelFanList:(state)=>{ - if (state.iscs && state.iscs.tunnelFanList) { + if (state.iscs.tunnelFanList) { return state.iscs.tunnelFanList; } else { return []; } }, orbitalVentilatorList:(state)=>{ - if (state.iscs && state.iscs.orbitalVentilatorList) { + if (state.iscs.orbitalVentilatorList) { return state.iscs.orbitalVentilatorList; } else { return []; } }, smookProofFdList:(state)=>{ - if (state.iscs && state.iscs.smookProofFdList) { + if (state.iscs.smookProofFdList) { return state.iscs.smookProofFdList; } else { return []; } }, chillerList:(state)=>{ - if (state.iscs && state.iscs.chillerList) { + if (state.iscs.chillerList) { return state.iscs.chillerList; } else { return []; } }, coolTowerList:(state)=>{ - if (state.iscs && state.iscs.coolTowerList) { + if (state.iscs.coolTowerList) { return state.iscs.coolTowerList; } else { return []; } }, fireDamperList:(state)=>{ - if (state.iscs && state.iscs.fireDamperList) { + if (state.iscs.fireDamperList) { return state.iscs.fireDamperList; } else { return []; } }, jetFanList:(state)=>{ - if (state.iscs && state.iscs.jetFanList) { + if (state.iscs.jetFanList) { return state.iscs.jetFanList; } else { return []; } }, ventilatorList:(state)=>{ - if (state.iscs && state.iscs.ventilatorList) { + if (state.iscs.ventilatorList) { return state.iscs.ventilatorList; } else { return []; @@ -122,7 +122,7 @@ const iscs = { iscsRender: (state, devices) => { if (devices && devices.length) { if (state.iscs) { - devices.forEach(elem => { updateIscsData(elem); }); + devices.forEach(elem => { updateIscsData(state, elem); }); } if (Vue.prototype.$iscs) { Vue.prototype.$iscs.render(devices); diff --git a/src/store/modules/map.js b/src/store/modules/map.js index b486b39bb..a318fca01 100644 --- a/src/store/modules/map.js +++ b/src/store/modules/map.js @@ -179,6 +179,7 @@ const map = { namespaced: true, state: { + routeData: {}, // 进路数据 stepData: [], // 缓存数据 recoverStepData: [], // 缓存恢复数据 seclectDeviceList: [], // 包围框选中元素列表 @@ -556,6 +557,14 @@ const map = { }, setMousemove: (state) => { state.mousemove++; + }, + setRouteData: (state, routeDataList) => { + routeDataList.forEach(data => { + state.routeData[data.code] = data; + }); + }, + updateRouteState: (state, status) => { + state.routeData[status.code] = deepAssign(state.routeData[status.code], status); } }, @@ -573,10 +582,30 @@ const map = { commit('setDataZoom', dataZoom); }, - setMapData: ({ commit }, map) => { + setMapData: ({ commit }, map) => { // 设置地图数据 commit('setMapData', map); }, + setRouteData: ({ commit }, routeData) => { // 设置进路数据 + commit('setRouteData', routeData); + }, + + updateRouteState: ({ commit }, status) => { // 设置进路数据状态 + commit('updateRouteState', status); + }, + getRouteDataListByCode: ({ state, commit }, code) => { // 获取进路数据 + return new Promise((resolve) => { + const list = []; + const routeList = Object.values(state.routeData); + routeList.forEach(route => { + if (route.startSignalCode == code) { + list.push(route); + } + }); + resolve(list); + }); + }, + setTrainDetails: ({ commit }, message) => { commit('setTrainDetails', message); }, diff --git a/src/utils/loaddata.js b/src/utils/loaddata.js index 1d24b6859..667352b7e 100644 --- a/src/utils/loaddata.js +++ b/src/utils/loaddata.js @@ -44,6 +44,8 @@ export function loadNewMapDataByGroup(group) { resolve(); }); }); + const routeData = resp.data.logicDataNew.routeList; // 设置进路数据 + store.dispatch('map/setRouteData', routeData); }).catch(error => { reject(error); }); diff --git a/src/views/system/iscsDesign/demonList.vue b/src/views/iscs/iscsDesign/demonList.vue similarity index 98% rename from src/views/system/iscsDesign/demonList.vue rename to src/views/iscs/iscsDesign/demonList.vue index 20486c838..42159fbde 100644 --- a/src/views/system/iscsDesign/demonList.vue +++ b/src/views/iscs/iscsDesign/demonList.vue @@ -131,7 +131,7 @@ export default { case 'system' : break; case 'interface': - this.$router.push({ path: `/system/iscs/design/edit/${obj.id}/${obj.mode}` }); + this.$router.push({ path: `/iscs/design/edit/${obj.id}/${obj.mode}` }); break; } }, diff --git a/src/views/system/iscsDesign/index.vue b/src/views/iscs/iscsDesign/index.vue similarity index 100% rename from src/views/system/iscsDesign/index.vue rename to src/views/iscs/iscsDesign/index.vue diff --git a/src/views/system/iscsDraw/index.vue b/src/views/iscs/iscsDraw/index.vue similarity index 98% rename from src/views/system/iscsDraw/index.vue rename to src/views/iscs/iscsDraw/index.vue index bdadce880..5bf79fb25 100644 --- a/src/views/system/iscsDraw/index.vue +++ b/src/views/iscs/iscsDraw/index.vue @@ -49,7 +49,7 @@ export default { }, watch: { $route(val) { - + this.iscsChange(); } }, created() { diff --git a/src/views/system/iscsDraw/iscsAcsOperate/entranceGuard.vue b/src/views/iscs/iscsDraw/iscsAcsOperate/entranceGuard.vue similarity index 93% rename from src/views/system/iscsDraw/iscsAcsOperate/entranceGuard.vue rename to src/views/iscs/iscsDraw/iscsAcsOperate/entranceGuard.vue index 58ce6f23e..5d718baaa 100644 --- a/src/views/system/iscsDraw/iscsAcsOperate/entranceGuard.vue +++ b/src/views/iscs/iscsDraw/iscsAcsOperate/entranceGuard.vue @@ -47,7 +47,7 @@ export default { }, computed:{ ...mapGetters('iscs', [ - 'entranceGuardList' + 'iscs' ]) }, watch:{ @@ -57,10 +57,10 @@ export default { this.buttonText = '修改'; this.showDeleteButton = true; this.isUpdate = true; - this.form.code = model.code; - this.form.width = model.width; - this.form.x = model.point.x; - this.form.y = model.point.y; + this.addModel.code = model.code; + this.addModel.width = model.width; + this.addModel.x = model.point.x; + this.addModel.y = model.point.y; } } }, @@ -73,7 +73,7 @@ export default { x: this.addModel.x, y: this.addModel.y }, - code: this.isUpdate ? this.form.code : getUID('EntranceGuard', this.entranceGuardList), + code: this.isUpdate ? this.form.code : getUID('EntranceGuard', this.iscs.entranceGuardList), _type: 'EntranceGuard', width: this.addModel.width }; diff --git a/src/views/system/iscsDraw/iscsAcsOperate/index.vue b/src/views/iscs/iscsDraw/iscsAcsOperate/index.vue similarity index 100% rename from src/views/system/iscsDraw/iscsAcsOperate/index.vue rename to src/views/iscs/iscsDraw/iscsAcsOperate/index.vue diff --git a/src/views/system/iscsDraw/iscsAfcOperate/brakeMachine.vue b/src/views/iscs/iscsDraw/iscsAfcOperate/brakeMachine.vue similarity index 93% rename from src/views/system/iscsDraw/iscsAfcOperate/brakeMachine.vue rename to src/views/iscs/iscsDraw/iscsAfcOperate/brakeMachine.vue index fa6672e01..0f222f6e4 100644 --- a/src/views/system/iscsDraw/iscsAfcOperate/brakeMachine.vue +++ b/src/views/iscs/iscsDraw/iscsAfcOperate/brakeMachine.vue @@ -47,7 +47,7 @@ export default { }, computed:{ ...mapGetters('iscs', [ - 'brakeMachineList' + 'iscs' ]) }, watch:{ @@ -57,10 +57,10 @@ export default { this.buttonText = '修改'; this.showDeleteButton = true; this.isUpdate = true; - this.form.code = model.code; - this.form.width = model.width; - this.form.x = model.point.x; - this.form.y = model.point.y; + this.addModel.code = model.code; + this.addModel.width = model.width; + this.addModel.x = model.point.x; + this.addModel.y = model.point.y; } } }, @@ -73,7 +73,7 @@ export default { x: this.addModel.x, y: this.addModel.y }, - code: this.isUpdate ? this.form.code : getUID('BrakeMachine', this.brakeMachineList), + code: this.isUpdate ? this.form.code : getUID('BrakeMachine', this.iscs.brakeMachineList), _type: 'BrakeMachine', width: this.addModel.width }; diff --git a/src/views/system/iscsDraw/iscsAfcOperate/index.vue b/src/views/iscs/iscsDraw/iscsAfcOperate/index.vue similarity index 100% rename from src/views/system/iscsDraw/iscsAfcOperate/index.vue rename to src/views/iscs/iscsDraw/iscsAfcOperate/index.vue diff --git a/src/views/system/iscsDraw/iscsAfcOperate/semiAutomaticTicketMachine.vue b/src/views/iscs/iscsDraw/iscsAfcOperate/semiAutomaticTicketMachine.vue similarity index 92% rename from src/views/system/iscsDraw/iscsAfcOperate/semiAutomaticTicketMachine.vue rename to src/views/iscs/iscsDraw/iscsAfcOperate/semiAutomaticTicketMachine.vue index af52e4d32..09568b703 100644 --- a/src/views/system/iscsDraw/iscsAfcOperate/semiAutomaticTicketMachine.vue +++ b/src/views/iscs/iscsDraw/iscsAfcOperate/semiAutomaticTicketMachine.vue @@ -47,7 +47,7 @@ export default { }, computed:{ ...mapGetters('iscs', [ - 'semiAutomaticTicketMachineList' + 'iscs' ]) }, watch:{ @@ -57,10 +57,10 @@ export default { this.buttonText = '修改'; this.showDeleteButton = true; this.isUpdate = true; - this.form.code = model.code; - this.form.width = model.width; - this.form.x = model.point.x; - this.form.y = model.point.y; + this.addModel.code = model.code; + this.addModel.width = model.width; + this.addModel.x = model.point.x; + this.addModel.y = model.point.y; } } }, @@ -73,7 +73,7 @@ export default { x: this.addModel.x, y: this.addModel.y }, - code: this.isUpdate ? this.form.code : getUID('VolumeControlDamper', this.semiAutomaticTicketMachineList), + code: this.isUpdate ? this.form.code : getUID('SemiAutomaticTicketMachine', this.iscs.semiAutomaticTicketMachineList), _type: 'SemiAutomaticTicketMachine', width: this.addModel.width }; diff --git a/src/views/system/iscsDraw/iscsAfcOperate/ticketMachine.vue b/src/views/iscs/iscsDraw/iscsAfcOperate/ticketMachine.vue similarity index 93% rename from src/views/system/iscsDraw/iscsAfcOperate/ticketMachine.vue rename to src/views/iscs/iscsDraw/iscsAfcOperate/ticketMachine.vue index 2d860b5b9..358f6b54f 100644 --- a/src/views/system/iscsDraw/iscsAfcOperate/ticketMachine.vue +++ b/src/views/iscs/iscsDraw/iscsAfcOperate/ticketMachine.vue @@ -47,7 +47,7 @@ export default { }, computed:{ ...mapGetters('iscs', [ - 'ticketMachineList' + 'iscs' ]) }, watch:{ @@ -57,10 +57,10 @@ export default { this.buttonText = '修改'; this.showDeleteButton = true; this.isUpdate = true; - this.form.code = model.code; - this.form.width = model.width; - this.form.x = model.point.x; - this.form.y = model.point.y; + this.addModel.code = model.code; + this.addModel.width = model.width; + this.addModel.x = model.point.x; + this.addModel.y = model.point.y; } } }, @@ -73,7 +73,7 @@ export default { x: this.addModel.x, y: this.addModel.y }, - code: this.isUpdate ? this.form.code : getUID('TicketMachine', this.ticketMachineList), + code: this.isUpdate ? this.form.code : getUID('TicketMachine', this.iscs.ticketMachineList), _type: 'TicketMachine', width: this.addModel.width }; diff --git a/src/views/system/iscsDraw/iscsBasOperate/airConditioner.vue b/src/views/iscs/iscsDraw/iscsBasOperate/airConditioner.vue similarity index 95% rename from src/views/system/iscsDraw/iscsBasOperate/airConditioner.vue rename to src/views/iscs/iscsDraw/iscsBasOperate/airConditioner.vue index dff906551..33e826d5a 100644 --- a/src/views/system/iscsDraw/iscsBasOperate/airConditioner.vue +++ b/src/views/iscs/iscsDraw/iscsBasOperate/airConditioner.vue @@ -55,12 +55,12 @@ export default { }, computed:{ ...mapGetters('iscs', [ - 'airConditionerList' + 'iscs' ]) }, watch:{ - '$store.state.ibp.rightClickCount': function (val) { - const model = this.$store.getters['ibp/updateDeviceData']; + '$store.state.iscs.rightClickCount': function (val) { + const model = this.$store.getters['iscs/updateDeviceData']; if (model._type === 'AirConditioner' ) { this.buttonText = '修改'; this.showDeleteButton = true; @@ -85,7 +85,7 @@ export default { y: this.form.y }, _type: 'AirConditioner', - code: this.isUpdate ? this.form.code : getUID('AirConditioner', this.airConditionerList), + code: this.isUpdate ? this.form.code : getUID('AirConditioner', this.iscs.airConditionerList), width: this.form.width, color:'#00ff00' }; diff --git a/src/views/system/iscsDraw/iscsBasOperate/chiller.vue b/src/views/iscs/iscsDraw/iscsBasOperate/chiller.vue similarity index 95% rename from src/views/system/iscsDraw/iscsBasOperate/chiller.vue rename to src/views/iscs/iscsDraw/iscsBasOperate/chiller.vue index c894ffcd8..2383a31c4 100644 --- a/src/views/system/iscsDraw/iscsBasOperate/chiller.vue +++ b/src/views/iscs/iscsDraw/iscsBasOperate/chiller.vue @@ -55,12 +55,12 @@ export default { }, computed:{ ...mapGetters('iscs', [ - 'chillerList' + 'iscs' ]) }, watch:{ - '$store.state.ibp.rightClickCount': function (val) { - const model = this.$store.getters['ibp/updateDeviceData']; + '$store.state.iscs.rightClickCount': function (val) { + const model = this.$store.getters['iscs/updateDeviceData']; if (model._type === 'Chiller' ) { this.buttonText = '修改'; this.showDeleteButton = true; @@ -85,7 +85,7 @@ export default { y: this.form.y }, _type: 'Chiller', - code: this.isUpdate ? this.form.code : getUID('Chiller', this.chillerList), + code: this.isUpdate ? this.form.code : getUID('Chiller', this.iscs.chillerList), width: this.form.width, color:'#00ff00' }; diff --git a/src/views/system/iscsDraw/iscsBasOperate/coolTower.vue b/src/views/iscs/iscsDraw/iscsBasOperate/coolTower.vue similarity index 95% rename from src/views/system/iscsDraw/iscsBasOperate/coolTower.vue rename to src/views/iscs/iscsDraw/iscsBasOperate/coolTower.vue index daa7bc14a..358a49e13 100644 --- a/src/views/system/iscsDraw/iscsBasOperate/coolTower.vue +++ b/src/views/iscs/iscsDraw/iscsBasOperate/coolTower.vue @@ -55,12 +55,12 @@ export default { }, computed:{ ...mapGetters('iscs', [ - 'coolTowerList' + 'iscs' ]) }, watch:{ - '$store.state.ibp.rightClickCount': function (val) { - const model = this.$store.getters['ibp/updateDeviceData']; + '$store.state.iscs.rightClickCount': function (val) { + const model = this.$store.getters['iscs/updateDeviceData']; if (model._type === 'CoolTower' ) { this.buttonText = '修改'; this.showDeleteButton = true; @@ -85,7 +85,7 @@ export default { y: this.form.y }, _type: 'CoolTower', - code: this.isUpdate ? this.form.code : getUID('CoolTower', this.coolTowerList), + code: this.isUpdate ? this.form.code : getUID('CoolTower', this.iscs.coolTowerList), width: this.form.width, color:'#00ff00' }; diff --git a/src/views/system/iscsDraw/iscsBasOperate/fireDamper.vue b/src/views/iscs/iscsDraw/iscsBasOperate/fireDamper.vue similarity index 95% rename from src/views/system/iscsDraw/iscsBasOperate/fireDamper.vue rename to src/views/iscs/iscsDraw/iscsBasOperate/fireDamper.vue index acabe4cf3..dcdc9f137 100644 --- a/src/views/system/iscsDraw/iscsBasOperate/fireDamper.vue +++ b/src/views/iscs/iscsDraw/iscsBasOperate/fireDamper.vue @@ -55,12 +55,12 @@ export default { }, computed:{ ...mapGetters('iscs', [ - 'fireDamperList' + 'iscs' ]) }, watch:{ - '$store.state.ibp.rightClickCount': function (val) { - const model = this.$store.getters['ibp/updateDeviceData']; + '$store.state.iscs.rightClickCount': function (val) { + const model = this.$store.getters['iscs/updateDeviceData']; if (model._type === 'FireDamper' ) { this.buttonText = '修改'; this.showDeleteButton = true; @@ -85,7 +85,7 @@ export default { y: this.form.y }, _type: 'FireDamper', - code: this.isUpdate ? this.form.code : getUID('FireDamper', this.fireDamperList), + code: this.isUpdate ? this.form.code : getUID('FireDamper', this.iscs.fireDamperList), width: this.form.width, color:'#00ff00' }; diff --git a/src/views/system/iscsDraw/iscsBasOperate/frozenPump.vue b/src/views/iscs/iscsDraw/iscsBasOperate/frozenPump.vue similarity index 95% rename from src/views/system/iscsDraw/iscsBasOperate/frozenPump.vue rename to src/views/iscs/iscsDraw/iscsBasOperate/frozenPump.vue index fc4ca4814..088302916 100644 --- a/src/views/system/iscsDraw/iscsBasOperate/frozenPump.vue +++ b/src/views/iscs/iscsDraw/iscsBasOperate/frozenPump.vue @@ -65,12 +65,12 @@ export default { }, computed:{ ...mapGetters('iscs', [ - 'frozenPumpList' + 'iscs' ]) }, watch:{ - '$store.state.ibp.rightClickCount': function (val) { - const model = this.$store.getters['ibp/updateDeviceData']; + '$store.state.iscs.rightClickCount': function (val) { + const model = this.$store.getters['iscs/updateDeviceData']; if (model._type === 'FrozenPump' ) { this.buttonText = '修改'; this.showDeleteButton = true; @@ -96,7 +96,7 @@ export default { y: this.form.y }, _type: 'FrozenPump', - code: this.isUpdate ? this.form.code : getUID('FrozenPump', this.frozenPumpList), + code: this.isUpdate ? this.form.code : getUID('FrozenPump', this.iscs.frozenPumpList), width: this.form.width, color:'#00ff00', pumpType:this.form.type diff --git a/src/views/system/iscsDraw/iscsBasOperate/index.vue b/src/views/iscs/iscsDraw/iscsBasOperate/index.vue similarity index 97% rename from src/views/system/iscsDraw/iscsBasOperate/index.vue rename to src/views/iscs/iscsDraw/iscsBasOperate/index.vue index c8e5a1524..d6676fe6c 100644 --- a/src/views/system/iscsDraw/iscsBasOperate/index.vue +++ b/src/views/iscs/iscsDraw/iscsBasOperate/index.vue @@ -37,7 +37,7 @@ - + - + @@ -33,7 +33,7 @@ export default { buttonText: '立即创建', form:{ code:'', - width: 40, + width: 20, x: 10, y: 10 }, @@ -55,7 +55,7 @@ export default { }, computed:{ ...mapGetters('iscs', [ - 'volumeControlDamperList' + 'iscs' ]) }, watch:{ @@ -84,8 +84,8 @@ export default { x: this.form.x, y: this.form.y }, - _type: 'AirConditioner', - code: this.isUpdate ? this.form.code : getUID('VolumeControlDamper', this.volumeControlDamperList), + _type: 'VolumeControlDamper', + code: this.isUpdate ? this.form.code : getUID('VolumeControlDamper', this.iscs.volumeControlDamperList), width: this.form.width, color:'#00ff00' }; @@ -103,7 +103,7 @@ export default { this.showDeleteButton = false; this.form = { code:'', - width: 40, + width: 20, x: 10, y: 10 }; diff --git a/src/views/system/iscsDraw/iscsCctvOperate/index.vue b/src/views/iscs/iscsDraw/iscsCctvOperate/index.vue similarity index 100% rename from src/views/system/iscsDraw/iscsCctvOperate/index.vue rename to src/views/iscs/iscsDraw/iscsCctvOperate/index.vue diff --git a/src/views/system/iscsDraw/iscsCctvOperate/vidicon.vue b/src/views/iscs/iscsDraw/iscsCctvOperate/vidicon.vue similarity index 97% rename from src/views/system/iscsDraw/iscsCctvOperate/vidicon.vue rename to src/views/iscs/iscsDraw/iscsCctvOperate/vidicon.vue index 6b291d538..cff6cbfad 100644 --- a/src/views/system/iscsDraw/iscsCctvOperate/vidicon.vue +++ b/src/views/iscs/iscsDraw/iscsCctvOperate/vidicon.vue @@ -49,14 +49,14 @@ export default { }, computed: { ...mapGetters('iscs', [ - 'vidiconList' + 'iscs' ]) }, methods: { onSubmit(form) { this.$refs.form.validate((valid) => { if (valid) { - const Uid = getUID('Vidicon', this.vidiconList); + const Uid = getUID('Vidicon', this.iscs.vidiconList); const model = { _type: 'Vidicon', code: Uid, diff --git a/src/views/system/iscsDraw/iscsCctvOperate/vidiconCloud.vue b/src/views/iscs/iscsDraw/iscsCctvOperate/vidiconCloud.vue similarity index 97% rename from src/views/system/iscsDraw/iscsCctvOperate/vidiconCloud.vue rename to src/views/iscs/iscsDraw/iscsCctvOperate/vidiconCloud.vue index 42994c1aa..02a20f13b 100644 --- a/src/views/system/iscsDraw/iscsCctvOperate/vidiconCloud.vue +++ b/src/views/iscs/iscsDraw/iscsCctvOperate/vidiconCloud.vue @@ -45,14 +45,14 @@ export default { }, computed: { ...mapGetters('iscs', [ - 'vidiconCloudList' + 'iscs' ]) }, methods: { onSubmit(form) { this.$refs.form.validate((valid) => { if (valid) { - const Uid = getUID('VidiconCloud', this.vidiconCloudList); + const Uid = getUID('VidiconCloud', this.iscs.vidiconCloudList); const model = { _type: 'VidiconCloud', code: Uid, diff --git a/src/views/system/iscsDraw/iscsOperate/fireHydranAlarmButton.vue b/src/views/iscs/iscsDraw/iscsOperate/fireHydranAlarmButton.vue similarity index 92% rename from src/views/system/iscsDraw/iscsOperate/fireHydranAlarmButton.vue rename to src/views/iscs/iscsDraw/iscsOperate/fireHydranAlarmButton.vue index 49fa27d13..2fb599a1d 100644 --- a/src/views/system/iscsDraw/iscsOperate/fireHydranAlarmButton.vue +++ b/src/views/iscs/iscsDraw/iscsOperate/fireHydranAlarmButton.vue @@ -46,7 +46,7 @@ export default { }, computed:{ ...mapGetters('iscs', [ - 'fireHydranAlarmButtonList' + 'iscs' ]) }, watch:{ @@ -56,10 +56,10 @@ export default { this.buttonText = '修改'; this.showDeleteButton = true; this.isUpdate = true; - this.form.code = model.code; - this.form.width = model.width; - this.form.x = model.point.x; - this.form.y = model.point.y; + this.addModel.code = model.code; + this.addModel.width = model.width; + this.addModel.x = model.point.x; + this.addModel.y = model.point.y; } } }, @@ -72,7 +72,7 @@ export default { x: this.addModel.x, y: this.addModel.y }, - code: this.isUpdate ? this.form.code : getUID('VolumeControlDamper', this.fireHydranAlarmButtonList), + code: this.isUpdate ? this.form.code : getUID('FireHydranAlarmButton', this.iscs.fireHydranAlarmButtonList), _type: 'FireHydranAlarmButton', width: this.addModel.width }; diff --git a/src/views/system/iscsDraw/iscsOperate/gasFireControl.vue b/src/views/iscs/iscsDraw/iscsOperate/gasFireControl.vue similarity index 72% rename from src/views/system/iscsDraw/iscsOperate/gasFireControl.vue rename to src/views/iscs/iscsDraw/iscsOperate/gasFireControl.vue index eb632d39c..865cb1282 100644 --- a/src/views/system/iscsDraw/iscsOperate/gasFireControl.vue +++ b/src/views/iscs/iscsDraw/iscsOperate/gasFireControl.vue @@ -1,8 +1,8 @@ + + diff --git a/src/views/system/iscsSystem/config/fire-alarm/stand.vue b/src/views/iscs/iscsSystem/config/fire-alarm/stand.vue similarity index 100% rename from src/views/system/iscsSystem/config/fire-alarm/stand.vue rename to src/views/iscs/iscsSystem/config/fire-alarm/stand.vue diff --git a/src/views/system/iscsSystem/config/fire-alarm/stationHall.vue b/src/views/iscs/iscsSystem/config/fire-alarm/stationHall.vue similarity index 100% rename from src/views/system/iscsSystem/config/fire-alarm/stationHall.vue rename to src/views/iscs/iscsSystem/config/fire-alarm/stationHall.vue diff --git a/src/views/system/iscsSystem/config/fire-alarm/system.vue b/src/views/iscs/iscsSystem/config/fire-alarm/system.vue similarity index 100% rename from src/views/system/iscsSystem/config/fire-alarm/system.vue rename to src/views/iscs/iscsSystem/config/fire-alarm/system.vue diff --git a/src/views/iscs/iscsSystem/config/index.vue b/src/views/iscs/iscsSystem/config/index.vue new file mode 100644 index 000000000..b56ca0df5 --- /dev/null +++ b/src/views/iscs/iscsSystem/config/index.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/src/views/iscs/iscsSystem/config/pis/emergencyRelease.vue b/src/views/iscs/iscsSystem/config/pis/emergencyRelease.vue new file mode 100644 index 000000000..a1a15a367 --- /dev/null +++ b/src/views/iscs/iscsSystem/config/pis/emergencyRelease.vue @@ -0,0 +1,10 @@ + + diff --git a/src/views/iscs/iscsSystem/config/pis/lcdControl.vue b/src/views/iscs/iscsSystem/config/pis/lcdControl.vue new file mode 100644 index 000000000..a1a15a367 --- /dev/null +++ b/src/views/iscs/iscsSystem/config/pis/lcdControl.vue @@ -0,0 +1,10 @@ + + diff --git a/src/views/iscs/iscsSystem/config/pis/mainScreen.vue b/src/views/iscs/iscsSystem/config/pis/mainScreen.vue new file mode 100644 index 000000000..a1a15a367 --- /dev/null +++ b/src/views/iscs/iscsSystem/config/pis/mainScreen.vue @@ -0,0 +1,10 @@ + + diff --git a/src/views/iscs/iscsSystem/config/pis/stationNetwork.vue b/src/views/iscs/iscsSystem/config/pis/stationNetwork.vue new file mode 100644 index 000000000..a1a15a367 --- /dev/null +++ b/src/views/iscs/iscsSystem/config/pis/stationNetwork.vue @@ -0,0 +1,10 @@ + + diff --git a/src/views/iscs/iscsSystem/config/pis/timePreview.vue b/src/views/iscs/iscsSystem/config/pis/timePreview.vue new file mode 100644 index 000000000..a1a15a367 --- /dev/null +++ b/src/views/iscs/iscsSystem/config/pis/timePreview.vue @@ -0,0 +1,10 @@ + + diff --git a/src/views/system/iscsSystem/index.vue b/src/views/iscs/iscsSystem/index.vue similarity index 65% rename from src/views/system/iscsSystem/index.vue rename to src/views/iscs/iscsSystem/index.vue index be6afac12..0febe2f54 100644 --- a/src/views/system/iscsSystem/index.vue +++ b/src/views/iscs/iscsSystem/index.vue @@ -2,22 +2,22 @@
- +
- +
@@ -40,7 +37,7 @@ export default { .content-box{ width: 100%; height: 100%; - padding: 95px 0; + padding: 95px 0 0; background: #45607B; } diff --git a/src/views/system/iscsSystem/nav.vue b/src/views/iscs/iscsSystem/nav.vue similarity index 80% rename from src/views/system/iscsSystem/nav.vue rename to src/views/iscs/iscsSystem/nav.vue index a14831da1..e3abcdbcc 100644 --- a/src/views/system/iscsSystem/nav.vue +++ b/src/views/iscs/iscsSystem/nav.vue @@ -26,7 +26,6 @@ export default { navList: [ { name: '火灾报警', - type: 'FAS', children: [ { name: '站台报警', @@ -42,116 +41,123 @@ export default { } ] }, { - name: '机电', - type: 'FAS', - children: [] + name: '机电', // 未知子菜单 + children: [ + { + name: '机电', + type: 'BAS' + } + ] }, { name: '广播', - type: 'FAS', children: [ { name: '主画面', - type: 'standFAS' + type: 'PA' }, { name: '广播监听', - type: 'standFAS' + type: 'PA' }, { name: '计时一览', - type: 'standFAS' + type: 'PA' } ] }, { name: '乘客信息', - type: 'FAS', children: [ { name: '主画面', - type: 'standFAS' + type: 'MainScreen' }, { name: 'LCD屏控制', - type: 'standFAS' + type: 'LCDcontrol' }, { name: '计时一览', - type: 'standFAS' + type: 'TimePreview' }, { name: '车站网络', - type: 'standFAS' + type: 'StationNetwork' }, { name: '紧急发布一览', - type: 'standFAS' + type: 'EmergencyRelease' } ] }, { name: '闭路电视', - type: 'FAS', children: [ { name: '车站控制', - type: 'standFAS' + type: 'CCTV' }, { name: '车站时序', - type: 'standFAS' + type: 'CCTV' }, { name: '车站时序编辑', - type: 'standFAS' + type: 'CCTV' }, { name: '车站设备状态', - type: 'standFAS' + type: 'CCTV' }, { name: '中心设备状态', - type: 'standFAS' + type: 'CCTV' } ] }, { name: '屏蔽门', - type: 'FAS', children: [ { name: '屏蔽门', - type: 'standFAS' + type: 'PSD' } ] }, { name: '售检票', - type: 'FAS', children: [ { name: '售检票', - type: 'standFAS' + type: 'AFC' } ] }, { name: '门禁', - type: 'FAS', children: [ { name: '站厅层', - type: 'standFAS' + type: 'ACS' }, { name: '站台层', - type: 'standFAS' + type: 'ACS' } ] - }, { - name: '防淹门', - type: 'FAS', - children: [] - }, { - name: '网络状态', - type: 'FAS', - children: [] } + // { + // name: '防淹门', // 未知 子菜单 + // children: [ + // { + // name: '防淹门', + // type: 'standFAS' + // } + // ] + // }, { + // name: '网络状态', // 未知 子菜单 + // children: [ + // { + // name: '网络状态', + // type: 'standFAS' + // } + // ] + // } ], stationList: [ { @@ -199,13 +205,13 @@ export default { this.selectIndex = index; this.selectChildIndex = 0; if (item.children.length) { - this.$emit('selectMode', item.children[0].type); + this.$router.push({ path: `/iscs/system/config/${item.children[0].type}` }); } } }, selectChildren(item, index) { // 选择子菜单 this.selectChildIndex = index; - this.$emit('selectMode', item.type); + this.$router.push({ path: `/iscs/system/config/${item.type}` }); }, selectStation(item, index) { // 选择子菜单 console.log(item); diff --git a/src/views/newMap/newMapdraft/mapoperate/section/batchSettings.vue b/src/views/newMap/newMapdraft/mapoperate/section/batchSettings.vue new file mode 100644 index 000000000..0b87d8dcd --- /dev/null +++ b/src/views/newMap/newMapdraft/mapoperate/section/batchSettings.vue @@ -0,0 +1,73 @@ + + + + + diff --git a/src/views/newMap/newMapdraft/mapoperate/section/index.vue b/src/views/newMap/newMapdraft/mapoperate/section/index.vue index 1f198f3d8..1a27f0e97 100644 --- a/src/views/newMap/newMapdraft/mapoperate/section/index.vue +++ b/src/views/newMap/newMapdraft/mapoperate/section/index.vue @@ -7,7 +7,7 @@
- 区段关系校验 + {{ $t('map.sectionRelationCheck') }} {{ $t('map.updateObj') }} {{ $t('map.deleteObj') }} @@ -23,6 +23,9 @@ + + + @@ -36,6 +39,7 @@ import LogicBlock from './logicBlock'; import TipInfo from './tipInfo'; import CreateSection from './create'; import SplitOrMerge from './splitOrMerge'; +import BatchSettings from './batchSettings'; export default { name: 'SectionDraft', components: { @@ -43,7 +47,8 @@ export default { LogicBlock, TipInfo, CreateSection, - SplitOrMerge + SplitOrMerge, + BatchSettings }, props: { selected: { @@ -146,8 +151,8 @@ export default { { prop: 'sepTypeLeft', label: this.$t('map.sepTypeLeft'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.SectionSepTypeList, isHidden: !this.isSwitchSectionType }, { prop: 'sepTypeRight', label: this.$t('map.sepTypeRight'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.SectionSepTypeList, isHidden: !this.isSwitchSectionType }, { prop: 'points', label: this.$t('map.segmentCoordinates'), type: 'points', width: '100px', isHidden: !this.isPointsShow, pointDisabled: this.isStationCodeDisabled, addPoint: this.addPoint, delPoint: this.delPoint, lastDisabled: true }, - { prop: 'logicSectionStartOffset', label: '逻辑区段起点偏移:', type: 'number', min: 0, width: '150px', isHidden: !this.isLSectionOffsetShow, disabled: true}, - { prop: 'logicSectionEndOffset', label: '逻辑区段终点偏移:', type: 'number', min: 0, width: '150px', isHidden: !this.isLSectionOffsetShow, disabled: true}, + { prop: 'logicSectionStartOffset', label: this.$t('map.logicalSectionStartOffset'), type: 'number', min: 0, width: '150px', isHidden: !this.isLSectionOffsetShow, disabled: true}, + { prop: 'logicSectionEndOffset', label: this.$t('map.logicalSectionEndOffset'), type: 'number', min: 0, width: '150px', isHidden: !this.isLSectionOffsetShow, disabled: true}, { prop: 'standTrack', label: this.$t('map.isStandTrack'), type: 'checkbox', isHidden: !this.isStandTrackShow }, // 1 { prop: 'standTrackName', label: this.$t('map.standTrackName'), type: 'input', isHidden: !this.isstandTrackNameShow }, @@ -185,16 +190,16 @@ export default { {value: false, label: this.$t('map.fromLargeToSmall')} ] }, // 1 { prop: 'curve', label: this.$t('map.isCurve'), type: 'checkbox', isHidden: !this.isSwitchSectionType }, - { prop: 'relevanceSectionList', label: '关联道岔区段:', type: 'multiSelect', optionLabel: 'name&&code', optionValue: 'code', options: this.switchSectionList, isHidden: this.isSwitchSectionType } + { prop: 'relevanceSectionList', label: this.$t('map.associateSwitchSection'), type: 'multiSelect', optionLabel: 'name&&code', optionValue: 'code', options: this.switchSectionList, isHidden: this.isSwitchSectionType } ] }, map: { name: this.$t('map.mapData'), item: [ { prop: 'stationCode', label: this.$t('map.equipmentStation') + ':', type: 'select', mode: true, optionLabel: 'name&&code', optionValue: 'code', disabled: this.isStationCodeDisabled, options: this.centralizedStationList }, - { prop: 'lengthFact', label: this.$t('map.actualLength') + ':', type: 'number', min: 0, placeholder: this.$t('map.meter') }, - { prop: 'leftStopPointOffset', label: this.$t('map.leftStopPointOffset'), type: 'number', min: 0, isHidden: !this.isStopPointOffset }, - { prop: 'rightStopPointOffset', label: this.$t('map.rightStopPointOffset'), type: 'number', min: 0, isHidden: !this.isStopPointOffset }, + { prop: 'lengthFact', label: this.$t('map.actualLength') + ':', type: 'number', min: 0, placeholder: this.$t('map.meter'), change: true, deviceChange: this.lengthFactChange }, + { prop: 'leftStopPointOffset', label: this.$t('map.leftStopPointOffset'), type: 'number', min: 0, disabled: true, isHidden: !this.isStopPointOffset }, + { prop: 'rightStopPointOffset', label: this.$t('map.rightStopPointOffset'), type: 'number', min: 0, disabled: true, isHidden: !this.isStopPointOffset }, { prop: 'region', label: this.$t('map.sectionColon'), type: 'select', optionLabel: 'label', optionValue: 'value', options: this.regionList, isHidden: !this.sectionColonShow }, { prop: 'kmRangeLeft', label: this.$t('map.leftKilometerMark'), type: 'number', min: 0, placeholder: this.$t('map.meter') }, { prop: 'kmRangeRight', label: this.$t('map.rightKilometerMark'), type: 'number', min: 0, placeholder: this.$t('map.meter') } @@ -380,6 +385,12 @@ export default { this.regionList = this.$ConstSelect.RegionTypeList; }, methods: { + lengthFactChange() { + if (this.editModel.lengthFact > 5 && (this.editModel.transferTrack || this.editModel.reentryTrack || this.editModel.standTrack)) { + this.editModel.leftStopPointOffset = 5; + this.editModel.rightStopPointOffset = this.editModel.lengthFact - 5; + } + }, deviceChange(code) { this.$emit('setCenter', code); this.deviceSelect(this.$store.getters['map/getDeviceByCode'](code)); @@ -619,6 +630,12 @@ export default { this.$refs.tipInfo.doShow(); } }, + tipInfoHandle(list) { + if (list.length) { + this.tipInfoList = list; + this.$refs.tipInfo.doShow(); + } + }, clear() { this.$refs.dataform.resetFields(); // 新加属性需要单独在这里清除(避免老数据无新属性,深拷贝是未获取属性,沿用上一个设备的属性导致的数据污染) diff --git a/src/views/publish/publishMap/index.vue b/src/views/publish/publishMap/index.vue index 965366b59..75465f854 100644 --- a/src/views/publish/publishMap/index.vue +++ b/src/views/publish/publishMap/index.vue @@ -9,7 +9,7 @@ - -