Merge remote-tracking branch 'origin/dev' into test
This commit is contained in:
commit
63fb67b4cc
@ -18,5 +18,16 @@ export default {
|
||||
residualPermissionDistributionMap: 'Residual permission distribution map',
|
||||
totalPermissions: 'total permissions',
|
||||
noMapLineDataYetAvailable: 'No map line data yet available',
|
||||
individual: 'individual'
|
||||
individual: 'individual',
|
||||
permissionMap: {
|
||||
'ATS local workstation - Course authority': 0,
|
||||
'ATS line adjustment workstation - Course authority': 0,
|
||||
'ATS local workstation - Examination authority': 0,
|
||||
'ATS line adjustment workstation - Examination authority': 0,
|
||||
'ATS local workstation - Simulation authority': 0,
|
||||
'ATS line adjustment workstation - Simulation authority': 0,
|
||||
'Comprehensive exercise cloud platform - Simulation authority': 0,
|
||||
'Driver simulated driving system - Simulation authority': 0,
|
||||
'Large screen system permissions': 0
|
||||
}
|
||||
};
|
||||
|
79
src/i18n/langs/en/display.js
Normal file
79
src/i18n/langs/en/display.js
Normal file
@ -0,0 +1,79 @@
|
||||
export default {
|
||||
startBtn: 'Start',
|
||||
endBtn: 'End',
|
||||
backBtn: 'Back',
|
||||
seconds: 'seconds',
|
||||
lesson: {
|
||||
teachingMode: 'Teaching Mode',
|
||||
practiceMode: 'Practice Mode',
|
||||
testMode: 'Test Mode',
|
||||
score: 'Score: ',
|
||||
selectTraining: 'Please select training',
|
||||
endTrainingError: 'Ending training error',
|
||||
endTrainingTip: 'The operation is not completed, confirm the end?',
|
||||
startTrainingTip: 'Please start training',
|
||||
createSimulationError: 'create simulation error'
|
||||
},
|
||||
exam: {
|
||||
startTestOperateTip: 'Please click to start the exam',
|
||||
selectTest: 'Please select a question',
|
||||
endTrainingError: 'Ending training error',
|
||||
startTestTip: 'Please start the exam first',
|
||||
endTestTip: 'Do you give up this exam? ',
|
||||
refreshListError: 'Refresh List Error',
|
||||
examTime: 'Exam timing: ',
|
||||
questionTitle: 'Question title: ',
|
||||
bestTime: 'Best time: ',
|
||||
maximumTime: 'Maximum time: ',
|
||||
trainingInstructions: 'Training instructions: ',
|
||||
viewQuestions: 'View questions',
|
||||
prev: 'prev',
|
||||
next: 'next',
|
||||
submitExaminationPaper: 'Submit Exam',
|
||||
autoSubmit: 'Automatic submission at the end of the exam',
|
||||
getTestInformation: 'Failed to get test information',
|
||||
cancleExam: 'The exam is not completed,confirm to exit?'
|
||||
},
|
||||
training: {
|
||||
trainingName: 'Training name: ',
|
||||
bestTime: 'Best time: ',
|
||||
maximumTime: 'Maximum time: ',
|
||||
trainingInstructions: 'Training instructions: ',
|
||||
getCourseInformationFail: 'Failed to get course information'
|
||||
},
|
||||
demon: {
|
||||
trialTime: 'Trial time: ',
|
||||
dispatchingPlan: 'Dispatching Plan',
|
||||
exitScript: 'Exit Script',
|
||||
drivingByPlan: 'Driving By Plan',
|
||||
exitPlan: 'Exit Plan',
|
||||
back: 'Back',
|
||||
threeDimensionalView: 'Three-Dimensional View',
|
||||
taskOperateSuccess: 'Task Operate success',
|
||||
getTimeFail: 'Failed to get time',
|
||||
startSimulationFail: 'Start simulation failed, please go back and try again',
|
||||
endSimulationFail: 'End simulation failed, please go back',
|
||||
exitTaskFail: 'Failed to Exit task',
|
||||
driverPerspective: 'Driver Perspective'
|
||||
},
|
||||
systemTime: {
|
||||
timePause: 'Pausing'
|
||||
},
|
||||
screen: {
|
||||
trialTime: 'Trial time: ',
|
||||
getTimeFail: 'Failed to get time'
|
||||
},
|
||||
replay: {
|
||||
pleaseSelect: 'Please select',
|
||||
back: 'Back',
|
||||
pause: 'Pause',
|
||||
play: 'Play'
|
||||
},
|
||||
plan: {
|
||||
drivingByPlan: 'Driving By Plan',
|
||||
exitPlan: 'Exit Plan',
|
||||
back: 'Back',
|
||||
startPlanFail: 'Start planning failed, please go back and try again',
|
||||
endPlanFail: 'End plan failed, please go back'
|
||||
}
|
||||
};
|
@ -64,5 +64,24 @@ export default {
|
||||
obtainCourseInformationFailed: 'Failed to obtain course information',
|
||||
obtainStepDataFailed: 'Failed to obtain step data',
|
||||
submitExamFailed: 'Automatic submission of test results failed',
|
||||
getTestInformationFailed: 'Failed to get test information'
|
||||
getTestInformationFailed: 'Failed to get test information',
|
||||
gifSource: 'gif source',
|
||||
page: 'page',
|
||||
noPermissionToGoToThisPage: 'You don\'t have permission to go to this page',
|
||||
dissatisfied: 'If you are dissatisfied, please contact your leader.',
|
||||
orYouCanGo: 'Or you can go:',
|
||||
backToHome: 'Back to home',
|
||||
justLookingAround: 'Just looking around',
|
||||
pointMeToSeeThePicture: 'Point me to see the picture',
|
||||
casualLook: 'Casual look',
|
||||
problemWithAudioQuality: 'There is a problem with audio quality',
|
||||
audioIsTooLong: 'The audio is too long, it is recommended to be below 60s',
|
||||
audioIsTooShort: 'The audio is too short, it is recommended to re-record',
|
||||
networkProblem: 'Network problem, please try again',
|
||||
initializationFailed: 'Initialization failed:',
|
||||
getMapDataFailed: 'Failed to get map data',
|
||||
ibpNoDraw: 'Unbound station or the station IBP disk is not drawn yet',
|
||||
startSimulationFailed: 'Start simulation failed, please go back and try again',
|
||||
endSimulationFailed: 'End simulation failed, please return',
|
||||
runGraphIsNotLoaded: 'Today\'s run graph is not loaded',
|
||||
};
|
||||
|
@ -35,5 +35,6 @@ export default {
|
||||
maximumTimeToCompleteThisQuestion: 'Maximum time to complete this question',
|
||||
theBestTimeToCompleteTheQuestion: 'The best time to complete the question',
|
||||
trainingNotes: 'Training notes',
|
||||
giveUpTheExam: 'Give up the exam'
|
||||
giveUpTheExam: 'Give up the exam',
|
||||
nameOfTestPaper: 'Test name'
|
||||
};
|
||||
|
@ -83,7 +83,40 @@ export default {
|
||||
trainingNotStart: "{name}'s room hasn't started yet",
|
||||
inputRoomNumber: 'Please enter the room number.',
|
||||
chooseRoom: 'Choose Room',
|
||||
month: 'month',
|
||||
|
||||
month: ' month',
|
||||
indexA: ' piece',
|
||||
purchasePrice: 'Total Price: ',
|
||||
permissionNum: 'Permission Num: ',
|
||||
submitOrders: 'Submit orders',
|
||||
completePayment: 'Complete payment',
|
||||
weChatPay: 'WeChat Pay',
|
||||
alipayPayment: 'AliPay',
|
||||
clickRefresh: 'Please click to refresh',
|
||||
checkstand: 'Checkstand',
|
||||
permissionType: 'Permission Type: ',
|
||||
productName: 'Product Name',
|
||||
simulationPrice: 'Simulation Unit Price',
|
||||
yuanMonth: 'yuan/month',
|
||||
permissions: ' permissions',
|
||||
purchaseDuration: 'Purchase Duration: ',
|
||||
custom: 'custom',
|
||||
january: 'One month',
|
||||
march: 'Three months',
|
||||
year: 'One year',
|
||||
twoYears: 'Two years',
|
||||
fiveYears: 'Five years',
|
||||
tenYears: 'Ten years',
|
||||
orderCode: 'Order Code: ',
|
||||
creationTime: 'Create Time: ',
|
||||
amountPayable: 'Amounts Payable: ',
|
||||
|
||||
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.',
|
||||
paymentSuccessful: 'Payment successful,click to return',
|
||||
cancelSuccessfully: 'Cancel success,click to return',
|
||||
paymentFailed: 'Payment failed,click to return',
|
||||
|
||||
putaway: 'Putaway',
|
||||
soldOut: 'Sold out',
|
||||
exportMap: 'Export Map',
|
||||
@ -109,5 +142,7 @@ export default {
|
||||
release: 'Release',
|
||||
temporarilyNoData: 'Temporarily no data',
|
||||
second: 'Second',
|
||||
amount: 'Amount'
|
||||
amount: 'Amount',
|
||||
yes: 'yes',
|
||||
no: 'no'
|
||||
};
|
||||
|
@ -18,6 +18,8 @@ import screenMonitor from './screenMonitor';
|
||||
import demonstration from './demonstration';
|
||||
import exam from './exam';
|
||||
import dashboard from './dashboard';
|
||||
import jlmap3d from './jlmap3d';
|
||||
import display from './display';
|
||||
|
||||
export default {
|
||||
...enLocale,
|
||||
@ -39,5 +41,7 @@ export default {
|
||||
screenMonitor,
|
||||
demonstration,
|
||||
exam,
|
||||
dashboard
|
||||
dashboard,
|
||||
jlmap3d,
|
||||
display
|
||||
};
|
||||
|
12
src/i18n/langs/en/jlmap3d.js
Normal file
12
src/i18n/langs/en/jlmap3d.js
Normal file
@ -0,0 +1,12 @@
|
||||
export default {
|
||||
trainGroupNumber: 'Train group number:',
|
||||
surveillanceHidden: 'In-vehicle surveillance - hidden',
|
||||
surveillanceDisplay: 'In-vehicle surveillance - display',
|
||||
trainInstrumentationDisplay: 'Train instrumentation - display',
|
||||
trainInstrumentationHidden: 'Train instrumentation - hidden',
|
||||
terminal: 'terminal:',
|
||||
nextStation: 'Next station:',
|
||||
confirmSignalOpen: 'Please confirm that the signal ahead is open',
|
||||
faultInformation: 'Fault information:',
|
||||
vWeek: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
|
||||
};
|
25
src/i18n/langs/en/joinTraining.js
Normal file
25
src/i18n/langs/en/joinTraining.js
Normal file
@ -0,0 +1,25 @@
|
||||
export default {
|
||||
chooseDriver: 'Choose driver',
|
||||
cancelDriver: 'Cancel driver',
|
||||
admin: 'Admin',
|
||||
teacher: 'Teacher',
|
||||
dispatcher: 'Dispatcher',
|
||||
stationAttendant: 'Station attendant',
|
||||
driver: 'Driver',
|
||||
universalAccount: 'Universal account',
|
||||
sending: 'sending...',
|
||||
autoplay: 'Autoplay',
|
||||
holdAndTalk: 'Hold and talk',
|
||||
recording: 'recording...',
|
||||
iBPDisk: 'IBP disk',
|
||||
driverPerspective: 'Driver perspective',
|
||||
drivingByPlan: 'Driving by plan',
|
||||
exitPlan: 'Exit plan',
|
||||
runGraphPreview: 'Run graph preview',
|
||||
runGraphLoading: 'Run graph loading',
|
||||
faultSetting: 'Fault setting',
|
||||
normalOperation: 'Normal operation',
|
||||
faultOperation: 'Fault operation',
|
||||
local: 'Local',
|
||||
lineAdjustment: 'Driving schedule'
|
||||
};
|
@ -87,5 +87,14 @@ export default {
|
||||
deleteTraining: 'Delete training',
|
||||
automaticGenerationOfTraining: 'Automatic generation of training',
|
||||
modifyTrainingByCategory: 'Modify training by category',
|
||||
deleteAutoGeneratedTraining: 'Delete auto-generated training'
|
||||
deleteAutoGeneratedTraining: 'Delete auto-generated training',
|
||||
menu: 'Menu',
|
||||
turnout: 'Turnout',
|
||||
section: 'Section',
|
||||
signaler: 'Signaler',
|
||||
controlMode: 'Control mode',
|
||||
platform: 'Platform',
|
||||
train: 'Train',
|
||||
station: 'Station',
|
||||
trainWindow: 'Train window'
|
||||
};
|
||||
|
@ -86,5 +86,7 @@ export default {
|
||||
orderCreation: 'Order creation',
|
||||
chooseGoods: 'Choose goods',
|
||||
permissionName: 'Permission Name',
|
||||
receivingPermission: 'Receiving permission'
|
||||
receivingPermission: 'Receiving permission',
|
||||
isPackage: 'Whether package permissions',
|
||||
modifyPermissionContent: 'Modify permission content'
|
||||
};
|
||||
|
@ -246,6 +246,9 @@ export default {
|
||||
pleaseSelectButtonContent: 'Please enter the content',
|
||||
endTimeRules: 'The end time must be greater than the start time.',
|
||||
selectCourses: 'Please select courses',
|
||||
selectTheMapRoute: 'Please select the map route.'
|
||||
|
||||
selectTheMapRoute: 'Please select the map route.',
|
||||
enterKeyword: 'Please enter a keyword',
|
||||
successfullyModified: 'Successfully modified',
|
||||
modifyTheFailure: 'Modify the failure',
|
||||
selectTheCourseNameFirst: 'Please select the course name first'
|
||||
};
|
||||
|
@ -22,9 +22,6 @@ export default {
|
||||
modifyScriptSuccess: 'Modify script success',
|
||||
modifyScriptFail: 'Modify script failure',
|
||||
deleteScriptTip: 'This action will delete this script, whether to continue?',
|
||||
operateTip: 'Prompt',
|
||||
confirmButtonText: 'Submit',
|
||||
cancelButtonText: 'Cancle',
|
||||
deleteScriptSucess: 'delete script sucess',
|
||||
deleteScriptFail: 'delete script failure',
|
||||
scriptRecordTitle: 'Script Record',
|
||||
@ -82,21 +79,4 @@ export default {
|
||||
modifyConversitionButton: 'modify',
|
||||
drivingByPlan: 'Driving By Plan',
|
||||
scriptBack: 'Back'
|
||||
|
||||
// roleManage: 'Role Manage',
|
||||
// targetCondition: 'Task Target',
|
||||
// taskScript: 'Task Script',
|
||||
// roleName: 'Role Name',
|
||||
// roleType: 'Role Type',
|
||||
// deviceCode: 'Device Code',
|
||||
// roleList: 'Role List',
|
||||
// operation: 'Operation',
|
||||
// roleAdd: 'Add',
|
||||
// delete: 'Delete',
|
||||
// behaviorOperate: 'Behavior Operate',
|
||||
// conditionTitle: 'Target condition',
|
||||
// deviceType: 'Device Type',
|
||||
// deviceCondition: 'Device Condition',
|
||||
// paramDeviceType: 'Param DeviceType',
|
||||
// paramDeviceCode: 'Param DeviceCode'
|
||||
};
|
||||
|
@ -46,6 +46,7 @@ export default {
|
||||
selectTraining: 'Selection Training',
|
||||
createUserTraining: 'Creating User Training',
|
||||
editTrainingDetail: 'Editor Training Details',
|
||||
trainingTime: 'Training duration'
|
||||
|
||||
trainingTime: 'Training duration',
|
||||
subscribeToTheMapList: 'Subscribe to the map list:',
|
||||
editSimulationDetails: 'Edit simulation details'
|
||||
};
|
||||
|
@ -5,7 +5,7 @@ export default {
|
||||
trainingTime: 'Best time to complete the training:',
|
||||
trainingMaximum: 'Maximum time to complete the training:',
|
||||
trainingInstructions: 'Training instructions:',
|
||||
startTraining: 'Began to practice',
|
||||
startTraining: 'Start training',
|
||||
|
||||
courseName: 'Course name',
|
||||
courseDescription: 'Course description',
|
||||
|
@ -129,5 +129,11 @@ export default {
|
||||
noCourseAuthority: 'No examination permission for this course, please go to purchase!',
|
||||
notWithinTheScopeOfTheExamination: 'Not within the scope of the examination',
|
||||
giveUpTheExamTip: 'This operation will give up the examination. Will it continue?',
|
||||
theNumberOfPermissionsAvailableIsZero: 'The number of permissions available is 0'
|
||||
theNumberOfPermissionsAvailableIsZero: 'The number of permissions available is 0',
|
||||
userRightsHaveBeenReclaimed: 'User rights have been reclaimed',
|
||||
beKickedOut: 'You are kicked out of the room by the administrator',
|
||||
deleteListHint: 'This will delete the list, will it continue?',
|
||||
setUpASubscriptionMapSuccessfully: 'Setting up a subscription map successfully!',
|
||||
setUpASubscriptionMapFailed: 'Setting up a subscription map failed!',
|
||||
getMapStateDataException: 'Get map state data exception, please refresh the page to reload. If you encounter such problems many times, please contact the development team in an emergency!'
|
||||
};
|
||||
|
@ -19,5 +19,16 @@ export default {
|
||||
residualPermissionDistributionMap: '剩余权限分布图',
|
||||
totalPermissions: '权限总计',
|
||||
noMapLineDataYetAvailable: '暂无地图线路数据',
|
||||
individual: '个'
|
||||
individual: '个',
|
||||
permissionMap: {
|
||||
'ATS现地工作站-课程权限': 0,
|
||||
'ATS行调工作站-课程权限': 0,
|
||||
'ATS现地工作站-考试权限': 0,
|
||||
'ATS行调工作站-考试权限': 0,
|
||||
'ATS现地工作站-仿真权限': 0,
|
||||
'ATS行调工作站-仿真权限': 0,
|
||||
'综合演练云平台-仿真权限': 0,
|
||||
'司机模拟驾驶系统-仿真权限': 0,
|
||||
'大屏系统权限': 0
|
||||
}
|
||||
};
|
||||
|
81
src/i18n/langs/zh/display.js
Normal file
81
src/i18n/langs/zh/display.js
Normal file
@ -0,0 +1,81 @@
|
||||
export default {
|
||||
startBtn: '开始',
|
||||
endBtn: '结束',
|
||||
backBtn: '返回',
|
||||
seconds: '秒',
|
||||
lesson: {
|
||||
teachingMode: '教学模式',
|
||||
practiceMode: '练习模式',
|
||||
testMode: '测验模式',
|
||||
score: '得分:',
|
||||
selectTraining: '请选择实训',
|
||||
endTrainingError: '结束实训错误',
|
||||
endTrainingTip: '操作未完成,是否确认结束?',
|
||||
startTrainingTip: '请先开始实训',
|
||||
createSimulationError: '创建仿真失败'
|
||||
},
|
||||
exam: {
|
||||
startTestOperateTip: '请点击开始考试操作',
|
||||
selectTest: '请选择试题',
|
||||
endTrainingError: '结束实训错误',
|
||||
startTestTip: '请先开始考试',
|
||||
endTestTip: '是否放弃本次考试?',
|
||||
refreshListError: '刷新列表失败',
|
||||
examTime: '考试计时:',
|
||||
questionTitle: '本题名称:',
|
||||
bestTime: '最佳用时:',
|
||||
maximumTime: '最大用时:',
|
||||
trainingInstructions: '实训说明:',
|
||||
viewQuestions: '查看试题',
|
||||
prev: '上一题',
|
||||
next: '下一题',
|
||||
submitExaminationPaper: '提交试卷',
|
||||
autoSubmit: '考试结束自动提交',
|
||||
getTestInformation: '获取试题信息失败',
|
||||
cancleExam: '考试未完成,是否确认退出?'
|
||||
},
|
||||
training: {
|
||||
trainingName: '实训名称:',
|
||||
bestTime: '最佳用时:',
|
||||
maximumTime: '最大用时:',
|
||||
trainingInstructions: '实训说明:',
|
||||
getCourseInformationFail: '获取课程信息失败'
|
||||
},
|
||||
demon: {
|
||||
trialTime: '试用时间:',
|
||||
dispatchingPlan: '派班计划',
|
||||
exitScript: '退出剧本',
|
||||
drivingByPlan: '按计划行车',
|
||||
exitPlan: '退出计划',
|
||||
back: '返回',
|
||||
threeDimensionalView: '三维视图',
|
||||
taskOperateSuccess: '任务操作成功',
|
||||
getTimeFail: '获取时间失败',
|
||||
startSimulationFail: '开始仿真失败,请返回重试',
|
||||
endSimulationFail: '结束仿真失败,请返回',
|
||||
exitTaskFail: '退出任务失败',
|
||||
driverPerspective: '司机视角'
|
||||
},
|
||||
systemTime: {
|
||||
timePause: '暂停中'
|
||||
},
|
||||
screen: {
|
||||
trialTime: '试用时间:',
|
||||
getTimeFail: '获取时间失败'
|
||||
},
|
||||
replay: {
|
||||
pleaseSelect: '请选择',
|
||||
back: '返回',
|
||||
pause: '暂停',
|
||||
play: '播放'
|
||||
},
|
||||
plan: {
|
||||
drivingByPlan: '按计划行车',
|
||||
exitPlan: '退出计划',
|
||||
back: '返回',
|
||||
startPlanFail: '开始计划失败,请返回重试',
|
||||
endPlanFail: '结束计划失败,请返回'
|
||||
}
|
||||
|
||||
};
|
||||
|
@ -64,5 +64,24 @@ export default {
|
||||
obtainCourseInformationFailed: '获取课程信息失败',
|
||||
obtainStepDataFailed: '获取步骤数据失败',
|
||||
submitExamFailed: '自动提交考试结果失败',
|
||||
getTestInformationFailed: '获取试题息失败'
|
||||
getTestInformationFailed: '获取试题息失败',
|
||||
gifSource: 'gif来源',
|
||||
page: '页面',
|
||||
noPermissionToGoToThisPage: '你没有权限去该页面',
|
||||
dissatisfied: '如有不满请联系你领导',
|
||||
orYouCanGo: '或者你可以去:',
|
||||
backToHome: '回首页',
|
||||
justLookingAround: '随便看看',
|
||||
pointMeToSeeThePicture: '点我看图',
|
||||
casualLook: '随便看',
|
||||
problemWithAudioQuality: '音频质量有问题',
|
||||
audioIsTooLong: '音频过长,建议60s以下',
|
||||
audioIsTooShort: '音频太短,建议重录',
|
||||
networkProblem: '网络问题,请重试',
|
||||
initializationFailed: '初始化失败:',
|
||||
getMapDataFailed: '获取地图数据失败',
|
||||
ibpNoDraw: '未绑定车站或该车站IBP盘暂未绘制',
|
||||
startSimulationFailed: '开始仿真失败,请返回重试',
|
||||
endSimulationFailed: '结束仿真失败,请返回',
|
||||
runGraphIsNotLoaded: '今日运行图未加载',
|
||||
};
|
||||
|
@ -148,5 +148,7 @@ export default {
|
||||
release: '发布',
|
||||
temporarilyNoData: '暂无数据',
|
||||
second: '秒',
|
||||
amount: '总数量'
|
||||
amount: '总数量',
|
||||
yes: '是',
|
||||
no: '否'
|
||||
};
|
||||
|
@ -18,6 +18,8 @@ import screenMonitor from './screenMonitor';
|
||||
import demonstration from './demonstration';
|
||||
import exam from './exam';
|
||||
import dashboard from './dashboard';
|
||||
import jlmap3d from './jlmap3d';
|
||||
import display from './display';
|
||||
|
||||
export default {
|
||||
...cnLocale,
|
||||
@ -39,5 +41,7 @@ export default {
|
||||
screenMonitor,
|
||||
demonstration,
|
||||
exam,
|
||||
dashboard
|
||||
dashboard,
|
||||
jlmap3d,
|
||||
display
|
||||
};
|
||||
|
12
src/i18n/langs/zh/jlmap3d.js
Normal file
12
src/i18n/langs/zh/jlmap3d.js
Normal file
@ -0,0 +1,12 @@
|
||||
export default {
|
||||
trainGroupNumber: '车组号:',
|
||||
surveillanceHidden: '车内监控——隐藏',
|
||||
surveillanceDisplay: '车内监控——显示',
|
||||
trainInstrumentationDisplay: '列车仪表——显示',
|
||||
trainInstrumentationHidden: '列车仪表——隐藏',
|
||||
terminal: '终点站:',
|
||||
nextStation: '下一站:',
|
||||
confirmSignalOpen: '请确认前方信号开放',
|
||||
faultInformation: '故障信息:',
|
||||
vWeek: ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
|
||||
};
|
25
src/i18n/langs/zh/joinTraining.js
Normal file
25
src/i18n/langs/zh/joinTraining.js
Normal file
@ -0,0 +1,25 @@
|
||||
export default {
|
||||
chooseDriver: '设置司机',
|
||||
cancelDriver: '取消司机',
|
||||
admin: '管理员',
|
||||
teacher: '教员',
|
||||
dispatcher: '调度员',
|
||||
stationAttendant: '车站值班员',
|
||||
driver: '列车',
|
||||
universalAccount: '通号',
|
||||
sending: '发送中...',
|
||||
autoplay: '自动播放',
|
||||
holdAndTalk: '按住说话',
|
||||
recording: '录音中...',
|
||||
iBPDisk: 'IBP盘',
|
||||
driverPerspective: '司机视角',
|
||||
drivingByPlan: '按计划行车',
|
||||
exitPlan: '退出计划',
|
||||
runGraphPreview: '运行图预览',
|
||||
runGraphLoading: '运行图加载',
|
||||
faultSetting: '故障设置',
|
||||
normalOperation: '正常操作',
|
||||
faultOperation: '故障操作',
|
||||
local: '现地',
|
||||
lineAdjustment: '行调'
|
||||
};
|
@ -87,6 +87,15 @@ export default {
|
||||
deleteTraining: '删除实训',
|
||||
automaticGenerationOfTraining: '自动生成实训',
|
||||
modifyTrainingByCategory: '按类别修改实训',
|
||||
deleteAutoGeneratedTraining: '删除自动生成实训'
|
||||
deleteAutoGeneratedTraining: '删除自动生成实训',
|
||||
menu: '菜单',
|
||||
turnout: '道岔',
|
||||
section: '区段',
|
||||
signaler: '信号机',
|
||||
controlMode: '控制模式',
|
||||
platform: '站台',
|
||||
train: '列车',
|
||||
station: '车站',
|
||||
trainWindow: '车次窗'
|
||||
};
|
||||
|
||||
|
@ -86,5 +86,7 @@ export default {
|
||||
select: '选择',
|
||||
chooseGoods: '选择商品',
|
||||
permissionName: '权限名称',
|
||||
receivingPermission: '领取权限'
|
||||
receivingPermission: '领取权限',
|
||||
isPackage: '是否包权限',
|
||||
modifyPermissionContent: '修改权限内容'
|
||||
};
|
||||
|
@ -256,6 +256,9 @@ export default {
|
||||
pleaseSelectButtonContent: '请输入内容',
|
||||
endTimeRules: '结束时间必须大于开始时间',
|
||||
selectCourses: '请选择课程',
|
||||
selectTheMapRoute: '请选择地图线路'
|
||||
|
||||
selectTheMapRoute: '请选择地图线路',
|
||||
enterKeyword: '请输入关键词',
|
||||
successfullyModified: '修改成功',
|
||||
modifyTheFailure: '修改失败',
|
||||
selectTheCourseNameFirst: '请先选择课程名称'
|
||||
};
|
||||
|
@ -83,21 +83,4 @@ export default {
|
||||
|
||||
drivingByPlan: '按计划行车',
|
||||
scriptBack: '返回'
|
||||
|
||||
// roleManage: '角色管理',
|
||||
// targetCondition: '任务目标',
|
||||
// taskScript: '任务剧本',
|
||||
// roleName: '角色名称',
|
||||
// roleType: '角色类型',
|
||||
// deviceCode: '设备编码',
|
||||
// roleList: '角色列表',
|
||||
// operation: '操作',
|
||||
// roleAdd: '添加',
|
||||
// delete: '删除',
|
||||
// behaviorOperate: '行为操作',
|
||||
// conditionTitle: '目标条件',
|
||||
// deviceType: '设备类型',
|
||||
// deviceCondition: '设备条件',
|
||||
// paramDeviceType: '参数设备类型',
|
||||
// paramDeviceCode: '参数设备编号'
|
||||
};
|
||||
|
@ -46,6 +46,7 @@ export default {
|
||||
selectTraining: '选择实训',
|
||||
createUserTraining: '创建用户实训',
|
||||
editTrainingDetail: '编辑实训详情',
|
||||
trainingTime: '实训时长'
|
||||
|
||||
trainingTime: '实训时长',
|
||||
subscribeToTheMapList: '订阅地图列表:',
|
||||
editSimulationDetails: '编辑仿真详情'
|
||||
};
|
||||
|
@ -133,5 +133,11 @@ export default {
|
||||
noCourseAuthority: '无此课程的考试权限,请前往购买!',
|
||||
notWithinTheScopeOfTheExamination: '不在考试范围之内',
|
||||
giveUpTheExamTip: '此操作将放弃本次考试, 是否继续?',
|
||||
theNumberOfPermissionsAvailableIsZero: '可用的权限数量为0'
|
||||
theNumberOfPermissionsAvailableIsZero: '可用的权限数量为0',
|
||||
userRightsHaveBeenReclaimed: '用户权限已被收回',
|
||||
beKickedOut: '您被管理员踢出房间',
|
||||
deleteListHint: '此操作将删除该列表, 是否继续?',
|
||||
setUpASubscriptionMapSuccessfully: '设置订阅地图成功!',
|
||||
setUpASubscriptionMapFailed: '设置订阅地图失败!',
|
||||
getMapStateDataException: '获取地图状态数据异常,请刷新页面重新加载。若多次遇到此类问题,请急时联系开发团队处理!'
|
||||
};
|
||||
|
@ -2,21 +2,21 @@
|
||||
<div>
|
||||
<div class="display-card" :style="{top: offset+'px'}">
|
||||
<el-row>
|
||||
<span v-if="countTime" class="display-score">试用时间:{{ countTime }}</span>
|
||||
<span v-if="countTime" class="display-score">{{$t('display.demon.trialTime')}} {{ countTime }}</span>
|
||||
</el-row>
|
||||
</div>
|
||||
<div class="display-draft">
|
||||
<el-button-group>
|
||||
<el-button v-if="isShowScheduling" type="primary" @click="jumpScheduling">派班计划</el-button>
|
||||
<el-button v-if="isShowScheduling" type="primary" @click="jumpScheduling">{{$t('display.demon.dispatchingPlan')}}</el-button>
|
||||
<el-button type="jumpjlmap3d" @click="jumpjlmap3d">{{ jl3dname }}</el-button>
|
||||
<template v-if="isShowQuest">
|
||||
<el-button type="danger" @click="handleQuitQuest">退出剧本</el-button>
|
||||
<el-button type="danger" @click="handleQuitQuest">{{$t('display.demon.exitScript')}}</el-button>
|
||||
</template>
|
||||
<template v-else>
|
||||
<el-button type="success" :disabled="isDisable" @click="selectBeginTime">按计划行车</el-button>
|
||||
<el-button type="danger" :disabled="!isDisable" @click="end">退出计划</el-button>
|
||||
<el-button type="success" :disabled="isDisable" @click="selectBeginTime">{{$t('display.demon.drivingByPlan')}}</el-button>
|
||||
<el-button type="danger" :disabled="!isDisable" @click="end">{{$t('display.demon.exitPlan')}}</el-button>
|
||||
</template>
|
||||
<el-button type="primary" @click="back">返回</el-button>
|
||||
<el-button type="primary" @click="back">{{$t('display.demon.back')}}</el-button>
|
||||
</el-button-group>
|
||||
</div>
|
||||
<set-time ref="setTime" @ConfirmSelectBeginTime="start" />
|
||||
@ -72,7 +72,7 @@ export default {
|
||||
name: '',
|
||||
remarks: ''
|
||||
},
|
||||
jl3dname: '三维视图'
|
||||
jl3dname: this.$t('display.demon.threeDimensionalView')
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -88,8 +88,8 @@ export default {
|
||||
this.group && this.initLoadPage();
|
||||
},
|
||||
'$store.state.socket.tipOperateCount': function (val) {
|
||||
this.$alert('任务操作成功!', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
this.$alert(this.$t('display.demon.taskOperateSuccess') , this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
callback: action => {
|
||||
}
|
||||
});
|
||||
@ -142,7 +142,7 @@ export default {
|
||||
}, 1000);
|
||||
}
|
||||
}).catch(() => {
|
||||
this.$messageBox(`获取时间失败`);
|
||||
this.$messageBox(this.$t('display.demon.getTimeFail'));
|
||||
});
|
||||
},
|
||||
selectBeginTime() {
|
||||
@ -156,7 +156,7 @@ export default {
|
||||
});
|
||||
}).catch(() => {
|
||||
this.isDisable = false;
|
||||
this.$messageBox('开始仿真失败,请返回重试');
|
||||
this.$messageBox(this.$t('display.demon.startSimulationFail'));
|
||||
});
|
||||
},
|
||||
end() {
|
||||
@ -170,14 +170,14 @@ export default {
|
||||
});
|
||||
}).catch(() => {
|
||||
this.isDisable = true;
|
||||
this.$messageBox('结束仿真失败,请返回');
|
||||
this.$messageBox(this.$t('display.demon.endSimulationFail'));
|
||||
});
|
||||
},
|
||||
handleQuitQuest() {
|
||||
quitScript(this.group).then(resp => {
|
||||
this.$emit('quitQuest');
|
||||
}).catch(() => {
|
||||
this.$messageBox('退出任务失败');
|
||||
this.$messageBox(this.$t('display.demon.exitTaskFail'));
|
||||
});
|
||||
},
|
||||
back() {
|
||||
@ -208,9 +208,9 @@ export default {
|
||||
},
|
||||
change3dname() {
|
||||
if (this.$route.query.prdType == '04') {
|
||||
this.jl3dname = '司机视角';
|
||||
this.jl3dname = this.$t('display.demon.driverPerspective');
|
||||
} else {
|
||||
this.jl3dname = '三维视图';
|
||||
this.jl3dname = this.$t('display.demon.threeDimensionalView');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -7,9 +7,9 @@
|
||||
</div>
|
||||
<div class="display-draft">
|
||||
<el-button-group>
|
||||
<el-button type="success" :disabled="isDisable" :loading="startLoading" @click="start">开始</el-button>
|
||||
<el-button type="danger" :disabled="!isDisable" @click="end">结束</el-button>
|
||||
<el-button type="primary" class="back" @click="back">返回</el-button>
|
||||
<el-button type="success" :disabled="isDisable" :loading="startLoading" @click="start">{{$t('display.startBtn')}}</el-button>
|
||||
<el-button type="danger" :disabled="!isDisable" @click="end">{{$t('display.endBtn')}}</el-button>
|
||||
<el-button type="primary" class="back" @click="back">{{$t('display.backBtn')}}</el-button>
|
||||
</el-button-group>
|
||||
</div>
|
||||
<tip-exam-list @refresh="refresh" />
|
||||
@ -71,10 +71,10 @@ export default {
|
||||
const h = this.$createElement;
|
||||
this.$notify({
|
||||
title: this.$t('global.tips'),
|
||||
message: h('i', { style: 'color:' + opt.color }, '请点击开始考试操作')
|
||||
message: h('i', { style: 'color:' + opt.color }, this.$t('display.exam.startTestOperateTip'))
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
start() {
|
||||
this.$store.dispatch('menuOperation/setButtonOperation', null);
|
||||
this.startLoading = true;
|
||||
@ -94,7 +94,7 @@ export default {
|
||||
});
|
||||
} else {
|
||||
this.startLoading = true;
|
||||
this.$messageBox(`请选择试题`);
|
||||
this.$messageBox(this.$t('display.exam.selectTest'));
|
||||
}
|
||||
},
|
||||
end() {
|
||||
@ -113,18 +113,18 @@ export default {
|
||||
this.init();
|
||||
}).catch(() => {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
this.$messageBox(`结束实训错误`);
|
||||
this.$messageBox(this.$t('display.exam.endTrainingError'));
|
||||
});
|
||||
} else {
|
||||
this.isDisable = true;
|
||||
this.$messageBox(`请先开始考试`);
|
||||
this.$messageBox(this.$t('display.exam.startTestTip'));
|
||||
}
|
||||
}
|
||||
},
|
||||
back() {
|
||||
this.$confirm('是否放弃本次考试?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
this.$confirm(this.$t('display.exam.endTestTip'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.$emit('quit');
|
||||
@ -147,7 +147,7 @@ export default {
|
||||
if (error.code === 500009) {
|
||||
this.$router.replace({ path: `/exam/result/${this.$route.params.userExamId}` });
|
||||
} else {
|
||||
this.$messageBox(`刷新列表失败`);
|
||||
this.$messageBox(this.$t('display.exam.refreshListError'));
|
||||
}
|
||||
});
|
||||
},
|
||||
|
@ -3,19 +3,19 @@
|
||||
<div class="display-card" :style="{top: offset + 'px'}">
|
||||
<el-row>
|
||||
<el-radio-group v-model="demoMode" class="mode" size="small">
|
||||
<el-radio-button :label="TrainingMode.TEACH">教学模式</el-radio-button>
|
||||
<el-radio-button :label="TrainingMode.PRACTICE">练习模式</el-radio-button>
|
||||
<el-radio-button :label="TrainingMode.TEST">测验模式</el-radio-button>
|
||||
<el-radio-button :label="TrainingMode.TEACH">{{ $t('display.lesson.teachingMode')}}</el-radio-button>
|
||||
<el-radio-button :label="TrainingMode.PRACTICE">{{ $t('display.lesson.practiceMode')}}</el-radio-button>
|
||||
<el-radio-button :label="TrainingMode.TEST">{{ $t('display.lesson.testMode')}}</el-radio-button>
|
||||
</el-radio-group>
|
||||
<span class="display-time">{{ formatUsedTime }}</span>
|
||||
<span v-if="demoMode === TrainingMode.TEST" class="display-score">得分:{{ formatScore }}</span>
|
||||
<span v-if="demoMode === TrainingMode.TEST" class="display-score">{{ $t('display.lesson.score')}}{{ formatScore }}</span>
|
||||
</el-row>
|
||||
</div>
|
||||
<div class="display-draft">
|
||||
<el-button-group>
|
||||
<el-button type="success" :disabled="isDisable" :loading="startLoading" @click="start">开始</el-button>
|
||||
<el-button type="danger" class="end" :disabled="!isDisable" @click="end">结束</el-button>
|
||||
<el-button type="primary" :disabled="backDisable" class="back" @click="back">返回</el-button>
|
||||
<el-button type="success" :disabled="isDisable" :loading="startLoading" @click="start">{{ $t('display.startBtn')}}</el-button>
|
||||
<el-button type="danger" class="end" :disabled="!isDisable" @click="end">{{ $t('display.endBtn')}}</el-button>
|
||||
<el-button type="primary" :disabled="backDisable" class="back" @click="back">{{ $t('display.backBtn')}}</el-button>
|
||||
</el-button-group>
|
||||
</div>
|
||||
<tip-training-detail :training-obj="trainingObj" />
|
||||
@ -99,7 +99,8 @@ export default {
|
||||
if (opt && opt.hasOwnProperty('color') && opt.hasOwnProperty('message')) {
|
||||
const h = this.$createElement;
|
||||
this.$notify({
|
||||
title: '提示',
|
||||
title: this.$t('global.tips'),
|
||||
|
||||
message: h('i', { style: 'color:' + opt.color }, opt.message)
|
||||
});
|
||||
}
|
||||
@ -125,7 +126,7 @@ export default {
|
||||
});
|
||||
} else {
|
||||
this.startLoading = false;
|
||||
this.$messageBox(`请选择实训`);
|
||||
this.$messageBox(this.$t('display.lesson.selectTraining'));
|
||||
}
|
||||
},
|
||||
endCommit() {
|
||||
@ -143,7 +144,7 @@ export default {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
});
|
||||
}).catch(() => {
|
||||
this.$messageBox(`结束实训错误`);
|
||||
this.$messageBox(this.$t('display.lesson.endTrainingError'));
|
||||
});
|
||||
},
|
||||
end() {
|
||||
@ -156,9 +157,9 @@ export default {
|
||||
this.endCommit();
|
||||
} else {
|
||||
this.backDisable = true;
|
||||
this.$confirm('操作未完成,是否确认结束?', '提示', {
|
||||
cancelButtonText: '取消',
|
||||
confirmButtonText: '确定',
|
||||
this.$confirm(this.$t('display.lesson.endTrainingTip'), this.$t('global.tips'), {
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
type: 'warning',
|
||||
center: true,
|
||||
zIndex: 9999
|
||||
@ -174,7 +175,7 @@ export default {
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.$messageBox(`请先开始实训`);
|
||||
this.$messageBox(this.$t('display.lesson.startTrainingTip'));
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -188,7 +189,7 @@ export default {
|
||||
trainingNotify({ trainingId: this.$route.query.trainingId }).then(resp => {
|
||||
this.$router.push({ path: `${UrlConfig.lesson.record}/${this.$route.query.trainingId}/${this.$route.query.trainingName}`, query: { group: resp.data } });
|
||||
}).catch(error => {
|
||||
this.$messageBox(`创建仿真失败: ${error.message}`);
|
||||
this.$messageBox(`${this.$t('display.lesson.createSimulationError')}: ${error.message}`);
|
||||
});
|
||||
} else {
|
||||
history.go(-1);
|
||||
|
@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<div class="display-draft">
|
||||
<el-button-group>
|
||||
<el-button type="success" :disabled="isDisable" @click="selectBeginTime">按计划行车</el-button>
|
||||
<el-button type="danger" :disabled="!isDisable" @click="end">退出计划</el-button>
|
||||
<el-button type="primary" @click="back">返回</el-button>
|
||||
<el-button type="success" :disabled="isDisable" @click="selectBeginTime">{{$t('display.plan.drivingByPlan')}}</el-button>
|
||||
<el-button type="danger" :disabled="!isDisable" @click="end">{{$t('display.plan.exitPlan')}}</el-button>
|
||||
<el-button type="primary" @click="back">{{$t('display.plan.back')}}</el-button>
|
||||
</el-button-group>
|
||||
<set-time ref="setTime" @ConfirmSelectBeginTime="start" />
|
||||
</div>
|
||||
@ -74,7 +74,7 @@ export default {
|
||||
});
|
||||
}).catch(() => {
|
||||
this.isDisable = false;
|
||||
this.$messageBox('开始计划失败,请返回重试');
|
||||
this.$messageBox(this.$t('display.plan.startPlanFail'));
|
||||
});
|
||||
},
|
||||
end() {
|
||||
@ -88,7 +88,7 @@ export default {
|
||||
});
|
||||
}).catch(() => {
|
||||
this.isDisable = true;
|
||||
this.$messageBox('结束计划失败,请返回');
|
||||
this.$messageBox(this.$t('display.plan.endPlanFail'));
|
||||
});
|
||||
},
|
||||
async back() {
|
||||
|
@ -7,7 +7,7 @@
|
||||
<div class="draft-menu">
|
||||
<el-row>
|
||||
<el-col :span="4">
|
||||
<el-select v-model="speed" placeholder="请选择" @change="changeSpeed">
|
||||
<el-select v-model="speed" :placeholder="$t('display.replay.pleaseSelect')" @change="changeSpeed">
|
||||
<el-option
|
||||
v-for="item in optionsList"
|
||||
:key="item.value"
|
||||
@ -24,7 +24,7 @@
|
||||
<el-progress class="progress" :percentage="progress" style="width: 100%" :show-text="false" />
|
||||
</el-col>
|
||||
<el-col :span="2">
|
||||
<el-button type="primary" class="back" @click="back">返回</el-button>
|
||||
<el-button type="primary" class="back" @click="back">{{$t('display.replay.back')}}</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
@ -92,7 +92,7 @@ export default {
|
||||
'mapDeviceStatus'
|
||||
]),
|
||||
playName() {
|
||||
return this.isPlay ? '暂停' : '播放';
|
||||
return this.isPlay ? this.$t('display.replay.pause') : this.$t('display.replay.play');
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
@ -2,12 +2,11 @@
|
||||
<div>
|
||||
<div class="display-card" :style="{top: offset+'px'}">
|
||||
<el-row>
|
||||
<span v-if="countTime" class="display-score">试用时间:{{ countTime }}</span>
|
||||
<span v-if="countTime" class="display-score">{{$t('display.screen.trialTime')}} {{ countTime }}</span>
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getGoodsTryUse } from '@/api/management/goods';
|
||||
import { PermissionType } from '@/scripts/ConstDic';
|
||||
@ -77,7 +76,7 @@ export default {
|
||||
}, 1000);
|
||||
}
|
||||
} else {
|
||||
this.$messageBox(`获取时间失败`);
|
||||
this.$messageBox(this.$t('display.screen.getTimeFail'));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div v-if="isShowSystemTime" class="display-card" :style="{top: offset+'px', right: right+'px'}">
|
||||
<template v-if="pause">
|
||||
<span class="display-pause">暂停中</span>
|
||||
<span class="display-pause">{{$t('display.systemTime.timePause')}}</span>
|
||||
</template>
|
||||
<template v-else>
|
||||
<system-time
|
||||
|
@ -5,7 +5,8 @@
|
||||
<i v-show="isShrink" class="icon el-icon-minus" @click="shrink" />
|
||||
<i v-show="!isShrink" class="icon el-icon-plus" @click="shrink" />
|
||||
<p v-if="!isShrink" style="color: #fff;">
|
||||
<span class="time-label">考试计时:</span>
|
||||
<span class="time-label">{{$t('display.exam.examTime')}}</span>
|
||||
|
||||
<span class="time-elem">{{ formatRemainTime }}</span>
|
||||
</p>
|
||||
<p v-if="isShrink" style="color: #fff;">
|
||||
@ -33,35 +34,35 @@
|
||||
<div v-show="!detailShow" class="tip-body">
|
||||
<el-scrollbar wrap-class="scrollbar-wrapper">
|
||||
<p class="list-item">
|
||||
<span class="list-label">本题名称:</span>
|
||||
<span class="list-label">{{$t('display.exam.questionTitle')}}</span>
|
||||
<span class="list-elem">{{ courseModel.name }}</span>
|
||||
</p>
|
||||
<p class="list-item">
|
||||
<span class="list-label">最佳用时:</span>
|
||||
<span class="list-elem">{{ courseModel.minDuration }}秒 </span>
|
||||
<span class="list-label">{{$t('display.exam.bestTime')}}</span>
|
||||
<span class="list-elem">{{ courseModel.minDuration }} {{$t('display.seconds')}} </span>
|
||||
</p>
|
||||
<p class="list-item">
|
||||
<span class="list-label">最大用时:</span>
|
||||
<span class="list-elem">{{ courseModel.maxDuration }}秒 </span>
|
||||
<span class="list-label">{{$t('display.exam.maximumTime')}}</span>
|
||||
<span class="list-elem">{{ courseModel.maxDuration }} {{$t('display.seconds')}} </span>
|
||||
</p>
|
||||
<p class="list-item">
|
||||
<span class="list-label"> 实训说明:</span>
|
||||
<span class="list-label"> {{$t('display.exam.trainingInstructions')}}</span>
|
||||
<span class="list-elem">{{ courseModel.remarks }}</span>
|
||||
</p>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
<div class="tip-foot">
|
||||
<div v-show="!detailShow" class="foot-detail">
|
||||
<el-button class="btn" @click="backList">查看试题</el-button>
|
||||
<el-button v-if="!isFirst" class="btn" type="primary" @click="lastExam">上一题</el-button>
|
||||
<el-button v-if="!isLast" class="btn" type="primary" @click="nextExam">下一题</el-button>
|
||||
<el-button v-if="isLast" class="btn" type="primary" @click="overExam">提交试卷</el-button>
|
||||
<el-button class="btn" @click="backList">{{$t('display.exam.viewQuestions')}}</el-button>
|
||||
<el-button v-if="!isFirst" class="btn" type="primary" @click="lastExam">{{$t('display.exam.prev')}}</el-button>
|
||||
<el-button v-if="!isLast" class="btn" type="primary" @click="nextExam">{{$t('display.exam.next')}}</el-button>
|
||||
<el-button v-if="isLast" class="btn" type="primary" @click="overExam">{{$t('display.exam.submitExaminationPaper')}}</el-button>
|
||||
</div>
|
||||
<div v-show="detailShow" class="foot-submit">
|
||||
<el-button class="btn" type="primary" @click="overExam">提交试卷</el-button>
|
||||
<el-button class="btn" type="primary" @click="overExam">{{$t('display.exam.submitExaminationPaper')}}</el-button>
|
||||
</div>
|
||||
<p style="color: #000; float: left;">
|
||||
<span class="time-label">考试计时:</span>
|
||||
<span class="time-label">{{$t('display.exam.examTime')}}</span>
|
||||
<span class="time-elem">{{ formatRemainTime }}</span>
|
||||
</p>
|
||||
</div>
|
||||
@ -115,7 +116,7 @@ export default {
|
||||
},
|
||||
formatRemainTime() {
|
||||
if (this.remainTime < 0) {
|
||||
this.$message.success('考试结束自动提交');
|
||||
this.$message.success(this.$t('display.exam.autoSubmit'));
|
||||
this.submit();
|
||||
}
|
||||
|
||||
@ -157,7 +158,7 @@ export default {
|
||||
updateTime: res.data.updateTime
|
||||
};
|
||||
}).catch(error => {
|
||||
this.$message.error('获取试题息失败:' + error.message);
|
||||
this.$message.error(this.$t('display.exam.getTestInformation')+':' + error.message);
|
||||
});
|
||||
}
|
||||
|
||||
@ -192,7 +193,8 @@ export default {
|
||||
if (error.code === 500009) {
|
||||
this.$router.replace({ path: `/exam/result/${this.$route.params.userExamId}` });
|
||||
} else {
|
||||
this.$messageBox(`刷新列表失败`);
|
||||
this.$messageBox(this.$t('display.exam.refreshListError'));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@ -242,9 +244,9 @@ export default {
|
||||
if (isOver) {
|
||||
this.submit();
|
||||
} else {
|
||||
this.$confirm('考试未完成,是否确认退出?', '提示', {
|
||||
cancelButtonText: '取消',
|
||||
confirmButtonText: '确定',
|
||||
this.$confirm(this.$t('display.exam.cancleExam'), this.$t('global.tips'), {
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
type: 'warning',
|
||||
center: true
|
||||
}).then(() => {
|
||||
|
@ -12,19 +12,19 @@
|
||||
<div class="tip-body">
|
||||
<el-scrollbar wrap-class="scrollbar-wrapper">
|
||||
<p class="list-item">
|
||||
<span class="list-label">实训名称:</span>
|
||||
<span class="list-label">{{$t('display.training.trainingName')}}</span>
|
||||
<span class="list-elem">{{ courseModel.name }}</span>
|
||||
</p>
|
||||
<p class="list-item">
|
||||
<span class="list-label">最佳用时:</span>
|
||||
<span class="list-elem">{{ courseModel.minDuration }}秒 </span>
|
||||
<span class="list-label">{{$t('display.training.bestTime')}}</span>
|
||||
<span class="list-elem">{{ courseModel.minDuration }} {{$t('display.seconds')}} </span>
|
||||
</p>
|
||||
<p class="list-item">
|
||||
<span class="list-label">最大用时:</span>
|
||||
<span class="list-elem">{{ courseModel.maxDuration }}秒 </span>
|
||||
<span class="list-label">{{$t('display.training.maximumTime')}}</span>
|
||||
<span class="list-elem">{{ courseModel.maxDuration }} {{$t('display.seconds')}} </span>
|
||||
</p>
|
||||
<p class="list-item">
|
||||
<span class="list-label"> 实训说明:</span>
|
||||
<span class="list-label"> {{$t('display.training.trainingInstructions')}}</span>
|
||||
<span class="list-elem">{{ courseModel.remarks }}</span>
|
||||
</p>
|
||||
</el-scrollbar>
|
||||
@ -115,7 +115,7 @@ export default {
|
||||
getPublishLessonDetail({ id: obj.lessonId }).then(response => {
|
||||
this.lessonName = response.data.name;
|
||||
}).catch(error => {
|
||||
this.$message.error('获取课程信息失败:' + error.message);
|
||||
this.$message.error(this.$t('display.training.getCourseInformationFail')+':' + error.message);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -1,34 +1,34 @@
|
||||
<template>
|
||||
<div class="errPage-container">
|
||||
<el-button icon="arrow-left" class="pan-back-btn" @click="back">
|
||||
返回
|
||||
{{$t('global.back')}}
|
||||
</el-button>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<h1 class="text-jumbo text-ginormous">
|
||||
Oops!
|
||||
</h1>
|
||||
gif来源<a href="https://zh.airbnb.com/" target="_blank">airbnb</a> 页面
|
||||
<h2>你没有权限去该页面</h2>
|
||||
<h6>如有不满请联系你领导</h6>
|
||||
{{$t('error.gifSource')}}<a href="https://zh.airbnb.com/" target="_blank">airbnb</a> {{$t('error.page')}}
|
||||
<h2>{{$t('error.noPermissionToGoToThisPage')}}</h2>
|
||||
<h6>{{$t('error.dissatisfied')}}</h6>
|
||||
<ul class="list-unstyled">
|
||||
<li>或者你可以去:</li>
|
||||
<li>{{$t('error.orYouCanGo')}}</li>
|
||||
<li class="link-type">
|
||||
<router-link to="/dashboard">
|
||||
回首页
|
||||
{{$t('error.backToHome')}}
|
||||
</router-link>
|
||||
</li>
|
||||
<li class="link-type">
|
||||
<a href="https://www.taobao.com/">随便看看</a>
|
||||
<a href="https://www.taobao.com/">{{$t('error.justLookingAround')}}</a>
|
||||
</li>
|
||||
<li><a href="#" @click.prevent="dialogVisible=true">点我看图</a></li>
|
||||
<li><a href="#" @click.prevent="dialogVisible=true">{{$t('error.pointMeToSeeThePicture')}}</a></li>
|
||||
</ul>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<img :src="errGif" width="313" height="428" alt="Girl has dropped her ice cream.">
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-dialog :visible.sync="dialogVisible" title="随便看">
|
||||
<el-dialog :visible.sync="dialogVisible" :title="this.$t('error.casualLook')">
|
||||
<img :src="ewizardClap" class="pan-img">
|
||||
</el-dialog>
|
||||
</div>
|
||||
|
@ -3,14 +3,14 @@
|
||||
<div class="jalmap3ddiv">
|
||||
|
||||
<div class="trainstatus">
|
||||
车组号:{{ trainnum }} {{ stoptimes }}
|
||||
{{$t('jlmap3d.trainGroupNumber')}}{{ trainnum }} {{ stoptimes }}
|
||||
</div>
|
||||
<div class="display-draft">
|
||||
<el-button-group>
|
||||
<!-- <el-button type="primary" @click="raystand">站台选择</el-button> -->
|
||||
<el-button type="primary" @click="cctvplane">{{ cctvbuttonmsg }}</el-button>
|
||||
<el-button type="primary" @click="showplane">{{ showbuttonmsg }}</el-button>
|
||||
<el-button type="primary" @click="back">返回</el-button>
|
||||
<el-button type="primary" @click="back">{{$t('global.back')}}</el-button>
|
||||
</el-button-group>
|
||||
</div>
|
||||
|
||||
@ -72,9 +72,9 @@ export default {
|
||||
jlmap3d: null,
|
||||
selectmodel: null,
|
||||
cctvshow:true,
|
||||
cctvbuttonmsg: '车内监控——隐藏',
|
||||
cctvbuttonmsg: this.$t('jlmap3d.surveillanceHidden'),
|
||||
mmishow: false,
|
||||
showbuttonmsg: '列车仪表——显示',
|
||||
showbuttonmsg: this.$t('jlmap3d.trainInstrumentationDisplay'),
|
||||
trainnum: '',
|
||||
stoptimes: ''
|
||||
};
|
||||
@ -210,21 +210,21 @@ export default {
|
||||
},
|
||||
showplane() {
|
||||
if (this.mmishow == true) {
|
||||
this.showbuttonmsg = '列车仪表——隐藏';
|
||||
this.showbuttonmsg = this.$t('jlmap3d.trainInstrumentationHidden');
|
||||
this.mmishow = false;
|
||||
} else {
|
||||
this.showbuttonmsg = '列车仪表——显示';
|
||||
this.showbuttonmsg = this.$t('jlmap3d.trainInstrumentationDisplay');
|
||||
this.mmishow = true;
|
||||
}
|
||||
|
||||
},
|
||||
cctvplane() {
|
||||
if (this.cctvshow == true) {
|
||||
this.cctvbuttonmsg = '车内监控——隐藏';
|
||||
this.cctvbuttonmsg = this.$t('jlmap3d.surveillanceHidden');
|
||||
this.cctvshow = false;
|
||||
this.jlmap3d.cctvoff();
|
||||
} else {
|
||||
this.cctvbuttonmsg = '车内监控——显示';
|
||||
this.cctvbuttonmsg = this.$t('jlmap3d.surveillanceDisplay');
|
||||
this.cctvshow = true;
|
||||
this.jlmap3d.cctvon();
|
||||
}
|
||||
|
@ -10,11 +10,11 @@
|
||||
</div>
|
||||
|
||||
<div class="toptext" style="left:16%;top:15px;">
|
||||
终点站:
|
||||
{{$t('jlmap3d.terminal')}}
|
||||
</div>
|
||||
|
||||
<div class="toptext" style="left:46%;top:15px;">
|
||||
下一站:
|
||||
{{$t('jlmap3d.nextStation')}}
|
||||
</div>
|
||||
|
||||
<div class="toptext" style="left:76%;top:15px;">
|
||||
@ -58,7 +58,7 @@
|
||||
</div>
|
||||
|
||||
<div class = "righttext" style="left:0px;bottom:0;">
|
||||
请确认前方信号开放
|
||||
{{$t('jlmap3d.confirmSignalOpen')}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -75,7 +75,7 @@
|
||||
</div>
|
||||
|
||||
<div class="errortext">
|
||||
故障信息:
|
||||
{{$t('jlmap3d.faultInformation')}}
|
||||
</div>
|
||||
|
||||
<div id="time" class="timetext">
|
||||
@ -186,7 +186,7 @@ export default {
|
||||
},
|
||||
time(){
|
||||
let vWeek,vWeek_s,vDay;
|
||||
vWeek = ["星期天","星期一","星期二","星期三","星期四","星期五","星期六"];
|
||||
vWeek = this.$t('jlmap3d.vWeek');
|
||||
let date = new Date();
|
||||
let year = date.getFullYear();
|
||||
let month = date.getMonth() + 1;
|
||||
|
@ -66,42 +66,42 @@ export default {
|
||||
treeData: [ // 角色列表 顺序定死
|
||||
{
|
||||
children: [],
|
||||
name: '管理员',
|
||||
name: this.$t('joinTraining.admin'),
|
||||
nodeId: 'admin01',
|
||||
type: 'select',
|
||||
show: false
|
||||
},
|
||||
{
|
||||
children: [],
|
||||
name: '教员',
|
||||
name: this.$t('joinTraining.teacher'),
|
||||
nodeId: 'admin02',
|
||||
type: 'select',
|
||||
show: false
|
||||
},
|
||||
{
|
||||
children: [],
|
||||
name: '调度员',
|
||||
name: this.$t('joinTraining.dispatcher'),
|
||||
nodeId: 'admin03',
|
||||
type: 'select',
|
||||
show: false
|
||||
},
|
||||
{
|
||||
children: [],
|
||||
name: '车站值班员',
|
||||
name: this.$t('joinTraining.stationAttendant'),
|
||||
nodeId: 'admin04',
|
||||
type: 'select',
|
||||
show: false
|
||||
},
|
||||
{
|
||||
children: [],
|
||||
name: '列车',
|
||||
name: this.$t('joinTraining.driver'),
|
||||
nodeId: 'admin05',
|
||||
type: 'select',
|
||||
show: false
|
||||
},
|
||||
{
|
||||
children: [],
|
||||
name: '通号',
|
||||
name: this.$t('joinTraining.universalAccount'),
|
||||
nodeId: 'admin06',
|
||||
type: 'select',
|
||||
show: false
|
||||
|
@ -43,10 +43,10 @@
|
||||
@mousedown="startRecording()"
|
||||
@mouseup="stopRecording()"
|
||||
>{{ speak }}</div>
|
||||
<div v-show="sending" class="sendBtn zIndex2" :style="{background: background}">发送中...</div>
|
||||
<div v-show="sending" class="sendBtn zIndex2" :style="{background: background}">{{$t('joinTraining.sending')}}</div>
|
||||
</div>
|
||||
<div v-if="isShowAuto" class="switch-box">
|
||||
<span style="font-size: 12px;">自动播放</span>
|
||||
<span style="font-size: 12px;">{{$t('joinTraining.autoplay')}}</span>
|
||||
<el-switch v-model="isAutoPlay" active-color="#13ce66" inactive-color="#d6d6d6" />
|
||||
</div>
|
||||
</div>
|
||||
@ -97,7 +97,7 @@ export default {
|
||||
label: '',
|
||||
message: {},
|
||||
sending: false,
|
||||
speak: '按住说话',
|
||||
speak: this.$t('joinTraining.holdAndTalk'),
|
||||
targetId: '',
|
||||
conversationId: '',
|
||||
allConversationId: '', // 所有人会话id
|
||||
@ -183,7 +183,7 @@ export default {
|
||||
startRecording() {
|
||||
if (this.speaking && this.conversationId) {
|
||||
this.background = '#ccc';
|
||||
this.speak = '录音中...';
|
||||
this.speak = this.$t('joinTraining.recording');
|
||||
this.sending = false;
|
||||
this.speakOf = true;
|
||||
HZRecorder.init.get(rec => {
|
||||
@ -192,7 +192,7 @@ export default {
|
||||
this.recorders.start();
|
||||
} else {
|
||||
this.background = '';
|
||||
this.speak = '按住说话';
|
||||
this.speak = this.$t('joinTraining.holdAndTalk');
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -201,7 +201,7 @@ export default {
|
||||
async stopRecording() {
|
||||
if (this.speaking && this.conversationId) {
|
||||
this.background = '';
|
||||
this.speak = '按住说话';
|
||||
this.speak = this.$t('joinTraining.holdAndTalk');
|
||||
this.sending = true;
|
||||
if (this.recorders) {
|
||||
this.recorders.stop();
|
||||
@ -220,25 +220,25 @@ export default {
|
||||
if (message.err_no == 3301) {
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: '音频质量有问题',
|
||||
message: this.$t('error.problemWithAudioQuality'),
|
||||
type: 'error'
|
||||
});
|
||||
} else if (message.err_no == 3308) {
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: '音频过长,建议60s以下',
|
||||
message: this.$t('error.audioIsTooLong'),
|
||||
type: 'error'
|
||||
});
|
||||
} else if (message.err_no == 3314) {
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: '音频太短,建议重录',
|
||||
message: this.$t('error.audioIsTooShort'),
|
||||
type: 'error'
|
||||
});
|
||||
} else {
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: '网络问题,请重试',
|
||||
message: this.$t('error.networkProblem'),
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
@ -249,7 +249,7 @@ export default {
|
||||
this.speakOf = false;
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: '音频太短,建议重录',
|
||||
message: this.$t('error.audioIsTooShort'),
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
|
@ -16,7 +16,6 @@
|
||||
@runPlanViewShow="runPlanViewShow"
|
||||
@faultChooseShow="faultChooseShow"
|
||||
/>
|
||||
IBP
|
||||
<join-fault-choose ref="faultChoose" :group="group" />
|
||||
<join-run-plan-Load ref="runPlanLoad" :group="group" />
|
||||
<join-run-plan-view ref="runPlanView" :group="group" />
|
||||
@ -114,8 +113,8 @@ export default {
|
||||
this.mapBox = document.getElementsByTagName('canvas');
|
||||
},
|
||||
'$store.state.socket.permissionOver': function () {
|
||||
this.$alert('用户权限已被收回', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
this.$alert(this.$t('tip.userRightsHaveBeenReclaimed'), this.$t('tip.hint'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
showClose: false,
|
||||
callback: async (action) => {
|
||||
await this.$store.dispatch('training/over');
|
||||
@ -133,7 +132,7 @@ export default {
|
||||
'$store.state.socket.chatContentList': function (val) { // 综合演练被踢出房间
|
||||
if (val.type === 'userRoomKickOut'&&val.oneself) {
|
||||
this.$router.push({ path: `/` });
|
||||
this.messageInfo('您被管理员踢出房间。', 'warning');
|
||||
this.messageInfo(this.$t('tip.beKickedOut'), 'warning');
|
||||
}
|
||||
},
|
||||
'$store.state.app.windowSizeCount': function() {
|
||||
@ -266,7 +265,7 @@ export default {
|
||||
this.checkLoginLineTimer();
|
||||
this.checkMouseStatusTimer();
|
||||
} catch (error) {
|
||||
this.$messageBox(`初始化失败: ${error.message}`);
|
||||
this.$messageBox( this.$t('error.initializationFailed') + error.message);
|
||||
this.endViewLoading();
|
||||
}
|
||||
},
|
||||
@ -316,7 +315,7 @@ export default {
|
||||
await loadMapData(skinCode);
|
||||
await this.$store.dispatch('training/setMapDefaultState');
|
||||
} catch (error) {
|
||||
this.$messageBox(`获取地图数据失败`);
|
||||
this.$messageBox(this.$t('error.getMapDataFailed'));
|
||||
this.endViewLoading();
|
||||
}
|
||||
},
|
||||
@ -339,7 +338,7 @@ export default {
|
||||
},
|
||||
showIbp(deviceCode) {
|
||||
if (!deviceCode || !ibpData[deviceCode]){
|
||||
this.$messageBox(`未绑定车站或该车站IBP盘暂未绘制!`);
|
||||
this.$messageBox(this.$t('error.ibpNoDraw'));
|
||||
return;
|
||||
}
|
||||
this.drivingShow = false;
|
||||
|
@ -2,13 +2,13 @@
|
||||
<div>
|
||||
<div class="display-draft">
|
||||
<el-button-group>
|
||||
<el-button v-if="isIBP" type="warning" @click="jumpIbp">IBP盘</el-button>
|
||||
<el-button v-if="isDriver" type="jumpjlmap3d" @click="jumpjlmap3d">司机视角</el-button>
|
||||
<el-button v-if="isIBP" type="warning" @click="jumpIbp">{{$t('joinTraining.iBPDisk')}}</el-button>
|
||||
<el-button v-if="isDriver" type="jumpjlmap3d" @click="jumpjlmap3d">{{$t('joinTraining.driverPerspective')}}</el-button>
|
||||
<template v-if="isAdmin">
|
||||
<el-button type="success" :disabled="isDisable" @click="selectBeginTime">按计划行车</el-button>
|
||||
<el-button type="danger" :disabled="!isDisable" @click="end">退出计划</el-button>
|
||||
<el-button type="success" :disabled="isDisable" @click="selectBeginTime">{{$t('joinTraining.drivingByPlan')}}</el-button>
|
||||
<el-button type="danger" :disabled="!isDisable" @click="end">{{$t('joinTraining.exitPlan')}}</el-button>
|
||||
</template>
|
||||
<el-button v-if="!isBigScreen" type="primary" @click="back">返回</el-button>
|
||||
<el-button v-if="!isBigScreen" type="primary" @click="back">{{$t('global.back')}}</el-button>
|
||||
</el-button-group>
|
||||
</div>
|
||||
<qr-code ref="qrCode" />
|
||||
@ -286,7 +286,7 @@ export default {
|
||||
});
|
||||
}).catch(() => {
|
||||
this.isDisable = false;
|
||||
this.$messageBox('开始仿真失败,请返回重试');
|
||||
this.$messageBox(this.$t('error.startSimulationFailed'));
|
||||
});
|
||||
},
|
||||
end() {
|
||||
@ -295,7 +295,7 @@ export default {
|
||||
runDiagramOver(this.group).catch(() => {
|
||||
this.$store.dispatch('training/over').then(() => {
|
||||
this.isDisable = true;
|
||||
this.$messageBox('结束仿真失败,请返回');
|
||||
this.$messageBox(this.$t('error.endSimulationFailed'));
|
||||
});
|
||||
});
|
||||
},
|
||||
|
@ -16,10 +16,10 @@
|
||||
<el-radio v-model="selected" :label="item"><span>{{ item.name }}</span></el-radio>
|
||||
</li>
|
||||
</ul>
|
||||
<span v-else class="tipLable"> 暂无数据 </span>
|
||||
<span v-else class="tipLable"> {{$t('global.temporarilyNoData')}} </span>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="doClose">取 消</el-button>
|
||||
<el-button type="primary" :loading="loading" @click="commit">确 定</el-button>
|
||||
<el-button @click="doClose">{{$t('global.cancel')}}</el-button>
|
||||
<el-button type="primary" :loading="loading" @click="commit">{{$t('global.confirm')}}</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
@ -44,11 +44,11 @@ export default {
|
||||
menuShow: false,
|
||||
menu: [
|
||||
{
|
||||
label: '设置司机',
|
||||
label: this.$t('joinTraining.chooseDriver'),
|
||||
handler: this.chooseDriver
|
||||
},
|
||||
{
|
||||
label: '取消司机',
|
||||
label: this.$t('joinTraining.cancelDriver'),
|
||||
handler: this.cancelDriver
|
||||
}
|
||||
]
|
||||
@ -98,7 +98,7 @@ export default {
|
||||
return ret;
|
||||
});
|
||||
|
||||
this.$refs.chooseRole.doShow({ title: '设置列车', list: list });
|
||||
this.$refs.chooseRole.doShow({ title: this.$t('joinTraining.chooseDriver'), list: list });
|
||||
},
|
||||
async setDriver(obj) {
|
||||
if (obj && this.selected) {
|
||||
|
@ -4,7 +4,7 @@
|
||||
v-if="userRole == 'Instructor' || userRole == 'Admin'"
|
||||
v-model="swch"
|
||||
size="small"
|
||||
placeholder="请选择产品类型"
|
||||
:placeholder="this.$t('rules.productTypeInput')"
|
||||
@change="switchMode"
|
||||
>
|
||||
<el-option v-for="item in swchList" :key="item.value" :label="item.name" :value="item.value" />
|
||||
@ -12,14 +12,14 @@
|
||||
|
||||
<el-button-group>
|
||||
<template>
|
||||
<el-button v-if="runing" size="small" :disabled="viewDisabled" @click="viewRunPlan">运行图预览</el-button>
|
||||
<el-button v-if="runing" size="small" :disabled="viewDisabled" @click="viewRunPlan">{{$t('joinTraining.runGraphPreview')}}</el-button>
|
||||
</template>
|
||||
<template v-if="userRole == 'Admin'">
|
||||
<el-button v-if="!runing" size="small" type="warning" :disabled="viewDisabled" @click="loadRunPlan">
|
||||
运行图加载</el-button>
|
||||
{{$t('joinTraining.runGraphLoading')}}</el-button>
|
||||
</template>
|
||||
<template v-if="userRole == 'Instructor' || userRole == 'Admin'">
|
||||
<el-button v-if="mode==OperateMode.FAULT" size="small" type="danger" @click="setFault">故障设置</el-button>
|
||||
<el-button v-if="mode==OperateMode.FAULT" size="small" type="danger" @click="setFault">{{$t('joinTraining.faultSetting')}}</el-button>
|
||||
</template>
|
||||
</el-button-group>
|
||||
|
||||
@ -29,8 +29,8 @@
|
||||
size="small"
|
||||
@change="changeOperateMode(mode)"
|
||||
>
|
||||
<el-radio-button class="mode" :label="OperateMode.NORMAL">正常操作</el-radio-button>
|
||||
<el-radio-button class="mode" :label="OperateMode.FAULT">故障操作</el-radio-button>
|
||||
<el-radio-button class="mode" :label="OperateMode.NORMAL">{{$t('joinTraining.normalOperation')}}</el-radio-button>
|
||||
<el-radio-button class="mode" :label="OperateMode.FAULT">{{$t('joinTraining.faultOperation')}}</el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</template>
|
||||
@ -67,8 +67,8 @@ export default {
|
||||
runPlanData: {},
|
||||
swch: '02',
|
||||
swchList: [
|
||||
{ value: '01', name: '现地' },
|
||||
{ value: '02', name: '行调' }
|
||||
{ value: '01', name: this.$t('joinTraining.local') },
|
||||
{ value: '02', name: this.$t('joinTraining.lineAdjustment') }
|
||||
],
|
||||
runing: false,
|
||||
userId: ''
|
||||
@ -113,14 +113,14 @@ export default {
|
||||
}).catch(error => {
|
||||
this.$store.dispatch('runPlan/setPlanData', []);
|
||||
if (error.code == 30001) {
|
||||
this.$messageBox(`今日运行图未加载`);
|
||||
this.$messageBox(this.$t('error.runGraphIsNotLoaded'));
|
||||
} else {
|
||||
this.$messageBox(`获取运行图数据失败`);
|
||||
this.$messageBox(this.$t('error.obtainOperationGraphFailed'));
|
||||
}
|
||||
});
|
||||
});
|
||||
}).catch(() => {
|
||||
this.$messageBox(`获取车站列表失败`);
|
||||
this.$messageBox(this.$t('error.obtainStationListFailed'));
|
||||
});
|
||||
}
|
||||
});
|
||||
|
@ -27,15 +27,15 @@
|
||||
dicId: '',
|
||||
dic: {},
|
||||
deviceList: [
|
||||
{ label: '菜单', value: 'bar' },
|
||||
{ label: '道岔', value: '02' },
|
||||
{ label: '区段', value: '03' },
|
||||
{ label: '信号机', value: '04' },
|
||||
{ label: '控制模式', value: '05' },
|
||||
{ label: '站台', value: '06' },
|
||||
{ label: '列车', value: '07' },
|
||||
{ label: '车站', value: '08' },
|
||||
{ label: '车次窗', value: '09' }
|
||||
{ label: this.$t('lesson.menu'), value: 'bar' },
|
||||
{ label: this.$t('lesson.turnout'), value: '02' },
|
||||
{ label: this.$t('lesson.section'), value: '03' },
|
||||
{ label: this.$t('lesson.signaler'), value: '04' },
|
||||
{ label: this.$t('lesson.controlMode'), value: '05' },
|
||||
{ label: this.$t('lesson.platform'), value: '06' },
|
||||
{ label: this.$t('lesson.train'), value: '07' },
|
||||
{ label: this.$t('lesson.station'), value: '08' },
|
||||
{ label: this.$t('lesson.trainWindow'), value: '09' }
|
||||
],
|
||||
pagerConfig: {
|
||||
pageSize: 'pageSize',
|
||||
@ -169,4 +169,4 @@
|
||||
text-align: center;
|
||||
margin: 20px auto;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
@ -43,7 +43,7 @@ export default {
|
||||
width: '250',
|
||||
buttons: [
|
||||
{
|
||||
name: '删除',
|
||||
name: this.$t('global.delete'),
|
||||
handleClick: this.handledelete,
|
||||
type: 'danger'
|
||||
}
|
||||
@ -59,16 +59,16 @@ export default {
|
||||
methods: {
|
||||
// 删除
|
||||
handledelete(index, row) {
|
||||
this.$confirm('此操作将删除该列表, 是否继续?', this.$t('global.tips'), {
|
||||
this.$confirm( this.$t('tip.deleteListHint'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
delCacheList(row.key).then(response => {
|
||||
this.$message.success('删除成功');
|
||||
this.$message.success(this.$t('tip.successfullyDelete'));
|
||||
this.reloadTable();
|
||||
}).catch(() => {
|
||||
this.$messageBox('删除失败');
|
||||
this.$messageBox(this.$t('tip.failDelete'));
|
||||
});
|
||||
});
|
||||
},
|
||||
|
@ -1,15 +1,15 @@
|
||||
<template>
|
||||
<el-dialog :title="'订阅地图'" :visible.sync="dialogVisible" width="30%" :before-close="doClose" center :close-on-click-modal="false">
|
||||
<el-dialog :title="this.$t('system.subscribeMap')" :visible.sync="dialogVisible" width="30%" :before-close="doClose" center :close-on-click-modal="false">
|
||||
<el-form ref="form" v-model="formModel" label-width="120px">
|
||||
<el-form-item label="订阅地图列表:" prop="mapIdList">
|
||||
<el-select v-model="formModel.mapIdList" clearable multiple placeholder="请输入关键词" style="width: 80%">
|
||||
<el-form-item :label="this.$t('system.subscribeToTheMapList')" prop="mapIdList">
|
||||
<el-select v-model="formModel.mapIdList" clearable multiple :placeholder="this.$t('rules.enterKeyword')" style="width: 80%">
|
||||
<el-option v-for="item in mapList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="handleCorrelation">确 定</el-button>
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="handleCorrelation">{{$t('global.confirm')}}</el-button>
|
||||
<el-button @click="dialogVisible = false">{{$t('global.cancel')}}</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
@ -72,10 +72,10 @@ export default {
|
||||
});
|
||||
}
|
||||
saveUserSubscribe(model).then(response => {
|
||||
this.$message.success('设置订阅地图成功!');
|
||||
this.$message.success(this.$t('tip.setUpASubscriptionMapSuccessfully'));
|
||||
this.doClose();
|
||||
}).catch(() => {
|
||||
this.$message.success('设置订阅地图失败!');
|
||||
this.$message.success(this.$t('tip.setUpASubscriptionMapFailed'));
|
||||
this.doClose();
|
||||
});
|
||||
}
|
||||
|
@ -2,8 +2,8 @@
|
||||
<el-dialog :title="title" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center :close-on-click-modal="false">
|
||||
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="doSave">确 定</el-button>
|
||||
<el-button @click="handleClose">取 消</el-button>
|
||||
<el-button type="primary" @click="doSave">{{$t('global.confirm')}}</el-button>
|
||||
<el-button @click="handleClose">{{$t('global.cancel')}}</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
@ -37,10 +37,10 @@ export default {
|
||||
const form = {
|
||||
labelWidth: '100px',
|
||||
items: [
|
||||
{ prop: 'mapName', label: '地图名称', type: 'text', required: false, disabled: true },
|
||||
{ prop: 'mapPrdName', label: '产品名称', type: 'text', required: false, disabled: true },
|
||||
{ prop: 'userName', label: '用户名称', type: 'text', required: false, disabled: true },
|
||||
{ prop: 'duration', label: '实训时长', type: 'text', rightWidth: true, required: true, message: 's' }
|
||||
{ prop: 'mapName', label: this.$t('system.mapName'), type: 'text', required: false, disabled: true },
|
||||
{ prop: 'mapPrdName', label: this.$t('system.productName'), type: 'text', required: false, disabled: true },
|
||||
{ prop: 'userName', label: this.$t('system.userName'), type: 'text', required: false, disabled: true },
|
||||
{ prop: 'duration', label: this.$t('system.trainingTime'), type: 'text', rightWidth: true, required: true, message: 's' }
|
||||
]
|
||||
};
|
||||
return form;
|
||||
@ -48,13 +48,13 @@ export default {
|
||||
rules() {
|
||||
const crules = {
|
||||
period: [
|
||||
{ required: true, message: '请输入时长', trigger: 'blur' }
|
||||
{ required: true, message: this.$t('rules.timeInput'), trigger: 'blur' }
|
||||
]
|
||||
};
|
||||
return crules;
|
||||
},
|
||||
title() {
|
||||
return '编辑仿真详情';
|
||||
return this.$t('system.editSimulationDetails');
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@ -84,11 +84,11 @@ export default {
|
||||
duration: this.formModel.duration
|
||||
};
|
||||
putSimulationStats(parma).then(response => {
|
||||
self.$message.success('修改成功!');
|
||||
self.$message.success(this.$t('rules.successfullyModified'));
|
||||
self.handleClose();
|
||||
self.$emit('reloadTable');
|
||||
}).catch(error => {
|
||||
self.$message.error('修改失败!' + error.message);
|
||||
self.$message.error(this.$t('rules.modifyTheFailure') + error.message);
|
||||
});
|
||||
},
|
||||
handleClose(done) {
|
||||
|
@ -134,7 +134,7 @@ export default {
|
||||
if (this.formModel.lessonId) {
|
||||
this.$refs.addTraining.show(this.formModel.lessonId);
|
||||
} else {
|
||||
this.$message.error('请先选择课程名称');
|
||||
this.$message.error(this.$t('rules.selectTheCourseNameFirst'));
|
||||
}
|
||||
},
|
||||
show(data) {
|
||||
|
@ -82,8 +82,8 @@ export default {
|
||||
await this.$store.dispatch('socket/setSimulationError');
|
||||
await this.$store.dispatch('training/setMapDefaultState');
|
||||
this.clearSubscribe();
|
||||
this.$confirm('获取地图状态数据异常,请刷新页面重新加载。若多次遇到此类问题,请急时联系开发团队处理!', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
this.$confirm(this.$t('tip.getMapStateDataException'), this.$t('tip.hint'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
showCancelButton: false,
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
|
@ -42,8 +42,8 @@ export default {
|
||||
mapId: '',
|
||||
PermissionTypeList: [],
|
||||
ruleLists: [
|
||||
{ value: true, label: '是' },
|
||||
{ value: false, label: '否' }
|
||||
{ value: true, label: this.$t('global.yes') },
|
||||
{ value: false, label: this.$t('global.no') }
|
||||
],
|
||||
show: false,
|
||||
param: '',
|
||||
@ -57,7 +57,7 @@ export default {
|
||||
queryObject: {
|
||||
'name': {
|
||||
type: 'text',
|
||||
label: '权限名称'
|
||||
label: this.$t('orderAuthor.permissionName')
|
||||
},
|
||||
'type': {
|
||||
type: 'select',
|
||||
@ -74,11 +74,11 @@ export default {
|
||||
indexShow: true,
|
||||
columns: [
|
||||
{
|
||||
title: '权限名称',
|
||||
title: this.$t('orderAuthor.permissionName'),
|
||||
prop: 'name'
|
||||
},
|
||||
{
|
||||
title: '是否包权限',
|
||||
title: this.$t('orderAuthor.isPackage'),
|
||||
prop: 'isPackage',
|
||||
type: 'tag',
|
||||
columnValue: (row) => { return this.$convertField(row.isPackage, this.ruleLists, ['value', 'label']); },
|
||||
@ -92,11 +92,11 @@ export default {
|
||||
tagType: (row) => { return ''; }
|
||||
},
|
||||
{
|
||||
title: '创建时间',
|
||||
title: this.$t('orderAuthor.creationTime'),
|
||||
prop: 'createTime'
|
||||
},
|
||||
{
|
||||
title: '创建者',
|
||||
title: this.$t('orderAuthor.founder'),
|
||||
prop: 'creatorUserName'
|
||||
},
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog title="修改权限内容" :visible.sync="dialogShow" width="30%" :before-close="handleClose" :z-index="2000">
|
||||
<el-dialog :title="this.$t('orderAuthor.modifyPermissionContent')" :visible.sync="dialogShow" width="30%" :before-close="handleClose" :z-index="2000">
|
||||
<div>
|
||||
<el-form
|
||||
ref="form"
|
||||
@ -14,7 +14,7 @@
|
||||
<el-form-item :label="$t('map.mapName')" prop="name">
|
||||
<el-input v-model="editModel.name" />
|
||||
</el-form-item>
|
||||
<el-form-item label="描述" prop="remarks">
|
||||
<el-form-item :label="this.$t('orderAuthor.describtion')" prop="remarks">
|
||||
<el-input
|
||||
v-model="editModel.remarks"
|
||||
type="textarea"
|
||||
|
@ -48,9 +48,9 @@ export default {
|
||||
labelWidth: '100px',
|
||||
reset: true,
|
||||
queryObject: {
|
||||
'permissionType': {
|
||||
type: 'select',
|
||||
label: this.$t('orderAuthor.permissionType'),
|
||||
'permissionName': {
|
||||
type: 'text',
|
||||
label: this.$t('orderAuthor.permissionName'),
|
||||
config: {
|
||||
data: []
|
||||
}
|
||||
|
@ -175,7 +175,7 @@ export default {
|
||||
name: this.$t('orderAuthor.recovery'),
|
||||
handleClick: this.handleRestore,
|
||||
type: 'danger',
|
||||
showControl: (row) => { return row.status == '1' && row.source == '03' || row.source == '04' || row.source =='05'; }
|
||||
showControl: (row) => { return row.status == '1' && (row.source == '03' || row.source == '04' || row.source =='05'); }
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -28,7 +28,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="mapProductCode" :label="$t('permission.mapProductName')" width="100">
|
||||
<template slot-scope="scope">
|
||||
{{ computedName(mapProductList, scope.row.mapProductCode) }}
|
||||
{{ computedName(mapProductList, scope.row.prdCode) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="lessonId" :label="$t('permission.lessonName')">
|
||||
@ -203,7 +203,7 @@ export default {
|
||||
const index = this.ruleList.findIndex(elem => {
|
||||
return item.mapId == elem.mapId &&
|
||||
item.lessonId == elem.lessonId &&
|
||||
item.mapProductCode == elem.mapProductCode &&
|
||||
item.prdCode == elem.prdCode &&
|
||||
item.permissionType == elem.permissionType;
|
||||
});
|
||||
getPublishMapInfo(item.mapId).then(resp => {
|
||||
|
@ -148,9 +148,9 @@ export default {
|
||||
dumpScenesData() {
|
||||
this.clearAutoSave();
|
||||
const group=this.group;
|
||||
this.$confirm(this.$t('scriptRecord.clearDataTip'), this.$t('scriptRecord.operateTip'), {
|
||||
confirmButtonText: this.$t('scriptRecord.confirmButtonText'),
|
||||
cancelButtonText: this.$t('scriptRecord.cancelButtonText'),
|
||||
this.$confirm(this.$t('scriptRecord.clearDataTip'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
dumpScriptData(group).then(resp => {
|
||||
|
Loading…
Reference in New Issue
Block a user