diff --git a/src/api/simulation.js b/src/api/simulation.js index 5f334e718..60e1053b1 100644 --- a/src/api/simulation.js +++ b/src/api/simulation.js @@ -209,6 +209,40 @@ export function getScriptMemberData(group) { }); } +/** 获取剧本出演成员角色 */ +export function getScriptPlayMember(group) { + return request({ + url: `/api/simulation/${group}/scriptWrite/players`, + method: 'get' + }); +} + +/** 取消剧本演出成员角色 */ +export function cancleScriptMembers(group, data) { + return request({ + url: `/api/simulation/${group}/scriptWrite/removePlayers`, + method: 'put', + data + }); +} + +/** 选择剧本演出成员角色 */ +export function selectScriptMembers(group, data) { + return request({ + url: `/api/simulation/${group}/scriptWrite/choosePlayers`, + method: 'put', + data + }); +} + +/** 修改剧本演出成员性别 */ +export function modifyScriptMemberSex(group, playerId, data) { + return request({ + url: `/api/simulation/${group}/scriptWrite/player/${playerId}?gender=${data.gender}`, + method: 'put', + }); +} + /** 清除仿真剧本数据*/ export function dumpScriptData(group) { return request({ diff --git a/src/i18n/langs/en/error.js b/src/i18n/langs/en/error.js index bd0b865b3..60dc29868 100644 --- a/src/i18n/langs/en/error.js +++ b/src/i18n/langs/en/error.js @@ -58,5 +58,10 @@ export default { updateOperateStepFailed: 'The update action step failed', packagePermissionFailed: 'Packaging authority failed', acquisitionTimeFailed: 'Acquisition Time Failed', - getProductListFailed: 'Failed to get product list' + getProductListFailed: 'Failed to get product list', + obtainChapterDataFailed: 'Failed to obtain chapter data', + obtainCourseDetailsFailed: 'Failed to obtain course details', + obtainCourseInformationFailed: 'Failed to obtain course information', + obtainStepDataFailed: 'Failed to obtain step data' + }; diff --git a/src/i18n/langs/en/exam.js b/src/i18n/langs/en/exam.js new file mode 100644 index 000000000..25ab7fd41 --- /dev/null +++ b/src/i18n/langs/en/exam.js @@ -0,0 +1,16 @@ +export default { + testSystem: '城市轨道交通考试系统', + testSystemDescription: ' 该系统具有自定义考试规则、自动生成考卷、学员成绩统计、数据曲线分析及题库管理等功能,从实战操作、业务流程、故障模拟及考试规则等多角度出发,力求打造最符合用户需求的城市轨道交通在线交互实操类考试系统', + examResultsDetails: '考试结果详情', + testQuestionsName: '试题名称', + testScores: '考试得分', + points: '分', + whetherThrough: '是否通过', + didNotCalculate: '未计算', + pass: '通过', + notPass: '未通过', + examTime: '考试用时', + trainingName: '实训名称', + trainingScore: '实训得分', + returnToExamList: '返回考试列表' +}; diff --git a/src/i18n/langs/en/global.js b/src/i18n/langs/en/global.js index 1af1e371c..4d05b0fd4 100644 --- a/src/i18n/langs/en/global.js +++ b/src/i18n/langs/en/global.js @@ -103,5 +103,8 @@ export default { mapList: 'Map list', updateTime: 'Update time:', line: 'Line:', - permissionList: 'Permissions list:' + permissionList: 'Permissions list:', + remove: 'remove', + append: 'append', + release: 'release' }; diff --git a/src/i18n/langs/en/index.js b/src/i18n/langs/en/index.js index 120d39a04..98fe39783 100644 --- a/src/i18n/langs/en/index.js +++ b/src/i18n/langs/en/index.js @@ -16,6 +16,7 @@ import replay from './replay'; import planMonitor from './planMonitor'; import screenMonitor from './screenMonitor'; import demonstration from './demonstration'; +import exam from './exam'; export default { ...enLocale, @@ -35,5 +36,6 @@ export default { replay, planMonitor, screenMonitor, - demonstration + demonstration, + exam }; diff --git a/src/i18n/langs/en/lesson.js b/src/i18n/langs/en/lesson.js index df53285f6..9a264ae4f 100644 --- a/src/i18n/langs/en/lesson.js +++ b/src/i18n/langs/en/lesson.js @@ -48,5 +48,44 @@ export default { eidtStepInfo: 'Edit Step Information', product: 'Product', remarks: 'Remarks', - operateSuccess: 'Operation successfully' + operateSuccess: 'Operation successfully', + createChapter: 'Create chapter', + contentSorting: 'Content sorting', + courseList: 'Course list', + createNewCoursesFromRelease: 'Create new courses from release', + courseName: 'Course name:', + parentChapter: 'Parent chapter:', + chapterName: 'Chapter name:', + chapterInstructions: 'Chapter instructions:', + associatedTraining: 'Associated training:', + updateChapter: 'Update chapter', + automaticOrManual: 'Auto/Manual', + automatic: 'Automatic', + manual: 'Manual', + publishCourseName: 'Publish course name:', + draftCourseName: 'Draft course name:', + associatedSkin: 'Associated skin:', + associatedProducts: 'Associated products:', + courseDescription: 'Course description:', + editCourse: 'Edit course', + createCourse: 'Create course', + courseRelease: 'Course release', + releaseAssociatedCity: 'Release associated city:', + releaseAssociatedMap: 'Release associated map:', + trainingSequence: 'Training sequence', + creationTime: 'Creation time', + finishTime: 'Finish time', + createResults: 'Create results', + start: 'start', + toPerform: 'To perform', + productType: 'Product type:', + minTime: 'Minimum time:', + maxTime: 'Largest time:', + trainingDescription: 'Training description:', + generateTraining: 'Generate training', + updateTraining: 'Update training', + deleteTraining: 'Delete training', + automaticGenerationOfTraining: 'Automatic generation of training', + modifyTrainingByCategory: 'Modify training by category', + deleteAutoGeneratedTraining: 'Delete auto-generated training' }; diff --git a/src/i18n/langs/en/rules.js b/src/i18n/langs/en/rules.js index 2baded317..b3e2557e6 100644 --- a/src/i18n/langs/en/rules.js +++ b/src/i18n/langs/en/rules.js @@ -222,6 +222,20 @@ export default { selectMapProductName: 'Please select map product name', inputTime: 'Please enter time', inputPermissionNumber: 'Please enter the number of permissions', - permissionNumberGreater0: 'The number of permissions must be greater than 0' - + permissionNumberGreater0: 'The number of permissions must be greater than 0', + enterChapterName: 'Please enter chapter name', + enterChapterInstructions: 'Please enter chapter instructions', + selectCourseName: 'Please select the course name', + enterCourseName: 'Please enter the course name', + selectAssociatedProduct: 'Please select the associated product', + enterCourseDescription: 'Please enter the course description', + courseIdIsEmpty: 'Course Id is empty', + selectCity: 'Please select city', + enterStandardTime: 'Please enter standard time', + enterNumericValue: 'Please enter a numeric value', + greaterThanMinTime: 'Must be greater than the minimum time', + selectTrainingType: 'Please select training type', + selectOneTrainingType: 'Only one training type can be selected', + enterProductType: 'Please enter product type', + selectAssociatedStation: 'Please select the associated station' }; diff --git a/src/i18n/langs/en/tip.js b/src/i18n/langs/en/tip.js index 8c39de6d0..f1cbe16a0 100644 --- a/src/i18n/langs/en/tip.js +++ b/src/i18n/langs/en/tip.js @@ -108,6 +108,23 @@ export default { purchaseMonth: 'Please enter a valid purchase month', createRoomFailedHint: 'Each user can only create one comprehensive drill room. Do you want to enter the room?', noPermissionHint: 'You do not have permission, please go to purchase products', - trainModelNameRepeat: 'Train model data duplication' + trainModelNameRepeat: 'Train model data duplication', + + coursePublishSuccessful: 'Successful course release', + coursePublishFailed: 'Course launch failed', + startOperationHint: 'This operation will start the task. Do you want to continue?', + cancelsTaskHint: 'This action cancels the task. Do you want to continue?', + automaticGenerationTrainingSuccess: 'Automatic generation of training success', + automaticGenerationTrainingFailure: 'Automatic generation of training failure', + updateAutomaticGenerationTrainingSuccess: 'Update automatically generated training successfully', + updateAutomaticGenerationTrainingFailure: 'Update automatically generated training failure', + deleteAutomaticGenerationTrainingSuccess: 'Delete automatic generation training successfully', + deleteAutomaticGenerationTrainingFailure: 'Delete automatic generation training failure', + addTrainingSuccessfully: 'Add training successfully!', + addTrainingFailed: 'Failed to add training', + updateTrainingSuccessfully: 'Update training successfully!', + updateTrainingFailed: 'Failed to update training', + savedStepDataSuccessfully: 'Saved step data successfully', + savedStepDataFailed: 'Failed to save step data' }; diff --git a/src/i18n/langs/zh/error.js b/src/i18n/langs/zh/error.js index 7d017d284..333a034f8 100644 --- a/src/i18n/langs/zh/error.js +++ b/src/i18n/langs/zh/error.js @@ -58,6 +58,9 @@ export default { updateOperateStepFailed: '更新操作步骤失败', packagePermissionFailed: '打包权限失败', acquisitionTimeFailed: '获取时间失败', - getProductListFailed: '获取产品列表失败' - + getProductListFailed: '获取产品列表失败', + obtainChapterDataFailed: '获取章节数据失败', + obtainCourseDetailsFailed: '获取课程详情失败', + obtainCourseInformationFailed: '获取课程信息失败', + obtainStepDataFailed: '获取步骤数据失败' }; diff --git a/src/i18n/langs/zh/exam.js b/src/i18n/langs/zh/exam.js new file mode 100644 index 000000000..25ab7fd41 --- /dev/null +++ b/src/i18n/langs/zh/exam.js @@ -0,0 +1,16 @@ +export default { + testSystem: '城市轨道交通考试系统', + testSystemDescription: ' 该系统具有自定义考试规则、自动生成考卷、学员成绩统计、数据曲线分析及题库管理等功能,从实战操作、业务流程、故障模拟及考试规则等多角度出发,力求打造最符合用户需求的城市轨道交通在线交互实操类考试系统', + examResultsDetails: '考试结果详情', + testQuestionsName: '试题名称', + testScores: '考试得分', + points: '分', + whetherThrough: '是否通过', + didNotCalculate: '未计算', + pass: '通过', + notPass: '未通过', + examTime: '考试用时', + trainingName: '实训名称', + trainingScore: '实训得分', + returnToExamList: '返回考试列表' +}; diff --git a/src/i18n/langs/zh/global.js b/src/i18n/langs/zh/global.js index 06b30c4a1..7a0f9c4e1 100644 --- a/src/i18n/langs/zh/global.js +++ b/src/i18n/langs/zh/global.js @@ -142,5 +142,8 @@ export default { mapList: '地图列表', updateTime: '更新时间:', line: '线路:', - permissionList: '权限列表:' + permissionList: '权限列表:', + remove: '移除', + append: '添加', + release: '发布' }; diff --git a/src/i18n/langs/zh/index.js b/src/i18n/langs/zh/index.js index 0927678a8..2eb190f2e 100644 --- a/src/i18n/langs/zh/index.js +++ b/src/i18n/langs/zh/index.js @@ -16,6 +16,7 @@ import replay from './replay'; import planMonitor from './planMonitor'; import screenMonitor from './screenMonitor'; import demonstration from './demonstration'; +import exam from './exam'; export default { ...cnLocale, @@ -35,5 +36,6 @@ export default { replay, planMonitor, screenMonitor, - demonstration + demonstration, + exam }; diff --git a/src/i18n/langs/zh/lesson.js b/src/i18n/langs/zh/lesson.js index 62985628e..5d8d5a5cf 100644 --- a/src/i18n/langs/zh/lesson.js +++ b/src/i18n/langs/zh/lesson.js @@ -45,9 +45,48 @@ export default { stepReturn: '步骤返回值', stepTips: '步骤提示信息', createStepInfo: '创建步骤信息', - eidtStepInfo: '编辑步骤信息', + editStepInfo: '编辑步骤信息', product: '产品', remarks: '描述', - operateSuccess: '操作成功' + operateSuccess: '操作成功', + createChapter: '创建章节', + contentSorting: '内容排序', + courseList: '课程列表', + createNewCoursesFromRelease: '从发布课程新建', + courseName: '课程名称:', + parentChapter: '父级章节:', + chapterName: '章节名称:', + chapterInstructions: '章节说明:', + associatedTraining: '关联实训:', + updateChapter: '更新章节', + automaticOrManual: '自动/人工', + automatic: '自动', + manual: '人工', + publishCourseName: '发布课程名称:', + draftCourseName: '草稿课程名称:', + associatedSkin: '关联皮肤:', + associatedProducts: '关联产品:', + courseDescription: '课程说明:', + editCourse: '编辑课程', + createCourse: '创建课程', + courseRelease: '课程发布', + releaseAssociatedCity: '发布关联城市:', + releaseAssociatedMap: '发布关联地图:', + trainingSequence: '实训排序', + creationTime: '创建时间', + finishTime: '完成时间', + createResults: '创建结果', + start: '开始', + toPerform: '重新执行', + productType: '产品类型:', + minTime: '最小用时:', + maxTime: '最大用时:', + trainingDescription: '实训描述:', + generateTraining: '生成实训', + updateTraining: '修改实训', + deleteTraining: '删除实训', + automaticGenerationOfTraining: '自动生成实训', + modifyTrainingByCategory: '按类别修改实训', + deleteAutoGeneratedTraining: '删除自动生成实训' }; diff --git a/src/i18n/langs/zh/map.js b/src/i18n/langs/zh/map.js index b13b8c2a3..393886a0b 100644 --- a/src/i18n/langs/zh/map.js +++ b/src/i18n/langs/zh/map.js @@ -2,9 +2,11 @@ export default { drawData: '绘图数据', mapData: '地图数据', pleaseSelect: '请选择', + pleaseEnter: '请输入', sketchMap: '草稿地图列表', newConstruction: '新建', - importMap: '导入地图', + bothCreate: '批量生成', + importMap: '导入', createNewMap: '新建地图', normalCreate: '正常创建', saveMapAs: '地图另存为', @@ -19,11 +21,12 @@ export default { deny: '否', drawMap: '绘图', advanced: '高级', - viewLayer: '视图图层', - layerDisplay: '图层显示', + viewLayer: '显示', + layerDisplay: '显示', viewShows: '视图显示', - contentShows: '内容显示', + contentShows: '设备显示', createBatch: '批量创建', + deleteBoth: '批量删除', save: '保存', updata: '更新', @@ -31,6 +34,7 @@ export default { updateObjAxis: '更新坐标', saveAs: '另存为', publish: '发布', + publishMap: '发布地图', deleteObj: '删除', remove: '移除', lastStep: '上一步', @@ -56,7 +60,7 @@ export default { text: '文字', mapName: '地图名称:', - skinName: '皮肤风格:', + skinName: '皮肤:', selectCity: '所属城市:', offsetXColon: 'X偏移:', offsetYColon: 'Y偏移:', diff --git a/src/i18n/langs/zh/rules.js b/src/i18n/langs/zh/rules.js index b979fef56..f22c49f44 100644 --- a/src/i18n/langs/zh/rules.js +++ b/src/i18n/langs/zh/rules.js @@ -232,6 +232,25 @@ export default { selectMapProductName: '请选择地图产品名称', inputTime: '请输入时间', inputPermissionNumber: '请输入权限个数', - permissionNumberGreater0: '权限个数必须大于0' + permissionNumberGreater0: '权限个数必须大于0', + enterChapterName: '请输入章节名称', + enterChapterInstructions: '请输入章节说明', + selectCourseName: '请选择课程名称', + enterCourseName: '请输入课程名称', + selectAssociatedProduct: '请选择关联产品', + enterCourseDescription: '请输入课程说明', + courseIdIsEmpty: '课程Id为空', + selectCity: '请选择城市', + enterStandardTime: '请输入标准用时', + enterNumericValue: '请输入数字值', + greaterThanMinTime: '必须大于最小时间', + selectTrainingType: '请选择实训类型', + selectOneTrainingType: '只能选择一个实训类型', + enterProductType: '请输入产品类型', + selectAssociatedStation: '请选择关联的车站', + + enterScale: '请输入缩放比例', + enterXOffset: '请输入X偏移', + enterYOffset: '请输入Y偏移' }; diff --git a/src/i18n/langs/zh/tip.js b/src/i18n/langs/zh/tip.js index a387371f1..78aeac516 100644 --- a/src/i18n/langs/zh/tip.js +++ b/src/i18n/langs/zh/tip.js @@ -113,5 +113,21 @@ export default { createRoomFailedHint: '每个用户只能创建一个综合演练房间, 是否进入房间?', noPermissionHint: '您没有权限,请前往购买产品', - trainModelNameRepeat: '列车模型数据重复' + trainModelNameRepeat: '列车模型数据重复', + coursePublishSuccessful: '课程发布成功', + coursePublishFailed: '课程发布失败', + startOperationHint: '此操作将开始任务, 是否继续?', + cancelsTaskHint: '此操作将取消任务, 是否继续?', + automaticGenerationTrainingSuccess: '自动生成实训成功', + automaticGenerationTrainingFailure: '自动生成实训失败', + updateAutomaticGenerationTrainingSuccess: '更新自动生成实训成功', + updateAutomaticGenerationTrainingFailure: '更新自动生成实训失败', + deleteAutomaticGenerationTrainingSuccess: '删除自动生成实训成功', + deleteAutomaticGenerationTrainingFailure: '删除自动生成实训失败', + addTrainingSuccessfully: '添加实训成功!', + addTrainingFailed: '添加实训失败', + updateTrainingSuccessfully: '更新实训成功!', + updateTrainingFailed: '更新实训失败', + savedStepDataSuccessfully: '保存步骤数据成功', + savedStepDataFailed: '保存步骤数据失败' }; diff --git a/src/jmap/map.js b/src/jmap/map.js index 9bf4a1785..17c60f03f 100644 --- a/src/jmap/map.js +++ b/src/jmap/map.js @@ -80,6 +80,9 @@ class Jlmap { // 保存皮肤类型 if (map.skinVO) { this.skinCode = map.skinVO.code; + this.$options.scaleRate = map.skinVO.scaling; + this.$options.offsetX = map.skinVO.origin.x; + this.$options.offsetY = map.skinVO.origin.y; this.$painter.updateTransform({ scaleRate: map.skinVO.scaling, offsetX: map.skinVO.origin.x, offsetY: map.skinVO.origin.y }); } diff --git a/src/views/exam/home.vue b/src/views/exam/home.vue index 974c91cdb..3798e9531 100644 --- a/src/views/exam/home.vue +++ b/src/views/exam/home.vue @@ -3,7 +3,7 @@

- 城市轨道交通考试系统 + {{$t('exam.testSystem')}}

@@ -14,7 +14,7 @@
- 该系统具有自定义考试规则、自动生成考卷、学员成绩统计、数据曲线分析及题库管理等功能,从实战操作、业务流程、故障模拟及考试规则等多角度出发,力求打造最符合用户需求的城市轨道交通在线交互实操类考试系统 + {{$t('exam.testSystemDescription')}}
diff --git a/src/views/lesson/lessoncategory/category/operateMenu.vue b/src/views/lesson/lessoncategory/category/operateMenu.vue index c93cb1d45..5b1ad5d45 100644 --- a/src/views/lesson/lessoncategory/category/operateMenu.vue +++ b/src/views/lesson/lessoncategory/category/operateMenu.vue @@ -33,17 +33,17 @@ menu: [], lessonMenu: [ { - label: '创建章节', + label: this.$t('lesson.createChapter'), handler: this.addSection, }, { - label: '内容排序', + label: this.$t('lesson.contentSorting'), handler: this.treeSort, } ], chapterMenu: [ { - label: '创建章节', + label: this.$t('lesson.createChapter'), handler: this.addSection, } ] @@ -101,15 +101,15 @@ }, deleteObj() { let _that = this; - this.$confirm('是否确认删除?', '提示', { - confirmButtonText: '确定', - cancelButtonText: '取消', + this.$confirm(this.$('tip.confirmDeletion'), this.$('global.tips'), { + confirmButtonText: this.$('global.confirm'), + cancelButtonText: this.$('global.cancel'), type: 'warning' }).then(() => { }).catch(() => { - this.$messageBox('已取消删除'); + this.$messageBox(this.$('tip.cancelledDelete')); }); } } } - \ No newline at end of file + diff --git a/src/views/lesson/lessoncategory/category/tree.vue b/src/views/lesson/lessoncategory/category/tree.vue index fc5b626ec..7836e17b4 100644 --- a/src/views/lesson/lessoncategory/category/tree.vue +++ b/src/views/lesson/lessoncategory/category/tree.vue @@ -1,10 +1,10 @@