From 183f9728847b6bb4fc10faf1bdac4da849735db0 Mon Sep 17 00:00:00 2001 From: sunzhenyu Date: Tue, 17 Sep 2019 13:16:49 +0800 Subject: [PATCH] pull --- src/api/management/goods.js | 8 + src/i18n/langs/en/dashboard.js | 1 + src/i18n/langs/en/error.js | 4 +- src/i18n/langs/en/global.js | 2 + src/i18n/langs/en/map.js | 29 +- src/i18n/langs/en/menu.js | 312 ++++++++++++- src/i18n/langs/en/rules.js | 8 +- src/i18n/langs/en/tip.js | 16 +- src/i18n/langs/zh/dashboard.js | 1 + src/i18n/langs/zh/error.js | 4 +- src/i18n/langs/zh/map.js | 3 +- src/i18n/langs/zh/menu.js | 312 ++++++++++++- src/i18n/langs/zh/orderAuthor.js | 1 + src/i18n/langs/zh/rules.js | 8 +- src/i18n/langs/zh/tip.js | 16 +- src/jmap/shape/Signal/index.js | 8 +- .../dialog/childDialog/confirmControl.vue | 8 +- .../menus/dialog/routeCmdControl.vue | 74 +-- .../fuzhou_01/menus/dialog/routeControl.vue | 30 +- .../fuzhou_01/menus/dialog/routeDetail.vue | 22 +- .../menus/dialog/routeHandControl.vue | 28 +- .../fuzhou_01/menus/dialog/routeLock.vue | 18 +- .../fuzhou_01/menus/dialog/routeSelection.vue | 22 +- .../menus/dialog/sectionCmdControl.vue | 78 ++-- .../fuzhou_01/menus/dialog/sectionControl.vue | 16 +- .../menus/dialog/speedCmdControl.vue | 96 ++-- .../menus/dialog/standBackStrategy.vue | 36 +- .../fuzhou_01/menus/dialog/standControl.vue | 18 +- .../fuzhou_01/menus/dialog/standDetail.vue | 40 +- .../menus/dialog/standDetainTrainAll.vue | 22 +- .../fuzhou_01/menus/dialog/standRunLevel.vue | 28 +- .../fuzhou_01/menus/dialog/standStopTime.vue | 32 +- .../menus/dialog/stationCmdControl.vue | 72 +-- .../menus/dialog/stationHumanControlAll.vue | 8 +- .../dialog/stationSetRouteControlAll.vue | 14 +- .../menus/dialog/switchCmdControl.vue | 74 +-- .../fuzhou_01/menus/dialog/switchControl.vue | 26 +- .../fuzhou_01/menus/dialog/trainControl.vue | 38 +- .../fuzhou_01/menus/dialog/trainCreate.vue | 22 +- .../fuzhou_01/menus/dialog/trainDelete.vue | 10 +- .../menus/dialog/trainEditNumber.vue | 12 +- .../fuzhou_01/menus/dialog/trainMove.vue | 36 +- .../fuzhou_01/menus/dialog/trainSwitch.vue | 40 +- .../childDialog/twoConfirmation.vue | 133 ------ .../menus/menuDialog/childDialog/userAdd.vue | 24 +- .../menuDialog/childDialog/userDelete.vue | 134 ------ .../menus/menuDialog/childDialog/userEdit.vue | 178 ------- .../fuzhou_01/menus/menuDialog/helpAbout.vue | 17 +- .../fuzhou_01/menus/menuDialog/manageUser.vue | 32 +- .../menus/menuDialog/passwordBox.vue | 16 +- .../menuDialog/stationControlConvert.vue | 50 +- .../fuzhou_01/menus/menuDialog/trainAdd.vue | 25 +- .../menus/menuDialog/trainDelete.vue | 16 +- .../menus/menuDialog/trainTranstalet.vue | 22 +- .../fuzhou_01/menus/menuDialog/viewDevice.vue | 14 +- .../fuzhou_01/menus/menuDialog/viewName.vue | 32 +- .../menus/menuDialog/viewTrainId.vue | 51 +- .../fuzhou_01/menus/passiveDialog/control.vue | 27 +- .../fuzhou_01/menus/passiveDialog/timeout.vue | 8 +- .../theme/fuzhou_01/menusPlan/addTask.vue | 2 +- .../fuzhou_01/menusPlan/modifyingTask.vue | 4 +- src/router/index.js | 9 +- src/utils/baseUrl.js | 4 +- src/utils/runPlan.js | 3 + src/views/components/progressBar/index.vue | 2 +- src/views/jlmap3d/drive/sceneview/mmiview.vue | 2 +- src/views/login/index.vue | 15 +- src/views/login/loginPlan.vue | 15 +- src/views/login/loginScreen.vue | 15 +- .../mapdraft/mapedit/mapoperate/signal.vue | 29 +- src/views/map/mapdraft/mapmanage/edit.vue | 4 +- src/views/orderauthor/commodity/draft.vue | 1 - src/views/orderauthor/order/detail.vue | 2 +- .../permission/create/createGood.vue | 151 ++++++ .../orderauthor/permission/create/goods.vue | 172 +++++++ .../orderauthor/permission/create/index.vue | 153 ++++++ .../orderauthor/permission/create/order.vue | 330 +++++++++++++ .../permission/create/permission.vue | 244 ++++++++++ src/views/orderauthor/permission/index.vue | 51 +- .../editTool/menus/addPlanningTrain.vue | 26 +- .../planMonitor/editTool/menus/addTask.vue | 268 ++++++----- .../planMonitor/editTool/menus/deleteTask.vue | 19 +- .../editTool/menus/duplicateTrain.vue | 26 +- .../menus/modifyingStationIntervalTime.vue | 2 +- .../editTool/menus/modifyingTask.vue | 436 +++++++++--------- .../planMonitor/editTool/menus/offLine.vue | 21 +- .../planMonitor/editTool/menus/systermOut.vue | 19 +- src/views/planMonitor/editTool/schedule.vue | 60 +-- src/views/publish/publishMap/index.vue | 214 ++++++++- 89 files changed, 3135 insertions(+), 1596 deletions(-) delete mode 100644 src/jmap/theme/fuzhou_01/menus/menuDialog/childDialog/twoConfirmation.vue delete mode 100644 src/jmap/theme/fuzhou_01/menus/menuDialog/childDialog/userDelete.vue delete mode 100644 src/jmap/theme/fuzhou_01/menus/menuDialog/childDialog/userEdit.vue create mode 100644 src/views/orderauthor/permission/create/createGood.vue create mode 100644 src/views/orderauthor/permission/create/goods.vue create mode 100644 src/views/orderauthor/permission/create/index.vue create mode 100644 src/views/orderauthor/permission/create/order.vue create mode 100644 src/views/orderauthor/permission/create/permission.vue diff --git a/src/api/management/goods.js b/src/api/management/goods.js index 7c87f2e5a..6bb413c1b 100644 --- a/src/api/management/goods.js +++ b/src/api/management/goods.js @@ -109,3 +109,11 @@ export function getGoodsList() { method: 'get' }); } + +// 通过权限判断有无商品 +export function getPermissionGoods(id) { + return request({ + url: `/api/goods/list/permissionIds?permissionIds=${id}`, + method: 'get' + }); +} diff --git a/src/i18n/langs/en/dashboard.js b/src/i18n/langs/en/dashboard.js index 157598564..afbffbb4c 100644 --- a/src/i18n/langs/en/dashboard.js +++ b/src/i18n/langs/en/dashboard.js @@ -18,6 +18,7 @@ export default { residualPermissionDistributionMap: 'Residual permission distribution map', totalPermissions: 'total permissions', noMapLineDataYetAvailable: 'No map line data yet available', + selectTheMapRoute: 'Please select the map route.', individual: 'individual', permissionMap: { 'ATS local workstation - Course authority': 0, diff --git a/src/i18n/langs/en/error.js b/src/i18n/langs/en/error.js index f820c8816..bdbc822f5 100644 --- a/src/i18n/langs/en/error.js +++ b/src/i18n/langs/en/error.js @@ -89,5 +89,7 @@ export default { destroyedRoomFailed: 'Destroyed room failed!', exceededTheTotalNumberOfAssignableRoles: 'The number of assigned roles has exceeded the total number of assignable roles!', getRunGraphDataFailed: 'Failed to get run graph data', - getStationListFail: 'Failed to get station list' + getStationListFail: 'Failed to get station list', + obtainTrainGroupNumberFailed: 'Failed to obtain train group number', + getTrainListFailed: 'Failed to get train list' }; diff --git a/src/i18n/langs/en/global.js b/src/i18n/langs/en/global.js index 83a612571..f72e68c09 100644 --- a/src/i18n/langs/en/global.js +++ b/src/i18n/langs/en/global.js @@ -110,6 +110,8 @@ export default { orderCode: 'Order Code: ', creationTime: 'Create Time: ', amountPayable: 'Amounts Payable: ', + screenName: 'Screen Name', + timeUnitPrice: 'Screen Unit Price', buyProject: 'The products you will purchase are virtual content services. After purchase, you will not be able to return, transfer or exchange. Please confirm.', relatedServices: 'You can view and use the related services in the “Permissions Details” area after purchase.', diff --git a/src/i18n/langs/en/map.js b/src/i18n/langs/en/map.js index c96e95fd3..b50de3e60 100644 --- a/src/i18n/langs/en/map.js +++ b/src/i18n/langs/en/map.js @@ -25,12 +25,34 @@ export default { 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:', + createSection: '一键生成区段', createSwitch: '一键生成道岔', clearHint: '清除提示', batchOperation: '批量操作', breakUpNumber: '拆分数量', - physicalSegmentName: '物理区段:', + // physicalSegmentName: '物理区段:', save: 'save', updata: 'update', @@ -273,6 +295,7 @@ export default { 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:', @@ -301,6 +324,7 @@ export default { stationKmPostFontColor: 'Font color of kilometer mark:', stationPositionX: 'X coordinate:', stationPositionY: 'Y coordinate:', + stationPosition: 'Station position:', stationControlCode: 'Control mode coding:', stationControlName: 'Control mode name:', @@ -381,6 +405,7 @@ export default { 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:', @@ -419,6 +444,8 @@ export default { createTrainWindow: 'Create a train window with one click', showZc: 'Whether or not visible:', + interconnected: 'Interlock control name', + stationControlPosition: 'Control mode coordinates:', pathUnitList: 'Path unit list', startSectionCode: 'Starting stop', diff --git a/src/i18n/langs/en/menu.js b/src/i18n/langs/en/menu.js index 9ee5c7981..00f6502fb 100644 --- a/src/i18n/langs/en/menu.js +++ b/src/i18n/langs/en/menu.js @@ -43,7 +43,9 @@ export default { axisPreReset: 'Axis PreReset', createTrain: 'Create Train', setFault: 'Set Fault', - cancelFault: 'Cancel Fault' + cancelFault: 'Cancel Fault', + orbitalSectionActive: 'Orbital section active', + orbitalSectionResection: 'Orbital section resection' }, menuSignal: { routeSelect: 'Route Select', @@ -62,7 +64,9 @@ export default { atsAutoControl: 'ATS Auto Control', queryRouteControlMode: 'Query Route Control Mode', setFault: 'Set Fault', - cancelFault: 'Cancel Fault' + cancelFault: 'Cancel Fault', + cancelTheTrainApproach: 'Cancel the train approach', + reopenTrainSignal: 'Re-open train signal' }, menuStation: { fullSiteSetInterlockAutoTrigger: 'Full Site Set Interlock Auto Trigger', @@ -90,7 +94,10 @@ export default { setStopTime: 'Set Stop Time', setFault: 'Set Fault', cancelFault: 'Cancel Fault', - cancelDetainTrainAll: 'All Cancel Detain Train' + cancelDetainTrainAll: 'All Cancel Detain Train', + cancelJumpStopAll: 'All Cancel Jump Stop', + earlyDeparture: 'Early departure', + setJumpStop: 'Set jump stop' }, menuSwitch: { switchLock: 'Switch Lock', @@ -105,7 +112,10 @@ export default { switchSectionSetSpeedLimit: 'Switch Section Set Speed Limit', switchSectionCancelSpeedLimit: 'Switch Section Cancel Speed Limit', setFault: 'Set Fault', - cancelFault: 'Cancel Fault' + cancelFault: 'Cancel Fault', + switchMalfunctionUnlock: 'Switch Malfunction Unlock', + switchBlockade: 'Switch Blockade', + switchForcedPull: 'Switch Forced Pull' }, menuTrain: { addTrainId: 'Add Train Identifier', @@ -116,7 +126,190 @@ export default { switchTrainId: 'Switch Train Identifier', setCommunicationFault: 'Set Communication Fault', cancelCommunicationFault: 'Cancel Communication Fault', - confirmRunToFrontStation: 'Confirm Run To Front Station', + confirmRunToFrontStation: 'Confirm Run To Front Station' + }, + passiveDialog: { + // 级告警详细信息 + // 线路名称 + // 单位名称 + // 模块名称 + // 报警时间 + // 选择日期时间 + // 等 级 + // 确认状态 + // 类  型 + // 子类型 + // 时间摘要 + // 推荐操作 + // 报警详细描述 + // 请输入内容 + // 确 定 + // 未确认 + // 级报警数目:1 + // 中控 + // 站控 + // CMM控制模式转换模式 + // 0级告警 + // 确认状态 + // 系统事件 + // 依据信号设备操作命令设置控制模式 + // 控制模式摘要 + // 控制模式转换: + // 由 + // 站控转为中控模式 + // 中控转为站控模式 + + controlModeRequest: 'Control Mode Request', + requestAreaControlMode: 'Request Area Control Mode', + operatingArea: 'Operating Area', + currentControlMode: 'Current Control Mode', + requestControlMode: 'Request Control Mode', + isAgree: 'Agree or not', + messageOne: 'There is still', + messageTwo: 'seconds from the conversation, please answer.', + agree: 'Agree', + refuse: 'Refuse', + dispatcherWorkstation: 'Dispatcher One Workstation', + inTheControl: 'In The Control', + stationControl: 'Station Control', + selectData: 'Please select a piece of data', + + operationCommandTips: 'Operation Command Prompt', + operationConfirm: 'confirm', + requestTimedOut: 'Request Timed Out', + requestRejection: 'Request Rejection' + + }, + menuChildDialog: { + secondaryConfirmation: 'Secondary Confirmation', + confirm: 'Confirm', + close: 'Close', + + jobNumber: 'JobNumber:', + userName: 'User Name:', + password: 'Password:', + confirmPassword: 'Confirm Password:', + inputJobNumber: 'Please enter job number', + inputUserName: 'Please enter user name', + inputPassword: 'Please enter password', + inputPasswordAgain: 'Please enter password again', + addUser: 'Add User', + passwordInconsistent: 'Inconsistent input password', + + determine: 'Confirm', + cancel: 'Cancel', + deleteUser: 'Delete User', + selectTips: 'The selected username or job number is empty.', + + originalPassword: 'Original Password:', + inputOriginal: 'Please enter original password', + inputNewPassword: 'Please enter new password', + inputNewAgain: 'Please enter new password again', + userEditPage: 'User Edit Page', + originalPasswordError: 'Original password error', + passwordError: 'Second entered password error', + passwordSame: 'Old password is the same as new password' + }, + menuDialog: { + versionName: 'ControlMonitor 1.3.5.0', + confirm: 'Confirm', + copyright: 'Copyright (C) 2010-2011 Beijing Jiu Lian Technology Co., Ltd.', + moduleName: 'Module Name', + version: 'Version', + modifyDate: 'Modify Date', + mainProgramVersion: 'Main Program Version:', + about: 'About ControlMonitor', + + userList: 'User List', + jobNumber: 'JobNumber', + userName: 'UserName', + refresh: 'Refresh', + add: 'Add', + modify: 'Modify', + delete: 'Delete', + cancel: 'Cancel', + userManage: 'User Manage', + selectUser: 'Please select a user first', + deleteMessageOne: 'Are you sure to delete user', + deleteMessageTwo: '?', + addFail: 'Add failed, users with the same job number', + modifyFail: 'failed to modify', + deleteFail: 'failed to delete', + + passwordBox: 'Password box', + userNameLabel: 'UserName:', + password: 'Password', + back: 'Back', + clear: 'Clear', + IncorrectPassword: 'Incorrect Password!', + + controlModeConversion: 'Control Mode Conversion', + select: 'Select', + operatingArea: 'Operating Area', + controlMode: 'Control Mode', + centerStationCommunicationStatus: 'Center-Station Communication Status', + transferExecutionStatus: 'Transfer Execution Status', + forcedStationControl: 'Forced Station Control', + requestStationControl: 'Request Station Control', + requestInTheControl: 'Request Central Control', + close: 'Close', + inTheControl: 'Central Control', + stationControl: 'Station Control', + acceptConversionResponseTimeout: 'Accept conversion response timeout', + controlModeTransfersuccees: 'Control mode transfer succees', + controlModeTransferFailed: 'Control mode transfer failed', + senedMessageOne: 'A transfer request has been sent and timed out after ', + senedMessageTwo: 'seconds.', + normal: 'Normal', + selectData: 'Please select a piece of data', + confirmStationControlTip: 'Confirm that the control mode of the following operation area is changed from central control to station control:', + confirmInTheControlTip: 'Confirm that the control mode of the following operation area is changed from station control to central control:', + + addLocation: 'Add Location', + terminalOne: 'Terminal:', + pleaseSelect: 'please select', + frontTrainNumber: 'Front TrainNumber:', + addTrainNumber: 'Add TrainNumber:', + inputTrainNumber: 'Please input train number', + selectTerminal: 'Please select terminal', + addPlanTrain: 'Add Plan Train', + terminalTwo: 'Terminal:', + trainNumber: 'TrainNumber:', + deletePlanTrain: 'Delete Plan Train', + purpose: 'Purpose', + inputFrontNumber: 'Please input front train number', + panPlanCar: 'Pan Plan Car', + + deviceDisplaySettings: 'Device Display Setting', + trainWindow: 'Train Window', + sectionBoundary: 'Section Boundary', + linkageAutoRouteShow: 'Linkage Auto Route Show', + atsAutoTriggerShow: 'ATS Auto Trigger Show', + + nameDisplaySetting: 'Name Display Setting', + signalName: 'Signal Name', + standTrackName: 'Stand Track Name', + buttonName: 'Button Name', + reentryTrackName: 'Reentry Track Name', + trackName: 'Track Name', + transferTrackName: 'Transfer Track Name', + turnoutName: 'Turnout Name', + indicatorName: 'Indicator Name', + turnoutSectionName: 'Turnout Section Name', + destinationName: 'Destination Name', + axisSectionName: 'Axis Section Name', + kmPost: 'Km Post', + + trainIDDisplaySetting: 'Train ID Display Setting', + plantrainDisplayMode: 'Plan train Display Mode', + serviceNumber: 'Service Number', + tripNumber: 'Train Number', + groupNumber: 'Group Number', + targetNumber: 'Target Number', + headCodeStationDisplayMode: 'Head Code Train Display Mode', + fontSize: 'Font Size', + range: ' (Range:16-99) ' + }, platform: 'Platform', arrivalTime: 'Arrival time', @@ -184,17 +377,116 @@ export default { description: 'Description', modifyTask: 'Modify task', accessSetting: 'Access setting', - signalOff: 'SignalOff', - signalReopening: 'Signal reopening', cancelTheWay: 'Cancel the way', approachManualControl: 'Approach manual control', accessToATSAutomaticControl: 'Access to ATS automatic control', - setTheRunLevel: 'Set the run level', - setTheFoldbackStrategy: 'Set the foldback strategy', turnoutSettingSpeedLimit: 'Turnout setting speed limit', turnoutCancelsSpeedLimit: 'Turnout cancels speed limit', signalDeblocking: 'Signal deblocking', in: 'In the', signalConfirmed: 'signal, the signal is unlocked, is it confirmed?', - commandInformation: 'Command information' + sectionSetLimitPrefix: 'section, the section is set to a speed limit of', + sectionCancelLimitPrefix: 'section, the section cancels the speed limit of', + switchSetLimitPrefix: 'switch, the switch is set a speed limit of', + switchCancelLimitPrefix: 'switch, this switch cancels the speed limit of', + sectionLimitSuffix: '5km/h. Is it confirmed?', + commandInformation: 'Command information', + type: 'Type', + signalName: 'Signal name', + serialNumber2: 'Serial number', + time: 'Time', + implementationProcess: 'Implementation process', + executionResult: 'The execution result', + release: 'Release', + firstConfirm: 'First confirm', + secondConfirm: 'Second confirm', + suspend: 'Suspend', + clickReleaseCommand: 'Click release command', + clickFirstConfirm: 'Click to first confirm', + clickSecondConfirm: 'Click to second confirm', + clickSuspend: 'Click to suspend', + signal: 'signal', + startSignal: 'Start signal', + routeList: 'Route list', + route: 'Route', + controlState: 'Control state', + automatic: 'Automatic (no conflict detection)', + artificial: 'Artificial', + queryAccessControlMode: 'Query access control mode', + automatic2: 'Automatic', + conflictCheck: 'Conflict check', + listOfSignalButtons: 'Signal button list', + buttonName: 'Button name', + buttonStatus: 'Button status', + blockSignalButton: 'Block signal button', + unblocked: 'Unblocked', + blocked: 'Blocked', + protectionSection: 'Protection section', + allowSelection: 'Allow selection', + notAllowSelection: 'Not allowed selection', + sectionName: 'Section name', + section: 'section', + speedLimitValue: 'Speed limit value', + switchName: 'Switch name', + clickToClose: 'Click to close', + stationStandStatus: 'Station stand status', + upDirection: 'Up direction', + downDirection: 'Down direction', + switchbackStation: 'Switchback station', + switchbackPlatform: 'Switchback platform', + switchbackStrategy: 'Switchback strategy', + switchbackStrategyTip: 'Tip: The switchback strategy is not set', + setSwitchbackStrategyTipPrefix: 'Tip: Check the station', + setSwitchbackStrategyTipSuffix: 'setting to run the switchback strategy', + setSwitchbackStrategy: 'Set switchback strategy', + noSwitchback: 'No switchback', + noOneSwitchback: 'No one switchback', + automaticChange: 'Automatic change', + default: 'Default', + item: 'Item', + stationDetainTrain: 'Station detain train', + hasBeenSet: 'Has been set', + notSet: 'Not set', + to: 'to', + downSwitchbackStrategy: 'Down switchback strategy', + range: 'Range', + uplinkBroadly: 'Uplink broadly', + downlinkBroadly: 'Downlink broadly', + detainTrainStationList: 'Detain train station list (center setting)', + allStationsHaveNoDetainTrainStatus: 'All stations have no detain train status!', + detainTrainStation: 'Detain train station', + nextPlatform: 'Next platform', + intervalRunningTime: 'Interval running time', + alwaysEffective: 'Always effective', + setRunLevelTip: 'Tip: The next station to set the run level is not selected.', + setRunLevelStationTip: 'Tip: Check the next station to set the run level to', + runTimeAutomatically: 'Run time automatically', + runningTimeIs: 'Running time is', + effectiveFrequencyIs: 'Effective frequency is', + onceEffective: 'Once effective', + platformName: 'Platform name', + controlMode: 'Control mode', + effectiveNumber: 'Effective number', + stopTimeIs: 'Stop time is', + fullConcentrationStationAccessManualControl: 'Full concentration station access manual control', + concentratedStationName: 'Concentrated station name', + checkConflict: 'Check conflict', + notCheckConflict: 'Not check conflict', + fullConcentrationStationSettingAccessControlMode: 'All centralized station setting access control mode', + switch: 'Switch', + activation: 'Activation', + resection: 'Resection', + groupNumber: 'Group number', + planTrain: 'Plan train', + headCodeTrain: 'Head code train', + artificialTrain: 'Artificial train', + targetCode: 'Target code', + train: 'Train', + trainDirection: 'Train direction', + up: 'up', + down: 'down', + settingTrain: 'Setting train', + sourceTrainWindow: 'Source train window', + trainWindow: 'Train window', + targetTrainWindow: 'Target train window' }; diff --git a/src/i18n/langs/en/rules.js b/src/i18n/langs/en/rules.js index f5a40c23f..e6f0cc639 100644 --- a/src/i18n/langs/en/rules.js +++ b/src/i18n/langs/en/rules.js @@ -260,5 +260,11 @@ export default { pleaseSelectTemplateRunGraph: 'Please select a template to run the diagram', selectTheRunningDiagramToBeLoaded: 'Please select the running diagram to be loaded', selectOneOrMoreDates: 'Select one or more dates', - selectAPlannedDateRange: 'Please select a planned date range' + selectAPlannedDateRange: 'Please select a planned date range', + selectGroupNumber: 'Please select group number', + selectATrainType: 'Please select a train type', + enterTheServiceNumber: 'Please enter the service number', + enterTheTripNumber: 'Please enter the trip number', + enterTheTargetCode: 'Please enter the target code', + selectStation: 'Please select station' }; diff --git a/src/i18n/langs/en/tip.js b/src/i18n/langs/en/tip.js index a7e03fabd..fbe891718 100644 --- a/src/i18n/langs/en/tip.js +++ b/src/i18n/langs/en/tip.js @@ -152,5 +152,19 @@ export default { createRunChartPlanSuccessfully: 'Create a run chart plan successfully', createRunChartPlanFailed: 'Create run chart plan failed', deleteTheRunningGraphLoadedTheNextDay: 'This operation will delete the running graph loaded the next day, will it continue?', - commandFailed: 'Command failed' + commandFailed: 'Command failed', + releaseTip: 'Please click the "release" button to issue the order!', + firstConfirmTip: 'Please click the "First confirm" button to confirm the order!', + executionSucceed: 'Execution succeed', + executionFailed: 'Execution failed', + executionException: 'Execution exception', + secondConfirmTip: 'Please click the "Second confirm" button to confirm the order!', + confirmedSuccess: 'Confirmed success', + cancelSuccess: 'Cancel success', + signalModeToManualModeTipPrefix: 'Cancel the approach starting with the signal', + signalModeToManualModeTipSuffix: ', the way will be changed from automatic signal mode to manual mode!', + selectAPieceOfData: 'Please select a piece of data', + selectSpeedLimitValueTip: 'Please select the speed limit value, click the "release" button, and issue the command!', + addTrainIdTip: 'Add train identification number: successful', + editTrainIdTip: 'Modify train identification number: successful' }; diff --git a/src/i18n/langs/zh/dashboard.js b/src/i18n/langs/zh/dashboard.js index 467910ad8..58add46ae 100644 --- a/src/i18n/langs/zh/dashboard.js +++ b/src/i18n/langs/zh/dashboard.js @@ -19,6 +19,7 @@ export default { residualPermissionDistributionMap: '剩余权限分布图', totalPermissions: '权限总计', noMapLineDataYetAvailable: '暂无地图线路数据', + selectTheMapRoute: '请选择地图线路', individual: '个', permissionMap: { 'ATS现地工作站-课程权限': 0, diff --git a/src/i18n/langs/zh/error.js b/src/i18n/langs/zh/error.js index 3bfd295fe..2c53da998 100644 --- a/src/i18n/langs/zh/error.js +++ b/src/i18n/langs/zh/error.js @@ -89,5 +89,7 @@ export default { destroyedRoomFailed: '销毁房间失败!', exceededTheTotalNumberOfAssignableRoles: '分配角色数量已超过可分配角色总数!', getRunGraphDataFailed: '获取运行图数据失败', - getStationListFail: '获取车站列表失败' + getStationListFail: '获取车站列表失败', + obtainTrainGroupNumberFailed: '获取列车车组号失败', + getTrainListFailed: '获取列车列表失败' }; diff --git a/src/i18n/langs/zh/map.js b/src/i18n/langs/zh/map.js index 6c745f2a4..eb43e2c08 100644 --- a/src/i18n/langs/zh/map.js +++ b/src/i18n/langs/zh/map.js @@ -277,7 +277,8 @@ export default { lampPositionType: '灯位类型:', signalUseType: '用途类型:', potLampType: '点灯类型:', - signalDirectionType: '方向类型:', + signalDirectionType: '行驶方向:', + signalDirectionTypeX: '显示方向:', signalPositionType: '信号机位置类型:', signalOffset: '所属link偏移量:', signalLinkCode: '所属link', diff --git a/src/i18n/langs/zh/menu.js b/src/i18n/langs/zh/menu.js index 4c2c11630..24f5979de 100644 --- a/src/i18n/langs/zh/menu.js +++ b/src/i18n/langs/zh/menu.js @@ -43,7 +43,9 @@ export default { axisPreReset: '计轴预复位', createTrain: '新建列车', setFault: '设置故障', - cancelFault: '取消故障' + cancelFault: '取消故障', + orbitalSectionActive: '轨道区段激活', + orbitalSectionResection: '轨道区段切除' }, menuSignal: { routeSelect: '进路选排', @@ -62,7 +64,9 @@ export default { atsAutoControl: '自排开', queryRouteControlMode: '查询进路控制模式', setFault: '设置故障', - cancelFault: '取消故障' + cancelFault: '取消故障', + cancelTheTrainApproach: '取消列车进路', + reopenTrainSignal: '重开列车信号' }, menuStation: { fullSiteSetInterlockAutoTrigger: '全站设置联锁自动触发', @@ -87,7 +91,10 @@ export default { setStopTime: '设置停站时间', setFault: '设置故障', cancelFault: '取消故障', - cancelDetainTrainAll: '全线取消扣车' + cancelDetainTrainAll: '全线取消扣车', + cancelJumpStopAll: '全线取消跳停', + earlyDeparture: '提前发车', + setJumpStop: '设置跳停' }, menuSwitch: { switchLock: '道岔单锁', @@ -102,7 +109,10 @@ export default { switchSectionSetSpeedLimit: '道岔区段设置限速', switchSectionCancelSpeedLimit: '道岔区段取消限速', setFault: '设置故障', - cancelFault: '取消故障' + cancelFault: '取消故障', + switchMalfunctionUnlock: '道岔故障解锁', + switchBlockade: '道岔封锁', + switchForcedPull: '道岔强扳' }, menuTrain: { addTrainId: '添加列车识别号', @@ -113,7 +123,189 @@ export default { switchTrainId: '交换列车识别号', setCommunicationFault: '设置通信故障', cancelCommunicationFault: '取消通信故障', - confirmRunToFrontStation: '确认运行至前方站', + confirmRunToFrontStation: '确认运行至前方站' + }, + passiveDialog: { + // 级告警详细信息 + // 线路名称 + // 单位名称 + // 模块名称 + // 报警时间 + // 选择日期时间 + // 等 级 + // 确认状态 + // 类  型 + // 子类型 + // 时间摘要 + // 推荐操作 + // 报警详细描述 + // 请输入内容 + // 确 定 + // 未确认 + // 级报警数目:1 + // 中控 + // 站控 + // CMM控制模式转换模式 + // 0级告警 + // 确认状态 + // 系统事件 + // 依据信号设备操作命令设置控制模式 + // 控制模式摘要 + // 控制模式转换: + // 由 + // 站控转为中控模式 + // 中控转为站控模式 + + controlModeRequest: '控制模式请求', + requestAreaControlMode: '请求如下区域的控制模式', + operatingArea: '操作区域', + currentControlMode: '当前控制模式', + requestControlMode: '请求控制模式', + isAgree: '是否同意', + messageOne: '距离对话还有', + messageTwo: '秒,请应答。', + agree: '同意', + refuse: '拒绝', + dispatcherWorkstation: '调度员1工作站', + inTheControl: '中控', + stationControl: '站控', + selectData: '请选择一条数据', + + operationCommandTips: '操作命令提示', + operationConfirm: '确认', + requestTimedOut: '请求超时', + requestRejection: '请求拒绝' + + }, + menuChildDialog: { + secondaryConfirmation: '二次确认', + confirm: '确认', + close: '关闭', + + jobNumber: '工号:', + userName: '用户名:', + password: '密码:', + confirmPassword: '确认密码:', + inputJobNumber: '请输入工号', + inputUserName: '请输入用户名', + inputPassword: '请输入密码', + inputPasswordAgain: '请再次输入密码', + addUser: '增加用户', + passwordInconsistent: '二次输入密码不一致', + + determine: '确定', + cancel: '取 消', + deleteUser: '删除用户', + selectTips: '选择的用户名或工号为空', + + originalPassword: '原始密码:', + inputOriginal: '请输入原始密码', + inputNewPassword: '请输入新密码', + inputNewAgain: '请再次输入新密码', + userEditPage: '用户编辑页面', + originalPasswordError: '原始密码错误', + passwordError: '二次输入的密码错误', + passwordSame: '老密码和新密相同' + }, + menuDialog: { + versionName: 'ControlMonitor 1.3.5.0', + confirm: '确定', + copyright: '版权所有(C)2010-2011 北京玖琏科技有限公司', + moduleName: '模块名称', + version: '版本', + modifyDate: '修改日期', + mainProgramVersion: '主程序版本:', + about: '关于ControlMonitor', + + userList: '用户列表', + jobNumber: '工号', + userName: '用户名', + refresh: '刷新', + add: '增加', + modify: '修改', + delete: '删除', + cancel: '取 消', + userManage: '用户管理', + selectUser: '请先选择用户', + deleteMessageOne: '你确定删除用户', + deleteMessageTwo: '吗?', + addFail: '添加失败,存在相同工号的用户', + modifyFail: '修改失败', + deleteFail: '删除失败', + + passwordBox: '密码框', + userNameLabel: '用户名:', + password: '密 码:', + back: '回退', + clear: '清空', + IncorrectPassword: '密码输入错误!', + + controlModeConversion: '控制模式转换', + select: '选择', + operatingArea: '操作区域', + controlMode: '控制模式', + centerStationCommunicationStatus: '中心-车站通信状态', + transferExecutionStatus: '转换执行状态', + forcedStationControl: '强制站控', + requestStationControl: '请求站控', + requestInTheControl: '请求中控', + close: '关闭', + inTheControl: '中控', + stationControl: '站控', + acceptConversionResponseTimeout: '接受转换应答超时', + controlModeTransfersuccees: '控制模式转换成功', + controlModeTransferFailed: '控制模式转换失败', + senedMessageOne: '已发送转换请求,', + senedMessageTwo: '秒后超时.', + normal: '正常', + selectData: '请选择一条数据', + confirmStationControlTip: '确认将如下操作区域的控制模式由中控转为站控:', + confirmInTheControlTip: '确认将如下操作区域的控制模式由站控转为中控:', + + addLocation: '添加位置', + terminalOne: '终 端:', + pleaseSelect: '请选择', + frontTrainNumber: '前车车次号:', + addTrainNumber: '添加车次号:', + inputTrainNumber: '请输入车次号', + selectTerminal: '请选择终端', + addPlanTrain: '添加计划车', + terminalTwo: '终 端:', + trainNumber: '车 次 号:', + deletePlanTrain: '删除计划车', + purpose: '目的', + inputFrontNumber: '请输入前车车次号', + panPlanCar: '平移计划车', + + deviceDisplaySettings: '设备显示设置', + trainWindow: '车次窗', + sectionBoundary: '区段边界', + linkageAutoRouteShow: '联锁自动进路表示灯', + atsAutoTriggerShow: 'ATS自动触发表示灯', + + nameDisplaySetting: '名称显示设置', + signalName: '信号机名称', + standTrackName: '站台轨名称', + buttonName: '按钮名称', + reentryTrackName: '折返轨名称', + trackName: '股道名称', + transferTrackName: '转换轨名称', + turnoutName: '道岔名称', + indicatorName: '标识灯名称', + turnoutSectionName: '道岔区段名称', + destinationName: '目的地名称', + axisSectionName: '计轴区段名称', + kmPost: '公里标', + + trainIDDisplaySetting: '列车识别号显示设置', + plantrainDisplayMode: '计划车显示模式', + serviceNumber: '表号', + tripNumber: '车次号', + groupNumber: '车组号', + targetNumber: '目的地号', + headCodeStationDisplayMode: '头码车显示模式', + fontSize: '字体大小', + range: '(范围:16-99)' }, platform: '站台', arrivalTime: '到点', @@ -181,18 +373,118 @@ export default { description: '描述', modifyTask: '修改任务', accessSetting: '进路设置', - signalOff: '信号关灯', - signalReopening: '信号重开', cancelTheWay: '取消进路', approachManualControl: '进路交人工控', accessToATSAutomaticControl: '进路交ATS自动控', - setTheRunLevel: '设置运行等级', - setTheFoldbackStrategy: '设置折返策略', turnoutSettingSpeedLimit: '道岔设置限速', turnoutCancelsSpeedLimit: '道岔取消限速', signalDeblocking: '信号解封', in: '在', signalConfirmed: '信号机,信号解锁,确认下达吗?', - commandInformation: '命令信息' + sectionSetLimitPrefix: '区段,区段设置限速', + sectionCancelLimitPrefix: '区段,区段取消限速', + switchSetLimitPrefix: '道岔,道岔设置限速', + switchCancelLimitPrefix: '道岔,道岔取消限速', + sectionLimitSuffix: 'km/h,确认下达吗?', + commandInformation: '命令信息', + type: '类型', + signalName: '信号机名称', + serialNumber2: '序号', + time: '时间', + implementationProcess: '执行过程', + executionResult: '执行结果', + release: '下达', + firstConfirm: '确认1', + secondConfirm: '确认2', + suspend: '中止', + clickReleaseCommand: '点击下达命令', + clickFirstConfirm: '点击确认1', + clickSecondConfirm: '点击确认2', + clickSuspend: '点击终止', + signal: '信号机', + startSignal: '始端信号机', + routeList: '进路列表', + route: '进路', + controlState: '控制状态', + automatic: '自动(不进行冲突检测)', + artificial: '人工', + queryAccessControlMode: '查询进路控制模式', + automatic2: '自动', + conflictCheck: '冲突检查', + listOfSignalButtons: '信号按钮列表', + buttonName: '按钮名称', + buttonStatus: '按钮状态', + blockSignalButton: '封锁信号按钮', + unblocked: '未封锁', + blocked: '封锁', + protectionSection: '保护区段', + allowSelection: '允许选排', + notAllowSelection: '不允许选排', + sectionName: '区段名称', + section: '区段', + speedLimitValue: '限速值', + switchName: '道岔名称', + clickToClose: '点击关闭', + stationStandStatus: '站台状态', + upDirection: '上行方向', + downDirection: '下行方向', + switchbackStation: '折返站', + switchbackPlatform: '折返站台', + switchbackStrategy: '折返策略', + switchbackStrategyTip: '提示: 未设置折返策略', + setSwitchbackStrategyTipPrefix: '提示: 选中站台', + setSwitchbackStrategyTipSuffix: '设置运行折返策略', + setSwitchbackStrategy: '设置折返策略', + noSwitchback: '无折返', + noOneSwitchback: '无人折返', + automaticChange: '自动换端', + default: '默认', + item: '项目', + stationDetainTrain: '车站扣车', + centerDetainTrain: '中心扣车', + hasBeenSet: '已设置', + notSet: '未设置', + to: '至', + downSwitchbackStrategy: '下行折返策略', + range: '范围', + uplinkBroadly: '上行全线', + downlinkBroadly: '下行全线', + detainTrainStationList: '扣车站台列表(中心设置)', + allStationsHaveNoDetainTrainStatus: '所有站台都无扣车状态!', + detainTrainStation: '扣车站台', + nextPlatform: '下一站台', + intervalRunningTime: '区间运行时间', + alwaysEffective: '一直有效', + setRunLevelTip: '提示: 未选中要设置运行等级的下一站台。', + setRunLevelStationTip: '提示: 选中要设置运行等级的下一站台为', + runTimeAutomatically: '运行时间自动', + runningTimeIs: '运行时间为', + effectiveFrequencyIs: '有效次数为', + onceEffective: '一次有效', + platformName: '站台名称', + controlMode: '控制方式', + effectiveNumber: '有效次数', + stopTimeIs: '停站时间为', + fullConcentrationStationAccessManualControl: '全集中站进路交人工控', + concentratedStationName: '集中站名称:', + checkConflict: '检查冲突', + notCheckConflict: '不检查冲突', + fullConcentrationStationSettingAccessControlMode: '全集中站设置进路控制模式', + switch: '道岔', + activation: '激活', + resection: '切除', + groupNumber: '车组号', + planTrain: '计划车', + headCodeTrain: '头码车', + artificialTrain: '人工车', + targetCode: '目的地号', + train: '列车', + trainDirection: '列车方向', + up: '上行', + down: '下行', + settingTrain: '设置列车', + sourceTrainWindow: '源车次窗', + trainWindow: '车次窗', + targetTrainWindow: '目的车次窗' }; diff --git a/src/i18n/langs/zh/orderAuthor.js b/src/i18n/langs/zh/orderAuthor.js index e031b9cd1..b3b8c4467 100644 --- a/src/i18n/langs/zh/orderAuthor.js +++ b/src/i18n/langs/zh/orderAuthor.js @@ -101,4 +101,5 @@ export default { orderSelectionItem: '订单选择商品', orderDetails: '订单详情', statusType: '状态类型', + createPackage: '创建权限' }; diff --git a/src/i18n/langs/zh/rules.js b/src/i18n/langs/zh/rules.js index e6a0b59da..172dd7090 100644 --- a/src/i18n/langs/zh/rules.js +++ b/src/i18n/langs/zh/rules.js @@ -271,5 +271,11 @@ export default { pleaseSelectTemplateRunGraph: '请选择模板运行图', selectTheRunningDiagramToBeLoaded: '请选择需要加载的运行图', selectOneOrMoreDates: '选择一个或多个日期', - selectAPlannedDateRange: '请选择计划日期范围' + selectAPlannedDateRange: '请选择计划日期范围', + selectGroupNumber: '请选择车组号', + selectATrainType: '请选择一个列车类型', + enterTheServiceNumber: '请输入表号', + enterTheTripNumber: '请输入车次号', + enterTheTargetCode: '请输入目的地号', + selectStation: '请选择车站' }; diff --git a/src/i18n/langs/zh/tip.js b/src/i18n/langs/zh/tip.js index a92b07dce..9c412700c 100644 --- a/src/i18n/langs/zh/tip.js +++ b/src/i18n/langs/zh/tip.js @@ -156,5 +156,19 @@ export default { createRunChartPlanSuccessfully: '创建运行图计划成功', createRunChartPlanFailed: '创建运行图计划失败', deleteTheRunningGraphLoadedTheNextDay: '此操作将删除次日加载的运行图, 是否继续?', - commandFailed: '命令下达失败' + commandFailed: '命令下达失败', + releaseTip: '请点击“下达”按钮,下达命令!', + firstConfirmTip: '请点击“确认1”按钮,确认命令!', + executionSucceed: '执行成功', + executionFailed: '执行失败', + executionException: '执行异常', + secondConfirmTip: '请点击“确认2”按钮,确认命令!', + confirmedSuccess: '确认成功', + cancelSuccess: '取消成功', + signalModeToManualModeTipPrefix: '取消以信号机', + signalModeToManualModeTipSuffix: '为始端的进路,该进路即将由自动信号模式转为人工模式!', + selectAPieceOfData: '请选择一条数据', + selectSpeedLimitValueTip: '请选择限速值后,点击“下达”按钮,下达命令!', + addTrainIdTip: '添加列车识别号:成功', + editTrainIdTip: '修改列车识别号:成功' }; diff --git a/src/jmap/shape/Signal/index.js b/src/jmap/shape/Signal/index.js index d9546102b..1bfffc3e7 100644 --- a/src/jmap/shape/Signal/index.js +++ b/src/jmap/shape/Signal/index.js @@ -33,7 +33,7 @@ class Signal extends Group { create() { const model = this.model; const style = this.style; - const drict = this.model.directionType == '01' ? -1 : 1; // 朝向 左:右 + const drict = this.model.directionShowType == '01' ? -1 : 1; // 朝向 左:右 const posit = this.model.positionType == '01' ? -1 : 1; // 位置 上:下 // 信号机高柱矮柱 @@ -68,7 +68,7 @@ class Signal extends Group { // 信号机名称 const sigNameX = model.position.x - drict * (style.Signal.post.standardWidth) + model.namePosition.x; const sigNameY = model.position.y + posit * (style.Signal.distance + style.Section.line.width + style.Signal.lamp.radiusR * 2 + model.namePosition.y + style.Signal.text.distance); - const textAlign = style.Signal.text.isAlignCenter ? 'middle': this.model.directionType == '01'? 'right': 'left'; + const textAlign = style.Signal.text.isAlignCenter ? 'middle': this.model.directionShowType == '01'? 'right': 'left'; const textVerticalAlign = posit == 1 ? 'top' : 'bottom'; this.sigName = new ESigName({ zlevel: this.zlevel, @@ -262,7 +262,7 @@ class Signal extends Group { } } } - /* count 1单灯 2双灯 lightType 01物理点灯 02逻辑点灯*/ + /* count 1单灯 2双灯 lightType 01物理点灯 02逻辑点灯*/ openLateral() { if (this.count == 2 && this.model.lightType == '01') { if (this.lamps[0]) { @@ -492,7 +492,7 @@ class Signal extends Group { getShapeTipPoint(opts) { var rect = new BoundingRect(0, 0, 0, 0); - var drict = this.model.directionType == '01' ? -1 : 1; // 朝向 左:右 + var drict = this.model.directionShowType == '01' ? -1 : 1; // 朝向 左:右 var offsetY = this.model.positionType == '01' ? this.style.Signal.text.fontSize : 0; // 位置 上:下 if (opts.val == '1' || opts.val == '2') { rect = this.sigButton.getBoundingRect(); diff --git a/src/jmap/theme/fuzhou_01/menus/dialog/childDialog/confirmControl.vue b/src/jmap/theme/fuzhou_01/menus/dialog/childDialog/confirmControl.vue index 678384b32..00c962fdd 100644 --- a/src/jmap/theme/fuzhou_01/menus/dialog/childDialog/confirmControl.vue +++ b/src/jmap/theme/fuzhou_01/menus/dialog/childDialog/confirmControl.vue @@ -44,9 +44,9 @@ if (this.operation === OperationEvent.Signal.arrangementRoute.menu.operation) { return this.$t('menu.accessSetting'); } else if (this.operation === OperationEvent.Signal.signalClose.menu.operation) { - return this.$t('menu.signalOff'); + return this.$t('menu.menuSignal.signalOff'); } else if (this.operation === OperationEvent.Signal.reopenSignal.menu.operation) { - return this.$t('menu.signalReopening'); + return this.$t('menu.menuSignal.signalReopen'); } else if (this.operation === OperationEvent.Signal.cancelTrainRoute.menu.operation) { return this.$t('menu.cancelTheWay'); } else if (this.operation === OperationEvent.Signal.humanControl.menu.operation) { @@ -54,11 +54,11 @@ } else if (this.operation === OperationEvent.Signal.atsAutoControl.menu.operation) { return this.$t('menu.accessToATSAutomaticControl'); } else if (this.operation === OperationEvent.StationStand.setRunLevel.menu.operation) { - return this.$t('menu.setTheRunLevel'); + return this.$t('menu.menuStationStand.setRunLevel'); } else if (this.operation === OperationEvent.StationStand.setStopTime.menu.operation) { return this.$t('menu.stopTime'); } else if (this.operation === OperationEvent.StationStand.setBackStrategy.menu.operation) { - return this.$t('menu.setTheFoldbackStrategy'); + return this.$t('menu.setSwitchbackStrategy'); } }, domIdCancel() { diff --git a/src/jmap/theme/fuzhou_01/menus/dialog/routeCmdControl.vue b/src/jmap/theme/fuzhou_01/menus/dialog/routeCmdControl.vue index ff2b3f121..82917b2f1 100644 --- a/src/jmap/theme/fuzhou_01/menus/dialog/routeCmdControl.vue +++ b/src/jmap/theme/fuzhou_01/menus/dialog/routeCmdControl.vue @@ -7,7 +7,7 @@ - + @@ -16,12 +16,12 @@ - + - + @@ -30,34 +30,34 @@ - + - + - + - + {{message}} - 下达{{$t('menu.release')}}({{timeCountCommand}}) - 确认1 + {{$t('menu.firstConfirm')}} - 确认2{{$t('menu.secondConfirm')}}({{timeCountConfirm}}) - 中止 + {{$t('menu.suspend')}} - 关闭 + {{$t('global.close')}} @@ -96,8 +96,8 @@ computed: { typeList() { return [ - { code: OperationEvent.Signal.unlock.menu.operation, name: '信号解封' }, - { code: OperationEvent.Signal.guide.menu.operation, name: '办理引导进路' } + { code: OperationEvent.Signal.unlock.menu.operation, name: this.$t('menu.menuSignal.signalDeblock') }, + { code: OperationEvent.Signal.guide.menu.operation, name: this.$t('menu.menuSignal.guideRouteHandle') } ] }, show() { @@ -225,7 +225,7 @@ } this.dialogShow = true; this.stpDisabled = true; - this.setMessage('请点击“下达”按钮,下达命令!'); + this.setMessage(this.$t('tip.releaseTip')); this.$nextTick(function () { this.$store.dispatch('training/emitTipFresh'); }); @@ -253,8 +253,8 @@ operate.operation = OperationEvent.Signal.unlock.order.operation } - this.setMessage('请点击“确认1”按钮,确认命令!'); - this.writeRecord({ order: ++this.order, date: now(), context: '点击下达命令', result: '' }); + this.setMessage(this.$t('tip.firstConfirmTip')); + this.writeRecord({ order: ++this.order, date: now(), context: this.$t('menu.clickReleaseCommand'), result: '' }); this.$store.dispatch('training/next', operate).then(({ valid }) => { if (valid) { this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); @@ -274,18 +274,18 @@ operate.operation = OperationEvent.Signal.guide.order.operation } - this.setMessage('请点击“确认1”按钮,确认命令!'); - this.writeRecord({ order: ++this.order, date: now(), context: '点击下达命令', result: '' }); + this.setMessage(this.$t('tip.firstConfirmTip')); + this.writeRecord({ order: ++this.order, date: now(), context: this.$t('menu.clickReleaseCommand'), result: '' }); this.$store.dispatch('training/next', operate).then(({ valid }) => { if (valid) { this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.setButtonEnable({ step: 1 }); - this.editRecord({ order: this.order, date: now(), context: '点击下达命令', result: '执行成功' }); + this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickReleaseCommand'), result: this.$t('tip.executionSucceed') }); } else { - this.editRecord({ order: this.order, date: now(), context: '点击下达命令', result: '执行失败' }); + this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickReleaseCommand'), result: this.$t('tip.executionFailed') }); } }).catch(() => { - this.editRecord({ order: this.order, date: now(), context: '点击下达命令', result: '执行异常' }); + this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickReleaseCommand'), result: this.$t('tip.executionException') }); }) }, confirm1() { @@ -301,20 +301,20 @@ operate.operation = OperationEvent.Signal.guide.confirm1.operation; } - this.setMessage('请点击“确认2”按钮,确认命令!'); - this.writeRecord({ order: ++this.order, date: now(), context: '点击确认1', result: '' }); + this.setMessage(this.$t('tip.secondConfirmTip')); + this.writeRecord({ order: ++this.order, date: now(), context: this.$t('menu.clickFirstConfirm'), result: '' }); this.$store.dispatch('training/next', operate).then(({ valid }) => { if (valid) { this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.timeCountCommand = -1; this.timeCountConfirm = 10; this.setButtonEnable({ step: 2 }); - this.editRecord({ order: this.order, date: now(), context: '点击确认1', result: '执行成功' }); + this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickFirstConfirm'), result: this.$t('tip.executionSucceed') }); } else { - this.editRecord({ order: this.order, date: now(), context: '点击确认1', result: '执行失败' }); + this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickFirstConfirm'), result: this.$t('tip.executionFailed') }); } }).catch(() => { - this.editRecord({ order: this.order, date: now(), context: '点击确认1', result: '执行异常' }); + this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickFirstConfirm'), result: this.$t('tip.executionException') }); }) }, confirm2() { @@ -331,22 +331,22 @@ operate.operation = OperationEvent.Signal.guide.confirm2.operation; } this.setMessage(''); - this.writeRecord({ order: ++this.order, date: now(), context: '点击确认2', result: '' }); + this.writeRecord({ order: ++this.order, date: now(), context: this.$t('menu.clickSecondConfirm'), result: '' }); this.$store.dispatch('training/next', operate).then(({ valid }) => { this.timeCountCommand = -1; this.timeCountConfirm = -1; this.setButtonEnable({ step: -1 }); if (valid) { this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.editRecord({ order: this.order, date: now(), context: '点击确认2', result: '执行成功' }); + this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickSecondConfirm'), result: this.$t('tip.executionSucceed') }); } else { - this.editRecord({ order: this.order, date: now(), context: '点击确认2', result: '执行失败' }); + this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickSecondConfirm'), result: this.$t('tip.executionFailed') }); } }).catch(() => { this.timeCountCommand = -1; this.timeCountConfirm = -1; this.setButtonEnable({ step: -1 }); - this.editRecord({ order: this.order, date: now(), context: '点击确认2', result: '执行异常' }); + this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickSecondConfirm'), result: this.$t('tip.executionException') }); }) }, stop() { @@ -363,17 +363,17 @@ } - this.writeRecord({ order: ++this.order, date: now(), context: '点击终止', result: '' }); + this.writeRecord({ order: ++this.order, date: now(), context: this.$t('menu.clickSuspend'), result: '' }); this.$store.dispatch('training/next', operate).then(({ valid }) => { if (valid) { this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.setButtonEnable({ step: 0 }); - this.editRecord({ order: this.order, date: now(), context: '点击终止', result: '执行成功' }); + this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickSuspend'), result: this.$t('tip.executionSucceed') }); } else { - this.editRecord({ order: this.order, date: now(), context: '点击终止', result: '执行失败' }); + this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickSuspend'), result: this.$t('tip.executionFailed') }); } }).catch(error => { - this.editRecord({ order: this.order, date: now(), context: '点击终止', result: '执行异常' }); + this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickSuspend'), result: this.$t('tip.executionException') }); }) }, close() { @@ -398,9 +398,9 @@ this.setButtonEnable(operate); if (operate.success) { this.timeCountCommand = 30; - this.editRecord({ order: this.order, date: now(), context: '点击下达命令', result: '确认成功' }); + this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickReleaseCommand'), result: this.$t('tip.confirmedSuccess') }); } else { - this.editRecord({ order: this.order, date: now(), context: '点击下达命令', result: '取消成功' }); + this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickReleaseCommand'), result: this.$t('tip.cancelSuccess') }); } } }, diff --git a/src/jmap/theme/fuzhou_01/menus/dialog/routeControl.vue b/src/jmap/theme/fuzhou_01/menus/dialog/routeControl.vue index 59cbc1868..0281c9585 100644 --- a/src/jmap/theme/fuzhou_01/menus/dialog/routeControl.vue +++ b/src/jmap/theme/fuzhou_01/menus/dialog/routeControl.vue @@ -2,8 +2,8 @@ - 车站名称 - 信号机 + {{$t('menu.stationName')}} + {{$t('menu.signal')}} @@ -15,10 +15,10 @@ - 确定 + {{$t('menu.confirm')}} - 取 消 + {{$t('menu.cancel')}} @@ -60,19 +60,19 @@ }, title() { if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) { - return '取消列车进路'; + return this.$t('menu.menuSignal.cancelTheTrainApproach'); } else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) { - return '信号关灯'; + return this.$t('menu.menuSignal.signalOff'); } else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) { - return '重开列车信号'; + return this.$t('menu.menuSignal.reopenTrainSignal'); } else if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) { - return '设置联锁自动进路'; + return this.$t('menu.menuSignal.setInterlockAutoRoute'); } else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) { - return '取消联锁自动进路'; + return this.$t('menu.menuSignal.cancelInterlockAutoRoute'); } else if (this.operation == OperationEvent.Signal.setAutoTrigger.menu.operation) { - return '设置联锁自动触发'; + return this.$t('menu.menuSignal.setInterlockAutoTrigger'); } else if (this.operation == OperationEvent.Signal.cancelAutoTrigger.menu.operation) { - return '取消联锁自动触发'; + return this.$t('menu.menuSignal.cancelInterlockAutoTrigger'); } } }, @@ -165,7 +165,7 @@ let operate = { type: MapDeviceType.Signal.type, operation: OperationEvent.Signal.cancelTrainRoute.menu.operation, - messages: [`取消以信号机${this.signalName}为始端的进路,该进路即将由自动信号模式转为人工模式!`] + messages: [this.$t('tip.signalModeToManualModeTipPrefix') + this.signalName + this.$t('tip.signalModeToManualModeTipSuffix')] } this.loading = true; @@ -185,7 +185,7 @@ let operate = { type: MapDeviceType.Signal.type, operation: OperationEvent.Signal.signalClose.menu.operation, - messages: [`信号关灯: ${this.signalName}`], + messages: [this.$t('menu.menuSignal.signalOff') + this.$t('global.colon') + this.signalName], } this.loading = true; @@ -205,7 +205,7 @@ let operate = { type: MapDeviceType.Signal.type, operation: OperationEvent.Signal.reopenSignal.menu.operation, - messages: [`信号重开: ${this.signalName}`], + messages: [this.$t('menu.menuSignal.signalReopen') + this.$t('global.colon') + this.signalName], } this.loading = true; @@ -322,4 +322,4 @@ } } } - \ No newline at end of file + diff --git a/src/jmap/theme/fuzhou_01/menus/dialog/routeDetail.vue b/src/jmap/theme/fuzhou_01/menus/dialog/routeDetail.vue index 7d7d1d3f3..9363453f6 100644 --- a/src/jmap/theme/fuzhou_01/menus/dialog/routeDetail.vue +++ b/src/jmap/theme/fuzhou_01/menus/dialog/routeDetail.vue @@ -3,8 +3,8 @@ - 车站名称 - 始端信号机 + {{$t('menu.stationName')}} + {{$t('menu.startSignal')}} @@ -15,28 +15,28 @@
- 进路列表 + {{$t('menu.routeList')}} - + - +
- 确定 + {{$t('global.confirm')}} - 取 消 + {{$t('global.cancel')}} @@ -77,7 +77,7 @@ return this.dialogShow ? OperationEvent.Signal.detail.menu.domId : ''; }, title() { - return '查询进路控制模式' + return this.$t('menu.queryAccessControlMode'); } }, mounted() { @@ -146,4 +146,4 @@ } } } - \ No newline at end of file + diff --git a/src/jmap/theme/fuzhou_01/menus/dialog/routeHandControl.vue b/src/jmap/theme/fuzhou_01/menus/dialog/routeHandControl.vue index f6d9a6f45..5d042ef37 100644 --- a/src/jmap/theme/fuzhou_01/menus/dialog/routeHandControl.vue +++ b/src/jmap/theme/fuzhou_01/menus/dialog/routeHandControl.vue @@ -3,8 +3,8 @@ - 车站名称 - 始端信号机 + {{$t('menu.stationName')}} + {{$t('menu.startSignal')}} @@ -15,24 +15,24 @@
- 进路列表 + {{$t('menu.routeList')}} - + - + - + @@ -39,7 +39,7 @@ export default { }, computed: { title() { - return 'offline'; + return '删除计划车'; }, width() { if (this.params.width) { @@ -75,4 +75,15 @@ export default { width: 40px; } } + .add-planning-train{ + /deep/ { + .el-dialog__body{ + padding: 10px 20px; + } + .dialog-footer{ + display: flex; + justify-content: center; + } + } + } diff --git a/src/views/planMonitor/editTool/menus/systermOut.vue b/src/views/planMonitor/editTool/menus/systermOut.vue index 580d55b5b..ed03c96fb 100644 --- a/src/views/planMonitor/editTool/menus/systermOut.vue +++ b/src/views/planMonitor/editTool/menus/systermOut.vue @@ -11,10 +11,10 @@ :close-on-click-modal="false" > - - 确 定 - 取 消 - + + 取 消 + 确 定 + @@ -68,4 +68,15 @@ export default { diff --git a/src/views/planMonitor/editTool/schedule.vue b/src/views/planMonitor/editTool/schedule.vue index 315d2af48..ca4ccadb4 100644 --- a/src/views/planMonitor/editTool/schedule.vue +++ b/src/views/planMonitor/editTool/schedule.vue @@ -120,7 +120,8 @@ export default { tooltip: { axisPointer: { trigger: 'item', - type: 'cross' + type: 'cross', + snap: true }, formatter: this.axisTooltip, borderWidth: 1 @@ -282,17 +283,19 @@ export default { } }); } - }); - this.myChart && this.myChart.setOption({ series: - { - name: 'trainLabel', - lineStyle: { - color: 'green' - }, - type: 'line', - data: data + if (item.name == 'trainLabel') { + item.data = []; } }); + op.series.push({ + name: 'trainLabel', + lineStyle: { + color: 'green' + }, + type: 'line', + data: data + }); + this.myChart && this.myChart.setOption(op); } this.$store.dispatch('runPlan/setSelected', { serviceNumber: serviceNumber, tripNumber: tripNumber }); @@ -461,7 +464,7 @@ export default { that.myChart = ec.init(document.getElementById(that.runPlanId)); that.myChart.setOption(that.option); that.reSize({ width: that.$store.state.runPlan.width, height: that.$store.state.runPlan.height }); - that.myChart.on('click', that.mouseClick); + // that.myChart.on('click', that.mouseClick); resolve(true); } ); @@ -526,25 +529,24 @@ export default { `到站时间: ${timeFormat(param.data[0] + this.planConvert.TranslationTime)} (${param.data[0]})
` ].join(''); }, - mouseClick(params) { - const model = { - serviceNumber: params.seriesName - }; + // mouseClick(params) { + // const model = { + // serviceNumber: params.seriesName + // }; - const op = this.myChart.getOption(); - op.series.forEach(item => { - item.lineStyle.color = '#000'; - if (item.name == params.seriesName) { - item.lineStyle.color = 'red'; - } - if (item.name == 'trainLabel') { - item.data = []; - } - }); - this.myChart.setOption(op); - this.$store.dispatch('runPlan/setSelected', model); - - }, + // const op = this.myChart.getOption(); + // op.series.forEach(item => { + // item.lineStyle.color = '#000'; + // if (item.name == params.seriesName) { + // item.lineStyle.color = 'red'; + // } + // if (item.name == 'trainLabel') { + // item.data = []; + // } + // }); + // this.myChart.setOption(op); + // this.$store.dispatch('runPlan/setSelected', model); + // }, reSize(opt) { if (this.myChart) { this.myChart.resize({ diff --git a/src/views/publish/publishMap/index.vue b/src/views/publish/publishMap/index.vue index dfbb73e9f..fd4e7fdbe 100644 --- a/src/views/publish/publishMap/index.vue +++ b/src/views/publish/publishMap/index.vue @@ -8,6 +8,7 @@ import { getPublishMapList, delPublishMap, getPublishMapExport, putMapOnLine, putMapOffLine } from '@/api/jmap/map'; import { getSkinCodeList } from '@/api/management/mapskin'; import { UrlConfig } from '@/router/index'; +import deviceType from '@/jmap/constant/deviceType'; import localStore from 'storejs'; export default { @@ -61,6 +62,10 @@ export default { columnValue: (row) => { return this.$convertField(row.skinCode, this.skinCodeList, ['code', 'name']); }, tagType: (row) => { return ''; } }, + // { + // title: this.$t('publish.updateTime'), + // prop: 'updateTime' + // }, { type: 'button', title: this.$t('global.operate'), @@ -96,6 +101,11 @@ export default { { name: this.$t('global.exportMap'), handleClick: this.handleExportMap + }, + { + name: this.$t('global.export'), + handleClick: this.handleExportMapSame, + showControl: () => { return process.env.NODE_ENV === 'development'; } } ] } @@ -196,24 +206,196 @@ export default { // 导出地图 async handleExportMap(index, row) { - try { - const res = await getPublishMapExport(row.id); - const resultData = res.data; - if (resultData === false) { - return; - } - const content = new Blob([JSON.stringify(resultData)]); - const urlObject = window.URL || window.webkitURL || window; - const url = urlObject.createObjectURL(content); - const el = document.createElement('a'); - el.href = url; - el.download =`${resultData.name}.json`; - el.click(); - urlObject.revokeObjectURL(url); - } catch (error) { - console.error(error); + const res = await getPublishMapExport(row.id); + const resultData = res.data; + if (resultData === false) { + return; } + // const self = this; + // import('@/utils/Export2Excel').then(excel => { + // self.queryExportData(resultData).then(data => { + // excel.export_json_excel(data, resultData.name); + // }).catch(error => { + // self.$message.error(`${this.$t('error.exportException')}:${error.message}`); + // }); + // }); + + const content = new Blob([JSON.stringify(resultData)]); + const urlObject = window.URL || window.webkitURL || window; + const url = urlObject.createObjectURL(content); + const el = document.createElement('a'); + el.href = url; + el.download =`${resultData.name}.json`; + el.click(); + urlObject.revokeObjectURL(url); + }, + + // 部分导出 + async handleExportMapSame(index, row) { + const res = await getPublishMapExport(row.id); + const resultData = res.data; + if (resultData === false) { + return; + } + + const self = this; + import('@/utils/Export2Excel').then(excel => { + self.queryExportDataSame(resultData).then(data => { + excel.export_json_excel(data, resultData.name); + }).catch(error => { + self.$message.error(`${this.$t('error.exportException')}:${error.message}`); + }); + }); + }, + + formatJson(filterVal, jsonData) { + return jsonData.map(v => filterVal.map(j => v[j])); + }, + // 格式化数据列表 + queryExportData(data) { + return new Promise((resolve, reject) => { + const result = { + base: [] + }; + const obj = {}; + const list = ['graphData', 'logicData']; + for (const i in data) { + if (list.includes(i)) { + for (const v in data[i]) { + if (data[i][v].length) { + result[v] = [...data[i][v]]; + } else if (v == 'skinVO') { + result[v] = [data[i][v]]; + } + } + } else if (data[i] instanceof Object || typeof data[i] != 'object') { + obj[i] = data[i]; + } else if (data[i] instanceof Array) { + if (data[i].length) { + obj[i] = [...data[i]]; + } + } + } + + result.base.push(obj); + resolve(result); + }); + }, + // 格式化数据列表 + queryExportDataSame(data) { + const mapProps = {}; + + mapProps['stationStandList'] = { + filter: item => { return true; }, + propList: { + 'direction': item => { + return item.direction; + }, + 'name': (item, devices) =>{ + let name = ''; + if (item.stationCode) { + const stationList = devices['stationList']; + const station = stationList.find(elem => { return item.stationCode == elem.code; }); + if (station) { + name = station.name; + } + } + return name; + }, + 'code': item => { + return item.code; + } + } + }; + mapProps['switchList'] = { + filter: item => { return true; }, + propList: { + 'name': item =>{ + return item.name; + }, + 'code': item => { + return item.code; + } + } + }; + mapProps['signalList'] = { + filter: item => { return true; }, + propList: { + 'name': item =>{ + return item.name; + }, + 'code': item => { + return item.code; + } + } + }; + mapProps['sectionList'] = { + filter: item => { return item.type == '01'; }, + propList: { + 'name': (item, devices) =>{ + let name = item.name; + if (item.isSwitchSection) { + const swchList = devices['switchList']; + const swch = swchList.find(elem => { return item.relSwitchCode == elem.code; }); + if (swch) { + if (item.code == swch.sectionACode) { + name = `${name} (${swch.name}-A)`; + } else if (item.code == swch.sectionBCode) { + name = `${name} (${swch.name}-B)`; + } else if (item.code == swch.sectionCCode) { + name = `${name} (${swch.name}-C)`; + } + } + } + + return name; + }, + 'code': item => { + return item.code; + } + } + }; + + return new Promise((resolve, reject) => { + const result = { + base: [] + }; + const obj = {}; + const list = ['graphData', 'logicData']; + for (const i in data) { + if (list.includes(i)) { + for (const v in data[i]) { + if (data[i][v].length) { + if (mapProps[v]) { + const list = []; + data[i][v].forEach(device => { + if (mapProps[v].filter(device)) { + const obj = {}; + Object.keys(mapProps[v].propList || []).forEach(key => { + obj[key] = mapProps[v].propList[key](device, data[i]); + }); + list.push(obj); + } + }); + result[v] = list; + } + } else if (v == 'skinVO') { + result[v] = [data[i][v]]; + } + } + } else if (data[i] instanceof Object || typeof data[i] != 'object') { + obj[i] = data[i]; + } else if (data[i] instanceof Array) { + if (data[i].length) { + obj[i] = [...data[i]]; + } + } + } + + result.base.push(obj); + resolve(result); + }); } } };