Merge remote-tracking branch 'origin/dev' into test
This commit is contained in:
commit
d9bbbac879
1
.gitignore
vendored
1
.gitignore
vendored
@ -6,6 +6,7 @@ yarn-debug.log*
|
|||||||
yarn-error.log*
|
yarn-error.log*
|
||||||
package-lock.json
|
package-lock.json
|
||||||
tests/**/coverage/
|
tests/**/coverage/
|
||||||
|
src/utils/baseUrl*
|
||||||
|
|
||||||
# Editor directories and files
|
# Editor directories and files
|
||||||
.idea
|
.idea
|
||||||
|
@ -420,10 +420,11 @@ export function getSimulationInfo(group) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** 获取可用的设备指令*/
|
/** 获取可用的设备指令*/
|
||||||
export function getAvailableDeviceCommand() {
|
export function getAvailableDeviceCommand(params) {
|
||||||
return request({
|
return request({
|
||||||
url: `/api/simulation/deviceCommand/available`,
|
url: `/api/simulation/deviceCommand/available`,
|
||||||
method: 'get'
|
method: 'get',
|
||||||
|
params
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,6 +46,10 @@ export default {
|
|||||||
addFailed: 'Failure to add',
|
addFailed: 'Failure to add',
|
||||||
updateFailed: 'Failure to update',
|
updateFailed: 'Failure to update',
|
||||||
exportException: 'Export exception',
|
exportException: 'Export exception',
|
||||||
operationFailure: 'Operation Failure'
|
operationFailure: 'Operation Failure',
|
||||||
|
createCommonRunPlanFailed: 'Failed to create a common run plan',
|
||||||
|
templateHasBeUse: 'The template has been used by the load plan and cannot be deleted',
|
||||||
|
setFailed: 'Setup failed',
|
||||||
|
deleteException: 'To remove exceptions, contact your administrator',
|
||||||
|
paperHasUseNotDel: 'The paper has been used and cannot be deleted'
|
||||||
};
|
};
|
||||||
|
@ -34,6 +34,9 @@ export default {
|
|||||||
distributeExamPermission: 'Distribution of Examination Authority',
|
distributeExamPermission: 'Distribution of Examination Authority',
|
||||||
distributeSimulationPermission: 'Distribution of simulation privileges',
|
distributeSimulationPermission: 'Distribution of simulation privileges',
|
||||||
distributeScreenPermission: 'Large Screen Privilege Distribution',
|
distributeScreenPermission: 'Large Screen Privilege Distribution',
|
||||||
|
email: 'Email',
|
||||||
|
nickName: 'nickname',
|
||||||
|
mobile: 'mobile',
|
||||||
name: 'Name',
|
name: 'Name',
|
||||||
code: 'Code',
|
code: 'Code',
|
||||||
status: 'Status',
|
status: 'Status',
|
||||||
@ -64,7 +67,8 @@ export default {
|
|||||||
toBeDeveloped: 'Functions to be developed',
|
toBeDeveloped: 'Functions to be developed',
|
||||||
yuan: '¥',
|
yuan: '¥',
|
||||||
filteringKeywords: 'Enter keywords for filtering',
|
filteringKeywords: 'Enter keywords for filtering',
|
||||||
previousStep: 'PreviousStep',
|
lastStep: 'Last Step',
|
||||||
|
nextStep: 'Next Step ',
|
||||||
skip: 'Skip',
|
skip: 'Skip',
|
||||||
modify: 'Modify',
|
modify: 'Modify',
|
||||||
language: 'Language',
|
language: 'Language',
|
||||||
@ -82,6 +86,10 @@ export default {
|
|||||||
month: 'month',
|
month: 'month',
|
||||||
putaway: 'Putaway',
|
putaway: 'Putaway',
|
||||||
soldOut: 'Sold out',
|
soldOut: 'Sold out',
|
||||||
exportMap: 'Export Map'
|
exportMap: 'Export Map',
|
||||||
|
preview: 'Preview',
|
||||||
|
notBeUse: 'This function is not enabled for the time being',
|
||||||
|
fastCreate: 'Quickly Create',
|
||||||
|
duration: 'duration',
|
||||||
|
isTry: 'Try'
|
||||||
};
|
};
|
||||||
|
@ -10,6 +10,9 @@ import tip from './tip';
|
|||||||
import system from './system';
|
import system from './system';
|
||||||
import orderAuthor from './orderAuthor';
|
import orderAuthor from './orderAuthor';
|
||||||
import publish from './publish';
|
import publish from './publish';
|
||||||
|
import permission from './permission';
|
||||||
|
import replay from './replay';
|
||||||
|
import planMonitor from './planMonitor';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
...enLocale,
|
...enLocale,
|
||||||
@ -23,5 +26,8 @@ export default {
|
|||||||
tip,
|
tip,
|
||||||
system,
|
system,
|
||||||
orderAuthor,
|
orderAuthor,
|
||||||
publish
|
publish,
|
||||||
|
permission,
|
||||||
|
replay,
|
||||||
|
planMonitor
|
||||||
};
|
};
|
||||||
|
19
src/i18n/langs/en/permission.js
Normal file
19
src/i18n/langs/en/permission.js
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
export default {
|
||||||
|
permissionPack: 'Package',
|
||||||
|
setSuccess: 'Set successfully',
|
||||||
|
isSureSetBelonger: 'Are you sure to set {name} to be the owner of the permission?',
|
||||||
|
setBelonger: 'Set Owner',
|
||||||
|
lessonName: 'Lesson Name',
|
||||||
|
mapName: 'Map Name',
|
||||||
|
mapProductName: 'Product Name',
|
||||||
|
permissionType: 'Permission Type',
|
||||||
|
permissionStatus: 'Permission Status',
|
||||||
|
permissionUseType: 'Public/Private',
|
||||||
|
permissionTotal: 'Total',
|
||||||
|
permissionRemains: 'Remains',
|
||||||
|
isForever: 'Permanent',
|
||||||
|
startTime: 'Start Time',
|
||||||
|
endTime: 'End Time',
|
||||||
|
belonger: 'Owner',
|
||||||
|
userList: 'User List'
|
||||||
|
};
|
3
src/i18n/langs/en/planMonitor.js
Normal file
3
src/i18n/langs/en/planMonitor.js
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export default {
|
||||||
|
|
||||||
|
};
|
@ -1,10 +1,47 @@
|
|||||||
export default {
|
export default {
|
||||||
name: 'Name',
|
|
||||||
city: 'City',
|
city: 'City',
|
||||||
skinType: 'Skin Type',
|
skinType: 'Skin Type',
|
||||||
mapName: 'Map Name',
|
mapName: 'Map Name',
|
||||||
|
lessonName: 'Lesson Name',
|
||||||
updateMapName: 'Update Map Name',
|
updateMapName: 'Update Map Name',
|
||||||
updateTime: 'Update Time',
|
updateTime: 'Update Time',
|
||||||
operationSuccess: 'Operate successfully',
|
operationSuccess: 'Operate successfully',
|
||||||
deleteSuccess: 'Delete successfully'
|
deleteSuccess: 'Delete successfully',
|
||||||
|
wellDelType: 'This action deletes the type. Do you want to continue?',
|
||||||
|
wellPutawayMap: 'This will launch the map. Do you want to continue?',
|
||||||
|
wellSoldOutMap: 'This operation will remove this map. Do you want to continue?',
|
||||||
|
productName: 'Product Name',
|
||||||
|
productType: 'Product Type',
|
||||||
|
productCode: 'Product Code',
|
||||||
|
lessonIntroduction: 'Lesson Introduction',
|
||||||
|
updateSuccess: 'Update successfully',
|
||||||
|
wellPutawayTraining: 'Will this operation continue on the last sortie?',
|
||||||
|
wellSoldOutTraining: 'Will this operation continue for the next sortie?',
|
||||||
|
wellPutawayProduct: 'This operation will put the product on the shelf. Do you want to continue?',
|
||||||
|
wellSoldOutProduct: 'This operation will be removed from the shelves. Do you want to continue?',
|
||||||
|
runPlanName: 'Run Plan Name',
|
||||||
|
runEveryDayTime: 'Daily Running Time',
|
||||||
|
userId: 'User Id',
|
||||||
|
wellDelRunPlanEveryDay: 'This action deletes the daily running plan. Do you want to continue?',
|
||||||
|
taskName: 'Task Name',
|
||||||
|
createTime: 'Creation Time',
|
||||||
|
detail: 'Detail',
|
||||||
|
generateRunPlan: 'Generate Daily Paln',
|
||||||
|
selectTemplateRunPlan: 'Select Template Run Plan',
|
||||||
|
pleaseSelectTemplate: 'Please Select Template Run Plan',
|
||||||
|
selectMap: 'Select Map',
|
||||||
|
createCommonRunPlan: 'Create Common Run Plan',
|
||||||
|
createCommonSuccess: 'Creation of a common run plan was successful',
|
||||||
|
wellGenerateEveryRunPlan: 'This operation generates a daily running diagram. Do you want to continue?',
|
||||||
|
wellDelTemplate: 'This action deletes the diagram template. Do you want to continue?',
|
||||||
|
fullMark: 'Full Mark',
|
||||||
|
passScore: 'Passing Score',
|
||||||
|
examTime: 'Exam Time',
|
||||||
|
creator: 'Creator',
|
||||||
|
paperName: 'Name Of Test Paper',
|
||||||
|
setSuccess: 'Set successfully',
|
||||||
|
wellPutawayPaper: 'This operation puts the paper on the shelf. Do you want to continue?',
|
||||||
|
wellSoldOutPaper: 'This operation removes the paper from the shelf. Do you want to continue?',
|
||||||
|
wellDelPaper: 'This operation will delete the paper. Do you want to continue?'
|
||||||
|
|
||||||
};
|
};
|
||||||
|
9
src/i18n/langs/en/replay.js
Normal file
9
src/i18n/langs/en/replay.js
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
export default {
|
||||||
|
replay: 'Play',
|
||||||
|
mapName: 'Map Name',
|
||||||
|
creatorId: 'Creator of ID',
|
||||||
|
createTime: 'Create Time',
|
||||||
|
deleteSuccess: 'Delete successfully',
|
||||||
|
wellDelReplay: 'This action will delete the playback. Do you want to continue?'
|
||||||
|
|
||||||
|
};
|
@ -211,6 +211,7 @@ export default {
|
|||||||
linkWidthInputPrompt: 'Please enter a valid Link width',
|
linkWidthInputPrompt: 'Please enter a valid Link width',
|
||||||
sectionWidthInput: 'Please enter section width',
|
sectionWidthInput: 'Please enter section width',
|
||||||
sectionWidthInputPrompt: 'Please enter a valid segment width',
|
sectionWidthInputPrompt: 'Please enter a valid segment width',
|
||||||
selectShowWatermark: 'Select whether or not to watermark'
|
selectShowWatermark: 'Select whether or not to watermark',
|
||||||
|
pleaseInputMapName: 'Please enter a new name for the map',
|
||||||
|
inputTemplateRunPlan: 'Please select the template run diagram'
|
||||||
};
|
};
|
||||||
|
@ -6,13 +6,11 @@ export default {
|
|||||||
createDirectory: 'Create dictionary',
|
createDirectory: 'Create dictionary',
|
||||||
editDictionary: 'Edit dictionary',
|
editDictionary: 'Edit dictionary',
|
||||||
deleteSuccess: 'Successful deletion',
|
deleteSuccess: 'Successful deletion',
|
||||||
dleeteTipContext: 'This operation will delete the type. Do you want to continue?',
|
|
||||||
createSuccess: 'Create successful',
|
createSuccess: 'Create successful',
|
||||||
updateSuccess: 'Update successful',
|
updateSuccess: 'Update successful',
|
||||||
destory: 'Destory',
|
destory: 'Destory',
|
||||||
simulationGroup: 'Simulation Group',
|
simulationGroup: 'Simulation Group',
|
||||||
userName: 'User Name',
|
userName: 'User Name',
|
||||||
mobile: 'Cell-phone Number',
|
|
||||||
skinCode: 'Skin Code',
|
skinCode: 'Skin Code',
|
||||||
prdType: 'Product Type',
|
prdType: 'Product Type',
|
||||||
simulationType: 'Simulation Type',
|
simulationType: 'Simulation Type',
|
||||||
@ -21,7 +19,7 @@ export default {
|
|||||||
isError: 'Is Error',
|
isError: 'Is Error',
|
||||||
isSuspend: 'Is Suspend',
|
isSuspend: 'Is Suspend',
|
||||||
isDrivingAsplanned: 'Whether to drive as planned',
|
isDrivingAsplanned: 'Whether to drive as planned',
|
||||||
delUserSimulationIsContinue: 'This operation will delete the user simulation data. Do you want to continue?',
|
wellDelUserSimulation: 'This operation will delete the user simulation data. Do you want to continue?',
|
||||||
createDetail: 'Create details',
|
createDetail: 'Create details',
|
||||||
editDetail: 'Editorial details',
|
editDetail: 'Editorial details',
|
||||||
mapName: 'Map Name',
|
mapName: 'Map Name',
|
||||||
@ -36,13 +34,12 @@ export default {
|
|||||||
examScore: 'Examination Score',
|
examScore: 'Examination Score',
|
||||||
examResult: 'Examination Results',
|
examResult: 'Examination Results',
|
||||||
examName: 'Paper Name',
|
examName: 'Paper Name',
|
||||||
delExamResultIsContinue: 'This operation will delete the test result. Do you want to continue?',
|
wellDelExamResult: 'This operation will delete the test result. Do you want to continue?',
|
||||||
editExamDetail: 'Edit exam details',
|
editExamDetail: 'Edit exam details',
|
||||||
subscribeMap: 'Subscribe',
|
subscribeMap: 'Subscribe',
|
||||||
roles: 'Roles',
|
roles: 'Roles',
|
||||||
email: 'Email',
|
|
||||||
nickname: 'Nickname',
|
nickname: 'Nickname',
|
||||||
delTypeIsContinue: 'This operation will delete the type. Do you want to continue?',
|
wellDelType: 'This operation will delete the type. Do you want to continue?',
|
||||||
permission: 'Permission',
|
permission: 'Permission',
|
||||||
editUserPermission: 'Edit User Rights',
|
editUserPermission: 'Edit User Rights',
|
||||||
lessonName: 'Lesson Name',
|
lessonName: 'Lesson Name',
|
||||||
|
@ -46,6 +46,11 @@ export default {
|
|||||||
addFailed: '添加失败',
|
addFailed: '添加失败',
|
||||||
updateFailed: '更新失败',
|
updateFailed: '更新失败',
|
||||||
exportException: '导出异常',
|
exportException: '导出异常',
|
||||||
operationFailure: '操作失败'
|
operationFailure: '操作失败',
|
||||||
|
createCommonRunPlanFailed: '创建通用运行图失败',
|
||||||
|
templateHasBeUse: '该模板已被加载计划使用,无法删除',
|
||||||
|
setFailed: '设置失败',
|
||||||
|
deleteException: '删除异常,请联系管理员',
|
||||||
|
paperHasUseNotDel: '该试卷已被使用,不能删除'
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -34,6 +34,9 @@ export default {
|
|||||||
distributeExamPermission: '考试权限分发',
|
distributeExamPermission: '考试权限分发',
|
||||||
distributeSimulationPermission: '仿真权限分发',
|
distributeSimulationPermission: '仿真权限分发',
|
||||||
distributeScreenPermission: '大屏权限分发',
|
distributeScreenPermission: '大屏权限分发',
|
||||||
|
email: '邮箱',
|
||||||
|
nickName: '昵称',
|
||||||
|
mobile: '手机号',
|
||||||
name: '名称',
|
name: '名称',
|
||||||
code: '编码',
|
code: '编码',
|
||||||
status: '状态',
|
status: '状态',
|
||||||
@ -65,7 +68,8 @@ export default {
|
|||||||
choose: '选 择',
|
choose: '选 择',
|
||||||
yuan: '元',
|
yuan: '元',
|
||||||
filteringKeywords: '输入关键字进行过滤',
|
filteringKeywords: '输入关键字进行过滤',
|
||||||
previousStep: '上一步',
|
lastStep: '上一步',
|
||||||
|
nextStep: '下一步',
|
||||||
skip: '跳过',
|
skip: '跳过',
|
||||||
modify: '修改',
|
modify: '修改',
|
||||||
language: '语言',
|
language: '语言',
|
||||||
@ -83,6 +87,11 @@ export default {
|
|||||||
month: '月',
|
month: '月',
|
||||||
putaway: '上 架',
|
putaway: '上 架',
|
||||||
soldOut: '下 架',
|
soldOut: '下 架',
|
||||||
exportMap: '导出地图'
|
exportMap: '导出地图',
|
||||||
|
preview: '预览',
|
||||||
|
notBeUse: '该功能暂时未开启',
|
||||||
|
fastCreate: '快速创建',
|
||||||
|
duration: '时长',
|
||||||
|
isTry: '是否试用'
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -10,6 +10,9 @@ import tip from './tip';
|
|||||||
import system from './system';
|
import system from './system';
|
||||||
import orderAuthor from './orderAuthor';
|
import orderAuthor from './orderAuthor';
|
||||||
import publish from './publish';
|
import publish from './publish';
|
||||||
|
import permission from './permission';
|
||||||
|
import replay from './replay';
|
||||||
|
import planMonitor from './planMonitor';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
...cnLocale,
|
...cnLocale,
|
||||||
@ -23,5 +26,8 @@ export default {
|
|||||||
tip,
|
tip,
|
||||||
system,
|
system,
|
||||||
orderAuthor,
|
orderAuthor,
|
||||||
publish
|
publish,
|
||||||
|
permission,
|
||||||
|
replay,
|
||||||
|
planMonitor
|
||||||
};
|
};
|
||||||
|
19
src/i18n/langs/zh/permission.js
Normal file
19
src/i18n/langs/zh/permission.js
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
export default {
|
||||||
|
permissionPack: '权限打包',
|
||||||
|
setSuccess: '设置成功',
|
||||||
|
isSureSetBelonger: '是否确定设置{name}为权限所属人?',
|
||||||
|
setBelonger: '设置归属人',
|
||||||
|
lessonName: '课程名称',
|
||||||
|
mapName: '地图名称',
|
||||||
|
mapProductName: '产品名称',
|
||||||
|
permissionType: '权限类型',
|
||||||
|
permissionStatus: '权限状态',
|
||||||
|
permissionUseType: '公用/专用',
|
||||||
|
permissionTotal: '权限总数',
|
||||||
|
permissionRemains: '生于权限',
|
||||||
|
isForever: '是否永久',
|
||||||
|
startTime: '开始时间',
|
||||||
|
endTime: '结束时间',
|
||||||
|
belonger: '归属人',
|
||||||
|
userList: '用户列表'
|
||||||
|
};
|
3
src/i18n/langs/zh/planMonitor.js
Normal file
3
src/i18n/langs/zh/planMonitor.js
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export default {
|
||||||
|
|
||||||
|
};
|
@ -1,10 +1,47 @@
|
|||||||
export default {
|
export default {
|
||||||
name: '名称',
|
|
||||||
city: '所属城市',
|
city: '所属城市',
|
||||||
skinType: '皮肤类型',
|
skinType: '皮肤类型',
|
||||||
mapName: '地图名称',
|
mapName: '地图名称',
|
||||||
|
lessonName: '课程名称',
|
||||||
updateMapName: '更新地图名称',
|
updateMapName: '更新地图名称',
|
||||||
updateTime: '更新时间',
|
updateTime: '更新时间',
|
||||||
operationSuccess: '操作成功',
|
operationSuccess: '操作成功',
|
||||||
deleteSuccess: '删除成功'
|
deleteSuccess: '删除成功',
|
||||||
|
wellDelType: '此操作将删除该类型, 是否继续?',
|
||||||
|
wellPutawayMap: '此操作将上架此地图, 是否继续?',
|
||||||
|
wellSoldOutMap: '此操作将下架此地图, 是否继续?',
|
||||||
|
productName: '产品名称',
|
||||||
|
productType: '产品类型',
|
||||||
|
productCode: '产品编码',
|
||||||
|
lessonIntroduction: '课程简介',
|
||||||
|
updateSuccess: '更新成功',
|
||||||
|
wellPutawayTraining: '此操作将上架此实训, 是否继续?',
|
||||||
|
wellSoldOutTraining: '此操作将下架此实训, 是否继续?',
|
||||||
|
wellPutawayProduct: '此操作将上架此产品, 是否继续?',
|
||||||
|
wellSoldOutProduct: '此操作将下架此产品, 是否继续?',
|
||||||
|
runPlanName: '运行图名称',
|
||||||
|
runEveryDayTime: '每日运行时间',
|
||||||
|
userId: '用户Id',
|
||||||
|
wellDelRunPlanEveryDay: '此操作将删除每日运行图, 是否继续?',
|
||||||
|
taskName: '任务名称',
|
||||||
|
createTime: '创建时间',
|
||||||
|
detail: '详情',
|
||||||
|
generateRunPlan: '生成每日运行图',
|
||||||
|
selectTemplateRunPlan: '选择模板运行图',
|
||||||
|
pleaseSelectTemplate: '请选择模板运行图',
|
||||||
|
selectMap: '选择地图',
|
||||||
|
createCommonRunPlan: '创建通用运行图',
|
||||||
|
createCommonSuccess: '创建通用运行图成功',
|
||||||
|
wellGenerateEveryRunPlan: '此操作将生成每日运行图, 是否继续?',
|
||||||
|
wellDelTemplate: '此操作将删除此运行图模板, 是否继续?',
|
||||||
|
fullMark: '满分',
|
||||||
|
passScore: '及格分',
|
||||||
|
examTime: '考试时间',
|
||||||
|
creator: '创建人',
|
||||||
|
paperName: '试卷名称',
|
||||||
|
setSuccess: '设置成功',
|
||||||
|
wellPutawayPaper: '此操作将此试卷上架, 是否继续?',
|
||||||
|
wellSoldOutPaper: '此操作将此试卷下架, 是否继续?',
|
||||||
|
wellDelPaper: '此操作将删除该试卷, 是否继续?'
|
||||||
|
|
||||||
};
|
};
|
||||||
|
8
src/i18n/langs/zh/replay.js
Normal file
8
src/i18n/langs/zh/replay.js
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
export default {
|
||||||
|
replay: '回放',
|
||||||
|
mapName: '地图名称',
|
||||||
|
creatorId: '创建人ID',
|
||||||
|
createTime: '创建时间',
|
||||||
|
deleteSuccess: '删除成功',
|
||||||
|
wellDelReplay: '此操作将删除该回放, 是否继续?'
|
||||||
|
};
|
@ -210,5 +210,8 @@ export default {
|
|||||||
linkWidthInputPrompt: '请输入有效Link宽度',
|
linkWidthInputPrompt: '请输入有效Link宽度',
|
||||||
sectionWidthInput: '请输入区段宽度',
|
sectionWidthInput: '请输入区段宽度',
|
||||||
sectionWidthInputPrompt: '请输入有效区段宽度',
|
sectionWidthInputPrompt: '请输入有效区段宽度',
|
||||||
selectShowWatermark: '请选择是否水印'
|
selectShowWatermark: '请选择是否水印',
|
||||||
|
|
||||||
|
pleaseInputMapName: '请输入地图新名称',
|
||||||
|
inputTemplateRunPlan: '请选择模板运行图'
|
||||||
};
|
};
|
||||||
|
@ -6,13 +6,11 @@ export default {
|
|||||||
createDirectory: '创建目录',
|
createDirectory: '创建目录',
|
||||||
editDictionary: '编辑目录',
|
editDictionary: '编辑目录',
|
||||||
deleteSuccess: '删除成功',
|
deleteSuccess: '删除成功',
|
||||||
dleeteTipContext: '此操作将删除该类型, 是否继续?',
|
|
||||||
createSuccess: '创建成功',
|
createSuccess: '创建成功',
|
||||||
updateSuccess: '更新成功',
|
updateSuccess: '更新成功',
|
||||||
destory: '销 毁',
|
destory: '销 毁',
|
||||||
simulationGroup: '仿真Group',
|
simulationGroup: '仿真Group',
|
||||||
userName: '用户名',
|
userName: '用户名',
|
||||||
mobile: '手机号',
|
|
||||||
skinCode: '皮肤编号',
|
skinCode: '皮肤编号',
|
||||||
prdType: '产品类型',
|
prdType: '产品类型',
|
||||||
simulationType: '仿真类型',
|
simulationType: '仿真类型',
|
||||||
@ -21,7 +19,7 @@ export default {
|
|||||||
isError: '是否错误',
|
isError: '是否错误',
|
||||||
isSuspend: '是否暂停',
|
isSuspend: '是否暂停',
|
||||||
isDrivingAsplanned: '是否按计划行车',
|
isDrivingAsplanned: '是否按计划行车',
|
||||||
delUserSimulationIsContinue: '此操作将删除此用户仿真数据, 是否继续?',
|
wellDelUserSimulation: '此操作将删除此用户仿真数据, 是否继续?',
|
||||||
createDetail: '创建明细',
|
createDetail: '创建明细',
|
||||||
editDetail: '编辑明细',
|
editDetail: '编辑明细',
|
||||||
mapName: '地图名称',
|
mapName: '地图名称',
|
||||||
@ -36,13 +34,12 @@ export default {
|
|||||||
examScore: '考试成绩',
|
examScore: '考试成绩',
|
||||||
examResult: '考试结果',
|
examResult: '考试结果',
|
||||||
examName: '试卷名称',
|
examName: '试卷名称',
|
||||||
delExamResultIsContinue: '此操作将删除此考试结果, 是否继续?',
|
wellDelExamResult: '此操作将删除此考试结果, 是否继续?',
|
||||||
editExamDetail: '编辑考试详情',
|
editExamDetail: '编辑考试详情',
|
||||||
subscribeMap: '订阅地图',
|
subscribeMap: '订阅地图',
|
||||||
roles: '角色',
|
roles: '角色',
|
||||||
email: '邮箱',
|
|
||||||
nickname: '昵称',
|
nickname: '昵称',
|
||||||
delTypeIsContinue: '此操作将删除该类型, 是否继续?',
|
wellDelType: '此操作将删除该类型, 是否继续?',
|
||||||
permission: '权限',
|
permission: '权限',
|
||||||
editUserPermission: '编辑用户权限',
|
editUserPermission: '编辑用户权限',
|
||||||
lessonName: '课程名称',
|
lessonName: '课程名称',
|
||||||
|
@ -48,12 +48,20 @@ export function JLmapDriving(dom, data, skinCode) {
|
|||||||
const renderer = SetRender(dom);
|
const renderer = SetRender(dom);
|
||||||
renderer.domElement.style.position = 'absolute';
|
renderer.domElement.style.position = 'absolute';
|
||||||
renderer.domElement.style.top = '0';
|
renderer.domElement.style.top = '0';
|
||||||
|
|
||||||
|
var renderercctv = new THREE.WebGLRenderer();
|
||||||
|
renderercctv.setSize(dom.offsetWidth*0.2, dom.offsetHeight*0.2);
|
||||||
|
renderercctv.domElement.style.position = 'absolute';
|
||||||
|
renderercctv.domElement.style.top = '0';
|
||||||
|
|
||||||
document.getElementById('jlsimulation').appendChild(renderer.domElement);
|
document.getElementById('jlsimulation').appendChild(renderer.domElement);
|
||||||
|
document.getElementById('jlcctv').appendChild(renderercctv.domElement);
|
||||||
// 定义相机
|
// 定义相机
|
||||||
let camera = SetCamera(dom);
|
let camera = SetCamera(dom);
|
||||||
// 定义场景(渲染容器)
|
// 定义场景(渲染容器)
|
||||||
const scene = SetScene();
|
const scene = SetScene();
|
||||||
|
|
||||||
|
|
||||||
const speed = 0;
|
const speed = 0;
|
||||||
|
|
||||||
let drivingcode = null;
|
let drivingcode = null;
|
||||||
@ -80,6 +88,8 @@ export function JLmapDriving(dom, data, skinCode) {
|
|||||||
this.atospeed = null;
|
this.atospeed = null;
|
||||||
this.trainnum = null;
|
this.trainnum = null;
|
||||||
this.stime = null;
|
this.stime = null;
|
||||||
|
this.drivecount = 0;
|
||||||
|
this.drivedata = null;
|
||||||
|
|
||||||
this.webwork=new Worker('../../static/workertest/trainworker.js');
|
this.webwork=new Worker('../../static/workertest/trainworker.js');
|
||||||
// 地图模型数据
|
// 地图模型数据
|
||||||
@ -91,6 +101,12 @@ export function JLmapDriving(dom, data, skinCode) {
|
|||||||
const controls3 = new MouseControls(camera2, 1.6);
|
const controls3 = new MouseControls(camera2, 1.6);
|
||||||
controls3.enabled = true;
|
controls3.enabled = true;
|
||||||
scene.add(controls3.getObject());
|
scene.add(controls3.getObject());
|
||||||
|
|
||||||
|
let cameracctv = new THREE.PerspectiveCamera(70, dom.clientWidth/dom.clientHeight, 1, 20);
|
||||||
|
cameracctv.position.set( 5, 1,27 );
|
||||||
|
|
||||||
|
cameracctv.rotation.y = Math.PI/5*3;
|
||||||
|
camera2.add(cameracctv);
|
||||||
// 订阅仿真socket
|
// 订阅仿真socket
|
||||||
this.Subscribe = new Jl3dDriving(scope);
|
this.Subscribe = new Jl3dDriving(scope);
|
||||||
// 连接到通信
|
// 连接到通信
|
||||||
@ -122,7 +138,9 @@ export function JLmapDriving(dom, data, skinCode) {
|
|||||||
if (scope.animateswitch == true) {
|
if (scope.animateswitch == true) {
|
||||||
// 根据相机渲染场景
|
// 根据相机渲染场景
|
||||||
renderer.render(scene, camera2);
|
renderer.render(scene, camera2);
|
||||||
|
renderercctv.render(scene,cameracctv);
|
||||||
// updatcontrols();
|
// updatcontrols();
|
||||||
|
// renderercctv
|
||||||
controls3.update();
|
controls3.update();
|
||||||
// 检测动画构造器播放动画
|
// 检测动画构造器播放动画
|
||||||
|
|
||||||
@ -176,6 +194,10 @@ export function JLmapDriving(dom, data, skinCode) {
|
|||||||
this.updatestoptime = function(stime) {
|
this.updatestoptime = function(stime) {
|
||||||
scope.stime = stime;
|
scope.stime = stime;
|
||||||
};
|
};
|
||||||
|
this.updatedrivedata = function(drivedata){
|
||||||
|
scope.drivecount += 1;
|
||||||
|
scope.drivedata = drivedata;
|
||||||
|
};
|
||||||
|
|
||||||
this.updatedrivingcode = function(code) {
|
this.updatedrivingcode = function(code) {
|
||||||
drivingcode = code;
|
drivingcode = code;
|
||||||
|
@ -93,12 +93,13 @@ export function Jl3dDriving(jlmap3d) {
|
|||||||
//
|
//
|
||||||
//
|
//
|
||||||
// }
|
// }
|
||||||
|
|
||||||
if (data.type == 'Simulation_Driver_Change') {
|
if (data.type == 'Simulation_Driver_Change') {
|
||||||
drivingcode = data.body.code;
|
drivingcode = data.body.code;
|
||||||
jlmap3d.updatedrivingcode( data.body.code);
|
jlmap3d.updatedrivingcode( data.body.code);
|
||||||
}
|
}
|
||||||
|
if(data.type == 'Simulation_Drive_Data_Routing'){
|
||||||
|
jlmap3d.updatedrivedata(data.body);
|
||||||
|
}
|
||||||
if (data.type == 'Simulation_TrainSpeed') {
|
if (data.type == 'Simulation_TrainSpeed') {
|
||||||
|
|
||||||
if (trainlisttest) {
|
if (trainlisttest) {
|
||||||
@ -167,14 +168,14 @@ export function Jl3dDriving(jlmap3d) {
|
|||||||
} else {
|
} else {
|
||||||
syncdata.percent = sectionlist.sections.datalist[data.body[i].sectionCode].lstop/trainlisttest.list[code].len;
|
syncdata.percent = sectionlist.sections.datalist[data.body[i].sectionCode].lstop/trainlisttest.list[code].len;
|
||||||
}
|
}
|
||||||
scope.teststomp.send('/app/topic/simulation/wgu3d', syncdata);
|
//scope.teststomp.send('/app/topic/simulation/wgu3d', syncdata);
|
||||||
} else {
|
} else {
|
||||||
if (data.body[i].directionType == '02') {
|
if (data.body[i].directionType == '02') {
|
||||||
syncdata.percent = trainlisttest.list[code].progress;
|
syncdata.percent = trainlisttest.list[code].progress;
|
||||||
} else {
|
} else {
|
||||||
syncdata.percent = 1 - trainlisttest.list[code].progress;
|
syncdata.percent = 1 - trainlisttest.list[code].progress;
|
||||||
}
|
}
|
||||||
scope.teststomp.send('/app/topic/simulation/wgu3d', syncdata);
|
//scope.teststomp.send('/app/topic/simulation/wgu3d', syncdata);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data.body[i].parkRemainTime>0) {
|
if (data.body[i].parkRemainTime>0) {
|
||||||
|
@ -564,6 +564,7 @@ THREE.FBXLoader = ( function () {
|
|||||||
if ( parameters.opacity < 1.0 ) {
|
if ( parameters.opacity < 1.0 ) {
|
||||||
|
|
||||||
parameters.transparent = true;
|
parameters.transparent = true;
|
||||||
|
parameters.alphaTest = 0.1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( materialNode.ReflectionFactor ) {
|
if ( materialNode.ReflectionFactor ) {
|
||||||
@ -634,6 +635,7 @@ THREE.FBXLoader = ( function () {
|
|||||||
case 'TransparentColor':
|
case 'TransparentColor':
|
||||||
parameters.alphaMap = self.getTexture( textureMap, child.ID );
|
parameters.alphaMap = self.getTexture( textureMap, child.ID );
|
||||||
parameters.transparent = true;
|
parameters.transparent = true;
|
||||||
|
parameters.alphaTest = 0.1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'AmbientColor':
|
case 'AmbientColor':
|
||||||
|
@ -2,37 +2,48 @@
|
|||||||
* 实训状态数据
|
* 实训状态数据
|
||||||
*/
|
*/
|
||||||
const scriptRecord = {
|
const scriptRecord = {
|
||||||
namespaced: true,
|
namespaced: true,
|
||||||
state: {
|
state: {
|
||||||
mapLocation: {}, //地图定位,
|
mapLocation: {}, // 地图定位,
|
||||||
simulationPause: true ,
|
simulationPause: true,
|
||||||
},
|
scriptId: ''
|
||||||
getters: {
|
|
||||||
mapLocation: (state)=>{
|
},
|
||||||
return state.mapLocation;
|
getters: {
|
||||||
},
|
mapLocation: (state)=>{
|
||||||
simulationPause:(state)=>{
|
return state.mapLocation;
|
||||||
return state.simulationPause;
|
},
|
||||||
},
|
simulationPause: (state)=>{
|
||||||
},
|
return state.simulationPause;
|
||||||
mutations: {
|
},
|
||||||
setMapLocation: (state, mapLocation) => {
|
scriptId: (state)=>{
|
||||||
|
return state.scriptId;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mutations: {
|
||||||
|
setMapLocation: (state, mapLocation) => {
|
||||||
state.mapLocation = mapLocation;
|
state.mapLocation = mapLocation;
|
||||||
},
|
},
|
||||||
setSimulationPause: (state, simulationPause) => {
|
setSimulationPause: (state, simulationPause) => {
|
||||||
state.simulationPause = simulationPause;
|
state.simulationPause = simulationPause;
|
||||||
},
|
},
|
||||||
},
|
setscriptId: (state, scriptId) => {
|
||||||
actions: {
|
state.scriptId = scriptId;
|
||||||
/**
|
}
|
||||||
|
},
|
||||||
|
actions: {
|
||||||
|
/**
|
||||||
* 设置地图定位
|
* 设置地图定位
|
||||||
*/
|
*/
|
||||||
updateMapLocation: ({ commit }, mapLocation) => {
|
updateMapLocation: ({ commit }, mapLocation) => {
|
||||||
commit('setMapLocation', mapLocation);
|
commit('setMapLocation', mapLocation);
|
||||||
},
|
},
|
||||||
updateSimulationPause: ({ commit }, simulationPause) => {
|
updateSimulationPause: ({ commit }, simulationPause) => {
|
||||||
commit('setSimulationPause', simulationPause);
|
commit('setSimulationPause', simulationPause);
|
||||||
},
|
},
|
||||||
}
|
updateScriptId: ({ commit }, scriptId) => {
|
||||||
|
commit('setscriptId', scriptId);
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
export default scriptRecord;
|
export default scriptRecord;
|
||||||
|
@ -88,6 +88,8 @@ function handle(state, data) {
|
|||||||
case 'Simulation_Quest_Finish': // 任务结束标志
|
case 'Simulation_Quest_Finish': // 任务结束标志
|
||||||
state.tipOperateCount++;
|
state.tipOperateCount++;
|
||||||
break;
|
break;
|
||||||
|
case 'Simulation_Control_Pause': // 暂停中
|
||||||
|
store.dispatch('scriptRecord/updateSimulationPause', msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,9 +3,9 @@ export function getBaseUrl() {
|
|||||||
let BASE_API;
|
let BASE_API;
|
||||||
if (process.env.NODE_ENV === 'development') {
|
if (process.env.NODE_ENV === 'development') {
|
||||||
// BASE_API = 'https://joylink.club/jlcloud';
|
// BASE_API = 'https://joylink.club/jlcloud';
|
||||||
BASE_API = 'https://test.joylink.club/jlcloud';
|
// BASE_API = 'https://test.joylink.club/jlcloud';
|
||||||
// BASE_API = 'http://192.168.3.5:9000'; // 袁琪
|
// BASE_API = 'http://192.168.3.5:9000'; // 袁琪
|
||||||
// BASE_API = 'http://192.168.3.6:9000'; // 旭强
|
BASE_API = 'http://192.168.3.6:9000'; // 旭强
|
||||||
// BASE_API = 'http://192.168.3.4:9000' // 琰培
|
// BASE_API = 'http://192.168.3.4:9000' // 琰培
|
||||||
} else {
|
} else {
|
||||||
BASE_API = process.env.VUE_APP_BASE_API;
|
BASE_API = process.env.VUE_APP_BASE_API;
|
||||||
|
@ -1,86 +1,93 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="digit" :style="{width: 11*zoom+'px', height: 20*zoom+'px', top: top+'px'}">
|
<div class="digit" :style="{width: 11*zoom+'px', height: 20*zoom+'px', top: top+'px'}">
|
||||||
<div class="segment on"
|
<div
|
||||||
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowOne), top: zoom+'px', left: zoom*2+'px', right: zoom*2+'px', height: zblod+'px'}">
|
class="segment on"
|
||||||
</div>
|
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowOne), top: zoom+'px', left: zoom*2+'px', right: zoom*2+'px', height: zblod+'px'}"
|
||||||
<div class="segment on"
|
/>
|
||||||
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowTwo), top: zoom*2+'px', right: zoom+'px', width: zblod+'px', height: zoom*7.5+'px'}">
|
<div
|
||||||
</div>
|
class="segment on"
|
||||||
<div class="segment on"
|
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowTwo), top: zoom*2+'px', right: zoom+'px', width: zblod+'px', height: zoom*7.5+'px'}"
|
||||||
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowThee), bottom: zoom*2+'px', right: zoom+'px', width: zblod+'px', height: zoom*7.5+'px'}">
|
/>
|
||||||
</div>
|
<div
|
||||||
<div class="segment on "
|
class="segment on"
|
||||||
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowFour), bottom: zoom+'px', right: zoom*2+'px', height: zblod+'px', left: zoom*2+'px' }">
|
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowThee), bottom: zoom*2+'px', right: zoom+'px', width: zblod+'px', height: zoom*7.5+'px'}"
|
||||||
</div>
|
/>
|
||||||
<div class="segment on "
|
<div
|
||||||
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowFive), bottom: zoom*2+'px', left: zoom+'px', width: zblod+'px', height: zoom*7.5+'px'}">
|
class="segment on "
|
||||||
</div>
|
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowFour), bottom: zoom+'px', right: zoom*2+'px', height: zblod+'px', left: zoom*2+'px' }"
|
||||||
<div class="segment on "
|
/>
|
||||||
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowSix), top: zoom*2+'px', left: zoom+'px',width: zblod+'px', height: zoom*7.5+'px'}">
|
<div
|
||||||
</div>
|
class="segment on "
|
||||||
<div class="segment "
|
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowFive), bottom: zoom*2+'px', left: zoom+'px', width: zblod+'px', height: zoom*7.5+'px'}"
|
||||||
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowSeven), left: zoom*2+'px', right: zoom*2+'px', height: zblod+'px', bottom: zoom*9.5+'px'}">
|
/>
|
||||||
</div>
|
<div
|
||||||
</div>
|
class="segment on "
|
||||||
|
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowSix), top: zoom*2+'px', left: zoom+'px',width: zblod+'px', height: zoom*7.5+'px'}"
|
||||||
|
/>
|
||||||
|
<div
|
||||||
|
class="segment "
|
||||||
|
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowSeven), left: zoom*2+'px', right: zoom*2+'px', height: zblod+'px', bottom: zoom*9.5+'px'}"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
name: 'digit',
|
name: 'Digit',
|
||||||
props: {
|
props: {
|
||||||
top: {
|
top: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
zoom: {
|
zoom: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
number: {
|
number: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
fine: {
|
fine: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true,
|
required: true
|
||||||
},
|
},
|
||||||
color: {
|
color: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true,
|
required: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
zblod() {
|
zblod() {
|
||||||
return parseInt(this.fine * this.zoom)
|
return parseInt(this.fine * this.zoom);
|
||||||
},
|
},
|
||||||
isShowOne() {
|
isShowOne() {
|
||||||
return [2, 3, 5, 6, 7, 8, 9, 0].indexOf(this.number) != -1;
|
return [2, 3, 5, 6, 7, 8, 9, 0].indexOf(this.number) != -1;
|
||||||
},
|
},
|
||||||
isShowTwo() {
|
isShowTwo() {
|
||||||
return [1, 2, 3, 4, 7, 8, 9, 0].indexOf(this.number) != -1;
|
return [1, 2, 3, 4, 7, 8, 9, 0].indexOf(this.number) != -1;
|
||||||
},
|
},
|
||||||
isShowThee() {
|
isShowThee() {
|
||||||
return [1, 3, 4, 5, 6, 7, 8, 9, 0].indexOf(this.number) != -1;
|
return [1, 3, 4, 5, 6, 7, 8, 9, 0].indexOf(this.number) != -1;
|
||||||
},
|
},
|
||||||
isShowFour() {
|
isShowFour() {
|
||||||
return [2, 3, 5, 6, 8, 9, 0].indexOf(this.number) != -1;
|
return [2, 3, 5, 6, 8, 9, 0].indexOf(this.number) != -1;
|
||||||
},
|
},
|
||||||
isShowFive() {
|
isShowFive() {
|
||||||
return [2, 6, 8, 0].indexOf(this.number) != -1;
|
return [2, 6, 8, 0].indexOf(this.number) != -1;
|
||||||
},
|
},
|
||||||
isShowSix() {
|
isShowSix() {
|
||||||
return [4, 5, 6, 8, 9, 0].indexOf(this.number) != -1;
|
return [4, 5, 6, 8, 9, 0].indexOf(this.number) != -1;
|
||||||
},
|
},
|
||||||
isShowSeven() {
|
isShowSeven() {
|
||||||
return [2, 3, 4, 5, 6, 8, 9].indexOf(this.number) != -1;
|
return [2, 3, 4, 5, 6, 8, 9].indexOf(this.number) != -1;
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
opacity(show) {
|
opacity(show) {
|
||||||
return show ? 1 : 0.2;
|
return show ? 1 : 0.2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
@ -109,4 +116,4 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,75 +1,84 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="system-time-box"
|
<div
|
||||||
:style="{background: background, width: width+'px', height: height+'px', 'line-height': height+'px'}">
|
class="system-time-box"
|
||||||
<template v-for="(item,index) in time">
|
:style="{background: background, width: width+'px', height: height+'px', 'line-height': height+'px'}"
|
||||||
<digit v-if="Number.isInteger(parseInt(item))" :number="parseInt(item)" :color="color" :fine="fine"
|
>
|
||||||
:zoom="time.length - index > 2? zoom: zoom* 0.6" :top="top"></digit>
|
<template v-for="(item,index) in time">
|
||||||
<separator v-if="!Number.isInteger(parseInt(item))" :color="color" :zoom="zoom" :fine="fine"></separator>
|
<digit
|
||||||
</template>
|
v-if="Number.isInteger(parseInt(item))"
|
||||||
</div>
|
:key="index"
|
||||||
|
:number="parseInt(item)"
|
||||||
|
:color="color"
|
||||||
|
:fine="fine"
|
||||||
|
:zoom="time.length - index > 2? zoom: zoom* 0.6"
|
||||||
|
:top="top"
|
||||||
|
/>
|
||||||
|
<separator v-if="!Number.isInteger(parseInt(item))" :key="index" :color="color" :zoom="zoom" :fine="fine" />
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Digit from './digit';
|
import Digit from './digit';
|
||||||
import Separator from './separator';
|
import Separator from './separator';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'SystenTime',
|
name: 'SystenTime',
|
||||||
props: {
|
components: {
|
||||||
background: {
|
Digit,
|
||||||
type: String,
|
Separator
|
||||||
default() {
|
},
|
||||||
return '#000';
|
props: {
|
||||||
}
|
background: {
|
||||||
},
|
type: String,
|
||||||
color: {
|
default() {
|
||||||
type: String,
|
return '#000';
|
||||||
default() {
|
}
|
||||||
return '#00FF00'
|
},
|
||||||
}
|
color: {
|
||||||
},
|
type: String,
|
||||||
time: {
|
default() {
|
||||||
type: String,
|
return '#00FF00';
|
||||||
default() {
|
}
|
||||||
return '12:3456'
|
},
|
||||||
}
|
time: {
|
||||||
},
|
type: String,
|
||||||
zoom: {
|
default() {
|
||||||
type: Number,
|
return '12:3456';
|
||||||
default() {
|
}
|
||||||
return 4;
|
},
|
||||||
}
|
zoom: {
|
||||||
},
|
type: Number,
|
||||||
width: {
|
default() {
|
||||||
type: Number,
|
return 4;
|
||||||
default() {
|
}
|
||||||
return 280;
|
},
|
||||||
}
|
width: {
|
||||||
},
|
type: Number,
|
||||||
height: {
|
default() {
|
||||||
type: Number,
|
return 280;
|
||||||
default() {
|
}
|
||||||
return 80;
|
},
|
||||||
}
|
height: {
|
||||||
},
|
type: Number,
|
||||||
fine: {
|
default() {
|
||||||
type: Number,
|
return 80;
|
||||||
default() {
|
}
|
||||||
return 1;
|
},
|
||||||
}
|
fine: {
|
||||||
},
|
type: Number,
|
||||||
top: {
|
default() {
|
||||||
type: Number,
|
return 1;
|
||||||
default() {
|
}
|
||||||
return 1;
|
},
|
||||||
}
|
top: {
|
||||||
}
|
type: Number,
|
||||||
},
|
default() {
|
||||||
components: {
|
return 1;
|
||||||
Digit,
|
}
|
||||||
Separator
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
@ -77,4 +86,4 @@
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,38 +1,39 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="point"
|
<div
|
||||||
:style="{background: color, width: zblod+'px', height: zblod+'px', top: top+'px', 'border-radius': 0.5*zblod+'px'}">
|
class="point"
|
||||||
</div>
|
:style="{background: color, width: zblod+'px', height: zblod+'px', top: top+'px', 'border-radius': 0.5*zblod+'px'}"
|
||||||
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
name: 'point',
|
name: 'Point',
|
||||||
props: {
|
props: {
|
||||||
top: {
|
top: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true,
|
required: true
|
||||||
},
|
},
|
||||||
zoom: {
|
zoom: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true,
|
required: true
|
||||||
},
|
},
|
||||||
fine: {
|
fine: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true,
|
required: true
|
||||||
},
|
},
|
||||||
color: {
|
color: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true,
|
required: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
zblod() {
|
zblod() {
|
||||||
return parseInt(this.fine * this.zoom)
|
return parseInt(this.fine * this.zoom);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
@ -40,4 +41,4 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -189,11 +189,11 @@ export default {
|
|||||||
|
|
||||||
checkDisabled(role) {
|
checkDisabled(role) {
|
||||||
if (this.$route.query.prdType == '01') {
|
if (this.$route.query.prdType == '01') {
|
||||||
return role !== 'Attendant';
|
return role !== 'Attendant' && role !== 'no';
|
||||||
} else if (this.$route.query.prdType == '02') {
|
} else if (this.$route.query.prdType == '02') {
|
||||||
return role !== 'Dispatcher';
|
return role !== 'Dispatcher'&& role !== 'no';
|
||||||
} else if (this.$route.query.prdType == '04') {
|
} else if (this.$route.query.prdType == '04') {
|
||||||
return role !== 'Driver';
|
return role !== 'Driver' && role !== 'no';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -26,10 +26,10 @@
|
|||||||
|
|
||||||
<menu-replay v-if="isReplay" ref="menuReplay" :offset="offset" :group="group" />
|
<menu-replay v-if="isReplay" ref="menuReplay" :offset="offset" :group="group" />
|
||||||
|
|
||||||
<menu-script v-if="isTask" ref="menuScript" :offset="offset" :group="group" />
|
<menu-script v-if="isScript" ref="menuScript" :offset="offset" :group="group" />
|
||||||
|
|
||||||
<menu-schema
|
<menu-schema
|
||||||
v-if="isDemon || isPlan || isTask "
|
v-if="isDemon || isPlan || isScript "
|
||||||
ref="menuSchema"
|
ref="menuSchema"
|
||||||
:offset="offset"
|
:offset="offset"
|
||||||
:group="group"
|
:group="group"
|
||||||
@ -40,7 +40,7 @@
|
|||||||
@switchMode="switchMode"
|
@switchMode="switchMode"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<menu-system-time ref="menuSystemTime" :offset="offset" :group="group" />
|
<menu-system-time ref="menuSystemTime" :offset="offset" :right="right" :group="group" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Jl3d-Simulation v-show="simulationShow" ref="Jl3dSimulation" :panel-show="simulationShow" @showpanel="showpanel" />
|
<Jl3d-Simulation v-show="simulationShow" ref="Jl3dSimulation" :panel-show="simulationShow" @showpanel="showpanel" />
|
||||||
@ -122,6 +122,7 @@ export default {
|
|||||||
timeDemonNum: 0,
|
timeDemonNum: 0,
|
||||||
checkLine: null,
|
checkLine: null,
|
||||||
offset: 15,
|
offset: 15,
|
||||||
|
right: 0,
|
||||||
mouseNum: 1,
|
mouseNum: 1,
|
||||||
ierval: null,
|
ierval: null,
|
||||||
mouseNumTime: 0,
|
mouseNumTime: 0,
|
||||||
@ -181,7 +182,7 @@ export default {
|
|||||||
isReplay() {
|
isReplay() {
|
||||||
return this.mode === 'replay';
|
return this.mode === 'replay';
|
||||||
},
|
},
|
||||||
isTask() {
|
isScript() {
|
||||||
return this.mode === 'script';
|
return this.mode === 'script';
|
||||||
},
|
},
|
||||||
isPlan() {
|
isPlan() {
|
||||||
@ -246,6 +247,7 @@ export default {
|
|||||||
const width = this.size ? this.size.width : this._clientWidth;
|
const width = this.size ? this.size.width : this._clientWidth;
|
||||||
const height = this.size ? this.size.height : this._clientHeight;
|
const height = this.size ? this.size.height : this._clientHeight;
|
||||||
|
|
||||||
|
this.right = width /2 - 55;
|
||||||
this.$store.dispatch('config/resize', { width, height });
|
this.$store.dispatch('config/resize', { width, height });
|
||||||
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
@ -340,13 +342,12 @@ export default {
|
|||||||
},
|
},
|
||||||
// 加载地图数据
|
// 加载地图数据
|
||||||
async initLoadData() {
|
async initLoadData() {
|
||||||
// const width = document.documentElement.clientWidth;
|
|
||||||
// const height = document.documentElement.clientHeight + 200;
|
|
||||||
// this.$store.dispatch('config/resize', { width, height });
|
|
||||||
this.$store.dispatch('training/reset');
|
this.$store.dispatch('training/reset');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await this.loadSimulationInfo();
|
if (!this.isReplay) {
|
||||||
|
await this.loadSimulationInfo();
|
||||||
|
}
|
||||||
|
|
||||||
if (this.isReplay) {
|
if (this.isReplay) {
|
||||||
await this.initLoadReplayData();
|
await this.initLoadReplayData();
|
||||||
@ -356,7 +357,7 @@ export default {
|
|||||||
await this.initLoadScreenData();
|
await this.initLoadScreenData();
|
||||||
} else if (this.isPlan) {
|
} else if (this.isPlan) {
|
||||||
await this.initLoadTestRunData();
|
await this.initLoadTestRunData();
|
||||||
} else if (this.isTask) {
|
} else if (this.isScript) {
|
||||||
await this.initLoadTaskData();
|
await this.initLoadTaskData();
|
||||||
} else {
|
} else {
|
||||||
await this.initLoadLessonOrExamData();
|
await this.initLoadLessonOrExamData();
|
||||||
@ -524,7 +525,7 @@ export default {
|
|||||||
await this.$refs.menuScreen.back();
|
await this.$refs.menuScreen.back();
|
||||||
} else if (this.isPlan) {
|
} else if (this.isPlan) {
|
||||||
await this.$refs.menuPlan.back();
|
await this.$refs.menuPlan.back();
|
||||||
} else if (this.isTask) {
|
} else if (this.isScript) {
|
||||||
await this.$refs.menuScript.back();
|
await this.$refs.menuScript.back();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -62,7 +62,7 @@ export default {
|
|||||||
startLoading: false,
|
startLoading: false,
|
||||||
speed: '1X',
|
speed: '1X',
|
||||||
level: 1,
|
level: 1,
|
||||||
isPlay: true,
|
isPlay: false,
|
||||||
time: '',
|
time: '',
|
||||||
timeInterval: null,
|
timeInterval: null,
|
||||||
progress: 0,
|
progress: 0,
|
||||||
@ -95,6 +95,11 @@ export default {
|
|||||||
return this.isPlay ? '暂停' : '播放';
|
return this.isPlay ? '暂停' : '播放';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
watch: {
|
||||||
|
'$store.state.map.mapViewLoadedCount': function() {
|
||||||
|
this.isPlay = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
EventBus.$emit('showChat');
|
EventBus.$emit('showChat');
|
||||||
this.time = (+new Date(this.$route.query.destroyTime) - +new Date(this.$route.query.createTime)) / 1000;
|
this.time = (+new Date(this.$route.query.destroyTime) - +new Date(this.$route.query.createTime)) / 1000;
|
||||||
|
@ -7,9 +7,9 @@
|
|||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button v-if="isDemon" size="small" :disabled="viewDisabled" type="success" @click="viewRunQuest">加载剧本
|
<el-button v-if="isDemon" size="small" :disabled="viewDisabled" type="success" @click="viewRunQuest">加载剧本
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-if="runing" size="small" :disabled="viewDisabled" @click="viewRunPlan">运行图预览</el-button>
|
<el-button v-if="notScript && runing" size="small" :disabled="viewDisabled" @click="viewRunPlan">运行图预览</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="!runing && !isPlan"
|
v-if="!runing && !isPlan && notScript"
|
||||||
size="small"
|
size="small"
|
||||||
:disabled="viewDisabled"
|
:disabled="viewDisabled"
|
||||||
type="warning"
|
type="warning"
|
||||||
@ -59,11 +59,15 @@ export default {
|
|||||||
...mapGetters('runPlan', [
|
...mapGetters('runPlan', [
|
||||||
'stations'
|
'stations'
|
||||||
]),
|
]),
|
||||||
|
notScript() {
|
||||||
|
return this.$route.params.mode !== 'script';
|
||||||
|
},
|
||||||
isPlan() {
|
isPlan() {
|
||||||
return this.$route.params.mode === 'plan';
|
return this.$route.params.mode === 'plan';
|
||||||
},
|
},
|
||||||
isScript() {
|
isScript() {
|
||||||
return this.$route.params.mode === 'script';
|
// return this.$route.params.mode === 'script';
|
||||||
|
return false;
|
||||||
},
|
},
|
||||||
isDemon() {
|
isDemon() {
|
||||||
return this.$route.params.mode === 'demon';
|
return this.$route.params.mode === 'demon';
|
||||||
|
@ -13,14 +13,12 @@
|
|||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
<set-time ref="setTime" @ConfirmSelectBeginTime="start" />
|
<set-time ref="setTime" @ConfirmSelectBeginTime="start" />
|
||||||
<!-- <tip-script-record ref="tipTaskRecord" :group="group" /> -->
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<!-- 单人仿真 -->
|
<!-- 单人仿真 -->
|
||||||
<script>
|
<script>
|
||||||
import SetTime from './demon/setTime';
|
import SetTime from './demon/setTime';
|
||||||
import TipScriptRecord from './tipScriptRecord';
|
|
||||||
// import { mapGetters } from 'vuex';
|
// import { mapGetters } from 'vuex';
|
||||||
import { Notification } from 'element-ui';
|
import { Notification } from 'element-ui';
|
||||||
// import { getGoodsTryUse } from '@/api/management/goods';
|
// import { getGoodsTryUse } from '@/api/management/goods';
|
||||||
@ -37,7 +35,6 @@ export default {
|
|||||||
name: 'MenuTask',
|
name: 'MenuTask',
|
||||||
components: {
|
components: {
|
||||||
SetTime,
|
SetTime,
|
||||||
TipScriptRecord
|
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
group: {
|
group: {
|
||||||
|
@ -1,18 +1,22 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-if="isShowSystemTime" class="display-card" :style="{top: offset+'px'}">
|
<div v-if="isShowSystemTime" class="display-card" :style="{top: offset+'px', right: right+'px'}">
|
||||||
<system-time
|
<template v-if="pause">
|
||||||
v-if="isShowSystemTime"
|
<span class="display-pause">暂停中</span>
|
||||||
class="time"
|
</template>
|
||||||
:time="time"
|
<template v-else>
|
||||||
:zoom="1.3"
|
<system-time
|
||||||
:width="110"
|
class="display-time"
|
||||||
:height="32"
|
:time="time"
|
||||||
:fine="2"
|
:zoom="1.3"
|
||||||
:top="2"
|
:width="110"
|
||||||
/>
|
:height="32"
|
||||||
|
:fine="2"
|
||||||
|
:top="2"
|
||||||
|
/>
|
||||||
|
|
||||||
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { prefixIntrger } from '@/utils/date';
|
import { prefixIntrger } from '@/utils/date';
|
||||||
import SystemTime from '@/views/components/systemTime/index';
|
import SystemTime from '@/views/components/systemTime/index';
|
||||||
@ -26,6 +30,10 @@ export default {
|
|||||||
offset: {
|
offset: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true
|
||||||
|
},
|
||||||
|
right: {
|
||||||
|
type: Number,
|
||||||
|
required: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@ -35,7 +43,14 @@ export default {
|
|||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
isShowSystemTime() {
|
isShowSystemTime() {
|
||||||
return this.$route.params.mode == 'demon' || this.$route.params.mode == 'dp' || this.$route.params.mode == 'plan' || !this.$route.params.mode;
|
return this.$route.params.mode == 'demon' ||
|
||||||
|
this.$route.params.mode == 'dp' ||
|
||||||
|
this.$route.params.mode == 'plan' ||
|
||||||
|
this.$route.params.mode == 'script' ||
|
||||||
|
!this.$route.params.mode;
|
||||||
|
},
|
||||||
|
pause() {
|
||||||
|
return this.$store.state.scriptRecord.simulationPause;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -53,34 +68,21 @@ export default {
|
|||||||
z-index: 9;
|
z-index: 9;
|
||||||
display: inline;
|
display: inline;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
.display-pause {
|
||||||
|
font-size: 21px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: yellow;
|
||||||
|
}
|
||||||
|
|
||||||
|
.display-time{
|
||||||
border: 2px solid white;
|
border: 2px solid white;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
left: calc(50% - 55px);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.display-card .el-row {
|
.display-card .el-row {
|
||||||
line-height: 32px !important;
|
line-height: 32px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.display-score {
|
|
||||||
background-color: white;
|
|
||||||
display: -moz-inline-box;
|
|
||||||
display: inline-block;
|
|
||||||
text-align: left;
|
|
||||||
height: 32px;
|
|
||||||
line-height: 24px;
|
|
||||||
border-radius: 4px;
|
|
||||||
padding-left: 2px;
|
|
||||||
margin-left: 10px;
|
|
||||||
font-family: "Microsoft" !important;
|
|
||||||
font-size: 18px !important;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.display-draft {
|
|
||||||
position: absolute;
|
|
||||||
float: right;
|
|
||||||
right: 40px;
|
|
||||||
bottom: 28px;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -19,6 +19,8 @@
|
|||||||
<div id="jlsimulation" class="jlmap3ddraw">
|
<div id="jlsimulation" class="jlmap3ddraw">
|
||||||
<canvas id="canvastexture" />
|
<canvas id="canvastexture" />
|
||||||
</div>
|
</div>
|
||||||
|
<div id="jlcctv" class="jlmap3cctv">
|
||||||
|
</div>
|
||||||
|
|
||||||
<Drive-Mmi v-if="mmishow" ref="mmiui" />
|
<Drive-Mmi v-if="mmishow" ref="mmiui" />
|
||||||
|
|
||||||
@ -124,6 +126,13 @@ export default {
|
|||||||
this.stoptimes = newVal;
|
this.stoptimes = newVal;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
'jlmap3d.drivecount': {
|
||||||
|
handler: function (newVal, oldVal) {
|
||||||
|
if (newVal != oldVal) {
|
||||||
|
this.$refs.mmiui.updatedrivedata(this.jlmap3d.drivedata);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
@ -287,6 +296,17 @@ export default {
|
|||||||
z-index: -1;
|
z-index: -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.jlmap3cctv{
|
||||||
|
float: left;
|
||||||
|
left: 0;
|
||||||
|
top:0;
|
||||||
|
//left:20%;
|
||||||
|
width: 20%;
|
||||||
|
height: 20%;
|
||||||
|
position:absolute;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
#canvastexture {
|
#canvastexture {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
float: left;
|
float: left;
|
||||||
|
@ -112,21 +112,37 @@ export default {
|
|||||||
nowatpspeed:0,
|
nowatpspeed:0,
|
||||||
nowatospeed:0,
|
nowatospeed:0,
|
||||||
mmimodel:null,
|
mmimodel:null,
|
||||||
|
nstate:"tiaoting",
|
||||||
nimage:null,
|
nimage:null,
|
||||||
|
dstate:"info",
|
||||||
dimage:null,
|
dimage:null,
|
||||||
|
m1state:"rm",
|
||||||
m1image:null,
|
m1image:null,
|
||||||
|
m2state:"cbtc",
|
||||||
m2image:null,
|
m2image:null,
|
||||||
|
m3state:"zhefan",
|
||||||
m3image:null,
|
m3image:null,
|
||||||
|
m4state:"out",
|
||||||
m4image:null,
|
m4image:null,
|
||||||
|
m5state:"state15",
|
||||||
m5image:null,
|
m5image:null,
|
||||||
|
m6state:"fache",
|
||||||
m6image:null,
|
m6image:null,
|
||||||
|
m7state:"aoac",
|
||||||
m7image:null,
|
m7image:null,
|
||||||
|
m8state:"jinjizhidong",
|
||||||
m8image:null,
|
m8image:null,
|
||||||
|
m9state:"ato",
|
||||||
m9image:null,
|
m9image:null,
|
||||||
|
m10state:"jinduan",
|
||||||
m10image:null,
|
m10image:null,
|
||||||
|
c1state:"qianyin",
|
||||||
c1image:null,
|
c1image:null,
|
||||||
|
c2state:"rm",
|
||||||
c2image:null,
|
c2image:null,
|
||||||
|
c3state:"normal",
|
||||||
c3image:null,
|
c3image:null,
|
||||||
|
c5state:"normal",
|
||||||
c5image:null,
|
c5image:null,
|
||||||
images:null,
|
images:null,
|
||||||
}
|
}
|
||||||
@ -204,6 +220,75 @@ export default {
|
|||||||
this.mmimodel.updateato(atospeed);
|
this.mmimodel.updateato(atospeed);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
updatedrivedata(drivedata){
|
||||||
|
console.log(drivedata);
|
||||||
|
if(drivedata == "breaker"){
|
||||||
|
|
||||||
|
}
|
||||||
|
if(drivedata == "carwash"){
|
||||||
|
|
||||||
|
}
|
||||||
|
if(drivedata == "aircom"){
|
||||||
|
|
||||||
|
}
|
||||||
|
if(drivedata == "atb"){
|
||||||
|
|
||||||
|
}
|
||||||
|
if(drivedata == "bm"){
|
||||||
|
|
||||||
|
}
|
||||||
|
if(drivedata == "rm"){
|
||||||
|
if(this.m1state == "start"){
|
||||||
|
this.m1state = 'rm';
|
||||||
|
this.m1image = this.images.m1[this.m1state];
|
||||||
|
}else if(this.m1state == "rm"){
|
||||||
|
this.m1state = 'am';
|
||||||
|
this.m1image = this.images.m1[this.m1state];
|
||||||
|
}else if(this.m1state == "am"){
|
||||||
|
this.m1state = 'cm';
|
||||||
|
this.m1image = this.images.m1[this.m1state];
|
||||||
|
}else if(this.m1state == "cm"){
|
||||||
|
this.m1state = 'start';
|
||||||
|
this.m1image = this.images.m1[this.m1state];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
if(drivedata == "cbtc"){
|
||||||
|
if(this.m2state == "start"){
|
||||||
|
this.m2state = 'il';
|
||||||
|
this.m2image = this.images.m2[this.m2state];
|
||||||
|
}else if(this.m2state == "il"){
|
||||||
|
this.m2state = 'itc';
|
||||||
|
this.m2image = this.images.m2[this.m2state];
|
||||||
|
}else if(this.m2state == "itc"){
|
||||||
|
this.m2state = 'cbtc';
|
||||||
|
this.m2image = this.images.m2[this.m2state];
|
||||||
|
}else if(this.m2state == "cbtc"){
|
||||||
|
this.m2state = 'start';
|
||||||
|
this.m2image = this.images.m2[this.m2state];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//doormode
|
||||||
|
if(drivedata == "AA"){
|
||||||
|
this.m7state = 'aoac';
|
||||||
|
this.m7image = this.images.m7[this.m7state];
|
||||||
|
}
|
||||||
|
if(drivedata == "AM"){
|
||||||
|
this.m7state = 'aomc';
|
||||||
|
this.m7image = this.images.m7[this.m7state];
|
||||||
|
}
|
||||||
|
if(drivedata == "MM"){
|
||||||
|
this.m7state = 'momc';
|
||||||
|
this.m7image = this.images.m7[this.m7state];
|
||||||
|
}
|
||||||
|
|
||||||
|
if(drivedata == "elflute"){
|
||||||
|
|
||||||
|
}
|
||||||
|
if(drivedata == "relieve"){
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
updatelen(len) {
|
updatelen(len) {
|
||||||
//this.malen = 150+"px";
|
//this.malen = 150+"px";
|
||||||
if(len>=750){
|
if(len>=750){
|
||||||
|
@ -114,7 +114,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
handleDelete(index, row) {
|
handleDelete(index, row) {
|
||||||
this.$confirm(this.$t('global.dleeteTipContext'), this.$t('global.tips'), {
|
this.$confirm(this.$t('global.wellDelType'), this.$t('global.tips'), {
|
||||||
confirmButtonText: this.$t('global.confirm'),
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: this.$t('global.cancel'),
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
|
@ -32,7 +32,7 @@ export default {
|
|||||||
},
|
},
|
||||||
mobile: {
|
mobile: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
label: this.$t('system.mobile')
|
label: this.$t('global.mobile')
|
||||||
},
|
},
|
||||||
skinCode: {
|
skinCode: {
|
||||||
type: 'select',
|
type: 'select',
|
||||||
@ -68,7 +68,7 @@ export default {
|
|||||||
prop: 'creator.name'
|
prop: 'creator.name'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('system.mobile'),
|
title: this.$t('global.mobile'),
|
||||||
prop: 'creator.mobile'
|
prop: 'creator.mobile'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -170,7 +170,7 @@ export default {
|
|||||||
return sessionId;
|
return sessionId;
|
||||||
},
|
},
|
||||||
handleDelete(index, row) {
|
handleDelete(index, row) {
|
||||||
this.$confirm(this.$t('system.delUserSimulationIsContinue'), this.$t('global.tips'), {
|
this.$confirm(this.$t('system.wellDelUserSimulation'), this.$t('global.tips'), {
|
||||||
confirmButtonText: this.$t('global.confirm'),
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: this.$t('global.cancel'),
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
|
@ -55,11 +55,11 @@ export default {
|
|||||||
prop: 'nickname'
|
prop: 'nickname'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('system.mobile'),
|
title: this.$t('global.mobile'),
|
||||||
prop: 'mobile'
|
prop: 'mobile'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('system.email'),
|
title: this.$t('system.global.email'),
|
||||||
prop: 'email'
|
prop: 'email'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -100,7 +100,7 @@ export default {
|
|||||||
|
|
||||||
// 删除
|
// 删除
|
||||||
handleUserDelete(index, row) {
|
handleUserDelete(index, row) {
|
||||||
this.$confirm(this.$t('system.delTypeIsContinue'), this.$t('global.tips'), {
|
this.$confirm(this.$t('system.wellDelType'), this.$t('global.tips'), {
|
||||||
confirmButtonText: this.$t('global.confirm'),
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: this.$t('global.cancel'),
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
|
@ -75,7 +75,7 @@ export default {
|
|||||||
prop: 'userName'
|
prop: 'userName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('system.mobile'),
|
title: this.$t('global.mobile'),
|
||||||
prop: 'userMobile'
|
prop: 'userMobile'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -115,7 +115,7 @@ export default {
|
|||||||
|
|
||||||
// 删除
|
// 删除
|
||||||
handleDelete(index, row) {
|
handleDelete(index, row) {
|
||||||
this.$confirm(this.$t('system.delExamResultIsContinue'), this.$t('global.tips'), {
|
this.$confirm(this.$t('system.wellDelExamResult'), this.$t('global.tips'), {
|
||||||
confirmButtonText: this.$t('global.confirm'),
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: this.$t('global.cancel'),
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
|
@ -53,7 +53,7 @@ export default {
|
|||||||
prop: 'userName'
|
prop: 'userName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('system.mobile'),
|
title: this.$t('global.mobile'),
|
||||||
prop: 'userMobile'
|
prop: 'userMobile'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -135,7 +135,7 @@ export default {
|
|||||||
|
|
||||||
// 删除
|
// 删除
|
||||||
handleDelete(index, row) {
|
handleDelete(index, row) {
|
||||||
this.$confirm(this.$t('system.delUserSimulationIsContinue'), this.$t('global.tips'), {
|
this.$confirm(this.$t('system.wellDelUserSimulation'), this.$t('global.tips'), {
|
||||||
confirmButtonText: this.$t('global.confirm'),
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: this.$t('global.cancel'),
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
|
@ -48,7 +48,7 @@ export default {
|
|||||||
prop: 'userName'
|
prop: 'userName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('system.mobile'),
|
title: this.$t('global.mobile'),
|
||||||
prop: 'userMobile'
|
prop: 'userMobile'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -121,7 +121,7 @@ export default {
|
|||||||
|
|
||||||
// 删除
|
// 删除
|
||||||
handleDelete(index, row) {
|
handleDelete(index, row) {
|
||||||
this.$confirm(this.$t('system.delExamResultIsContinue'), this.$t('global.tips'), {
|
this.$confirm(this.$t('system.wellDelExamResult'), this.$t('global.tips'), {
|
||||||
confirmButtonText: this.$t('global.confirm'),
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: this.$t('global.cancel'),
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
|
@ -62,12 +62,8 @@
|
|||||||
@click="hover('endSectionCode')"
|
@click="hover('endSectionCode')"
|
||||||
>{{ $t('map.activate') }}</el-button>
|
>{{ $t('map.activate') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('map.destinationCode')" prop="remarks">
|
<el-form-item :label="$t('map.destinationCode')" prop="destinationCode">
|
||||||
<el-input v-model="addModel.destinationCode" style="width: 178px" />
|
<el-input v-model="addModel.destinationCode" />
|
||||||
<el-button
|
|
||||||
:type=" field === 'routingDestinationCode' ? 'danger' : 'primary'"
|
|
||||||
@click="hover('routingDestinationCode')"
|
|
||||||
>{{ $t('map.activate') }}</el-button>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('map.routingDirection')" prop="directionCode">
|
<el-form-item :label="$t('map.routingDirection')" prop="directionCode">
|
||||||
<el-select v-model="addModel.directionCode" clearable :filterable="true" :placeholder="$t('map.pleaseSelect')">
|
<el-select v-model="addModel.directionCode" clearable :filterable="true" :placeholder="$t('map.pleaseSelect')">
|
||||||
@ -299,12 +295,11 @@ export default {
|
|||||||
this.addModel.startSectionCode = selected.code;
|
this.addModel.startSectionCode = selected.code;
|
||||||
} else if (selected._type.toUpperCase() === 'Section'.toUpperCase() && this.field.toUpperCase() === 'endSectionCode'.toUpperCase()) {
|
} else if (selected._type.toUpperCase() === 'Section'.toUpperCase() && this.field.toUpperCase() === 'endSectionCode'.toUpperCase()) {
|
||||||
this.addModel.endSectionCode = selected.code;
|
this.addModel.endSectionCode = selected.code;
|
||||||
|
this.addModel.destinationCode = selected.destinationCode || '';
|
||||||
} else if (selected._type.toUpperCase() === 'Section'.toUpperCase() && this.field.toUpperCase() == 'routingSection'.toUpperCase()) {
|
} else if (selected._type.toUpperCase() === 'Section'.toUpperCase() && this.field.toUpperCase() == 'routingSection'.toUpperCase()) {
|
||||||
this.sectionCode = selected.code;
|
this.sectionCode = selected.code;
|
||||||
} else if (selected._type.toUpperCase() === 'Station'.toUpperCase() && this.field.toUpperCase() == 'routingStation'.toUpperCase()) {
|
} else if (selected._type.toUpperCase() === 'Station'.toUpperCase() && this.field.toUpperCase() == 'routingStation'.toUpperCase()) {
|
||||||
this.stationCode = selected.code;
|
this.stationCode = selected.code;
|
||||||
} else if (selected._type.toUpperCase() === 'Section'.toUpperCase() && this.field.toUpperCase() == 'routingDestinationCode'.toUpperCase()) {
|
|
||||||
this.addModel.destinationCode = selected.destinationCode || '';
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -98,7 +98,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button type="primary" :disabled="isSpeed" @click="back"><span>{{$t('global.previousStep')}}</span></el-button>
|
<el-button type="primary" :disabled="isSpeed" @click="back"><span>{{$t('global.lastStep')}}</span></el-button>
|
||||||
<el-button type="primary" :loading="loading" @click="next">
|
<el-button type="primary" :loading="loading" @click="next">
|
||||||
<span v-if="isSpeed && disabled">{{$t('global.skip')}}</span>
|
<span v-if="isSpeed && disabled">{{$t('global.skip')}}</span>
|
||||||
<span v-if="isSpeed && !disabled">{{$t('global.create')}}</span>
|
<span v-if="isSpeed && !disabled">{{$t('global.create')}}</span>
|
||||||
|
@ -8,8 +8,8 @@
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</div>
|
</div>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="handleClose">取 消</el-button>
|
<el-button @click="handleClose">{{ $t('global.cancel') }}</el-button>
|
||||||
<el-button type="primary" @click="handleSure">确 定</el-button>
|
<el-button type="primary" @click="handleSure">{{ $t('global.confirm') }}</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
<el-dialog :title="title" :visible.sync="show" width="800px" :before-close="doClose" center>
|
<el-dialog :title="title" :visible.sync="show" width="800px" :before-close="doClose" center>
|
||||||
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
|
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button type="primary" :disabled="disabled" @click="draftRule">{{ isAdd? '添加': '修改' }}
|
<el-button type="primary" :disabled="disabled" @click="draftRule">{{ isAdd? $t('global.add'): $t('global.edit') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button @click="doClose">取 消</el-button>
|
<el-button @click="doClose">{{ $t('global.cancel') }}</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
@ -51,7 +51,7 @@
|
|||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button v-if="!urlInfo.url" type="primary" @click="packForm">打包</el-button>
|
<el-button v-if="!urlInfo.url" type="primary" @click="packForm">打包</el-button>
|
||||||
<el-button v-if="urlInfo.url" type="primary" @click="qrcodeShow">获取二维码</el-button>
|
<el-button v-if="urlInfo.url" type="primary" @click="qrcodeShow">获取二维码</el-button>
|
||||||
<el-button type="primary" @click="turnback">返回</el-button>
|
<el-button type="primary" @click="turnback">{{ $t('global.back') }}</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
<edit-rule
|
<edit-rule
|
||||||
|
@ -27,19 +27,19 @@ export default {
|
|||||||
pageIndex: 'pageNum'
|
pageIndex: 'pageNum'
|
||||||
},
|
},
|
||||||
queryForm: {
|
queryForm: {
|
||||||
labelWidth: '120px',
|
labelWidth: '140px',
|
||||||
reset: true,
|
reset: true,
|
||||||
queryObject: {
|
queryObject: {
|
||||||
'type': {
|
'type': {
|
||||||
type: 'select',
|
type: 'select',
|
||||||
label: '权限类型',
|
label: this.$t('permission.permissionType'),
|
||||||
config: {
|
config: {
|
||||||
data: []
|
data: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'status': {
|
'status': {
|
||||||
type: 'select',
|
type: 'select',
|
||||||
label: '权限状态',
|
label: this.$t('permission.permissionStatus'),
|
||||||
value: '1',
|
value: '1',
|
||||||
config: {
|
config: {
|
||||||
data: []
|
data: []
|
||||||
@ -47,7 +47,7 @@ export default {
|
|||||||
},
|
},
|
||||||
'canDistribute': {
|
'canDistribute': {
|
||||||
type: 'select',
|
type: 'select',
|
||||||
label: '公用/专用',
|
label: this.$t('permission.permissionUseType'),
|
||||||
config: {
|
config: {
|
||||||
data: []
|
data: []
|
||||||
}
|
}
|
||||||
@ -60,26 +60,26 @@ export default {
|
|||||||
indexShow: true,
|
indexShow: true,
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: '权限类型',
|
title: this.$t('permission.permissionType'),
|
||||||
prop: 'type',
|
prop: 'type',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => { return this.$convertField(row.type, this.PermissionTypeList, ['value', 'label']); },
|
columnValue: (row) => { return this.$convertField(row.type, this.PermissionTypeList, ['value', 'label']); },
|
||||||
tagType: (row) => { return ''; }
|
tagType: (row) => { return ''; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '地图名称',
|
title: this.$t('permission.mapName'),
|
||||||
prop: 'mapName'
|
prop: 'mapName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '地图产品名称',
|
title: this.$t('permission.mapProductName'),
|
||||||
prop: 'mapProductName'
|
prop: 'mapProductName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '课程名称',
|
title: this.$t('permission.lessonName'),
|
||||||
prop: 'lessonName'
|
prop: 'lessonName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '公用/专用',
|
title: this.$t('permission.permissionUseType'),
|
||||||
prop: 'canDistribute',
|
prop: 'canDistribute',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => { return this.$ConstSelect.translate(row.canDistribute, 'PermissionUseList'); },
|
columnValue: (row) => { return this.$ConstSelect.translate(row.canDistribute, 'PermissionUseList'); },
|
||||||
@ -91,7 +91,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '是否永久',
|
title: this.$t('permission.isForever'),
|
||||||
prop: 'forever',
|
prop: 'forever',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => { return this.$ConstSelect.translate(row.forever, 'Whether'); },
|
columnValue: (row) => { return this.$ConstSelect.translate(row.forever, 'Whether'); },
|
||||||
@ -103,33 +103,33 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '权限总数',
|
title: this.$t('permission.permissionTotal'),
|
||||||
prop: 'amount'
|
prop: 'amount'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '剩余权限数量',
|
title: this.$t('permission.permissionRemains'),
|
||||||
prop: 'remains'
|
prop: 'remains'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '开始时间',
|
title: this.$t('permission.startTime'),
|
||||||
prop: 'startTime',
|
prop: 'startTime',
|
||||||
type: 'formatter',
|
type: 'formatter',
|
||||||
formatter: this.formatterDate
|
formatter: this.formatterDate
|
||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '结束时间',
|
title: this.$t('permission.endTime'),
|
||||||
prop: 'endTime',
|
prop: 'endTime',
|
||||||
type: 'formatter',
|
type: 'formatter',
|
||||||
formatter: this.formatterDate
|
formatter: this.formatterDate
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '权限归属人',
|
title: this.$t('permission.belonger'),
|
||||||
prop: 'ownerName',
|
prop: 'ownerName',
|
||||||
isShow: () => { return this.$store.state.user.roles.indexOf(superAdmin) != -1; }
|
isShow: () => { return this.$store.state.user.roles.indexOf(superAdmin) != -1; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '权限状态',
|
title: this.$t('permission.permissionStatus'),
|
||||||
prop: 'status',
|
prop: 'status',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => { return this.$convertField(row.status, this.EffectiveTypeList, ['value', 'label']); },
|
columnValue: (row) => { return this.$convertField(row.status, this.EffectiveTypeList, ['value', 'label']); },
|
||||||
@ -142,12 +142,12 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
title: '操作',
|
title: this.$t('global.operate'),
|
||||||
width: '200',
|
width: '200',
|
||||||
hide: () => { return this.$store.state.user.roles.indexOf(superAdmin) < 0; },
|
hide: () => { return this.$store.state.user.roles.indexOf(superAdmin) < 0; },
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
name: '设置归属人',
|
name: this.$t('permission.setBelonger'),
|
||||||
handleClick: this.handleRoleVest,
|
handleClick: this.handleRoleVest,
|
||||||
type: ''
|
type: ''
|
||||||
}
|
}
|
||||||
@ -155,7 +155,7 @@ export default {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
actions: [
|
actions: [
|
||||||
{ text: '打包权限', btnCode: 'employee_insert', handler: this.handlePermissionPack }
|
{ text: this.$t('permission.permissionPack'), btnCode: 'employee_insert', handler: this.handlePermissionPack }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1,107 +1,111 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog title="用户列表" :visible.sync="show" top="20px" width="90%" :before-doClose="doClose"
|
<el-dialog
|
||||||
:close-on-click-modal="false">
|
:title="$t('permission.userList')"
|
||||||
<QueryListPage ref="queryListPage" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList">
|
:visible.sync="show"
|
||||||
</QueryListPage>
|
top="20px"
|
||||||
</el-dialog>
|
width="90%"
|
||||||
|
:before-do-close="doClose"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
>
|
||||||
|
<QueryListPage ref="queryListPage" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" />
|
||||||
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getUserList } from '@/api/management/user';
|
import { getUserList } from '@/api/management/user';
|
||||||
import { putPermissionOwner } from '@/api/management/author';
|
import { putPermissionOwner } from '@/api/management/author';
|
||||||
import localStore from 'storejs';
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'selectRole',
|
name: 'SelectRole',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
show: false,
|
show: false,
|
||||||
roleId: '',
|
roleId: '',
|
||||||
pagerConfig: {
|
pagerConfig: {
|
||||||
pageSize: 'pageSize',
|
pageSize: 'pageSize',
|
||||||
pageIndex: 'pageNum'
|
pageIndex: 'pageNum'
|
||||||
},
|
},
|
||||||
queryForm: {
|
queryForm: {
|
||||||
labelWidth: '80px',
|
labelWidth: '80px',
|
||||||
reset: true,
|
reset: true,
|
||||||
queryObject: {
|
queryObject: {
|
||||||
name: {
|
name: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
label: '名称'
|
label: this.$t('global.name')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
queryList: {
|
queryList: {
|
||||||
query: getUserList,
|
query: getUserList,
|
||||||
selectCheckShow: false,
|
selectCheckShow: false,
|
||||||
indexShow: true,
|
indexShow: true,
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: '名称',
|
title: this.$t('global.name'),
|
||||||
prop: 'name'
|
prop: 'name'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '昵称',
|
title: this.$t('global.nickName'),
|
||||||
prop: 'nickname'
|
prop: 'nickname'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '电话',
|
title: this.$t('global.mobile'),
|
||||||
prop: 'mobile'
|
prop: 'mobile'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '邮箱',
|
title: this.$t('global.email'),
|
||||||
prop: 'email'
|
prop: 'email'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
title: '操作',
|
title: this.$t('global.operate'),
|
||||||
width: '250',
|
width: '250',
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
name: '选择',
|
name: this.$t('global.select'),
|
||||||
handleClick: this.selectRole,
|
handleClick: this.selectRole,
|
||||||
showControl: (row) => {
|
showControl: (row) => {
|
||||||
return row.id != this.$store.state.user.id;
|
return row.id != this.$store.state.user.id;
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
currentModel: {}
|
currentModel: {}
|
||||||
}
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
doShow(roleId) {
|
doShow(roleId) {
|
||||||
this.roleId = roleId;
|
this.roleId = roleId;
|
||||||
this.show = true;
|
this.show = true;
|
||||||
},
|
},
|
||||||
doClose() {
|
doClose() {
|
||||||
this.show = false;
|
this.show = false;
|
||||||
},
|
},
|
||||||
|
|
||||||
selectRole(index, row) {
|
selectRole(index, row) {
|
||||||
this.$confirm(`是否确定设置"${row.name}"为权限所属人`, '提示', {
|
this.$confirm(this.$t('permission.isSureSetBelonger').replace('{name}', row.name), this.$t('global.tips'), {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
putPermissionOwner({ id: this.roleId, owner: row }).then(resp => {
|
putPermissionOwner({ id: this.roleId, owner: row }).then(resp => {
|
||||||
this.$message.success('设置成功!');
|
this.$message.success(this.$t('permission.setSuccess'));
|
||||||
this.show = false;
|
this.show = false;
|
||||||
this.$emit('reloadTable');
|
this.$emit('reloadTable');
|
||||||
}).catch(error => {
|
}).catch(() => {
|
||||||
this.$messageBox('设置失败!');
|
this.$messageBox(this.$t('error.setFailed'));
|
||||||
})
|
});
|
||||||
}).catch(() => { });
|
}).catch(() => { });
|
||||||
},
|
},
|
||||||
|
|
||||||
reloadTable() {
|
reloadTable() {
|
||||||
this.queryList.reload()
|
this.queryList.reload();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -47,8 +47,8 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button @click="handleCancel">取 消</el-button>
|
<el-button @click="handleCancel">{{ $t('global.cancel') }}</el-button>
|
||||||
<el-button type="primary" @click="handleOk">确 定</el-button>
|
<el-button type="primary" @click="handleOk">{{ $t('global.confirm') }}</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
@ -67,9 +67,9 @@
|
|||||||
<el-input v-model="form.desc" type="textarea" placeholder="请填写试题描述" :disabled="isEdit" />
|
<el-input v-model="form.desc" type="textarea" placeholder="请填写试题描述" :disabled="isEdit" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item>
|
<!-- <el-form-item>
|
||||||
<el-button type="primary" @click="updateForm" v-if="isEdit">修改</el-button>
|
<el-button type="primary" @click="updateForm" v-if="isEdit">{{ $t('error.edit') }}</el-button>
|
||||||
<el-button type="primary" @click="submitForm" v-else>下一步</el-button>
|
<el-button type="primary" @click="submitForm" v-else>{{ $t('error.nextStep') }}</el-button>
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-card>
|
<el-card>
|
||||||
<div v-if="lessonName" slot="header" style="text-align: center;">
|
<div v-if="lessonName" slot="header" style="text-align: center;">
|
||||||
<b>课程名称: {{ lessonName }}</b>
|
<b>{{ $t('publish.lessonName') }}: {{ lessonName }}</b>
|
||||||
</div>
|
</div>
|
||||||
<!-- <turnback-bar :title="turnbackBarTitle"></turnback-bar> -->
|
<!-- <turnback-bar :title="turnbackBarTitle"></turnback-bar> -->
|
||||||
<div class="exam-box" :style="{ height: height +'px' }">
|
<div class="exam-box" :style="{ height: height +'px' }">
|
||||||
@ -20,11 +20,11 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
<div class="draft">
|
<div class="draft">
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button v-if="isPrevStep" type="primary" @click="prevStep">上一步</el-button>
|
<el-button v-if="isPrevStep" type="primary" @click="prevStep">{{ this.$t('global.lastStep') }}</el-button>
|
||||||
<el-button v-if="isNextStep" type="primary" @click="nextStep">下一步</el-button>
|
<el-button v-if="isNextStep" type="primary" @click="nextStep">{{ this.$t('global.lastStep') }}</el-button>
|
||||||
<el-button v-if="isUpdate" type="warning" @click="update">修改</el-button>
|
<el-button v-if="isUpdate" type="warning" @click="update">{{ $t('global.update') }}</el-button>
|
||||||
<el-button v-if="isCreate" type="primary" @click="create">创建</el-button>
|
<el-button v-if="isCreate" type="primary" @click="create">{{ $t('global.create') }}</el-button>
|
||||||
<el-button type="primary" @click="turnback">返回</el-button>
|
<el-button type="primary" @click="turnback">{{ $t('global.back') }}</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
|
@ -7,17 +7,17 @@
|
|||||||
<el-table-column prop="num" label="题数" width="100" />
|
<el-table-column prop="num" label="题数" width="100" />
|
||||||
<el-table-column prop="point" label="每题分值" width="100" />
|
<el-table-column prop="point" label="每题分值" width="100" />
|
||||||
<el-table-column prop="chapterIdLong" label="总分" width="100" />
|
<el-table-column prop="chapterIdLong" label="总分" width="100" />
|
||||||
<el-table-column label="操作" width="100">
|
<el-table-column :label="$t('global.operate')" width="100">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button type="text" size="small" @click="handleForm(scope)">修改</el-button>
|
<el-button type="text" size="small" @click="handleForm(scope)">{{ $t('global.edit') }}</el-button>
|
||||||
<el-button type="text" size="small" @click="deleteForm(scope)">删除</el-button>
|
<el-button type="text" size="small" @click="deleteForm(scope)">{{ $t('global.delete') }}</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<!-- <div class="btn-footer">
|
<!-- <div class="btn-footer">
|
||||||
<el-button @click="regulation">上一步</el-button>
|
<el-button @click="regulation">上一步</el-button>
|
||||||
<el-button type="primary" @click="creatOk">新增</el-button>
|
<el-button type="primary" @click="creatOk">新增</el-button>
|
||||||
</div> -->
|
</div> -->
|
||||||
<edit-rule
|
<edit-rule
|
||||||
ref="addRule"
|
ref="addRule"
|
||||||
:course-id="courseId"
|
:course-id="courseId"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-card>
|
<el-card>
|
||||||
<div v-if="lessonName" slot="header" style="text-align: center;">
|
<div v-if="lessonName" slot="header" style="text-align: center;">
|
||||||
<b>课程名称: {{ lessonName }}</b>
|
<b>{{ $t('publish.lessonName') }}: {{ lessonName }}</b>
|
||||||
</div>
|
</div>
|
||||||
<div :style="{ height: height +'px' }">
|
<div :style="{ height: height +'px' }">
|
||||||
<el-scrollbar wrap-class="scrollbar-wrapper" style="">
|
<el-scrollbar wrap-class="scrollbar-wrapper" style="">
|
||||||
@ -44,22 +44,22 @@ export default {
|
|||||||
lessonName: '',
|
lessonName: '',
|
||||||
height: '',
|
height: '',
|
||||||
queryForm: {
|
queryForm: {
|
||||||
labelWidth: '120px',
|
labelWidth: '160px',
|
||||||
queryObject: {
|
queryObject: {
|
||||||
'lessonId': {
|
'lessonId': {
|
||||||
type: this.$route.query.lessonId ? '' : 'select',
|
type: this.$route.query.lessonId ? '' : 'select',
|
||||||
label: '课程',
|
label: this.$t('publish.lessonName'),
|
||||||
config: {
|
config: {
|
||||||
data: []
|
data: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'name': {
|
'name': {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
label: '试卷名称'
|
label: this.$t('publish.paperName')
|
||||||
},
|
},
|
||||||
'creatorName': {
|
'creatorName': {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
label: '创建人'
|
label: this.$t('publish.creator')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
reset: !this.$route.query.lessonId
|
reset: !this.$route.query.lessonId
|
||||||
@ -70,7 +70,7 @@ export default {
|
|||||||
indexShow: true,
|
indexShow: true,
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: '课程名称',
|
title: this.$t('publish.lessonName'),
|
||||||
prop: 'lessonId',
|
prop: 'lessonId',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
show: !this.$route.query.lessonId,
|
show: !this.$route.query.lessonId,
|
||||||
@ -78,15 +78,15 @@ export default {
|
|||||||
tagType: (row) => { return ''; }
|
tagType: (row) => { return ''; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '试卷名称',
|
title: this.$t('publish.paperName'),
|
||||||
prop: 'name'
|
prop: 'name'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '创建人',
|
title: this.$t('publish.creator'),
|
||||||
prop: 'creatorName'
|
prop: 'creatorName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '是否试用',
|
title: this.$t('global.isTry'),
|
||||||
prop: 'trial',
|
prop: 'trial',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => { return this.$ConstSelect.translate(row.trial, 'Whether'); },
|
columnValue: (row) => { return this.$ConstSelect.translate(row.trial, 'Whether'); },
|
||||||
@ -98,28 +98,28 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '时长',
|
title: this.$t('global.duration'),
|
||||||
prop: 'duration',
|
prop: 'duration',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => { return this.durationField(row.duration); },
|
columnValue: (row) => { return this.durationField(row.duration); },
|
||||||
tagType: (row) => { return ''; }
|
tagType: (row) => { return ''; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '考试时间',
|
title: this.$t('publish.examTime'),
|
||||||
prop: 'startTime',
|
prop: 'startTime',
|
||||||
type: 'formatter',
|
type: 'formatter',
|
||||||
format: 'yyyy-MM-dd hh:ss'
|
format: 'yyyy-MM-dd hh:ss'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '满分',
|
title: this.$t('publish.fullMark'),
|
||||||
prop: 'fullPoint'
|
prop: 'fullPoint'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '及格分',
|
title: this.$t('publish.passScore'),
|
||||||
prop: 'passingPoint'
|
prop: 'passingPoint'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '状态',
|
title: this.$t('global.status'),
|
||||||
prop: 'status',
|
prop: 'status',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => { return this.$convertField(row.status, this.EffectiveTypeList, ['value', 'label']); },
|
columnValue: (row) => { return this.$convertField(row.status, this.EffectiveTypeList, ['value', 'label']); },
|
||||||
@ -132,23 +132,23 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
title: '操作',
|
title: this.$t('global.operate'),
|
||||||
width: '300',
|
width: '300',
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
name: '快速创建',
|
name: this.$t('global.fastCreate'),
|
||||||
type: 'primary',
|
type: 'primary',
|
||||||
handleClick: this.handleDistribute,
|
handleClick: this.handleDistribute,
|
||||||
showControl: (row) => { return row.bizType !== '02'; }
|
showControl: (row) => { return row.bizType !== '02'; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '修改',
|
name: this.$t('global.edit'),
|
||||||
type: 'primary',
|
type: 'primary',
|
||||||
showControl: (row) => { return row.creatorId == this.userId; },
|
showControl: (row) => { return row.creatorId == this.userId; },
|
||||||
handleClick: this.handleUpdate
|
handleClick: this.handleUpdate
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '下架',
|
name: this.$t('global.soldOut'),
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
handleClick: this.handleEfficacy,
|
handleClick: this.handleEfficacy,
|
||||||
showControl: (row) => {
|
showControl: (row) => {
|
||||||
@ -156,7 +156,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '上架',
|
name: this.$t('global.putaway'),
|
||||||
type: 'primary',
|
type: 'primary',
|
||||||
handleClick: this.handleEffective,
|
handleClick: this.handleEffective,
|
||||||
showControl: (row) => {
|
showControl: (row) => {
|
||||||
@ -164,7 +164,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '删除',
|
name: this.$t('global.delete'),
|
||||||
type: 'danger',
|
type: 'danger',
|
||||||
handleClick: this.deleteList,
|
handleClick: this.deleteList,
|
||||||
showControl: (row) => { return row.creatorId == this.userId; }
|
showControl: (row) => { return row.creatorId == this.userId; }
|
||||||
@ -173,7 +173,7 @@ export default {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
actions: [
|
actions: [
|
||||||
{ text: '新增', btnCode: 'employee_insert', handler: this.handleNormalAdd }
|
{ text: this.$t('global.add'), btnCode: 'employee_insert', handler: this.handleNormalAdd }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -238,57 +238,57 @@ export default {
|
|||||||
},
|
},
|
||||||
// 删除
|
// 删除
|
||||||
deleteList(index, data) {
|
deleteList(index, data) {
|
||||||
this.$confirm('此操作将删除该试卷, 是否继续?', '提示', {
|
this.$confirm(this.$t('publish.wellDelPaper'), this.$t('global.tips'), {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
deleteExam(data).then(res => {
|
deleteExam(data).then(res => {
|
||||||
this.queryList.reload();
|
this.queryList.reload();
|
||||||
this.$message({
|
this.$message({
|
||||||
type: 'success',
|
type: 'success',
|
||||||
message: '删除成功!'
|
message: this.$t('publish.setSuccess')
|
||||||
});
|
});
|
||||||
}).catch(res => {
|
}).catch(res => {
|
||||||
if (res.code == '500009') {
|
if (res.code == '500009') {
|
||||||
this.$message({ type: 'warning', message: '该试卷已被使用,不能删除' });
|
this.$message({ type: 'warning', message: this.$t('error.paperHasUseNotDel') });
|
||||||
} else {
|
} else {
|
||||||
this.$message({ type: 'error', message: '删除异常,请联系管理员' });
|
this.$message({ type: 'error', message: this.$t('error.deleteException') });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}).catch(() => { });
|
}).catch(() => { });
|
||||||
},
|
},
|
||||||
handleEfficacy(index, data) {
|
handleEfficacy(index, data) {
|
||||||
this.$confirm('此操作将此试卷下架?', '提示', {
|
this.$confirm(this.$t('publish.wellSoldOutPaper'), this.$t('global.tips'), {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
setExamEfficacy(data).then(res => {
|
setExamEfficacy(data).then(res => {
|
||||||
this.queryList.reload();
|
this.queryList.reload();
|
||||||
this.$message({
|
this.$message({
|
||||||
type: 'success',
|
type: 'success',
|
||||||
message: '设置成功!'
|
message: this.$t('publish.setSuccess')
|
||||||
});
|
});
|
||||||
}).catch(res => {
|
}).catch(res => {
|
||||||
this.$message({ type: 'warning', message: '设置失败,' + res.message });
|
this.$message({ type: 'warning', message: `${this.$t('error.setFailed')}${res.message}` });
|
||||||
});
|
});
|
||||||
}).catch(() => { });
|
}).catch(() => { });
|
||||||
},
|
},
|
||||||
handleEffective(index, data) {
|
handleEffective(index, data) {
|
||||||
this.$confirm('此操作将此试卷上架?', '提示', {
|
this.$confirm(this.$t('publish.wellPutawayPaper'), this.$t('global.tips'), {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
setExamEffectivey(data).then(res => {
|
setExamEffectivey(data).then(res => {
|
||||||
this.queryList.reload();
|
this.queryList.reload();
|
||||||
this.$message({
|
this.$message({
|
||||||
type: 'success',
|
type: 'success',
|
||||||
message: '设置成功!'
|
message: this.$t('publish.setSuccess')
|
||||||
});
|
});
|
||||||
}).catch(res => {
|
}).catch(res => {
|
||||||
this.$message({ type: 'warning', message: '设置失败,' + res.message });
|
this.$message({ type: 'warning', message: `${this.$t('error.setFailed')}${res.message}` });
|
||||||
});
|
});
|
||||||
}).catch(() => { });
|
}).catch(() => { });
|
||||||
}
|
}
|
||||||
|
@ -20,16 +20,16 @@ export default {
|
|||||||
pageIndex: 'pageNum'
|
pageIndex: 'pageNum'
|
||||||
},
|
},
|
||||||
queryForm: {
|
queryForm: {
|
||||||
labelWidth: '80px',
|
labelWidth: '140px',
|
||||||
reset: true,
|
reset: true,
|
||||||
queryObject: {
|
queryObject: {
|
||||||
name: {
|
name: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
label: '产品名称'
|
label: this.$t('publish.productName')
|
||||||
},
|
},
|
||||||
code: {
|
code: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
label: 'code'
|
label: this.$t('publish.productCode')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -39,49 +39,45 @@ export default {
|
|||||||
indexShow: true,
|
indexShow: true,
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: '产品名称',
|
title: this.$t('publish.productName'),
|
||||||
prop: 'name'
|
prop: 'name'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '皮肤类型',
|
title: this.$t('publish.skinType'),
|
||||||
prop: 'skinCode',
|
prop: 'skinCode',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => { return this.$convertField(row.skinCode, this.skinCodeList, ['code', 'name']); },
|
columnValue: (row) => { return this.$convertField(row.skinCode, this.skinCodeList, ['code', 'name']); },
|
||||||
tagType: (row) => { return ''; }
|
tagType: (row) => { return ''; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '产品code',
|
title: this.$t('publish.productCode'),
|
||||||
prop: 'code'
|
prop: 'code'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '产品类型',
|
title: this.$t('publish.productType'),
|
||||||
prop: 'prdType',
|
prop: 'prdType',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => { return this.$convertField(row.prdType, this.prdTypeList, ['code', 'name']); },
|
columnValue: (row) => { return this.$convertField(row.prdType, this.prdTypeList, ['code', 'name']); },
|
||||||
tagType: (row) => { return 'success'; }
|
tagType: (row) => { return 'success'; }
|
||||||
},
|
},
|
||||||
// {
|
|
||||||
// title: '产品说明',
|
|
||||||
// prop: 'remarks'
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
title: '操作',
|
title: this.$t('global.operate'),
|
||||||
width: '250',
|
width: '250',
|
||||||
buttons: [
|
buttons: [
|
||||||
// {
|
// {
|
||||||
// name: '删除',
|
// name: this.$t('global.delete'),
|
||||||
// handleClick: this.handleDelete,
|
// handleClick: this.handleDelete,
|
||||||
// type: 'danger'
|
// type: 'danger'
|
||||||
// },
|
// },
|
||||||
{
|
{
|
||||||
name: '上架',
|
name: this.$t('global.putaway'),
|
||||||
handleClick: this.handlePutaway,
|
handleClick: this.handlePutaway,
|
||||||
type: '',
|
type: '',
|
||||||
showControl: (row) => { return row.status != 1; }
|
showControl: (row) => { return row.status != 1; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '下架',
|
name: this.$t('global.soldOut'),
|
||||||
handleClick: this.handleSoldOut,
|
handleClick: this.handleSoldOut,
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
showControl: (row) => { return row.status == 1; }
|
showControl: (row) => { return row.status == 1; }
|
||||||
@ -111,49 +107,49 @@ export default {
|
|||||||
},
|
},
|
||||||
// 删除
|
// 删除
|
||||||
handleDelete(index, row) {
|
handleDelete(index, row) {
|
||||||
this.$confirm('此操作将删除此考试结果, 是否继续?', '提示', {
|
this.$confirm(this.$t('publish.wellDelType'), this.$t('global.tips'), {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
delTrainingList(row.id).then(response => {
|
delTrainingList(row.id).then(response => {
|
||||||
this.$message.success('删除成功');
|
this.$message.success(this.$t('publish.deleteSuccess'));
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
this.$messageBox('删除失败');
|
this.$messageBox(this.$t('error.deleteFailed'));
|
||||||
});
|
});
|
||||||
}).catch(() => { });
|
}).catch(() => { });
|
||||||
},
|
},
|
||||||
|
|
||||||
handlePutaway(index, row) {
|
handlePutaway(index, row) {
|
||||||
this.$confirm('此操作将上架此产品, 是否继续?', '提示', {
|
this.$confirm(this.$t('publish.wellPutawayProduct'), this.$t('global.tips'), {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
putMapProductOnLine(row.id).then(response => {
|
putMapProductOnLine(row.id).then(response => {
|
||||||
this.$message.success('操作成功');
|
this.$message.success(this.$t('publish.operationSuccess'));
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
this.$messageBox('操作失败');
|
this.$messageBox(this.$t('error.operationFailure'));
|
||||||
});
|
});
|
||||||
}).catch(() => { });
|
}).catch(() => { });
|
||||||
},
|
},
|
||||||
|
|
||||||
handleSoldOut(index, row) {
|
handleSoldOut(index, row) {
|
||||||
this.$confirm('此操作将下架此产品, 是否继续?', '提示', {
|
this.$confirm(this.$t('publish.wellSoldOutProduct'), this.$t('global.tips'), {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
putMapProductOffLine(row.id).then(response => {
|
putMapProductOffLine(row.id).then(response => {
|
||||||
this.$message.success('操作成功');
|
this.$message.success(this.$t('publish.operationSuccess'));
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
this.$messageBox('操作失败');
|
this.$messageBox(this.$t('error.operationFailure'));
|
||||||
});
|
});
|
||||||
}).catch(() => { });
|
}).catch(() => { });
|
||||||
},
|
},
|
||||||
|
@ -25,11 +25,11 @@ export default {
|
|||||||
queryObject: {
|
queryObject: {
|
||||||
name: {
|
name: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
label: '名称'
|
label: this.$t('global.name')
|
||||||
},
|
},
|
||||||
cityCode: {
|
cityCode: {
|
||||||
type: 'select',
|
type: 'select',
|
||||||
label: '所属城市',
|
label: this.$t('publish.city'),
|
||||||
config: {
|
config: {
|
||||||
data: []
|
data: []
|
||||||
}
|
}
|
||||||
@ -43,39 +43,39 @@ export default {
|
|||||||
indexShow: true,
|
indexShow: true,
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: '名称',
|
title: this.$t('global.name'),
|
||||||
prop: 'name'
|
prop: 'name'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '所属城市',
|
title: this.$t('publish.city'),
|
||||||
prop: 'cityCode',
|
prop: 'cityCode',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => { return this.$convertField(row.cityCode, this.cityList, ['code', 'name']); },
|
columnValue: (row) => { return this.$convertField(row.cityCode, this.cityList, ['code', 'name']); },
|
||||||
tagType: (row) => { return 'success'; }
|
tagType: (row) => { return 'success'; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '课程简介',
|
title: this.$t('publish.lessonIntroduction'),
|
||||||
prop: 'remarks'
|
prop: 'remarks'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
title: '操作',
|
title: this.$t('global.operate'),
|
||||||
width: '250',
|
width: '250',
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
name: '上架',
|
name: this.$t('global.putaway'),
|
||||||
handleClick: this.handlePutaway,
|
handleClick: this.handlePutaway,
|
||||||
type: '',
|
type: '',
|
||||||
showControl: (row) => { return row.status != 1; }
|
showControl: (row) => { return row.status != 1; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '下架',
|
name: this.$t('global.soldOut'),
|
||||||
handleClick: this.handleSoldOut,
|
handleClick: this.handleSoldOut,
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
showControl: (row) => { return row.status == 1; }
|
showControl: (row) => { return row.status == 1; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '删除',
|
name: this.$t('global.delete'),
|
||||||
handleClick: this.handleDelete,
|
handleClick: this.handleDelete,
|
||||||
type: 'danger',
|
type: 'danger',
|
||||||
showControl: () => { return this.isShow != -1; }
|
showControl: () => { return this.isShow != -1; }
|
||||||
@ -105,7 +105,7 @@ export default {
|
|||||||
this.queryForm.queryObject.cityCode.config.data.push({ value: elem.code, label: elem.name });
|
this.queryForm.queryObject.cityCode.config.data.push({ value: elem.code, label: elem.name });
|
||||||
});
|
});
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.$messageBox('加载城市列表失败');
|
this.$messageBox(this.$t('error.loadingCityListFailed'));
|
||||||
});
|
});
|
||||||
|
|
||||||
this.skinCodeList = [];
|
this.skinCodeList = [];
|
||||||
@ -119,50 +119,49 @@ export default {
|
|||||||
|
|
||||||
// 删除
|
// 删除
|
||||||
handleDelete(index, row) {
|
handleDelete(index, row) {
|
||||||
this.$confirm('此操作将删除该类型, 是否继续?', '提示', {
|
this.$confirm(this.$t('publish.wellDelType'), this.$t('global.tips'), {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
delPublishLesson(row.id).then(response => {
|
delPublishLesson(row.id).then(response => {
|
||||||
this.$message.success('删除成功');
|
this.$message.success(this.$t('publish.deleteSuccess'));
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
localStore.remove('mapId');
|
localStore.remove('mapId');
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
this.$messageBox('删除失败');
|
this.$messageBox(this.$t('error.deleteFailed'));
|
||||||
});
|
});
|
||||||
}).catch(() => { });
|
}).catch(() => { });
|
||||||
},
|
},
|
||||||
|
|
||||||
handlePutaway(index, row) {
|
handlePutaway(index, row) {
|
||||||
this.$confirm('此操作将上架此实训, 是否继续?', '提示', {
|
this.$confirm(this.$t('publish.wellPutawayTraining'), this.$t('global.tips'), {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
putLessonOnLine(row.id).then(response => {
|
putLessonOnLine(row.id).then(response => {
|
||||||
this.$message.success('操作成功');
|
this.$message.success(this.$t('publish.operationSuccess'));
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
this.$messageBox('操作失败');
|
this.$messageBox(this.$t('error.operationFailure'));
|
||||||
});
|
});
|
||||||
}).catch(() => { });
|
}).catch(() => { });
|
||||||
},
|
},
|
||||||
|
|
||||||
handleSoldOut(index, row) {
|
handleSoldOut(index, row) {
|
||||||
this.$confirm('此操作将下架此实训, 是否继续?', '提示', {
|
this.$confirm(this.$t('publish.wellSoldOutTraining'), this.$t('global.tips'), {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
putLessonOffLine(row.id).then(response => {
|
putLessonOffLine(row.id).then(response => {
|
||||||
this.$message.success('操作成功');
|
this.$message.success(this.$t('publish.operationSuccess'));
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
this.$messageBox('操作失败');
|
this.$messageBox(this.$t('error.operationFailure'));
|
||||||
});
|
});
|
||||||
}).catch(() => { });
|
}).catch(() => { });
|
||||||
},
|
},
|
||||||
|
@ -57,7 +57,7 @@ export default {
|
|||||||
rules() {
|
rules() {
|
||||||
const baseRules = {
|
const baseRules = {
|
||||||
name: [
|
name: [
|
||||||
{ required: true, message: '请输入地图的新名称', trigger: 'blur' }
|
{ required: true, message: this.$t('rules.pleaseInputMapName'), trigger: 'blur' }
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -94,9 +94,9 @@ export default {
|
|||||||
updatePublishMapName(this.formModel).then(response => {
|
updatePublishMapName(this.formModel).then(response => {
|
||||||
this.display = 2;
|
this.display = 2;
|
||||||
this.turnback();
|
this.turnback();
|
||||||
this.$message.success('更新成功');
|
this.$message.success(this.$t('publish.updateSuccess'));
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.$messageBox('更新失败');
|
this.$messageBox(this.$t('error.updateFailed'));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -27,7 +27,7 @@ export default {
|
|||||||
queryObject: {
|
queryObject: {
|
||||||
name: {
|
name: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
label: this.$t('publish.name')
|
label: this.$t('global.name')
|
||||||
},
|
},
|
||||||
cityCode: {
|
cityCode: {
|
||||||
type: 'select',
|
type: 'select',
|
||||||
@ -45,7 +45,7 @@ export default {
|
|||||||
indexShow: true,
|
indexShow: true,
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: this.$t('publish.name'),
|
title: this.$t('global.name'),
|
||||||
prop: 'name'
|
prop: 'name'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -142,7 +142,7 @@ export default {
|
|||||||
|
|
||||||
// 删除
|
// 删除
|
||||||
handleDelete(index, row) {
|
handleDelete(index, row) {
|
||||||
this.$confirm('此操作将删除该类型, 是否继续?', this.$t('global.tips'), {
|
this.$confirm(this.$t('publish.wellDelType'), this.$t('global.tips'), {
|
||||||
confirmButtonText: this.$t('global.confirm'),
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: this.$t('global.cancel'),
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@ -163,7 +163,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
handlePutaway(index, row) {
|
handlePutaway(index, row) {
|
||||||
this.$confirm('此操作将上架此地图, 是否继续?', this.$t('global.tips'), {
|
this.$confirm(this.$t('publish.wellPutawayMap'), this.$t('global.tips'), {
|
||||||
confirmButtonText: this.$t('global.confirm'),
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: this.$t('global.cancel'),
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@ -179,7 +179,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
handleSoldOut(index, row) {
|
handleSoldOut(index, row) {
|
||||||
this.$confirm('此操作将下架此地图, 是否继续?', this.$t('global.tips'), {
|
this.$confirm(this.$t('publish.wellSoldOutMap'), this.$t('global.tips'), {
|
||||||
confirmButtonText: this.$t('global.confirm'),
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: this.$t('global.cancel'),
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
|
@ -10,8 +10,8 @@
|
|||||||
>
|
>
|
||||||
<QueryListPage ref="pageRules" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" />
|
<QueryListPage ref="pageRules" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" />
|
||||||
<el-row type="flex" justify="center" class="button-group">
|
<el-row type="flex" justify="center" class="button-group">
|
||||||
<el-button type="primary" :loading="loading" @click="handleConfirm">选 择</el-button>
|
<el-button type="primary" :loading="loading" @click="handleConfirm">{{ $t('global.select') }}</el-button>
|
||||||
<el-button @click="dialogShow = false">取 消</el-button>
|
<el-button @click="dialogShow = false">{{ $t('global.cancel') }}</el-button>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
@ -38,7 +38,7 @@ export default {
|
|||||||
queryObject: {
|
queryObject: {
|
||||||
name: {
|
name: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
label: '运行图名称'
|
label: this.$t('publish.runPlanName')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -48,11 +48,11 @@ export default {
|
|||||||
radioShow: true,
|
radioShow: true,
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: '运行图名称',
|
title: this.$t('publish.runPlanName'),
|
||||||
prop: 'name'
|
prop: 'name'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '皮肤类型',
|
title: this.$t('publish.skinType'),
|
||||||
prop: 'skinCode',
|
prop: 'skinCode',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => {
|
columnValue: (row) => {
|
||||||
@ -68,7 +68,7 @@ export default {
|
|||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
title() {
|
title() {
|
||||||
return '选择模板运行图';
|
return this.$t('publish.selectTemplateRunPlan');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@ -98,7 +98,7 @@ export default {
|
|||||||
if (choose) {
|
if (choose) {
|
||||||
this.$emit('chooseConfirm', choose);
|
this.$emit('chooseConfirm', choose);
|
||||||
} else {
|
} else {
|
||||||
this.$messageBox(`请选择模板运行图`);
|
this.$messageBox(this.$t('publish.pleaseSelectTemplate'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -7,18 +7,18 @@
|
|||||||
<el-card class="forms">
|
<el-card class="forms">
|
||||||
<el-scrollbar wrap-class="scrollbar-wrapper" :style="{height:height -120 + 'px'}" style="padding-top: 40px">
|
<el-scrollbar wrap-class="scrollbar-wrapper" :style="{height:height -120 + 'px'}" style="padding-top: 40px">
|
||||||
<el-form ref="form" :model="model" :rules="rules" label-width="140px" size="small">
|
<el-form ref="form" :model="model" :rules="rules" label-width="140px" size="small">
|
||||||
<el-form-item label="选择地图:" prop="mapId">
|
<el-form-item :label="`${$t('publish.selectMap')}:`" prop="mapId">
|
||||||
<el-select v-model="model.mapId" filterable>
|
<el-select v-model="model.mapId" filterable>
|
||||||
<el-option v-for="item in mapList" :key="item.id" :label="item.name" :value="item.id" />
|
<el-option v-for="item in mapList" :key="item.id" :label="item.name" :value="item.id" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="运行图名称:" prop="planId">
|
<el-form-item :label="`${$t('publish.runPlanName')}:`" prop="planId">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="19">
|
<el-col :span="19">
|
||||||
<el-input v-model="model.planName" :readonly="true" />
|
<el-input v-model="model.planName" :readonly="true" />
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="4" :offset="1">
|
<el-col :span="4" :offset="1">
|
||||||
<el-button @click="handleChoose">选择 </el-button>
|
<el-button @click="handleChoose">{{ $t('global.select') }} </el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -27,8 +27,8 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
<div class="draft">
|
<div class="draft">
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button v-if="isAdd" type="primary" @click="create">创建</el-button>
|
<el-button v-if="isAdd" type="primary" @click="create">{{ $t('global.create') }}</el-button>
|
||||||
<el-button type="primary" @click="turnback">返回</el-button>
|
<el-button type="primary" @click="turnback">{{ $t('global.back') }}</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
<choose-template-plan ref="choose" @chooseConfirm="chooseConfirm" />
|
<choose-template-plan ref="choose" @chooseConfirm="chooseConfirm" />
|
||||||
@ -64,7 +64,7 @@ export default {
|
|||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
title() {
|
title() {
|
||||||
return '创建通用运行图';
|
return this.$t('publish.createCommonRunPlan');
|
||||||
},
|
},
|
||||||
isAdd() {
|
isAdd() {
|
||||||
return this.$route.params.mode.toUpperCase() == 'add'.toUpperCase();
|
return this.$route.params.mode.toUpperCase() == 'add'.toUpperCase();
|
||||||
@ -72,10 +72,10 @@ export default {
|
|||||||
rules() {
|
rules() {
|
||||||
const rules = {
|
const rules = {
|
||||||
mapId: [
|
mapId: [
|
||||||
{ required: true, message: '请选择地图', trigger: 'blur' }
|
{ required: true, message: this.$t('rules.mapInput'), trigger: 'blur' }
|
||||||
],
|
],
|
||||||
planId: [
|
planId: [
|
||||||
{ required: true, message: '请选择模板运行图', trigger: 'change' }
|
{ required: true, message: this.$t('rules.inputTemplateRunPlan'), trigger: 'change' }
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -118,10 +118,10 @@ export default {
|
|||||||
this.$refs['form'].validate((valid) => {
|
this.$refs['form'].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
createRunPlanCommon(this.buildModel()).then(response => {
|
createRunPlanCommon(this.buildModel()).then(response => {
|
||||||
this.$message.success('创建通用运行图成功');
|
this.$message.success(this.$t('publish.createCommonSuccess'));
|
||||||
this.$router.go(-1);
|
this.$router.go(-1);
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.$messageBox('创建通用运行图失败');
|
this.$messageBox(this.$t('error.createCommonRunPlanFailed'));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -24,11 +24,11 @@ export default {
|
|||||||
queryObject: {
|
queryObject: {
|
||||||
mapName: {
|
mapName: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
label: '地图名称'
|
label: this.$t('publish.mapName')
|
||||||
},
|
},
|
||||||
runPlanName: {
|
runPlanName: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
label: '运行图名称'
|
label: this.$t('publish.runPlanName')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -38,26 +38,26 @@ export default {
|
|||||||
indexShow: true,
|
indexShow: true,
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: '地图名称',
|
title: this.$t('publish.mapName'),
|
||||||
prop: 'mapName'
|
prop: 'mapName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '运行图名称',
|
title: this.$t('publish.runPlanName'),
|
||||||
prop: 'runPlanName'
|
prop: 'runPlanName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
title: '操作',
|
title: this.$t('global.operate'),
|
||||||
width: '350',
|
width: '350',
|
||||||
hide: () => { return this.$store.state.user.roles.indexOf(superAdmin) < 0; },
|
hide: () => { return this.$store.state.user.roles.indexOf(superAdmin) < 0; },
|
||||||
buttons: [
|
buttons: [
|
||||||
// {
|
// {
|
||||||
// name: '删除',
|
// name: this.$t('global.delete'),
|
||||||
// handleClick: this.handleDelete,
|
// handleClick: this.handleDelete,
|
||||||
// type: 'danger',
|
// type: 'danger',
|
||||||
// },
|
// },
|
||||||
{
|
{
|
||||||
name: '预览',
|
name: this.$t('global.preview'),
|
||||||
handleClick: this.handleView,
|
handleClick: this.handleView,
|
||||||
type: ''
|
type: ''
|
||||||
}
|
}
|
||||||
@ -65,7 +65,7 @@ export default {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
actions: [
|
actions: [
|
||||||
{ text: '创建', btnCode: 'employee_insert', handler: this.handleCreateCommonPlan }
|
{ text: this.$t('global.add'), btnCode: 'employee_insert', handler: this.handleCreateCommonPlan }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -82,9 +82,9 @@ export default {
|
|||||||
},
|
},
|
||||||
// 删除
|
// 删除
|
||||||
// handleDelete(index, row) {
|
// handleDelete(index, row) {
|
||||||
// this.$confirm('此操作将删除此通用运行图, 是否继续?', '提示', {
|
// this.$confirm('此操作将删除此通用运行图, 是否继续?', this.$t('global.tips'), {
|
||||||
// confirmButtonText: '确定',
|
// confirmButtonText: this.$t('global.confirm'),
|
||||||
// cancelButtonText: '取消',
|
// cancelButtonText: this.$t('global.cancel'),
|
||||||
// type: 'warning'
|
// type: 'warning'
|
||||||
// }).then(() => {
|
// }).then(() => {
|
||||||
|
|
||||||
|
@ -25,11 +25,11 @@ export default {
|
|||||||
queryObject: {
|
queryObject: {
|
||||||
name: {
|
name: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
label: '运行图名称'
|
label: this.$t('publish.runPlanName')
|
||||||
},
|
},
|
||||||
skinCode: {
|
skinCode: {
|
||||||
type: 'select',
|
type: 'select',
|
||||||
label: '皮肤类型',
|
label: this.$t('publish.skinType'),
|
||||||
config: {
|
config: {
|
||||||
data: []
|
data: []
|
||||||
}
|
}
|
||||||
@ -42,11 +42,11 @@ export default {
|
|||||||
indexShow: true,
|
indexShow: true,
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: '运行图名称',
|
title: this.$t('publish.runPlanName'),
|
||||||
prop: 'name'
|
prop: 'name'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '皮肤类型',
|
title: this.$t('publish.skinType'),
|
||||||
prop: 'skinCode',
|
prop: 'skinCode',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => {
|
columnValue: (row) => {
|
||||||
@ -55,26 +55,26 @@ export default {
|
|||||||
tagType: (row) => { return ''; }
|
tagType: (row) => { return ''; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '每日运行时间',
|
title: this.$t('publish.runEveryDayTime'),
|
||||||
prop: 'runDate'
|
prop: 'runDate'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '用户Id',
|
title: this.$t('publish.userId'),
|
||||||
prop: 'creatorId'
|
prop: 'creatorId'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
title: '操作',
|
title: this.$t('global.operate'),
|
||||||
width: '250',
|
width: '250',
|
||||||
hide: (row) => { return this.$store.state.user.roles.indexOf(superAdmin) < 0; },
|
hide: (row) => { return this.$store.state.user.roles.indexOf(superAdmin) < 0; },
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
name: '删除',
|
name: this.$t('global.delete'),
|
||||||
handleClick: this.handleDelete,
|
handleClick: this.handleDelete,
|
||||||
type: 'danger'
|
type: 'danger'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '预览',
|
name: this.$t('global.preview'),
|
||||||
handleClick: this.handleView,
|
handleClick: this.handleView,
|
||||||
type: ''
|
type: ''
|
||||||
}
|
}
|
||||||
@ -100,17 +100,17 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
handleDelete(index, row) {
|
handleDelete(index, row) {
|
||||||
this.$confirm('此操作将删除每日运行图, 是否继续?', '提示', {
|
this.$confirm(this.$t('publish.wellDelRunPlanEveryDay'), this.$t('global.tips'), {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
deleteRunPlanEveryDay(row.id).then(response => {
|
deleteRunPlanEveryDay(row.id).then(response => {
|
||||||
this.$message.success('删除成功');
|
this.$message.success(this.$t('publish.deleteSuccess'));
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
this.$messageBox('删除失败');
|
this.$messageBox(this.$t('error.deleteFailed'));
|
||||||
});
|
});
|
||||||
}).catch(() => { });
|
}).catch(() => { });
|
||||||
},
|
},
|
||||||
|
@ -25,11 +25,11 @@ export default {
|
|||||||
queryObject: {
|
queryObject: {
|
||||||
name: {
|
name: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
label: '运行图名称'
|
label: this.$t('publish.runPlanName')
|
||||||
},
|
},
|
||||||
skinCode: {
|
skinCode: {
|
||||||
type: 'select',
|
type: 'select',
|
||||||
label: '皮肤类型',
|
label: this.$t('publish.skinType'),
|
||||||
config: {
|
config: {
|
||||||
data: []
|
data: []
|
||||||
}
|
}
|
||||||
@ -42,11 +42,11 @@ export default {
|
|||||||
indexShow: true,
|
indexShow: true,
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: '运行图名称',
|
title: this.$t('publish.runPlanName'),
|
||||||
prop: 'name'
|
prop: 'name'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '皮肤类型',
|
title: this.$t('publish.skinType'),
|
||||||
prop: 'skinCode',
|
prop: 'skinCode',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => {
|
columnValue: (row) => {
|
||||||
@ -55,27 +55,27 @@ export default {
|
|||||||
tagType: (row) => { return ''; }
|
tagType: (row) => { return ''; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '创建时间',
|
title: this.$t('publish.createTime'),
|
||||||
prop: 'createTime'
|
prop: 'createTime'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
title: '操作',
|
title: this.$t('global.operate'),
|
||||||
width: '350',
|
width: '350',
|
||||||
hide: () => { return this.$store.state.user.roles.indexOf(superAdmin) < 0; },
|
hide: () => { return this.$store.state.user.roles.indexOf(superAdmin) < 0; },
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
name: '删除',
|
name: this.$t('global.delete'),
|
||||||
handleClick: this.handleDelete,
|
handleClick: this.handleDelete,
|
||||||
type: 'danger'
|
type: 'danger'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '生成每日运行图',
|
name: this.$t('publish.generateRunPlan'),
|
||||||
handleClick: this.handleGenerateEveryDay,
|
handleClick: this.handleGenerateEveryDay,
|
||||||
type: ''
|
type: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '预览',
|
name: this.$t('global.preview'),
|
||||||
handleClick: this.handleView,
|
handleClick: this.handleView,
|
||||||
type: ''
|
type: ''
|
||||||
}
|
}
|
||||||
@ -102,37 +102,37 @@ export default {
|
|||||||
},
|
},
|
||||||
// 删除
|
// 删除
|
||||||
handleDelete(index, row) {
|
handleDelete(index, row) {
|
||||||
this.$confirm('此操作将删除此运行图模板, 是否继续?', '提示', {
|
this.$confirm(this.$t('publish.wellDelTemplate'), this.$t('global.tips'), {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
deleteRunPlanTemplate(row.id).then(response => {
|
deleteRunPlanTemplate(row.id).then(response => {
|
||||||
this.$message.success('删除成功');
|
this.$message.success(this.$t('publish.deleteSuccess'));
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
if (error.code == 500) {
|
if (error.code == 500) {
|
||||||
this.$messageBox('删除失败');
|
this.$messageBox(this.$t('error.deleteFailed'));
|
||||||
} else if (error.code == 500009) {
|
} else if (error.code == 500009) {
|
||||||
this.$messageBox('该模板已被加载计划使用,无法删除');
|
this.$messageBox(this.$t('error.templateHasBeUse'));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}).catch(() => { });
|
}).catch(() => { });
|
||||||
},
|
},
|
||||||
// 生成每日运行图
|
// 生成每日运行图
|
||||||
handleGenerateEveryDay(index, row) {
|
handleGenerateEveryDay(index, row) {
|
||||||
this.$confirm('此操作将生成每日运行图, 是否继续?', '提示', {
|
this.$confirm(this.$t('publish.wellGenerateEveryRunPlan'), this.$t('global.tips'), {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
generateCommonRunPlanEveryDay(row.id).then(response => {
|
generateCommonRunPlanEveryDay(row.id).then(response => {
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
this.$message.success('生成通用每日运行图成功。');
|
this.$message.success(this.$t('publish.createCommonSuccess'));
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
this.$messageBox('生成通用每日运行图失败!');
|
this.$messageBox(this.$t('error.operationFailure'));
|
||||||
});
|
});
|
||||||
}).catch(() => { });
|
}).catch(() => { });
|
||||||
},
|
},
|
||||||
|
@ -24,7 +24,7 @@ export default {
|
|||||||
queryObject: {
|
queryObject: {
|
||||||
skinCode: {
|
skinCode: {
|
||||||
type: 'select',
|
type: 'select',
|
||||||
label: '皮肤类型',
|
label: this.$t('publish.skinType'),
|
||||||
config: {
|
config: {
|
||||||
data: []
|
data: []
|
||||||
}
|
}
|
||||||
@ -37,11 +37,11 @@ export default {
|
|||||||
indexShow: true,
|
indexShow: true,
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: '任务名称',
|
title: this.$t('publish.taskName'),
|
||||||
prop: 'name'
|
prop: 'name'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '皮肤类型',
|
title: this.$t('publish.skinType'),
|
||||||
prop: 'skinCode',
|
prop: 'skinCode',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => {
|
columnValue: (row) => {
|
||||||
@ -50,22 +50,22 @@ export default {
|
|||||||
tagType: (row) => { return ''; }
|
tagType: (row) => { return ''; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '创建时间',
|
title: this.$t('publish.createTime'),
|
||||||
prop: 'createTime'
|
prop: 'createTime'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
title: '操作',
|
title: this.$t('global.operate'),
|
||||||
width: '350',
|
width: '350',
|
||||||
hide: () => { return this.$store.state.user.roles.indexOf(superAdmin) < 0; },
|
hide: () => { return this.$store.state.user.roles.indexOf(superAdmin) < 0; },
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
name: '删除',
|
name: this.$t('global.delete'),
|
||||||
handleClick: this.handleDelete,
|
handleClick: this.handleDelete,
|
||||||
type: 'danger'
|
type: 'danger'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '查看详情',
|
name: this.$t('publish.detail'),
|
||||||
handleClick: this.handleDetail,
|
handleClick: this.handleDetail,
|
||||||
type: ''
|
type: ''
|
||||||
}
|
}
|
||||||
@ -92,20 +92,20 @@ export default {
|
|||||||
},
|
},
|
||||||
// 删除
|
// 删除
|
||||||
handleDelete(index, row) {
|
handleDelete(index, row) {
|
||||||
this.$confirm('此操作将删除此仿真脚本, 是否继续?', '提示', {
|
this.$confirm(this.$t('publish.wellDelTemplate'), this.$t('global.tips'), {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
deleteQuest(row.id).then(response => {
|
deleteQuest(row.id).then(response => {
|
||||||
this.$message.success('删除成功');
|
this.$message.success(this.$t('publish.deleteSuccess'));
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
if (error.code == 500) {
|
if (error.code == 500) {
|
||||||
this.$messageBox('删除失败');
|
this.$messageBox(this.$t('error.deleteFailed'));
|
||||||
} else if (error.code == 500009) {
|
} else if (error.code == 500009) {
|
||||||
this.$messageBox('该模板已被加载计划使用,无法删除');
|
this.$messageBox(this.$t('error.templateHasBeUse'));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}).catch(() => { });
|
}).catch(() => { });
|
||||||
@ -113,8 +113,7 @@ export default {
|
|||||||
|
|
||||||
// 查看详情
|
// 查看详情
|
||||||
handleDetail(index, row) {
|
handleDetail(index, row) {
|
||||||
console.log(index, row);
|
this.$messageBox(this.$t('global.notBeUse'));
|
||||||
this.$messageBox('该功能暂时未开启');
|
|
||||||
},
|
},
|
||||||
|
|
||||||
reloadTable() {
|
reloadTable() {
|
||||||
|
@ -21,11 +21,11 @@ export default {
|
|||||||
pageIndex: 'pageNum'
|
pageIndex: 'pageNum'
|
||||||
},
|
},
|
||||||
queryForm: {
|
queryForm: {
|
||||||
labelWidth: '80px',
|
labelWidth: '120px',
|
||||||
queryObject: {
|
queryObject: {
|
||||||
mapName: {
|
mapName: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
label: '地图名称'
|
label: this.$t('replay.mapName')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -35,19 +35,19 @@ export default {
|
|||||||
indexShow: true,
|
indexShow: true,
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: '地图名称',
|
title: this.$t('replay.mapName'),
|
||||||
prop: 'mapName'
|
prop: 'mapName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '创建人ID',
|
title: this.$t('replay.creatorId'),
|
||||||
prop: 'creatorId'
|
prop: 'creatorId'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '创建时间',
|
title: this.$t('replay.createTime'),
|
||||||
prop: 'createTime'
|
prop: 'createTime'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '状态',
|
title: this.$t('global.status'),
|
||||||
prop: 'status',
|
prop: 'status',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => { return this.$convertField(row.status, this.EffectiveTypeList, ['value', 'label']); },
|
columnValue: (row) => { return this.$convertField(row.status, this.EffectiveTypeList, ['value', 'label']); },
|
||||||
@ -60,17 +60,17 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
title: '操作',
|
title: this.$t('global.operate'),
|
||||||
width: '250',
|
width: '250',
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
name: '回放',
|
name: this.$t('replay.replay'),
|
||||||
handleClick: this.rePlay,
|
handleClick: this.rePlay,
|
||||||
type: '',
|
type: '',
|
||||||
showControl: (row) => { return row.status == '1'; }
|
showControl: (row) => { return row.status == '1'; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '删除',
|
name: this.$t('global.delete'),
|
||||||
handleClick: this.delete,
|
handleClick: this.delete,
|
||||||
type: 'danger',
|
type: 'danger',
|
||||||
showControl: (row) => { return this.role; }
|
showControl: (row) => { return this.role; }
|
||||||
@ -112,17 +112,17 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
delete(index, data) {
|
delete(index, data) {
|
||||||
this.$confirm('此操作将删除该回放, 是否继续?', '提示', {
|
this.$confirm(this.$t('replay.wellDelReplay'), this.$t('global.tips'), {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
delSimulationRecord(data.id).then(response => {
|
delSimulationRecord(data.id).then(response => {
|
||||||
this.$message.success('删除成功');
|
this.$message.success(this.$t('replay.deleteSuccess'));
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
this.$messageBox('删除失败');
|
this.$messageBox(this.$t('error.deleteFailedv'));
|
||||||
});
|
});
|
||||||
}).catch(() => { });
|
}).catch(() => { });
|
||||||
}
|
}
|
||||||
|
@ -82,6 +82,7 @@ export default {
|
|||||||
// debugger;
|
// debugger;
|
||||||
// this.$store
|
// this.$store
|
||||||
localStore.set("script_mapId", id);
|
localStore.set("script_mapId", id);
|
||||||
|
this.$store.dispatch('scriptRecord/updateScriptId',id);
|
||||||
this.getQuestPageList(id);
|
this.getQuestPageList(id);
|
||||||
},
|
},
|
||||||
async getQuestPageList(id){
|
async getQuestPageList(id){
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="script-parent">
|
<div class="script-parent">
|
||||||
<div class="script-card" />
|
<div class="script-card">
|
||||||
|
<tip-script-record ref="tipTaskRecord" :group="group"/>
|
||||||
|
</div>
|
||||||
<div class="script-display">
|
<div class="script-display">
|
||||||
<display ref="display" :size="size" />
|
<display ref="display" :size="size" />
|
||||||
</div>
|
</div>
|
||||||
@ -10,19 +12,22 @@
|
|||||||
<script>
|
<script>
|
||||||
import WindowResizeHandler from '@/mixin/WindowResizeHandler';
|
import WindowResizeHandler from '@/mixin/WindowResizeHandler';
|
||||||
import Display from '@/views/display/index';
|
import Display from '@/views/display/index';
|
||||||
|
import TipScriptRecord from './tipScriptRecord';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ScriptDisplay',
|
name: 'ScriptDisplay',
|
||||||
components: {
|
components: {
|
||||||
Display
|
Display,
|
||||||
|
TipScriptRecord
|
||||||
},
|
},
|
||||||
mixins: [WindowResizeHandler],
|
mixins: [WindowResizeHandler],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
size: {
|
size: {
|
||||||
width: document.documentElement.clientWidth - 600,
|
width: document.documentElement.clientWidth - 970,
|
||||||
height: document.documentElement.clientHeight
|
height: document.documentElement.clientHeight
|
||||||
}
|
},
|
||||||
|
group:this.$route.query.group,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -31,7 +36,7 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
resizeHandler() {
|
resizeHandler() {
|
||||||
this.size = { width: this._clientWidth - 600, height: this._clientHeight};
|
this.size = { width: this._clientWidth - 970, height: this._clientHeight};
|
||||||
},
|
},
|
||||||
loadInitData() {
|
loadInitData() {
|
||||||
}
|
}
|
||||||
@ -44,7 +49,7 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: row;
|
flex-flow: row;
|
||||||
.script-card {
|
.script-card {
|
||||||
width: 800px;
|
width: 970px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -15,12 +15,10 @@
|
|||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import GetAction from './scriptRecord/getAction';
|
import GetAction from '../scriptRecord/getAction';
|
||||||
import {saveScriptScenes, saveScriptData, dumpScriptData, updateMapLocation, scriptPause, executeScript} from '@/api/simulation';
|
import {saveScriptScenes, saveScriptData, dumpScriptData, updateMapLocation, scriptPause, executeScript} from '@/api/simulation';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -153,7 +151,7 @@ import {saveScriptScenes, saveScriptData, dumpScriptData, updateMapLocation, scr
|
|||||||
}).then(() => {
|
}).then(() => {
|
||||||
dumpScriptData(group).then(resp => {
|
dumpScriptData(group).then(resp => {
|
||||||
// this.isSaveStage = true;
|
// this.isSaveStage = true;
|
||||||
this.$parent.resetBeginTime();
|
this.$parent.$refs['display'].$refs['menuScript'].resetBeginTime();
|
||||||
this.$refs["getAction"].loadInitData();
|
this.$refs["getAction"].loadInitData();
|
||||||
this.initAutoSaveScript();
|
this.initAutoSaveScript();
|
||||||
this.$message.success('清除数据成功');
|
this.$message.success('清除数据成功');
|
@ -18,6 +18,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
// import localStore from 'storejs';
|
||||||
import { UrlConfig } from '@/router/index';
|
import { UrlConfig } from '@/router/index';
|
||||||
import {listPublishMap} from '@/api/jmap/map';
|
import {listPublishMap} from '@/api/jmap/map';
|
||||||
import WindowResizeHandler from '@/mixin/WindowResizeHandler';
|
import WindowResizeHandler from '@/mixin/WindowResizeHandler';
|
||||||
@ -31,7 +32,7 @@
|
|||||||
loading:false,
|
loading:false,
|
||||||
mapList: [],
|
mapList: [],
|
||||||
taskStatusList: [],
|
taskStatusList: [],
|
||||||
disabled:null,
|
disabled:true,
|
||||||
formModel: {
|
formModel: {
|
||||||
name: '',
|
name: '',
|
||||||
mapId: '',
|
mapId: '',
|
||||||
@ -77,6 +78,11 @@
|
|||||||
// return '创建剧本'
|
// return '创建剧本'
|
||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
|
watch:{
|
||||||
|
'$store.state.scriptRecord.scriptId': function (val) {
|
||||||
|
this.formModel.mapId=val;
|
||||||
|
}
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.loadInitData();
|
this.loadInitData();
|
||||||
},
|
},
|
||||||
@ -88,6 +94,7 @@
|
|||||||
this.mapList = [];
|
this.mapList = [];
|
||||||
listPublishMap().then(response => {
|
listPublishMap().then(response => {
|
||||||
this.mapList = response.data.map(elem => { return { value: elem.id, label: elem.name } });
|
this.mapList = response.data.map(elem => { return { value: elem.id, label: elem.name } });
|
||||||
|
this.formModel.mapId=this.$store.state.scriptRecord.scriptId|| this.mapList[0].value;
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
doCreate() {
|
doCreate() {
|
||||||
|
@ -8,40 +8,52 @@
|
|||||||
<el-option v-for="actionType in actionTypeList" :key="actionType.label" :label="actionType.label" :value="actionType.value"></el-option>
|
<el-option v-for="actionType in actionTypeList" :key="actionType.label" :label="actionType.label" :value="actionType.value"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<el-form-item :label="memberName" class="conditionVO" prop="actionVO.memberId">
|
<el-form-item label="讲述者" class="conditionVO" prop="actionVO.memberId">
|
||||||
<el-select v-model="modalData.actionVO.memberId" placeholder="请选择主体角色" :disabled="isPause&&isNotModify">
|
<el-select v-model="modalData.actionVO.memberId" placeholder="请选择讲述者" :disabled="isPause&&isNotModify">
|
||||||
<el-option v-for="member in memberList" :key="member.id" :label="member.role+(member.name==undefined?'':member.name)" :value="member.id"></el-option>
|
<el-option v-for="member in memberList" :key="member.id" :label="member.role+(member.name==undefined?'':member.name)" :value="member.id"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="接收者" class="conditionVO" prop="actionVO.targetId" v-if="isConversitionAdd">
|
<el-form-item label="接收者" class="conditionVO" prop="actionVO.targetId">
|
||||||
<el-select v-model="modalData.actionVO.targetId" placeholder="请选择目标角色" :disabled="isPause&&isNotModify">
|
<el-select v-model="modalData.actionVO.targetId" placeholder="请选择接收者" :disabled="isPause&&isNotModify">
|
||||||
<el-option v-for="member in memberList" :key="member.id" :label="member.role+(member.name==undefined?'':member.name)" :value="member.id"></el-option>
|
<el-option v-for="member in memberList" :key="member.id" :label="member.role+(member.name==undefined?'':member.name)" :value="member.id"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="内容" class="conditionVO" prop="actionVO.reply" v-if="isConversitionAdd">
|
<el-form-item label="内容" class="conditionVO" prop="actionVO.reply">
|
||||||
<el-input v-model="modalData.actionVO.reply" type="textarea" class="textareaStyle" rows="3" :disabled="isPause&&isNotModify"></el-input>
|
<el-input v-model="modalData.actionVO.reply" type="textarea" class="textareaStyle" rows="3" :disabled="isPause&&isNotModify"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="设备指令" class="conditionVO" prop="actionVO.deviceCommand" v-if="isCommandAdd">
|
|
||||||
<el-select v-model="modalData.actionVO.deviceCommand " placeholder="请选择设备指令" @change="changeCommand" class="inputStyle" :disabled="isPause&&isModify">
|
|
||||||
<el-option v-for="deviceCommand in deviceCommandList" :key="deviceCommand.deviceCommand" :label="deviceCommand.label" :value="deviceCommand.deviceCommand"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="起始站台" class="conditionVO" v-if="isJinLu" prop="param.startStation">
|
|
||||||
<el-select v-model="modalData.param.startStation " placeholder="请选择起始站台" class="inputStyle" :disabled="isPause&&isNotModify">
|
|
||||||
<el-option v-for="station in stationList" :key="station.code" :label="station.name" :value="station.code"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="终点站台" class="conditionVO" v-if="isJinLu" prop="param.endStation">
|
|
||||||
<el-select v-model="modalData.param.endStation " placeholder="请选择终点站台" class="inputStyle" :disabled="isPause&&isNotModify">
|
|
||||||
<el-option v-for="station in stationList" :key="station.code" :label="station.name" :value="station.code"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="addScriptActionInfo('modalData')" :disabled="isPause&&isNotModify" :loading="modifying">{{buttonName}}</el-button>
|
<el-button type="primary" @click="addScriptActionInfo('modalData')" :disabled="isPause&&isNotModify" :loading="modifying">{{buttonName}}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
<el-card class="commandCard">
|
||||||
|
<div class="addCommand">添加指令</div>
|
||||||
|
<el-form :model="commandData" ref="commandData" :rules="commandRules" label-width="100px" class="actionInfo" label-position="right">
|
||||||
|
<el-form-item label="执行者" class="conditionVO" prop="action.memberId">
|
||||||
|
<el-select v-model="commandData.action.memberId" placeholder="请选择执行者" :disabled="isPause" @change="changeRole">
|
||||||
|
<el-option v-for="member in memberList" :key="member.id" :label="member.role+(member.name==undefined?'':member.name)" :value="member.id"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="执行指令" class="conditionVO" prop="action.deviceCommand">
|
||||||
|
<el-select v-model="commandData.action.deviceCommand " placeholder="请选择执行指令" @change="changeCommand" class="inputStyle" :disabled="isPause">
|
||||||
|
<el-option v-for="deviceCommand in deviceCommandList" :key="deviceCommand.deviceCommand" :label="deviceCommand.label" :value="deviceCommand.deviceCommand"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="起始站台" class="conditionVO" v-if="isJinLu" prop="param.startStation">
|
||||||
|
<el-select v-model="commandData.param.startStation " placeholder="请选择起始站台" class="inputStyle" :disabled="isPause">
|
||||||
|
<el-option v-for="station in stationList" :key="station.code" :label="station.name" :value="station.code"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="终点站台" class="conditionVO" v-if="isJinLu" prop="param.endStation">
|
||||||
|
<el-select v-model="commandData.param.endStation " placeholder="请选择终点站台" class="inputStyle" :disabled="isPause">
|
||||||
|
<el-option v-for="station in stationList" :key="station.code" :label="station.name" :value="station.code"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="addCommandAction('commandData')" :disabled="isPause" :loading="adding">添加指令</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@ -84,6 +96,8 @@
|
|||||||
'$store.state.scriptRecord.simulationPause': function(val){
|
'$store.state.scriptRecord.simulationPause': function(val){
|
||||||
this.isPause=!(this.$store.state.scriptRecord.simulationPause);
|
this.isPause=!(this.$store.state.scriptRecord.simulationPause);
|
||||||
this.$parent.$parent.$parent.setIsParse(this.isPause);
|
this.$parent.$parent.$parent.setIsParse(this.isPause);
|
||||||
|
this.$refs['modalData'].clearValidate();
|
||||||
|
this.$refs['commandData'].clearValidate();
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@ -94,26 +108,31 @@
|
|||||||
targetId:"",
|
targetId:"",
|
||||||
reply:"",
|
reply:"",
|
||||||
type:"Conversation",
|
type:"Conversation",
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
commandData:{
|
||||||
|
action:{
|
||||||
|
memberId:"",
|
||||||
deviceCommand:"",
|
deviceCommand:"",
|
||||||
commandParamList:[]
|
commandParamList:[],
|
||||||
|
type:"Command",
|
||||||
},
|
},
|
||||||
param:{
|
param:{
|
||||||
startStation:"",
|
startStation:"",
|
||||||
endStation:"",
|
endStation:"",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
deviceTypeReadOnly:false,
|
|
||||||
isPause:false,
|
isPause:false,
|
||||||
isNotModify:true,
|
isNotModify:true,
|
||||||
modifying:false,
|
modifying:false,
|
||||||
memberName:"讲述者",
|
adding:false,
|
||||||
isConversitionAdd:true,
|
|
||||||
isCommandAdd:false,
|
|
||||||
actionTypeList:DeviceTypeDic.ConstSelect.actionType,
|
actionTypeList:DeviceTypeDic.ConstSelect.actionType,
|
||||||
isJinLu:false,
|
isJinLu:false,
|
||||||
stationList:[],
|
stationList:[],
|
||||||
memberList:[],
|
memberList:[],
|
||||||
deviceCommandList:[],
|
deviceCommandList:[],
|
||||||
|
orginMemberList:[],
|
||||||
rules:{
|
rules:{
|
||||||
actionVO:{
|
actionVO:{
|
||||||
memberId:[
|
memberId:[
|
||||||
@ -126,6 +145,16 @@
|
|||||||
{ required: true, message: '请选择目标角色', trigger: 'change' }
|
{ required: true, message: '请选择目标角色', trigger: 'change' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
commandRules:{
|
||||||
|
action:{
|
||||||
|
memberId:[
|
||||||
|
{ required: true, message: '请选择主体角色', trigger: 'change' }
|
||||||
|
],
|
||||||
|
deviceCommand:[
|
||||||
|
{ required: true, message: '请选择执行指令', trigger: 'change' }
|
||||||
|
]
|
||||||
|
},
|
||||||
param:{
|
param:{
|
||||||
startStation:[
|
startStation:[
|
||||||
{ required: true, message: '请选择起始站台', trigger: 'change' }
|
{ required: true, message: '请选择起始站台', trigger: 'change' }
|
||||||
@ -144,6 +173,7 @@
|
|||||||
initData(){
|
initData(){
|
||||||
getScriptMemberData(this.group).then(resp => {
|
getScriptMemberData(this.group).then(resp => {
|
||||||
let roleTypeList=ConstConfig.ConstSelect.roleType;
|
let roleTypeList=ConstConfig.ConstSelect.roleType;
|
||||||
|
this.orginMemberList=resp.data;
|
||||||
let lastData=JSON.stringify(resp.data);
|
let lastData=JSON.stringify(resp.data);
|
||||||
roleTypeList.forEach(function(element){
|
roleTypeList.forEach(function(element){
|
||||||
let rolename=element.value;
|
let rolename=element.value;
|
||||||
@ -151,12 +181,21 @@
|
|||||||
});
|
});
|
||||||
lastData=JSON.parse(lastData);
|
lastData=JSON.parse(lastData);
|
||||||
this.memberList=lastData;
|
this.memberList=lastData;
|
||||||
getAvailableDeviceCommand().then(response=>{
|
this.getDeviceCode();
|
||||||
this.deviceCommandList=response.data;
|
|
||||||
this.getDeviceCode();
|
|
||||||
});
|
|
||||||
}).catch(error => {})
|
}).catch(error => {})
|
||||||
},
|
},
|
||||||
|
changeRole(index){
|
||||||
|
let role=this.orginMemberList.find(elem=>{return elem.id==index}).role;
|
||||||
|
let data={role:role};
|
||||||
|
getAvailableDeviceCommand(data).then(response=>{
|
||||||
|
this.deviceCommandList=response.data;
|
||||||
|
if(response.data.length<=0)
|
||||||
|
{
|
||||||
|
this.commandData.action.deviceCommand="";
|
||||||
|
this.isJinLu=false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
getDeviceCode(){
|
getDeviceCode(){
|
||||||
let params = {deviceType:"StationStand"};
|
let params = {deviceType:"StationStand"};
|
||||||
let group=this.group;
|
let group=this.group;
|
||||||
@ -166,15 +205,37 @@
|
|||||||
this.stationList=resultData;
|
this.stationList=resultData;
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
addCommandAction(formName){
|
||||||
|
this.$refs[formName].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
let group=this.group;
|
||||||
|
this.commandData.action.type="Command";
|
||||||
|
if(this.commandData.action.deviceCommand=="Train_Manual_Route_Blocking_Drive")
|
||||||
|
{this.commandData.action.commandParamList=[this.commandData.param.startStation,this.commandData.param.endStation];}
|
||||||
|
let data=this.commandData.action;
|
||||||
|
let obj=this;
|
||||||
|
this.adding=true;
|
||||||
|
addScriptAction(group,data).then(response=>{
|
||||||
|
this.adding=false;
|
||||||
|
this.$message.success('添加指令成功');
|
||||||
|
this.$emit('create',true);
|
||||||
|
this.initCommandActionData();
|
||||||
|
}).catch(error => {
|
||||||
|
this.adding=false;
|
||||||
|
this.$messageBox(`添加指令失败: ${error.message}`);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
console.log('error submit!!');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
addScriptActionInfo(formName){
|
addScriptActionInfo(formName){
|
||||||
this.$refs[formName].validate((valid) => {
|
this.$refs[formName].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
let group=this.group;
|
let group=this.group;
|
||||||
if(this.modalData.actionVO.deviceCommand==""){
|
this.modalData.actionVO.type="Conversation";
|
||||||
delete this.modalData.actionVO.deviceCommand;
|
|
||||||
}
|
|
||||||
if(this.modalData.actionVO.deviceCommand=="Train_Manual_Route_Blocking_Drive")
|
|
||||||
{this.modalData.actionVO.commandParamList=[this.modalData.param.startStation,this.modalData.param.endStation];}
|
|
||||||
let data=this.modalData.actionVO;
|
let data=this.modalData.actionVO;
|
||||||
let obj=this;
|
let obj=this;
|
||||||
this.modifying=true;
|
this.modifying=true;
|
||||||
@ -182,13 +243,12 @@
|
|||||||
{
|
{
|
||||||
addScriptAction(group,data).then(response=>{
|
addScriptAction(group,data).then(response=>{
|
||||||
this.modifying=false;
|
this.modifying=false;
|
||||||
this.$message.success('添加动作成功');
|
this.$message.success('添加对话成功');
|
||||||
this.$emit('create');
|
this.$emit('create',true);
|
||||||
// this.resetDisabled();
|
|
||||||
this.initActionData();
|
this.initActionData();
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
this.modifying=false;
|
this.modifying=false;
|
||||||
this.$messageBox(`添加动作失败: ${error.message}`);
|
this.$messageBox(`添加对话失败: ${error.message}`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -196,17 +256,15 @@
|
|||||||
let actionId=this.modalData.actionVO.id;
|
let actionId=this.modalData.actionVO.id;
|
||||||
modifyScriptAction(group,actionId,data).then(response=>{
|
modifyScriptAction(group,actionId,data).then(response=>{
|
||||||
this.modifying=false;
|
this.modifying=false;
|
||||||
|
|
||||||
this.isNotModify=true;
|
this.isNotModify=true;
|
||||||
this.$parent.$parent.$parent.setDisabled(this.isNotModify);
|
this.$parent.$parent.$parent.setDisabled(this.isNotModify);
|
||||||
this.$emit('modifyButtonName');
|
this.$emit('modifyButtonName');
|
||||||
this.$message.success('修改动作成功');
|
this.$message.success('修改对话成功');
|
||||||
this.$emit('create');
|
this.$emit('create',false);
|
||||||
// this.resetDisabled();
|
|
||||||
this.initActionData();
|
this.initActionData();
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
this.modifying=false;
|
this.modifying=false;
|
||||||
this.$messageBox(`修改动作失败: ${error.message}`);
|
this.$messageBox(`修改对话失败: ${error.message}`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -220,73 +278,38 @@
|
|||||||
if(this.$refs['modalData'])
|
if(this.$refs['modalData'])
|
||||||
{
|
{
|
||||||
this.$refs['modalData'].resetFields();
|
this.$refs['modalData'].resetFields();
|
||||||
// this.$nextTick(function(){
|
this.modalData.actionVO.type="Conversation";
|
||||||
this.memberName="讲述者";
|
this.modalData.actionVO.memberId="";
|
||||||
this.deviceTypeReadOnly=false;
|
this.modalData.actionVO.targetId="";
|
||||||
this.modalData.actionVO.type="Conversation";
|
this.modalData.actionVO.reply="";
|
||||||
this.modalData.actionVO.memberId="";
|
|
||||||
this.modalData.actionVO.targetId="";
|
|
||||||
// this.modalData.actionVO.deviceCommand="";
|
|
||||||
this.modalData.actionVO.reply="";
|
|
||||||
this.modalData.param.startStation="";
|
|
||||||
this.isConversitionAdd=true;
|
|
||||||
this.isCommandAdd=false;
|
|
||||||
this.isJinLu=false;
|
|
||||||
this.modalData.param.endStation="";
|
|
||||||
// });
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
clearValidate(){
|
clearValidate(){
|
||||||
if(this.$refs['modalData'])
|
if(this.$refs['commandData'])
|
||||||
{
|
{
|
||||||
this.$refs['modalData'].clearValidate();
|
this.$refs['commandData'].clearValidate();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
initActionData(){
|
initActionData(){
|
||||||
this.resetDisabled();
|
this.resetDisabled();
|
||||||
},
|
},
|
||||||
changeType(index){
|
initCommandActionData(){
|
||||||
switch(index)
|
if(this.$refs['commandData'])
|
||||||
{
|
{
|
||||||
case "Conversation":{
|
this.$refs['commandData'].resetFields();
|
||||||
this.memberName="讲述者";
|
this.commandData.action.memberId="";
|
||||||
this.isConversitionAdd=true;
|
this.commandData.param.startStation="";
|
||||||
this.isCommandAdd=false;
|
this.isJinLu=false;
|
||||||
this.isJinLu=false;
|
this.commandData.param.endStation="";
|
||||||
this.clearValidate();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "Command":{
|
|
||||||
this.memberName="执行者";
|
|
||||||
this.isConversitionAdd=false;
|
|
||||||
this.isCommandAdd=true;
|
|
||||||
//
|
|
||||||
if(this.modalData.actionVO.deviceCommand=="Train_Manual_Route_Blocking_Drive")
|
|
||||||
{
|
|
||||||
this.isJinLu=true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
this.isJinLu=false;
|
|
||||||
}
|
|
||||||
this.clearValidate();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default:{
|
|
||||||
this.clearValidate();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
changeCommand(index){
|
changeCommand(index){
|
||||||
this.modalData.actionVO.deviceCommand
|
|
||||||
switch(index)
|
switch(index)
|
||||||
{
|
{
|
||||||
case "Train_Manual_Route_Blocking_Drive":{
|
case "Train_Manual_Route_Blocking_Drive":{
|
||||||
this.isJinLu=true;
|
this.isJinLu=true;
|
||||||
this.getDeviceCode();
|
this.getDeviceCode();
|
||||||
this.clearValidate();
|
this.clearValidate();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:{
|
default:{
|
||||||
@ -307,30 +330,26 @@
|
|||||||
this.modalData.actionVO.id=data.id;
|
this.modalData.actionVO.id=data.id;
|
||||||
this.modalData.actionVO.memberId=data.memberId;
|
this.modalData.actionVO.memberId=data.memberId;
|
||||||
this.modalData.actionVO.type=data.type;
|
this.modalData.actionVO.type=data.type;
|
||||||
this.deviceTypeReadOnly=true;
|
|
||||||
// this.modalData.actionVO.time=data.time;
|
|
||||||
if(data.type=="Conversation")
|
if(data.type=="Conversation")
|
||||||
{
|
{
|
||||||
this.isJinLu=false;
|
this.isJinLu=false;
|
||||||
this.modalData.actionVO.targetId=data.targetId;
|
this.modalData.actionVO.targetId=data.targetId;
|
||||||
this.isConversitionAdd=true;
|
|
||||||
this.isCommandAdd=false;
|
|
||||||
this.modalData.actionVO.reply=data.reply;
|
this.modalData.actionVO.reply=data.reply;
|
||||||
}
|
}
|
||||||
else if(data.type=="Command")
|
// else if(data.type=="Command")
|
||||||
{
|
// {
|
||||||
this.isJinLu=false;
|
// this.isJinLu=false;
|
||||||
this.isConversitionAdd=false;
|
// this.isConversitionAdd=false;
|
||||||
this.isCommandAdd=true;
|
// // this.isCommandAdd=true;
|
||||||
this.modalData.actionVO.reply="";
|
// this.modalData.actionVO.reply="";
|
||||||
this.modalData.actionVO.deviceCommand=data.deviceCommand;
|
// this.modalData.actionVO.deviceCommand=data.deviceCommand;
|
||||||
if(this.modalData.actionVO.deviceCommand=="Train_Manual_Route_Blocking_Drive")
|
// if(this.modalData.actionVO.deviceCommand=="Train_Manual_Route_Blocking_Drive")
|
||||||
{
|
// {
|
||||||
this.isJinLu=true;
|
// this.isJinLu=true;
|
||||||
this.modalData.param.startStation=data.commandParamList[0];
|
// this.modalData.param.startStation=data.commandParamList[0];
|
||||||
this.modalData.param.endStation=data.commandParamList[1];
|
// this.modalData.param.endStation=data.commandParamList[1];
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -369,4 +388,13 @@
|
|||||||
font-size:15px;
|
font-size:15px;
|
||||||
padding: 20px 10px;
|
padding: 20px 10px;
|
||||||
}
|
}
|
||||||
|
.commandCard{
|
||||||
|
margin-left: 20px;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
.addCommand{
|
||||||
|
font-size:15px;
|
||||||
|
padding: 20px 10px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
@ -1,10 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="actionPaneInner">
|
<div class="actionPaneInner">
|
||||||
<div class="actionList">
|
<div class="actionList">
|
||||||
<span class="titleStyle">剧本动作</span>
|
<span class="titleStyle">剧本编制</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="tab-pane-big">
|
<div class="tab-pane-big">
|
||||||
<add-action ref="addBehavior" :group="group" @create="create" :buttonName="buttonName" :operateType="operateType" @modifyButtonName="modifyButtonName" class="addScript"></add-action>
|
<el-scrollbar wrapClass="scrollbar-wrapper" ref="elScrollbar" class="elScrollbar">
|
||||||
|
<add-action ref="addBehavior" :group="group" @create="create" :buttonName="buttonName" :operateType="operateType" @modifyButtonName="modifyButtonName" class="addScript"></add-action>
|
||||||
|
</el-scrollbar>
|
||||||
<!-- <div class="vertialLine"></div> -->
|
<!-- <div class="vertialLine"></div> -->
|
||||||
<div class="block actionListTable">
|
<div class="block actionListTable">
|
||||||
<el-scrollbar wrapClass="scrollbar-wrapper" ref="elActionScrollbar">
|
<el-scrollbar wrapClass="scrollbar-wrapper" ref="elActionScrollbar">
|
||||||
@ -51,7 +53,7 @@
|
|||||||
behaviorName:"",
|
behaviorName:"",
|
||||||
memberName:"",
|
memberName:"",
|
||||||
operateType:"add",
|
operateType:"add",
|
||||||
buttonName:"添加动作",
|
buttonName:"添加对话",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
@ -60,10 +62,19 @@
|
|||||||
mounted(){
|
mounted(){
|
||||||
this.loadInitData();
|
this.loadInitData();
|
||||||
},
|
},
|
||||||
|
watch:{
|
||||||
|
actionInfoList: function(val){
|
||||||
|
this.$nextTick(function(){
|
||||||
|
var div = this.$refs['elActionScrollbar'].$refs['wrap'];
|
||||||
|
div.scrollTop=this.$refs['elActionScrollbar'].wrap.scrollHeight;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
methods:{
|
methods:{
|
||||||
loadInitData() {
|
loadInitData() {
|
||||||
let group=this.$route.query.group;
|
let group=this.$route.query.group;
|
||||||
getAvailableDeviceCommand().then(response=>{
|
let data={role:"Driver"};
|
||||||
|
getAvailableDeviceCommand(data).then(response=>{
|
||||||
this.deviceCommandList=response.data;
|
this.deviceCommandList=response.data;
|
||||||
this.loadOtherData(this.$route.query);
|
this.loadOtherData(this.$route.query);
|
||||||
});
|
});
|
||||||
@ -135,22 +146,16 @@
|
|||||||
reloadTable(){
|
reloadTable(){
|
||||||
this.loadInitData();
|
this.loadInitData();
|
||||||
},
|
},
|
||||||
create(){
|
create(data){
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
this.$nextTick(function(){
|
|
||||||
debugger;
|
|
||||||
var div = this.$refs['elActionScrollbar'].$refs['wrap'];
|
|
||||||
div.scrollTop=this.$refs['elActionScrollbar'].wrap.scrollHeight;
|
|
||||||
});
|
|
||||||
|
|
||||||
},
|
},
|
||||||
modifyAction(row){
|
modifyAction(row){
|
||||||
this.operateType="modify";
|
this.operateType="modify";
|
||||||
this.buttonName="修改动作"
|
this.buttonName="修改对话"
|
||||||
this.$refs.addBehavior.doShow(row);
|
this.$refs.addBehavior.doShow(row);
|
||||||
},
|
},
|
||||||
modifyButtonName(){
|
modifyButtonName(){
|
||||||
this.buttonName="添加动作",
|
this.buttonName="添加对话",
|
||||||
this.operateType="add"
|
this.operateType="add"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -166,7 +171,6 @@
|
|||||||
float:left;
|
float:left;
|
||||||
width:450px;
|
width:450px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: fixed;
|
|
||||||
}
|
}
|
||||||
.actionListTable{
|
.actionListTable{
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
@ -218,4 +222,8 @@
|
|||||||
width: 470px;
|
width: 470px;
|
||||||
margin-top:10px;
|
margin-top:10px;
|
||||||
}
|
}
|
||||||
|
.elScrollbar{
|
||||||
|
width: 450px;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
BIN
static/model/suidao/0805.png
Normal file
BIN
static/model/suidao/0805.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 228 KiB |
Binary file not shown.
Before Width: | Height: | Size: 502 KiB |
BIN
static/model/suidao/chuanganqi1.png
Normal file
BIN
static/model/suidao/chuanganqi1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 117 KiB |
Before Width: | Height: | Size: 394 KiB After Width: | Height: | Size: 394 KiB |
Binary file not shown.
BIN
static/model/suidao/suidaotietu816.png
Normal file
BIN
static/model/suidao/suidaotietu816.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 544 KiB |
Loading…
Reference in New Issue
Block a user