diff --git a/src/api/jmap/training.js b/src/api/jmap/training.js index 516158387..ee086c10c 100644 --- a/src/api/jmap/training.js +++ b/src/api/jmap/training.js @@ -2,194 +2,194 @@ import request from '@/utils/request'; /** 清除实训数据*/ export function clearTraining(args) { - return request({ - url: `/api/training/${args.id}`, - method: 'delete' - }); + return request({ + url: `/api/training/${args.id}`, + method: 'delete' + }); } /** 开始实训*/ export function startTraining(args, group) { - return request({ - url: `/api/training/${args.id}/start`, - method: 'get', - params: { - group - } - }); + return request({ + url: `/api/training/${args.id}/start`, + method: 'get', + params: { + group + } + }); } /** 实训结束*/ export function endTraining(args, group) { - return request({ - url: `/api/training/${args.lessonId}/${args.id}/end`, - method: 'get', - params: { - mode: args.mode, - usedTime: args.usedTime, - group - } - }); + return request({ + url: `/api/training/${args.lessonId}/${args.id}/end`, + method: 'get', + params: { + mode: args.mode, + usedTime: args.usedTime, + group + } + }); } /** 发送步骤数据*/ export function sendTrainingNextStep(data, group) { - return request({ - url: `/api/training/${data.trainingId}/nextStep`, - method: 'post', - data: data.operate, - params: { - group - } - }); + return request({ + url: `/api/training/${data.trainingId}/nextStep`, + method: 'post', + data: data.operate, + params: { + group + } + }); } /** 获取实训树*/ export function getTrainingTree() { - return request({ - url: `/api/training/tree`, - method: 'get' - }); + return request({ + url: `/api/training/tree`, + method: 'get' + }); } /** 获取章节基本信息*/ export function getTrainingDetail(trainingId) { - return request({ - url: `/api/training/${trainingId}`, - method: 'get' - }); + return request({ + url: `/api/training/${trainingId}`, + method: 'get' + }); } /** 添加实训*/ export function addTraining(data) { - return request({ - url: '/api/training', - method: 'post', - data: data - }); + return request({ + url: '/api/training', + method: 'post', + data: data + }); } /** 更新实训*/ export function updateTraining(data) { - return request({ - url: `/api/training/${data.id}`, - method: 'put', - data: data - }); + return request({ + url: `/api/training/${data.id}`, + method: 'put', + data: data + }); } /** 保存实训初始状态*/ export function saveTrainingInitStatus(data, group) { - return request({ - url: `/api/training/${data.id}/detailSave?group=${group}`, - method: 'post', - data: data - }); + return request({ + url: `/api/training/${data.id}/detailSave?group=${group}`, + method: 'post', + data: data + }); } /** 保存实训步骤数据*/ export function saveTrainingStepsData(data) { - return request({ - url: `/api/training/${data.id}/stepsSave`, - method: 'post', - data: data - }); + return request({ + url: `/api/training/${data.id}/stepsSave`, + method: 'post', + data: data + }); } /** 获取实训步骤数据*/ export function getTrainingStepsDetail(trainingId, params) { - return request({ - url: `/api/training/${trainingId}/detail`, - method: 'get', - params: params - }); + return request({ + url: `/api/training/${trainingId}/detail`, + method: 'get', + params: params + }); } /** 查询实训列表*/ export function pageQueryTraining(params) { - return request({ - url: `/api/training/pagedQuery`, - method: 'get', - params: params - }); + return request({ + url: `/api/training/pagedQuery`, + method: 'get', + params: params + }); } /** 自动生成实训操作*/ export function addAutoTraining(data) { - return request({ - url: `/api/training/generate`, - method: 'post', - data: data - }); + return request({ + url: `/api/training/generate`, + method: 'post', + data: data + }); } /** 修改自动删除实训操作*/ export function updateAutoTraining(data) { - return request({ - url: `/api/training/batchUpdateGenerate`, - method: 'put', - data: data - }); + return request({ + url: `/api/training/batchUpdateGenerate`, + method: 'put', + data: data + }); } /** 删除自动生成实训*/ export function deleteAutoTraining(params) { - return request({ - url: `/api/training/generate`, - method: 'delete', - params: params - }); + return request({ + url: `/api/training/generate`, + method: 'delete', + params: params + }); } /** 获取用户实训列表*/ export function getTrainingList(data) { - return request({ - url: `/api/training/list`, - method: 'get', - params: data - }); + return request({ + url: `/api/training/list`, + method: 'get', + params: data + }); } export function sendCommand(group, command) { - return request({ - url: `/api/training/deviceChange?group=${group}`, - method: 'put', - data: { - param: command.val, - type: command.type, - code: command.code, - operation: command.operation - } - }); + return request({ + url: `/api/training/deviceChange?group=${group}`, + method: 'put', + data: { + param: command.val, + type: command.type, + code: command.code, + operation: command.operation + } + }); } export function updateLesson(data) { - return request({ - url: `/api/training/userTraining/${data.id}`, - method: 'put', - data: data - }); + return request({ + url: `/api/training/userTraining/${data.id}`, + method: 'put', + data: data + }); } // 添加用户实训数据 export function addUserTraining(data) { - return request({ - url: `/api/training/userTraining`, - method: 'post', - data: data - }); + return request({ + url: `/api/training/userTraining`, + method: 'post', + data: data + }); } // 更新用户实训数据 export function putUserTraining(data) { - return request({ - url: `/api/training/userTraining/${data.id}`, - method: 'put', - data: data - }); + return request({ + url: `/api/training/userTraining/${data.id}`, + method: 'put', + data: data + }); } // 清除实训数据 export function deleteUserTraining(statsId) { - return request({ - url: `/api/training/userTraining/${statsId}`, - method: 'delete' - }); + return request({ + url: `/api/training/userTraining/${statsId}`, + method: 'delete' + }); } diff --git a/src/i18n/langs/en/map.js b/src/i18n/langs/en/map.js index 05ce816d4..32e750989 100644 --- a/src/i18n/langs/en/map.js +++ b/src/i18n/langs/en/map.js @@ -1,548 +1,549 @@ export default { - drawData: 'The drawing data', - mapData: 'Map data', - pleaseSelect: 'please choose', - pleaseEnter: 'please input', - sketchMap: 'Draft map list', - newConstruction: 'Create', - importMap: 'Import the map', - createNewMap: 'A new map', - normalCreate: 'The normal to create', - saveMapAs: 'Save the map as', - create: 'establish', - dataVerification: 'data verification', - edit3d: '3D editor', - logicalView: 'logical view', - physicalView: 'Physical view', - mixedView: 'The mixed view', - normal: 'normal', - add: 'add', - are: 'yes', - deny: 'no', - drawMap: 'draw', - advanced: 'advanced', - viewLayer: 'The view layer', - layerDisplay: 'The layer display', - viewShows: 'View shows', - contentShows: 'content show', - createBatch: 'Create a batch', + drawData: 'The drawing data', + mapData: 'Map data', + pleaseSelect: 'please choose', + pleaseEnter: 'please input', + sketchMap: 'Draft map list', + newConstruction: 'Create', + importMap: 'Import the map', + createNewMap: 'A new map', + normalCreate: 'The normal to create', + saveMapAs: 'Save the map as', + create: 'establish', + dataVerification: 'data verification', + edit3d: '3D editor', + logicalView: 'logical view', + physicalView: 'Physical view', + mixedView: 'The mixed view', + normal: 'normal', + add: 'add', + are: 'yes', + deny: 'no', + drawMap: 'draw', + advanced: 'advanced', + viewLayer: 'The view layer', + layerDisplay: 'The layer display', + viewShows: 'View shows', + contentShows: 'content show', + createBatch: 'Create a batch', - publishMap: 'Publish map', - bothCreate: 'Batch generation', - automaticRouteTypeColon: 'Automatic route type:', - stationstandPosition: 'Station stand position:', - signalLinkCode: 'Signal link', - signalNamePosition: 'Signal name position:', - signalGuidePosition: 'Signal guide:', - signalPosition: 'Signal position:', - signalButtonPosition: 'button:', - switchTp: 'Time coordinate offset:', - buttonType: 'Button type', - buttonControl: 'Button', - textPoints: 'Coordinate:', - codeC: 'code', - delayUnlockPosition: 'Delay unlock position:', - counterPosition: 'Counter position:', - trainNumber: 'Train number', - automaticRouteType: 'Automatic route type', - routeRouteScreenData: 'Route screen door', - routeRouteTurnoutData: 'Route turnout', - trainWindowPoints: 'Train window points:', + publishMap: 'Publish map', + bothCreate: 'Batch generation', + automaticRouteTypeColon: 'Automatic route type:', + stationstandPosition: 'Station stand position:', + signalLinkCode: 'Signal link', + signalNamePosition: 'Signal name position:', + signalGuidePosition: 'Signal guide:', + signalPosition: 'Signal position:', + signalButtonPosition: 'button:', + switchTp: 'Time coordinate offset:', + buttonType: 'Button type', + buttonControl: 'Button', + textPoints: 'Coordinate:', + codeC: 'code', + delayUnlockPosition: 'Delay unlock position:', + counterPosition: 'Counter position:', + trainNumber: 'Train number', + automaticRouteType: 'Automatic route type', + routeRouteScreenData: 'Route screen door', + routeRouteTurnoutData: 'Route turnout', + trainWindowPoints: 'Train window points:', - createSection: 'One-click generation section', - createSwitch: 'One-click generation turnout', - clearHint: 'Clear hint', - batchOperation: 'Batch operation', - breakUpNumber: 'Split quantity', - // physicalSegmentName: '物理区段:', + createSection: 'One-click generation section', + createSwitch: 'One-click generation turnout', + clearHint: 'Clear hint', + batchOperation: 'Batch operation', + breakUpNumber: 'Split quantity', + // physicalSegmentName: '物理区段:', - save: 'save', - updata: 'update', - updateObj: 'modification', - updateObjAxis: 'Update the coordinate', - saveAs: 'save as', - publish: 'publish', - deleteObj: 'delete', - remove: 'remove', - lastStep: 'last step', - confirm: 'confirm', - cancel: 'cancel', + save: 'save', + updata: 'update', + updateObj: 'modification', + updateObjAxis: 'Update the coordinate', + saveAs: 'save as', + publish: 'publish', + deleteObj: 'delete', + remove: 'remove', + lastStep: 'last step', + confirm: 'confirm', + cancel: 'cancel', - link: 'link', - section: 'section', - switch: 'switch', - signal: 'signal', - zcZoneControl: 'zc zone control', - temporaryLimit: 'temporary speed restriction', - lcControl: 'Lc control', - image: 'image', - station: 'station', - controlMode: 'control mode', - platform: 'platform', - counter: 'counter', - delayUnlock: 'Delay to unlock', - train: 'train', - trainWindow: 'train window', - line: 'line', - text: 'text', - button: 'button', + link: 'link', + section: 'section', + switch: 'switch', + signal: 'signal', + zcZoneControl: 'zc zone control', + temporaryLimit: 'temporary speed restriction', + lcControl: 'Lc control', + image: 'image', + station: 'station', + controlMode: 'control mode', + platform: 'platform', + counter: 'counter', + delayUnlock: 'Delay to unlock', + train: 'train', + trainWindow: 'train window', + line: 'line', + text: 'text', + button: 'button', - mapName: 'Name of the map:', - skinName: 'Skin style:', - selectCity: 'city:', - offsetXColon: 'X Offset:', - offsetYColon: 'Y Offset:', - scalingColon: 'scaling:', - operationUnusual: 'abnormal operation:', - offsetX: 'X Offset', - offsetY: 'Y Offset', - scaling: 'scaling', - statusSignalName: 'Status signal name:', - stateSignalsPlotCoordinates: 'State signals plot coordinates:', - equipmentStation: 'Equipment centralization station:', + mapName: 'Name of the map:', + skinName: 'Skin style:', + selectCity: 'city:', + offsetXColon: 'X Offset:', + offsetYColon: 'Y Offset:', + scalingColon: 'scaling:', + operationUnusual: 'abnormal operation:', + offsetX: 'X Offset', + offsetY: 'Y Offset', + scaling: 'scaling', + statusSignalName: 'Status signal name:', + stateSignalsPlotCoordinates: 'State signals plot coordinates:', + equipmentStation: 'Equipment centralization station:', - lineCoding: 'Line coding:', - lineType: 'Line type:', - lineWidth: 'Line width:', - segmentCoordinates: 'Segment display coordinates:', + lineCoding: 'Line coding:', + lineType: 'Line type:', + lineWidth: 'Line width:', + segmentCoordinates: 'Segment display coordinates:', - publishMapCreation: 'Create from the publish map', + publishMapCreation: 'Create from the publish map', - failedLoadListPublishedMaps: 'Failed to load the list of published maps', - publishedMapList: 'Published Map List', - myMapList: 'My Map List', - creatingSuccessful: 'Created successfully!', - mapUpdateSuccessful: 'Map update successful!', - createFailure: 'Create a failure', - importSuccessful: 'Import successful!', - importFailure: 'Import failure', - updateSuccessfully: 'update successfully', - updateFailed: 'Update failed', - failedLoadCityList: 'Failed to load city list', - successfullyDelete: 'successfully delete', - failDelete: 'fail to delete', - dataValidationFailed: 'Publishing failed, data validation failed', - releaseSuccess: 'Release success!', - abnormalOperation: 'abnormal operation', - datQuestion: 'Data in question', - dataList: 'Data list', - saveFailed: 'Save failed', + failedLoadListPublishedMaps: 'Failed to load the list of published maps', + publishedMapList: 'Published Map List', + myMapList: 'My Map List', + creatingSuccessful: 'Created successfully!', + mapUpdateSuccessful: 'Map update successful!', + createFailure: 'Create a failure', + importSuccessful: 'Import successful!', + importFailure: 'Import failure', + updateSuccessfully: 'update successfully', + updateFailed: 'Update failed', + failedLoadCityList: 'Failed to load city list', + successfullyDelete: 'successfully delete', + failDelete: 'fail to delete', + dataValidationFailed: 'Publishing failed, data validation failed', + releaseSuccess: 'Release success!', + abnormalOperation: 'abnormal operation', + datQuestion: 'Data in question', + dataList: 'Data list', + saveFailed: 'Save failed', - mapEditor: 'map editor', - mapPublished: 'Map published as', - publishingAssociatedCity: 'Publishing associated city:', - publishMapName: 'Publish map name:', + mapEditor: 'map editor', + mapPublished: 'Map published as', + publishingAssociatedCity: 'Publishing associated city:', + publishMapName: 'Publish map name:', - editRoute: 'Edit route', - editRouting: 'Edit/road', - editAutoRouting: 'Edit automatic signal', - setSwitch: 'Linkage switch', - pathUnit: 'The path to the unit', - jlmap3d: '3d editing', + editRoute: 'Edit route', + editRouting: 'Edit/road', + editAutoRouting: 'Edit automatic signal', + setSwitch: 'Linkage switch', + pathUnit: 'The path to the unit', + jlmap3d: '3d editing', - automaticSignalList: 'Automatic signal list', - automaticSignalCode: 'Automatic signal coding', - signalCodeName: 'Signal name', - signalCode: 'Signal code', - sectionData: 'Section data', - preview: 'preview', - operation: 'operation', - compile: 'compile', - empty: 'empty', - reset: 'reset', - sectionName: 'name of the section', - sectionList: 'Section lists', - automaticSignal: 'automatic signal', + automaticSignalList: 'Automatic signal list', + automaticSignalCode: 'Automatic signal coding', + signalCodeName: 'Signal name', + signalCode: 'Signal code', + sectionData: 'Section data', + preview: 'preview', + operation: 'operation', + compile: 'compile', + empty: 'empty', + reset: 'reset', + sectionName: 'name of the section', + sectionList: 'Section lists', + automaticSignal: 'automatic signal', - signalID: 'Signal ID:', - activate: 'activate', + signalID: 'Signal ID:', + activate: 'activate', - pleaseSelectSignal: 'Please select the signal', - triggerSegmentData: 'Select approach to automatically trigger segment data', - automaticSignalSuccessful: 'Automatic signal creation successful!', - failedCreateSignal: 'Failed to create automatic signal', - automaticSignalUpdateSucceeded: 'Automatic signal update successful!', - automaticSignalUpdateFailed: 'Automatic signal update failed', + pleaseSelectSignal: 'Please select the signal', + triggerSegmentData: 'Select approach to automatically trigger segment data', + automaticSignalSuccessful: 'Automatic signal creation successful!', + failedCreateSignal: 'Failed to create automatic signal', + automaticSignalUpdateSucceeded: 'Automatic signal update successful!', + automaticSignalUpdateFailed: 'Automatic signal update failed', - stationName: 'The station name:', + stationName: 'The station name:', - property: 'attribute', - counterCoding: 'Counter coding:', - counterName: 'Counter name:', - belongsStation: 'Belongs to the station:', - counterType: 'Counter type:', - countMax: 'Counter maximum:', - pointX: 'coordinates x:', - pointY: 'coordinates y:', - meter: 'meter', + property: 'attribute', + counterCoding: 'Counter coding:', + counterName: 'Counter name:', + belongsStation: 'Belongs to the station:', + counterType: 'Counter type:', + countMax: 'Counter maximum:', + pointX: 'coordinates x:', + pointY: 'coordinates y:', + meter: 'meter', - code: 'code:', - imageName: 'Image name:', - imageWidth: 'Image width:', - imageHeight: 'Image height:', - imagePoint: 'Image coordinates:', - imageZindex: 'Image level:', - imageSelect: 'Image to choose:', - rotateAngle: 'Rotation Angle:', + code: 'code:', + imageName: 'Image name:', + imageWidth: 'Image width:', + imageHeight: 'Image height:', + imagePoint: 'Image coordinates:', + imageZindex: 'Image level:', + imageSelect: 'Image to choose:', + rotateAngle: 'Rotation Angle:', - areaSolution: 'Zone failure unlock', - alwaysSolution: 'Total manual unlock', + areaSolution: 'Zone failure unlock', + alwaysSolution: 'Total manual unlock', - pleaseSelectMap: 'Please select map', - selectCounterType: 'Select the counter type', - selectStation: 'Please select station', - pleaseSelectDevice: 'Please re-select the device', - pleaseSelectCountName: 'Please enter a counter name', - pleaseCounterValue: 'please enter counter maximum', - pleaseEnterXCoordinate: 'Please enter the x coordinate', - pleaseEnterYCoordinate: 'Please enter the y coordinate', - pleaseEnterDelayTime: 'Please enter delay time', - pleaseEnterFontColor: 'Please enter the font color', - pleaseEnterFontFormat: 'Please enter the font format', - pleaseEnterImageWidth: 'Please enter image width', - pleaseEnterImageHeight: 'Please enter image width', + pleaseSelectMap: 'Please select map', + selectCounterType: 'Select the counter type', + selectStation: 'Please select station', + pleaseSelectDevice: 'Please re-select the device', + pleaseSelectCountName: 'Please enter a counter name', + pleaseCounterValue: 'please enter counter maximum', + pleaseEnterXCoordinate: 'Please enter the x coordinate', + pleaseEnterYCoordinate: 'Please enter the y coordinate', + pleaseEnterDelayTime: 'Please enter delay time', + pleaseEnterFontColor: 'Please enter the font color', + pleaseEnterFontFormat: 'Please enter the font format', + pleaseEnterImageWidth: 'Please enter image width', + pleaseEnterImageHeight: 'Please enter image width', - delayUnlockingCode: 'Delay unlocking code:', - delayTime: 'Delay time:', - font: 'font:', - color: 'color:', + delayUnlockingCode: 'Delay unlocking code:', + delayTime: 'Delay time:', + font: 'font:', + color: 'color:', - upside: 'Upper section', - hypomere: 'Bottom section', - returnByGraph: 'Return by graph', + upside: 'Upper section', + hypomere: 'Bottom section', + returnByGraph: 'Return by graph', - linkType: 'The Link type', - linkCode: 'The Link code:', - linkName: 'The Link name:', - linkDisplayLength: 'Link display length:', - linkActualLength: 'Actual Link length:', - linkColor: 'The Link colors:', - linkLeftFdCode: 'Left forward Link:', - linkLeftSdCode: 'Left lateral Link:', - linkRightFdCode: 'Right forward Link:', - linkRightSdCode: 'Right lateral Link:', - linkLp: 'Link Start point coordinates:', - linkRp: 'Link End point coordinates:', + linkType: 'The Link type', + linkCode: 'The Link code:', + linkName: 'The Link name:', + linkDisplayLength: 'Link display length:', + linkActualLength: 'Actual Link length:', + linkColor: 'The Link colors:', + linkLeftFdCode: 'Left forward Link:', + linkLeftSdCode: 'Left lateral Link:', + linkRightFdCode: 'Right forward Link:', + linkRightSdCode: 'Right lateral Link:', + linkLp: 'Link Start point coordinates:', + linkRp: 'Link End point coordinates:', - linePoint: 'point:', + linePoint: 'point:', - rulesChange: 'The rules change', - splitMerge: 'Split/merge', - linkSet: 'The Link set', - selectLink: 'Select the Link', - splitOffset: 'Split offset:', - split: 'Split', - merge: 'merge', - logicBlock: 'Logical extents', - aux: 'The first', - sectionLine: 'Section of the line', - sectionPolyline: 'Section polyline', - switchSection: 'The switch section', - trainDirection: 'Direction of train:', - deleteSwitchSection: 'One key to delete the switch section', - createSwitchSection: 'One key creates the turnout section', - sectionLogicalNumber: 'Number of logical extents', - sectionLsectioncode: 'Left section name:', - sectionRsectioncode: 'Right section name:', - associatedSection: 'Associated physical section:', - blockCoding: 'Block coding:', - sectionType: 'Section type:', - sectionNameColon: 'The name of the section:', - sectionNameOffset: 'Extentname offset:', - leftKilometerMark: 'Left kilometer mark (meter):', - rightKilometerMark: 'Right kilometer mark (meter):', - sectionColon: 'interval:', - displayExtentName: 'Whether to display the extent name:', - displayAxleCounter: 'Whether to display axis gauge:', - displayLogicalExtents: 'Whether to display logical extents:', - displayLogicalWxtentNames: 'Whether to display logical extent names:', - isStandTrack: 'Platform rail:', - standTrackName: 'Platform track name:', - standTrackNamePosition: 'Platform track name offset:', - relStandCode: 'The platform code:', - isReentryTrack: 'Whether to return to orbit:', - reentryTrackName: 'Name of reentrant rail:', - reentryTrackNamePosition: 'Backtrack name offset:', - isTransferTrack: 'Conversion rail:', - transferTrackName: 'Transfer rail name:', - transferTrackNamePosition: 'Conversion rail name offset:', - destinationCode: 'Destination code:', - destinationCodePoint: 'Destination code coordinates:', - destinationCodeShow: 'Whether to display destination code:', - leftStopPointOffset: 'Left stop point offset:', - rightStopPointOffset: 'Right stop point offset:', - isSwitchSection: 'Whether switch section:', - relSwitchCode: 'Relate turnout Code:', - logicSectionNameSort: 'Logical extent sort:', - fromSmallToLarge: 'From small to big', - fromLargeToSmall: 'From big to small', - relevanceLinkCode: 'The associated Link:', - sepTypeLeft: 'The left delimiter type:', - sectionOffsetLeft: 'Left Link offset:', - sepTypeRight: 'Right separator type:', - sectionOffsetRight: 'Right Link offset:', - isSegmentation: 'Whether or not split:', - segmentationPosition: 'The default setting:', - isCurve: 'Whether the curve:', - physicalSegmentName: 'Physical segment name:', + rulesChange: 'The rules change', + splitMerge: 'Split/merge', + linkSet: 'The Link set', + selectLink: 'Select the Link', + splitOffset: 'Split offset:', + split: 'Split', + merge: 'merge', + logicBlock: 'Logical extents', + aux: 'The first', + sectionLine: 'Section of the line', + sectionPolyline: 'Section polyline', + switchSection: 'The switch section', + trainDirection: 'Direction of train:', + deleteSwitchSection: 'One key to delete the switch section', + createSwitchSection: 'One key creates the turnout section', + sectionLogicalNumber: 'Number of logical extents', + sectionLsectioncode: 'Left section name:', + sectionRsectioncode: 'Right section name:', + associatedSection: 'Associated physical section:', + blockCoding: 'Block coding:', + sectionType: 'Section type:', + sectionNameColon: 'The name of the section:', + sectionNameOffset: 'Extentname offset:', + leftKilometerMark: 'Left kilometer mark (meter):', + rightKilometerMark: 'Right kilometer mark (meter):', + sectionColon: 'interval:', + displayExtentName: 'Whether to display the extent name:', + displayAxleCounter: 'Whether to display axis gauge:', + displayLogicalExtents: 'Whether to display logical extents:', + displayLogicalWxtentNames: 'Whether to display logical extent names:', + isStandTrack: 'Platform rail:', + standTrackName: 'Platform track name:', + standTrackNamePosition: 'Platform track name offset:', + relStandCode: 'The platform code:', + isReentryTrack: 'Whether to return to orbit:', + reentryTrackName: 'Name of reentrant rail:', + reentryTrackNamePosition: 'Backtrack name offset:', + isTransferTrack: 'Conversion rail:', + transferTrackName: 'Transfer rail name:', + transferTrackNamePosition: 'Conversion rail name offset:', + destinationCode: 'Destination code:', + destinationCodePoint: 'Destination code coordinates:', + destinationCodeShow: 'Whether to display destination code:', + leftStopPointOffset: 'Left stop point offset:', + rightStopPointOffset: 'Right stop point offset:', + isSwitchSection: 'Whether switch section:', + relSwitchCode: 'Relate turnout Code:', + logicSectionNameSort: 'Logical extent sort:', + fromSmallToLarge: 'From small to big', + fromLargeToSmall: 'From big to small', + relevanceLinkCode: 'The associated Link:', + sepTypeLeft: 'The left delimiter type:', + sectionOffsetLeft: 'Left Link offset:', + sepTypeRight: 'Right separator type:', + sectionOffsetRight: 'Right Link offset:', + isSegmentation: 'Whether or not split:', + segmentationPosition: 'The default setting:', + isCurve: 'Whether the curve:', + physicalSegmentName: 'Physical segment name:', - directionType: 'Form the direction:', - leftOrRight: 'About the position:', - positionType: 'Upper and lower position:', + directionType: 'Form the direction:', + leftOrRight: 'About the position:', + positionType: 'Upper and lower position:', - signalFilamentAlarm: 'Filament alarm', - signalCodeColon: 'Signal code:', - signalNameColon: 'Signal name:', - signalUniqueName: 'Unique name of signal:', - signalDisplayName: 'signal name is displayed:', - lampPostType: 'lamp type:', - lampPositionType: 'Lamp type:', - signalUseType: 'Use the type:', - potLampType: 'Light type:', - signalDirectionType: 'The direction of the type:', - signalDirectionTypeX: 'The direction of the type:', - signalPositionType: 'Signal position type:', - signalOffset: 'The offset:', - signalPositionX: 'Signal x:', - signalPositionY: 'Signal y:', - signalNamePositionX: 'Signal name offset x:', - signalNamePositionY: 'Signal name offset y:', - signalButtonShow: 'Display button:', - signalButtonPositionX: 'button x:', - signalButtonPositionY: 'button y:', - signalGuideShow: 'Whether the boot semaphore is displayed:', - signalGuidePositionX: 'Guiding signal x:', - signalGuidePositionY: 'Guiding signal y:', + signalFilamentAlarm: 'Filament alarm', + signalCodeColon: 'Signal code:', + signalNameColon: 'Signal name:', + signalUniqueName: 'Unique name of signal:', + signalDisplayName: 'signal name is displayed:', + lampPostType: 'lamp type:', + lampPositionType: 'Lamp type:', + signalUseType: 'Use the type:', + potLampType: 'Light type:', + signalDirectionType: 'The direction of the type:', + signalDirectionTypeX: 'The direction of the type:', + signalPositionType: 'Signal position type:', + signalOffset: 'The offset:', + signalPositionX: 'Signal x:', + signalPositionY: 'Signal y:', + signalNamePositionX: 'Signal name offset x:', + signalNamePositionY: 'Signal name offset y:', + signalButtonShow: 'Display button:', + signalButtonPositionX: 'button x:', + signalButtonPositionY: 'button y:', + signalGuideShow: 'Whether the boot semaphore is displayed:', + signalGuidePositionX: 'Guiding signal x:', + signalGuidePositionY: 'Guiding signal y:', - concentrateStationCode: 'Interlocking station coding:', - stationCode: 'The station code:', - zcCode: 'Zc region:', - centralized: 'Centralized station or not:', - stationRunPlanName: 'True name:', - stationVisible: 'Whether or not shown:', - stationNameFont: 'The font:', - stationNameFontColor: 'Station font color:', - stationKmPostShow: 'Whether to display the name of the kilometer marker:', - stationKmRange: 'Kilometer mark distance:', - stationKmPost: 'Kilometer mark name:', - stationKmPostFont: 'Kilometer mark font:', - stationKmPostFontColor: 'Font color of kilometer mark:', - stationPositionX: 'X coordinate:', - stationPositionY: 'Y coordinate:', - stationPosition: 'Station position:', + concentrateStationCode: 'Interlocking station coding:', + stationCode: 'The station code:', + zcCode: 'Zc region:', + centralized: 'Centralized station or not:', + stationRunPlanName: 'True name:', + stationVisible: 'Whether or not shown:', + stationNameFont: 'The font:', + stationNameFontColor: 'Station font color:', + stationKmPostShow: 'Whether to display the name of the kilometer marker:', + stationKmRange: 'Kilometer mark distance:', + stationKmPost: 'Kilometer mark name:', + stationKmPostFont: 'Kilometer mark font:', + stationKmPostFontColor: 'Font color of kilometer mark:', + stationPositionX: 'X coordinate:', + stationPositionY: 'Y coordinate:', + stationPosition: 'Station position:', - stationControlCode: 'Control mode coding:', - stationControlName: 'Control mode name:', - zokContent: 'Central content:', - zakContent: 'Stand accused of content:', - jjzkContent: 'Emergency station control/general alarm content:', - zzkContent: 'Station control content:', - stationControlZok: 'central', + stationControlCode: 'Control mode coding:', + stationControlName: 'Control mode name:', + zokContent: 'Central content:', + zakContent: 'Stand accused of content:', + jjzkContent: 'Emergency station control/general alarm content:', + zzkContent: 'Station control content:', + stationControlZok: 'central', - skinStyleColon: 'Skin type:', - skinDesignation: 'SkinName', - skinCoding: 'SkinCoding', - coordinatesOrigin: 'CoordinatesOrigin', - addMapSkin: 'AddMapSkin', - updateMapSkin: 'UpdateMapSkin', - stationKilometerMark: 'StationKilometerMark', - arrivalTime: 'ArrivalTime', - operationGraphPublished: 'The operation diagram is published as', - operationGraphName: 'OperationGraphName:', - createOperationGraph: 'CreateOperationGraph', - importOperationGraph: 'ImportOperationGraph', - publishOperationGraph: 'PublishOperationGraph', - deleteOperationGraph: 'DeleteOperationGraph', - mapList: 'MapList', - import: 'Import', - createNewOperationGraph: 'CreateNewOperationGraph', - setOperatingSpeed: 'SetOperatingSpeed', - speedClass1: 'SpeedLevel 1', - speedClass2: 'SpeedLevel 2', - speedClass3: 'SpeedLevel 3', - speedClass4: 'SpeedLevel 4', - name: 'name', - startingRunningDirection: 'StartingRunningDirection', - timeBetweenDepartures: 'TimeBetweenDepartures', - stopTime: 'StopTime', - entranceStation: 'EntranceStation', - exportStation: 'ExportStation', - validityCheck: 'ValidityCheck', - setupOperationGraph: 'SetupOperationGraph', - selectOperationGraphDataRange: 'SelectOperationGraphDataRange', - to: 'to', - selectionTimeRange: 'Please select time range', - pointSystem1: 'OnePointSystem', - pointSystem2: 'TwoPointSystem', - pointSystem5: 'FivePointSystem', - skinType: 'SkinType', - turnoverTime: 'TurnoverTime', - productList: 'ProductList', - belongsToMapName: 'BelongsToMapName', - productType: 'ProductType', - productCode: 'ProductCode', - productName: 'ProductName', - createProductCategories: 'Create product categories', - productDescription: 'ProductDescription', - associateTrainingTypes: 'AssociateTrainingTypes', - createTrainingCategories: 'CreateTrainingCategories', - editTraining: 'Edit product categories', - productCategories: 'The product category', - selectOperation: 'Please select operation', - editTrainingCategories: 'EditTrainingCategories', - linkWidth: 'LinkWidth', - maxLinkWidth: '(Link width is at most 20)', - sectionWidth: 'SectionWidth', - maxSectionWidth: '(Section width is maximum 30)', - showWatermarkOrNot: 'ShowWatermarkOrNot', - stationstandName: 'Select station name:', - stationstandDirection: 'Direction of the platform:', - stationstandHasDoor: 'Whether to display screen door:', - stationstandNameColon: 'Name of the platform:', - stationstandTopBottom: 'Up-and-down direction:', - stationstandShowName: 'Show name or not:', - stationstandWidth: 'width w:', - stationstandHeight: 'highly h:', + skinStyleColon: 'Skin type:', + skinDesignation: 'SkinName', + skinCoding: 'SkinCoding', + coordinatesOrigin: 'CoordinatesOrigin', + addMapSkin: 'AddMapSkin', + updateMapSkin: 'UpdateMapSkin', + stationKilometerMark: 'StationKilometerMark', + arrivalTime: 'ArrivalTime', + operationGraphPublished: 'The operation diagram is published as', + operationGraphName: 'OperationGraphName:', + createOperationGraph: 'CreateOperationGraph', + importOperationGraph: 'ImportOperationGraph', + publishOperationGraph: 'PublishOperationGraph', + deleteOperationGraph: 'DeleteOperationGraph', + mapList: 'MapList', + import: 'Import', + createNewOperationGraph: 'CreateNewOperationGraph', + setOperatingSpeed: 'SetOperatingSpeed', + speedClass1: 'SpeedLevel 1', + speedClass2: 'SpeedLevel 2', + speedClass3: 'SpeedLevel 3', + speedClass4: 'SpeedLevel 4', + name: 'name', + startingRunningDirection: 'StartingRunningDirection', + timeBetweenDepartures: 'TimeBetweenDepartures', + stopTime: 'StopTime', + entranceStation: 'EntranceStation', + exportStation: 'ExportStation', + validityCheck: 'ValidityCheck', + setupOperationGraph: 'SetupOperationGraph', + selectOperationGraphDataRange: 'SelectOperationGraphDataRange', + to: 'to', + selectionTimeRange: 'Please select time range', + pointSystem1: 'OnePointSystem', + pointSystem2: 'TwoPointSystem', + pointSystem5: 'FivePointSystem', + skinType: 'SkinType', + turnoverTime: 'TurnoverTime', + productList: 'ProductList', + belongsToMapName: 'BelongsToMapName', + productType: 'ProductType', + productCode: 'ProductCode', + productName: 'ProductName', + createProductCategories: 'Create product categories', + productDescription: 'ProductDescription', + associateTrainingTypes: 'AssociateTrainingTypes', + createTrainingCategories: 'CreateTrainingCategories', + editTraining: 'Edit product categories', + productCategories: 'The product category', + selectOperation: 'Please select operation', + editTrainingCategories: 'EditTrainingCategories', + linkWidth: 'LinkWidth', + maxLinkWidth: '(Link width is at most 20)', + sectionWidth: 'SectionWidth', + maxSectionWidth: '(Section width is maximum 30)', + showWatermarkOrNot: 'ShowWatermarkOrNot', + stationstandName: 'Select station name:', + stationstandDirection: 'Direction of the platform:', + stationstandHasDoor: 'Whether to display screen door:', + stationstandNameColon: 'Name of the platform:', + stationstandTopBottom: 'Up-and-down direction:', + stationstandShowName: 'Show name or not:', + stationstandWidth: 'width w:', + stationstandHeight: 'highly h:', - switchCode: 'Switch coding:', - switchName: 'The name of the switch:', - switchNameC: 'The name of the switch', - switchShowName: 'Whether the switch name is displayed:', - switchPositionX: 'Switch name x offset:', - switchPositionY: 'Switch name y offset:', - switchPosition: 'Switch name offset:', - turnTime: 'The switch changes time:', - timeoutShow: 'Whether to display switch countdown time:', - sectionACode: 'Associated with A Section Code:', - sectionBCode: 'Associated with B Section Code:', - sectionCCode: 'Associated with C Section Code:', - switchTpX: 'Time x offset:', - switchTpY: 'Time y offset:', + switchCode: 'Switch coding:', + switchName: 'The name of the switch:', + switchNameC: 'The name of the switch', + switchShowName: 'Whether the switch name is displayed:', + switchPositionX: 'Switch name x offset:', + switchPositionY: 'Switch name y offset:', + switchPosition: 'Switch name offset:', + turnTime: 'The switch changes time:', + timeoutShow: 'Whether to display switch countdown time:', + sectionACode: 'Associated with A Section Code:', + sectionBCode: 'Associated with B Section Code:', + sectionCCode: 'Associated with C Section Code:', + switchTpX: 'Time x offset:', + switchTpY: 'Time y offset:', - textCode: 'Literal encoding:', - textContent: 'The text content:', - textFont: 'Font format:', - textFontColor: 'The font color:', + textCode: 'Literal encoding:', + textContent: 'The text content:', + textFont: 'Font format:', + textFontColor: 'The font color:', - trainCode: 'Train number:', - groupNumber: 'The number of:', - groupNumberInterval: 'Group number interval:', - modelCode: 'Car type:', + trainCode: 'Train number:', + groupNumber: 'The number of:', + groupNumberInterval: 'Group number interval:', + modelCode: 'Car type:', - trainmodelCreate: 'New car type', - trainmodelUpdate: 'Update train model', - trainTypeName: 'Train type name:', - trainLength: 'The length of the train:', - trainSafeDistance: 'A safe distance from:', - trainMaxSafeDistance: 'Maximum safe distance:', - averageVelocity: 'The average velocity:', - averageDeceleration: 'Mean deceleration:', - defaultVelocity: 'The default rate:', - maxVelocity: 'Maximum speed:', + trainmodelCreate: 'New car type', + trainmodelUpdate: 'Update train model', + trainTypeName: 'Train type name:', + trainLength: 'The length of the train:', + trainSafeDistance: 'A safe distance from:', + trainMaxSafeDistance: 'Maximum safe distance:', + averageVelocity: 'The average velocity:', + averageDeceleration: 'Mean deceleration:', + defaultVelocity: 'The default rate:', + maxVelocity: 'Maximum speed:', - trainWindowCode: 'Number window code:', - trainWindowWidth: 'Train window width:', - trainWindowHeight: 'Number window height:', - trainWindowSectionCode: 'Related sections:', + trainWindowCode: 'Number window code:', + trainWindowWidth: 'Train window width:', + trainWindowHeight: 'Number window height:', + trainWindowSectionCode: 'Related sections:', - deleteTrainWindow: 'Delete the number window with one click', - createTrainWindow: 'Create a train window with one click', + deleteTrainWindow: 'Delete the number window with one click', + createTrainWindow: 'Create a train window with one click', - showZc: 'Whether or not visible:', - interconnected: 'Interlock control name', - stationControlPosition: 'Control mode coordinates:', + showZc: 'Whether or not visible:', + interconnected: 'Interlock control name', + stationControlPosition: 'Control mode coordinates:', - pathUnitList: 'Path unit list', - startSectionCode: 'Starting stop', - endSectionCode: 'Terminal stop', - pathUnitCode: 'Path unit code', - pathUnitMapName: 'Map name', - orderNum: 'priority', - pathName: 'In the name of the', - startingSignalName: 'Name of starting signal', - endingSignalName: 'Name of terminal signal', + pathUnitList: 'Path unit list', + startSectionCode: 'Starting stop', + endSectionCode: 'Terminal stop', + pathUnitCode: 'Path unit code', + pathUnitMapName: 'Map name', + orderNum: 'priority', + pathName: 'In the name of the', + startingSignalName: 'Name of starting signal', + endingSignalName: 'Name of terminal signal', - routeID: 'Route ID', - routeName: 'In the name of the:', - routeStationName: 'Station name', + routeID: 'Route ID', + routeName: 'In the name of the:', + routeStationName: 'Station name', - startSectionCodeColon: 'Starting stop:', - endSectionCodeColon: 'Terminal stop:', + startSectionCodeColon: 'Starting stop:', + endSectionCodeColon: 'Terminal stop:', - routePreview: 'In the preview', - accessType: 'Access property type', - automaticAccessType: 'Automatic access type', - nearSectionCode: 'Close to segment name', - continueProtectSwitchData: 'Continue to protect switch data', - accessSideTurnoutData: 'Access side turnout data', + routePreview: 'In the preview', + accessType: 'Access property type', + automaticAccessType: 'Automatic access type', + nearSectionCode: 'Close to segment name', + continueProtectSwitchData: 'Continue to protect switch data', + accessSideTurnoutData: 'Access side turnout data', - turnBackRailName: 'Name of reentrant rail', - routeSegmentData: 'The approach automatically triggers the segment data', - routeProtectsData: 'Path continuation protects segment data', - accessPhysical: 'Access physical segment data', - routeAccessScreenData: 'Access screen door data', - routeAccessTurnoutData: 'access switch data ', - hostileApproachData: 'hostileApproachData ', - professor: 'relation', - associatedRoute: 'associatedRoute:', + turnBackRailName: 'Name of reentrant rail', + routeSegmentData: 'The approach automatically triggers the segment data', + routeProtectsData: 'Path continuation protects segment data', + accessPhysical: 'Access physical segment data', + routeAccessScreenData: 'Access screen door data', + routeAccessTurnoutData: 'access switch data ', + hostileApproachData: 'hostileApproachData ', + professor: 'relation', + associatedRoute: 'associatedRoute:', - associatedHostileRecord: 'Associated hostile record', - routeArc: 'Whether automatic tracking/interlock triggers automatically:', - routeFlt: 'Whether convoy/interlock automatic approach:', - delayUnlockingTime: 'Delay unlocking time:', - accessTypeColon: 'Access property type:', + associatedHostileRecord: 'Associated hostile record', + routeArc: 'Whether automatic tracking/interlock triggers automatically:', + routeFlt: 'Whether convoy/interlock automatic approach:', + delayUnlockingTime: 'Delay unlocking time:', + accessTypeColon: 'Access property type:', - automaticAccessTypeColon: 'Automatic access type:', - startSignalId: 'Initial signal ID:', - endSignalId: 'Terminal signal machine ID:', + automaticAccessTypeColon: 'Automatic access type:', + startSignalId: 'Initial signal ID:', + endSignalId: 'Terminal signal machine ID:', - switchType: 'Switch type', - switchId: 'Switch ID', - accessSwitchList: 'Access turnout data:', - accessStandList: 'Access screen door data:', - accessSectionList: 'Access physical segment data:', - turnBackSectionCode: 'Turn back track ID:', - routeFlankProtectionList: 'Side turnout data:', - routeOverlapSwitchList: 'Continue to protect switch data:', - routeOverlapSectionList: 'Path continuation protects segment data:', - routeTriggerSectionList: 'The approach automatically triggers the segment data:', - nearSectionCodeColon: 'Close to extent ID:', + switchType: 'Switch type', + switchId: 'Switch ID', + accessSwitchList: 'Access turnout data:', + accessStandList: 'Access screen door data:', + accessSectionList: 'Access physical segment data:', + turnBackSectionCode: 'Turn back track ID:', + routeFlankProtectionList: 'Side turnout data:', + routeOverlapSwitchList: 'Continue to protect switch data:', + routeOverlapSectionList: 'Path continuation protects segment data:', + routeTriggerSectionList: 'The approach automatically triggers the segment data:', + nearSectionCodeColon: 'Close to extent ID:', - thenList: 'Then list', - startStation: 'Originating station', - endStation: 'Into standing', + thenList: 'Then list', + startStation: 'Originating station', + endStation: 'Into standing', - routingCode: 'Routing code', - routingName: 'Pay the road name', - startStationCodeColon: 'Originating station:', - startStationCode: 'The starting platform', - endStationCode: 'Into the platform', - destination: 'destination', - routingDirection: 'The direction of', - remarks: 'describe', - remarksColon: 'describe:', - trafficSegmentData: 'Traffic segment data:', - startSectionColon: 'The starting blocks:', - endStationColon: 'Into standing:', - endSectionColon: 'Into sections:', + routingCode: 'Routing code', + routingName: 'Pay the road name', + startStationCodeColon: 'Originating station:', + startStationCode: 'The starting platform', + endStationCode: 'Into the platform', + destination: 'destination', + routingDirection: 'The direction of', + remarks: 'describe', + remarksColon: 'describe:', + trafficSegmentData: 'Traffic segment data:', + startSectionColon: 'The starting blocks:', + endStationColon: 'Into standing:', + endSectionColon: 'Into sections:', - stationCodeClomn: 'The station code', - blockCodingClomn: 'Block coding', + stationCodeClomn: 'The station code', + blockCodingClomn: 'Block coding', - routing: 'Pay the way', + routing: 'Pay the way', - linkageSwitchList: 'Linkage switch list', + linkageSwitchList: 'Linkage switch list', - switchACode: 'Switch number 1', - switchBCode: 'Switch number 2', + switchACode: 'Switch number 1', + switchBCode: 'Switch number 2', - switchACodeNum: 'Switch ID 1:', - switchBCodeNum: 'Switch ID 2:', + switchACodeNum: 'Switch ID 1:', + switchBCodeNum: 'Switch ID 2:', - wellDelTrianModel: 'Deleting the train model will delete the associated class cars together, please confirm whether to continue?', - clear: 'Clear', + wellDelTrianModel: 'Deleting the train model will delete the associated class cars together, please confirm whether to continue?', + clear: 'Clear', - horizontal: 'Horizontal', - vertical: 'Vertical', - piece: 'piece' + horizontal: 'Horizontal', + vertical: 'Vertical', + piece: 'piece', + setStationCode: 'Batch set up centralized station' }; diff --git a/src/i18n/langs/en/rules.js b/src/i18n/langs/en/rules.js index dd7f33e2a..31c838279 100644 --- a/src/i18n/langs/en/rules.js +++ b/src/i18n/langs/en/rules.js @@ -36,6 +36,8 @@ export default { sectionRelSwitchCode: 'sectionRelSwitchCode', pleaseSelectSectionName: 'Select the section name', + pleaseSelectSection: 'Select the section', + pleaseSelectStationCode: 'Select the section station code', pleaseFillOffset: 'Please fill in the offset', pleaseFillValue: 'Please fill in the value', pleaseSelectLeftSectionName: 'Please select the left section name', diff --git a/src/i18n/langs/zh/map.js b/src/i18n/langs/zh/map.js index 42cd7befb..441f92de1 100644 --- a/src/i18n/langs/zh/map.js +++ b/src/i18n/langs/zh/map.js @@ -1,544 +1,545 @@ export default { - drawData: '绘图数据', - mapData: '地图数据', - pleaseSelect: '请选择', - pleaseEnter: '请输入', - sketchMap: '草稿地图列表', - newConstruction: '新建', - bothCreate: '批量生成', - importMap: '导入', - createNewMap: '新建地图', - normalCreate: '正常创建', - saveMapAs: '地图另存为', - create: '创建', - dataVerification: '数据校验', - edit3d: '三维编辑', - logicalView: '逻辑视图', - physicalView: '物理视图', - mixedView: '混合视图', - normal: '正常', - add: '添加', - are: '是', - deny: '否', - drawMap: '绘图', - advanced: '高级', - viewLayer: '显示', - layerDisplay: '显示', - viewShows: '视图显示', - contentShows: '设备显示', - createBatch: '批量创建', - deleteBoth: '批量删除', + drawData: '绘图数据', + mapData: '地图数据', + pleaseSelect: '请选择', + pleaseEnter: '请输入', + sketchMap: '草稿地图列表', + newConstruction: '新建', + bothCreate: '批量生成', + importMap: '导入', + createNewMap: '新建地图', + normalCreate: '正常创建', + saveMapAs: '地图另存为', + create: '创建', + dataVerification: '数据校验', + edit3d: '三维编辑', + logicalView: '逻辑视图', + physicalView: '物理视图', + mixedView: '混合视图', + normal: '正常', + add: '添加', + are: '是', + deny: '否', + drawMap: '绘图', + advanced: '高级', + viewLayer: '显示', + layerDisplay: '显示', + viewShows: '视图显示', + contentShows: '设备显示', + createBatch: '批量创建', + deleteBoth: '批量删除', - save: '保存', - updata: '更新', - updateObj: '修改', - updateObjAxis: '更新坐标', - saveAs: '另存为', - publish: '发布', - publishMap: '发布地图', - deleteObj: '删除', - remove: '移除', - lastStep: '上一步', - confirm: '确 定', - cancel: '取 消', + save: '保存', + updata: '更新', + updateObj: '修改', + updateObjAxis: '更新坐标', + saveAs: '另存为', + publish: '发布', + publishMap: '发布地图', + deleteObj: '删除', + remove: '移除', + lastStep: '上一步', + confirm: '确 定', + cancel: '取 消', - link: 'link', - section: '区段', - switch: '道岔', - signal: '信号机', - zcZoneControl: 'zc区域控制', - temporaryLimit: '全线临时限速', - lcControl: 'Lc控制', - buttonControl: '按钮', - image: '图片', - station: '车站', - controlMode: '控制模式', - platform: '站台', - counter: '计数器', - delayUnlock: '延迟解锁', - train: '列车', - trainWindow: '车次窗', - line: '线条', - text: '文字', - button: '按钮', + link: 'link', + section: '区段', + switch: '道岔', + signal: '信号机', + zcZoneControl: 'zc区域控制', + temporaryLimit: '全线临时限速', + lcControl: 'Lc控制', + buttonControl: '按钮', + image: '图片', + station: '车站', + controlMode: '控制模式', + platform: '站台', + counter: '计数器', + delayUnlock: '延迟解锁', + train: '列车', + trainWindow: '车次窗', + line: '线条', + text: '文字', + button: '按钮', - mapName: '地图名称:', - skinName: '皮肤:', - selectCity: '所属城市:', - offsetXColon: 'X偏移:', - offsetYColon: 'Y偏移:', - scalingColon: '缩放比例:', - operationUnusual: '操作异常:', - offsetX: 'X偏移', - offsetY: 'Y偏移', - scaling: '缩放比例', - statusSignalName: '状态信号名称:', - stateSignalsPlotCoordinates: '状态信号画图坐标:', - equipmentStation: '所属设备集中站:', + mapName: '地图名称:', + skinName: '皮肤:', + selectCity: '所属城市:', + offsetXColon: 'X偏移:', + offsetYColon: 'Y偏移:', + scalingColon: '缩放比例:', + operationUnusual: '操作异常:', + offsetX: 'X偏移', + offsetY: 'Y偏移', + scaling: '缩放比例', + statusSignalName: '状态信号名称:', + stateSignalsPlotCoordinates: '状态信号画图坐标:', + equipmentStation: '所属设备集中站:', - lineCoding: '线条编码:', - lineType: '线条类型:', - lineWidth: '线条宽度:', - linePoint: '坐标:', - segmentCoordinates: '区段显示坐标:', - createSection: '一键生成区段', - createSwitch: '一键生成道岔', - clearHint: '清除提示', - batchOperation: '批量操作', - breakUpNumber: '拆分数量', + lineCoding: '线条编码:', + lineType: '线条类型:', + lineWidth: '线条宽度:', + linePoint: '坐标:', + segmentCoordinates: '区段显示坐标:', + createSection: '一键生成区段', + createSwitch: '一键生成道岔', + clearHint: '清除提示', + batchOperation: '批量操作', + breakUpNumber: '拆分数量', - publishMapCreation: '从发布地图创建', + publishMapCreation: '从发布地图创建', - failedLoadListPublishedMaps: '加载已发布地图列表失败', - publishedMapList: '已发布地图列表', - myMapList: '我的地图列表', + failedLoadListPublishedMaps: '加载已发布地图列表失败', + publishedMapList: '已发布地图列表', + myMapList: '我的地图列表', - creatingSuccessful: '创建成功!', - mapUpdateSuccessful: '更新地图成功!', - createFailure: '创建失败', - importSuccessful: '导入成功!', - importFailure: '导入失败', - updateSuccessfully: '更新成功', - updateFailed: '更新失败', - failedLoadCityList: '加载城市列表失败', - successfullyDelete: '删除成功', - failDelete: '删除失败', - dataValidationFailed: '发布失败,数据校验不通过', - releaseSuccess: '发布成功!', - abnormalOperation: '操作异常', - datQuestion: '有问题数据', - dataList: '数据列表', - saveFailed: '另存失败', + creatingSuccessful: '创建成功!', + mapUpdateSuccessful: '更新地图成功!', + createFailure: '创建失败', + importSuccessful: '导入成功!', + importFailure: '导入失败', + updateSuccessfully: '更新成功', + updateFailed: '更新失败', + failedLoadCityList: '加载城市列表失败', + successfullyDelete: '删除成功', + failDelete: '删除失败', + dataValidationFailed: '发布失败,数据校验不通过', + releaseSuccess: '发布成功!', + abnormalOperation: '操作异常', + datQuestion: '有问题数据', + dataList: '数据列表', + saveFailed: '另存失败', - mapEditor: '地图编辑', - mapPublished: '地图发布为', - publishingAssociatedCity: '发布关联城市:', - publishMapName: '发布地图名称:', + mapEditor: '地图编辑', + mapPublished: '地图发布为', + publishingAssociatedCity: '发布关联城市:', + publishMapName: '发布地图名称:', - editRoute: '编辑进路', - editRouting: '编辑交路', - editAutoRouting: '编辑自动信号', - setSwitch: '联动道岔', - pathUnit: '路径单元', - jlmap3d: '三维编辑', + editRoute: '编辑进路', + editRouting: '编辑交路', + editAutoRouting: '编辑自动信号', + setSwitch: '联动道岔', + pathUnit: '路径单元', + jlmap3d: '三维编辑', - automaticSignalList: '自动信号列表', - automaticSignalCode: '自动信号编码', - signalCodeName: '信号机名称', - signalCode: '信号机code', - sectionData: '区段列表', - preview: '预览', - operation: '操作', - compile: '编辑', - empty: '清空', - reset: '重置', - sectionName: '区段名称', - sectionList: '区段列表', - automaticSignal: '自动信号', + automaticSignalList: '自动信号列表', + automaticSignalCode: '自动信号编码', + signalCodeName: '信号机名称', + signalCode: '信号机code', + sectionData: '区段列表', + preview: '预览', + operation: '操作', + compile: '编辑', + empty: '清空', + reset: '重置', + sectionName: '区段名称', + sectionList: '区段列表', + automaticSignal: '自动信号', - signalID: '信号机:', - activate: '激活', + signalID: '信号机:', + activate: '激活', - pleaseSelectSignal: '请选择信号机', - triggerSegmentData: '请选择进路自动触发区段', - automaticSignalSuccessful: '创建自动信号成功!', - failedCreateSignal: '创建自动信号失败', - automaticSignalUpdateSucceeded: '更新自动信号成功!', - automaticSignalUpdateFailed: '更新自动信号失败', - interconnected: '联锁控名称', - buttonType: '所属类型', + pleaseSelectSignal: '请选择信号机', + triggerSegmentData: '请选择进路自动触发区段', + automaticSignalSuccessful: '创建自动信号成功!', + failedCreateSignal: '创建自动信号失败', + automaticSignalUpdateSucceeded: '更新自动信号成功!', + automaticSignalUpdateFailed: '更新自动信号失败', + interconnected: '联锁控名称', + buttonType: '所属类型', - stationName: '车站名称:', + stationName: '车站名称:', - property: '属性', - counterCoding: '计数器编码:', - counterName: '计数器名称:', - belongsStation: '所属车站:', - counterType: '计数器类型:', - countMax: '计数器最大值:', - pointX: '坐标 x:', - pointY: '坐标 y:', - meter: '米', + property: '属性', + counterCoding: '计数器编码:', + counterName: '计数器名称:', + belongsStation: '所属车站:', + counterType: '计数器类型:', + countMax: '计数器最大值:', + pointX: '坐标 x:', + pointY: '坐标 y:', + meter: '米', - code: '编码:', - codeC: '编码', - imageName: '图片名称:', - imageWidth: '图片宽度:', - imageHeight: '图片高度:', - imagePoint: '图片坐标:', - imageZindex: '图片层级:', - imageSelect: '图片选择:', - rotateAngle: '旋转角度:', + code: '编码:', + codeC: '编码', + imageName: '图片名称:', + imageWidth: '图片宽度:', + imageHeight: '图片高度:', + imagePoint: '图片坐标:', + imageZindex: '图片层级:', + imageSelect: '图片选择:', + rotateAngle: '旋转角度:', - areaSolution: '区故解', - alwaysSolution: '总人解', + areaSolution: '区故解', + alwaysSolution: '总人解', - pleaseSelectMap: '请选择地图', - selectCounterType: '请选择计数器类型', - selectStation: '请选择车站', - pleaseSelectDevice: '请重新选择设备', - pleaseSelectCountName: '请输入计数器名称', - pleaseCounterValue: '请输入计数器最大值', - pleaseEnterXCoordinate: '请输入x坐标', - pleaseEnterYCoordinate: '请输入y坐标', - pleaseEnterDelayTime: '请输入延时时间', - pleaseEnterFontColor: '请输入字体颜色', - pleaseEnterFontFormat: '请输入字体格式', - pleaseEnterImageWidth: '请输入图片宽度', - pleaseEnterImageHeight: '请输入图片高度', + pleaseSelectMap: '请选择地图', + selectCounterType: '请选择计数器类型', + selectStation: '请选择车站', + pleaseSelectDevice: '请重新选择设备', + pleaseSelectCountName: '请输入计数器名称', + pleaseCounterValue: '请输入计数器最大值', + pleaseEnterXCoordinate: '请输入x坐标', + pleaseEnterYCoordinate: '请输入y坐标', + pleaseEnterDelayTime: '请输入延时时间', + pleaseEnterFontColor: '请输入字体颜色', + pleaseEnterFontFormat: '请输入字体格式', + pleaseEnterImageWidth: '请输入图片宽度', + pleaseEnterImageHeight: '请输入图片高度', - delayUnlockingCode: '延时解锁编码:', - delayTime: '延时时间:', - font: '字体:', - color: '颜色:', + delayUnlockingCode: '延时解锁编码:', + delayTime: '延时时间:', + font: '字体:', + color: '颜色:', - upside: '上段', - hypomere: '下段', - returnByGraph: '按图折返', + upside: '上段', + hypomere: '下段', + returnByGraph: '按图折返', - linkType: 'Link类型', - linkCode: 'Link编码:', - linkName: 'Link名称:', - linkDisplayLength: 'Link显示长度:', - linkActualLength: 'Link实际长度:', - linkColor: 'Link颜色:', - linkLeftFdCode: '左侧正向Link:', - linkLeftSdCode: '左侧侧向Link:', - linkRightFdCode: '右侧正向Link:', - linkRightSdCode: '右侧侧向Link:', - linkLp: 'Link 起点坐标:', - linkRp: 'Link 终点坐标:', + linkType: 'Link类型', + linkCode: 'Link编码:', + linkName: 'Link名称:', + linkDisplayLength: 'Link显示长度:', + linkActualLength: 'Link实际长度:', + linkColor: 'Link颜色:', + linkLeftFdCode: '左侧正向Link:', + linkLeftSdCode: '左侧侧向Link:', + linkRightFdCode: '右侧正向Link:', + linkRightSdCode: '右侧侧向Link:', + linkLp: 'Link 起点坐标:', + linkRp: 'Link 终点坐标:', - rulesChange: '规则修改', - splitMerge: '拆分/合并', - linkSet: 'Link集合', - selectLink: '选择Link', - splitOffset: '拆分偏移量:', - split: '拆分', - merge: '合并', - logicBlock: '逻辑区段', - aux: '第', - sectionLine: '段折线', - sectionPolyline: '区段折线', - switchSection: '道岔区段', - trainDirection: '列车所在方向:', - deleteSwitchSection: '一键删除道岔区段', - createSwitchSection: '一键创建道岔区段', - sectionLogicalNumber: '逻辑区段数量', - sectionLsectioncode: '左侧区段名称:', - sectionRsectioncode: '右侧区段名称:', - associatedSection: '所属物理/道岔区段:', - blockCoding: '区段编码:', - sectionType: '区段类型:', - sectionNameColon: '区段名称:', - sectionNameOffset: '区段名称偏移量:', - leftKilometerMark: '左侧公里标(米):', - rightKilometerMark: '右侧公里标(米):', - sectionColon: '区间:', - displayExtentName: '是否显示区段名称:', - displayAxleCounter: '是否显示计轴:', - displayLogicalExtents: '是否显示逻辑区段:', - displayLogicalWxtentNames: '是否显示逻辑区段名称:', - isStandTrack: '是否站台轨:', - standTrackName: '站台轨名称:', - standTrackNamePosition: '站台轨名称偏移量:', - relStandCode: '站台编码:', - isReentryTrack: '是否折返轨:', - reentryTrackName: '折返轨名称:', - reentryTrackNamePosition: '折返轨名称偏移量:', - isTransferTrack: '是否转换轨:', - transferTrackName: '转换轨名称:', - transferTrackNamePosition: '转换轨名称偏移量:', - destinationCode: '目的地码:', - destinationCodePoint: '目的地码坐标:', - destinationCodeShow: '是否显示目的地码:', - leftStopPointOffset: '左向停车点偏移量:', - rightStopPointOffset: '右向停车点偏移量:', - isSwitchSection: '是否关联道岔:', - relSwitchCode: '关联道岔:', - logicSectionNameSort: '逻辑区段排序:', - fromSmallToLarge: '从小到大', - fromLargeToSmall: '从大到小', - relevanceLinkCode: '所在Link:', - sepTypeLeft: '左侧分隔符类型:', - sectionOffsetLeft: '左侧Link偏移量:', - sepTypeRight: '右侧分隔符类型:', - sectionOffsetRight: '右侧Link偏移量:', - isSegmentation: '是否分割:', - segmentationPosition: '分割坐标:', - isCurve: '是否曲线:', - physicalSegmentName: '物理区段:', + rulesChange: '规则修改', + splitMerge: '拆分/合并', + linkSet: 'Link集合', + selectLink: '选择Link', + splitOffset: '拆分偏移量:', + split: '拆分', + merge: '合并', + logicBlock: '逻辑区段', + aux: '第', + sectionLine: '段折线', + sectionPolyline: '区段折线', + switchSection: '道岔区段', + trainDirection: '列车所在方向:', + deleteSwitchSection: '一键删除道岔区段', + createSwitchSection: '一键创建道岔区段', + sectionLogicalNumber: '逻辑区段数量', + sectionLsectioncode: '左侧区段名称:', + sectionRsectioncode: '右侧区段名称:', + associatedSection: '所属物理/道岔区段:', + blockCoding: '区段编码:', + sectionType: '区段类型:', + sectionNameColon: '区段名称:', + sectionNameOffset: '区段名称偏移量:', + leftKilometerMark: '左侧公里标(米):', + rightKilometerMark: '右侧公里标(米):', + sectionColon: '区间:', + displayExtentName: '是否显示区段名称:', + displayAxleCounter: '是否显示计轴:', + displayLogicalExtents: '是否显示逻辑区段:', + displayLogicalWxtentNames: '是否显示逻辑区段名称:', + isStandTrack: '是否站台轨:', + standTrackName: '站台轨名称:', + standTrackNamePosition: '站台轨名称偏移量:', + relStandCode: '站台编码:', + isReentryTrack: '是否折返轨:', + reentryTrackName: '折返轨名称:', + reentryTrackNamePosition: '折返轨名称偏移量:', + isTransferTrack: '是否转换轨:', + transferTrackName: '转换轨名称:', + transferTrackNamePosition: '转换轨名称偏移量:', + destinationCode: '目的地码:', + destinationCodePoint: '目的地码坐标:', + destinationCodeShow: '是否显示目的地码:', + leftStopPointOffset: '左向停车点偏移量:', + rightStopPointOffset: '右向停车点偏移量:', + isSwitchSection: '是否关联道岔:', + relSwitchCode: '关联道岔:', + logicSectionNameSort: '逻辑区段排序:', + fromSmallToLarge: '从小到大', + fromLargeToSmall: '从大到小', + relevanceLinkCode: '所在Link:', + sepTypeLeft: '左侧分隔符类型:', + sectionOffsetLeft: '左侧Link偏移量:', + sepTypeRight: '右侧分隔符类型:', + sectionOffsetRight: '右侧Link偏移量:', + isSegmentation: '是否分割:', + segmentationPosition: '分割坐标:', + isCurve: '是否曲线:', + physicalSegmentName: '物理区段:', - directionType: '行驶方向:', - leftOrRight: '左右位置:', - positionType: '上下位置:', + directionType: '行驶方向:', + leftOrRight: '左右位置:', + positionType: '上下位置:', - signalFilamentAlarm: '灯丝报警', - signalCodeColon: '信号机编码:', - signalNameColon: '信号机名称:', - signalUniqueName: '信号机唯一名称:', - signalDisplayName: '是否显示信号机名称:', - lampPostType: '灯柱类型:', - lampPositionType: '灯位类型:', - signalUseType: '用途类型:', - potLampType: '点灯类型:', - signalDirectionType: '行驶方向:', - signalDirectionTypeX: '显示方向:', - signalPositionType: '信号机位置类型:', - signalOffset: '所属link偏移量:', - signalLinkCode: '所属link', - signalPositionX: '信号机x:', - signalPositionY: '信号机y:', - signalPosition: '信号机坐标:', - signalNamePositionX: '信号机名字偏移量 x:', - signalNamePositionY: '信号机名字偏移量 y:', - signalNamePosition: '信号机名字偏移量:', - signalButtonShow: '是否显示按钮:', - signalButtonPositionX: '按钮x:', - signalButtonPositionY: '按钮y:', - signalButtonPosition: '按钮:', - signalGuideShow: '是否显示引导信号灯:', - signalGuidePositionX: '引导信号x:', - signalGuidePositionY: '引导信号y:', - signalGuidePosition: '引导信号:', + signalFilamentAlarm: '灯丝报警', + signalCodeColon: '信号机编码:', + signalNameColon: '信号机名称:', + signalUniqueName: '信号机唯一名称:', + signalDisplayName: '是否显示信号机名称:', + lampPostType: '灯柱类型:', + lampPositionType: '灯位类型:', + signalUseType: '用途类型:', + potLampType: '点灯类型:', + signalDirectionType: '行驶方向:', + signalDirectionTypeX: '显示方向:', + signalPositionType: '信号机位置类型:', + signalOffset: '所属link偏移量:', + signalLinkCode: '所属link', + signalPositionX: '信号机x:', + signalPositionY: '信号机y:', + signalPosition: '信号机坐标:', + signalNamePositionX: '信号机名字偏移量 x:', + signalNamePositionY: '信号机名字偏移量 y:', + signalNamePosition: '信号机名字偏移量:', + signalButtonShow: '是否显示按钮:', + signalButtonPositionX: '按钮x:', + signalButtonPositionY: '按钮y:', + signalButtonPosition: '按钮:', + signalGuideShow: '是否显示引导信号灯:', + signalGuidePositionX: '引导信号x:', + signalGuidePositionY: '引导信号y:', + signalGuidePosition: '引导信号:', - concentrateStationCode: '所属联锁站:', - stationCode: '车站编码:', - zcCode: '所属zc区域:', - centralized: '是否集中站:', - stationRunPlanName: '真实名称:', - stationVisible: '是否显示:', - stationNameFont: '车站字体:', - stationNameFontColor: '车站字体颜色:', - stationKmPostShow: '是否显示公里标名称:', - stationKmRange: '公里标距离:', - stationKmPost: '公里标名称:', - stationKmPostFont: '公里标字体:', - stationKmPostFontColor: '公里标字体颜色:', - stationPositionX: 'x坐标:', - stationPositionY: 'y坐标:', - stationPosition: '车站坐标:', + concentrateStationCode: '所属联锁站:', + stationCode: '车站编码:', + zcCode: '所属zc区域:', + centralized: '是否集中站:', + stationRunPlanName: '真实名称:', + stationVisible: '是否显示:', + stationNameFont: '车站字体:', + stationNameFontColor: '车站字体颜色:', + stationKmPostShow: '是否显示公里标名称:', + stationKmRange: '公里标距离:', + stationKmPost: '公里标名称:', + stationKmPostFont: '公里标字体:', + stationKmPostFontColor: '公里标字体颜色:', + stationPositionX: 'x坐标:', + stationPositionY: 'y坐标:', + stationPosition: '车站坐标:', - stationControlPosition: '控制模式坐标:', - stationControlCode: '控制模式编码:', - stationControlName: '控制模式名称:', - zokContent: '中控内容:', - zakContent: '站控内容:', - jjzkContent: '紧急站控/总报警内容:', - zzkContent: '站中控内容:', - stationControlZok: '中控', + stationControlPosition: '控制模式坐标:', + stationControlCode: '控制模式编码:', + stationControlName: '控制模式名称:', + zokContent: '中控内容:', + zakContent: '站控内容:', + jjzkContent: '紧急站控/总报警内容:', + zzkContent: '站中控内容:', + stationControlZok: '中控', - stationstandName: '所属车站:', - stationstandDirection: '站台方向:', - stationstandHasDoor: '是否显示屏蔽门:', - stationstandNameColon: '站台名称:', - stationstandTopBottom: '上下行方向:', - stationstandShowName: '是否显示名称:', - stationstandWidth: '宽度 w:', - stationstandHeight: '高度 h:', - stationstandPosition: '车站坐标:', + stationstandName: '所属车站:', + stationstandDirection: '站台方向:', + stationstandHasDoor: '是否显示屏蔽门:', + stationstandNameColon: '站台名称:', + stationstandTopBottom: '上下行方向:', + stationstandShowName: '是否显示名称:', + stationstandWidth: '宽度 w:', + stationstandHeight: '高度 h:', + stationstandPosition: '车站坐标:', - switchCode: '道岔编码:', - switchName: '道岔名称:', - switchNameC: '道岔名称', - switchShowName: '是否显示道岔名称:', - switchPositionX: '道岔名称x偏移量:', - switchPositionY: '道岔名称y偏移量:', - switchPosition: '道岔名称偏移量:', - turnTime: '道岔转换时间:', - timeoutShow: '是否显示道岔倒计时时间:', - sectionACode: '关联的A Section Code:', - sectionBCode: '关联的B Section Code:', - sectionCCode: '关联的C Section Code:', - switchTpX: '时间x坐标偏移量:', - switchTpY: '时间y坐标偏移量:', - switchTp: '时间坐标偏移量:', - counterPosition: '计数器坐标:', - delayUnlockPosition: '延迟解锁坐标:', - trainWindowPoints: '车次窗坐标:', - textPoints: '坐标:', - buttonText: '内容', + switchCode: '道岔编码:', + switchName: '道岔名称:', + switchNameC: '道岔名称', + switchShowName: '是否显示道岔名称:', + switchPositionX: '道岔名称x偏移量:', + switchPositionY: '道岔名称y偏移量:', + switchPosition: '道岔名称偏移量:', + turnTime: '道岔转换时间:', + timeoutShow: '是否显示道岔倒计时时间:', + sectionACode: '关联的A Section Code:', + sectionBCode: '关联的B Section Code:', + sectionCCode: '关联的C Section Code:', + switchTpX: '时间x坐标偏移量:', + switchTpY: '时间y坐标偏移量:', + switchTp: '时间坐标偏移量:', + counterPosition: '计数器坐标:', + delayUnlockPosition: '延迟解锁坐标:', + trainWindowPoints: '车次窗坐标:', + textPoints: '坐标:', + buttonText: '内容', - textCode: '文字编码:', - textContent: '文本内容:', - textFont: '字体格式:', - textFontColor: '字体颜色:', + textCode: '文字编码:', + textContent: '文本内容:', + textFont: '字体格式:', + textFontColor: '字体颜色:', - trainCode: '列车编号:', - groupNumber: '车组号:', - groupNumberInterval: '车组号区间:', - trainNumber: '车组号', - modelCode: '车类型:', + trainCode: '列车编号:', + groupNumber: '车组号:', + groupNumberInterval: '车组号区间:', + trainNumber: '车组号', + modelCode: '车类型:', - trainmodelCreate: '新建车类型', - trainmodelUpdate: '更新列车模型', - trainTypeName: '列车类型名称:', - trainLength: '列车长度:', - trainSafeDistance: '安全距离:', - trainMaxSafeDistance: '最大安全距离:', - averageVelocity: '平均速度:', - averageDeceleration: '平均减速度:', - defaultVelocity: '默认速度:', - maxVelocity: '最大速度:', + trainmodelCreate: '新建车类型', + trainmodelUpdate: '更新列车模型', + trainTypeName: '列车类型名称:', + trainLength: '列车长度:', + trainSafeDistance: '安全距离:', + trainMaxSafeDistance: '最大安全距离:', + averageVelocity: '平均速度:', + averageDeceleration: '平均减速度:', + defaultVelocity: '默认速度:', + maxVelocity: '最大速度:', - trainWindowCode: '车次窗编码:', - trainWindowWidth: '车次窗宽度:', - trainWindowHeight: '车次窗高度:', - trainWindowSectionCode: '关联区段:', + trainWindowCode: '车次窗编码:', + trainWindowWidth: '车次窗宽度:', + trainWindowHeight: '车次窗高度:', + trainWindowSectionCode: '关联区段:', - deleteTrainWindow: '一键删除车次窗', - createTrainWindow: '一键创建车次窗', + deleteTrainWindow: '一键删除车次窗', + createTrainWindow: '一键创建车次窗', - showZc: '是否可见:', + showZc: '是否可见:', - pathUnitList: '路径单元列表', - startSectionCode: '始端停车点', - endSectionCode: '终端停车点', - pathUnitCode: '路径单元code', - pathUnitMapName: '所属地图名称', - orderNum: '优先级', - pathName: '进路名称', - startingSignalName: '始端信号机名称', - endingSignalName: '终端信号机名称', + pathUnitList: '路径单元列表', + startSectionCode: '始端停车点', + endSectionCode: '终端停车点', + pathUnitCode: '路径单元code', + pathUnitMapName: '所属地图名称', + orderNum: '优先级', + pathName: '进路名称', + startingSignalName: '始端信号机名称', + endingSignalName: '终端信号机名称', - routeID: '进路', - routeName: '进路名称:', - routeStationName: '所属车站名称', + routeID: '进路', + routeName: '进路名称:', + routeStationName: '所属车站名称', - startSectionCodeColon: '始端停车点:', - endSectionCodeColon: '终端停车点:', + startSectionCodeColon: '始端停车点:', + endSectionCodeColon: '终端停车点:', - routePreview: '进路预览', - accessType: '进路性质类型', - automaticRouteType: '自动进路类型', - nearSectionCode: '接近区段名称', - continueProtectSwitchData: '延续保护道岔', - accessSideTurnoutData: '进路侧防道岔', + routePreview: '进路预览', + accessType: '进路性质类型', + automaticRouteType: '自动进路类型', + nearSectionCode: '接近区段名称', + continueProtectSwitchData: '延续保护道岔', + accessSideTurnoutData: '进路侧防道岔', - turnBackRailName: '折返轨名称', - routeSegmentData: '进路自动触发区段', - routeProtectsData: '进路延续保护区段', - accessPhysical: '进路物理区段', - routeRouteScreenData: '进路屏蔽门', - routeRouteTurnoutData: '进路道岔', - hostileApproachData: '敌对进路', - relation: '关系', - associatedRoute: '关联进路:', + turnBackRailName: '折返轨名称', + routeSegmentData: '进路自动触发区段', + routeProtectsData: '进路延续保护区段', + accessPhysical: '进路物理区段', + routeRouteScreenData: '进路屏蔽门', + routeRouteTurnoutData: '进路道岔', + hostileApproachData: '敌对进路', + relation: '关系', + associatedRoute: '关联进路:', - associatedHostileRecord: '关联敌对记录', - routeArc: '是否自动追踪/联锁自动触发:', - routeFlt: '是否车队/联锁自动进路:', - delayUnlockingTime: '延时解锁时间:', - accessTypeColon: '进路性质类型:', + associatedHostileRecord: '关联敌对记录', + routeArc: '是否自动追踪/联锁自动触发:', + routeFlt: '是否车队/联锁自动进路:', + delayUnlockingTime: '延时解锁时间:', + accessTypeColon: '进路性质类型:', - automaticRouteTypeColon: '自动进路类型:', - startSignalId: '始端信号机:', - endSignalId: '终端信号机:', + automaticRouteTypeColon: '自动进路类型:', + startSignalId: '始端信号机:', + endSignalId: '终端信号机:', - switchType: '道岔类型', - switchId: '道岔', - accessSwitchList: '进路道岔:', - accessStandList: '进路屏蔽门:', - accessSectionList: '进路物理区段:', - turnBackSectionCode: '折返轨:', - routeFlankProtectionList: '侧防道岔:', - routeOverlapSwitchList: '延续保护道岔:', - routeOverlapSectionList: '进路延续保护区段:', - routeTriggerSectionList: '进路自动触发区段:', - nearSectionCodeColon: '接近区段:', + switchType: '道岔类型', + switchId: '道岔', + accessSwitchList: '进路道岔:', + accessStandList: '进路屏蔽门:', + accessSectionList: '进路物理区段:', + turnBackSectionCode: '折返轨:', + routeFlankProtectionList: '侧防道岔:', + routeOverlapSwitchList: '延续保护道岔:', + routeOverlapSectionList: '进路延续保护区段:', + routeTriggerSectionList: '进路自动触发区段:', + nearSectionCodeColon: '接近区段:', - thenList: '交路列表', - startStation: '起始站', - endStation: '终到站', + thenList: '交路列表', + startStation: '起始站', + endStation: '终到站', - skinStyleColon: '皮肤类型:', - skinDesignation: '皮肤名称', - skinCoding: '皮肤编码', - coordinatesOrigin: '坐标原点', - addMapSkin: '添加地图皮肤', - updateMapSkin: '更新地图皮肤', - stationKilometerMark: '车站公里标', - arrivalTime: '到站时间', - operationGraphPublished: '运行图发布为', - operationGraphName: '运行图名称:', - createOperationGraph: '创建运行图', - importOperationGraph: '导入运行图', - publishOperationGraph: '发布运行图', - deleteOperationGraph: '删除运行图', - mapList: '地图列表', - import: '导入', - createNewOperationGraph: '新建运行图', - setOperatingSpeed: '设置运行速度', - speedClass1: '速度等级1', - speedClass2: '速度等级2', - speedClass3: '速度等级3', - speedClass4: '速度等级4', - name: '名称', - startingRunningDirection: '始发运行方向', - timeBetweenDepartures: '发车间隔时间', - stopTime: '停靠时间', - entranceStation: '入口车站', - exportStation: '出口车站', - validityCheck: '有效性检查', - setupOperationGraph: '设置运行图', - selectOperationGraphDataRange: '选取运行图数据范围', - to: '至', - selectionTimeRange: '选择时间范围', - pointSystem1: '1分制', - pointSystem2: '2分制', - pointSystem5: '5分制', - skinType: '皮肤风格', - turnoverTime: '更新时间', - productList: '产品列表', - belongsToMapName: '所属地图名称', - productType: '产品类型', - productCode: '产品编码', - productName: '产品名称', - createProductCategories: '创建产品类目', - productDescription: '产品说明', - associateTrainingTypes: '关联实训类型', - createTrainingCategories: '创建实训类目', - editTraining: '编辑产品类目', - productCategories: '产品类目', - selectOperation: '请选择操作', - editTrainingCategories: '编辑实训类目', - linkWidth: 'link宽度', - maxLinkWidth: '(Link宽度最大为20)', - sectionWidth: '区段宽度', - maxSectionWidth: '(区段宽度最大为30)', - showWatermarkOrNot: '是否显示水印', - routingCode: '交路code', - routingName: '交路名称', - startStationCodeColon: '起始站:', - startStationCode: '起始站台', - endStationCode: '终到站台', - destination: '目的地码', - routingDirection: '方向', - remarks: '描述', - remarksColon: '描述:', - trafficSegmentData: '交路区段:', - startSectionColon: '起始区段:', - endStationColon: '终到站:', - endSectionColon: '终到区段:', + skinStyleColon: '皮肤类型:', + skinDesignation: '皮肤名称', + skinCoding: '皮肤编码', + coordinatesOrigin: '坐标原点', + addMapSkin: '添加地图皮肤', + updateMapSkin: '更新地图皮肤', + stationKilometerMark: '车站公里标', + arrivalTime: '到站时间', + operationGraphPublished: '运行图发布为', + operationGraphName: '运行图名称:', + createOperationGraph: '创建运行图', + importOperationGraph: '导入运行图', + publishOperationGraph: '发布运行图', + deleteOperationGraph: '删除运行图', + mapList: '地图列表', + import: '导入', + createNewOperationGraph: '新建运行图', + setOperatingSpeed: '设置运行速度', + speedClass1: '速度等级1', + speedClass2: '速度等级2', + speedClass3: '速度等级3', + speedClass4: '速度等级4', + name: '名称', + startingRunningDirection: '始发运行方向', + timeBetweenDepartures: '发车间隔时间', + stopTime: '停靠时间', + entranceStation: '入口车站', + exportStation: '出口车站', + validityCheck: '有效性检查', + setupOperationGraph: '设置运行图', + selectOperationGraphDataRange: '选取运行图数据范围', + to: '至', + selectionTimeRange: '选择时间范围', + pointSystem1: '1分制', + pointSystem2: '2分制', + pointSystem5: '5分制', + skinType: '皮肤风格', + turnoverTime: '更新时间', + productList: '产品列表', + belongsToMapName: '所属地图名称', + productType: '产品类型', + productCode: '产品编码', + productName: '产品名称', + createProductCategories: '创建产品类目', + productDescription: '产品说明', + associateTrainingTypes: '关联实训类型', + createTrainingCategories: '创建实训类目', + editTraining: '编辑产品类目', + productCategories: '产品类目', + selectOperation: '请选择操作', + editTrainingCategories: '编辑实训类目', + linkWidth: 'link宽度', + maxLinkWidth: '(Link宽度最大为20)', + sectionWidth: '区段宽度', + maxSectionWidth: '(区段宽度最大为30)', + showWatermarkOrNot: '是否显示水印', + routingCode: '交路code', + routingName: '交路名称', + startStationCodeColon: '起始站:', + startStationCode: '起始站台', + endStationCode: '终到站台', + destination: '目的地码', + routingDirection: '方向', + remarks: '描述', + remarksColon: '描述:', + trafficSegmentData: '交路区段:', + startSectionColon: '起始区段:', + endStationColon: '终到站:', + endSectionColon: '终到区段:', - stationCodeClomn: '车站编码', - blockCodingClomn: '区段编码', + stationCodeClomn: '车站编码', + blockCodingClomn: '区段编码', - routing: '交路', + routing: '交路', - linkageSwitchList: '联动道岔列表', + linkageSwitchList: '联动道岔列表', - switchACode: '道岔1编号', - switchBCode: '道岔2编号', + switchACode: '道岔1编号', + switchBCode: '道岔2编号', - switchACodeNum: '道岔ID 1:', - switchBCodeNum: '道岔ID 2:', + switchACodeNum: '道岔ID 1:', + switchBCodeNum: '道岔ID 2:', - wellDelTrianModel: '删除车模型会将关联的类车一起删除,请确认是否继续?', - clear: '清空', + wellDelTrianModel: '删除车模型会将关联的类车一起删除,请确认是否继续?', + clear: '清空', - horizontal: '水平', - vertical: '垂直', - piece: 'piece' + horizontal: '水平', + vertical: '垂直', + piece: 'piece', + setStationCode: '批量设置集中站' }; diff --git a/src/i18n/langs/zh/rules.js b/src/i18n/langs/zh/rules.js index de15b9d81..edcaa834d 100644 --- a/src/i18n/langs/zh/rules.js +++ b/src/i18n/langs/zh/rules.js @@ -34,6 +34,8 @@ export default { basisLink: '基础Link:', pleaseSelectSectionName: '请选择区段名称', + pleaseSelectSection: '请选择区段', + pleaseSelectStationCode: '请选择设备集中站', pleaseFillOffset: '请填写偏移量', pleaseFillValue: '请填写数值', pleaseSelectLeftSectionName: '请选择左侧区段名称', diff --git a/src/jmap/config/skinCode/bejing_01.js b/src/jmap/config/skinCode/bejing_01.js index 9056d330f..4b5f409ca 100644 --- a/src/jmap/config/skinCode/bejing_01.js +++ b/src/jmap/config/skinCode/bejing_01.js @@ -2,584 +2,584 @@ import defaultStyle from '../defaultStyle'; import deviceType from '../../constant/deviceType'; class SkinCode extends defaultStyle { - constructor() { - super(); - this[deviceType.Link] = { - lineWidthColor: '#FFFFFF', // line 颜色 - linkWidth: 4.4, // link 宽度 - linkColor: '#3F3F3F', // link 线条颜色 - linkTextColor: '#FFFFFF' // link 字体颜色 - }; + constructor() { + super(); + this[deviceType.Link] = { + lineWidthColor: '#FFFFFF', // line 颜色 + linkWidth: 4.4, // link 宽度 + linkColor: '#3F3F3F', // link 线条颜色 + linkTextColor: '#FFFFFF' // link 字体颜色 + }; - this[deviceType.Section] = { - active: { - routeColor: false // 进路触发颜色 - }, - text: { // 物理区段名称 - show: true, // 物理区段名称显示 - position: -1, // 区段名称位置 1 上面 -1 下面 0 对称 - distance: 11, // 文字离区段距离 - fontSize: 11, // 字体大小 - fontWeight: 'normal', // 字体粗细 - fontColor: '#FFFFFF', // 字体颜色 - textAlign: 'center', // 水平对齐方式 - textPosition: 'inside', // 文字位置 - textVerticalAlign: 'middle' // 文字垂直对齐方式 - }, - logicText: { // 逻辑区段名称 - show: false, // 逻辑区段名称显示 - position: -1, // 区段名称位置 1 上面 -1 下面 0 对称 - distance: 11, // 文字离区段距离 - fontSize: 11, // 字体大小 - fontWeight: 'normal', // 字体粗细 - fontColor: '#FFFFFF', // 字体颜色 - textAlign: 'center', // 水平对齐方式 - textPosition: 'inside', // 文字位置 - textVerticalAlign: 'middle' // 文字垂直对齐方式 - }, - standText: { // 站台轨名称 - show: true, // 站台轨名称显示 - opposite: true, // 对称相反 - position: 1, // 区段名称位置 1 上面 -1 下面 0 对称 - distance: 11, // 文字离区段距离 - fontSize: 11, // 字体大小 - fontWeight: 'normal', // 字体粗细 - fontColor: '#FFFFFF', // 字体颜色 - textAlign: 'center', // 水平对齐方式 - textPosition: 'inside', // 文字位置 - textVerticalAlign: 'middle' // 文字垂直对齐方式 - }, - reentryText: { // 折返轨名称 - show: true, // 折返轨名称显示 - opposite: true, // 对称相反 - position: 1, // 区段名称位置 1 上面 -1 下面 0 对称 - distance: 11, // 文字离区段距离 - fontSize: 11, // 字体大小 - fontWeight: 'normal', // 字体粗细 - fontColor: '#FFFFFF', // 字体颜色 - textAlign: 'center', // 水平对齐方式 - textPosition: 'inside', // 文字位置 - textVerticalAlign: 'middle' // 文字垂直对齐方式 - }, - transferText: { // 转换轨名称 - show: true, // 转换轨名称显示 - opposite: true, // 对称相反 - position: 1, // 区段名称位置 1 上面 -1 下面 0 对称 - distance: 11, // 文字离区段距离 - fontSize: 11, // 字体大小 - fontWeight: 'normal', // 字体粗细 - fontColor: '#FFFFFF', // 字体颜色 - textAlign: 'center', // 水平对齐方式 - textPosition: 'inside', // 文字位置 - textVerticalAlign: 'middle' // 文字垂直对齐方式 - }, - destinationText: { // 目的码名称 - show: true, // 目的码名称显示 - position: 1, // 区段名称位置 1 上面 -1 下面 0 对称 - distance: 11, // 文字离区段距离 - fontSize: 11, // 字体大小 - fontWeight: 'bold', // 字体粗细 - fontColor: 'yellow', // 字体颜色 - textAlign: 'center', // 水平对齐方式 - textPosition: 'inside', // 文字位置 - textVerticalAlign: 'middle' // 文字垂直对齐方式 - }, - mouseOverStyle: { - borderColor: '#fff', - borderBackgroundColor: '#22DFDF', - textShadowColor: '#22DFDF' - }, - line: { - width: 5, // 区段宽度 - beyondWidth: 0, // 区段宽超出宽度 - invadeColor: '#EF0C08', // 区段侵入颜色 - spareColor: '#606060', // 区段空闲颜色 - communicationOccupiedColor: '#FF0000', // 区段通信车占用颜色 - unCommunicationOccupiedColor: '#800080', // 区段非通讯车占用颜色 - routeLockColor: '#FFFFFF', // 区段路由锁定颜色 - faultLockColor: '#006400', // 区段故障锁定颜色 - undefinedColor: '#0071C1', // 区段未定义颜色 - protectionLockedColor: '#FEFF00', // 保护区段锁闭(未用) - blockColor: '#800080', // 区段封锁颜色 - atcExcisionColor: '#A0522D', // 区段atc切除颜色 - atsExcisionColor: '#A0522D', // 区段ats切除颜色 - timeReleaseColor: '#3F3F3F', // 区段延时释放颜色 - protectiveLockColor: '#FFFF00', // 区段保护锁闭 - protectiveTimeReleaseColor: '#0071C1', // 区段保护延时解锁 - logicalColor: '#FFFF00', // 逻辑区段颜色 (未用) - logicalTextColor: '#C0C0C0' // 逻辑区段名称颜色 (未用) - }, - axle: { - radius: 3, // 计轴 半径 - distance: 5, // 计轴和区段之间的距离 (未用) - color: '#C0C0C0', // 区段计轴颜色 - resetColor: '#00FFFF', // 区段计轴预复位颜色 - Failure: '#E6A23C' // #FFFF00 计轴失效 - }, - speedLimit: { // 限速元素 - width: 1, // 限速线的宽度 - distance: 5, // 限速线距离区段距离 - lineColor: '#FFFF00', // 限速线颜色 - nameShow: false // 名称显示 - }, - separator: { - z: 1, // 分割符层级 - width: 1.5, // 分隔符宽度 - endWidth: 1.5, // 尽头分隔符宽度 - endColor: '#7F7F7F', // 尽头分隔符颜色 - color: '#7F7F7F' // 区段边界符颜色 - } - }; + this[deviceType.Section] = { + active: { + routeColor: false // 进路触发颜色 + }, + text: { // 物理区段名称 + show: true, // 物理区段名称显示 + position: -1, // 区段名称位置 1 上面 -1 下面 0 对称 + distance: 11, // 文字离区段距离 + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + fontColor: '#FFFFFF', // 字体颜色 + textAlign: 'center', // 水平对齐方式 + textPosition: 'inside', // 文字位置 + textVerticalAlign: 'middle' // 文字垂直对齐方式 + }, + logicText: { // 逻辑区段名称 + show: false, // 逻辑区段名称显示 + position: -1, // 区段名称位置 1 上面 -1 下面 0 对称 + distance: 11, // 文字离区段距离 + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + fontColor: '#FFFFFF', // 字体颜色 + textAlign: 'center', // 水平对齐方式 + textPosition: 'inside', // 文字位置 + textVerticalAlign: 'middle' // 文字垂直对齐方式 + }, + standText: { // 站台轨名称 + show: true, // 站台轨名称显示 + opposite: true, // 对称相反 + position: 1, // 区段名称位置 1 上面 -1 下面 0 对称 + distance: 11, // 文字离区段距离 + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + fontColor: '#FFFFFF', // 字体颜色 + textAlign: 'center', // 水平对齐方式 + textPosition: 'inside', // 文字位置 + textVerticalAlign: 'middle' // 文字垂直对齐方式 + }, + reentryText: { // 折返轨名称 + show: true, // 折返轨名称显示 + opposite: true, // 对称相反 + position: 1, // 区段名称位置 1 上面 -1 下面 0 对称 + distance: 11, // 文字离区段距离 + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + fontColor: '#FFFFFF', // 字体颜色 + textAlign: 'center', // 水平对齐方式 + textPosition: 'inside', // 文字位置 + textVerticalAlign: 'middle' // 文字垂直对齐方式 + }, + transferText: { // 转换轨名称 + show: true, // 转换轨名称显示 + opposite: true, // 对称相反 + position: 1, // 区段名称位置 1 上面 -1 下面 0 对称 + distance: 11, // 文字离区段距离 + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + fontColor: '#FFFFFF', // 字体颜色 + textAlign: 'center', // 水平对齐方式 + textPosition: 'inside', // 文字位置 + textVerticalAlign: 'middle' // 文字垂直对齐方式 + }, + destinationText: { // 目的码名称 + show: true, // 目的码名称显示 + position: 1, // 区段名称位置 1 上面 -1 下面 0 对称 + distance: 11, // 文字离区段距离 + fontSize: 11, // 字体大小 + fontWeight: 'bold', // 字体粗细 + fontColor: 'yellow', // 字体颜色 + textAlign: 'center', // 水平对齐方式 + textPosition: 'inside', // 文字位置 + textVerticalAlign: 'middle' // 文字垂直对齐方式 + }, + mouseOverStyle: { + borderColor: '#fff', + borderBackgroundColor: '#22DFDF', + textShadowColor: '#22DFDF' + }, + line: { + width: 5, // 区段宽度 + beyondWidth: 0, // 区段宽超出宽度 + invadeColor: '#EF0C08', // 区段侵入颜色 + spareColor: '#606060', // 区段空闲颜色 + communicationOccupiedColor: '#FF0000', // 区段通信车占用颜色 + unCommunicationOccupiedColor: '#800080', // 区段非通讯车占用颜色 + routeLockColor: '#FFFFFF', // 区段路由锁定颜色 + faultLockColor: '#006400', // 区段故障锁定颜色 + undefinedColor: '#0071C1', // 区段未定义颜色 + protectionLockedColor: '#FEFF00', // 保护区段锁闭(未用) + blockColor: '#800080', // 区段封锁颜色 + atcExcisionColor: '#A0522D', // 区段atc切除颜色 + atsExcisionColor: '#A0522D', // 区段ats切除颜色 + timeReleaseColor: '#3F3F3F', // 区段延时释放颜色 + protectiveLockColor: '#FFFF00', // 区段保护锁闭 + protectiveTimeReleaseColor: '#0071C1', // 区段保护延时解锁 + logicalColor: '#FFFF00', // 逻辑区段颜色 (未用) + logicalTextColor: '#C0C0C0' // 逻辑区段名称颜色 (未用) + }, + axle: { + radius: 3, // 计轴 半径 + distance: 5, // 计轴和区段之间的距离 (未用) + color: '#C0C0C0', // 区段计轴颜色 + resetColor: '#00FFFF', // 区段计轴预复位颜色 + Failure: '#E6A23C' // #FFFF00 计轴失效 + }, + speedLimit: { // 限速元素 + width: 1, // 限速线的宽度 + distance: 5, // 限速线距离区段距离 + lineColor: '#FFFF00', // 限速线颜色 + nameShow: false // 名称显示 + }, + separator: { + z: 1, // 分割符层级 + width: 1.5, // 分隔符宽度 + endWidth: 1.5, // 尽头分隔符宽度 + endColor: '#7F7F7F', // 尽头分隔符颜色 + color: '#7F7F7F' // 区段边界符颜色 + } + }; - this[deviceType.Signal] = { - distance: 0, // 设备距离区段的距离 - post: { - standardColor: '#5578B6', // 灯灯柱颜色 - standardWidth: 1.5 // 灯柱宽度 - }, - text: { - show: true, // 信号机名称显示 - distance: 3, // 文字和灯杆的距离 - isNoRotation: true, // 是否禁止旋转 - isAlignCenter: false, // 信号字体对其方式 - fontSize: 11, // 信号机名称字体大小 - fontWeight: 'bold', // 信号机名称字体粗细 - defaultColor: '#C0C0C0', // 信号灯字体默认色 - blockColor: '#EF0C08', // 信号灯字体锁定颜色 - checkColor: '#00FF00' // 信号字体 - }, - lamp: { - guidName: 'defult', // 默认引导类型 - stopWidth: 2, // 禁止线宽度 - borderVariable: true, // 信号灯边框可变 - borderWidth: 0.5, // 信号灯边框线宽度 - borderColor: '#3149C3', // 信号灯边框线颜色 - radiusR: 5, // 信号机宽度 - blockColor: '#EF0C08', // 信号灯锁闭 - grayColor: '#7F7F7F', // 信号灯灰色 - redColor: '#FF0000', // 信号灯红色 - greenColor: '#00FF00', // 信号灯绿色 - yellowColor: '#FFFF00', // 信号灯黄色 - whiteColor: '#FFFFFF', // 信号灯白色 - blueColor: '#0070C0' // 信号灯蓝色 - }, - route: { - direction: false, // 自动进路方向 - offset: { x: 1, y: -2 }, // 自动进路偏移量 - routeColor: '#00FF00' // 自动进路 - }, - auto: { - direction: true, // 自动通过方向 - offset: { x: 4, y: 0}, // 自动通过偏移量 - width: 5, // 自动宽度 - autoRoute: '#00FF00', // 自动进路 - autoTrigger: '#FFFF00', // 自动触发 - manualControl: '#FFFF00', // 人工控制 - outConflict: '#C00808' // 出车冲突 - }, - delay: { - direction: false, // 延时解锁方向 - offset: { x: 0, y: -5}, // 延时解锁偏移量 - fontSize: 9, // 延迟解锁字体大小 - fontColor: '#FF0000', // 延迟解锁颜色 - fontWeight: 'bold' // 字体粗细 - }, - button: { - distance: 5, // 信号灯按钮距离区段的距离 - borderDashColor: '#FFFFFF', // 信号灯按钮边线 - buttonColor: 'darkgreen', // 信号灯按钮颜色 - buttonLightenColor: '#E4EF50' // 信号灯按钮闪烁颜色 - }, - mouseOverStyle: { - borderLineColor: '#FFFFFF', - borderLineDash: [3, 3], - nameBackgroundColor: '#22DFDF', - lampBorderLineColor: '#22DFDF' - } - }; + this[deviceType.Signal] = { + distance: 0, // 设备距离区段的距离 + post: { + standardColor: '#5578B6', // 灯灯柱颜色 + standardWidth: 1.5 // 灯柱宽度 + }, + text: { + show: true, // 信号机名称显示 + distance: 3, // 文字和灯杆的距离 + isNoRotation: true, // 是否禁止旋转 + isAlignCenter: false, // 信号字体对其方式 + fontSize: 11, // 信号机名称字体大小 + fontWeight: 'bold', // 信号机名称字体粗细 + defaultColor: '#C0C0C0', // 信号灯字体默认色 + blockColor: '#EF0C08', // 信号灯字体锁定颜色 + checkColor: '#00FF00' // 信号字体 + }, + lamp: { + guidName: 'defult', // 默认引导类型 + stopWidth: 2, // 禁止线宽度 + borderVariable: true, // 信号灯边框可变 + borderWidth: 0.5, // 信号灯边框线宽度 + borderColor: '#3149C3', // 信号灯边框线颜色 + radiusR: 5, // 信号机宽度 + blockColor: '#EF0C08', // 信号灯锁闭 + grayColor: '#7F7F7F', // 信号灯灰色 + redColor: '#FF0000', // 信号灯红色 + greenColor: '#00FF00', // 信号灯绿色 + yellowColor: '#FFFF00', // 信号灯黄色 + whiteColor: '#FFFFFF', // 信号灯白色 + blueColor: '#0070C0' // 信号灯蓝色 + }, + route: { + direction: false, // 自动进路方向 + offset: { x: 1, y: -2 }, // 自动进路偏移量 + routeColor: '#00FF00' // 自动进路 + }, + auto: { + direction: true, // 自动通过方向 + offset: { x: 4, y: 0}, // 自动通过偏移量 + width: 5, // 自动宽度 + autoRoute: '#00FF00', // 自动进路 + autoTrigger: '#FFFF00', // 自动触发 + manualControl: '#FFFF00', // 人工控制 + outConflict: '#C00808' // 出车冲突 + }, + delay: { + direction: false, // 延时解锁方向 + offset: { x: 0, y: -5}, // 延时解锁偏移量 + fontSize: 9, // 延迟解锁字体大小 + fontColor: '#FF0000', // 延迟解锁颜色 + fontWeight: 'bold' // 字体粗细 + }, + button: { + distance: 5, // 信号灯按钮距离区段的距离 + borderDashColor: '#FFFFFF', // 信号灯按钮边线 + buttonColor: 'darkgreen', // 信号灯按钮颜色 + buttonLightenColor: '#E4EF50' // 信号灯按钮闪烁颜色 + }, + mouseOverStyle: { + borderLineColor: '#FFFFFF', + borderLineDash: [3, 3], + nameBackgroundColor: '#22DFDF', + lampBorderLineColor: '#22DFDF' + } + }; - this[deviceType.StationStand] = { - common: { // 通用属性 - textFontSize: 8 // 站台默认字体大小 - }, - safetyDoor: { // 屏蔽门 - height: 1.6, // 站台屏蔽门高度 - distance: 9, // 站台和屏蔽门之间的距离 - defaultColor: '#00FF00', // 屏蔽门默认颜色 - splitDoorColor: '#F61107' // 屏蔽门切除颜色 - }, - stand: { // 站台 - headFontSize: 8, // 站台首端字体大小 - spareColor: '#606060', // 站台空闲颜色 - stopColor: '#FEFE00', // 站台列车停站颜色 - jumpStopColor: '#9A99FF', // 站台跳停颜色 - designatedJumpStopColor: 'lightSkyBlue' // 站台指定列车跳停颜色 - }, - standEmergent: { // 紧急关闭 - mergentR: 4, // 站台紧急关闭半径 - offset: {x: 0, y: 0}, // 站台紧急关闭偏移量 - closeColor: '#F61107' // 站台紧急关闭颜色 - }, - reentry: { // 站台折返策略 - position: 0, // 折返方向 - offset: {x: -16, y: 18}, // 折返偏移量 - noHumanColor: '#0F16DA', // 站台无人折返 - autoChangeEndsColor: '#0BF400' // 站台自动换端 - }, - detainCar: { // 扣车 - text: 'H', // 扣车显示内容 - position: 1, // 扣车方向 - offset: {x: -8, y: 13}, // 扣车偏移量 - trainColor: '#E4EF50', // 车站扣车颜色 - centerTrainColor: '#FFFFFF', // 中心扣车颜色 - andCenterTrainColor: '#F61107', // 车站+中心扣车颜色 - detainTrainTextColor: '#E4EF50' // 车站扣除文字颜色 - }, - stopTime: { // 停站时间 - position: 1, // 运行时间方向 - offset: {x: -8, y: 3}, // 运行时间偏移量 - textColor: '#FFFFFF' // 停站时间字体颜色 - }, - level: { // 运行等级 - position: 1, // 运行等级方向 - offset: {x: -8, y: 22}, // 运行等级偏移量 - textColor: '#FFFFFF' // 停站等级字体颜色 - }, - mouseOverStyle: { - borderLineColor: '#FFFFFF', - borderLineDash: [3, 3] - } - }; + this[deviceType.StationStand] = { + common: { // 通用属性 + textFontSize: 8 // 站台默认字体大小 + }, + safetyDoor: { // 屏蔽门 + height: 1.6, // 站台屏蔽门高度 + distance: 9, // 站台和屏蔽门之间的距离 + defaultColor: '#00FF00', // 屏蔽门默认颜色 + splitDoorColor: '#F61107' // 屏蔽门切除颜色 + }, + stand: { // 站台 + headFontSize: 8, // 站台首端字体大小 + spareColor: '#606060', // 站台空闲颜色 + stopColor: '#FEFE00', // 站台列车停站颜色 + jumpStopColor: '#9A99FF', // 站台跳停颜色 + designatedJumpStopColor: 'lightSkyBlue' // 站台指定列车跳停颜色 + }, + standEmergent: { // 紧急关闭 + mergentR: 4, // 站台紧急关闭半径 + offset: {x: 0, y: 0}, // 站台紧急关闭偏移量 + closeColor: '#F61107' // 站台紧急关闭颜色 + }, + reentry: { // 站台折返策略 + position: 0, // 折返方向 + offset: {x: -16, y: 18}, // 折返偏移量 + noHumanColor: '#0F16DA', // 站台无人折返 + autoChangeEndsColor: '#0BF400' // 站台自动换端 + }, + detainCar: { // 扣车 + text: 'H', // 扣车显示内容 + position: 1, // 扣车方向 + offset: {x: -8, y: 13}, // 扣车偏移量 + trainColor: '#E4EF50', // 车站扣车颜色 + centerTrainColor: '#FFFFFF', // 中心扣车颜色 + andCenterTrainColor: '#F61107', // 车站+中心扣车颜色 + detainTrainTextColor: '#E4EF50' // 车站扣除文字颜色 + }, + stopTime: { // 停站时间 + position: 1, // 运行时间方向 + offset: {x: -8, y: 3}, // 运行时间偏移量 + textColor: '#FFFFFF' // 停站时间字体颜色 + }, + level: { // 运行等级 + position: 1, // 运行等级方向 + offset: {x: -8, y: 22}, // 运行等级偏移量 + textColor: '#FFFFFF' // 停站等级字体颜色 + }, + mouseOverStyle: { + borderLineColor: '#FFFFFF', + borderLineDash: [3, 3] + } + }; - this[deviceType.StationControl] = { - text: { - distance: 2, // 灯和文字之间的距离 - fontSize: 10, // 控制模式字体大小 - fontFormat: 'consolas', // 控制模式字体格式 - fontColor: '#ffffff', // 控制模式字体颜色 - fontWeight: 'normal', // 控制模式字体粗细 - textAlign: 'middle', // 控制模式水平对齐 - textVerticalAlign: 'top' // 控制模式垂直对齐 - }, - lamp: { - count: 3, // 控制模式灯个数 - offset: { x: 20, y: 0 }, // 偏移量 - radiusR: 6, // 控制模式灯的半径 - distance: 36, // 控制模式之间灯之间的距离 - grayColor: '#7F7F7F', // 控制模式灰色 - greenColor: '#00FF00', // 控制模式绿色 - redColor: '#FF0000', // 控制模式红色 - yellowColor: '#FFFF00', // 控制模式黄色 - emergencyControlShow: true, // 紧急站控显示 - centerControlShow: true, // 中控显示 - substationControlShow: true, // 站控按钮显示 - interconnectedControlShow: false // 联锁控显示 - }, - arrow: { - show: false // 控制模式箭头显隐 - }, - mouseOverStyle: { // 鼠标悬浮样式 - fontSize: 10, - fontFormat: 'consolas', - fontColor: '#FFF000', - fontWeight: 'normal', - textAlign: 'middle', - textVerticalAlign: 'top' - } - }; + this[deviceType.StationControl] = { + text: { + distance: 2, // 灯和文字之间的距离 + fontSize: 10, // 控制模式字体大小 + fontFormat: 'consolas', // 控制模式字体格式 + fontColor: '#ffffff', // 控制模式字体颜色 + fontWeight: 'normal', // 控制模式字体粗细 + textAlign: 'middle', // 控制模式水平对齐 + textVerticalAlign: 'top' // 控制模式垂直对齐 + }, + lamp: { + count: 3, // 控制模式灯个数 + offset: { x: 20, y: 0 }, // 偏移量 + radiusR: 6, // 控制模式灯的半径 + distance: 36, // 控制模式之间灯之间的距离 + grayColor: '#7F7F7F', // 控制模式灰色 + greenColor: '#00FF00', // 控制模式绿色 + redColor: '#FF0000', // 控制模式红色 + yellowColor: '#FFFF00', // 控制模式黄色 + emergencyControlShow: true, // 紧急站控显示 + centerControlShow: true, // 中控显示 + substationControlShow: true, // 站控按钮显示 + interconnectedControlShow: false // 联锁控显示 + }, + arrow: { + show: false // 控制模式箭头显隐 + }, + mouseOverStyle: { // 鼠标悬浮样式 + fontSize: 10, + fontFormat: 'consolas', + fontColor: '#FFF000', + fontWeight: 'normal', + textAlign: 'middle', + textVerticalAlign: 'top' + } + }; - this[deviceType.StationCounter] = { - text: { - distance: 2, // 计数器名称和文字的距离 - fontColor: '#FFFFFF', // 计数器字体颜色 - borderColor: '#E4EF50' // 计数器边框颜色 - } - }; + this[deviceType.StationCounter] = { + text: { + distance: 2, // 计数器名称和文字的距离 + fontColor: '#FFFFFF', // 计数器字体颜色 + borderColor: '#E4EF50' // 计数器边框颜色 + } + }; - this[deviceType.StationDelayUnlock] = { - text: { - distance: 3, // 延迟解锁和设备之间的距离 - fontColor: '#FFFFFF', // 延时解锁字体颜色 - borderColor: '#FFFFFF' // 延迟解锁边框颜色 - } - }; + this[deviceType.StationDelayUnlock] = { + text: { + distance: 3, // 延迟解锁和设备之间的距离 + fontColor: '#FFFFFF', // 延时解锁字体颜色 + borderColor: '#FFFFFF' // 延迟解锁边框颜色 + } + }; - this[deviceType.Station] = { - // text: { - // show: true // 公里标名称显示 - // }, - kmPostShow: true, // 公里标显示 - kilometerPosition: 'down', // 公里标位置 - fontWeight: 'bold' // 文字错细 - }; + this[deviceType.Station] = { + // text: { + // show: true // 公里标名称显示 + // }, + kmPostShow: true, // 公里标显示 + kilometerPosition: 'down', // 公里标位置 + fontWeight: 'bold' // 文字错细 + }; - this[deviceType.Switch] = { - text: { - show: true, // 道岔名称显示 - position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 - offset: {x: -15, y: -10}, // 道岔名称与区段距离 - fontSize: 10, // 字体大小 - fontColor: '#C0C0C0', // 道岔名称颜色 - fontWeight: 'normal', // 字体粗细 - borderColor: '#FE0000', // 道岔边框颜色 - lossColor: '#FFFFFF', // 道岔失去颜色 - locateColor: '#00FF00', // 道岔定位颜色 - inversionColor: '#9C9D09', // 道岔反位颜色 - monolockColor: '#870E10' // 道岔单锁颜色 - }, - core: { - length: 6 // 道岔单边长度 - }, - monolock: { // 道岔单锁配置 - locationColor: '#870E10', // 道岔单锁定位颜色 (红色) - inversionColor: '#870E10', // 道岔单锁反位颜色 (红色) - rectShow: false // 道岔单锁 矩形框是否显示 - }, - block: { // 道岔封锁配置 - nameBorderShow: true, // 道岔名称是否有包围框 显示 - contentRectShow: false // 道岔封锁显示 - }, - mouseOverStyle: { - borderBackgroundColor: '#22DFDF', // 边框背景色 - borderColor: '#fff', // 边框颜色 - textShadowColor: '#22DFDF' // 字体阴影颜色 - } - }; + this[deviceType.Switch] = { + text: { + show: true, // 道岔名称显示 + position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 + offset: {x: -15, y: -10}, // 道岔名称与区段距离 + fontSize: 10, // 字体大小 + fontColor: '#C0C0C0', // 道岔名称颜色 + fontWeight: 'normal', // 字体粗细 + borderColor: '#FE0000', // 道岔边框颜色 + lossColor: '#FFFFFF', // 道岔失去颜色 + locateColor: '#00FF00', // 道岔定位颜色 + inversionColor: '#9C9D09', // 道岔反位颜色 + monolockColor: '#870E10' // 道岔单锁颜色 + }, + core: { + length: 6 // 道岔单边长度 + }, + monolock: { // 道岔单锁配置 + locationColor: '#870E10', // 道岔单锁定位颜色 (红色) + inversionColor: '#870E10', // 道岔单锁反位颜色 (红色) + rectShow: false // 道岔单锁 矩形框是否显示 + }, + block: { // 道岔封锁配置 + nameBorderShow: true, // 道岔名称是否有包围框 显示 + contentRectShow: false // 道岔封锁显示 + }, + mouseOverStyle: { + borderBackgroundColor: '#22DFDF', // 边框背景色 + borderColor: '#fff', // 边框颜色 + textShadowColor: '#22DFDF' // 字体阴影颜色 + } + }; - this[deviceType.LcControl] = { - text: { - fontSize: 10, // 灯字体大小 - fontWeight: 'normal', // 字体粗细 - distance: 5 // 灯跟文字距离 - }, - lamp: { - radiusR: 6, // 灯大小 - controlColor: '#FFFF00' // 灯颜色 - }, - mouseOverStyle: { - fontSize: 10, - fontFormat: 'consolas', - fontColor: '#FFF000', - fontWeight: 'normal', - textAlign: 'middle', - textVerticalAlign: 'top', - arcColor: '#00FFFF', - textColor: '#000000' - } - }; + this[deviceType.LcControl] = { + text: { + fontSize: 10, // 灯字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + radiusR: 6, // 灯大小 + controlColor: '#FFFF00' // 灯颜色 + }, + mouseOverStyle: { + fontSize: 10, + fontFormat: 'consolas', + fontColor: '#FFF000', + fontWeight: 'normal', + textAlign: 'middle', + textVerticalAlign: 'top', + arcColor: '#00FFFF', + textColor: '#000000' + } + }; - this[deviceType.ZcControl] = { - text: { - fontSize: 10, // 字体大小 - fontWeight: 'normal', // 字体粗细 - distance: 5 // 灯跟文字距离 - }, - lamp: { - radiusR: 6, // 灯大小 - controlColor: '#00FF00' // 灯颜色 - }, - mouseOverStyle: { - fontSize: 10, - fontFormat: 'consolas', - fontColor: '#FFF000', - fontWeight: 'normal', - textAlign: 'middle', - textVerticalAlign: 'top', - arcColor: '#00FFFF', - textColor: '#000000' - } - }; + this[deviceType.ZcControl] = { + text: { + fontSize: 10, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + radiusR: 6, // 灯大小 + controlColor: '#00FF00' // 灯颜色 + }, + mouseOverStyle: { + fontSize: 10, + fontFormat: 'consolas', + fontColor: '#FFF000', + fontWeight: 'normal', + textAlign: 'middle', + textVerticalAlign: 'top', + arcColor: '#00FFFF', + textColor: '#000000' + } + }; - this[deviceType.LimitControl] = { - text: { - fontSize: 10, // 字体大小 - fontWeight: 'normal', // 字体粗细 - distance: 5 // 灯跟文字距离 - }, - lamp: { - radiusR: 6, // 灯大小 - controlColor: '#ECE9D8' // 灯颜色 - }, - mouseOverStyle: { - fontSize: 10, - fontFormat: 'consolas', - fontColor: '#FFF000', - fontWeight: 'normal', - textAlign: 'middle', - textVerticalAlign: 'top', - textColor: '#000000', - arcColor: '#00FFFF' - } - }; + this[deviceType.LimitControl] = { + text: { + fontSize: 10, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + radiusR: 6, // 灯大小 + controlColor: '#ECE9D8' // 灯颜色 + }, + mouseOverStyle: { + fontSize: 10, + fontFormat: 'consolas', + fontColor: '#FFF000', + fontWeight: 'normal', + textAlign: 'middle', + textVerticalAlign: 'top', + textColor: '#000000', + arcColor: '#00FFFF' + } + }; - this[deviceType.Line] = { - lineColor: '#FFFFFF' // 线条颜色 - }; + this[deviceType.Line] = { + lineColor: '#FFFFFF' // 线条颜色 + }; - this[deviceType.TrainWindow] = { - lineColor: '#FFF', // 车次窗颜色 - lineDash: [3, 3], // 车次窗虚线间隔 - lineWidth: 1, // 车次窗线宽 - trainWindowSmooth: 0.01 // 车次窗矩形圆滑程度 - }; + this[deviceType.TrainWindow] = { + lineColor: '#FFF', // 车次窗颜色 + lineDash: [3, 3], // 车次窗虚线间隔 + lineWidth: 1, // 车次窗线宽 + trainWindowSmooth: 0.01 // 车次窗矩形圆滑程度 + }; - this[deviceType.Train] = { - trainBody: { - trainBodyLineWidth: 0.1, // 车身line宽 - changeTrainWidth: false, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度 - specialTrainType: [ - { - type: '03', - serviceNumber: 'M0', - nameFormat: 'serviceNumber:groupNumber' - }, - { - type: '02', - nameFormat: 'targetCode:groupNumber' - } - ], // 特殊列车类型需设置显示格式 - lrPadding: 4, // 两边间隔 - upPadding: 4, // 上边距离 - trainBodyFillColor: '#725A64', // 列车车身填充颜色 - trainNameFormat: 'serviceNumber:tripNumber'// 列车显示格式 - }, - hsda: { - lrPaddingHSDA: 3, // HSDA两边间隔 - upPaddingHSDA: 4, // HSDA上边距离 - trainHSDATextFontSize: 9, // 列车HDSA字号 - textHContent: 'H', // textH文本 - textSContent: 'S', // textS文本 - textDContent: 'D', // textD文本 - textAContent: 'A'// textA文本 - }, - trainNumber: { - trainNumberOffset: { x: 0, y: 1}// 目的地码偏移量 - }, - trainServer: { - serviceNumberPrefix: '00', // 服务号(表号)前缀 - defaultServiceNumber: 'AA', // 默认服务号(表号) - trainServerOffset: { x: 4, y: 4}// 列车服务号偏移 - }, - trainTarget: { - tripNumberPrefix: '000', // 车次号前缀 - defaultTripNumber: 'DDD', // 默认车次号2 - trainTargetOffset: { x: 36, y: 4}, // 列车车次号偏移 - trainTargetTextAlign: 'left'// 车次号文字显示位置 - }, - trainTargetNumber: { - trainTargetNumberOffset: {x: 0, y: 0}// 车组号偏移量 - }, - trainHead: { - trainMoreLength: 0, // 列车车头比车身高出的长度,上下相比车体伸出去的边框 - trainHeadTriangleFirst: { x: 7, y: 1}, // 列车车头三角坐标1偏移量 - trainHeadTriangleSecond: { x: 13, y: 10}, // 列车车头三角坐标2偏移量 - trainHeadTriangleThird: { x: 7, y: 19}, // 列车车头三角坐标3偏移量 - trainHeadRectHeight: 20, // 列车车头矩形高度 - trainConntWidth: 3, // 列车竖杠的宽度 - trainHeadFillColor: '#000000'// 列车车头矩形填充颜色 - }, - common: { - trainHeight: 20, // 列车高度 - trainHeadDistance: 4, // 列车和车头之间的间距 - trainWidth: 40, // 列车长度 - trainTextFontSize: 12, // 列车字号 - fontFamily: 'consolas', // 默认字体 族类 - haveTextHSDA: true, // 是否需创建textHSDA对象 - haveArrowText: true, // 是否需创建arrowText对象 - haveTrainBorder: false, // 是否需创建trainBorder对象 - textOffset: 4, // 字体偏移(用以控制字体据车头的距离) - trainWidthMoreText: 8, // 计算列车长度时--列车长比text多出尺寸 - useSelfFormat: true, // 使用配置项的nameFormat - useSelfText: true // 使用配置项的字体大小 - }, - trainStatusStyle: { - destinationStatus: [ - {status: '01', showColor: '#FFFFFF'}, - {status: '02', showColor: '#00FF00'}, - {status: '03', showColor: '#A0522D'}, - {status: '04', showColor: '#FFFF00'} - ], // 目的地状态 01准点 02早点 03晚点 04头码车 - defaultDestinationColor: '#FFFFFF', // 默认目的地状态显示颜色 - destinationStatusSetText: 'trainTarget', // 目的地状态设置的对应哪个text的颜色 - directionType: [ - { - type: '01', - lineLShow: true, - lineRShow: true, - arrowLShow: false, - arrowRShow: false - }, - { - type: '02', - lineLShow: false, - lineRShow: true, - arrowLShow: false, - arrowRShow: true - }, - { - type: '03', - lineLShow: true, - lineRShow: false, - arrowLShow: true, - arrowRShow: false - } - ], // 列车运行方向状态类型对应车头显示状态 01未知方向 02从左往右 上行 03从右往左 下行 - directionStopType: [ - {type: '01', lineLShow: false, lineRShow: false}, - {type: '02', lineLShow: false, lineRShow: true}, - {type: '03', lineLShow: true, lineRShow: false} - ], // 列车停止方向类型对应车头显示状态 01未知方向 02从左往右 上行 03从右往左 下行 - runModeStatus: [ - { - status: '01', - trainLColor: '#FFFFFF', - trainRColor: '#FFFFFF' - }, - { - status: '02', - trainLColor: '#00FF00', - trainRColor: '#00FF00' - }, - { - status: '03', - trainLColor: '#FFFF00', - trainRColor: '#FFFF00'}, - { - status: '04', - trainLColor: '#A0522D', - trainRColor: '#A0522D' - }, - { - status: '05', - trainLColor: '#A0522D', - trainRColor: '#A0522D' - } - ], // 列车运行模式对应车头颜色 01未知 02 ATO自动驾驶模式AM 03 ATP监控下的人工驾驶模式CM 04 限制人工驾驶模式RM 05 非限制人工驾驶模式RM - runControlStatus: [ - {status: '01', hShow: false, sShow: false}, - {status: '02', hShow: true, sShow: false}, - {status: '03', hShow: false, sShow: true} - ], // 设置运行控制状态类型 01正常 02扣车 03停跳 - doorStatus: [ - {status: '01', dShow: false}, - {status: '02', dShow: true} - ], // 设置车门状态类型 01关门 02开门 - communicationStatus: [ - {status: '01', trainColor: '#725A64'}, - {status: '02', trainColor: '#C0C0C0'} - ], // 设置通信状态 01正常 02故障 - alarmStatus: [ - {status: '01', aShow: false}, - {status: '02', aShow: true} - ], // 设置报警状态 01不报警 02报警 - serverNoType: [ - {type: '01', showColor: '#FFFFFF'}, - {type: '02', showColor: '#FFF000'} - ], // 服务号状态类型 01显示服务号 计划车 02显示车组号: 头码车与人工车 - defaultServerNoColor: '#FFFFFF' // 默认服务号状态显示颜色 - } - }; - } + this[deviceType.Train] = { + trainBody: { + trainBodyLineWidth: 0.1, // 车身line宽 + changeTrainWidth: false, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度 + specialTrainType: [ + { + type: '03', + serviceNumber: 'M0', + nameFormat: 'serviceNumber:groupNumber' + }, + { + type: '02', + nameFormat: 'targetCode:groupNumber' + } + ], // 特殊列车类型需设置显示格式 + lrPadding: 4, // 两边间隔 + upPadding: 4, // 上边距离 + trainBodyFillColor: '#725A64', // 列车车身填充颜色 + trainNameFormat: 'serviceNumber:tripNumber'// 列车显示格式 + }, + hsda: { + lrPaddingHSDA: 3, // HSDA两边间隔 + upPaddingHSDA: 4, // HSDA上边距离 + trainHSDATextFontSize: 9, // 列车HDSA字号 + textHContent: 'H', // textH文本 + textSContent: 'S', // textS文本 + textDContent: 'D', // textD文本 + textAContent: 'A'// textA文本 + }, + trainNumber: { + trainNumberOffset: { x: 0, y: 1}// 目的地码偏移量 + }, + trainServer: { + serviceNumberPrefix: '00', // 服务号(表号)前缀 + defaultServiceNumber: 'AA', // 默认服务号(表号) + trainServerOffset: { x: 4, y: 4}// 列车服务号偏移 + }, + trainTarget: { + tripNumberPrefix: '000', // 车次号前缀 + defaultTripNumber: 'DDD', // 默认车次号2 + trainTargetOffset: { x: 36, y: 4}, // 列车车次号偏移 + trainTargetTextAlign: 'left'// 车次号文字显示位置 + }, + trainTargetNumber: { + trainTargetNumberOffset: {x: 0, y: 0}// 车组号偏移量 + }, + trainHead: { + trainMoreLength: 0, // 列车车头比车身高出的长度,上下相比车体伸出去的边框 + trainHeadTriangleFirst: { x: 7, y: 1}, // 列车车头三角坐标1偏移量 + trainHeadTriangleSecond: { x: 13, y: 10}, // 列车车头三角坐标2偏移量 + trainHeadTriangleThird: { x: 7, y: 19}, // 列车车头三角坐标3偏移量 + trainHeadRectHeight: 20, // 列车车头矩形高度 + trainConntWidth: 3, // 列车竖杠的宽度 + trainHeadFillColor: '#000000'// 列车车头矩形填充颜色 + }, + common: { + trainHeight: 20, // 列车高度 + trainHeadDistance: 4, // 列车和车头之间的间距 + trainWidth: 40, // 列车长度 + trainTextFontSize: 12, // 列车字号 + fontFamily: 'consolas', // 默认字体 族类 + haveTextHSDA: true, // 是否需创建textHSDA对象 + haveArrowText: true, // 是否需创建arrowText对象 + haveTrainBorder: false, // 是否需创建trainBorder对象 + textOffset: 4, // 字体偏移(用以控制字体据车头的距离) + trainWidthMoreText: 8, // 计算列车长度时--列车长比text多出尺寸 + useSelfFormat: true, // 使用配置项的nameFormat + useSelfText: true // 使用配置项的字体大小 + }, + trainStatusStyle: { + destinationStatus: [ + {status: '01', showColor: '#FFFFFF'}, + {status: '02', showColor: '#00FF00'}, + {status: '03', showColor: '#A0522D'}, + {status: '04', showColor: '#FFFF00'} + ], // 目的地状态 01准点 02早点 03晚点 04头码车 + defaultDestinationColor: '#FFFFFF', // 默认目的地状态显示颜色 + destinationStatusSetText: 'trainTarget', // 目的地状态设置的对应哪个text的颜色 + directionType: [ + { + type: '01', + lineLShow: true, + lineRShow: true, + arrowLShow: false, + arrowRShow: false + }, + { + type: '02', + lineLShow: false, + lineRShow: true, + arrowLShow: false, + arrowRShow: true + }, + { + type: '03', + lineLShow: true, + lineRShow: false, + arrowLShow: true, + arrowRShow: false + } + ], // 列车运行方向状态类型对应车头显示状态 01未知方向 02从左往右 上行 03从右往左 下行 + directionStopType: [ + {type: '01', lineLShow: false, lineRShow: false}, + {type: '02', lineLShow: false, lineRShow: true}, + {type: '03', lineLShow: true, lineRShow: false} + ], // 列车停止方向类型对应车头显示状态 01未知方向 02从左往右 上行 03从右往左 下行 + runModeStatus: [ + { + status: '01', + trainLColor: '#FFFFFF', + trainRColor: '#FFFFFF' + }, + { + status: '02', + trainLColor: '#00FF00', + trainRColor: '#00FF00' + }, + { + status: '03', + trainLColor: '#FFFF00', + trainRColor: '#FFFF00'}, + { + status: '04', + trainLColor: '#A0522D', + trainRColor: '#A0522D' + }, + { + status: '05', + trainLColor: '#A0522D', + trainRColor: '#A0522D' + } + ], // 列车运行模式对应车头颜色 01未知 02 ATO自动驾驶模式AM 03 ATP监控下的人工驾驶模式CM 04 限制人工驾驶模式RM 05 非限制人工驾驶模式RM + runControlStatus: [ + {status: '01', hShow: false, sShow: false}, + {status: '02', hShow: true, sShow: false}, + {status: '03', hShow: false, sShow: true} + ], // 设置运行控制状态类型 01正常 02扣车 03停跳 + doorStatus: [ + {status: '01', dShow: false}, + {status: '02', dShow: true} + ], // 设置车门状态类型 01关门 02开门 + communicationStatus: [ + {status: '01', trainColor: '#725A64'}, + {status: '02', trainColor: '#C0C0C0'} + ], // 设置通信状态 01正常 02故障 + alarmStatus: [ + {status: '01', aShow: false}, + {status: '02', aShow: true} + ], // 设置报警状态 01不报警 02报警 + serverNoType: [ + {type: '01', showColor: '#FFFFFF'}, + {type: '02', showColor: '#FFF000'} + ], // 服务号状态类型 01显示服务号 计划车 02显示车组号: 头码车与人工车 + defaultServerNoColor: '#FFFFFF' // 默认服务号状态显示颜色 + } + }; + } } export default new SkinCode(); diff --git a/src/jmap/config/skinCode/fuzhou_01.js b/src/jmap/config/skinCode/fuzhou_01.js index a5d2862a3..fcbb3639e 100644 --- a/src/jmap/config/skinCode/fuzhou_01.js +++ b/src/jmap/config/skinCode/fuzhou_01.js @@ -260,6 +260,14 @@ class SkinCode extends defaultStyle { }, arrow: { show: true // 控制模式箭头显隐 + }, + mouseOverStyle: { // 鼠标悬浮样式 + fontSize: 10, + fontFormat: 'consolas', + fontColor: '#FFF000', + fontWeight: 'normal', + textAlign: 'middle', + textVerticalAlign: 'top' } }; @@ -319,11 +327,71 @@ class SkinCode extends defaultStyle { lineColor: '#FFFFFF' // 线条颜色 }; - this[deviceType.LcControl] = {}; + this[deviceType.LcControl] = { + text: { + fontSize: 10, // 灯字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + radiusR: 6, // 灯大小 + controlColor: '#FFFF00' // 灯颜色 + }, + mouseOverStyle: { + fontSize: 10, + fontFormat: 'consolas', + fontColor: '#FFF000', + fontWeight: 'normal', + textAlign: 'middle', + textVerticalAlign: 'top', + arcColor: '#00FFFF', + textColor: '#000000' + } + }; - this[deviceType.ZcControl] = {}; + this[deviceType.ZcControl] = { + text: { + fontSize: 10, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + radiusR: 6, // 灯大小 + controlColor: '#00FF00' // 灯颜色 + }, + mouseOverStyle: { + fontSize: 10, + fontFormat: 'consolas', + fontColor: '#FFF000', + fontWeight: 'normal', + textAlign: 'middle', + textVerticalAlign: 'top', + arcColor: '#00FFFF', + textColor: '#000000' + } + }; - this[deviceType.LimitControl] = {}; + this[deviceType.LimitControl] = { + text: { + fontSize: 10, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + radiusR: 6, // 灯大小 + controlColor: '#ECE9D8' // 灯颜色 + }, + mouseOverStyle: { + fontSize: 10, + fontFormat: 'consolas', + fontColor: '#FFF000', + fontWeight: 'normal', + textAlign: 'middle', + textVerticalAlign: 'top', + textColor: '#000000', + arcColor: '#00FFFF' + } + }; this[deviceType.TrainWindow] = { lineColor: '#4DD43F', // 车次窗颜色 diff --git a/src/jmap/theme/fuzhou_01/menus/menuSection.vue b/src/jmap/theme/fuzhou_01/menus/menuSection.vue index bebfc9d15..f2a03250d 100644 --- a/src/jmap/theme/fuzhou_01/menus/menuSection.vue +++ b/src/jmap/theme/fuzhou_01/menus/menuSection.vue @@ -22,386 +22,386 @@ import { MapDeviceType, OperationEvent, DeviceMenu } from '@/scripts/ConstDic'; import { MenuDisabledState, menuConvert, menuFiltration } from './utils/menuItemStatus'; export default { - name: 'SectionMenu', - components: { - PopMenu, - SectionControl, - SectionCmdControl, - SpeedCmdControl, - TrainCreate, - NoticeInfo - }, - props: { - selected: { - type: Object, - default() { - return null; - } - } - }, - data() { - return { - menu: [], - menuNormal: { - local: [ - { - label: this.$t('menu.menuSection.sectionFaultUnlock'), - handler: this.fault, - disabledCallback: MenuDisabledState.Section.fault, - auth: { station: true, center: false } - }, - { - label: this.$t('menu.menuSection.sectionResection'), - handler: this.split, - disabledCallback: MenuDisabledState.Section.split, - auth: { station: true, center: false } - }, - { - label: this.$t('menu.menuSection.sectionActive'), - handler: this.active, - disabledCallback: MenuDisabledState.Section.active, - auth: { station: true, center: false } - }, - { - label: this.$t('menu.menuSection.sectionAxisPreReset'), - handler: this.axlePreReset, - disabledCallback: MenuDisabledState.Section.axlePreReset, - auth: { station: true, center: false } - }, - { - label: this.$t('menu.menuSection.sectionBlockade'), - handler: this.lock, - disabledCallback: MenuDisabledState.Section.lock, - auth: { station: true, center: false } - }, - { - label: this.$t('menu.menuSection.sectionUnblock'), - handler: this.unlock, - disabledCallback: MenuDisabledState.Section.unlock, - auth: { station: true, center: false } - }, - { - label: this.$t('menu.menuSection.sectionSetSpeedLimit'), - handler: this.setSpeed, - disabledCallback: MenuDisabledState.Section.setSpeed, - auth: { station: true, center: false } - }, - { - label: this.$t('menu.menuSection.sectionCancelSpeedLimit'), - handler: this.cancelSpeed, - disabledCallback: MenuDisabledState.Section.cancelSpeed, - auth: { station: true, center: false } - } - ], - central: [ - { - label: this.$t('menu.menuSection.sectionFaultUnlock'), - handler: this.fault, - disabledCallback: MenuDisabledState.Section.fault, - auth: { station: false, center: true } - }, - { - label: this.$t('menu.menuSection.sectionResection'), - handler: this.split, - disabledCallback: MenuDisabledState.Section.split, - auth: { station: false, center: true } - }, - { - label: this.$t('menu.menuSection.sectionActive'), - handler: this.active, - disabledCallback: MenuDisabledState.Section.active, - auth: { station: false, center: true } - }, - { - label: this.$t('menu.menuSection.axisPreReset'), - handler: this.axlePreReset, - disabledCallback: MenuDisabledState.Section.axlePreReset, - auth: { station: false, center: false } - }, - { - label: this.$t('menu.menuSection.sectionBlockade'), - handler: this.lock, - disabledCallback: MenuDisabledState.Section.lock, - auth: { station: false, center: true } - }, - { - label: this.$t('menu.menuSection.sectionUnblock'), - handler: this.unlock, - disabledCallback: MenuDisabledState.Section.unlock, - auth: { station: false, center: true } - }, - { - label: this.$t('menu.menuSection.sectionSetSpeedLimit'), - handler: this.setSpeed, - disabledCallback: MenuDisabledState.Section.setSpeed, - auth: { station: false, center: true } - }, - { - label: this.$t('menu.menuSection.sectionCancelSpeedLimit'), - handler: this.cancelSpeed, - disabledCallback: MenuDisabledState.Section.cancelSpeed, - auth: { station: false, center: true } - } - ] - }, - menuTrain: [ - { - label: this.$t('menu.menuSection.createTrain'), - handler: this.newTrain, - disabledCallback: MenuDisabledState.Section.newTrain - } - ], - menuForce: [ - { - label: this.$t('menu.menuSection.setFault'), - handler: this.setStoppage, - disabledCallback: MenuDisabledState.Section.setStoppage - }, - { - label: this.$t('menu.menuSection.cancelFault'), - handler: this.cancelStoppage, - disabledCallback: MenuDisabledState.Section.cancelStoppage - } - ] - }; - }, - computed: { - ...mapGetters('training', [ - 'mode', - 'operatemode' - ]), - ...mapGetters('menuOperation', [ - 'buttonOperation' - ]) - }, - watch: { - '$store.state.menuOperation.menuCount': function (val) { - if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Section) && !this.buttonOperation) { - this.doShow(this.$store.state.menuOperation.menuPosition); - } else { - this.doClose(); - } - } - }, - methods: { - clickEvent() { - const self = this; - window.onclick = function (e) { - self.doClose(); - }; - }, - initMenu() { - // 编辑模式菜单列表 - this.menu = menuFiltration(this.menuNormal); - if (this.operatemode === OperateMode.ADMIN) { - this.menu = [...this.menu, ...this.menuForce, ...this.menuTrain]; - } + name: 'SectionMenu', + components: { + PopMenu, + SectionControl, + SectionCmdControl, + SpeedCmdControl, + TrainCreate, + NoticeInfo + }, + props: { + selected: { + type: Object, + default() { + return null; + } + } + }, + data() { + return { + menu: [], + menuNormal: { + local: [ + { + label: this.$t('menu.menuSection.sectionFaultUnlock'), + handler: this.fault, + disabledCallback: MenuDisabledState.Section.fault, + auth: { station: true, center: false } + }, + { + label: this.$t('menu.menuSection.sectionResection'), + handler: this.split, + disabledCallback: MenuDisabledState.Section.split, + auth: { station: true, center: false } + }, + { + label: this.$t('menu.menuSection.sectionActive'), + handler: this.active, + disabledCallback: MenuDisabledState.Section.active, + auth: { station: true, center: false } + }, + { + label: this.$t('menu.menuSection.sectionAxisPreReset'), + handler: this.axlePreReset, + disabledCallback: MenuDisabledState.Section.axlePreReset, + auth: { station: true, center: false } + }, + { + label: this.$t('menu.menuSection.sectionBlockade'), + handler: this.lock, + disabledCallback: MenuDisabledState.Section.lock, + auth: { station: true, center: false } + }, + { + label: this.$t('menu.menuSection.sectionUnblock'), + handler: this.unlock, + disabledCallback: MenuDisabledState.Section.unlock, + auth: { station: true, center: false } + }, + { + label: this.$t('menu.menuSection.sectionSetSpeedLimit'), + handler: this.setSpeed, + disabledCallback: MenuDisabledState.Section.setSpeed, + auth: { station: true, center: false } + }, + { + label: this.$t('menu.menuSection.sectionCancelSpeedLimit'), + handler: this.cancelSpeed, + disabledCallback: MenuDisabledState.Section.cancelSpeed, + auth: { station: true, center: false } + } + ], + central: [ + { + label: this.$t('menu.menuSection.sectionFaultUnlock'), + handler: this.fault, + disabledCallback: MenuDisabledState.Section.fault, + auth: { station: false, center: true } + }, + { + label: this.$t('menu.menuSection.sectionResection'), + handler: this.split, + disabledCallback: MenuDisabledState.Section.split, + auth: { station: false, center: true } + }, + { + label: this.$t('menu.menuSection.sectionActive'), + handler: this.active, + disabledCallback: MenuDisabledState.Section.active, + auth: { station: false, center: true } + }, + { + label: this.$t('menu.menuSection.axisPreReset'), + handler: this.axlePreReset, + disabledCallback: MenuDisabledState.Section.axlePreReset, + auth: { station: false, center: false } + }, + { + label: this.$t('menu.menuSection.sectionBlockade'), + handler: this.lock, + disabledCallback: MenuDisabledState.Section.lock, + auth: { station: false, center: true } + }, + { + label: this.$t('menu.menuSection.sectionUnblock'), + handler: this.unlock, + disabledCallback: MenuDisabledState.Section.unlock, + auth: { station: false, center: true } + }, + { + label: this.$t('menu.menuSection.sectionSetSpeedLimit'), + handler: this.setSpeed, + disabledCallback: MenuDisabledState.Section.setSpeed, + auth: { station: false, center: true } + }, + { + label: this.$t('menu.menuSection.sectionCancelSpeedLimit'), + handler: this.cancelSpeed, + disabledCallback: MenuDisabledState.Section.cancelSpeed, + auth: { station: false, center: true } + } + ] + }, + menuTrain: [ + { + label: this.$t('menu.menuSection.createTrain'), + handler: this.newTrain, + disabledCallback: MenuDisabledState.Section.newTrain + } + ], + menuForce: [ + { + label: this.$t('menu.menuSection.setFault'), + handler: this.setStoppage, + disabledCallback: MenuDisabledState.Section.setStoppage + }, + { + label: this.$t('menu.menuSection.cancelFault'), + handler: this.cancelStoppage, + disabledCallback: MenuDisabledState.Section.cancelStoppage + } + ] + }; + }, + computed: { + ...mapGetters('training', [ + 'mode', + 'operatemode' + ]), + ...mapGetters('menuOperation', [ + 'buttonOperation' + ]) + }, + watch: { + '$store.state.menuOperation.menuCount': function (val) { + if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Section) && !this.buttonOperation) { + this.doShow(this.$store.state.menuOperation.menuPosition); + } else { + this.doClose(); + } + } + }, + methods: { + clickEvent() { + const self = this; + window.onclick = function (e) { + self.doClose(); + }; + }, + initMenu() { + // 编辑模式菜单列表 + this.menu = menuFiltration(this.menuNormal); + if (this.operatemode === OperateMode.ADMIN) { + this.menu = [...this.menu, ...this.menuForce, ...this.menuTrain]; + } - // 故障模式菜单列表 - if (this.operatemode === OperateMode.FAULT) { - this.menu = this.menuForce; - } + // 故障模式菜单列表 + if (this.operatemode === OperateMode.FAULT) { + this.menu = this.menuForce; + } - this.menu = menuConvert(this.menu); - }, - doShow(point) { - this.clickEvent(); - this.initMenu(); - if (this.$refs && this.$refs.popMenu && this.menu && this.menu.length) { - this.$refs.popMenu.resetShowPosition(point); - } - }, - doClose() { - if (this.$refs && this.$refs.popMenu) { - this.$refs.popMenu.close(); - } - }, - // 设置故障 - setStoppage() { - const operate = { - start: true, - send: true, - code: this.selected.code, - type: MapDeviceType.Section.type, - label: MapDeviceType.Section.label, - operation: OperationEvent.Section.stoppage.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - } else { - this.$refs.noticeInfo.doShow(operate); - } - }).catch(() => { - this.$refs.noticeInfo.doShow(operate); - }); - }, - // 取消故障 - cancelStoppage() { - const operate = { - start: true, - send: true, - code: this.selected.code, - type: MapDeviceType.Section.type, - label: MapDeviceType.Section.label, - operation: OperationEvent.Section.cancelStoppage.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - } else { - this.$refs.noticeInfo.doShow(operate); - } - }).catch(() => { - this.$refs.noticeInfo.doShow(operate); - }); - }, - // 故障解锁 - fault() { - const operate = { - start: true, - code: this.selected.code, - type: MapDeviceType.Section.type, - label: MapDeviceType.Section.label, - operation: OperationEvent.Section.fault.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.sectionCmdControl.doShow(operate, this.selected); - } - }); - }, - // 切除 - split() { - const operate = { - start: true, - code: this.selected.code, - type: MapDeviceType.Section.type, - label: MapDeviceType.Section.label, - operation: OperationEvent.Section.split.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.sectionControl.doShow(operate, this.selected); - } - }); - }, - // 激活 - active() { - const operate = { - start: true, - code: this.selected.code, - type: MapDeviceType.Section.type, - label: MapDeviceType.Section.label, - operation: OperationEvent.Section.active.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.sectionControl.doShow(operate, this.selected); - } - }); - }, - // 区段计轴预复位 - axlePreReset() { - const operate = { - start: true, - code: this.selected.code, - type: MapDeviceType.Section.type, - label: MapDeviceType.Section.label, - operation: OperationEvent.Section.axlePreReset.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.sectionCmdControl.doShow(operate, this.selected); - } - }); - }, - // 区段解锁 - lock() { - const operate = { - start: true, - code: this.selected.code, - type: MapDeviceType.Section.type, - label: MapDeviceType.Section.label, - operation: OperationEvent.Section.lock.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.sectionControl.doShow(operate, this.selected); - } - }); - }, - // 区段封锁 - unlock() { - const operate = { - start: true, - code: this.selected.code, - type: MapDeviceType.Section.type, - label: MapDeviceType.Section.label, - operation: OperationEvent.Section.unlock.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.sectionCmdControl.doShow(operate, this.selected); - } - }); - }, - // 设置速度 - setSpeed() { - const operate = { - start: true, - code: this.selected.code, - type: MapDeviceType.Section.type, - label: MapDeviceType.Section.label, - operation: OperationEvent.Section.setSpeed.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.speedCmdControl.doShow(operate, this.selected); - } - }); - }, - // 取消速度 - cancelSpeed() { - const operate = { - start: true, - send: true, - code: this.selected.code, - type: MapDeviceType.Section.type, - label: MapDeviceType.Section.label, - operation: OperationEvent.Section.cancelSpeed.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid, response }) => { - if (valid) { - const tempData = response.data; - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.speedCmdControl.doShow(operate, this.selected, tempData); - } - }); - }, - // 新建列车 - newTrain() { - const operate = { - start: true, - code: this.selected.code, - type: MapDeviceType.Section.type, - label: MapDeviceType.Section.label, - operation: OperationEvent.Section.newtrain.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.trainCreate.doShow(operate, this.selected); - } - }); - } - } + this.menu = menuConvert(this.menu); + }, + doShow(point) { + this.clickEvent(); + this.initMenu(); + if (this.$refs && this.$refs.popMenu && this.menu && this.menu.length) { + this.$refs.popMenu.resetShowPosition(point); + } + }, + doClose() { + if (this.$refs && this.$refs.popMenu) { + this.$refs.popMenu.close(); + } + }, + // 设置故障 + setStoppage() { + const operate = { + start: true, + send: true, + code: this.selected.code, + type: MapDeviceType.Section.type, + label: MapDeviceType.Section.label, + operation: OperationEvent.Section.stoppage.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + } else { + this.$refs.noticeInfo.doShow(operate); + } + }).catch(() => { + this.$refs.noticeInfo.doShow(operate); + }); + }, + // 取消故障 + cancelStoppage() { + const operate = { + start: true, + send: true, + code: this.selected.code, + type: MapDeviceType.Section.type, + label: MapDeviceType.Section.label, + operation: OperationEvent.Section.cancelStoppage.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + } else { + this.$refs.noticeInfo.doShow(operate); + } + }).catch(() => { + this.$refs.noticeInfo.doShow(operate); + }); + }, + // 故障解锁 + fault() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.Section.type, + label: MapDeviceType.Section.label, + operation: OperationEvent.Section.fault.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.sectionCmdControl.doShow(operate, this.selected); + } + }); + }, + // 切除 + split() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.Section.type, + label: MapDeviceType.Section.label, + operation: OperationEvent.Section.split.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.sectionControl.doShow(operate, this.selected); + } + }); + }, + // 激活 + active() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.Section.type, + label: MapDeviceType.Section.label, + operation: OperationEvent.Section.active.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.sectionControl.doShow(operate, this.selected); + } + }); + }, + // 区段计轴预复位 + axlePreReset() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.Section.type, + label: MapDeviceType.Section.label, + operation: OperationEvent.Section.axlePreReset.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.sectionCmdControl.doShow(operate, this.selected); + } + }); + }, + // 区段解锁 + lock() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.Section.type, + label: MapDeviceType.Section.label, + operation: OperationEvent.Section.lock.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.sectionControl.doShow(operate, this.selected); + } + }); + }, + // 区段封锁 + unlock() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.Section.type, + label: MapDeviceType.Section.label, + operation: OperationEvent.Section.unlock.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.sectionCmdControl.doShow(operate, this.selected); + } + }); + }, + // 设置速度 + setSpeed() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.Section.type, + label: MapDeviceType.Section.label, + operation: OperationEvent.Section.setSpeed.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.speedCmdControl.doShow(operate, this.selected); + } + }); + }, + // 取消速度 + cancelSpeed() { + const operate = { + start: true, + send: true, + code: this.selected.code, + type: MapDeviceType.Section.type, + label: MapDeviceType.Section.label, + operation: OperationEvent.Section.cancelSpeed.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid, response }) => { + if (valid) { + const tempData = response.data; + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.speedCmdControl.doShow(operate, this.selected, tempData); + } + }); + }, + // 新建列车 + newTrain() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.Section.type, + label: MapDeviceType.Section.label, + operation: OperationEvent.Section.newtrain.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.trainCreate.doShow(operate, this.selected); + } + }); + } + } }; diff --git a/src/jmap/theme/fuzhou_01/menus/menuStationStand.vue b/src/jmap/theme/fuzhou_01/menus/menuStationStand.vue index 6b7ea9466..a0c7f8d5b 100644 --- a/src/jmap/theme/fuzhou_01/menus/menuStationStand.vue +++ b/src/jmap/theme/fuzhou_01/menus/menuStationStand.vue @@ -26,463 +26,463 @@ import { MapDeviceType, OperationEvent, DeviceMenu } from '@/scripts/ConstDic'; import { MenuDisabledState, menuConvert, menuFiltration } from './utils/menuItemStatus'; export default { - name: 'StationStandMenu', - components: { - PopMenu, - StandControl, - StandDetail, - StandRunLevel, - NoticeInfo, - StandBackStrategy, - StandStopTime, - StandDetainTrainAll - }, - props: { - selected: { - type: Object, - default() { - return null; - } - } - }, - data() { - return { - menu: [], - menuNormal: { - local: [ - { - label: this.$t('menu.menuStationStand.detainTrain'), - handler: this.setDetainTrain, - disabledCallback: MenuDisabledState.StationStand.setDetainTrain, - auth: { station: true, center: false } - }, - { - label: this.$t('menu.menuStationStand.cancelDetainTrain'), - handler: this.cancelDetainTrain, - disabledCallback: MenuDisabledState.StationStand.cancelDetainTrain, - auth: { station: true, center: false } - }, - { - label: this.$t('menu.menuStationStand.cancelDetainTrainForce'), - handler: this.cancelDetainTrainForce, - disabledCallback: MenuDisabledState.StationStand.cancelDetainTrainForce, - auth: { station: true, center: false } - }, - { - label: this.$t('menu.menuStationStand.jumpStop'), - handler: this.setJumpStop, - disabledCallback: MenuDisabledState.StationStand.setJumpStop, - auth: { station: true, center: false } - }, - { - label: this.$t('menu.menuStationStand.cancelJumpStop'), - handler: this.cancelJumpStop, - disabledCallback: MenuDisabledState.StationStand.cancelJumpStop, - auth: { station: true, center: false } - }, - { - label: this.$t('menu.menuStationStand.setRunLevel'), - handler: this.setRunLevel, - disabledCallback: MenuDisabledState.StationStand.setRunLevel, - auth: { station: false, center: false } - }, - { - label: this.$t('menu.menuStationStand.setEarlyDeparture'), - handler: this.earlyDeparture, - disabledCallback: MenuDisabledState.StationStand.earlyDeparture, - auth: { station: false, center: false } - }, - { - label: this.$t('menu.menuStationStand.setBackStrategy'), - handler: this.setBackStrategy, - disabledCallback: MenuDisabledState.StationStand.setBackStrategy, - auth: { station: false, center: false } - }, - { - label: this.$t('menu.menuStationStand.getStationStandStatus'), - handler: this.detail, - disabledCallback: MenuDisabledState.StationStand.detail, - auth: { station: true, center: false } - } - ], - central: [ - { - label: this.$t('menu.menuStationStand.detainTrain'), - handler: this.setDetainTrain, - disabledCallback: MenuDisabledState.StationStand.setDetainTrain, - auth: { station: false, center: true } - }, - { - label: this.$t('menu.menuStationStand.cancelDetainTrain'), - handler: this.cancelDetainTrain, - disabledCallback: MenuDisabledState.StationStand.cancelDetainTrain, - auth: { station: false, center: true } - }, - { - label: this.$t('menu.menuStationStand.cancelDetainTrainForce'), - handler: this.cancelDetainTrainForce, - disabledCallback: MenuDisabledState.StationStand.cancelDetainTrainForce, - auth: { station: false, center: false } - }, - { - label: this.$t('menu.menuStationStand.cancelDetainTrainAll'), - handler: this.cancelDetainTrainAll, - disabledCallback: MenuDisabledState.StationStand.cancelDetainTrainAll, - auth: { station: false, center: true } - }, - { - label: this.$t('menu.menuStationStand.jumpStop'), - handler: this.setJumpStop, - disabledCallback: MenuDisabledState.StationStand.setJumpStop, - auth: { station: false, center: true } - }, - { - label: this.$t('menu.menuStationStand.cancelJumpStop'), - handler: this.cancelJumpStop, - disabledCallback: MenuDisabledState.StationStand.cancelJumpStop, - auth: { station: true, center: true } - }, - { - label: this.$t('menu.menuStationStand.setStopTime'), - handler: this.setStopTime, - disabledCallback: MenuDisabledState.StationStand.setStopTime, - auth: { station: false, center: true } - }, - { - label: this.$t('menu.menuStationStand.setRunLevel'), - handler: this.setRunLevel, - disabledCallback: MenuDisabledState.StationStand.setRunLevel, - auth: { station: false, center: true } - }, - { - label: this.$t('menu.menuStationStand.setEarlyDeparture'), - handler: this.earlyDeparture, - disabledCallback: MenuDisabledState.StationStand.earlyDeparture, - auth: { station: false, center: true } - }, - { - label: this.$t('menu.menuStationStand.setBackStrategy'), - handler: this.setBackStrategy, - disabledCallback: MenuDisabledState.StationStand.setBackStrategy, - auth: { station: false, center: true } - }, - { - label: this.$t('menu.menuStationStand.getStationStandStatus'), - handler: this.detail, - disabledCallback: MenuDisabledState.StationStand.detail, - auth: { station: true, center: true } - } - ] - }, - menuForce: [ - { - label: this.$t('menu.menuStationStand.setFault'), - handler: this.setStoppage, - disabledCallback: MenuDisabledState.StationStand.setStoppage - }, - { - label: this.$t('menu.menuStationStand.cancelFault'), - handler: this.cancelStoppage, - disabledCallback: MenuDisabledState.StationStand.cancelStoppage - } - ] - }; - }, - computed: { - ...mapGetters('training', [ - 'mode', - 'operatemode' - ]), - ...mapGetters('menuOperation', [ - 'buttonOperation' - ]) - }, - watch: { - '$store.state.menuOperation.menuCount': function (val) { - if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.StationStand) && !this.buttonOperation) { - this.doShow(this.$store.state.menuOperation.menuPosition); - } else { - this.doClose(); - } - } - }, - methods: { - clickEvent() { - const self = this; - window.onclick = function (e) { - self.doClose(); - }; - }, - initMenu() { - // 编辑模式菜单列表 - this.menu = menuFiltration(this.menuNormal); - if (this.operatemode === OperateMode.ADMIN) { - this.menu = [...this.menu, ...this.menuForce]; - } + name: 'StationStandMenu', + components: { + PopMenu, + StandControl, + StandDetail, + StandRunLevel, + NoticeInfo, + StandBackStrategy, + StandStopTime, + StandDetainTrainAll + }, + props: { + selected: { + type: Object, + default() { + return null; + } + } + }, + data() { + return { + menu: [], + menuNormal: { + local: [ + { + label: this.$t('menu.menuStationStand.detainTrain'), + handler: this.setDetainTrain, + disabledCallback: MenuDisabledState.StationStand.setDetainTrain, + auth: { station: true, center: false } + }, + { + label: this.$t('menu.menuStationStand.cancelDetainTrain'), + handler: this.cancelDetainTrain, + disabledCallback: MenuDisabledState.StationStand.cancelDetainTrain, + auth: { station: true, center: false } + }, + { + label: this.$t('menu.menuStationStand.cancelDetainTrainForce'), + handler: this.cancelDetainTrainForce, + disabledCallback: MenuDisabledState.StationStand.cancelDetainTrainForce, + auth: { station: true, center: false } + }, + { + label: this.$t('menu.menuStationStand.jumpStop'), + handler: this.setJumpStop, + disabledCallback: MenuDisabledState.StationStand.setJumpStop, + auth: { station: true, center: false } + }, + { + label: this.$t('menu.menuStationStand.cancelJumpStop'), + handler: this.cancelJumpStop, + disabledCallback: MenuDisabledState.StationStand.cancelJumpStop, + auth: { station: true, center: false } + }, + { + label: this.$t('menu.menuStationStand.setRunLevel'), + handler: this.setRunLevel, + disabledCallback: MenuDisabledState.StationStand.setRunLevel, + auth: { station: false, center: false } + }, + { + label: this.$t('menu.menuStationStand.setEarlyDeparture'), + handler: this.earlyDeparture, + disabledCallback: MenuDisabledState.StationStand.earlyDeparture, + auth: { station: false, center: false } + }, + { + label: this.$t('menu.menuStationStand.setBackStrategy'), + handler: this.setBackStrategy, + disabledCallback: MenuDisabledState.StationStand.setBackStrategy, + auth: { station: false, center: false } + }, + { + label: this.$t('menu.menuStationStand.getStationStandStatus'), + handler: this.detail, + disabledCallback: MenuDisabledState.StationStand.detail, + auth: { station: true, center: false } + } + ], + central: [ + { + label: this.$t('menu.menuStationStand.detainTrain'), + handler: this.setDetainTrain, + disabledCallback: MenuDisabledState.StationStand.setDetainTrain, + auth: { station: false, center: true } + }, + { + label: this.$t('menu.menuStationStand.cancelDetainTrain'), + handler: this.cancelDetainTrain, + disabledCallback: MenuDisabledState.StationStand.cancelDetainTrain, + auth: { station: false, center: true } + }, + { + label: this.$t('menu.menuStationStand.cancelDetainTrainForce'), + handler: this.cancelDetainTrainForce, + disabledCallback: MenuDisabledState.StationStand.cancelDetainTrainForce, + auth: { station: false, center: false } + }, + { + label: this.$t('menu.menuStationStand.cancelDetainTrainAll'), + handler: this.cancelDetainTrainAll, + disabledCallback: MenuDisabledState.StationStand.cancelDetainTrainAll, + auth: { station: false, center: true } + }, + { + label: this.$t('menu.menuStationStand.jumpStop'), + handler: this.setJumpStop, + disabledCallback: MenuDisabledState.StationStand.setJumpStop, + auth: { station: false, center: true } + }, + { + label: this.$t('menu.menuStationStand.cancelJumpStop'), + handler: this.cancelJumpStop, + disabledCallback: MenuDisabledState.StationStand.cancelJumpStop, + auth: { station: true, center: true } + }, + { + label: this.$t('menu.menuStationStand.setStopTime'), + handler: this.setStopTime, + disabledCallback: MenuDisabledState.StationStand.setStopTime, + auth: { station: false, center: true } + }, + { + label: this.$t('menu.menuStationStand.setRunLevel'), + handler: this.setRunLevel, + disabledCallback: MenuDisabledState.StationStand.setRunLevel, + auth: { station: false, center: true } + }, + { + label: this.$t('menu.menuStationStand.setEarlyDeparture'), + handler: this.earlyDeparture, + disabledCallback: MenuDisabledState.StationStand.earlyDeparture, + auth: { station: false, center: true } + }, + { + label: this.$t('menu.menuStationStand.setBackStrategy'), + handler: this.setBackStrategy, + disabledCallback: MenuDisabledState.StationStand.setBackStrategy, + auth: { station: false, center: true } + }, + { + label: this.$t('menu.menuStationStand.getStationStandStatus'), + handler: this.detail, + disabledCallback: MenuDisabledState.StationStand.detail, + auth: { station: true, center: true } + } + ] + }, + menuForce: [ + { + label: this.$t('menu.menuStationStand.setFault'), + handler: this.setStoppage, + disabledCallback: MenuDisabledState.StationStand.setStoppage + }, + { + label: this.$t('menu.menuStationStand.cancelFault'), + handler: this.cancelStoppage, + disabledCallback: MenuDisabledState.StationStand.cancelStoppage + } + ] + }; + }, + computed: { + ...mapGetters('training', [ + 'mode', + 'operatemode' + ]), + ...mapGetters('menuOperation', [ + 'buttonOperation' + ]) + }, + watch: { + '$store.state.menuOperation.menuCount': function (val) { + if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.StationStand) && !this.buttonOperation) { + this.doShow(this.$store.state.menuOperation.menuPosition); + } else { + this.doClose(); + } + } + }, + methods: { + clickEvent() { + const self = this; + window.onclick = function (e) { + self.doClose(); + }; + }, + initMenu() { + // 编辑模式菜单列表 + this.menu = menuFiltration(this.menuNormal); + if (this.operatemode === OperateMode.ADMIN) { + this.menu = [...this.menu, ...this.menuForce]; + } - // 故障模式菜单列表 - if (this.operatemode === OperateMode.FAULT) { - this.menu = this.menuForce; - } + // 故障模式菜单列表 + if (this.operatemode === OperateMode.FAULT) { + this.menu = this.menuForce; + } - this.menu = menuConvert(this.menu); - }, - doShow(point) { - this.clickEvent(); - this.initMenu(); - if (this.$refs && this.$refs.popMenu && this.menu && this.menu.length) { - this.$refs.popMenu.resetShowPosition(point); - } - }, - doClose() { - if (this.$refs && this.$refs.popMenu) { - this.$refs.popMenu.close(); - } - }, - // 设置故障 - setStoppage() { - const operate = { - start: true, - send: true, - code: this.selected.code, - type: MapDeviceType.StationStand.type, - label: MapDeviceType.StationStand.label, - operation: OperationEvent.StationStand.stoppage.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - } else { - this.$refs.noticeInfo.doShow(operate); - } - }).catch(() => { - this.$refs.noticeInfo.doShow(operate); - }); - }, - // 取消故障 - cancelStoppage() { - const operate = { - start: true, - send: true, - code: this.selected.code, - type: MapDeviceType.StationStand.type, - label: MapDeviceType.StationStand.label, - operation: OperationEvent.StationStand.cancelStoppage.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - } else { - this.$refs.noticeInfo.doShow(operate); - } - }).catch(() => { - this.$refs.noticeInfo.doShow(operate); - }); - }, - // 设置扣车 - setDetainTrain() { - const operate = { - start: true, - code: this.selected.code, - type: MapDeviceType.StationStand.type, - label: MapDeviceType.StationStand.label, - operation: OperationEvent.StationStand.setDetainTrain.menu.operation - }; + this.menu = menuConvert(this.menu); + }, + doShow(point) { + this.clickEvent(); + this.initMenu(); + if (this.$refs && this.$refs.popMenu && this.menu && this.menu.length) { + this.$refs.popMenu.resetShowPosition(point); + } + }, + doClose() { + if (this.$refs && this.$refs.popMenu) { + this.$refs.popMenu.close(); + } + }, + // 设置故障 + setStoppage() { + const operate = { + start: true, + send: true, + code: this.selected.code, + type: MapDeviceType.StationStand.type, + label: MapDeviceType.StationStand.label, + operation: OperationEvent.StationStand.stoppage.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + } else { + this.$refs.noticeInfo.doShow(operate); + } + }).catch(() => { + this.$refs.noticeInfo.doShow(operate); + }); + }, + // 取消故障 + cancelStoppage() { + const operate = { + start: true, + send: true, + code: this.selected.code, + type: MapDeviceType.StationStand.type, + label: MapDeviceType.StationStand.label, + operation: OperationEvent.StationStand.cancelStoppage.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + } else { + this.$refs.noticeInfo.doShow(operate); + } + }).catch(() => { + this.$refs.noticeInfo.doShow(operate); + }); + }, + // 设置扣车 + setDetainTrain() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.StationStand.type, + label: MapDeviceType.StationStand.label, + operation: OperationEvent.StationStand.setDetainTrain.menu.operation + }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.standControl.doShow(operate, this.selected); - } - }); - }, - // 取消扣车 - cancelDetainTrain() { - const operate = { - start: true, - code: this.selected.code, - type: MapDeviceType.StationStand.type, - label: MapDeviceType.StationStand.label, - operation: OperationEvent.StationStand.cancelDetainTrain.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.standControl.doShow(operate, this.selected); - } - }); - }, - // 强制取消扣车 - cancelDetainTrainForce() { - const operate = { - start: true, - code: this.selected.code, - type: MapDeviceType.StationStand.type, - label: MapDeviceType.StationStand.label, - operation: OperationEvent.StationStand.cancelDetainTrainForce.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.standControl.doShow(operate, this.selected); - } - }); - }, - // 全线取消扣车 - cancelDetainTrainAll() { - const operate = { - start: true, - code: this.selected.code, - type: MapDeviceType.StationStand.type, - label: MapDeviceType.StationStand.label, - operation: OperationEvent.StationStand.cancelDetainTrainAll.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.standDetainTrainAll.doShow(operate, this.selected); - } - }); - }, - // 设置跳停 - setJumpStop() { - const operate = { - start: true, - code: this.selected.code, - type: MapDeviceType.StationStand.type, - label: MapDeviceType.StationStand.label, - operation: OperationEvent.StationStand.setJumpStop.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.standControl.doShow(operate, this.selected); - } - }); - }, - // 取消跳停 - cancelJumpStop() { - const operate = { - start: true, - code: this.selected.code, - type: MapDeviceType.StationStand.type, - label: MapDeviceType.StationStand.label, - operation: OperationEvent.StationStand.cancelJumpStop.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.standControl.doShow(operate, this.selected); - } - }); - }, - // 设置停站时间 - setStopTime() { - const operate = { - start: true, - send: true, - code: this.selected.code, - type: MapDeviceType.StationStand.type, - label: MapDeviceType.StationStand.label, - operation: OperationEvent.StationStand.setStopTime.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid, response }) => { - if (valid) { - let tempDate = null; - if (response) { - tempDate = response.data; - } - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.standStopTime.doShow(operate, this.selected, tempDate); - } - }).catch(() => { - this.$refs.noticeInfo.doShow(operate); - }); - }, - // 设置运行等级 - setRunLevel() { - const operate = { - start: true, - send: true, - code: this.selected.code, - type: MapDeviceType.StationStand.type, - label: MapDeviceType.StationStand.label, - operation: OperationEvent.StationStand.setRunLevel.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid, response }) => { - if (valid) { - let tempDate = null; - if (response) { - tempDate = response.data; - } - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.standRunLevel.doShow(operate, this.selected, tempDate); - } - }).catch(() => { - this.$refs.noticeInfo.doShow(operate); - }); - }, - // 设置提前发车 - earlyDeparture() { - const operate = { - start: true, - code: this.selected.code, - type: MapDeviceType.StationStand.type, - operation: OperationEvent.StationStand.earlyDeparture.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid }) => { - if (valid) { - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.standControl.doShow(operate, this.selected); - } - }); - }, - // 设置折返策略 - setBackStrategy() { - const operate = { - start: true, - send: true, - code: this.selected.code, - type: MapDeviceType.StationStand.type, - operation: OperationEvent.StationStand.setBackStrategy.menu.operation - }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.standControl.doShow(operate, this.selected); + } + }); + }, + // 取消扣车 + cancelDetainTrain() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.StationStand.type, + label: MapDeviceType.StationStand.label, + operation: OperationEvent.StationStand.cancelDetainTrain.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.standControl.doShow(operate, this.selected); + } + }); + }, + // 强制取消扣车 + cancelDetainTrainForce() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.StationStand.type, + label: MapDeviceType.StationStand.label, + operation: OperationEvent.StationStand.cancelDetainTrainForce.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.standControl.doShow(operate, this.selected); + } + }); + }, + // 全线取消扣车 + cancelDetainTrainAll() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.StationStand.type, + label: MapDeviceType.StationStand.label, + operation: OperationEvent.StationStand.cancelDetainTrainAll.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.standDetainTrainAll.doShow(operate, this.selected); + } + }); + }, + // 设置跳停 + setJumpStop() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.StationStand.type, + label: MapDeviceType.StationStand.label, + operation: OperationEvent.StationStand.setJumpStop.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.standControl.doShow(operate, this.selected); + } + }); + }, + // 取消跳停 + cancelJumpStop() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.StationStand.type, + label: MapDeviceType.StationStand.label, + operation: OperationEvent.StationStand.cancelJumpStop.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.standControl.doShow(operate, this.selected); + } + }); + }, + // 设置停站时间 + setStopTime() { + const operate = { + start: true, + send: true, + code: this.selected.code, + type: MapDeviceType.StationStand.type, + label: MapDeviceType.StationStand.label, + operation: OperationEvent.StationStand.setStopTime.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid, response }) => { + if (valid) { + let tempDate = null; + if (response) { + tempDate = response.data; + } + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.standStopTime.doShow(operate, this.selected, tempDate); + } + }).catch(() => { + this.$refs.noticeInfo.doShow(operate); + }); + }, + // 设置运行等级 + setRunLevel() { + const operate = { + start: true, + send: true, + code: this.selected.code, + type: MapDeviceType.StationStand.type, + label: MapDeviceType.StationStand.label, + operation: OperationEvent.StationStand.setRunLevel.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid, response }) => { + if (valid) { + let tempDate = null; + if (response) { + tempDate = response.data; + } + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.standRunLevel.doShow(operate, this.selected, tempDate); + } + }).catch(() => { + this.$refs.noticeInfo.doShow(operate); + }); + }, + // 设置提前发车 + earlyDeparture() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.StationStand.type, + operation: OperationEvent.StationStand.earlyDeparture.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.standControl.doShow(operate, this.selected); + } + }); + }, + // 设置折返策略 + setBackStrategy() { + const operate = { + start: true, + send: true, + code: this.selected.code, + type: MapDeviceType.StationStand.type, + operation: OperationEvent.StationStand.setBackStrategy.menu.operation + }; - this.$store.dispatch('training/next', operate).then(({ valid, response }) => { - if (valid) { - let tempDate = null; - if (response) { - tempDate = response.data; - } - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.standBackStrategy.doShow(operate, this.selected, tempDate); - } - }).catch(() => { - this.$refs.noticeInfo.doShow(operate); - }); - }, - // 查询站台状态 - detail() { - const operate = { - start: true, - send: true, - code: this.selected.code, - type: MapDeviceType.StationStand.type, - label: MapDeviceType.StationStand.label, - operation: OperationEvent.StationStand.detail.menu.operation - }; - this.$store.dispatch('training/next', operate).then(({ valid, response }) => { - if (valid) { - let tempDate = null; - if (response) { - tempDate = response.data; - } - this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.standDetail.doShow(operate, this.selected, tempDate); - } - }).catch(() => { - this.$refs.noticeInfo.doShow(operate); - }); - } - } + this.$store.dispatch('training/next', operate).then(({ valid, response }) => { + if (valid) { + let tempDate = null; + if (response) { + tempDate = response.data; + } + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.standBackStrategy.doShow(operate, this.selected, tempDate); + } + }).catch(() => { + this.$refs.noticeInfo.doShow(operate); + }); + }, + // 查询站台状态 + detail() { + const operate = { + start: true, + send: true, + code: this.selected.code, + type: MapDeviceType.StationStand.type, + label: MapDeviceType.StationStand.label, + operation: OperationEvent.StationStand.detail.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid, response }) => { + if (valid) { + let tempDate = null; + if (response) { + tempDate = response.data; + } + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.standDetail.doShow(operate, this.selected, tempDate); + } + }).catch(() => { + this.$refs.noticeInfo.doShow(operate); + }); + } + } }; diff --git a/src/scripts/plugin/operateConvert2Command.js b/src/scripts/plugin/operateConvert2Command.js index 385d578aa..ffc733e34 100644 --- a/src/scripts/plugin/operateConvert2Command.js +++ b/src/scripts/plugin/operateConvert2Command.js @@ -8,60 +8,60 @@ import { getConverter } from '@/scripts/plugin/converter/manager'; var OperateConverter = function () { }; OperateConverter.prototype = { - /** 转换 操作 为 指令 */ - convert: function (operate) { - if (operate.send) { - let command = null; - const converter = getConverter(OperateHandler.operates); - if (converter) { - command = converter.convert(OperateHandler.operates); - } + /** 转换 操作 为 指令 */ + convert: function (operate) { + if (operate.send) { + let command = null; + const converter = getConverter(OperateHandler.operates); + if (converter) { + command = converter.convert(OperateHandler.operates); + } - if (command && command.error) { - // 命令错误,可以回退或清空(暂用回退) - OperateHandler.operates.pop(); - store.dispatch('training/setTempStep', null); - command = null; - } else if (command && command.over) { - // 清空操作组 - OperateHandler.cleanOperates(); - store.dispatch('menuOperation/setButtonOperation', null); - } + if (command && command.error) { + // 命令错误,可以回退或清空(暂用回退) + OperateHandler.operates.pop(); + store.dispatch('training/setTempStep', null); + command = null; + } else if (command && command.over) { + // 清空操作组 + OperateHandler.cleanOperates(); + store.dispatch('menuOperation/setButtonOperation', null); + } - return command; - } else if (operate.operation === OperationEvent.Command.cancel.menu.operation || operate.over) { - // 取消操作,清空操作组 - OperateHandler.cleanOperates(); - } - return null; - }, + return command; + } else if (operate.operation === OperationEvent.Command.cancel.menu.operation || operate.over) { + // 取消操作,清空操作组 + OperateHandler.cleanOperates(); + } + return null; + }, - sendToServer: function (command) { - const group = router.currentRoute.query.group; - return new Promise((resolve, reject) => { - sendCommand(group, command).then((response) => { - resolve(response); - }).catch(error => { - reject(error); - }); - }); - }, + sendToServer: function (command) { + const group = router.currentRoute.query.group; + return new Promise((resolve, reject) => { + sendCommand(group, command).then((response) => { + resolve(response); + }).catch(error => { + reject(error); + }); + }); + }, - /** 转换操作 为 指令并发送 */ - convertAndSend: function (operate) { - return new Promise((resolve, reject) => { - const command = this.convert(operate); - if (command) { - this.sendToServer(command).then(response => { - resolve(response); - }).catch(error => { - reject(error); - }); - } else { - resolve(); - } - }); - } + /** 转换操作 为 指令并发送 */ + convertAndSend: function (operate) { + return new Promise((resolve, reject) => { + const command = this.convert(operate); + if (command) { + this.sendToServer(command).then(response => { + resolve(response); + }).catch(error => { + reject(error); + }); + } else { + resolve(); + } + }); + } }; export default new OperateConverter(); diff --git a/src/scripts/plugin/trainingOperateHandler.js b/src/scripts/plugin/trainingOperateHandler.js index 0283e06b5..8217086b9 100644 --- a/src/scripts/plugin/trainingOperateHandler.js +++ b/src/scripts/plugin/trainingOperateHandler.js @@ -11,138 +11,137 @@ var OperateHandler = function () { }; OperateHandler.prototype = { - /** 操作组 */ - operates: [], + /** 操作组 */ + operates: [], - backStep: function(num) { - this.operates = this.operates.slice(0, num); - }, + backStep: function(num) { + this.operates = this.operates.slice(0, num); + }, - /** 清空操作组 */ - cleanOperates: function () { - this.operates.splice(0, this.operates.length); - }, + /** 清空操作组 */ + cleanOperates: function () { + this.operates.splice(0, this.operates.length); + }, - /** + /** * 判断操作步骤是否正确 */ - judge: function (operate) { - let valid = false; - const steps = this.getSteps(); - const order = this.getOrder(); - if (order >= steps) { - return valid; - } - // debugger; - const standard = steps[order]; - if (operate && standard && operate.code == standard.code && operate.type == standard.type && + judge: function (operate) { + let valid = false; + const steps = this.getSteps(); + const order = this.getOrder(); + if (order >= steps) { + return valid; + } + // debugger; + const standard = steps[order]; + if (operate && standard && operate.code == standard.code && operate.type == standard.type && operate.operation == standard.operation && operate.val == standard.val) { - valid = true; - } - return valid; - }, + valid = true; + } + return valid; + }, - /** + /** * 根据模式验证操作步骤 */ - validate: function (operate) { - // 按钮操作之后,第二步错误操作菜单的情况,需要直接返回 - if ((this.operates.length && operate.start === true) && - (this.operates[0].type === 'mbm')) { - return false; - } + validate: function (operate) { + // 按钮操作之后,第二步错误操作菜单的情况,需要直接返回 + if ((this.operates.length && operate.start === true) && (this.operates[0].type === 'mbm')) { + return false; + } - // 如果是正常的第一步操作,需要清空operates数组 - if (operate.type === 'mbm' || operate.type === 'bar' || operate.start === true) { - this.cleanOperates(); - } + // 如果是正常的第一步操作,需要清空operates数组 + if (operate.type === 'mbm' || operate.type === 'bar' || operate.start === true) { + this.cleanOperates(); + } - this.operates.push(operate); + this.operates.push(operate); - // 预处理 - const converter = getConverter(this.operates); - if (converter && converter.preHandle instanceof Function) { - operate = converter.preHandle(this.operates); - } + // 预处理 + const converter = getConverter(this.operates); + if (converter && converter.preHandle instanceof Function) { + operate = converter.preHandle(this.operates); + } - let valid = true; - const mode = this.getTrainingMode(); - if (TrainingMode.EDIT === mode) { - // 编辑制作模式 - if (this.getOperateBreakStatus()) { - valid = false; - const tip = LangStorage.getLang() == 'en' ? 'Please enter a hint and click next' : '请输入提示并点击下一步'; - Message.error(tip); - this.operates.pop(); - return valid; - } - if (this.getTrainingStart()) { - store.dispatch('training/setTempStep', operate); - } - } else if (TrainingMode.TEACH === mode || TrainingMode.PRACTICE === mode) { - // 教学模式/练习模式 - if (this.getTrainingStart()) { - valid = this.judge(operate); - } else { - this.cleanOperates(); - valid = false; - } - } + let valid = true; + const mode = this.getTrainingMode(); + if (TrainingMode.EDIT === mode) { + // 编辑制作模式 + if (this.getOperateBreakStatus()) { + valid = false; + const tip = LangStorage.getLang() == 'en' ? 'Please enter a hint and click next' : '请输入提示并点击下一步'; + Message.error(tip); + this.operates.pop(); + return valid; + } + if (this.getTrainingStart()) { + store.dispatch('training/setTempStep', operate); + } + } else if (TrainingMode.TEACH === mode || TrainingMode.PRACTICE === mode) { + // 教学模式/练习模式 + if (this.getTrainingStart()) { + valid = this.judge(operate); + } else { + this.cleanOperates(); + valid = false; + } + } - // 发送每一步的步骤数据; - const basicInfo = store.getters['training/basicInfo']; - if (basicInfo.id && valid) { - const group = router.currentRoute.query.group; - sendTrainingNextStep({ trainingId: basicInfo.id, operate: operate }, group); - } + // 发送每一步的步骤数据; + const basicInfo = store.getters['training/basicInfo']; + if (basicInfo.id && valid) { + const group = router.currentRoute.query.group; + sendTrainingNextStep({ trainingId: basicInfo.id, operate: operate }, group); + } - if (!valid) { - // 如果操作校验不正确,回退 - this.operates.pop(); - } else { - if (operate.cancel === true) { - this.cleanOperates(); - } - } + if (!valid) { + // 如果操作校验不正确,回退 + this.operates.pop(); + } else { + if (operate.cancel === true) { + this.cleanOperates(); + } + } - return valid; - }, - handle: function (operate) { - return new Promise((resolve, reject) => { - const rtn = { valid: false, response: null }; - const valid = this.validate(operate); + return valid; + }, + handle: function (operate) { + return new Promise((resolve, reject) => { + const rtn = { valid: false, response: null }; + const valid = this.validate(operate); - rtn.valid = valid; + rtn.valid = valid; - if (valid) { - // 改变状态开始请求 - OperateConverter.convertAndSend(operate).then(response => { - rtn.response = response; - resolve(rtn); - }).catch(error => { - reject(error); - }); - } else { - resolve(rtn); - } - }); - }, - getTrainingMode: function () { - return store.state.training.mode; - }, - getSteps: function () { - return store.state.training.steps; - }, - getOrder: function () { - return store.state.training.order; - }, - getTrainingStart: function () { - return store.state.training.started; - }, - getOperateBreakStatus: function () { - return store.state.menuOperation.break; - } + if (valid) { + // 改变状态开始请求 + OperateConverter.convertAndSend(operate).then(response => { + rtn.response = response; + resolve(rtn); + }).catch(error => { + reject(error); + }); + } else { + resolve(rtn); + } + }); + }, + getTrainingMode: function () { + return store.state.training.mode; + }, + getSteps: function () { + return store.state.training.steps; + }, + getOrder: function () { + return store.state.training.order; + }, + getTrainingStart: function () { + return store.state.training.started; + }, + getOperateBreakStatus: function () { + return store.state.menuOperation.break; + } }; export default new OperateHandler(); diff --git a/src/store/modules/map.js b/src/store/modules/map.js index 1bc14d4b4..5f27bf532 100644 --- a/src/store/modules/map.js +++ b/src/store/modules/map.js @@ -2,7 +2,7 @@ import deviceType from '@/jmap/constant/deviceType'; import { parser, updateMapData } from '@/jmap/utils/parser'; import Vue from 'vue'; import { deepAssign } from '@/utils/index'; -// import { deepClone } from '@/utils/index'; + /** * 查询向上受影响的Devices * @param {Object} map @@ -240,7 +240,7 @@ function revocation(state, models) { break; } case 'edit': { - list.push({ operation: 'edit', data: deepAssign({}, state.mapDevice[item.data.code])}); + list.push({ operation: 'edit', data: deepAssign({}, state.mapDevice[item.data.code] || item.data)}); stepList.push({...item.data, _dispose: false}); break; } @@ -268,7 +268,7 @@ function recover(state, models) { break; } case 'edit': { - list.push({ operation: 'edit', data: deepAssign({}, state.mapDevice[item.data.code])}); + list.push({ operation: 'edit', data: deepAssign({}, state.mapDevice[item.data.code] || item.data)}); stepList.push({...item.data, _dispose: false}); break; } diff --git a/src/store/modules/training.js b/src/store/modules/training.js index 40bdea6fd..d5b9ebf70 100644 --- a/src/store/modules/training.js +++ b/src/store/modules/training.js @@ -8,552 +8,552 @@ import LangStorage from '@/utils/lang'; * 实训状态数据 */ const training = { - namespaced: true, + namespaced: true, - state: { - mode: null, // 模式 - operatemode: null, // 操作模式 管理员/普通 - started: false, // 是否开始 - switchcount: 0, // 开关标识 - basicInfo: {}, // 实训基本信息数据 - offsetStationCode: '', // 偏移到车站 - rezoomCount: 0, // 车站变更标识 - steps: [], // 实训步骤数据 - tempStep: {}, // 临时步骤数据(编辑模式) - order: -1, // 实训进行到第几步 - orderCount: 0, // 步骤变更标识 - operateErrMsg: '', // 操作错误提示信息 - subscribeCount: 0, // 仿真订阅完成标识 - score: 0, // 实训得分 - usedTime: 0, // 实训所需时间 - timeInterval: null, // 计时器 - tipEvent: 0, // 提示刷新检测 - operate: {}, // 操作model, - initTime: 0, // 当前系统时间 - prdType: '', // 产品类型 - roles: '', // 角色权限类型 - group: '' // 设置全局 group - }, + state: { + mode: null, // 模式 + operatemode: null, // 操作模式 管理员/普通 + started: false, // 是否开始 + switchcount: 0, // 开关标识 + basicInfo: {}, // 实训基本信息数据 + offsetStationCode: '', // 偏移到车站 + rezoomCount: 0, // 车站变更标识 + steps: [], // 实训步骤数据 + tempStep: {}, // 临时步骤数据(编辑模式) + order: -1, // 实训进行到第几步 + orderCount: 0, // 步骤变更标识 + operateErrMsg: '', // 操作错误提示信息 + subscribeCount: 0, // 仿真订阅完成标识 + score: 0, // 实训得分 + usedTime: 0, // 实训所需时间 + timeInterval: null, // 计时器 + tipEvent: 0, // 提示刷新检测 + operate: {}, // 操作model, + initTime: 0, // 当前系统时间 + prdType: '', // 产品类型 + roles: '', // 角色权限类型 + group: '' // 设置全局 group + }, - getters: { - tempStep: (state) => { - return state.tempStep; - }, - steps: (state) => { - return state.steps; - }, - order: (state) => { - return state.order; - }, - offsetStationCode: (state) => { - return state.offsetStationCode; - }, - basicInfo: (state) => { - return state.basicInfo; - }, - mode: (state) => { - return state.mode; - }, - operatemode: (state) => { - return state.operatemode; - }, - started: (state) => { - return state.started; - }, - score: (state) => { - return state.score; - }, - usedTime: (state) => { - return state.usedTime; - }, - tipEvent: (state) => { - return state.tipEvent; - }, - initTime: (state) => { - return state.initTime; - }, - prdType: (state) => { - return state.prdType; - }, - roles: (state) => { - return state.roles; - }, - // 视图中的列车列表 - viewTrainList: (state) => () =>{ - const trainList = []; - const mapDevice = Vue.prototype.$jlmap.mapDevice; - Object.values(mapDevice).forEach(device => { - if (device && device._type === deviceType.Train) { - trainList.push(device); - } - }); + getters: { + tempStep: (state) => { + return state.tempStep; + }, + steps: (state) => { + return state.steps; + }, + order: (state) => { + return state.order; + }, + offsetStationCode: (state) => { + return state.offsetStationCode; + }, + basicInfo: (state) => { + return state.basicInfo; + }, + mode: (state) => { + return state.mode; + }, + operatemode: (state) => { + return state.operatemode; + }, + started: (state) => { + return state.started; + }, + score: (state) => { + return state.score; + }, + usedTime: (state) => { + return state.usedTime; + }, + tipEvent: (state) => { + return state.tipEvent; + }, + initTime: (state) => { + return state.initTime; + }, + prdType: (state) => { + return state.prdType; + }, + roles: (state) => { + return state.roles; + }, + // 视图中的列车列表 + viewTrainList: (state) => () =>{ + const trainList = []; + const mapDevice = Vue.prototype.$jlmap.mapDevice; + Object.values(mapDevice).forEach(device => { + if (device && device._type === deviceType.Train) { + trainList.push(device); + } + }); - return trainList; - } - }, + return trainList; + } + }, - mutations: { - changeMode: (state, mode) => { - state.mode = mode; - }, - changeOperateMode: (state, mode) => { - state.operatemode = mode; - }, - start: (state) => { - state.started = true; - state.switchcount += 1; - }, - over: (state) => { - state.started = false; - state.switchcount += 1; - }, - updateMapState: (state, deviceStatus) => { - Vue.prototype.$jlmap && Vue.prototype.$jlmap.update(deviceStatus); - }, - setMapDefaultState: (state) =>{ - Vue.prototype.$jlmap && Vue.prototype.$jlmap.setDefaultState(); - }, - setBasicInfo: (state, basicInfo) => { - state.basicInfo = basicInfo; - }, - setOffsetStationCode: (state, offsetStationCode) => { - state.offsetStationCode = offsetStationCode || null; - if (state % 100 === 0) { - state.rezoomCount = 0; - } else { - state.rezoomCount += 1; - } - }, - setSteps: (state, steps) => { - state.steps = steps; - }, - addStep: (state, step) => { - state.steps.push(step); - }, - next: (state) => { - state.order += 1; - state.orderCount += 1; - }, - orderCountIncrement: (state) => { - state.orderCount += 1; - }, - resetOrder: (state) => { - state.order = -1; - }, - backOrder: (state, stepNum) => { - if (state.order > stepNum) { - state.order -= stepNum; - state.orderCount += 1; - } - }, - setTempStep: (state, step) => { - state.tempStep = step; - }, + mutations: { + changeMode: (state, mode) => { + state.mode = mode; + }, + changeOperateMode: (state, mode) => { + state.operatemode = mode; + }, + start: (state) => { + state.started = true; + state.switchcount += 1; + }, + over: (state) => { + state.started = false; + state.switchcount += 1; + }, + updateMapState: (state, deviceStatus) => { + Vue.prototype.$jlmap && Vue.prototype.$jlmap.update(deviceStatus); + }, + setMapDefaultState: (state) =>{ + Vue.prototype.$jlmap && Vue.prototype.$jlmap.setDefaultState(); + }, + setBasicInfo: (state, basicInfo) => { + state.basicInfo = basicInfo; + }, + setOffsetStationCode: (state, offsetStationCode) => { + state.offsetStationCode = offsetStationCode || null; + if (state % 100 === 0) { + state.rezoomCount = 0; + } else { + state.rezoomCount += 1; + } + }, + setSteps: (state, steps) => { + state.steps = steps; + }, + addStep: (state, step) => { + state.steps.push(step); + }, + next: (state) => { + state.order += 1; + state.orderCount += 1; + }, + orderCountIncrement: (state) => { + state.orderCount += 1; + }, + resetOrder: (state) => { + state.order = -1; + }, + backOrder: (state, stepNum) => { + if (state.order > stepNum) { + state.order -= stepNum; + state.orderCount += 1; + } + }, + setTempStep: (state, step) => { + state.tempStep = step; + }, - setOperateErrMsg: (state, errMsg) => { - state.operateErrMsg = errMsg; - }, + setOperateErrMsg: (state, errMsg) => { + state.operateErrMsg = errMsg; + }, - setHasSubscribed: (state) => { - state.subscribeCount++; - }, + setHasSubscribed: (state) => { + state.subscribeCount++; + }, - setScore: (state, score) => { - state.score = score; - }, - resetScore: (state) => { - state.score = ''; - }, - tipEventIncrement: (state) => { - state.tipEvent++; - }, - resetUsedTime: (state) => { - state.usedTime = 0; - }, - countUsedTime: (state) => { - if (state.timeInterval) { - clearInterval(state.timeInterval); - state.timeInterval = null; - } - state.timeInterval = setInterval(() => { - state.usedTime++; - state.initTime += 1000; - }, 1000); - }, - stopCountTime: (state) => { - if (state.timeInterval) { - clearInterval(state.timeInterval); - state.timeInterval = null; - } - }, - setOperate: (state, operate) => { - state.operate = operate; - }, - setInitTime: (state, operate) => { - state.initTime = operate; - }, - setPrdType: (state, prdType) => { - state.prdType = prdType; - }, - setRoles: (state, roles) => { - state.roles = roles; - }, - setGroup: (state, group) => { - state.group = group; - } - }, + setScore: (state, score) => { + state.score = score; + }, + resetScore: (state) => { + state.score = ''; + }, + tipEventIncrement: (state) => { + state.tipEvent++; + }, + resetUsedTime: (state) => { + state.usedTime = 0; + }, + countUsedTime: (state) => { + if (state.timeInterval) { + clearInterval(state.timeInterval); + state.timeInterval = null; + } + state.timeInterval = setInterval(() => { + state.usedTime++; + state.initTime += 1000; + }, 1000); + }, + stopCountTime: (state) => { + if (state.timeInterval) { + clearInterval(state.timeInterval); + state.timeInterval = null; + } + }, + setOperate: (state, operate) => { + state.operate = operate; + }, + setInitTime: (state, operate) => { + state.initTime = operate; + }, + setPrdType: (state, prdType) => { + state.prdType = prdType; + }, + setRoles: (state, roles) => { + state.roles = roles; + }, + setGroup: (state, group) => { + state.group = group; + } + }, - actions: { - /** + actions: { + /** * 清除仿真所在组 */ - clearSimulationGroup: ({ commit }, type) => { - commit('clearSimulationGroup', type); - }, - /** + clearSimulationGroup: ({ commit }, type) => { + commit('clearSimulationGroup', type); + }, + /** * 设置socke已经连接 */ - setHasSubscribed: ({ commit }) => { - commit('setHasSubscribed'); - }, - /** + setHasSubscribed: ({ commit }) => { + commit('setHasSubscribed'); + }, + /** * 模式变更 */ - changeMode: ({ commit }, opts) => { - commit('changeMode', opts.mode); - }, + changeMode: ({ commit }, opts) => { + commit('changeMode', opts.mode); + }, - /** + /** * 操作模式变更 */ - changeOperateMode: ({ commit }, opts) => { - commit('changeOperateMode', opts.mode); - }, + changeOperateMode: ({ commit }, opts) => { + commit('changeOperateMode', opts.mode); + }, - /** + /** * 重置实训状态 */ - reset: ({ commit }) => { - commit('over'); - commit('resetOrder'); - commit('stopCountTime'); + reset: ({ commit }) => { + commit('over'); + commit('resetOrder'); + commit('stopCountTime'); - // 清空计时器以及得分 - commit('resetUsedTime'); - commit('resetScore'); - // 设置其他属性状态 - commit('setOffsetStationCode', null); - }, + // 清空计时器以及得分 + commit('resetUsedTime'); + commit('resetScore'); + // 设置其他属性状态 + commit('setOffsetStationCode', null); + }, - /** + /** * 开始 */ - start: ({ commit }) => { - // 清空操作组 - OperateHandler.cleanOperates(); - // 清空计时器以及得分 - commit('stopCountTime'); - commit('resetUsedTime'); - commit('resetScore'); - commit('start'); - }, + start: ({ commit }) => { + // 清空操作组 + OperateHandler.cleanOperates(); + // 清空计时器以及得分 + commit('stopCountTime'); + commit('resetUsedTime'); + commit('resetScore'); + commit('start'); + }, - /** + /** * 结束 */ - over: ({ commit }) => { - commit('over'); - commit('resetOrder'); - commit('stopCountTime'); - }, + over: ({ commit }) => { + commit('over'); + commit('resetOrder'); + commit('stopCountTime'); + }, - /** + /** * step步骤是否结束 */ - isStepOver: ({ state }) => { - if (state.order >= state.steps.length) { - return true; - } - }, + isStepOver: ({ state }) => { + if (state.order >= state.steps.length) { + return true; + } + }, - /** + /** * 停止计时 */ - setStopCountTime: ({ commit }) => { - commit('stopCountTime'); - }, + setStopCountTime: ({ commit }) => { + commit('stopCountTime'); + }, - /** + /** * 主动判断是否结束 */ - judgeFinish: ({ dispatch, commit, state }, rtn) => { - if (state.started) { - if (state.order >= state.steps.length) { - if (rtn && rtn.valid) { - commit('next'); - commit('setOperateErrMsg', { errMsg: LangStorage.getLang() == 'en' ? 'Correct operation! Training is over!' : '操作正确!实训结束!', color: 'green' }); - } else { - commit('setOperateErrMsg', { errMsg: LangStorage.getLang() == 'en' ? 'Operation error! Training is over!' : '操作错误!实训结束!', color: 'red' }); - } - dispatch('over'); - dispatch('changeMode', { mode: null }); - if (rtn.hasOwnProperty('score')) { - commit('setScore', rtn.score || 0); - } - } else { - rtn && rtn.valid && commit('next'); - } - } - }, + judgeFinish: ({ dispatch, commit, state }, rtn) => { + if (state.started) { + if (state.order >= state.steps.length) { + if (rtn && rtn.valid) { + commit('next'); + commit('setOperateErrMsg', { errMsg: LangStorage.getLang() == 'en' ? 'Correct operation! Training is over!' : '操作正确!实训结束!', color: 'green' }); + } else { + commit('setOperateErrMsg', { errMsg: LangStorage.getLang() == 'en' ? 'Operation error! Training is over!' : '操作错误!实训结束!', color: 'red' }); + } + dispatch('over'); + dispatch('changeMode', { mode: null }); + if (rtn.hasOwnProperty('score')) { + commit('setScore', rtn.score || 0); + } + } else { + rtn && rtn.valid && commit('next'); + } + } + }, - /** + /** * 开始实训(模式变更和开始的混合操作) */ - startTraining: ({ commit }, opts) => { - commit('resetOrder'); - commit('changeMode', opts.mode); - if (opts.start) { - // 清空计时器以及得分 - commit('stopCountTime'); - commit('resetUsedTime'); - commit('resetScore'); - // 开始实训 - commit('start'); - commit('next'); - // 开始计时 - commit('countUsedTime'); - } - }, + startTraining: ({ commit }, opts) => { + commit('resetOrder'); + commit('changeMode', opts.mode); + if (opts.start) { + // 清空计时器以及得分 + commit('stopCountTime'); + commit('resetUsedTime'); + commit('resetScore'); + // 开始实训 + commit('start'); + commit('next'); + // 开始计时 + commit('countUsedTime'); + } + }, - /** + /** * 开始实训(模式变更和开始的混合操作) */ - backSteps: ({ commit }, stepNum) => { - if (Number.isInteger) { - commit('backOrder', stepNum); - } - }, + backSteps: ({ commit }, stepNum) => { + if (Number.isInteger) { + commit('backOrder', stepNum); + } + }, - /** + /** * 下一步 */ - next: ({ commit, state }, operate) => { - commit('setOperate', operate); - return new Promise((resolve, reject) => { - if (!state.started && !state.mode) { - commit('setOperateErrMsg', { errMsg: LangStorage.getLang() == 'en' ? 'Please click start, start training!' : '请点击开始,开始实训!', color: 'red' }); - return; - } + next: ({ commit, state }, operate) => { + commit('setOperate', operate); + return new Promise((resolve, reject) => { + if (!state.started && !state.mode) { + commit('setOperateErrMsg', { errMsg: LangStorage.getLang() == 'en' ? 'Please click start, start training!' : '请点击开始,开始实训!', color: 'red' }); + return; + } - // 处理operation - OperateHandler.handle(operate).then(rtn => { - if (state.started) { - // 教学和联系模式需要给出过程步骤提示 - if (TrainingMode.TEACH === state.mode || TrainingMode.PRACTICE === state.mode) { - if (rtn && rtn.valid) { - commit('next'); - commit('setOperateErrMsg', { errMsg: LangStorage.getLang() == 'en' ? "Correct operation! That's great!" : '操作正确!真棒!', color: 'green' }); - commit('tipEventIncrement'); - } else { - if (!operate.repeat) { - commit('setOperateErrMsg', { errMsg: LangStorage.getLang() == 'en' ? 'operation mistake!' : '操作错误!', color: 'red' }); - } - } - } else if (TrainingMode.EXAM === state.mode || TrainingMode.TEST === state.mode) { - // 测试和考试不给提示 - rtn && rtn.valid && commit('next'); - } - } - resolve(rtn); - }).catch(error => { - reject(error); - }); - }); - }, + // 处理operation + OperateHandler.handle(operate).then(rtn => { + if (state.started) { + // 教学和联系模式需要给出过程步骤提示 + if (TrainingMode.TEACH === state.mode || TrainingMode.PRACTICE === state.mode) { + if (rtn && rtn.valid) { + commit('next'); + commit('setOperateErrMsg', { errMsg: LangStorage.getLang() == 'en' ? "Correct operation! That's great!" : '操作正确!真棒!', color: 'green' }); + commit('tipEventIncrement'); + } else { + if (!operate.repeat) { + commit('setOperateErrMsg', { errMsg: LangStorage.getLang() == 'en' ? 'operation mistake!' : '操作错误!', color: 'red' }); + } + } + } else if (TrainingMode.EXAM === state.mode || TrainingMode.TEST === state.mode) { + // 测试和考试不给提示 + rtn && rtn.valid && commit('next'); + } + } + resolve(rtn); + }).catch(error => { + reject(error); + }); + }); + }, - /** + /** * 提示消息重新加载 */ - tipReload: ({ commit }) => { - commit('orderCountIncrement'); - }, + tipReload: ({ commit }) => { + commit('orderCountIncrement'); + }, - /** + /** * 更新偏移位置车站 */ - updateOffsetStationCode: ({ commit }, payLoad) => { - commit('setOffsetStationCode', payLoad.offsetStationCode); - }, + updateOffsetStationCode: ({ commit }, payLoad) => { + commit('setOffsetStationCode', payLoad.offsetStationCode); + }, - /** + /** * 设置实训数据 */ - setTrainingData: ({ commit }, trainingData) => { - const basicInfo = { - id: trainingData.id, - name: trainingData.name, - remarks: trainingData.remarks, - prdType: trainingData.prdType, - minDuration: trainingData.minDuration, - maxDuration: trainingData.maxDuration - }; - commit('setBasicInfo', basicInfo); - const steps = trainingData.steps; - commit('setSteps', steps); - const offsetStationCode = trainingData.locateDeviceCode; - commit('setOffsetStationCode', offsetStationCode); - commit('setMapDefaultState'); - }, + setTrainingData: ({ commit }, trainingData) => { + const basicInfo = { + id: trainingData.id, + name: trainingData.name, + remarks: trainingData.remarks, + prdType: trainingData.prdType, + minDuration: trainingData.minDuration, + maxDuration: trainingData.maxDuration + }; + commit('setBasicInfo', basicInfo); + const steps = trainingData.steps; + commit('setSteps', steps); + const offsetStationCode = trainingData.locateDeviceCode; + commit('setOffsetStationCode', offsetStationCode); + commit('setMapDefaultState'); + }, - /** + /** * 设置步骤数据 */ - setSteps: ({ commit }, steps) => { - commit('setSteps', steps); - }, + setSteps: ({ commit }, steps) => { + commit('setSteps', steps); + }, - /** + /** * 添加步骤数据 */ - addStep: ({ state, commit }, step) => { - return new Promise((resolve, reject) => { - try { - var valid = true; - const steps = state.steps; - if (steps && steps.length > 0) { - const last = steps.length - 1; - if (steps[last].type === step.type && + addStep: ({ state, commit }, step) => { + return new Promise((resolve, reject) => { + try { + var valid = true; + const steps = state.steps; + if (steps && steps.length > 0) { + const last = steps.length - 1; + if (steps[last].type === step.type && steps[last].code === step.code && steps[last].operation === step.operation) { - steps.splice(last, 1); - step.order = step.order - 1; - valid = false; - } - } - commit('addStep', step); - resolve(valid); - } catch (error) { - reject(error); - } - }); - }, - /** + steps.splice(last, 1); + step.order = step.order - 1; + valid = false; + } + } + commit('addStep', step); + resolve(valid); + } catch (error) { + reject(error); + } + }); + }, + /** * 设置地图默认状态 */ - setMapDefaultState: ({ commit }) => { - commit('setMapDefaultState'); - }, + setMapDefaultState: ({ commit }) => { + commit('setMapDefaultState'); + }, - /** + /** * 更新地图设备状态数据 */ - updateMapState: ({ commit }, deviceStatus) => { - commit('updateMapState', deviceStatus); - }, + updateMapState: ({ commit }, deviceStatus) => { + commit('updateMapState', deviceStatus); + }, - /** + /** * 设置临时步骤数据 */ - setTempStep: ({ commit }, step) => { - commit('setTempStep', step); - }, + setTempStep: ({ commit }, step) => { + commit('setTempStep', step); + }, - /** + /** * 开始教学模式 */ - teachModeStart: ({ dispatch }, mode) => { - const payLoad = { start: true, mode: mode }; - dispatch('startTraining', payLoad); - }, + teachModeStart: ({ dispatch }, mode) => { + const payLoad = { start: true, mode: mode }; + dispatch('startTraining', payLoad); + }, - /** + /** * 开始考试模式 */ - examModeStart: ({ dispatch }) => { - const payLoad = { start: true, mode: TrainingMode.EXAM }; - dispatch('startTraining', payLoad); - }, + examModeStart: ({ dispatch }) => { + const payLoad = { start: true, mode: TrainingMode.EXAM }; + dispatch('startTraining', payLoad); + }, - /** + /** * 仿真和大屏和计划模式 */ - simulationStart: ({ dispatch }) => { - const payLoad = { start: true, mode: TrainingMode.NORMAL }; - dispatch('startTraining', payLoad); - }, + simulationStart: ({ dispatch }) => { + const payLoad = { start: true, mode: TrainingMode.NORMAL }; + dispatch('startTraining', payLoad); + }, - /** + /** * 结束模式 */ - end: ({ commit }, mode) => { - commit('over'); - commit('resetOrder'); - commit('stopCountTime'); - commit('changeMode', mode); - }, + end: ({ commit }, mode) => { + commit('over'); + commit('resetOrder'); + commit('stopCountTime'); + commit('changeMode', mode); + }, - /** + /** * 是否教学模式 */ - isTeachMode: ({ state }) => { - return new Promise((resolve, reject) => { - if (state.mode === TrainingMode.TEACH) { - resolve(); - } else { - reject(new Error('not teach mode')); - } - }); - }, + isTeachMode: ({ state }) => { + return new Promise((resolve, reject) => { + if (state.mode === TrainingMode.TEACH) { + resolve(); + } else { + reject(new Error('not teach mode')); + } + }); + }, - /** + /** * 设置用户得分 */ - setScore: ({ commit }, score) => { - commit('setScore', score); - }, + setScore: ({ commit }, score) => { + commit('setScore', score); + }, - /** + /** * 设置tip变化事件 */ - emitTipFresh: ({ commit }) => { - commit('tipEventIncrement'); - }, + emitTipFresh: ({ commit }) => { + commit('tipEventIncrement'); + }, - /** + /** * 设置WebSocket链接状态 */ - setConnected: ({ commit }, isConnected) => { - commit('setConnected', isConnected); - }, + setConnected: ({ commit }, isConnected) => { + commit('setConnected', isConnected); + }, - /** + /** * 设置系统时间 */ - setInitTime: ({ commit }, initTime) => { - commit('setInitTime', initTime); - }, + setInitTime: ({ commit }, initTime) => { + commit('setInitTime', initTime); + }, - /** + /** * 设置产品类型 */ - setPrdType: ({ commit }, prdType) => { - commit('setPrdType', prdType); - }, + setPrdType: ({ commit }, prdType) => { + commit('setPrdType', prdType); + }, - /** + /** * 设置角色列表 */ - setRoles: ({ commit }, roles) => { - commit('setRoles', roles); - }, + setRoles: ({ commit }, roles) => { + commit('setRoles', roles); + }, - /** + /** * 设置仿真组 */ - setGroup: ({ commit }, group) => { - commit('setGroup', group); - } - } + setGroup: ({ commit }, group) => { + commit('setGroup', group); + } + } }; export default training; diff --git a/src/views/designUser/mapmanage/edit.vue b/src/views/designUser/mapmanage/edit.vue index eaa19fff8..a7924e7aa 100644 --- a/src/views/designUser/mapmanage/edit.vue +++ b/src/views/designUser/mapmanage/edit.vue @@ -158,7 +158,6 @@ export default { save() { this.loading = true; if (this.basicInfo) { - // this.editModel.id = this.$route.params.mapId; this.$refs['edit'].validate((valid) => { if (valid) { updateMap(this.editModel).then(response => { diff --git a/src/views/designUser/mapmanage/operateMenu.vue b/src/views/designUser/mapmanage/operateMenu.vue index d1f9b7983..4f22fcd84 100644 --- a/src/views/designUser/mapmanage/operateMenu.vue +++ b/src/views/designUser/mapmanage/operateMenu.vue @@ -17,6 +17,7 @@ import MapEdit from './edit'; import MapSaveAs from './saveAs'; import MapPublish from './publish'; import { mapGetters } from 'vuex'; +import { saveMap } from '@/api/jmap/mapdraft'; export default { name: 'MapOperateMenu', @@ -47,10 +48,10 @@ export default { label: this.$t('map.updateObj'), handler: this.updateObj }, - // { - // label: this.$t('map.updateObjAxis'), - // handler: this.updateObjAxis - // }, + { + label: this.$t('map.updateObjAxis'), + handler: this.updateObjAxis + }, { label: this.$t('map.saveAs'), handler: this.saveAs @@ -69,7 +70,15 @@ export default { handler: this.publish }, menuNormal: [], - menu: [] + menu: [], + updtModel: { + code: '', + scaling: '', + origin: { + x: '', + y: '' + } + } }; }, computed: { @@ -124,12 +133,45 @@ export default { this.$refs.edit.show('editCode'); } }, - // updateObjAxis() { - // this.doClose(); - // if (this.$refs && this.$refs.axisEdit) { - // this.$refs.axisEdit.show('editPoint'); - // } - // }, + updateObjAxis() { + this.doClose(); + this.getMapOrigin(); + this.$confirm('您确认按当前绘图位置更新坐标及缩放比例?', this.$t('tip.hint'), { + confirmButtonText: this.$t('tip.confirm'), + cancelButtonText: this.$t('tip.cancel'), + type: 'warning' + }).then(() => { + const map = this.$store.state.map.map; + this.$store.dispatch('map/saveMapDeviceDefaultRelations').then(() => { + const param = { + mapId: this.$route.params.mapId, + skinVO: { + code: this.$store.state.map.map.skinVO.code, + name: this.$store.state.map.map.skinVO.name, + origin: { + x: this.updtModel.origin.x, + y: this.updtModel.origin.y + }, + scaling: this.updtModel.scaling + } + }; + saveMap(Object.assign(map, param)).then(response => { + this.$message.success(this.$t('map.updateSuccessfully')); + }).catch(() => { + this.$messageBox(this.$t('map.updateFailed')); + }); + }); + }).catch(() => { }); + + }, + getMapOrigin() { + const dataZoom = this.$store.state.map.dataZoom; + if (dataZoom && dataZoom.offsetX) { + this.updtModel.origin.x = Number.parseInt(dataZoom.offsetX); + this.updtModel.origin.y = Number.parseInt(dataZoom.offsetY); + this.updtModel.scaling = dataZoom.scaleRate; + } + }, saveAs() { this.doClose(); if (this.$refs && this.$refs.saveAs) { diff --git a/src/views/mapdraft/mapoperate/section.vue b/src/views/mapdraft/mapoperate/section.vue index ed2ba14df..1c3f2a9c0 100644 --- a/src/views/mapdraft/mapoperate/section.vue +++ b/src/views/mapdraft/mapoperate/section.vue @@ -20,9 +20,7 @@
-
- {{ item }} -
+
{{ item }}
@@ -134,21 +132,56 @@ - - -
- 删除link相关元素 -
+ + + + + + + + + + 删除link相关元素 + + + + + + + + + {{ $t('map.activate') }} + + + + + + + + + {{ $t('map.setStationCode') }} + + + @@ -233,6 +266,10 @@ export default { trainPosType: '', // 列车所在方向 splitOffsetMax: 15 }, + operationModel: { // 区段集中站列表 + sectionList: [], + stationCode: '' + }, mergeModel: { lsectioncode: '', rsectioncode: '' @@ -264,6 +301,14 @@ export default { pointY: [ { required: true, message: this.$t('rules.pleaseEnterYValue'), trigger: 'blur' } ] + }, + operationRules: { + sectionList: [ + { required: true, message: this.$t('rules.pleaseSelectSection'), trigger: 'change' } + ], + stationCode: [ + { required: true, message: this.$t('rules.pleaseSelectStationCode'), trigger: 'change' } + ] } }; }, @@ -586,6 +631,11 @@ export default { this.activeName = 'three'; this.field = ''; this.$emit('fieldSelect', ''); + } else if (this.field.toUpperCase() === 'handleSection'.toUpperCase()) { + this.operationModel.sectionList.push(selected.code); + this.activeName = 'five'; + // this.field = ''; + // this.$emit('fieldSelect', ''); } } } @@ -607,7 +657,7 @@ export default { handleDelete(index, row) { row.num = 0; }, - // 模型 + // 逻辑区段模型 addLogicalSection(model, points, index, middleOffset) { const data = { _type: 'Section', @@ -660,7 +710,7 @@ export default { }; return data; }, - // 创建物理区段 + // 创建逻辑区段 createLogicalSections(num, beg, end, model, counts) { const models = []; const triangle = new JTriangle(beg, end); @@ -678,7 +728,6 @@ export default { // 生成逻辑区段 editSectionNum() { let models = []; - // const remove = []; let counts = 0; const logicSectionNumList = []; const sectionPoints = [...this.editModel.points]; // 获取区段点 @@ -687,9 +736,8 @@ export default { logicSectionNumList.push(Number(ele.num)); counts += parseInt(ele.num); }); - this.sectionList.forEach(section => { + this.sectionList.forEach(section => { // 删除之前的逻辑区段 if (section.type === '02' && section.parentCode == this.editModel.code) { - // remove.push(section); models.push(deepAssign(section, {_dispose: true})); } }); @@ -697,8 +745,6 @@ export default { this.editModel.logicSectionNum = [...logicSectionNumList]; models.push(this.editModel); this.activeName = 'first'; - // this.$emit('addOrUpdateMapModel', models); - // this.$emit('delMapModel', remove); this.$emit('updateMapModel', models); }, addPoint(index) { @@ -710,9 +756,6 @@ export default { this.editModel.points.splice(index, 1); this.logicSectionNums.splice(index, 1); }, - filterLinks(query, item) { - return item.pinyin.indexOf(query) > -1; - }, // 一键创建区段 检测link是否规范 checkLinkList() { this.questionList = []; @@ -720,7 +763,7 @@ export default { if (item.leftFdCode) { if (item.leftSdCode) { item.create = true; - } else if (!item.leftSdCode) { + } else { const selected = this.$store.getters['map/getDeviceByCode'](item.leftFdCode); if (selected.rightFdCode && selected.rightSdCode) { item.create = true; @@ -732,7 +775,7 @@ export default { } else if (item.rightFdCode) { if (item.rightSdCode) { item.create = true; - } else if (!item.rightSdCode) { + } else { const selected = this.$store.getters['map/getDeviceByCode'](item.rightFdCode); if (selected.leftFdCode && selected.leftSdCode) { item.create = true; @@ -748,7 +791,6 @@ export default { // 一键生成区段 create() { const models = []; - // const remove = []; if (this.checkLinkList()) { this.linkList.forEach(link => { let count = 0; @@ -832,10 +874,8 @@ export default { const sectionList = this.findSectionListDataByLinkCode(link.code); if (sectionList) { sectionList.forEach(section => { - // remove.push({ _dispose: true, _type: 'Section', code: section.code }); models.push(deepAssign({ _type: 'Section', code: section.code }, { _dispose: true })); if (section.type === '02' && section.parentCode) { - // remove.push(section); models.push(deepAssign(section, { _dispose: true })); } }); @@ -849,7 +889,6 @@ export default { cancelButtonText: this.$t('tip.cancel'), type: 'warning' }).then(() => { - // _that.$emit('updateMapModel', remove); if (models.length) { _that.$emit('updateMapModel', models); } else { @@ -905,7 +944,13 @@ export default { }, // 删除对象 deleteObj() { + const models = []; + const switchList = []; const selected = this.$store.getters['map/getDeviceByCode'](this.editModel.code); + this.switchList.forEach(switchEle => { + selected.relSwitchCode == switchEle.code && switchList.push(this.$store.getters['map/getDeviceByCode'](switchEle.code)); + }); + this.delSectionSwitch(switchList, models); if (selected && selected._type.toUpperCase() === 'Section'.toUpperCase()) { const _that = this; this.$confirm(this.$t('tip.confirmDeletion'), this.$t('tip.hint'), { @@ -913,10 +958,9 @@ export default { cancelButtonText: this.$t('tip.cancel'), type: 'warning' }).then(() => { - const models = []; if (selected.type == '01') { this.sectionList.forEach(section => { - if (section.parentCode == selected.code) { + if (section.parentCode == selected.code) { // 删除所属逻辑区段 models.push(deepAssign(section, { _dispose: true })); } }); @@ -1130,13 +1174,9 @@ export default { this.sectionList.forEach(section => { if (section.linkCode == linkCode) { const selectedSection = this.$store.getters['map/getDeviceByCode'](section.code); - // models.push(selectedSection); models.push(deepAssign(selectedSection, { _dispose: true })); this.switchList.forEach(switchEle => { - if (section.relSwitchCode == switchEle.code) { - const selectedSwitch = this.$store.getters['map/getDeviceByCode'](switchEle.code); - switchList.push(selectedSwitch); - } + section.relSwitchCode == switchEle.code && switchList.push(this.$store.getters['map/getDeviceByCode'](switchEle.code)); }); } }); @@ -1146,27 +1186,45 @@ export default { cancelButtonText: this.$t('tip.cancel'), type: 'warning' }).then(async () => { - switchList.forEach((switchs) => { - // 删除道岔/ 关联的道岔区段以及 道岔绑定关系 - this.sectionList.forEach(elem => { - if (elem.type == '03' && elem.relSwitchCode == switchs.code) { - models.push(deepAssign(this.$store.getters['map/getDeviceByCode'](elem.code), { _dispose: true })); - } - if (elem.relSwitchCode == switchs.code && elem.type != '03') { - const copyModel = deepAssign({}, elem); - copyModel.relSwitchCode = ''; - copyModel.isSwitchSection = false; - models.push(copyModel); - } - }); - models.push(deepAssign(switchs, { _dispose: true })); - }); - await this.$emit('updateMapModel', models); + this.delSectionSwitch(switchList, models); + this.$emit('updateMapModel', models); this.deviceSelect(); this.linkCode = ''; }).catch(() => { this.$message.info(this.$t('tip.cancelledDelete')); }); + }, + // 删除道岔/ 关联的道岔区段以及 道岔绑定关系 + delSectionSwitch(switchList, models) { + switchList.forEach((switchs) => { + this.sectionList.forEach(elem => { + if (elem.type == '03' && elem.relSwitchCode == switchs.code) { + models.push(deepAssign(this.$store.getters['map/getDeviceByCode'](elem.code), { _dispose: true })); + } + if (elem.relSwitchCode == switchs.code && elem.type != '03') { + const copyModel = deepAssign({}, elem); + copyModel.relSwitchCode = ''; + copyModel.isSwitchSection = false; + models.push(copyModel); + } + }); + models.push(deepAssign(switchs, { _dispose: true })); + }); + }, + // 多选区段设置集中站 + handleScetionStationCode() { + this.$refs['operationModel'].validate((valid) => { + if (valid) { + const models = []; + this.operationModel.sectionList.forEach(sectionCode => { + const section = deepAssign({}, this.$store.getters['map/getDeviceByCode'](sectionCode)); + section.stationCode = this.operationModel.stationCode; + models.push(section); + }); + this.$emit('updateMapModel', models); + this.$refs['operationModel'].resetFields(); + } + }); } } }; @@ -1200,6 +1258,16 @@ export default { } .link_box_select{ padding: 10px 20px; + .title{ + width: 100px; + display: block; + float: left; + text-align: right; + line-height: 28px; + font-weight: 700; + font-size: 14px; + color: #606266; + } } diff --git a/src/views/mapdraft/mapoperate/switch.vue b/src/views/mapdraft/mapoperate/switch.vue index 21fe71331..7893b64c5 100644 --- a/src/views/mapdraft/mapoperate/switch.vue +++ b/src/views/mapdraft/mapoperate/switch.vue @@ -21,9 +21,7 @@
-
- {{ item }} -
+
{{ item }}
@@ -149,8 +147,6 @@ export default { this.deviceSelect(val); } }, - mounted() { - }, methods: { filterSections(query, item) { return item.pinyin.indexOf(query) > -1;