Merge branch 'test' of https://git.qcloud.com/joylink/jl-nclient into test
This commit is contained in:
commit
9ceacf7cef
@ -2,86 +2,86 @@ import request from '@/utils/request';
|
||||
|
||||
/** 创建对应课程考题 */
|
||||
export function setCourseList(data) {
|
||||
return request({
|
||||
url: `/api/exam`,
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
return request({
|
||||
url: `/api/exam`,
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
|
||||
/** 获取对应课程下类型 */
|
||||
export function getCourseTypeList(data) {
|
||||
return request({
|
||||
url: `/api/exam/${data.lessonId}/trainingTypes`,
|
||||
method: 'get'
|
||||
});
|
||||
return request({
|
||||
url: `/api/exam/${data.lessonId}/trainingTypes`,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/** 获取考试课程详情 */
|
||||
export function getCourseLessonDetail(data) {
|
||||
return request({
|
||||
url: `/api/exam/${data.lessonId}/list`,
|
||||
method: 'get'
|
||||
});
|
||||
return request({
|
||||
url: `/api/exam/${data.lessonId}/list`,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/** 获取试卷详情 */
|
||||
export function getExamLessonDetail(examId) {
|
||||
return request({
|
||||
url: `/api/exam/${examId}`,
|
||||
method: 'get'
|
||||
});
|
||||
return request({
|
||||
url: `/api/exam/${examId}`,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/** 获取试卷列表 */
|
||||
export function getExamList(data) {
|
||||
return request({
|
||||
url: '/api/exam/list',
|
||||
method: 'get',
|
||||
params: data
|
||||
});
|
||||
return request({
|
||||
url: '/api/exam/list',
|
||||
method: 'get',
|
||||
params: data
|
||||
});
|
||||
}
|
||||
|
||||
/** 删除试卷 */
|
||||
export function deleteExam(data) {
|
||||
return request({
|
||||
url: `/api/exam/${data.id}`,
|
||||
method: 'delete'
|
||||
});
|
||||
return request({
|
||||
url: `/api/exam/${data.id}`,
|
||||
method: 'delete'
|
||||
});
|
||||
}
|
||||
|
||||
/** 设置试卷下架 */
|
||||
export function setExamEfficacy(data) {
|
||||
return request({
|
||||
url: `/api/exam/${data.id}/offLine`,
|
||||
method: 'put'
|
||||
});
|
||||
return request({
|
||||
url: `/api/exam/${data.id}/offLine`,
|
||||
method: 'put'
|
||||
});
|
||||
}
|
||||
|
||||
/** 设置试卷上架 */
|
||||
export function setExamEffectivey(data) {
|
||||
return request({
|
||||
url: `/api/exam/${data.id}/onLine`,
|
||||
method: 'put'
|
||||
});
|
||||
return request({
|
||||
url: `/api/exam/${data.id}/onLine`,
|
||||
method: 'put'
|
||||
});
|
||||
}
|
||||
|
||||
/** 查询课程下类型题数 */
|
||||
export function getLessonTypeNum(data) {
|
||||
return request({
|
||||
url: `/api/exam/trainingNum/${data.lessonId}/${data.trainingType}`,
|
||||
method: 'get',
|
||||
params: {
|
||||
operateType: data.operateType
|
||||
}
|
||||
});
|
||||
return request({
|
||||
url: `/api/exam/trainingNum/${data.lessonId}/${data.trainingType}`,
|
||||
method: 'get',
|
||||
params: {
|
||||
operateType: data.operateType
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/** 更新考试规则*/
|
||||
export function updateExamRules(data) {
|
||||
return request({
|
||||
url: `/api/exam/${data.id}`,
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
return request({
|
||||
url: `/api/exam/${data.id}`,
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
|
@ -113,5 +113,7 @@ export default {
|
||||
selectTestType: 'Please select test type',
|
||||
modifyRules: 'Modify Rules',
|
||||
enterRunPlanName: 'Please enter the name of the diagram',
|
||||
setTheProject: 'Set the project'
|
||||
setTheProject: 'Set the project',
|
||||
whetherItBelongsToTheProject: 'Whether it belongs to the project',
|
||||
belongsProject: 'Belongs project'
|
||||
};
|
||||
|
@ -117,5 +117,7 @@ export default {
|
||||
modifyRules: '修改规则',
|
||||
enterRunPlanName: '请输入运行图名称',
|
||||
// refreshFailed 刷新失败
|
||||
setTheProject: '设置归属项目'
|
||||
setTheProject: '设置归属项目',
|
||||
whetherItBelongsToTheProject: '是否归属项目',
|
||||
belongsProject: '归属项目'
|
||||
};
|
||||
|
@ -309,7 +309,7 @@ export function Jl3dDriving(updatemmi,sound,translation) {
|
||||
if (trainlisttest.list[code].dispose != data.body[i].dispose && data.body[i].dispose == false) {
|
||||
|
||||
if (rails.linkrail[data.body[i].linkCode]) {
|
||||
// console.log(trainlisttest.group);
|
||||
console.log(trainlisttest.group);
|
||||
if(trainlisttest.group.children.length<1){
|
||||
trainlisttest.group.add(trainlisttest.list[code]);
|
||||
}
|
||||
@ -421,41 +421,7 @@ export function Jl3dDriving(updatemmi,sound,translation) {
|
||||
}
|
||||
}
|
||||
if (trainlisttest.list[code].status != data.body[i].directionType) {
|
||||
if (data.body[i].directionType == '02') { // 向右
|
||||
|
||||
trainlisttest.list[code].progress = 0;
|
||||
const rotaposx = trainlisttest.list[code].children[5].matrixWorld.elements[12];
|
||||
const rotaposz = trainlisttest.list[code].children[0].matrixWorld.elements[14];
|
||||
trainlisttest.list[code].rotation.y = 0;
|
||||
trainlisttest.list[code].position.x = rotaposx;
|
||||
for (let tl=0; tl<6; tl++) {
|
||||
trainlisttest.list[code].children[tl].position.z = rotaposz;
|
||||
}
|
||||
|
||||
trainlisttest.list[code].progress = (rotaposx-rails.linkrail[data.body[i].linkCode].lp.x)/rails.linkrail[data.body[i].linkCode].lengthfact;
|
||||
trainlisttest.list[code].status = '02';
|
||||
trainlisttest.list[code].curve = rails.linkrail[data.body[i].linkCode].lineleft;
|
||||
trainlisttest.list[code].nextcurve = null;
|
||||
|
||||
trainlisttest.list[code].len = rails.linkrail[data.body[i].linkCode].lengthfact;
|
||||
|
||||
} else if (data.body[i].directionType == '03') { // 向左
|
||||
trainlisttest.list[code].progress = 0;
|
||||
const rotaposx = trainlisttest.list[code].children[5].matrixWorld.elements[12];
|
||||
const rotaposz = Math.abs(trainlisttest.list[code].children[0].matrixWorld.elements[14]);
|
||||
trainlisttest.list[code].rotation.y = Math.PI;
|
||||
trainlisttest.list[code].position.x = rotaposx;
|
||||
for (let tl=0; tl<6; tl++) {
|
||||
trainlisttest.list[code].children[tl].position.z = -rotaposz;
|
||||
}
|
||||
trainlisttest.list[code].progress = 1-(rotaposx-rails.linkrail[data.body[i].linkCode].lp.x)/rails.linkrail[data.body[i].linkCode].lengthfact;
|
||||
trainlisttest.list[code].status = '03';
|
||||
trainlisttest.list[code].curve = rails.linkrail[data.body[i].linkCode].lineright;
|
||||
trainlisttest.list[code].nextcurve = null;
|
||||
|
||||
trainlisttest.list[code].len = rails.linkrail[data.body[i].linkCode].lengthfact;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -90,8 +90,8 @@ export function JLmap3d(dom, data,skinCode,storemod) {
|
||||
ModelLoad(data,scope,netdata.data,mapdata,camera,controls,scene,storemod);
|
||||
});
|
||||
//
|
||||
let stats = new Stats();
|
||||
dom.appendChild( stats.dom );
|
||||
// let stats = new Stats();
|
||||
// dom.appendChild( stats.dom );
|
||||
//开启渲染
|
||||
animate();
|
||||
startWorker();
|
||||
@ -108,7 +108,7 @@ export function JLmap3d(dom, data,skinCode,storemod) {
|
||||
//根据相机渲染场景
|
||||
renderer.render(scene,camera);
|
||||
//检测动画构造器播放动画
|
||||
stats.update();
|
||||
// stats.update();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -53,9 +53,6 @@ import ExamHome from '@/views/exam/index';
|
||||
import ExamCourseDetail from '@/views/exam/detail/courseDetail';
|
||||
import ExamResult from '@/views/exam/result';
|
||||
|
||||
import PublishExamRule from '@/views/publish/examRule/index';
|
||||
import PublishExamRuleDraft from '@/views/publish/examRule/draft/index';
|
||||
|
||||
import DemonstrationDetail from '@/views/demonstration/detail/index';
|
||||
|
||||
import PlanMonitorEditTool from '@/views/planMonitor/editTool/index';
|
||||
@ -79,12 +76,13 @@ import PublishMap from '@/views/publish/publishMap/index';
|
||||
import PublishMapDetail from '@/views/publish/publishMap/list'; // 发布历史
|
||||
import ProductStatus from '@/views/publish/productStatus/index';
|
||||
import PublishLesson from '@/views/publish/publishLesson/index';
|
||||
|
||||
import RunPlanTemplate from '@/views/publish/runPlanTemplate/index';
|
||||
import RunPlanCommon from '@/views/publish/runPlanCommon/index';
|
||||
import RunPlanCommonDraft from '@/views/publish/runPlanCommon/draft';
|
||||
import RunPlanTemplate from '@/views/publish/runPlanTemplate/index';
|
||||
import RunPlanEveryDay from '@/views/publish/runPlanEveryDay/index';
|
||||
import RunplanView from '@/views/publish/runPlanView/index';
|
||||
import RunplanView from '@/views/publish/runPlanEveryDay/runPlanView';
|
||||
import PublishExamRule from '@/views/publish/examRule/index';
|
||||
import PublishExamRuleDraft from '@/views/publish/examRule/draft/index';
|
||||
|
||||
import TrainingPlatform from '@/views/trainingPlatform/index';
|
||||
|
||||
@ -334,7 +332,8 @@ export const asyncRouter = [
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: 'lesson/home/:mapId/:skinCode',
|
||||
path: 'lesson/home/:mapId',
|
||||
// /:skinCode
|
||||
component: LessonHome,
|
||||
hidden: true
|
||||
},
|
||||
@ -647,6 +646,11 @@ export const asyncRouter = [
|
||||
i18n: 'router.runPlanEveryDayManage'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: 'runPlan/view/:mode',
|
||||
component: RunplanView,
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: 'examRule/manage',
|
||||
component: PublishExamRule,
|
||||
@ -663,11 +667,6 @@ export const asyncRouter = [
|
||||
path: 'runPlan/common/:mode',
|
||||
component: RunPlanCommonDraft,
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: 'runPlan/view/:mode',
|
||||
component: RunplanView,
|
||||
hidden: true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -89,7 +89,7 @@ export const OperationList = {
|
||||
trainingName: '站台扣车({10}-{12}站台)',
|
||||
trainingRemark: '设置扣车功能',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '504', tip: '鼠标右键菜单选择【扣车】' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '504', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -103,7 +103,7 @@ export const OperationList = {
|
||||
trainingName: '站台取消扣车({10}-{12}站台)',
|
||||
trainingRemark: '设置取消扣车功能',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '505', tip: '鼠标右键菜单选择【取消扣车】' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '505', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -160,7 +160,7 @@ export const OperationList = {
|
||||
trainingName: '站台跳停({10}-{12}站台)',
|
||||
trainingRemark: '设置跳停功能',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '502', tip: '鼠标右键菜单选择【跳停】' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '502', tip: '鼠标左键点击【确定】按钮', val: '{11}' }
|
||||
@ -174,7 +174,7 @@ export const OperationList = {
|
||||
trainingName: '取消跳停({10}-{12}站台)',
|
||||
trainingRemark: '设置取消跳停功能',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '503', tip: '鼠标右键菜单选择【取消跳停】' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '503', tip: '鼠标左键点击【确定】按钮', val: '{11}' }
|
||||
@ -188,7 +188,7 @@ export const OperationList = {
|
||||
trainingName: '查询站台状态({10}-{12}站台)',
|
||||
trainingRemark: '查询站台状态功能',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '507', tip: '鼠标右键菜单选择【查询站台状态】' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '0012', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -316,7 +316,7 @@ export const OperationList = {
|
||||
trainingName: '区段故障解锁({8}{9})',
|
||||
trainingRemark: '故障解锁功能',
|
||||
trainingType: '04',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '402', tip: '鼠标右键菜单选择【区段故障解锁】' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '4026', tip: '鼠标左键点击【下达】按钮' },
|
||||
@ -333,7 +333,7 @@ export const OperationList = {
|
||||
trainingName: '区段切除({8}{9})',
|
||||
trainingRemark: '区段切除',
|
||||
trainingType: '04',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '405', tip: '鼠标右键菜单选择【区段切除】' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '405', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -347,7 +347,7 @@ export const OperationList = {
|
||||
trainingName: '区段激活({8}{9})',
|
||||
trainingRemark: '区段激活功能',
|
||||
trainingType: '04',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '406', tip: '鼠标右键菜单选择【区段激活】' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '406', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -378,7 +378,7 @@ export const OperationList = {
|
||||
trainingName: '区段封锁({8}{9})',
|
||||
trainingRemark: '区段封锁功能',
|
||||
trainingType: '04',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '403', tip: '鼠标右键菜单选择【区段封锁】' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '403', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -392,7 +392,7 @@ export const OperationList = {
|
||||
trainingName: '区段解封({8}{9})',
|
||||
trainingRemark: '区段解封功能',
|
||||
trainingType: '04',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '404', tip: '鼠标右键菜单选择【区段解封】' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '4041', tip: '鼠标左键点击【下达】按钮' },
|
||||
@ -409,7 +409,7 @@ export const OperationList = {
|
||||
trainingName: '区段设置限速({8}{9})',
|
||||
trainingRemark: '区段设置限速功能(限速值:5)',
|
||||
trainingType: '04',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '407', tip: '鼠标右键菜单选择【区段设置限速】' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '4076', tip: '鼠标左键选择【限速值5】', val: '5' },
|
||||
@ -428,7 +428,7 @@ export const OperationList = {
|
||||
trainingName: '区段取消限速({8}{9})',
|
||||
trainingRemark: '区段取消限速功能',
|
||||
trainingType: '04',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '408', tip: '鼠标右键菜单选择【区段取消限速】' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '4081', tip: '鼠标左键点击【下达】按钮' },
|
||||
@ -447,7 +447,7 @@ export const OperationList = {
|
||||
trainingName: '道岔单锁({7})',
|
||||
trainingRemark: '道岔单锁功能',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '103', tip: '鼠标右键菜单选择【道岔单锁】' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '103', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -461,7 +461,7 @@ export const OperationList = {
|
||||
trainingName: '道岔单解({7})',
|
||||
trainingRemark: '道岔单解功能',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '104', tip: '鼠标右键菜单选择【道岔单解】' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '1041', tip: '鼠标左键点击【下达】按钮' },
|
||||
@ -478,7 +478,7 @@ export const OperationList = {
|
||||
trainingName: '道岔区段封闭({7})',
|
||||
trainingRemark: '道岔区段封闭功能',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '105', tip: '鼠标右键菜单选择【道岔区段封闭】' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '105', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -492,7 +492,7 @@ export const OperationList = {
|
||||
trainingName: '道岔区段解封({7})',
|
||||
trainingRemark: '道岔区段解封功能',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '106', tip: '鼠标右键菜单选择【道岔区段解封】' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '1061', tip: '鼠标左键点击【下达】按钮' },
|
||||
@ -509,7 +509,7 @@ export const OperationList = {
|
||||
trainingName: '道岔转动({7})',
|
||||
trainingRemark: '道岔转动功能({15}转{16})',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '107', tip: '鼠标右键菜单选择【道岔转动】' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '107', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -523,7 +523,7 @@ export const OperationList = {
|
||||
trainingName: '道岔区段故障解锁({7})',
|
||||
trainingRemark: '道岔区段故障解锁功能',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '109', tip: '鼠标右键菜单选择【道岔区段故障解锁】' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '1091', tip: '鼠标左键点击【下达】按钮' },
|
||||
@ -557,7 +557,7 @@ export const OperationList = {
|
||||
trainingName: '区段切除({7})',
|
||||
trainingRemark: '区段切除',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '111', tip: '鼠标右键菜单选择【区段切除】' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '111', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -571,7 +571,7 @@ export const OperationList = {
|
||||
trainingName: '区段激活({7})',
|
||||
trainingRemark: '区段激活功能',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '112', tip: '鼠标右键菜单选择【区段激活】' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '112', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -585,7 +585,7 @@ export const OperationList = {
|
||||
trainingName: '道岔区段设置限速({7})',
|
||||
trainingRemark: '道岔区段设置限速功能(限速值:5)',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '113', tip: '鼠标右键菜单选择【道岔区段设置限速】' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '1136', tip: '鼠标左键选择【限速值5】', val: '5' },
|
||||
@ -604,7 +604,7 @@ export const OperationList = {
|
||||
trainingName: '道岔区段取消限速({7})',
|
||||
trainingRemark: '道岔区段取消限速功能',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '114', tip: '鼠标右键菜单选择【道岔区段取消限速】' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '1141', tip: '鼠标左键点击【下达】按钮' },
|
||||
@ -623,7 +623,7 @@ export const OperationList = {
|
||||
trainingName: '进路选排({3})',
|
||||
trainingRemark: '选择排列进路',
|
||||
trainingType: '02',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '301', tip: '鼠标右键菜单选择【进路选排】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '3011', tip: '鼠标左键选择进路名称【{3}】', val: '{4}' },
|
||||
@ -668,7 +668,7 @@ export const OperationList = {
|
||||
trainingName: '信号封闭({5})',
|
||||
trainingRemark: '信号封闭',
|
||||
trainingType: '02',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '306', tip: '鼠标右键菜单选择【信号封闭】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '306', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -682,7 +682,7 @@ export const OperationList = {
|
||||
trainingName: '信号解封({5})',
|
||||
trainingRemark: '信号解封',
|
||||
trainingType: '02',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '307', tip: '鼠标右键菜单选择【信号解封】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '3071', tip: '鼠标左键点击【下达】按钮' },
|
||||
@ -700,7 +700,7 @@ export const OperationList = {
|
||||
trainingName: '信号关灯({3})',
|
||||
trainingRemark: '信号关灯',
|
||||
trainingType: '02',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '313', tip: '鼠标右键菜单选择【信号关灯】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '313', tip: '鼠标左键点击【确定】按钮' },
|
||||
@ -715,7 +715,7 @@ export const OperationList = {
|
||||
trainingName: '信号重开({3})',
|
||||
trainingRemark: '信号重开',
|
||||
trainingType: '02',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '304', tip: '鼠标右键菜单选择【信号重开】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【确定】按钮' },
|
||||
@ -851,7 +851,7 @@ export const OperationList = {
|
||||
trainingName: '设置扣车({10}-{12} 站台)',
|
||||
trainingRemark: '设置扣车功能',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'], // 产品类型 01 现地 02 行调
|
||||
productTypes: ['01', '02'], // 产品类型 01 现地 02 行调
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '504', tip: '鼠标右键菜单选择【设置扣车】' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '504', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -865,7 +865,7 @@ export const OperationList = {
|
||||
trainingName: '取消扣车({10}-{12} 站台)',
|
||||
trainingRemark: '取消扣车功能',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'], // 产品类型 01 现地 02 行调
|
||||
productTypes: ['01', '02'], // 产品类型 01 现地 02 行调
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '505', tip: '鼠标右键菜单选择【取消扣车】' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '505', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -879,7 +879,7 @@ export const OperationList = {
|
||||
trainingName: '设置跳停({10}-{12} 站台)',
|
||||
trainingRemark: '设置跳停功能',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'], // 产品类型 01 现地 02 行调
|
||||
productTypes: ['01', '02'], // 产品类型 01 现地 02 行调
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '502', tip: '鼠标右键菜单选择【设置跳停】' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '502', tip: '鼠标左键点击【确定】按钮', val: '{11}' }
|
||||
@ -893,7 +893,7 @@ export const OperationList = {
|
||||
trainingName: '设置跳停({10}-{12} 站台)',
|
||||
trainingRemark: '设置指定001号列车跳停功能',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'], // 产品类型 01 现地 02 行调
|
||||
productTypes: ['01', '02'], // 产品类型 01 现地 02 行调
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '502', tip: '鼠标右键菜单选择【设置跳停】' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '5024', tip: '鼠标左键点击' },
|
||||
@ -909,7 +909,7 @@ export const OperationList = {
|
||||
trainingName: '取消跳停({10}-{12} 站台)',
|
||||
trainingRemark: '取消跳停功能',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'], // 产品类型 01 现地 02 行调
|
||||
productTypes: ['01', '02'], // 产品类型 01 现地 02 行调
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '503', tip: '鼠标右键菜单选择【取消跳停】' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '503', tip: '鼠标左键点击【确定】按钮', val: '{11}' }
|
||||
@ -923,7 +923,7 @@ export const OperationList = {
|
||||
trainingName: '取消跳停({10}-{12} 站台)',
|
||||
trainingRemark: '取消指定001号列车跳停功能',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'], // 产品类型 01 现地 02 行调
|
||||
productTypes: ['01', '02'], // 产品类型 01 现地 02 行调
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '503', tip: '鼠标右键菜单选择【取消跳停】' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '5034', tip: '鼠标左键点击' },
|
||||
@ -939,7 +939,7 @@ export const OperationList = {
|
||||
trainingName: '查询站台状态({10}-{12} 站台)',
|
||||
trainingRemark: '查询站台状态功能',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'], // 产品类型 01 现地 02 行调
|
||||
productTypes: ['01', '02'], // 产品类型 01 现地 02 行调
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '507', tip: '鼠标右键菜单选择【站台信息】' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '0012', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -1064,7 +1064,7 @@ export const OperationList = {
|
||||
trainingName: '轨道切除({8}{9} 区段)',
|
||||
trainingRemark: '轨道切除功能',
|
||||
trainingType: '04',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '405', tip: '鼠标右键菜单选择【轨道切除】' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '405', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -1078,7 +1078,7 @@ export const OperationList = {
|
||||
trainingName: '轨道激活({8}{9} 区段)',
|
||||
trainingRemark: '轨道激活功能',
|
||||
trainingType: '04',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '406', tip: '鼠标右键菜单选择【轨道激活】' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '406', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -1092,7 +1092,7 @@ export const OperationList = {
|
||||
trainingName: '设置临时限速({8}{9} 区段)',
|
||||
trainingRemark: '设置临时限速功能(限速值:15)',
|
||||
trainingType: '04',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '407', tip: '鼠标右键菜单选择【设置临时限速】' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '4076', tip: '鼠标左键选择【限速值15】', val: '15' },
|
||||
@ -1112,7 +1112,7 @@ export const OperationList = {
|
||||
trainingName: '轨道切除({7} 道岔)',
|
||||
trainingRemark: '轨道切除功能',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '111', tip: '鼠标右键菜单选择【轨道切除】' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '111', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -1126,7 +1126,7 @@ export const OperationList = {
|
||||
trainingName: '轨道激活({7} 道岔)',
|
||||
trainingRemark: '轨道激活功能',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '112', tip: '鼠标右键菜单选择【轨道激活】' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '112', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -1140,7 +1140,7 @@ export const OperationList = {
|
||||
trainingName: '设置临时限速({7} 道岔)',
|
||||
trainingRemark: '设置临时限速功能(限速值 35 零点西上行公里标0 - 零点西上行公里标3000)',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
// stepVOList: [
|
||||
// { deviceType: '02', orderNum: 1, operateCode: '113', tip: '鼠标右键菜单选择【设置临时限速】' },
|
||||
// { deviceType: '02', orderNum: 2, operateCode: '1131', tip: '鼠标左键选择【打开会话】' },
|
||||
@ -1180,7 +1180,7 @@ export const OperationList = {
|
||||
trainingName: '排列进路({3} 进路)',
|
||||
trainingRemark: '排列进路功能',
|
||||
trainingType: '02',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '301', tip: '鼠标右键菜单选择【排列进路】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '3011', tip: '鼠标左键选择进路名称【{3}】', val: '{4}' },
|
||||
@ -1253,7 +1253,7 @@ export const OperationList = {
|
||||
trainingName: '信号重开({3} 进路)',
|
||||
trainingRemark: '信号重开功能',
|
||||
trainingType: '02',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '304', tip: '鼠标右键菜单选择【信号重开】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【确定】按钮' }
|
||||
@ -1268,7 +1268,7 @@ export const OperationList = {
|
||||
trainingName: '全线取消临时限速',
|
||||
trainingRemark: '全线取消临时限速功能',
|
||||
trainingType: '08',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '10', orderNum: 1, operateCode: '800', tip: '鼠标右键菜单选择【取消全线临时限速】' },
|
||||
{ deviceType: '10', orderNum: 2, operateCode: '8001', tip: '鼠标左键点击【打开会话】按钮' },
|
||||
@ -1833,7 +1833,7 @@ export const OperationList = {
|
||||
trainingName: '设置跳停({10}-{12}站台)',
|
||||
trainingRemark: '设置跳停功能',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '502', tip: '鼠标右键菜单选择【跳停】' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '502', tip: '鼠标左键点击【确定】按钮', val: '{11}' }
|
||||
@ -1847,7 +1847,7 @@ export const OperationList = {
|
||||
trainingName: '取消跳停({10}-{12}站台)',
|
||||
trainingRemark: '设置取消跳停功能',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '503', tip: '鼠标右键菜单选择【取消跳停】' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '503', tip: '鼠标左键点击【确定】按钮', val: '{11}' }
|
||||
@ -2031,7 +2031,7 @@ export const OperationList = {
|
||||
trainingName: ' Train detaining({10}-{12}station)',
|
||||
trainingRemark: 'Set the detaining function',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '504', tip: 'Right click to select [train detaining]' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '504', tip: 'Left click [ok] ' }
|
||||
@ -2045,7 +2045,7 @@ export const OperationList = {
|
||||
trainingName: 'Cancel train detaining({10}-{12}The platform)',
|
||||
trainingRemark: 'Set cancelling detaining function',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '505', tip: 'Right click to select [cancel train detaining]]' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '505', tip: 'Left click [ok] ' }
|
||||
@ -2102,7 +2102,7 @@ export const OperationList = {
|
||||
trainingName: 'Skip to continue moving({10}-{12}The platform)',
|
||||
trainingRemark: 'Set the skip to continue moving function',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '502', tip: 'Right click to select [Skip to continue moving]' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '502', tip: 'Left click [ok]', val: '{11}' }
|
||||
@ -2116,7 +2116,7 @@ export const OperationList = {
|
||||
trainingName: 'Cancel skiping ({10}-{12}The platform)',
|
||||
trainingRemark: 'Set cancelling skiping function',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '503', tip: 'Right click to select [Cancel skiping]' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '503', tip: 'Left click [ok]', val: '{11}' }
|
||||
@ -2130,7 +2130,7 @@ export const OperationList = {
|
||||
trainingName: ' Platform status query({10}-{12}The platform)',
|
||||
trainingRemark: 'Query platform status function',
|
||||
trainingType: '05',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '507', tip: 'Right click to select [Platform status query]' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '0012', tip: 'Left click [ok] ' }
|
||||
@ -2258,7 +2258,7 @@ export const OperationList = {
|
||||
trainingName: 'Section fault unlocking({8}{9})',
|
||||
trainingRemark: 'Fault unlocking',
|
||||
trainingType: '04',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '402', tip: 'Right click to select "Section fault unlocking" ' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '4026', tip: 'Left click [Execute] ' },
|
||||
@ -2275,7 +2275,7 @@ export const OperationList = {
|
||||
trainingName: 'Section resection({8}{9})',
|
||||
trainingRemark: 'Section resection',
|
||||
trainingType: '04',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '405', tip: 'Right click to select [Section resection]' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '405', tip: 'Left click [ok] ' }
|
||||
@ -2289,7 +2289,7 @@ export const OperationList = {
|
||||
trainingName: 'Section activation({8}{9})',
|
||||
trainingRemark: 'Section activation function',
|
||||
trainingType: '04',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '406', tip: 'Right click to select [Section activation]' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '406', tip: 'Left click [ok]' }
|
||||
@ -2320,7 +2320,7 @@ export const OperationList = {
|
||||
trainingName: 'Section blockade({8}{9})',
|
||||
trainingRemark: 'Section blockade function',
|
||||
trainingType: '04',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '403', tip: 'Right click to select [Section blockade]' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '403', tip: 'Left click [ok] ' }
|
||||
@ -2334,7 +2334,7 @@ export const OperationList = {
|
||||
trainingName: 'Section unblockade({8}{9})',
|
||||
trainingRemark: 'Section unblockade function',
|
||||
trainingType: '04',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '404', tip: 'Right click to select [Section unblockade]' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '4041', tip: 'Left click [Execute]' },
|
||||
@ -2351,7 +2351,7 @@ export const OperationList = {
|
||||
trainingName: 'Set speed limit on the section({8}{9})',
|
||||
trainingRemark: 'Set speed limit on the section (speed limit value: 5)',
|
||||
trainingType: '04',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '407', tip: 'Right click to select [Set speed limit on the section]' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '4076', tip: 'Left click to select [speed limit 5] ', val: '5' },
|
||||
@ -2370,7 +2370,7 @@ export const OperationList = {
|
||||
trainingName: 'Cancel speed limit on the section({8}{9})',
|
||||
trainingRemark: 'Cancel speed limit on the section',
|
||||
trainingType: '04',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '408', tip: 'Right click to select [Cancel speed limit on the section]' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '4081', tip: 'Left click [Execute]' },
|
||||
@ -2389,7 +2389,7 @@ export const OperationList = {
|
||||
trainingName: 'Turnout single lock({7})',
|
||||
trainingRemark: 'Turnout single lock function',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '103', tip: 'Right click to select [Turnout single lock]' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '103', tip: 'Left click [ok] ' }
|
||||
@ -2403,7 +2403,7 @@ export const OperationList = {
|
||||
trainingName: 'Turnout single release({7})',
|
||||
trainingRemark: 'Turnout single release function',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '104', tip: 'Right click to select [Turnout single release]' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '1041', tip: 'Left click [Execute]' },
|
||||
@ -2420,7 +2420,7 @@ export const OperationList = {
|
||||
trainingName: 'Turnout section closure({7})',
|
||||
trainingRemark: 'Turnout section closure ',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '105', tip: 'Right click to select [Turnout section closure]' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '105', tip: 'Left click [ok] ' }
|
||||
@ -2434,7 +2434,7 @@ export const OperationList = {
|
||||
trainingName: 'Turnout section unsealing({7})',
|
||||
trainingRemark: 'Turnout section unsealing function',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '106', tip: 'Right click to select [Turnout section unsealing]' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '1061', tip: 'Left click [Execute]' },
|
||||
@ -2451,7 +2451,7 @@ export const OperationList = {
|
||||
trainingName: 'Switch rotation({7})',
|
||||
trainingRemark: 'Switch rotation({15}turn{16})',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '107', tip: 'Right click to select [Switch rotation]' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '107', tip: 'Left click [ok] ' }
|
||||
@ -2465,7 +2465,7 @@ export const OperationList = {
|
||||
trainingName: 'Switch section fault unlocking({7})',
|
||||
trainingRemark: 'Switch section fault unlocking function',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '109', tip: 'Right click to select [switch section fault unlocking]' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '1091', tip: 'Left click [Execute]' },
|
||||
@ -2499,7 +2499,7 @@ export const OperationList = {
|
||||
trainingName: 'Section resection({7})',
|
||||
trainingRemark: 'Section resection',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '111', tip: 'Right click to select [Section resection]' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '111', tip: 'Left click [ok]' }
|
||||
@ -2513,7 +2513,7 @@ export const OperationList = {
|
||||
trainingName: 'Section activation({7})',
|
||||
trainingRemark: 'Section activation function',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '112', tip: 'Right click to select [Section activation]' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '112', tip: 'Left click [ok] ' }
|
||||
@ -2527,7 +2527,7 @@ export const OperationList = {
|
||||
trainingName: 'Set speed limit on the section({7})',
|
||||
trainingRemark: 'Set speed limit on the section (speed limit value: 5)',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '113', tip: 'Right click to select [Set speed limit on the section]' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '1136', tip: 'Left click to select [speed limit 5] ', val: '5' },
|
||||
@ -2546,7 +2546,7 @@ export const OperationList = {
|
||||
trainingName: 'Cancel speed limit on the section({7})',
|
||||
trainingRemark: 'Cancel speed limit on the section',
|
||||
trainingType: '03',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '114', tip: 'Right click to select [Cancel speed limit on the section]' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '1141', tip: 'Left click [Execute]' },
|
||||
@ -2565,7 +2565,7 @@ export const OperationList = {
|
||||
trainingName: 'Route selection({3})',
|
||||
trainingRemark: 'Route selection',
|
||||
trainingType: '02',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '301', tip: 'Right click to select [Route selection]' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '3011', tip: 'Left click to select the route name【{3}】', val: '{4}' },
|
||||
@ -2610,7 +2610,7 @@ export const OperationList = {
|
||||
trainingName: 'Signal closure({5})',
|
||||
trainingRemark: 'Signal closure',
|
||||
trainingType: '02',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '306', tip: 'Right click to select [Signal closure]' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '306', tip: 'Left click [ok] ' }
|
||||
@ -2624,7 +2624,7 @@ export const OperationList = {
|
||||
trainingName: 'Signal unsealing({5})',
|
||||
trainingRemark: 'Signal unsealing',
|
||||
trainingType: '02',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '307', tip: 'Right click to select [Signal unsealing]' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '3071', tip: 'Left click [Execute]' },
|
||||
@ -2642,7 +2642,7 @@ export const OperationList = {
|
||||
trainingName: 'The signal light turns red({3})',
|
||||
trainingRemark: 'The signal light turns red',
|
||||
trainingType: '02',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '313', tip: 'Right click to select [The signal light turns red]' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '313', tip: 'Left click [ok]' },
|
||||
@ -2657,7 +2657,7 @@ export const OperationList = {
|
||||
trainingName: 'Signal reopen({3})',
|
||||
trainingRemark: 'Signal reopen',
|
||||
trainingType: '02',
|
||||
productTypes: ['01,02'],
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '304', tip: 'Right click to select [Signal reopen]' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: 'Left click [ok]' },
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -3,9 +3,9 @@ export function getBaseUrl() {
|
||||
let BASE_API;
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
// 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.6:9000'; // 旭强
|
||||
BASE_API = 'http://192.168.3.6:9000'; // 旭强
|
||||
// BASE_API = 'http://192.168.3.41:9000'; // 王兴杰
|
||||
} else {
|
||||
BASE_API = process.env.VUE_APP_BASE_API;
|
||||
|
@ -95,12 +95,13 @@ export default {
|
||||
switch (obj.type) {
|
||||
case 'scriptDesign': {
|
||||
setSessionStorage('designType', 'scriptDesign');
|
||||
this.$router.push({ path: `${UrlConfig.design.scriptHome}/${obj.mapId}?skinCode=${obj.skinCode}` });
|
||||
this.$router.push({ path: `${UrlConfig.design.scriptHome}/${obj.mapId}` });
|
||||
break;
|
||||
}
|
||||
case 'lessonDesign': {
|
||||
setSessionStorage('designType', 'lessonDesign');
|
||||
this.$router.push({ path: `${UrlConfig.design.lessonHome}/${obj.mapId}/${obj.skinCode}`, query: {cityCode: obj.cityCode} });
|
||||
// /${obj.skinCode}
|
||||
this.$router.push({ path: `${UrlConfig.design.lessonHome}/${obj.mapId}`, query: {cityCode: obj.cityCode} });
|
||||
break;
|
||||
}
|
||||
case 'runPlanDesign': {
|
||||
|
@ -37,7 +37,8 @@ export default {
|
||||
mapIdList: [],
|
||||
trainingTypeList: [],
|
||||
trainingOperateTypeMap: {},
|
||||
placeholderList: []
|
||||
placeholderList: [],
|
||||
productTypesList:[]
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -49,12 +50,14 @@ export default {
|
||||
{ prop: 'mapId', label: this.$t('lesson.mapName'), type: 'select', required: true, options: this.mapIdList, disabled: true },
|
||||
{ prop: 'trainingType', label: this.$t('lesson.trainingType'), type: 'select', required: true, options: this.trainingTypeList, disabled: !isAdd, change: true, onChange: this.changeList },
|
||||
{ prop: 'operateType', label: this.$t('lesson.operationType'), type: 'select', required: true, options: this.trainingOperateTypeMap[this.formModel.trainingType], disabled: !isAdd },
|
||||
{ prop: 'productTypes', label: this.$t('lesson.productType'), type: 'select', multiple: true, required: true, options: this.productTypesList, disabled: !isAdd},
|
||||
{ label: '', type: 'button', options: this.placeholderList, style: 'margin-bottom: 0; margin-top: -10px;', typeBtn: 'info', click: this.addTrainName },
|
||||
{ prop: 'trainingName', label: this.$t('lesson.trainingName'), type: 'text', required: true, rightWidth: true, tooltip: true, info: this.$t('lesson.tipNamePlaceholderInfo') },
|
||||
{ prop: 'minDuration', label: this.$t('lesson.minDuration'), type: 'number', required: true, min:1},
|
||||
{ prop: 'maxDuration', label: this.$t('lesson.maxDuration'), type: 'number', required: true, min:1},
|
||||
{ label: '', type: 'button', options: this.placeholderList, style: 'margin-bottom: 0; margin-top: -10px;', typeBtn: 'info', click: this.addTrainRemark },
|
||||
{ prop: 'trainingRemark', label: this.$t('lesson.trainingRemark'), type: 'textarea', required: true, tooltip: true, info: this.$t('lesson.tipExplainPlaceholderInfo') }
|
||||
|
||||
]
|
||||
};
|
||||
return form;
|
||||
@ -70,6 +73,9 @@ export default {
|
||||
operateType: [
|
||||
{ required: true, message: this.$t('rules.inputOperationType'), trigger: 'change' }
|
||||
],
|
||||
productTypes:[
|
||||
{ required: true, message: this.$t('rules.productTypeInput'), trigger: 'change' }
|
||||
],
|
||||
mapId: [
|
||||
{ required: true, message: this.$t('rules.selectMapName'), trigger: 'change' }
|
||||
],
|
||||
@ -93,13 +99,18 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
created() {
|
||||
this.init();
|
||||
},
|
||||
// beforeupdate(data) {
|
||||
// this.$refs.dataform.clearValidate();
|
||||
// },
|
||||
methods: {
|
||||
init() {
|
||||
// 获取地图列表
|
||||
// this.$refs.dataform.resetForm();
|
||||
this.mapIdList = [];
|
||||
this.productTypesList = [{ value:'01', label:'现地'}, {value:'02', label:'行调'}];
|
||||
listPublishMap().then(response => {
|
||||
this.mapIdList = response.data.map(item => {
|
||||
const params = {};
|
||||
@ -186,6 +197,7 @@ export default {
|
||||
// 获取操作占位列表
|
||||
const res = await getPlaceholderList({ trainingType: data.trainingType });
|
||||
this.placeholderList = res.data;
|
||||
debugger;
|
||||
this.formModel = {
|
||||
id: data.id,
|
||||
trainingName: this.repliceName(data.trainingName, this.placeholderList),
|
||||
@ -198,9 +210,10 @@ export default {
|
||||
trainingRemark: this.repliceName(data.trainingRemark, this.placeholderList)
|
||||
};
|
||||
} else {
|
||||
this.formModel = {
|
||||
mapId: this.$route.query.mapId
|
||||
};
|
||||
this.formModel.mapId = this.$route.query.mapId;
|
||||
// this.formModel = {
|
||||
// mapId: this.$route.query.mapId
|
||||
// };
|
||||
}
|
||||
},
|
||||
repliceName(fieldValue, enumList) {
|
||||
@ -237,6 +250,7 @@ export default {
|
||||
},
|
||||
create() {
|
||||
const self = this;
|
||||
this.loading = true;
|
||||
this.placeholderList.forEach(item => {
|
||||
if (this.formModel.trainingName.includes(`{${item.name}}`)) {
|
||||
const name = this.formModel.trainingName.replace(`{${item.name}}`, `{${item.id}}`);
|
||||
@ -248,7 +262,6 @@ export default {
|
||||
}
|
||||
});
|
||||
|
||||
this.loading = true;
|
||||
postTrainingRulesData(this.formModel).then(response => {
|
||||
self.loading = false;
|
||||
self.$message.success(this.$t('lesson.createOperateSuccess'));
|
||||
@ -291,9 +304,11 @@ export default {
|
||||
mapId: '',
|
||||
minDuration: '',
|
||||
maxDuration: '',
|
||||
trainingRemark: ''
|
||||
trainingRemark: '',
|
||||
productTypes:[]
|
||||
};
|
||||
this.$refs.dataform.resetForm();
|
||||
// this.$refs.dataform.clearValidate();
|
||||
this.dialogVisible = false;
|
||||
}
|
||||
}
|
||||
|
@ -287,7 +287,6 @@ export default {
|
||||
|
||||
addAutoTraining(data).then(response => {
|
||||
this.$message.success(this.$t('tip.automaticGenerationTrainingSuccess'));
|
||||
debugger;
|
||||
this.$emit('refresh');
|
||||
this.close();
|
||||
}).catch(() => {
|
||||
|
@ -1,34 +1,32 @@
|
||||
<template>
|
||||
<el-card>
|
||||
<div v-if="lessonName" slot="header" style="text-align: center;">
|
||||
<!-- <el-card> -->
|
||||
<!-- <div v-if="lessonName" slot="header" style="text-align: center;">
|
||||
<b>{{ $t('publish.lessonName') }}: {{ lessonName }}</b>
|
||||
</div> -->
|
||||
<div class="exam-box">
|
||||
<el-steps class="steps" :active="display">
|
||||
<el-step :title="$t('publish.testDefinitionMaking')" icon="el-icon-edit" />
|
||||
<el-step :title="$t('publish.examRuleMaking')" icon="el-icon-setting" />
|
||||
</el-steps>
|
||||
<div class="joylink-card forms">
|
||||
<template v-if="display == 1" class="definition">
|
||||
<exam-from ref="exam" @definition="definition" />
|
||||
</template>
|
||||
<template v-else class="rule">
|
||||
<rule-from ref="rule" :course="course" @regulation="regulation" />
|
||||
</template>
|
||||
</div>
|
||||
<div class="exam-box" :style="{ height: height +'px' }">
|
||||
<el-scrollbar wrap-class="scrollbar-wrapper" style="">
|
||||
<el-steps class="steps" :active="display">
|
||||
<el-step :title="$t('publish.testDefinitionMaking')" icon="el-icon-edit" />
|
||||
<el-step :title="$t('publish.examRuleMaking')" icon="el-icon-setting" />
|
||||
</el-steps>
|
||||
<el-card class="forms">
|
||||
<template v-if="display == 1" class="definition">
|
||||
<exam-from ref="exam" :height="height-260" @definition="definition" />
|
||||
</template>
|
||||
<template v-else class="rule">
|
||||
<rule-from ref="rule" :course="course" :height="height-300" @regulation="regulation" />
|
||||
</template>
|
||||
</el-card>
|
||||
<div class="draft">
|
||||
<el-button-group>
|
||||
<el-button v-if="isPrevStep" type="primary" @click="prevStep">{{ this.$t('global.lastStep') }}</el-button>
|
||||
<el-button v-if="isNextStep" type="primary" @click="nextStep">{{ this.$t('global.nextStep') }}</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">{{ $t('global.create') }}</el-button>
|
||||
<el-button type="primary" @click="turnback">{{ $t('global.back') }}</el-button>
|
||||
</el-button-group>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
<div class="draft">
|
||||
<el-button-group>
|
||||
<el-button v-if="isPrevStep" type="primary" @click="prevStep">{{ this.$t('global.lastStep') }}</el-button>
|
||||
<el-button v-if="isNextStep" type="primary" @click="nextStep">{{ this.$t('global.nextStep') }}</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">{{ $t('global.create') }}</el-button>
|
||||
<el-button type="primary" @click="turnback">{{ $t('global.back') }}</el-button>
|
||||
</el-button-group>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
<!-- </el-card> -->
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -37,85 +35,83 @@ import RuleFrom from './rule';
|
||||
import ExamFrom from './examFrom';
|
||||
|
||||
export default {
|
||||
name: 'ExamRule',
|
||||
components: {
|
||||
ExamFrom,
|
||||
RuleFrom
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
display: 1,
|
||||
course: {},
|
||||
lessonName: '',
|
||||
formData: {}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
isPrevStep() {
|
||||
return this.display == 2;
|
||||
},
|
||||
isNextStep() {
|
||||
return this.display == 1 && this.$route.params.mode != 'edit';
|
||||
},
|
||||
isUpdate() {
|
||||
return this.display == 1 && this.$route.params.mode == 'edit';
|
||||
},
|
||||
isCreate() {
|
||||
return this.display == 2;
|
||||
},
|
||||
height() {
|
||||
return /\/exam\//.test(`${this.$route.path}`)? this.$store.state.app.height - 92: this.$store.state.app.height - 65;
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.loadInitData();
|
||||
},
|
||||
methods: {
|
||||
loadInitData() {
|
||||
getPublishLessonList().then(response => {
|
||||
this.OrganizationList = response.data;
|
||||
this.OrganizationList.forEach(elem => {
|
||||
if (elem.id == this.$route.params.lessonId) {
|
||||
this.lessonName = elem.name;
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
definition(data) {
|
||||
this.course = data;
|
||||
this.formData = {};
|
||||
this.display = 2;
|
||||
},
|
||||
regulation(data) {
|
||||
this.formData = data;
|
||||
this.display = 1;
|
||||
this.$nextTick(() => {
|
||||
if (this.$refs.exam) {
|
||||
this.$refs.exam.setData(this.formData);
|
||||
}
|
||||
});
|
||||
},
|
||||
prevStep() {
|
||||
this.$refs.rule.regulation();
|
||||
},
|
||||
nextStep() {
|
||||
this.$refs.exam.submitForm();
|
||||
},
|
||||
update() {
|
||||
this.$refs.exam.updateForm();
|
||||
},
|
||||
create() {
|
||||
this.$refs.rule.creatOk();
|
||||
},
|
||||
turnback() {
|
||||
this.$router.go(-1);
|
||||
}
|
||||
}
|
||||
name: 'ExamRule',
|
||||
components: {
|
||||
ExamFrom,
|
||||
RuleFrom
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
display: 1,
|
||||
course: {},
|
||||
// lessonName: '',
|
||||
formData: {}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
isPrevStep() {
|
||||
return this.display == 2;
|
||||
},
|
||||
isNextStep() {
|
||||
return this.display == 1 && this.$route.params.mode != 'edit';
|
||||
},
|
||||
isUpdate() {
|
||||
return this.display == 1 && this.$route.params.mode == 'edit';
|
||||
},
|
||||
isCreate() {
|
||||
return this.display == 2;
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.loadInitData();
|
||||
},
|
||||
methods: {
|
||||
loadInitData() {
|
||||
getPublishLessonList().then(response => {
|
||||
this.OrganizationList = response.data;
|
||||
// this.OrganizationList.forEach(elem => {
|
||||
// if (elem.id == this.$route.params.lessonId) {
|
||||
// this.lessonName = elem.name;
|
||||
// }
|
||||
// });
|
||||
});
|
||||
},
|
||||
definition(data) {
|
||||
this.course = data;
|
||||
this.formData = {};
|
||||
this.display = 2;
|
||||
},
|
||||
regulation(data) {
|
||||
this.formData = data;
|
||||
this.display = 1;
|
||||
this.$nextTick(() => {
|
||||
if (this.$refs.exam) {
|
||||
this.$refs.exam.setData(this.formData);
|
||||
}
|
||||
});
|
||||
},
|
||||
prevStep() {
|
||||
this.$refs.rule.regulation();
|
||||
},
|
||||
nextStep() {
|
||||
this.$refs.exam.submitForm();
|
||||
},
|
||||
update() {
|
||||
this.$refs.exam.updateForm();
|
||||
},
|
||||
create() {
|
||||
this.$refs.rule.creatOk();
|
||||
},
|
||||
turnback() {
|
||||
this.$router.go(-1);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
.exam-box {
|
||||
padding-top: 10px;
|
||||
height: 100%;
|
||||
|
||||
/deep/ {
|
||||
.el-step__icon.is-icon {
|
||||
|
@ -2,7 +2,7 @@
|
||||
<el-dialog v-dialogDrag title="复制地图为" :visible.sync="dialogVisible" width="30%" center>
|
||||
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>
|
||||
<el-button v-loading="loading" type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>
|
||||
<el-button @click="dialogVisible = false">{{ $t('global.cancel') }}</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
@ -19,6 +19,7 @@ export default {
|
||||
name: '',
|
||||
copyOtherData: false
|
||||
},
|
||||
loading: false,
|
||||
mapId: '',
|
||||
form:{
|
||||
labelWidth: '100px',
|
||||
@ -46,10 +47,18 @@ export default {
|
||||
this.mapId = row.id;
|
||||
},
|
||||
doSave() {
|
||||
if (this.loading) {
|
||||
return;
|
||||
}
|
||||
this.loading = true;
|
||||
copyMapAs(this.mapId, this.formModel).then(resp =>{
|
||||
this.$message.success('复制地图成功!');
|
||||
this.loading = false;
|
||||
this.dialogVisible = false;
|
||||
this.$emit('refresh');
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.$messageBox(`复制地图失败!`);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -1,18 +1,18 @@
|
||||
<template>
|
||||
<el-dialog v-dialogDrag title="设置归属项目" :visible.sync="dialogVisible" width="30%" center>
|
||||
<el-dialog v-dialogDrag :title="this.$t('publish.setTheProject')" :visible.sync="dialogVisible" width="30%" center>
|
||||
<el-form ref="form" :model="formModel" label-width="100px" label-position="left">
|
||||
<el-form-item label="地图名称">
|
||||
<el-form-item :label="this.$t('publish.mapName')">
|
||||
<span>{{ formModel.name }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否归属项目" prop="project">
|
||||
<el-form-item :label="this.$t('publish.whetherItBelongsToTheProject')" prop="project">
|
||||
<el-radio-group v-model="formModel.project" @change="changeProject">
|
||||
<el-radio :label="booleanValue.t">是</el-radio>
|
||||
<el-radio :label="booleanValue.f">否</el-radio>
|
||||
<el-radio :label="booleanValue.t">{{ $t('publish.trialYes') }}</el-radio>
|
||||
<el-radio :label="booleanValue.f">{{ $t('publish.trialNo') }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="formModel.project"
|
||||
label="归属项目"
|
||||
:label="this.$t('publish.belongsProject')"
|
||||
prop="projectCode"
|
||||
:rules="{
|
||||
required: true, message: '归属项目不能为空', trigger: 'change'
|
||||
@ -24,7 +24,7 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>
|
||||
<el-button v-loading="loading" type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>
|
||||
<el-button @click="dialogVisible = false">{{ $t('global.cancel') }}</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
@ -45,6 +45,7 @@ export default {
|
||||
project: false,
|
||||
projectCode: ''
|
||||
},
|
||||
loading: false,
|
||||
projectCodeShow: false,
|
||||
booleanValue: {
|
||||
t: true,
|
||||
@ -63,10 +64,17 @@ export default {
|
||||
doSave() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.loading) {
|
||||
return;
|
||||
}
|
||||
this.loading = true;
|
||||
setMapProject(this.formModel).then(resp =>{
|
||||
this.$message.success('设置归属项目成功!');
|
||||
this.loading = false;
|
||||
this.dialogVisible = false;
|
||||
this.$emit('refresh');
|
||||
}).catch( ()=>{
|
||||
this.$messageBox(`设置归属项目失败!`);
|
||||
});
|
||||
} else {
|
||||
return false;
|
||||
|
@ -13,91 +13,91 @@ import { runPlanTemplateList } from '@/api/runplan';
|
||||
import { getSkinCodeList } from '@/api/management/mapskin';
|
||||
|
||||
export default {
|
||||
name: 'ChooseTemplatePlan',
|
||||
data() {
|
||||
return {
|
||||
dialogShow: false,
|
||||
loading: false,
|
||||
skinCodeList: [],
|
||||
model: {},
|
||||
pagerConfig: {
|
||||
pageSize: 'pageSize',
|
||||
pageIndex: 'pageNum'
|
||||
},
|
||||
queryForm: {
|
||||
reset: true,
|
||||
labelWidth: '140px',
|
||||
queryObject: {
|
||||
name: {
|
||||
type: 'text',
|
||||
label: this.$t('publish.runPlanName')
|
||||
}
|
||||
}
|
||||
},
|
||||
queryList: {
|
||||
query: this.queryFunction,
|
||||
selectCheckShow: false,
|
||||
radioShow: true,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('publish.runPlanName'),
|
||||
prop: 'name'
|
||||
},
|
||||
{
|
||||
title: this.$t('publish.skinType'),
|
||||
prop: 'skinCode',
|
||||
type: 'tag',
|
||||
columnValue: (row) => {
|
||||
return this.$convertField(row.skinCode, this.skinCodeList, ['code', 'name']);
|
||||
},
|
||||
tagType: (row) => { return 'success'; }
|
||||
}
|
||||
]
|
||||
},
|
||||
name: 'ChooseTemplatePlan',
|
||||
data() {
|
||||
return {
|
||||
dialogShow: false,
|
||||
loading: false,
|
||||
skinCodeList: [],
|
||||
model: {},
|
||||
pagerConfig: {
|
||||
pageSize: 'pageSize',
|
||||
pageIndex: 'pageNum'
|
||||
},
|
||||
queryForm: {
|
||||
reset: true,
|
||||
labelWidth: '140px',
|
||||
queryObject: {
|
||||
name: {
|
||||
type: 'text',
|
||||
label: this.$t('publish.runPlanName')
|
||||
}
|
||||
}
|
||||
},
|
||||
queryList: {
|
||||
query: this.queryFunction,
|
||||
selectCheckShow: false,
|
||||
radioShow: true,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('publish.runPlanName'),
|
||||
prop: 'name'
|
||||
},
|
||||
{
|
||||
title: this.$t('publish.skinType'),
|
||||
prop: 'skinCode',
|
||||
type: 'tag',
|
||||
columnValue: (row) => {
|
||||
return this.$convertField(row.skinCode, this.skinCodeList, ['code', 'name']);
|
||||
},
|
||||
tagType: (row) => { return 'success'; }
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
currentModel: {}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
title() {
|
||||
return this.$t('publish.selectTemplateRunPlan');
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
loadInitData() {
|
||||
this.skinCodeList = [];
|
||||
getSkinCodeList().then(response => {
|
||||
this.skinCodeList = response.data;
|
||||
});
|
||||
},
|
||||
doShow(model) {
|
||||
this.loading = false;
|
||||
this.dialogShow = true;
|
||||
this.model = model;
|
||||
this.loadInitData();
|
||||
},
|
||||
doClose() {
|
||||
this.dialogShow = false;
|
||||
},
|
||||
queryFunction(params) {
|
||||
params['skinCode'] = this.model.skinCode || '';
|
||||
return runPlanTemplateList(params);
|
||||
},
|
||||
handleConfirm() {
|
||||
this.doClose();
|
||||
if (this.$refs && this.$refs.pageRules) {
|
||||
const choose = this.$refs.pageRules.currentChoose();
|
||||
if (choose) {
|
||||
this.$emit('chooseConfirm', choose);
|
||||
} else {
|
||||
this.$messageBox(this.$t('publish.pleaseSelectTemplate'));
|
||||
}
|
||||
}
|
||||
},
|
||||
reloadTable() {
|
||||
this.queryList.reload();
|
||||
}
|
||||
}
|
||||
currentModel: {}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
title() {
|
||||
return this.$t('publish.selectTemplateRunPlan');
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
loadInitData() {
|
||||
this.skinCodeList = [];
|
||||
getSkinCodeList().then(response => {
|
||||
this.skinCodeList = response.data;
|
||||
});
|
||||
},
|
||||
doShow(model) {
|
||||
this.loading = false;
|
||||
this.dialogShow = true;
|
||||
this.model = model;
|
||||
this.loadInitData();
|
||||
},
|
||||
doClose() {
|
||||
this.dialogShow = false;
|
||||
},
|
||||
queryFunction(params) {
|
||||
params['skinCode'] = this.model.skinCode || '';
|
||||
return runPlanTemplateList(params);
|
||||
},
|
||||
handleConfirm() {
|
||||
this.doClose();
|
||||
if (this.$refs && this.$refs.pageRules) {
|
||||
const choose = this.$refs.pageRules.currentChoose();
|
||||
if (choose) {
|
||||
this.$emit('chooseConfirm', choose);
|
||||
} else {
|
||||
this.$messageBox(this.$t('publish.pleaseSelectTemplate'));
|
||||
}
|
||||
}
|
||||
},
|
||||
reloadTable() {
|
||||
this.queryList.reload();
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
|
@ -4,8 +4,8 @@
|
||||
<el-step :title="title" icon="el-icon-edit-outline" />
|
||||
<el-step title="" icon="el-icon-upload" />
|
||||
</el-steps>
|
||||
<el-card class="forms">
|
||||
<el-scrollbar wrap-class="scrollbar-wrapper" :style="{height:height -120 + 'px'}" style="padding-top: 40px">
|
||||
<div class="joylink-card forms">
|
||||
<div style="padding-top: 40px; padding-bottom: 20px;">
|
||||
<el-form ref="form" :model="model" :rules="rules" label-width="140px" size="small">
|
||||
<el-form-item :label="`${$t('publish.selectMap')}:`" prop="mapId">
|
||||
<el-select v-model="model.mapId" filterable>
|
||||
@ -23,8 +23,8 @@
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-scrollbar>
|
||||
</el-card>
|
||||
</div>
|
||||
</div>
|
||||
<div class="draft">
|
||||
<el-button-group>
|
||||
<el-button v-if="isAdd" type="primary" @click="create">{{ $t('global.create') }}</el-button>
|
||||
@ -41,99 +41,98 @@ import { createRunPlanCommon } from '@/api/runplan';
|
||||
import ChooseTemplatePlan from './chooseTemplatePlan';
|
||||
|
||||
export default {
|
||||
name: 'CommonPlanDraft',
|
||||
components: {
|
||||
ChooseTemplatePlan
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
display: 1,
|
||||
loading: false,
|
||||
mapList: [],
|
||||
model: {
|
||||
mapId: '',
|
||||
planId: '',
|
||||
planName: ''
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
title() {
|
||||
return this.$t('publish.createCommonRunPlan');
|
||||
},
|
||||
isAdd() {
|
||||
return this.$route.params.mode.toUpperCase() == 'add'.toUpperCase();
|
||||
},
|
||||
rules() {
|
||||
const rules = {
|
||||
mapId: [
|
||||
{ required: true, message: this.$t('rules.mapInput'), trigger: 'blur' }
|
||||
],
|
||||
planId: [
|
||||
{ required: true, message: this.$t('rules.inputTemplateRunPlan'), trigger: 'change' }
|
||||
]
|
||||
};
|
||||
name: 'CommonPlanDraft',
|
||||
components: {
|
||||
ChooseTemplatePlan
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
display: 1,
|
||||
loading: false,
|
||||
mapList: [],
|
||||
model: {
|
||||
mapId: '',
|
||||
planId: '',
|
||||
planName: ''
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
title() {
|
||||
return this.$t('publish.createCommonRunPlan');
|
||||
},
|
||||
isAdd() {
|
||||
return this.$route.params.mode.toUpperCase() == 'add'.toUpperCase();
|
||||
},
|
||||
rules() {
|
||||
const rules = {
|
||||
mapId: [
|
||||
{ required: true, message: this.$t('rules.mapInput'), trigger: 'blur' }
|
||||
],
|
||||
planId: [
|
||||
{ required: true, message: this.$t('rules.inputTemplateRunPlan'), trigger: 'change' }
|
||||
]
|
||||
};
|
||||
|
||||
return rules;
|
||||
},
|
||||
height() {
|
||||
return this.$store.state.app.height - 130;
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.initLoadPage();
|
||||
},
|
||||
methods: {
|
||||
initLoadPage() {
|
||||
listPublishMap().then(resp => {
|
||||
this.mapList = resp.data;
|
||||
});
|
||||
},
|
||||
handleChoose() {
|
||||
let model = {};
|
||||
const index = this.mapList.findIndex(elem => { return elem.id == this.model.mapId; });
|
||||
if (index >= 0) {
|
||||
model = this.mapList[index];
|
||||
}
|
||||
this.$refs.choose.doShow(model);
|
||||
},
|
||||
chooseConfirm(choose) {
|
||||
if (choose) {
|
||||
this.model.planId = choose.id;
|
||||
this.model.planName = choose.name;
|
||||
}
|
||||
},
|
||||
buildModel() {
|
||||
return {
|
||||
mapId: this.model.mapId,
|
||||
templatePlanId: this.model.planId
|
||||
};
|
||||
},
|
||||
create() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
createRunPlanCommon(this.buildModel()).then(response => {
|
||||
this.$message.success(this.$t('publish.createCommonSuccess'));
|
||||
this.$router.go(-1);
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('error.createCommonRunPlanFailed'));
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
turnback() {
|
||||
this.$router.go(-1);
|
||||
}
|
||||
}
|
||||
return rules;
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.initLoadPage();
|
||||
},
|
||||
methods: {
|
||||
initLoadPage() {
|
||||
listPublishMap().then(resp => {
|
||||
this.mapList = resp.data;
|
||||
});
|
||||
},
|
||||
handleChoose() {
|
||||
let model = {};
|
||||
const index = this.mapList.findIndex(elem => { return elem.id == this.model.mapId; });
|
||||
if (index >= 0) {
|
||||
model = this.mapList[index];
|
||||
}
|
||||
this.$refs.choose.doShow(model);
|
||||
},
|
||||
chooseConfirm(choose) {
|
||||
if (choose) {
|
||||
this.model.planId = choose.id;
|
||||
this.model.planName = choose.name;
|
||||
}
|
||||
},
|
||||
buildModel() {
|
||||
return {
|
||||
mapId: this.model.mapId,
|
||||
templatePlanId: this.model.planId
|
||||
};
|
||||
},
|
||||
create() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
createRunPlanCommon(this.buildModel()).then(response => {
|
||||
this.$message.success(this.$t('publish.createCommonSuccess'));
|
||||
this.$router.go(-1);
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('error.createCommonRunPlanFailed'));
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
turnback() {
|
||||
this.$router.go(-1);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
.card-box{
|
||||
height: 100%;
|
||||
padding-top: 20px;
|
||||
}
|
||||
.steps {
|
||||
width: 940px;
|
||||
margin: 0 auto;
|
||||
margin-top: 20px;
|
||||
height: 100%;
|
||||
|
||||
/deep/ {
|
||||
.el-step__icon.is-icon {
|
||||
|
@ -11,151 +11,151 @@ import { UrlConfig } from '@/router/index';
|
||||
import { listPublishMap } from '@/api/jmap/map';
|
||||
|
||||
export default {
|
||||
name: 'RunPlanCommon',
|
||||
data() {
|
||||
return {
|
||||
mapList: [],
|
||||
templatePlanList: [],
|
||||
pagerConfig: {
|
||||
pageSize: 'pageSize',
|
||||
pageIndex: 'pageNum'
|
||||
},
|
||||
queryForm: {
|
||||
labelWidth: '140px',
|
||||
reset: true,
|
||||
queryObject: {
|
||||
mapId: {
|
||||
type: 'select',
|
||||
label: this.$t('publish.mapName'),
|
||||
config: {
|
||||
data: []
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
queryList: {
|
||||
query: this.queryFunction,
|
||||
selectCheckShow: false,
|
||||
indexShow: true,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('publish.mapName'),
|
||||
prop: 'mapId',
|
||||
type: 'tag',
|
||||
columnValue: (row) => { return this.$convertField(row.mapId, this.mapList, ['id', 'name']); },
|
||||
tagType: (row) => { return ''; }
|
||||
},
|
||||
{
|
||||
title: this.$t('publish.runPlanName'),
|
||||
prop: 'templatePlanId',
|
||||
type: 'tag',
|
||||
columnValue: (row) => { return this.$convertField(row.templatePlanId, this.templatePlanList, ['id', 'name']); },
|
||||
tagType: (row) => { return 'success'; }
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
title: this.$t('global.operate'),
|
||||
width: '450',
|
||||
hide: () => { return this.$store.state.user.roles.indexOf(superAdmin) < 0; },
|
||||
buttons: [
|
||||
{
|
||||
name: this.$t('global.preview'),
|
||||
handleClick: this.handleView,
|
||||
type: ''
|
||||
},
|
||||
{
|
||||
name: this.$t('publish.generateRunPlan'),
|
||||
handleClick: this.createActionChart,
|
||||
type: ''
|
||||
},
|
||||
{
|
||||
name: this.$t('publish.generateRunjihua'),
|
||||
handleClick: this.createCrewScheduling,
|
||||
type: ''
|
||||
},
|
||||
{
|
||||
name: this.$t('global.delete'),
|
||||
handleClick: this.handleDelete,
|
||||
type: 'danger'
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
actions: [
|
||||
{ text: this.$t('global.add'), btnCode: 'employee_insert', handler: this.handleCreateCommonPlan }
|
||||
]
|
||||
},
|
||||
name: 'RunPlanCommon',
|
||||
data() {
|
||||
return {
|
||||
mapList: [],
|
||||
templatePlanList: [],
|
||||
pagerConfig: {
|
||||
pageSize: 'pageSize',
|
||||
pageIndex: 'pageNum'
|
||||
},
|
||||
queryForm: {
|
||||
labelWidth: '140px',
|
||||
reset: true,
|
||||
queryObject: {
|
||||
mapId: {
|
||||
type: 'select',
|
||||
label: this.$t('publish.mapName'),
|
||||
config: {
|
||||
data: []
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
queryList: {
|
||||
query: this.queryFunction,
|
||||
selectCheckShow: false,
|
||||
indexShow: true,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('publish.mapName'),
|
||||
prop: 'mapId',
|
||||
type: 'tag',
|
||||
columnValue: (row) => { return this.$convertField(row.mapId, this.mapList, ['id', 'name']); },
|
||||
tagType: (row) => { return ''; }
|
||||
},
|
||||
{
|
||||
title: this.$t('publish.runPlanName'),
|
||||
prop: 'templatePlanId',
|
||||
type: 'tag',
|
||||
columnValue: (row) => { return this.$convertField(row.templatePlanId, this.templatePlanList, ['id', 'name']); },
|
||||
tagType: (row) => { return 'success'; }
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
title: this.$t('global.operate'),
|
||||
width: '450',
|
||||
hide: () => { return this.$store.state.user.roles.indexOf(superAdmin) < 0; },
|
||||
buttons: [
|
||||
{
|
||||
name: this.$t('global.preview'),
|
||||
handleClick: this.handleView,
|
||||
type: ''
|
||||
},
|
||||
{
|
||||
name: this.$t('publish.generateRunPlan'),
|
||||
handleClick: this.createActionChart,
|
||||
type: ''
|
||||
},
|
||||
{
|
||||
name: this.$t('publish.generateRunjihua'),
|
||||
handleClick: this.createCrewScheduling,
|
||||
type: ''
|
||||
},
|
||||
{
|
||||
name: this.$t('global.delete'),
|
||||
handleClick: this.handleDelete,
|
||||
type: 'danger'
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
actions: [
|
||||
{ text: this.$t('global.add'), btnCode: 'employee_insert', handler: this.handleCreateCommonPlan }
|
||||
]
|
||||
},
|
||||
|
||||
currentModel: {}
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.loadPageData();
|
||||
},
|
||||
methods: {
|
||||
loadPageData() {
|
||||
this.mapList = [];
|
||||
listPublishMap().then(resp => {
|
||||
this.mapList = resp.data;
|
||||
this.mapList.forEach(elem => {
|
||||
this.queryForm.queryObject.mapId.config.data.push({ value: elem.id, label: elem.name });
|
||||
});
|
||||
});
|
||||
this.templatePlanList = [];
|
||||
listAllTempLateRunPlan().then(resp => {
|
||||
this.templatePlanList = resp.data;
|
||||
});
|
||||
},
|
||||
queryFunction(params) {
|
||||
params['userId'] = '';
|
||||
return getRunPlanLoadList(params);
|
||||
},
|
||||
handleCreateCommonPlan() {
|
||||
this.$router.push({ path: `${UrlConfig.publish.runPlanCommon}/add` });
|
||||
},
|
||||
// 删除
|
||||
handleDelete(index, row) {
|
||||
this.$confirm(this.$t('publish.deleteGenerateEveryRunPlan'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(async () => {
|
||||
await deleteDailyRunPlanLoad(row.id);
|
||||
this.reloadTable();
|
||||
this.$message.success(this.$t('publish.deleteGenerateRunPlanSuccess'));
|
||||
}).catch(() => { });
|
||||
},
|
||||
// 生成每日运行图
|
||||
createActionChart(index, row) {
|
||||
this.$confirm(this.$t('publish.wellGenerateEveryRunPlan'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(async () => {
|
||||
await postDailyRunPlanLoadGenerate(row.id);
|
||||
this.$message.success(this.$t('publish.addEveryRunPlanSuccess'));
|
||||
}).catch(() => { });
|
||||
},
|
||||
// 生成通用派班计划
|
||||
createCrewScheduling(index, row) {
|
||||
this.$confirm(this.$t('publish.wellGenerateEveryRunjihua'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(async () => {
|
||||
await postSchedulingCommonGenerate(row.mapId);
|
||||
this.$message.success(this.$t('publish.addEveryRunjihuaSuccess'));
|
||||
}).catch(() => { });
|
||||
},
|
||||
// 预览
|
||||
handleView(index, row) {
|
||||
const init = this.mapList.findIndex(elem => { return elem.id == row.mapId; });
|
||||
this.$router.push({ path: `${UrlConfig.publish.runPlanView}/common`, query: { skinCode: this.mapList[init].skinCode, planId: row.templatePlanId } });
|
||||
},
|
||||
reloadTable() {
|
||||
this.queryList.reload();
|
||||
}
|
||||
}
|
||||
currentModel: {}
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.loadPageData();
|
||||
},
|
||||
methods: {
|
||||
loadPageData() {
|
||||
this.mapList = [];
|
||||
listPublishMap().then(resp => {
|
||||
this.mapList = resp.data;
|
||||
this.mapList.forEach(elem => {
|
||||
this.queryForm.queryObject.mapId.config.data.push({ value: elem.id, label: elem.name });
|
||||
});
|
||||
});
|
||||
this.templatePlanList = [];
|
||||
listAllTempLateRunPlan().then(resp => {
|
||||
this.templatePlanList = resp.data;
|
||||
});
|
||||
},
|
||||
queryFunction(params) {
|
||||
params['userId'] = '';
|
||||
return getRunPlanLoadList(params);
|
||||
},
|
||||
handleCreateCommonPlan() {
|
||||
this.$router.push({ path: `${UrlConfig.publish.runPlanCommon}/add` });
|
||||
},
|
||||
// 删除
|
||||
handleDelete(index, row) {
|
||||
this.$confirm(this.$t('publish.deleteGenerateEveryRunPlan'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(async () => {
|
||||
await deleteDailyRunPlanLoad(row.id);
|
||||
this.reloadTable();
|
||||
this.$message.success(this.$t('publish.deleteGenerateRunPlanSuccess'));
|
||||
}).catch(() => { });
|
||||
},
|
||||
// 生成每日运行图
|
||||
createActionChart(index, row) {
|
||||
this.$confirm(this.$t('publish.wellGenerateEveryRunPlan'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(async () => {
|
||||
await postDailyRunPlanLoadGenerate(row.id);
|
||||
this.$message.success(this.$t('publish.addEveryRunPlanSuccess'));
|
||||
}).catch(() => { });
|
||||
},
|
||||
// 生成通用派班计划
|
||||
createCrewScheduling(index, row) {
|
||||
this.$confirm(this.$t('publish.wellGenerateEveryRunjihua'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(async () => {
|
||||
await postSchedulingCommonGenerate(row.mapId);
|
||||
this.$message.success(this.$t('publish.addEveryRunjihuaSuccess'));
|
||||
}).catch(() => { });
|
||||
},
|
||||
// 预览
|
||||
handleView(index, row) {
|
||||
const init = this.mapList.findIndex(elem => { return elem.id == row.mapId; });
|
||||
this.$router.push({ path: `${UrlConfig.publish.runPlanView}/common`, query: { skinCode: this.mapList[init].skinCode, planId: row.templatePlanId } });
|
||||
},
|
||||
reloadTable() {
|
||||
this.queryList.reload();
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
@ -11,117 +11,117 @@ import { runPlanEveryDayList, deleteRunPlanEveryDay } from '@/api/runplan';
|
||||
import { UrlConfig } from '@/router/index';
|
||||
|
||||
export default {
|
||||
name: 'RunPlanEveryDay',
|
||||
data() {
|
||||
return {
|
||||
mapList: [],
|
||||
pagerConfig: {
|
||||
pageSize: 'pageSize',
|
||||
pageIndex: 'pageNum'
|
||||
},
|
||||
queryForm: {
|
||||
labelWidth: '140px',
|
||||
reset: true,
|
||||
queryObject: {
|
||||
name: {
|
||||
type: 'text',
|
||||
label: this.$t('publish.runPlanName')
|
||||
},
|
||||
mapId: {
|
||||
type: 'select',
|
||||
label: this.$t('publish.mapName'),
|
||||
config: {
|
||||
data: []
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
queryList: {
|
||||
query: runPlanEveryDayList,
|
||||
selectCheckShow: false,
|
||||
indexShow: true,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('publish.runPlanName'),
|
||||
prop: 'name'
|
||||
},
|
||||
{
|
||||
title: this.$t('publish.mapName'),
|
||||
prop: 'mapId',
|
||||
type: 'tag',
|
||||
columnValue: (row) => {
|
||||
return this.$convertField(row.mapId, this.mapList, ['id', 'name']);
|
||||
},
|
||||
tagType: (row) => { return 'success'; }
|
||||
},
|
||||
{
|
||||
title: this.$t('publish.runEveryDayTime'),
|
||||
prop: 'runDate'
|
||||
},
|
||||
{
|
||||
title: this.$t('publish.userId'),
|
||||
prop: 'creatorId'
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
title: this.$t('global.operate'),
|
||||
width: '250',
|
||||
hide: (row) => { return this.$store.state.user.roles.indexOf(superAdmin) < 0; },
|
||||
buttons: [
|
||||
{
|
||||
name: this.$t('global.delete'),
|
||||
handleClick: this.handleDelete,
|
||||
type: 'danger'
|
||||
}
|
||||
// {
|
||||
// name: this.$t('global.preview'),
|
||||
// handleClick: this.handleView,
|
||||
// type: ''
|
||||
// }
|
||||
// 无skincode
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
name: 'RunPlanEveryDay',
|
||||
data() {
|
||||
return {
|
||||
mapList: [],
|
||||
pagerConfig: {
|
||||
pageSize: 'pageSize',
|
||||
pageIndex: 'pageNum'
|
||||
},
|
||||
queryForm: {
|
||||
labelWidth: '140px',
|
||||
reset: true,
|
||||
queryObject: {
|
||||
name: {
|
||||
type: 'text',
|
||||
label: this.$t('publish.runPlanName')
|
||||
},
|
||||
mapId: {
|
||||
type: 'select',
|
||||
label: this.$t('publish.mapName'),
|
||||
config: {
|
||||
data: []
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
queryList: {
|
||||
query: runPlanEveryDayList,
|
||||
selectCheckShow: false,
|
||||
indexShow: true,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('publish.runPlanName'),
|
||||
prop: 'name'
|
||||
},
|
||||
{
|
||||
title: this.$t('publish.mapName'),
|
||||
prop: 'mapId',
|
||||
type: 'tag',
|
||||
columnValue: (row) => {
|
||||
return this.$convertField(row.mapId, this.mapList, ['id', 'name']);
|
||||
},
|
||||
tagType: (row) => { return 'success'; }
|
||||
},
|
||||
{
|
||||
title: this.$t('publish.runEveryDayTime'),
|
||||
prop: 'runDate'
|
||||
},
|
||||
{
|
||||
title: this.$t('publish.userId'),
|
||||
prop: 'creatorId'
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
title: this.$t('global.operate'),
|
||||
width: '250',
|
||||
hide: (row) => { return this.$store.state.user.roles.indexOf(superAdmin) < 0; },
|
||||
buttons: [
|
||||
{
|
||||
name: this.$t('global.delete'),
|
||||
handleClick: this.handleDelete,
|
||||
type: 'danger'
|
||||
}
|
||||
// {
|
||||
// name: this.$t('global.preview'),
|
||||
// handleClick: this.handleView,
|
||||
// type: ''
|
||||
// }
|
||||
// 无skincode
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
currentModel: {}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.loadInitData();
|
||||
},
|
||||
methods: {
|
||||
loadInitData() {
|
||||
this.mapList = [];
|
||||
listPublishMap().then(response => {
|
||||
this.mapList = response.data;
|
||||
response.data.forEach(elem => {
|
||||
this.queryForm.queryObject.mapId.config.data.push({ value: elem.id, label: elem.name });
|
||||
});
|
||||
});
|
||||
},
|
||||
handleDelete(index, row) {
|
||||
this.$confirm(this.$t('publish.wellDelRunPlanEveryDay'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
deleteRunPlanEveryDay(row.id).then(response => {
|
||||
this.$message.success(this.$t('publish.deleteSuccess'));
|
||||
this.reloadTable();
|
||||
}).catch(() => {
|
||||
this.reloadTable();
|
||||
this.$messageBox(this.$t('error.deleteFailed'));
|
||||
});
|
||||
}).catch(() => { });
|
||||
},
|
||||
// 预览
|
||||
handleView(index, row) {
|
||||
this.$router.push({ path: `${UrlConfig.publish.runPlanView}/everyDay`, query: { skinCode: row.skinCode, planId: row.id } });
|
||||
},
|
||||
reloadTable() {
|
||||
this.queryList.reload();
|
||||
}
|
||||
}
|
||||
currentModel: {}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.loadInitData();
|
||||
},
|
||||
methods: {
|
||||
loadInitData() {
|
||||
this.mapList = [];
|
||||
listPublishMap().then(response => {
|
||||
this.mapList = response.data;
|
||||
response.data.forEach(elem => {
|
||||
this.queryForm.queryObject.mapId.config.data.push({ value: elem.id, label: elem.name });
|
||||
});
|
||||
});
|
||||
},
|
||||
handleDelete(index, row) {
|
||||
this.$confirm(this.$t('publish.wellDelRunPlanEveryDay'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
deleteRunPlanEveryDay(row.id).then(response => {
|
||||
this.$message.success(this.$t('publish.deleteSuccess'));
|
||||
this.reloadTable();
|
||||
}).catch(() => {
|
||||
this.reloadTable();
|
||||
this.$messageBox(this.$t('error.deleteFailed'));
|
||||
});
|
||||
}).catch(() => { });
|
||||
},
|
||||
// 预览
|
||||
handleView(index, row) {
|
||||
this.$router.push({ path: `${UrlConfig.publish.runPlanView}/everyDay`, query: { skinCode: row.skinCode, planId: row.id } });
|
||||
},
|
||||
reloadTable() {
|
||||
this.queryList.reload();
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
@ -1,124 +0,0 @@
|
||||
<template>
|
||||
<div>
|
||||
<QueryListPage ref="queryListPage" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { superAdmin } from '@/router';
|
||||
import { getSkinCodeList } from '@/api/management/mapskin';
|
||||
import { getQuestPageList, deleteQuest } from '@/api/quest';
|
||||
|
||||
export default {
|
||||
name: 'RunPlanTemplate',
|
||||
data() {
|
||||
return {
|
||||
skinCodeList: [],
|
||||
pagerConfig: {
|
||||
pageSize: 'pageSize',
|
||||
pageIndex: 'pageNum'
|
||||
},
|
||||
queryForm: {
|
||||
labelWidth: '140px',
|
||||
reset: true,
|
||||
queryObject: {
|
||||
skinCode: {
|
||||
type: 'select',
|
||||
label: this.$t('publish.skinType'),
|
||||
config: {
|
||||
data: []
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
queryList: {
|
||||
query: getQuestPageList,
|
||||
selectCheckShow: false,
|
||||
indexShow: true,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('publish.taskName'),
|
||||
prop: 'name'
|
||||
},
|
||||
{
|
||||
title: this.$t('publish.skinType'),
|
||||
prop: 'skinCode',
|
||||
type: 'tag',
|
||||
columnValue: (row) => {
|
||||
return this.$convertField(row.skinCode, this.skinCodeList, ['code', 'name']);
|
||||
},
|
||||
tagType: (row) => { return ''; }
|
||||
},
|
||||
{
|
||||
title: this.$t('publish.createTime'),
|
||||
prop: 'createTime'
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
title: this.$t('global.operate'),
|
||||
width: '350',
|
||||
hide: () => { return this.$store.state.user.roles.indexOf(superAdmin) < 0; },
|
||||
buttons: [
|
||||
{
|
||||
name: this.$t('global.delete'),
|
||||
handleClick: this.handleDelete,
|
||||
type: 'danger'
|
||||
},
|
||||
{
|
||||
name: this.$t('publish.detail'),
|
||||
handleClick: this.handleDetail,
|
||||
type: ''
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
currentModel: {}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.loadInitData();
|
||||
},
|
||||
methods: {
|
||||
loadInitData() {
|
||||
this.skinCodeList = [];
|
||||
getSkinCodeList().then(response => {
|
||||
this.skinCodeList = response.data;
|
||||
response.data.forEach(elem => {
|
||||
this.queryForm.queryObject.skinCode.config.data.push({ value: elem.code, label: elem.name });
|
||||
});
|
||||
});
|
||||
},
|
||||
// 删除
|
||||
handleDelete(index, row) {
|
||||
this.$confirm(this.$t('publish.wellDelTemplate'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
deleteQuest(row.id).then(response => {
|
||||
this.$message.success(this.$t('publish.deleteSuccess'));
|
||||
this.reloadTable();
|
||||
}).catch(error => {
|
||||
this.reloadTable();
|
||||
if (error.code == 500) {
|
||||
this.$messageBox(this.$t('error.deleteFailed'));
|
||||
} else if (error.code == 500009) {
|
||||
this.$messageBox(this.$t('error.templateHasBeUse'));
|
||||
}
|
||||
});
|
||||
}).catch(() => { });
|
||||
},
|
||||
|
||||
// 查看详情
|
||||
handleDetail(index, row) {
|
||||
this.$messageBox(this.$t('global.notBeUse'));
|
||||
},
|
||||
|
||||
reloadTable() {
|
||||
this.queryList.reload();
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
@ -5,7 +5,7 @@
|
||||
<el-header style="height:50px;">
|
||||
<el-row class="actionList">
|
||||
<span class="titleStyle">{{ $t('scriptRecord.scriptRecordTitle') }}</span>
|
||||
<span class="titleStyle">( {{$t('scriptRecord.language')}}: {{ $route.query.lang=="en"?$t('scriptRecord.english'):$t('scriptRecord.chinese') }} )</span>
|
||||
<span class="titleStyle">( {{ $t('scriptRecord.language') }}: {{ $route.query.lang=="en"?$t('scriptRecord.english'):$t('scriptRecord.chinese') }} )</span>
|
||||
</el-row>
|
||||
</el-header>
|
||||
<el-main style="padding-top:10px;padding-bottom:10px;">
|
||||
@ -34,153 +34,153 @@ import AddRole from '../scriptRecord/addRole';
|
||||
import {saveScriptScenes, saveScriptData, dumpScriptData, updateMapLocation, scriptPause, executeScript} from '@/api/simulation';
|
||||
|
||||
export default {
|
||||
name: 'TipScriptRecord',
|
||||
components: {
|
||||
GetAction,
|
||||
AddRole,
|
||||
AddAction
|
||||
},
|
||||
props: {
|
||||
group: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
width: {
|
||||
type: Number || String,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
title: this.$t('scriptRecord.scriptRecordTitle'),
|
||||
isShrink: false,
|
||||
mapLocation: {},
|
||||
autoSaveScript: null,
|
||||
isSavingScript: false,
|
||||
isPause: true,
|
||||
executeDisabled: false,
|
||||
backDisabled: false,
|
||||
size: {
|
||||
width: 350,
|
||||
height: window.innerHeight-342
|
||||
}
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
'$store.state.scriptRecord.bgSet': function (val) {
|
||||
this.backDisabled=val;
|
||||
},
|
||||
'$store.state.app.windowSizeCount': function() {
|
||||
this.size = { width: 350, height: window.innerHeight-342};
|
||||
},
|
||||
width: function(val) {
|
||||
this.size = { width: val / 2 - 20, height: window.innerHeight - 342};
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.initAutoSaveScript();
|
||||
this.backDisabled=this.$store.state.scriptRecord.bgSet;
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.clearAutoSave();
|
||||
},
|
||||
methods: {
|
||||
setIsParse(isPause) {
|
||||
this.isPause=isPause;
|
||||
},
|
||||
setDisabled(data) {
|
||||
this.executeDisabled=!data;
|
||||
},
|
||||
initAutoSaveScript() {
|
||||
const timeout = 1000 * 20;
|
||||
this.clearAutoSave(this.autoSaveScript);
|
||||
this.autoSaveScript = setInterval(this.saveScenesData, timeout);
|
||||
},
|
||||
clearAutoSave() {
|
||||
if (this.autoSaveScript) {
|
||||
clearInterval(this.autoSaveScript);
|
||||
this.autoSaveScript = null;
|
||||
}
|
||||
},
|
||||
pauseScript() {
|
||||
scriptPause(this.group).then(resp => {
|
||||
this.$store.dispatch('scriptRecord/updateSimulationPause', true);
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('scriptRecord.pauseFail'));
|
||||
});
|
||||
},
|
||||
executePlayScript() {
|
||||
executeScript(this.group).then(resp => {
|
||||
this.$store.dispatch('scriptRecord/updateSimulationPause', false);
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('scriptRecord.recoverFail'));
|
||||
});
|
||||
},
|
||||
saveScenesStage() {
|
||||
const data=Vue.prototype.$jlmap.$options;
|
||||
const group=this.$route.query.group;
|
||||
const dataZoom={scale: data.scaleRate, x: data.offsetX, y: data.offsetY};
|
||||
saveScriptScenes(this.group).then(resp => {
|
||||
updateMapLocation(group, dataZoom).then(response=>{
|
||||
this.$store.dispatch('scriptRecord/updateBgSet', true);
|
||||
this.$message.success(this.$t('scriptRecord.saveBackgroundSuceess'));
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.updateLocationFail')}: ${error.message}`);
|
||||
});
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('scriptRecord.saveBackgroundFail'));
|
||||
});
|
||||
name: 'TipScriptRecord',
|
||||
components: {
|
||||
GetAction,
|
||||
AddRole,
|
||||
AddAction
|
||||
},
|
||||
props: {
|
||||
group: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
width: {
|
||||
type: Number || String,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
title: this.$t('scriptRecord.scriptRecordTitle'),
|
||||
isShrink: false,
|
||||
mapLocation: {},
|
||||
autoSaveScript: null,
|
||||
isSavingScript: false,
|
||||
isPause: true,
|
||||
executeDisabled: false,
|
||||
backDisabled: false,
|
||||
size: {
|
||||
width: 350,
|
||||
height: window.innerHeight - 342
|
||||
}
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
'$store.state.scriptRecord.bgSet': function (val) {
|
||||
this.backDisabled = val;
|
||||
},
|
||||
'$store.state.app.windowSizeCount': function() {
|
||||
this.size = { width: 350, height: window.innerHeight - 342};
|
||||
},
|
||||
width: function(val) {
|
||||
this.size = { width: val / 2 - 20, height: window.innerHeight - 342};
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.initAutoSaveScript();
|
||||
this.backDisabled = this.$store.state.scriptRecord.bgSet;
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.clearAutoSave();
|
||||
},
|
||||
methods: {
|
||||
setIsParse(isPause) {
|
||||
this.isPause = isPause;
|
||||
},
|
||||
setDisabled(data) {
|
||||
this.executeDisabled = !data;
|
||||
},
|
||||
initAutoSaveScript() {
|
||||
const timeout = 1000 * 20;
|
||||
this.clearAutoSave(this.autoSaveScript);
|
||||
this.autoSaveScript = setInterval(this.saveScenesData, timeout);
|
||||
},
|
||||
clearAutoSave() {
|
||||
if (this.autoSaveScript) {
|
||||
clearInterval(this.autoSaveScript);
|
||||
this.autoSaveScript = null;
|
||||
}
|
||||
},
|
||||
pauseScript() {
|
||||
scriptPause(this.group).then(resp => {
|
||||
this.$store.dispatch('scriptRecord/updateSimulationPause', true);
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('scriptRecord.pauseFail'));
|
||||
});
|
||||
},
|
||||
executePlayScript() {
|
||||
executeScript(this.group).then(resp => {
|
||||
this.$store.dispatch('scriptRecord/updateSimulationPause', false);
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('scriptRecord.recoverFail'));
|
||||
});
|
||||
},
|
||||
saveScenesStage() {
|
||||
const data = Vue.prototype.$jlmap.$options;
|
||||
const group = this.$route.query.group;
|
||||
const dataZoom = {scale: data.scaleRate, x: data.offsetX, y: data.offsetY};
|
||||
saveScriptScenes(this.group).then(resp => {
|
||||
updateMapLocation(group, dataZoom).then(response=>{
|
||||
this.$store.dispatch('scriptRecord/updateBgSet', true);
|
||||
this.$message.success(this.$t('scriptRecord.saveBackgroundSuceess'));
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.updateLocationFail')}: ${error.message}`);
|
||||
});
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('scriptRecord.saveBackgroundFail'));
|
||||
});
|
||||
|
||||
},
|
||||
saveScenesData() {
|
||||
this.isSavingScript=true;
|
||||
saveScriptData(this.group).then(resp => {
|
||||
this.$message.success(this.$t('scriptRecord.saveDataSucess'));
|
||||
this.isSavingScript=false;
|
||||
this.initAutoSaveScript();
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.saveDataFail')}: ${error.message}`);
|
||||
this.isSavingScript=false;
|
||||
if (error.code === 40004 || error.code === 40005 || error.code === 40003) {
|
||||
this.clearAutoSave();
|
||||
} else {
|
||||
this.initAutoSaveScript();
|
||||
}
|
||||
});
|
||||
},
|
||||
dumpScenesData() {
|
||||
this.clearAutoSave();
|
||||
const group=this.group;
|
||||
this.$confirm(this.$t('scriptRecord.clearDataTip'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
dumpScriptData(group).then(resp => {
|
||||
this.$parent.$refs['display'].$refs['menuScript'].resetBeginTime();
|
||||
this.$refs['getAction'].loadInitData();
|
||||
this.$refs['addRole'].initData();
|
||||
this.$refs['addAction'].initData();
|
||||
this.initAutoSaveScript();
|
||||
this.$store.dispatch('scriptRecord/updateBgSet', false);
|
||||
this.$message.success(this.$t('scriptRecord.resetDataSuccess'));
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('scriptRecord.resetDataFail'));
|
||||
});
|
||||
}).catch(() => {
|
||||
this.initAutoSaveScript();
|
||||
});
|
||||
},
|
||||
refresh() {
|
||||
this.$refs['addAction'].initData();
|
||||
},
|
||||
create() {
|
||||
this.$refs['getAction'].loadInitData();
|
||||
},
|
||||
setAction(row) {
|
||||
this.$refs['addAction'].doShow(row);
|
||||
}
|
||||
}
|
||||
},
|
||||
saveScenesData() {
|
||||
this.isSavingScript = true;
|
||||
saveScriptData(this.group).then(resp => {
|
||||
this.$message.success(this.$t('scriptRecord.saveDataSucess'));
|
||||
this.isSavingScript = false;
|
||||
this.initAutoSaveScript();
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.saveDataFail')}: ${error.message}`);
|
||||
this.isSavingScript = false;
|
||||
if (error.code === 40004 || error.code === 40005 || error.code === 40003) {
|
||||
this.clearAutoSave();
|
||||
} else {
|
||||
this.initAutoSaveScript();
|
||||
}
|
||||
});
|
||||
},
|
||||
dumpScenesData() {
|
||||
this.clearAutoSave();
|
||||
const group = this.group;
|
||||
this.$confirm(this.$t('scriptRecord.clearDataTip'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
dumpScriptData(group).then(resp => {
|
||||
this.$parent.$refs['display'].$refs['menuScript'].resetBeginTime();
|
||||
this.$refs['getAction'].loadInitData();
|
||||
this.$refs['addRole'].initData();
|
||||
this.$refs['addAction'].initData();
|
||||
this.initAutoSaveScript();
|
||||
this.$store.dispatch('scriptRecord/updateBgSet', false);
|
||||
this.$message.success(this.$t('scriptRecord.resetDataSuccess'));
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('scriptRecord.resetDataFail'));
|
||||
});
|
||||
}).catch(() => {
|
||||
this.initAutoSaveScript();
|
||||
});
|
||||
},
|
||||
refresh() {
|
||||
this.$refs['addAction'].initData();
|
||||
},
|
||||
create() {
|
||||
this.$refs['getAction'].loadInitData();
|
||||
},
|
||||
setAction(row) {
|
||||
this.$refs['addAction'].doShow(row);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
|
@ -1,16 +1,13 @@
|
||||
<template>
|
||||
<el-card :style="{height: height+'px'}">
|
||||
<div class="scriptHeader">
|
||||
<div class="scriptList">{{$t('scriptRecord.scriptList')}}</div>
|
||||
<el-button size="small" type="primary" @click="handleCreate" class="createScript">{{$t('scriptRecord.scriptCreate')}}</el-button>
|
||||
</div>
|
||||
<QueryListPage ref="queryListPage" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" style="width: 91%;margin-left:4%;margin-top:20px;display: inline-block;"/>
|
||||
<script-publish ref='publishScript' @reloadTable="reloadTable" @create="handleConfirmPublish" :title="$t('scriptRecord.publishScript')">
|
||||
</script-publish>
|
||||
<create-script ref='createScript' @reloadTable="reloadTable" @create="handleConfirmCreate" :title="$t('scriptRecord.createScript')">
|
||||
</create-script>
|
||||
<create-script ref='modifyScript' @reloadTable="reloadTable" @create="handleConfirmModify" :title="$t('scriptRecord.modifyScript')">
|
||||
</create-script>
|
||||
<div class="scriptHeader">
|
||||
<div class="scriptList">{{ $t('scriptRecord.scriptList') }}</div>
|
||||
<el-button size="small" type="primary" class="createScript" @click="handleCreate">{{ $t('scriptRecord.scriptCreate') }}</el-button>
|
||||
</div>
|
||||
<QueryListPage ref="queryListPage" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" style="width: 91%;margin-left:4%;margin-top:20px;display: inline-block;" />
|
||||
<script-publish ref="publishScript" :title="$t('scriptRecord.publishScript')" @reloadTable="reloadTable" @create="handleConfirmPublish" />
|
||||
<create-script ref="createScript" :title="$t('scriptRecord.createScript')" @reloadTable="reloadTable" @create="handleConfirmCreate" />
|
||||
<create-script ref="modifyScript" :title="$t('scriptRecord.modifyScript')" @reloadTable="reloadTable" @create="handleConfirmModify" />
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
@ -20,259 +17,260 @@ import ConstConfig from '@/scripts/ConstConfig';
|
||||
import { UrlConfig } from '@/router/index';
|
||||
import { mapGetters } from 'vuex';
|
||||
import { admin, superAdmin} from '@/router';
|
||||
import { getQuestPageList,createQuest,deleteQuest,updateQuest,publishQuest,retractQuest} from '@/api/quest';
|
||||
import { getQuestPageList, createQuest, deleteQuest, updateQuest, publishQuest, retractQuest} from '@/api/quest';
|
||||
import { launchFullscreen } from '@/utils/screen';
|
||||
import { scriptDraftRecordNotify,scriptRecordNotify } from '@/api/simulation';
|
||||
import { scriptDraftRecordNotify, scriptRecordNotify } from '@/api/simulation';
|
||||
import CreateScript from './create';
|
||||
import ScriptPublish from './publish';
|
||||
|
||||
export default {
|
||||
name: 'ScriptDraft',
|
||||
name: 'ScriptDraft',
|
||||
components: {
|
||||
CreateScript,
|
||||
ScriptPublish
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
pagerConfig: {
|
||||
pageSize: 'pageSize',
|
||||
pageIndex: 'pageNum'
|
||||
},
|
||||
queryForm: {
|
||||
labelWidth: '100px',
|
||||
reset: true,
|
||||
show:false
|
||||
},
|
||||
queryList: {
|
||||
query: this.queryFunction,
|
||||
selectCheckShow: false,
|
||||
indexShow: true,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('scriptRecord.scriptName'),
|
||||
prop: 'name'
|
||||
},
|
||||
{
|
||||
title: this.$t('scriptRecord.scriptDescription'),
|
||||
prop: 'description',
|
||||
},
|
||||
{
|
||||
title: this.$t('scriptRecord.status'),
|
||||
prop: 'status',
|
||||
type: 'tag',
|
||||
columnValue: (row) => { return this.covertData(row)},
|
||||
tagType: (row) => { return ''; }
|
||||
},
|
||||
{
|
||||
title: this.$t('scriptRecord.revokeReason'),
|
||||
prop: 'explanation',
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
title: this.$t('scriptRecord.operate'),
|
||||
width: '400',
|
||||
buttons: [
|
||||
{
|
||||
name: this.$t('scriptRecord.scriptRecord'),
|
||||
handleClick: this.drawUp,
|
||||
type: 'success',
|
||||
showControl:(row) => { return !(row.status==1) },
|
||||
},
|
||||
{
|
||||
name: this.$t('scriptRecord.scriptModify'),
|
||||
handleClick: this.handleModify,
|
||||
type: 'primary',
|
||||
showControl:(row) => { return !(row.status==1) },
|
||||
},
|
||||
{
|
||||
name: this.$t('scriptRecord.scriptDelete'),
|
||||
handleClick: this.deleteScript,
|
||||
type: 'danger',
|
||||
showControl:(row) => { return !(row.status==1) },
|
||||
},
|
||||
{
|
||||
name: this.covertButtonname(),
|
||||
handleClick: this.publishScript,
|
||||
type: 'primary',
|
||||
showControl:(row) => { return row.status==0 },
|
||||
},
|
||||
{
|
||||
name: this.$t('scriptRecord.applyRevoke'),
|
||||
handleClick: this.revokeScript,
|
||||
type: 'primary',
|
||||
showControl:(row) => { return row.status==1 },
|
||||
},
|
||||
{
|
||||
name: this.$t('scriptRecord.preview'),
|
||||
handleClick: this.previewScript,
|
||||
type: 'success',
|
||||
// showControl:(row) => { return row.status==1},
|
||||
}
|
||||
]
|
||||
}
|
||||
CreateScript,
|
||||
ScriptPublish
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
pagerConfig: {
|
||||
pageSize: 'pageSize',
|
||||
pageIndex: 'pageNum'
|
||||
},
|
||||
queryForm: {
|
||||
labelWidth: '100px',
|
||||
reset: true,
|
||||
show:false
|
||||
},
|
||||
queryList: {
|
||||
query: this.queryFunction,
|
||||
selectCheckShow: false,
|
||||
indexShow: true,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('scriptRecord.scriptName'),
|
||||
prop: 'name'
|
||||
},
|
||||
{
|
||||
title: this.$t('scriptRecord.scriptDescription'),
|
||||
prop: 'description'
|
||||
},
|
||||
{
|
||||
title: this.$t('scriptRecord.status'),
|
||||
prop: 'status',
|
||||
type: 'tag',
|
||||
columnValue: (row) => { return this.covertData(row); },
|
||||
tagType: (row) => { return ''; }
|
||||
},
|
||||
{
|
||||
title: this.$t('scriptRecord.revokeReason'),
|
||||
prop: 'explanation'
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
title: this.$t('scriptRecord.operate'),
|
||||
width: '400',
|
||||
buttons: [
|
||||
{
|
||||
name: this.$t('scriptRecord.scriptRecord'),
|
||||
handleClick: this.drawUp,
|
||||
type: 'success',
|
||||
showControl:(row) => { return !(row.status == 1); }
|
||||
},
|
||||
{
|
||||
name: this.$t('scriptRecord.scriptModify'),
|
||||
handleClick: this.handleModify,
|
||||
type: 'primary',
|
||||
showControl:(row) => { return !(row.status == 1); }
|
||||
},
|
||||
{
|
||||
name: this.$t('scriptRecord.scriptDelete'),
|
||||
handleClick: this.deleteScript,
|
||||
type: 'danger',
|
||||
showControl:(row) => { return !(row.status == 1); }
|
||||
},
|
||||
{
|
||||
name: this.covertButtonname(),
|
||||
handleClick: this.publishScript,
|
||||
type: 'primary',
|
||||
showControl:(row) => { return row.status == 0; }
|
||||
},
|
||||
{
|
||||
name: this.$t('scriptRecord.applyRevoke'),
|
||||
handleClick: this.revokeScript,
|
||||
type: 'primary',
|
||||
showControl:(row) => { return row.status == 1; }
|
||||
},
|
||||
{
|
||||
name: this.$t('scriptRecord.preview'),
|
||||
handleClick: this.previewScript,
|
||||
type: 'success'
|
||||
// showControl:(row) => { return row.status==1},
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
height() {
|
||||
return this.$store.state.app.height - 50-30;
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$route' () {
|
||||
this.reloadTable();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
queryFunction(params) {
|
||||
return getQuestPageList(this.$route.params.mapId,params);
|
||||
},
|
||||
reloadTable() {
|
||||
if (this.queryList && this.queryList.reload) {
|
||||
this.queryList.reload();
|
||||
}
|
||||
},
|
||||
drawUp(index,row) {
|
||||
scriptRecordNotify(row.id).then(resp => {
|
||||
const query = { mapId: row.mapId, group: resp.data, scriptId: row.id,lang:row.lang };
|
||||
this.$router.push({ path: `${UrlConfig.scriptDisplay}/script`, query });
|
||||
launchFullscreen();
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.createSimulationFail')}: ${error.message}`);
|
||||
});
|
||||
},
|
||||
deleteScript(index,row) {
|
||||
this.$confirm(this.$t('scriptRecord.deleteScriptTip'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
deleteQuest(row.id).then(response => {
|
||||
this.$message.success(this.$t('scriptRecord.deleteScriptSucess'));
|
||||
this.reloadTable();
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('scriptRecord.deleteScriptFail'));
|
||||
});
|
||||
}).catch(() => { });
|
||||
},
|
||||
// 确定创建
|
||||
handleConfirmCreate(data) {
|
||||
if(Cookies.get("user_lang")=="en"){
|
||||
data.lang='en';
|
||||
}else{
|
||||
data.lang='zh';
|
||||
}
|
||||
createQuest(data).then(resp => {
|
||||
this.reloadTable();
|
||||
this.$message.success(this.$t('scriptRecord.createScriptSuccess'));
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.createScriptFail')}: ${error.message}`);
|
||||
})
|
||||
},
|
||||
//修改
|
||||
handleModify(index, row){
|
||||
this.$refs.modifyScript.doShow(row.id);
|
||||
},
|
||||
//确认修改
|
||||
handleConfirmModify(data){
|
||||
if(Cookies.get("user_lang")=="en"){
|
||||
data.lang='en';
|
||||
}else{
|
||||
data.lang='zh';
|
||||
}
|
||||
updateQuest(data.id,data).then(resp => {
|
||||
this.reloadTable();
|
||||
this.$message.success(this.$t('scriptRecord.modifyScriptSuccess'));
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.modifyScriptFail')}: ${error.message}`);
|
||||
})
|
||||
},
|
||||
// 创建
|
||||
handleCreate() {
|
||||
this.$refs.createScript.doShow(null);
|
||||
},
|
||||
covertData(row){
|
||||
let releaseReview=ConstConfig.ConstSelect.releaseReview;
|
||||
let lastData=Object.assign({}, row);
|
||||
if(Cookies.get("user_lang")=="en"){
|
||||
releaseReview.forEach(function(element){
|
||||
let rolename=element.value;
|
||||
if(lastData.status==rolename){
|
||||
lastData.status=element.enlabel;
|
||||
}
|
||||
});
|
||||
}else{
|
||||
releaseReview.forEach(function(element){
|
||||
let rolename=element.value;
|
||||
if(lastData.status==rolename){
|
||||
lastData.status=element.label;
|
||||
}
|
||||
});
|
||||
}
|
||||
return lastData.status;
|
||||
// let explanation=lastData.explanation?'{ 说明:'+lastData.explanation+'}':'';
|
||||
// return lastData.status+explanation;
|
||||
},
|
||||
handleConfirmPublish(data){
|
||||
publishQuest(data.id,{'scriptName':data.scriptName}).then(resp => {
|
||||
this.reloadTable();
|
||||
this.$message.success(this.$t('scriptRecord.publishScriptSuccess'));
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.publishScriptFailed')}: ${error.message}`);
|
||||
});
|
||||
},
|
||||
publishScript(index,row){
|
||||
if(this.$store.getters.roles.indexOf(admin) >= 0 || this.$store.getters.roles.indexOf(superAdmin) >= 0){
|
||||
this.$refs.publishScript.doShow(row);
|
||||
}else{
|
||||
this.$confirm(this.$t('scriptRecord.releaseScriptTip'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
publishQuest(row.id,{name:''}).then(resp => {
|
||||
this.reloadTable();
|
||||
this.$message.success(this.$t('scriptRecord.releaseScriptSuccess'));
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.releaseScriptFailed')}: ${error.message}`);
|
||||
});
|
||||
}).catch(() => { });
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
height() {
|
||||
return this.$store.state.app.height - 50 - 30;
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$route' () {
|
||||
this.reloadTable();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
queryFunction(params) {
|
||||
return getQuestPageList(this.$route.params.mapId, params);
|
||||
},
|
||||
reloadTable() {
|
||||
if (this.queryList && this.queryList.reload) {
|
||||
this.queryList.reload();
|
||||
}
|
||||
},
|
||||
drawUp(index, row) {
|
||||
scriptRecordNotify(row.id).then(resp => {
|
||||
const query = { mapId: row.mapId, group: resp.data, scriptId: row.id, lang:row.lang };
|
||||
this.$router.push({ path: `${UrlConfig.scriptDisplay}/script`, query });
|
||||
launchFullscreen();
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.createSimulationFail')}: ${error.message}`);
|
||||
});
|
||||
},
|
||||
deleteScript(index, row) {
|
||||
this.$confirm(this.$t('scriptRecord.deleteScriptTip'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
deleteQuest(row.id).then(response => {
|
||||
this.$message.success(this.$t('scriptRecord.deleteScriptSucess'));
|
||||
this.reloadTable();
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('scriptRecord.deleteScriptFail'));
|
||||
});
|
||||
}).catch(() => { });
|
||||
},
|
||||
// 确定创建
|
||||
handleConfirmCreate(data) {
|
||||
if (Cookies.get('user_lang') == 'en') {
|
||||
data.lang = 'en';
|
||||
} else {
|
||||
data.lang = 'zh';
|
||||
}
|
||||
createQuest(data).then(resp => {
|
||||
this.reloadTable();
|
||||
this.$message.success(this.$t('scriptRecord.createScriptSuccess'));
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.createScriptFail')}: ${error.message}`);
|
||||
});
|
||||
},
|
||||
// 修改
|
||||
handleModify(index, row) {
|
||||
this.$refs.modifyScript.doShow(row.id);
|
||||
},
|
||||
// 确认修改
|
||||
handleConfirmModify(data) {
|
||||
if (Cookies.get('user_lang') == 'en') {
|
||||
data.lang = 'en';
|
||||
} else {
|
||||
data.lang = 'zh';
|
||||
}
|
||||
updateQuest(data.id, data).then(resp => {
|
||||
this.reloadTable();
|
||||
this.$message.success(this.$t('scriptRecord.modifyScriptSuccess'));
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.modifyScriptFail')}: ${error.message}`);
|
||||
});
|
||||
},
|
||||
// 创建
|
||||
handleCreate() {
|
||||
this.$refs.createScript.doShow(null);
|
||||
},
|
||||
covertData(row) {
|
||||
const releaseReview = ConstConfig.ConstSelect.releaseReview;
|
||||
const lastData = Object.assign({}, row);
|
||||
if (Cookies.get('user_lang') == 'en') {
|
||||
releaseReview.forEach(function(element) {
|
||||
const rolename = element.value;
|
||||
if (lastData.status == rolename) {
|
||||
lastData.status = element.enlabel;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
releaseReview.forEach(function(element) {
|
||||
const rolename = element.value;
|
||||
if (lastData.status == rolename) {
|
||||
lastData.status = element.label;
|
||||
}
|
||||
});
|
||||
}
|
||||
return lastData.status;
|
||||
// let explanation=lastData.explanation?'{ 说明:'+lastData.explanation+'}':'';
|
||||
// return lastData.status+explanation;
|
||||
},
|
||||
handleConfirmPublish(data) {
|
||||
publishQuest(data.id, {'scriptName':data.scriptName}).then(resp => {
|
||||
this.reloadTable();
|
||||
this.$message.success(this.$t('scriptRecord.publishScriptSuccess'));
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.publishScriptFailed')}: ${error.message}`);
|
||||
});
|
||||
},
|
||||
publishScript(index, row) {
|
||||
if (this.$store.getters.roles.indexOf(admin) >= 0 || this.$store.getters.roles.indexOf(superAdmin) >= 0) {
|
||||
this.$refs.publishScript.doShow(row);
|
||||
} else {
|
||||
this.$confirm(this.$t('scriptRecord.releaseScriptTip'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
publishQuest(row.id, {name:''}).then(resp => {
|
||||
this.reloadTable();
|
||||
this.$message.success(this.$t('scriptRecord.releaseScriptSuccess'));
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.releaseScriptFailed')}: ${error.message}`);
|
||||
});
|
||||
}).catch(() => { });
|
||||
|
||||
}
|
||||
},
|
||||
covertButtonname(){
|
||||
if(this.$store.getters.roles.indexOf(admin) >= 0 || this.$store.getters.roles.indexOf(superAdmin) >= 0){
|
||||
return this.$t('scriptRecord.publish');
|
||||
}else{
|
||||
return this.$t('scriptRecord.applyPublish');
|
||||
}
|
||||
},
|
||||
revokeScript(index,row){
|
||||
this.$confirm(this.$t('scriptRecord.revokeScriptTip'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
retractQuest(row.id).then(resp => {
|
||||
this.reloadTable();
|
||||
this.$message.success(this.$t('approval.revokeScriptSuccess'));
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${this.$t('approval.revokeScriptFailed')}: ${error.message}`);
|
||||
});
|
||||
}).catch(() => { });
|
||||
},
|
||||
previewScript(index,row){
|
||||
scriptDraftRecordNotify(row.id).then(resp => {
|
||||
const query = { mapId: row.mapId, group: resp.data, scriptId: row.id,skinCode:this.$route.query.skinCode,try:0};
|
||||
this.$router.push({ path: `${UrlConfig.design.display}/demon`, query });
|
||||
launchFullscreen();
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.createSimulationFail')}: ${error.message}`);
|
||||
});
|
||||
// skinCode=02&group=16-128-757&prdType=02&mapId=18&code=JLFZZX-1&goodsId=&try=0
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
covertButtonname() {
|
||||
if (this.$store.getters.roles.indexOf(admin) >= 0 || this.$store.getters.roles.indexOf(superAdmin) >= 0) {
|
||||
return this.$t('scriptRecord.publish');
|
||||
} else {
|
||||
return this.$t('scriptRecord.applyPublish');
|
||||
}
|
||||
},
|
||||
revokeScript(index, row) {
|
||||
this.$confirm(this.$t('scriptRecord.revokeScriptTip'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
retractQuest(row.id).then(resp => {
|
||||
this.reloadTable();
|
||||
this.$message.success(this.$t('approval.revokeScriptSuccess'));
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${this.$t('approval.revokeScriptFailed')}: ${error.message}`);
|
||||
});
|
||||
}).catch(() => { });
|
||||
},
|
||||
previewScript(index, row) {
|
||||
scriptDraftRecordNotify(row.id).then(resp => {
|
||||
const query = { mapId: row.mapId, group: resp.data, scriptId: row.id, try:0};
|
||||
// skinCode:this.$route.query.skinCode,
|
||||
this.$router.push({ path: `${UrlConfig.design.display}/demon`, query });
|
||||
launchFullscreen();
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.createSimulationFail')}: ${error.message}`);
|
||||
});
|
||||
// skinCode=02&group=16-128-757&prdType=02&mapId=18&code=JLFZZX-1&goodsId=&try=0
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
|
@ -1,70 +1,70 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog :title="title" :visible.sync="dialogVisible" width="500px" :before-close="doClose" center>
|
||||
<data-form ref="dataform" :form="form" :formModel="formModel" :rules="rules"></data-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="doCreate">{{$t('global.confirm')}}</el-button>
|
||||
<el-button @click="doClose">{{$t('global.cancel')}}</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
<div>
|
||||
<el-dialog :title="title" :visible.sync="dialogVisible" width="500px" :before-close="doClose" center>
|
||||
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="doCreate">{{ $t('global.confirm') }}</el-button>
|
||||
<el-button @click="doClose">{{ $t('global.cancel') }}</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
name: 'ScriptOperate',
|
||||
data() {
|
||||
return {
|
||||
dialogVisible: false,
|
||||
formModel:{
|
||||
scriptName:'',
|
||||
id:'',
|
||||
},
|
||||
isShow: false,
|
||||
}
|
||||
export default {
|
||||
name: 'ScriptOperate',
|
||||
props: {
|
||||
title: String,
|
||||
type:String
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dialogVisible: false,
|
||||
formModel:{
|
||||
scriptName:'',
|
||||
id:''
|
||||
},
|
||||
isShow: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
form() {
|
||||
const form = {
|
||||
labelWidth: '150px',
|
||||
items: [
|
||||
{ prop: 'scriptName', label: this.$t('approval.scriptName'), type: 'text', required: true}
|
||||
]
|
||||
};
|
||||
return form;
|
||||
},
|
||||
props: {
|
||||
title: String,
|
||||
type:String,
|
||||
},
|
||||
computed: {
|
||||
form() {
|
||||
let form={
|
||||
labelWidth: '150px',
|
||||
items: [
|
||||
{ prop: 'scriptName', label: this.$t('approval.scriptName'), type: 'text', required: true},
|
||||
]
|
||||
}
|
||||
return form
|
||||
},
|
||||
rules() {
|
||||
let crules ={
|
||||
scriptName: [
|
||||
{ required: true, message: this.$t('approval.inputScriptName'), trigger: 'blur' },
|
||||
]
|
||||
}
|
||||
return crules
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
doShow(row) {
|
||||
this.formModel.scriptName=row.name;
|
||||
this.formModel.id=row.id;
|
||||
this.dialogVisible = true
|
||||
},
|
||||
doCreate() {
|
||||
let self = this
|
||||
this.$refs.dataform.validateForm(() => {
|
||||
self.$emit('create', Object.assign({}, this.formModel));
|
||||
self.doClose()
|
||||
})
|
||||
},
|
||||
doClose() {
|
||||
this.$refs.dataform.resetForm();
|
||||
this.isShow = false;
|
||||
this.dialogVisible = false
|
||||
}
|
||||
rules() {
|
||||
const crules = {
|
||||
scriptName: [
|
||||
{ required: true, message: this.$t('approval.inputScriptName'), trigger: 'blur' }
|
||||
]
|
||||
};
|
||||
return crules;
|
||||
}
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
doShow(row) {
|
||||
this.formModel.scriptName = row.name;
|
||||
this.formModel.id = row.id;
|
||||
this.dialogVisible = true;
|
||||
},
|
||||
doCreate() {
|
||||
const self = this;
|
||||
this.$refs.dataform.validateForm(() => {
|
||||
self.$emit('create', Object.assign({}, this.formModel));
|
||||
self.doClose();
|
||||
});
|
||||
},
|
||||
doClose() {
|
||||
this.$refs.dataform.resetForm();
|
||||
this.isShow = false;
|
||||
this.dialogVisible = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
/deep/ .el-dialog--center .el-dialog__body{
|
||||
|
@ -61,322 +61,307 @@
|
||||
</el-scrollbar>
|
||||
</template>
|
||||
<script>
|
||||
import Vue from 'vue';
|
||||
import Cookies from 'js-cookie';
|
||||
import ConstConfig from '@/scripts/ConstConfig';
|
||||
import {addScriptAction,modifyScriptAction,getAvailableDeviceCommand,getDeviceCodeByDeviceType,getScriptPlayMember} from '@/api/simulation';
|
||||
export default {
|
||||
name: 'addAction',
|
||||
props: {
|
||||
group: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
size:{
|
||||
type: Object,
|
||||
required: true
|
||||
}
|
||||
import Vue from 'vue';
|
||||
import Cookies from 'js-cookie';
|
||||
import ConstConfig from '@/scripts/ConstConfig';
|
||||
import {addScriptAction, modifyScriptAction, getAvailableDeviceCommand, getDeviceCodeByDeviceType, getScriptPlayMember} from '@/api/simulation';
|
||||
export default {
|
||||
name: 'AddAction',
|
||||
props: {
|
||||
group: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
watch:{
|
||||
'$store.state.map.mapViewLoadedCount': function (val) {
|
||||
Vue.prototype.$jlmap.setOptions(this.$store.state.scriptRecord.mapLocation);
|
||||
this.isPause=!(this.$store.state.scriptRecord.simulationPause);
|
||||
this.$parent.$parent.$parent.setIsParse(this.isPause);
|
||||
},
|
||||
'$store.state.scriptRecord.simulationPause': function(val){
|
||||
this.isPause=!(this.$store.state.scriptRecord.simulationPause);
|
||||
this.$parent.$parent.$parent.setIsParse(this.isPause);
|
||||
this.$refs['modalData'].clearValidate();
|
||||
this.$refs['commandData'].clearValidate();
|
||||
if(!val)
|
||||
{
|
||||
this.initActionData();
|
||||
this.initCommandActionData();
|
||||
size:{
|
||||
type: Object,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
buttonName:this.$t('scriptRecord.addConversitionButton'),
|
||||
operateType:'add',
|
||||
modalData:{
|
||||
actionVO:{
|
||||
memberId:'',
|
||||
targetId:'',
|
||||
reply:'',
|
||||
type:'Conversation'
|
||||
}
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
buttonName:this.$t('scriptRecord.addConversitionButton'),
|
||||
operateType:"add",
|
||||
modalData:{
|
||||
actionVO:{
|
||||
memberId:"",
|
||||
targetId:"",
|
||||
reply:"",
|
||||
type:"Conversation",
|
||||
}
|
||||
commandData:{
|
||||
action:{
|
||||
memberId:'',
|
||||
deviceCommand:'',
|
||||
commandParamList:[],
|
||||
type:'Command'
|
||||
},
|
||||
commandData:{
|
||||
action:{
|
||||
memberId:"",
|
||||
deviceCommand:"",
|
||||
commandParamList:[],
|
||||
type:"Command",
|
||||
},
|
||||
param:{
|
||||
startStation:"",
|
||||
endStation:"",
|
||||
}
|
||||
param:{
|
||||
startStation:'',
|
||||
endStation:''
|
||||
}
|
||||
},
|
||||
isPause:false,
|
||||
isNotModify:true,
|
||||
modifying:false,
|
||||
adding:false,
|
||||
isJinLu:false,
|
||||
stationList:[],
|
||||
memberList:[],
|
||||
deviceCommandList:[],
|
||||
orginMemberList:[],
|
||||
rules:{
|
||||
actionVO:{
|
||||
memberId:[
|
||||
{ required: true, message: this.$t('scriptRecord.narratorRules'), trigger: 'change' }
|
||||
],
|
||||
reply:[
|
||||
{ required: true, message: this.$t('scriptRecord.conversitionContentRules'), trigger: 'blur' }
|
||||
],
|
||||
targetId:[
|
||||
{ required: true, message: this.$t('scriptRecord.receiverRules'), trigger: 'change' }
|
||||
]
|
||||
}
|
||||
},
|
||||
commandRules:{
|
||||
action:{
|
||||
memberId:[
|
||||
{ required: true, message: this.$t('scriptRecord.executorRules'), trigger: 'change' }
|
||||
],
|
||||
deviceCommand:[
|
||||
{ required: true, message: this.$t('scriptRecord.executeCommandRules'), trigger: 'change' }
|
||||
]
|
||||
},
|
||||
isPause:false,
|
||||
isNotModify:true,
|
||||
modifying:false,
|
||||
adding:false,
|
||||
isJinLu:false,
|
||||
stationList:[],
|
||||
memberList:[],
|
||||
deviceCommandList:[],
|
||||
orginMemberList:[],
|
||||
rules:{
|
||||
actionVO:{
|
||||
memberId:[
|
||||
{ required: true, message: this.$t('scriptRecord.narratorRules'), trigger: 'change' }
|
||||
],
|
||||
reply:[
|
||||
{ required: true, message: this.$t('scriptRecord.conversitionContentRules'), trigger: 'blur' }
|
||||
],
|
||||
targetId:[
|
||||
{ required: true, message: this.$t('scriptRecord.receiverRules'), trigger: 'change' }
|
||||
]
|
||||
},
|
||||
},
|
||||
commandRules:{
|
||||
action:{
|
||||
memberId:[
|
||||
{ required: true, message: this.$t('scriptRecord.executorRules'), trigger: 'change' }
|
||||
],
|
||||
deviceCommand:[
|
||||
{ required: true, message: this.$t('scriptRecord.executeCommandRules'), trigger: 'change' }
|
||||
]
|
||||
},
|
||||
param:{
|
||||
startStation:[
|
||||
{ required: true, message: this.$t('scriptRecord.startStationRules'), trigger: 'change' }
|
||||
],
|
||||
endStation:[
|
||||
{ required: true, message: this.$t('scriptRecord.endStationRules'), trigger: 'change' }
|
||||
]
|
||||
}
|
||||
param:{
|
||||
startStation:[
|
||||
{ required: true, message: this.$t('scriptRecord.startStationRules'), trigger: 'change' }
|
||||
],
|
||||
endStation:[
|
||||
{ required: true, message: this.$t('scriptRecord.endStationRules'), trigger: 'change' }
|
||||
]
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
watch:{
|
||||
'$store.state.map.mapViewLoadedCount': function (val) {
|
||||
Vue.prototype.$jlmap.setOptions(this.$store.state.scriptRecord.mapLocation);
|
||||
this.isPause = !(this.$store.state.scriptRecord.simulationPause);
|
||||
this.$parent.$parent.$parent.setIsParse(this.isPause);
|
||||
},
|
||||
mounted(){
|
||||
this.initData();
|
||||
'$store.state.scriptRecord.simulationPause': function(val) {
|
||||
this.isPause = !(this.$store.state.scriptRecord.simulationPause);
|
||||
this.$parent.$parent.$parent.setIsParse(this.isPause);
|
||||
this.$refs['modalData'].clearValidate();
|
||||
this.$refs['commandData'].clearValidate();
|
||||
if (!val) {
|
||||
this.initActionData();
|
||||
this.initCommandActionData();
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.initData();
|
||||
},
|
||||
methods:{
|
||||
initData() {
|
||||
this.buttonName = this.$t('scriptRecord.addConversitionButton');
|
||||
this.operateType = 'add';
|
||||
getScriptPlayMember(this.group).then(resp => {
|
||||
const roleTypeList = ConstConfig.ConstSelect.roleType;
|
||||
this.orginMemberList = resp.data;
|
||||
let lastData = JSON.stringify(resp.data);
|
||||
roleTypeList.forEach(function(element) {
|
||||
const rolename = element.value;
|
||||
if (Cookies.get('user_lang') == 'en') {
|
||||
lastData = lastData.replace(new RegExp(rolename, 'g'), element.enLabel);
|
||||
} else {
|
||||
|
||||
lastData = lastData.replace(new RegExp(rolename, 'g'), element.label);
|
||||
}
|
||||
});
|
||||
lastData = JSON.parse(lastData);
|
||||
this.memberList = lastData;
|
||||
this.getDeviceCode();
|
||||
this.resetDisabled();
|
||||
this.initCommandActionData();
|
||||
}).catch(error => {});
|
||||
},
|
||||
methods:{
|
||||
initData(){
|
||||
this.buttonName=this.$t('scriptRecord.addConversitionButton');
|
||||
this.operateType="add";
|
||||
getScriptPlayMember(this.group).then(resp => {
|
||||
let roleTypeList=ConstConfig.ConstSelect.roleType;
|
||||
this.orginMemberList=resp.data;
|
||||
let lastData=JSON.stringify(resp.data);
|
||||
roleTypeList.forEach(function(element){
|
||||
let rolename=element.value;
|
||||
if(Cookies.get("user_lang")=="en"){
|
||||
lastData=lastData.replace(new RegExp(rolename,'g'),element.enLabel);
|
||||
}else{
|
||||
|
||||
lastData=lastData.replace(new RegExp(rolename,'g'),element.label);
|
||||
changeRole(index) {
|
||||
const role = this.orginMemberList.find(elem=>{ return elem.id == index; }).role;
|
||||
const data = {role:role};
|
||||
getAvailableDeviceCommand(data).then(response=>{
|
||||
if (Cookies.get('user_lang') == 'en') {
|
||||
const tempData = response.data;
|
||||
tempData.forEach( element => {
|
||||
switch (element.deviceCommand) {
|
||||
case 'Train_Manual_Limit_Drive': {
|
||||
element.label = 'Confirm to run to the front station';
|
||||
break;
|
||||
}
|
||||
case 'Train_Manual_Route_Blocking_Drive': {
|
||||
element.label = 'Drive as the route block method';
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
lastData=JSON.parse(lastData);
|
||||
this.memberList=lastData;
|
||||
this.getDeviceCode();
|
||||
this.resetDisabled();
|
||||
this.initCommandActionData();
|
||||
}).catch(error => {})
|
||||
},
|
||||
changeRole(index){
|
||||
let role=this.orginMemberList.find(elem=>{return elem.id==index}).role;
|
||||
let data={role:role};
|
||||
getAvailableDeviceCommand(data).then(response=>{
|
||||
if(Cookies.get("user_lang")=="en"){
|
||||
let tempData=response.data;
|
||||
tempData.forEach( element => {
|
||||
switch(element.deviceCommand){
|
||||
case "Train_Manual_Limit_Drive":{
|
||||
element.label="Confirm to run to the front station";
|
||||
break;
|
||||
}
|
||||
case "Train_Manual_Route_Blocking_Drive":{
|
||||
element.label="Drive as the route block method";
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
this.deviceCommandList=tempData;
|
||||
}else{
|
||||
this.deviceCommandList=response.data;
|
||||
}
|
||||
if(response.data.length<=0)
|
||||
{
|
||||
this.commandData.action.deviceCommand="";
|
||||
this.isJinLu=false;
|
||||
}
|
||||
});
|
||||
},
|
||||
getDeviceCode(){
|
||||
let params = {deviceType:"StationStand"};
|
||||
let group=this.group;
|
||||
getDeviceCodeByDeviceType(group,params).then(response =>{
|
||||
let resultData=response.data;
|
||||
resultData=JSON.parse(JSON.stringify(response.data).replace(/groupNumber/g,"name"));
|
||||
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.$t('scriptRecord.addCommandSucess'));
|
||||
this.deviceCommandList = tempData;
|
||||
} else {
|
||||
this.deviceCommandList = response.data;
|
||||
}
|
||||
if (response.data.length <= 0) {
|
||||
this.commandData.action.deviceCommand = '';
|
||||
this.isJinLu = false;
|
||||
}
|
||||
});
|
||||
},
|
||||
getDeviceCode() {
|
||||
const params = {deviceType:'StationStand'};
|
||||
const group = this.group;
|
||||
getDeviceCodeByDeviceType(group, params).then(response =>{
|
||||
let resultData = response.data;
|
||||
resultData = JSON.parse(JSON.stringify(response.data).replace(/groupNumber/g, 'name'));
|
||||
this.stationList = resultData;
|
||||
});
|
||||
},
|
||||
addCommandAction(formName) {
|
||||
this.$refs[formName].validate((valid) => {
|
||||
if (valid) {
|
||||
const 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]; }
|
||||
const data = this.commandData.action;
|
||||
const obj = this;
|
||||
this.adding = true;
|
||||
addScriptAction(group, data).then(response=>{
|
||||
this.adding = false;
|
||||
this.$message.success(this.$t('scriptRecord.addCommandSucess'));
|
||||
this.$emit('create');
|
||||
// this.$emit('create',[this.commandData.action.memberId]);
|
||||
// this.$parent.$parent.$refs['addRole'].resetData([this.commandData.action.memberId]);
|
||||
// this.initCommandActionData();
|
||||
}).catch(error => {
|
||||
this.adding = false;
|
||||
this.$messageBox(`${this.$t('scriptRecord.addCommandFail')}: ${error.message}`);
|
||||
});
|
||||
} else {
|
||||
console.log('error submit!!');
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
addScriptActionInfo(formName) {
|
||||
this.$refs[formName].validate((valid) => {
|
||||
if (valid) {
|
||||
const group = this.group;
|
||||
this.modalData.actionVO.type = 'Conversation';
|
||||
const data = this.modalData.actionVO;
|
||||
const obj = this;
|
||||
this.modifying = true;
|
||||
if (this.operateType == 'add') {
|
||||
addScriptAction(group, data).then(response=>{
|
||||
this.modifying = false;
|
||||
this.$message.success(this.$t('scriptRecord.addConversitionSuccess'));
|
||||
this.$emit('create');
|
||||
// this.$emit('create',[this.commandData.action.memberId]);
|
||||
// this.$parent.$parent.$refs['addRole'].resetData([this.commandData.action.memberId]);
|
||||
// this.initCommandActionData();
|
||||
// [this.modalData.actionVO.memberId]
|
||||
// this.initActionData();
|
||||
// this.$parent.$parent.$refs['addRole'].resetData([this.modalData.actionVO.memberId,this.modalData.actionVO.targetId]);
|
||||
}).catch(error => {
|
||||
this.adding=false;
|
||||
this.$messageBox(`${this.$t('scriptRecord.addCommandFail')}: ${error.message}`);
|
||||
this.modifying = false;
|
||||
this.$messageBox(`${this.$t('scriptRecord.addConversitionFail')}: ${error.message}`);
|
||||
});
|
||||
} else {
|
||||
const actionId = this.modalData.actionVO.id;
|
||||
modifyScriptAction(group, actionId, data).then(response=>{
|
||||
this.modifying = false;
|
||||
this.isNotModify = true;
|
||||
this.$emit('setDisabled', this.isNotModify);
|
||||
this.buttonName = this.$t('scriptRecord.addConversitionButton');
|
||||
this.operateType = 'add';
|
||||
this.$message.success(this.$t('scriptRecord.modifyConversitionSuccess'));
|
||||
this.$emit('create');
|
||||
// this.$parent.$parent.$refs['addRole'].resetData([this.modalData.action.memberId,this.modalData.action.targetId]);
|
||||
this.initActionData();
|
||||
}).catch(error => {
|
||||
this.modifying = false;
|
||||
this.$messageBox(`${this.$t('scriptRecord.modifyConversitionFail')}: ${error.message}`);
|
||||
});
|
||||
}
|
||||
else {
|
||||
console.log('error submit!!');
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
addScriptActionInfo(formName){
|
||||
this.$refs[formName].validate((valid) => {
|
||||
if (valid) {
|
||||
let group=this.group;
|
||||
this.modalData.actionVO.type="Conversation";
|
||||
let data=this.modalData.actionVO;
|
||||
let obj=this;
|
||||
this.modifying=true;
|
||||
if(this.operateType=="add")
|
||||
{
|
||||
addScriptAction(group,data).then(response=>{
|
||||
this.modifying=false;
|
||||
this.$message.success(this.$t('scriptRecord.addConversitionSuccess'));
|
||||
this.$emit('create');
|
||||
// [this.modalData.actionVO.memberId]
|
||||
// this.initActionData();
|
||||
// this.$parent.$parent.$refs['addRole'].resetData([this.modalData.actionVO.memberId,this.modalData.actionVO.targetId]);
|
||||
}).catch(error => {
|
||||
this.modifying=false;
|
||||
this.$messageBox(`${this.$t('scriptRecord.addConversitionFail')}: ${error.message}`);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
let actionId=this.modalData.actionVO.id;
|
||||
modifyScriptAction(group,actionId,data).then(response=>{
|
||||
this.modifying=false;
|
||||
this.isNotModify=true;
|
||||
this.$emit("setDisabled",this.isNotModify);
|
||||
this.buttonName=this.$t('scriptRecord.addConversitionButton');
|
||||
this.operateType="add";
|
||||
this.$message.success(this.$t('scriptRecord.modifyConversitionSuccess'));
|
||||
this.$emit('create');
|
||||
// this.$parent.$parent.$refs['addRole'].resetData([this.modalData.action.memberId,this.modalData.action.targetId]);
|
||||
this.initActionData();
|
||||
}).catch(error => {
|
||||
this.modifying=false;
|
||||
this.$messageBox(`${this.$t('scriptRecord.modifyConversitionFail')}: ${error.message}`);
|
||||
});
|
||||
}
|
||||
}
|
||||
else {
|
||||
console.log('error submit!!');
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
resetDisabled(){
|
||||
if(this.$refs['modalData'])
|
||||
{
|
||||
this.$refs['modalData'].resetFields();
|
||||
this.modalData.actionVO.type="Conversation";
|
||||
this.modalData.actionVO.memberId="";
|
||||
this.modalData.actionVO.targetId="";
|
||||
this.modalData.actionVO.reply="";
|
||||
} else {
|
||||
console.log('error submit!!');
|
||||
return false;
|
||||
}
|
||||
},
|
||||
clearValidate(){
|
||||
if(this.$refs['commandData'])
|
||||
{
|
||||
this.$refs['commandData'].clearValidate();
|
||||
}
|
||||
},
|
||||
initActionData(){
|
||||
this.resetDisabled();
|
||||
},
|
||||
initCommandActionData(){
|
||||
if(this.$refs['commandData'])
|
||||
{
|
||||
this.deviceCommandList=[];
|
||||
this.$refs['commandData'].resetFields();
|
||||
this.commandData.action.memberId="";
|
||||
this.commandData.param.startStation="";
|
||||
this.isJinLu=false;
|
||||
this.commandData.param.endStation="";
|
||||
}
|
||||
},
|
||||
changeCommand(index){
|
||||
switch(index)
|
||||
{
|
||||
case "Train_Manual_Route_Blocking_Drive":{
|
||||
this.isJinLu=true;
|
||||
this.getDeviceCode();
|
||||
this.clearValidate();
|
||||
break;
|
||||
}
|
||||
default:{
|
||||
this.isJinLu=false;
|
||||
this.clearValidate();
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
changeItem(){
|
||||
if(!(this.isPause&&this.isNotModify))
|
||||
{
|
||||
let temp=this.modalData.actionVO.memberId;
|
||||
this.modalData.actionVO.memberId=this.modalData.actionVO.targetId;
|
||||
this.modalData.actionVO.targetId=temp;
|
||||
}
|
||||
},
|
||||
doShow(data){
|
||||
if(data)
|
||||
{
|
||||
this.buttonName=this.$t('scriptRecord.modifyConversition');
|
||||
this.operateType="modify";
|
||||
this.clearValidate();
|
||||
this.isNotModify=false;
|
||||
this.$emit("setDisabled",this.isNotModify);
|
||||
// this.initData();
|
||||
this.modalData.actionVO.id=data.id;
|
||||
this.modalData.actionVO.memberId=data.memberId;
|
||||
this.modalData.actionVO.type=data.type;
|
||||
if(data.type=="Conversation")
|
||||
{
|
||||
this.isJinLu=false;
|
||||
this.modalData.actionVO.targetId=data.targetId;
|
||||
this.modalData.actionVO.reply=data.reply;
|
||||
}
|
||||
});
|
||||
},
|
||||
resetDisabled() {
|
||||
if (this.$refs['modalData']) {
|
||||
this.$refs['modalData'].resetFields();
|
||||
this.modalData.actionVO.type = 'Conversation';
|
||||
this.modalData.actionVO.memberId = '';
|
||||
this.modalData.actionVO.targetId = '';
|
||||
this.modalData.actionVO.reply = '';
|
||||
}
|
||||
},
|
||||
clearValidate() {
|
||||
if (this.$refs['commandData']) {
|
||||
this.$refs['commandData'].clearValidate();
|
||||
}
|
||||
},
|
||||
initActionData() {
|
||||
this.resetDisabled();
|
||||
},
|
||||
initCommandActionData() {
|
||||
if (this.$refs['commandData']) {
|
||||
this.deviceCommandList = [];
|
||||
this.$refs['commandData'].resetFields();
|
||||
this.commandData.action.memberId = '';
|
||||
this.commandData.param.startStation = '';
|
||||
this.isJinLu = false;
|
||||
this.commandData.param.endStation = '';
|
||||
}
|
||||
},
|
||||
changeCommand(index) {
|
||||
switch (index) {
|
||||
case 'Train_Manual_Route_Blocking_Drive': {
|
||||
this.isJinLu = true;
|
||||
this.getDeviceCode();
|
||||
this.clearValidate();
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
this.isJinLu = false;
|
||||
this.clearValidate();
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
changeItem() {
|
||||
if (!(this.isPause && this.isNotModify)) {
|
||||
const temp = this.modalData.actionVO.memberId;
|
||||
this.modalData.actionVO.memberId = this.modalData.actionVO.targetId;
|
||||
this.modalData.actionVO.targetId = temp;
|
||||
}
|
||||
},
|
||||
doShow(data) {
|
||||
if (data) {
|
||||
this.buttonName = this.$t('scriptRecord.modifyConversition');
|
||||
this.operateType = 'modify';
|
||||
this.clearValidate();
|
||||
this.isNotModify = false;
|
||||
this.$emit('setDisabled', this.isNotModify);
|
||||
// this.initData();
|
||||
this.modalData.actionVO.id = data.id;
|
||||
this.modalData.actionVO.memberId = data.memberId;
|
||||
this.modalData.actionVO.type = data.type;
|
||||
if (data.type == 'Conversation') {
|
||||
this.isJinLu = false;
|
||||
this.modalData.actionVO.targetId = data.targetId;
|
||||
this.modalData.actionVO.reply = data.reply;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
@import "src/styles/mixin.scss";
|
||||
|
@ -16,102 +16,102 @@ import Cookies from 'js-cookie';
|
||||
import ConstConfig from '@/scripts/ConstConfig';
|
||||
import {getScriptPlayMember, getScriptMemberData, cancleScriptMembers, selectScriptMembers, modifyScriptMemberSex} from '@/api/simulation';
|
||||
export default {
|
||||
name: 'AddRole',
|
||||
props: {
|
||||
group: {
|
||||
type: String,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
allRoleData: [],
|
||||
selectRoleData: [],
|
||||
sexGroup: this.$t('scriptRecord.roleSexMale')
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
'$store.state.socket.simulationStart': function (val) {
|
||||
if (val) {
|
||||
this.initData();
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.initData();
|
||||
},
|
||||
methods: {
|
||||
initData() {
|
||||
const group=this.$props.group;
|
||||
getScriptMemberData(group).then(response=>{
|
||||
const lastData=JSON.stringify(response.data);
|
||||
this.allRoleData=this.coverData(lastData);
|
||||
getScriptPlayMember(group).then(response=>{
|
||||
const last=response.data;
|
||||
// let userdata=JSON.stringify(response.data)
|
||||
// let reg=new RegExp('\"id\":\"(.*?)\\\"','g');
|
||||
// let datalist=userdata.match(reg);
|
||||
const data=[];
|
||||
last.forEach(function(element) { data.push(element.id); });
|
||||
this.selectRoleData=data;
|
||||
});
|
||||
});
|
||||
},
|
||||
coverData(data) {
|
||||
const roleTypeList=ConstConfig.ConstSelect.roleType;
|
||||
let lastData=data.replace(new RegExp('id', 'g'), 'key');
|
||||
roleTypeList.forEach(function(element) {
|
||||
const rolename=element.value;
|
||||
if (Cookies.get('user_lang')=='en') {
|
||||
lastData=lastData.replace(new RegExp(rolename, 'g'), element.enLabel);
|
||||
} else {
|
||||
name: 'AddRole',
|
||||
props: {
|
||||
group: {
|
||||
type: String,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
allRoleData: [],
|
||||
selectRoleData: [],
|
||||
sexGroup: this.$t('scriptRecord.roleSexMale')
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
'$store.state.socket.simulationStart': function (val) {
|
||||
if (val) {
|
||||
this.initData();
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.initData();
|
||||
},
|
||||
methods: {
|
||||
initData() {
|
||||
const group = this.$props.group;
|
||||
getScriptMemberData(group).then(response=>{
|
||||
const lastData = JSON.stringify(response.data);
|
||||
this.allRoleData = this.coverData(lastData);
|
||||
getScriptPlayMember(group).then(response=>{
|
||||
const last = response.data;
|
||||
// let userdata=JSON.stringify(response.data)
|
||||
// let reg=new RegExp('\"id\":\"(.*?)\\\"','g');
|
||||
// let datalist=userdata.match(reg);
|
||||
const data = [];
|
||||
last.forEach(function(element) { data.push(element.id); });
|
||||
this.selectRoleData = data;
|
||||
});
|
||||
});
|
||||
},
|
||||
coverData(data) {
|
||||
const roleTypeList = ConstConfig.ConstSelect.roleType;
|
||||
let lastData = data.replace(new RegExp('id', 'g'), 'key');
|
||||
roleTypeList.forEach(function(element) {
|
||||
const rolename = element.value;
|
||||
if (Cookies.get('user_lang') == 'en') {
|
||||
lastData = lastData.replace(new RegExp(rolename, 'g'), element.enLabel);
|
||||
} else {
|
||||
|
||||
lastData=lastData.replace(new RegExp(rolename, 'g'), element.label);
|
||||
}
|
||||
});
|
||||
lastData=JSON.parse(lastData);
|
||||
return lastData;
|
||||
},
|
||||
handleChange(value, direction, movedKeys) {
|
||||
switch (direction) {
|
||||
case 'right': {
|
||||
const group=this.$props.group;
|
||||
const data=movedKeys;
|
||||
selectScriptMembers(group, data).then(response=>{
|
||||
this.$message.success(this.$t('scriptRecord.selectScriptActorSuccess'));
|
||||
this.$emit('refresh');
|
||||
})
|
||||
.catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.selectScriptActorFail')}: ${error.message}`);
|
||||
return false;
|
||||
});
|
||||
break;
|
||||
}
|
||||
case 'left': {
|
||||
const group=this.$props.group;
|
||||
const data=movedKeys;
|
||||
cancleScriptMembers(group, data).then(response=>{
|
||||
this.$emit('refresh');
|
||||
this.$message.success(this.$t('scriptRecord.cancleScriptActorSuccess'));
|
||||
})
|
||||
.catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.cancleScriptActorFail')}: ${error.message}`);
|
||||
this.initData();
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
changeSex(event, id) {
|
||||
const group=this.$props.group;
|
||||
const data={'gender': event};
|
||||
modifyScriptMemberSex(group, id, data).then(response=>{
|
||||
this.$message.success(this.$t('scriptRecord.modifyScriptActorSexSuccess'));
|
||||
})
|
||||
.catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.modifyScriptActorSexFail')}: ${error.message}`);
|
||||
});
|
||||
}
|
||||
}
|
||||
lastData = lastData.replace(new RegExp(rolename, 'g'), element.label);
|
||||
}
|
||||
});
|
||||
lastData = JSON.parse(lastData);
|
||||
return lastData;
|
||||
},
|
||||
handleChange(value, direction, movedKeys) {
|
||||
switch (direction) {
|
||||
case 'right': {
|
||||
const group = this.$props.group;
|
||||
const data = movedKeys;
|
||||
selectScriptMembers(group, data).then(response=>{
|
||||
this.$message.success(this.$t('scriptRecord.selectScriptActorSuccess'));
|
||||
this.$emit('refresh');
|
||||
})
|
||||
.catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.selectScriptActorFail')}: ${error.message}`);
|
||||
return false;
|
||||
});
|
||||
break;
|
||||
}
|
||||
case 'left': {
|
||||
const group = this.$props.group;
|
||||
const data = movedKeys;
|
||||
cancleScriptMembers(group, data).then(response=>{
|
||||
this.$emit('refresh');
|
||||
this.$message.success(this.$t('scriptRecord.cancleScriptActorSuccess'));
|
||||
})
|
||||
.catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.cancleScriptActorFail')}: ${error.message}`);
|
||||
this.initData();
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
changeSex(event, id) {
|
||||
const group = this.$props.group;
|
||||
const data = {'gender': event};
|
||||
modifyScriptMemberSex(group, id, data).then(response=>{
|
||||
this.$message.success(this.$t('scriptRecord.modifyScriptActorSexSuccess'));
|
||||
})
|
||||
.catch(error => {
|
||||
this.$messageBox(`${this.$t('scriptRecord.modifyScriptActorSexFail')}: ${error.message}`);
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
|
@ -32,116 +32,116 @@
|
||||
import {getScriptRecord, deleteScriptAction, getAvailableDeviceCommand } from '@/api/simulation';
|
||||
import ConstConfig from '@/scripts/ConstConfig';
|
||||
export default {
|
||||
name: 'GetAction',
|
||||
props: {
|
||||
group: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
size: {
|
||||
type: Object,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
actionInfoList: [],
|
||||
deviceCommandList: [],
|
||||
reverse: true,
|
||||
loading: true,
|
||||
// behaviorName:"",
|
||||
memberName: ''
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
actionInfoList: function(val) {
|
||||
this.$nextTick(function() {
|
||||
var div = this.$refs['elActionScrollbar'].$refs['wrap'];
|
||||
div.scrollTop=this.$refs['elActionScrollbar'].wrap.scrollHeight;
|
||||
});
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.loadInitData();
|
||||
},
|
||||
methods: {
|
||||
loadInitData() {
|
||||
// const group=this.$route.query.group;
|
||||
const data={role: 'Driver'};
|
||||
getAvailableDeviceCommand(data).then(response=>{
|
||||
this.deviceCommandList=response.data;
|
||||
this.loadOtherData(this.$route.query);
|
||||
});
|
||||
},
|
||||
loadOtherData(obj) {
|
||||
const group=obj.group;
|
||||
getScriptRecord(group).then(response=>{
|
||||
this.$store.dispatch('scriptRecord/updateBgSet', response.data.bgSet);
|
||||
this.actionInfoList=[];
|
||||
const roleTypeList=ConstConfig.ConstSelect.roleType;
|
||||
name: 'GetAction',
|
||||
props: {
|
||||
group: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
size: {
|
||||
type: Object,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
actionInfoList: [],
|
||||
deviceCommandList: [],
|
||||
reverse: true,
|
||||
loading: true,
|
||||
// behaviorName:"",
|
||||
memberName: ''
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
actionInfoList: function(val) {
|
||||
this.$nextTick(function() {
|
||||
var div = this.$refs['elActionScrollbar'].$refs['wrap'];
|
||||
div.scrollTop = this.$refs['elActionScrollbar'].wrap.scrollHeight;
|
||||
});
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.loadInitData();
|
||||
},
|
||||
methods: {
|
||||
loadInitData() {
|
||||
// const group=this.$route.query.group;
|
||||
const data = {role: 'Driver'};
|
||||
getAvailableDeviceCommand(data).then(response=>{
|
||||
this.deviceCommandList = response.data;
|
||||
this.loadOtherData(this.$route.query);
|
||||
});
|
||||
},
|
||||
loadOtherData(obj) {
|
||||
const group = obj.group;
|
||||
getScriptRecord(group).then(response=>{
|
||||
this.$store.dispatch('scriptRecord/updateBgSet', response.data.bgSet);
|
||||
this.actionInfoList = [];
|
||||
const roleTypeList = ConstConfig.ConstSelect.roleType;
|
||||
|
||||
let memberVOList=JSON.stringify(response.data.memberVOList);
|
||||
roleTypeList.forEach(function(element) {
|
||||
const rolename=element.value;
|
||||
memberVOList=memberVOList.replace(new RegExp(rolename, 'g'), element.label);
|
||||
});
|
||||
memberVOList=JSON.parse(memberVOList);
|
||||
const actionList=response.data.actionVOList;
|
||||
let memberVOList = JSON.stringify(response.data.memberVOList);
|
||||
roleTypeList.forEach(function(element) {
|
||||
const rolename = element.value;
|
||||
memberVOList = memberVOList.replace(new RegExp(rolename, 'g'), element.label);
|
||||
});
|
||||
memberVOList = JSON.parse(memberVOList);
|
||||
const actionList = response.data.actionVOList;
|
||||
|
||||
actionList.forEach(element => {
|
||||
actionList.forEach(element => {
|
||||
|
||||
const member=memberVOList.find(elem=>{ return elem.id==element.memberId; });
|
||||
const member = memberVOList.find(elem=>{ return elem.id == element.memberId; });
|
||||
|
||||
const memberName=member.name?' - '+member.name:'';
|
||||
switch (element.type) {
|
||||
case 'Conversation':
|
||||
{
|
||||
const target=memberVOList.find(elem=>{ return elem.id==element.targetId; });
|
||||
const targetName=target.name?' - '+target.name:'';
|
||||
this.actionInfoList.push({id: element.id, isCoversition: true, memberName: member.role+memberName, targetName: target.role+targetName, reply: element.reply, row: element, visible: true});
|
||||
break;
|
||||
}
|
||||
case 'Command':
|
||||
{
|
||||
const deviceCommand=this.deviceCommandList.find(elem=>{ return elem.deviceCommand==element.deviceCommand; });
|
||||
switch (element.deviceCommand) {
|
||||
case 'Train_Manual_Route_Blocking_Drive':
|
||||
{
|
||||
this.actionInfoList.push({id: element.id, isCoversition: false, memberName: member.role+memberName, command: deviceCommand.label, row: element, visible: false});
|
||||
break;
|
||||
}
|
||||
case 'Train_Manual_Limit_Drive':
|
||||
{
|
||||
this.actionInfoList.push({id: element.id, isCoversition: false, memberName: member.role+memberName, command: deviceCommand.label, row: element, visible: false});
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
if (response.data.mapLocation) {
|
||||
const mapLocation={'offsetX': response.data.mapLocation.x, 'offsetY': response.data.mapLocation.y, 'scaleRate': response.data.mapLocation.scale};
|
||||
this.$store.dispatch('scriptRecord/updateMapLocation', mapLocation);
|
||||
}
|
||||
this.loading=false;
|
||||
});
|
||||
},
|
||||
deleteAction(row) {
|
||||
const group=this.$props.group;
|
||||
deleteScriptAction(group, row).then(resp => {
|
||||
this.reloadTable();
|
||||
this.$message.success('删除行为动作成功');
|
||||
}).catch(error => {
|
||||
this.$messageBox(`删除行为动作失败: ${error.message}`);
|
||||
});
|
||||
},
|
||||
reloadTable() {
|
||||
this.loadInitData();
|
||||
},
|
||||
modifyAction(row) {
|
||||
this.$emit('setAction', row);
|
||||
}
|
||||
}
|
||||
const memberName = member.name ? ' - ' + member.name:'';
|
||||
switch (element.type) {
|
||||
case 'Conversation':
|
||||
{
|
||||
const target = memberVOList.find(elem=>{ return elem.id == element.targetId; });
|
||||
const targetName = target.name ? ' - ' + target.name:'';
|
||||
this.actionInfoList.push({id: element.id, isCoversition: true, memberName: member.role + memberName, targetName: target.role + targetName, reply: element.reply, row: element, visible: true});
|
||||
break;
|
||||
}
|
||||
case 'Command':
|
||||
{
|
||||
const deviceCommand = this.deviceCommandList.find(elem=>{ return elem.deviceCommand == element.deviceCommand; });
|
||||
switch (element.deviceCommand) {
|
||||
case 'Train_Manual_Route_Blocking_Drive':
|
||||
{
|
||||
this.actionInfoList.push({id: element.id, isCoversition: false, memberName: member.role + memberName, command: deviceCommand.label, row: element, visible: false});
|
||||
break;
|
||||
}
|
||||
case 'Train_Manual_Limit_Drive':
|
||||
{
|
||||
this.actionInfoList.push({id: element.id, isCoversition: false, memberName: member.role + memberName, command: deviceCommand.label, row: element, visible: false});
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
if (response.data.mapLocation) {
|
||||
const mapLocation = {'offsetX': response.data.mapLocation.x, 'offsetY': response.data.mapLocation.y, 'scaleRate': response.data.mapLocation.scale};
|
||||
this.$store.dispatch('scriptRecord/updateMapLocation', mapLocation);
|
||||
}
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
deleteAction(row) {
|
||||
const group = this.$props.group;
|
||||
deleteScriptAction(group, row).then(resp => {
|
||||
this.reloadTable();
|
||||
this.$message.success('删除行为动作成功');
|
||||
}).catch(error => {
|
||||
this.$messageBox(`删除行为动作失败: ${error.message}`);
|
||||
});
|
||||
},
|
||||
reloadTable() {
|
||||
this.loadInitData();
|
||||
},
|
||||
modifyAction(row) {
|
||||
this.$emit('setAction', row);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
|
@ -1,12 +1,12 @@
|
||||
<template>
|
||||
<el-card v-loading="loading" class="map-list-main">
|
||||
<div slot="header" class="clearfix">
|
||||
<div v-loading="loading" class="joylink-card map-list-main">
|
||||
<div class="clearfix">
|
||||
<span>{{ $t('global.mapList') }}</span>
|
||||
</div>
|
||||
<div style="height: calc(100% - 47px);">
|
||||
<filter-city v-if="project==='login'" ref="filerCity" filter-empty :query-function="queryFunction" :local-param-name="localParamName" @filterSelectChange="refresh" />
|
||||
<el-input v-if="project==='login'" v-model="filterText" :placeholder="this.$t('global.filteringKeywords')" clearable />
|
||||
<div style="height: 100%;">
|
||||
<div style="height: calc(100% - 76px); overflow: auto;">
|
||||
<el-tree
|
||||
ref="tree"
|
||||
:data="treeList"
|
||||
@ -35,7 +35,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getPublishMapTree } from '@/api/management/mapprd';
|
||||
@ -161,7 +161,7 @@ export default {
|
||||
localStore.set('trainingPlatformRoute' + this.userId, path);
|
||||
},
|
||||
forTree(item) {
|
||||
item.children.forEach(childrenItem => {
|
||||
item.children && item.children.forEach(childrenItem => {
|
||||
childrenItem.key = childrenItem.id + childrenItem.type;
|
||||
if (childrenItem.children && childrenItem.children.length) {
|
||||
this.forTree(childrenItem);
|
||||
@ -193,7 +193,7 @@ export default {
|
||||
});
|
||||
} catch (error) {
|
||||
this.loading = false;
|
||||
this.$messageBox(this.$t('error.refreshFailed'));
|
||||
this.$messageBox(this.$t('error.refreshFailed') + error);
|
||||
}
|
||||
},
|
||||
nodeExpand(obj, node, ele) {
|
||||
@ -218,6 +218,11 @@ export default {
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
.clearfix{
|
||||
height: 47px;
|
||||
line-height: 47px;
|
||||
padding-left: 17px;
|
||||
}
|
||||
.back-home {
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
|
@ -1,14 +1,12 @@
|
||||
<template>
|
||||
<div class="app-wrapper">
|
||||
<el-scrollbar wrap-class="scrollbar-wrapper">
|
||||
<div v-show="listShow" class="examList" :style="{width: widthLeft+'px'}">
|
||||
<demon-list ref="demonList" :height="height" @goRoutePath="goRoutePath" />
|
||||
</div>
|
||||
<drap-left :width-left="widthLeft" @drapWidth="drapWidth" />
|
||||
<transition>
|
||||
<router-view :style="{ position:'relative', left:widthLeft+'px', width: (width - widthLeft)+'px'}" :product-list="productList" />
|
||||
</transition>
|
||||
</el-scrollbar>
|
||||
<div v-show="listShow" class="examList" :style="{width: widthLeft+'px'}">
|
||||
<demon-list ref="demonList" :height="height" @goRoutePath="goRoutePath" />
|
||||
</div>
|
||||
<drap-left :width-left="widthLeft" @drapWidth="drapWidth" />
|
||||
<transition>
|
||||
<router-view :product-list="productList" />
|
||||
</transition>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -90,9 +88,8 @@ export default {
|
||||
}
|
||||
|
||||
.examList {
|
||||
position: fixed;
|
||||
top: 61px;
|
||||
height: 100%;
|
||||
float: left;
|
||||
}
|
||||
/deep/ .scrollbar-wrapper{
|
||||
overflow-x: hidden;
|
||||
|
Loading…
Reference in New Issue
Block a user