Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/jl-client into test
@ -204,18 +204,10 @@ export function getClassListPage(params) {
|
|||||||
params
|
params
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/** 分页获取自己创建的班级 */
|
/** 查询班级列表不分页 */
|
||||||
export function getClassListPageSelf(params) {
|
export function getClassListUnPage() {
|
||||||
return request({
|
return request({
|
||||||
url: `/api/company/paged/cls/self`,
|
url: `/api/company/list/cls`,
|
||||||
method: 'get',
|
|
||||||
params
|
|
||||||
});
|
|
||||||
}
|
|
||||||
/** 查询个人创建的班级列表 */
|
|
||||||
export function getClassListUnPageSelf() {
|
|
||||||
return request({
|
|
||||||
url: `/api/company/list/cls/self`,
|
|
||||||
method: 'get'
|
method: 'get'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -235,21 +227,6 @@ export function createStudent(orgId, data) {
|
|||||||
data
|
data
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/** 获取班级关联课程 */
|
|
||||||
export function getClassAssociatedLessons(orgId) {
|
|
||||||
return request({
|
|
||||||
url: `/api/company/orgLesson/${orgId}/list`,
|
|
||||||
method: 'get'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
/** 关联课程班级 */
|
|
||||||
export function setClassAssociatedLessons(orgId, data) {
|
|
||||||
return request({
|
|
||||||
url: `/api/company/orgLesson/${orgId}/update`,
|
|
||||||
method: 'put',
|
|
||||||
data
|
|
||||||
});
|
|
||||||
}
|
|
||||||
/** 创建修改 规则 */
|
/** 创建修改 规则 */
|
||||||
export function createRule(data) {
|
export function createRule(data) {
|
||||||
return request({
|
return request({
|
||||||
@ -302,3 +279,25 @@ export function userRuleGetScore(orgId, schoolYear, term) {
|
|||||||
method: 'get'
|
method: 'get'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
/** 将规则应用到班级 */
|
||||||
|
export function applyRuleToClass(ruleId, data) {
|
||||||
|
return request({
|
||||||
|
url: `/api/company/orgScoringRule/${ruleId}/apply`,
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/** 查询规则能够应用到的组织 */
|
||||||
|
export function getCanApplyToList(ruleId) {
|
||||||
|
return request({
|
||||||
|
url: `/api/company/orgScoringRule/${ruleId}/canApplyTo`,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/** 查询组织树结构 */
|
||||||
|
export function getOrgTreeById(orgId) {
|
||||||
|
return request({
|
||||||
|
url: `api/company/orgTree/${orgId}`,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
@ -103,18 +103,19 @@ export function getExamClassList(lessonId) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
/** 获取自己发布的课程列表 */
|
/** 获取自己发布的课程列表 */
|
||||||
export function getLessonListSelf(params) {
|
export function getLessonProjectList(params) {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/lesson/paged/self',
|
url: '/api/lesson/paged/byLoginProject',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params
|
params
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/** 获取自己发布课程列表不分页 */
|
/** 获取自己发布课程列表不分页 */
|
||||||
export function getLessonListsSelfNoPage() {
|
export function getLessonProjectListNoPage(params) {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/lesson/unPaged/self',
|
url: '/api/lesson/list/byLoginProject',
|
||||||
method: 'get'
|
method: 'get',
|
||||||
|
params
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/** 获取班级关联的自己发布的课程 */
|
/** 获取班级关联的自己发布的课程 */
|
||||||
|
@ -271,3 +271,10 @@ export function getSectionListByMapId(id) {
|
|||||||
method: 'get'
|
method: 'get'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
/** 查询地图下集中站下的区段 */
|
||||||
|
export function getSectionListByCenStationCode(id, stationCode) {
|
||||||
|
return request({
|
||||||
|
url: `/api/map/${id}/deviceStation/${stationCode}/sections`,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
@ -150,3 +150,11 @@ export function sendCommandTrain(group, data) {
|
|||||||
data
|
data
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
/** 根据地图id和产品类型查询实训类型及数量 */
|
||||||
|
export function getTrainingTypeAndNumByMapIdAndPrdType(params) {
|
||||||
|
return request({
|
||||||
|
url: `/api/v1/training/trainingTypeAndQuantity`,
|
||||||
|
method: 'get',
|
||||||
|
params
|
||||||
|
});
|
||||||
|
}
|
||||||
|
@ -1,37 +1,13 @@
|
|||||||
import request from '@/utils/request';
|
import request from '@/utils/request';
|
||||||
|
|
||||||
/** 创建对应课程考题 */
|
/** 创建对应课程考题 */
|
||||||
export function setCourseList(data) {
|
export function createExam(data) {
|
||||||
return request({
|
return request({
|
||||||
url: `/api/exam`,
|
url: `/api/exam`,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/** 贵州装备 创建对应课程考题 */
|
|
||||||
export function setCourseListGzb(data) {
|
|
||||||
return request({
|
|
||||||
url: `/api/exam/project/GZB`,
|
|
||||||
method: 'post',
|
|
||||||
data: data
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 获取对应课程下类型 */
|
|
||||||
export function getCourseTypeList(data) {
|
|
||||||
return request({
|
|
||||||
url: `/api/exam/${data.lessonId}/trainingTypes`,
|
|
||||||
method: 'get'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 获取考试课程详情 */
|
|
||||||
export function getCourseLessonDetail(data) {
|
|
||||||
return request({
|
|
||||||
url: `/api/exam/${data.lessonId}/list`,
|
|
||||||
method: 'get'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 获取试卷详情 */
|
/** 获取试卷详情 */
|
||||||
export function getExamLessonDetail(examId) {
|
export function getExamLessonDetail(examId) {
|
||||||
@ -74,17 +50,6 @@ export function setExamEffectivey(data) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 查询课程下类型题数 */
|
|
||||||
export function getLessonTypeNum(data) {
|
|
||||||
return request({
|
|
||||||
url: `/api/exam/trainingNum/${data.lessonId}/${data.trainingType}`,
|
|
||||||
method: 'get',
|
|
||||||
params: {
|
|
||||||
operateType: data.operateType
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 更新考试规则*/
|
/** 更新考试规则*/
|
||||||
export function updateExamRules(data) {
|
export function updateExamRules(data) {
|
||||||
return request({
|
return request({
|
||||||
@ -93,19 +58,35 @@ export function updateExamRules(data) {
|
|||||||
data: data
|
data: data
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/** 查询本项目下自己创建的考试列表 */
|
/** 查询本项目下的考试列表 */
|
||||||
export function getExamListSelf(params) {
|
export function getExamListProject(params) {
|
||||||
return request({
|
return request({
|
||||||
url: `/api/exam/paged/org/self`,
|
url: `/api/exam/paged/loginProject`,
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params
|
params
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
/** 查询本项目下的考试列表不分页 */
|
||||||
|
export function getExamListProjectUnpage(params) {
|
||||||
|
return request({
|
||||||
|
url: `/api/exam/list/loginProject`,
|
||||||
|
methods: 'get',
|
||||||
|
params
|
||||||
|
});
|
||||||
|
}
|
||||||
/** 查询班级关联的自己创建的试卷 */
|
/** 查询班级关联的自己创建的试卷 */
|
||||||
export function getExanListSelfByClassId(params) {
|
export function getExamListSelfByClassId(params) {
|
||||||
return request({
|
return request({
|
||||||
url: `/api/exam/list/org/self`,
|
url: `/api/exam/list/org/self`,
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params
|
params
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
/** 根据地图ID和prdType查询试卷列表 */
|
||||||
|
export function getExamListByMapIdAndPrdType(mapId, prdType) {
|
||||||
|
return request({
|
||||||
|
url: `/api/exam/list/${mapId}`,
|
||||||
|
method: 'get',
|
||||||
|
params: { prdType: prdType }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
@ -87,14 +87,6 @@ export function getRpListByMapId(mapId) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 获取地图原始站间运行等级 */
|
|
||||||
export function getMapStationRun(mapId) {
|
|
||||||
return request({
|
|
||||||
url: `/api/runPlan/draft/${mapId}/stationRunLevel`,
|
|
||||||
method: 'get'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 分页获取用户站间运行等级 */
|
/** 分页获取用户站间运行等级 */
|
||||||
export function getMapStationRunUser(mapId) {
|
export function getMapStationRunUser(mapId) {
|
||||||
return request({
|
return request({
|
||||||
@ -147,14 +139,6 @@ export function checkServiceNumberExist({ planId, serviceNumber }) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// /** 查询交路列表*/
|
|
||||||
// export function getRoutingList(planId) {
|
|
||||||
// return request({
|
|
||||||
// url: `/api/runPlan/draft/${planId}/routingList`,
|
|
||||||
// method: 'get'
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
|
|
||||||
/** 查询用户交路数据 (新版)*/
|
/** 查询用户交路数据 (新版)*/
|
||||||
export function listUserRoutingData(mapId) {
|
export function listUserRoutingData(mapId) {
|
||||||
return request({
|
return request({
|
||||||
@ -165,9 +149,9 @@ export function listUserRoutingData(mapId) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** 根据交路查询交路区段列表*/
|
/** 根据交路查询交路区段列表*/
|
||||||
export function querySectionListByRouting({ planId, routingCode }) {
|
export function querySectionListByRouting(routingCode) {
|
||||||
return request({
|
return request({
|
||||||
url: `/api/runPlan/draft/${planId}/${routingCode}/routingSectionList`,
|
url: `/api/runPlan/draft/${routingCode}/routingSectionList`,
|
||||||
method: 'get'
|
method: 'get'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -258,15 +242,6 @@ export function updatePlanTrip(data) {
|
|||||||
|
|
||||||
/** 根据车次号查询交路 */
|
/** 根据车次号查询交路 */
|
||||||
export function getRoutingBySDTNumber(params) {
|
export function getRoutingBySDTNumber(params) {
|
||||||
// 旧版
|
|
||||||
// return request({
|
|
||||||
// url: `/api/runPlan/draft/${params.planId}/routing`,
|
|
||||||
// method: 'get',
|
|
||||||
// params: {
|
|
||||||
// SDTNumber: params.SDTNumber
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// 新版
|
|
||||||
return request({
|
return request({
|
||||||
url: `/api/runPlan/draft/${params.planId}/userRouting`,
|
url: `/api/runPlan/draft/${params.planId}/userRouting`,
|
||||||
method: 'get',
|
method: 'get',
|
||||||
|
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
BIN
src/assets/iscs_picture/bas_annulus.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
src/assets/iscs_picture/bas_entity.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
src/assets/iscs_picture/bas_environmental.png
Normal file
After Width: | Height: | Size: 9.9 KiB |
BIN
src/assets/iscs_picture/bas_interface.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
src/assets/iscs_picture/bas_low_pressure.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
src/assets/iscs_picture/bg-door-stand-A.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
src/assets/iscs_picture/bg-door-station-A.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
src/assets/iscs_picture/bg-showroom.jpg
Normal file
After Width: | Height: | Size: 334 KiB |
BIN
src/assets/iscs_picture/bg-stand.jpg
Normal file
After Width: | Height: | Size: 262 KiB |
BIN
src/assets/iscs_picture/bg-station-A.png
Normal file
After Width: | Height: | Size: 210 KiB |
BIN
src/assets/iscs_picture/bg-station-B.png
Normal file
After Width: | Height: | Size: 122 KiB |
BIN
src/assets/iscs_picture/bg-station-C.png
Normal file
After Width: | Height: | Size: 112 KiB |
BIN
src/assets/iscs_picture/bg-station-D.png
Normal file
After Width: | Height: | Size: 145 KiB |
BIN
src/assets/iscs_picture/bg-station-E.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
src/assets/iscs_picture/bg-station-F.png
Normal file
After Width: | Height: | Size: 262 KiB |
BIN
src/assets/iscs_picture/check_arrow_double.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
BIN
src/assets/iscs_picture/check_arrow_left.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
src/assets/iscs_picture/check_arrow_right.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
src/assets/iscs_picture/check_flow_cumulative.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
src/assets/iscs_picture/check_normal.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
src/assets/iscs_picture/check_sell.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
src/assets/iscs_picture/check_sell2.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
BIN
src/assets/iscs_picture/fas_platform_a_bg.png
Normal file
After Width: | Height: | Size: 143 KiB |
BIN
src/assets/iscs_picture/fas_platform_b_bg.png
Normal file
After Width: | Height: | Size: 120 KiB |
BIN
src/assets/iscs_picture/fireDamper_blue.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
src/assets/iscs_picture/fireDamper_green.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
src/assets/iscs_picture/fireDamper_red.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 3.3 KiB |
BIN
src/assets/iscs_picture/smokeDetector_blue.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
src/assets/iscs_picture/smokeDetector_green.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
src/assets/iscs_picture/smokeDetector_red.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 3.1 KiB |
@ -141,6 +141,7 @@
|
|||||||
<el-form-item :key="item.prop" :prop="item.prop" :label="item.label" :required="item.required">
|
<el-form-item :key="item.prop" :prop="item.prop" :label="item.label" :required="item.required">
|
||||||
<template v-if="item.remote">
|
<template v-if="item.remote">
|
||||||
<el-select
|
<el-select
|
||||||
|
:ref="'select_'+item.prop"
|
||||||
v-model="formModel[item.prop]"
|
v-model="formModel[item.prop]"
|
||||||
:placeholder="item.placeholder"
|
:placeholder="item.placeholder"
|
||||||
:disabled="item.disabled"
|
:disabled="item.disabled"
|
||||||
@ -160,6 +161,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-else-if="item.allowCreate">
|
<template v-else-if="item.allowCreate">
|
||||||
<el-select
|
<el-select
|
||||||
|
:ref="'select_'+item.prop"
|
||||||
v-model="formModel[item.prop]"
|
v-model="formModel[item.prop]"
|
||||||
:placeholder="item.placeholder"
|
:placeholder="item.placeholder"
|
||||||
:disabled="item.disabled"
|
:disabled="item.disabled"
|
||||||
@ -179,6 +181,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-else-if="item.multiple">
|
<template v-else-if="item.multiple">
|
||||||
<el-select
|
<el-select
|
||||||
|
:ref="'select_'+item.prop"
|
||||||
v-model="formModel[item.prop]"
|
v-model="formModel[item.prop]"
|
||||||
:placeholder="item.placeholder"
|
:placeholder="item.placeholder"
|
||||||
:disabled="item.disabled"
|
:disabled="item.disabled"
|
||||||
@ -196,6 +199,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-else-if="item.change">
|
<template v-else-if="item.change">
|
||||||
<el-select
|
<el-select
|
||||||
|
:ref="'select_'+item.prop"
|
||||||
v-model="formModel[item.prop]"
|
v-model="formModel[item.prop]"
|
||||||
filterable
|
filterable
|
||||||
:clearable="!!item.clearable"
|
:clearable="!!item.clearable"
|
||||||
@ -216,6 +220,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<el-select
|
<el-select
|
||||||
|
:ref="'select_'+item.prop"
|
||||||
v-model="formModel[item.prop]"
|
v-model="formModel[item.prop]"
|
||||||
filterable
|
filterable
|
||||||
:no-data-text="item.noDataText?item.noDataText:'无数据'"
|
:no-data-text="item.noDataText?item.noDataText:'无数据'"
|
||||||
@ -239,6 +244,7 @@
|
|||||||
<template v-else-if="checkFieldType(item, 'datetime') || checkFieldType(item, 'date') || checkFieldType(item, 'daterange') || checkFieldType(item, 'datetimerange')">
|
<template v-else-if="checkFieldType(item, 'datetime') || checkFieldType(item, 'date') || checkFieldType(item, 'daterange') || checkFieldType(item, 'datetimerange')">
|
||||||
<el-form-item :key="item.prop" :prop="item.prop" :label="item.label" :required="item.required" style="width: 100%;">
|
<el-form-item :key="item.prop" :prop="item.prop" :label="item.label" :required="item.required" style="width: 100%;">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
|
:ref="'select_'+item.prop"
|
||||||
v-model="formModel[item.prop]"
|
v-model="formModel[item.prop]"
|
||||||
align="right"
|
align="right"
|
||||||
:type="item.type"
|
:type="item.type"
|
||||||
@ -253,6 +259,7 @@
|
|||||||
<template v-else-if="checkFieldType(item, 'time')">
|
<template v-else-if="checkFieldType(item, 'time')">
|
||||||
<el-form-item :key="item.prop" :prop="item.prop" :label="item.label" :required="item.required">
|
<el-form-item :key="item.prop" :prop="item.prop" :label="item.label" :required="item.required">
|
||||||
<el-time-select
|
<el-time-select
|
||||||
|
:ref="'select_'+item.prop"
|
||||||
v-model="formModel[item.prop]"
|
v-model="formModel[item.prop]"
|
||||||
:placeholder="item.placeholder"
|
:placeholder="item.placeholder"
|
||||||
:disabled="item.disabled"
|
:disabled="item.disabled"
|
||||||
@ -263,6 +270,7 @@
|
|||||||
<template v-else-if="checkFieldType(item, 'timePicker')">
|
<template v-else-if="checkFieldType(item, 'timePicker')">
|
||||||
<el-form-item :key="item.prop" :prop="item.prop" :label="item.label" :required="item.required">
|
<el-form-item :key="item.prop" :prop="item.prop" :label="item.label" :required="item.required">
|
||||||
<el-time-picker
|
<el-time-picker
|
||||||
|
:ref="'select_'+item.prop"
|
||||||
v-model="formModel[item.prop]"
|
v-model="formModel[item.prop]"
|
||||||
:placeholder="item.placeholder"
|
:placeholder="item.placeholder"
|
||||||
:disabled="item.disabled"
|
:disabled="item.disabled"
|
||||||
@ -410,6 +418,30 @@ export default {
|
|||||||
if (item.deviceChange) {
|
if (item.deviceChange) {
|
||||||
item.deviceChange(data);
|
item.deviceChange(data);
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
allSelectBlur() {
|
||||||
|
const that = this;
|
||||||
|
const list = ['datetime', 'date', 'daterange', 'datetimerange', 'time', 'timePicker'];
|
||||||
|
this.form.items.forEach(each=>{
|
||||||
|
if (each.hasOwnProperty('show')) {
|
||||||
|
if ((list.includes(each.type) || this.checkFieldType(each, 'select')) && each.show) {
|
||||||
|
// that.$refs['select_' + each.prop][0].blur();
|
||||||
|
if (this.checkFieldType(each, 'select')) {
|
||||||
|
that.$refs['select_' + each.prop][0].blur();
|
||||||
|
} else {
|
||||||
|
that.$refs['select_' + each.prop][0].hidePicker();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (list.includes(each.type) || this.checkFieldType(each, 'select')) {
|
||||||
|
if (this.checkFieldType(each, 'select')) {
|
||||||
|
that.$refs['select_' + each.prop][0].blur();
|
||||||
|
} else {
|
||||||
|
that.$refs['select_' + each.prop][0].hidePicker();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -87,7 +87,7 @@ export default {
|
|||||||
bankManage: '题库列表',
|
bankManage: '题库列表',
|
||||||
practiceManage:'实操列表',
|
practiceManage:'实操列表',
|
||||||
sceneManage:'场景列表',
|
sceneManage:'场景列表',
|
||||||
companyManage: '单位管理',
|
companyManage: '组织管理',
|
||||||
authorApply: '授权申请',
|
authorApply: '授权申请',
|
||||||
AuthorList: '授权列表',
|
AuthorList: '授权列表',
|
||||||
questionsRuleManage: '出题规则管理',
|
questionsRuleManage: '出题规则管理',
|
||||||
|
@ -336,13 +336,13 @@ deviceRender[deviceType.IscsImage] = {
|
|||||||
deviceRender[deviceType.OrdinaryDoor] = {
|
deviceRender[deviceType.OrdinaryDoor] = {
|
||||||
_type: deviceType.OrdinaryDoor,
|
_type: deviceType.OrdinaryDoor,
|
||||||
zlevel: 1,
|
zlevel: 1,
|
||||||
z: 4
|
z: 5
|
||||||
};
|
};
|
||||||
// 福州门禁
|
// 福州门禁
|
||||||
deviceRender[deviceType.FuzhouDoor] = {
|
deviceRender[deviceType.FuzhouDoor] = {
|
||||||
_type: deviceType.FuzhouDoor,
|
_type: deviceType.FuzhouDoor,
|
||||||
zlevel: 1,
|
zlevel: 1,
|
||||||
z: 4
|
z: 5
|
||||||
};
|
};
|
||||||
// 福州通讯图符
|
// 福州通讯图符
|
||||||
deviceRender[deviceType.CommunicationButcher] = {
|
deviceRender[deviceType.CommunicationButcher] = {
|
||||||
|
@ -18,7 +18,7 @@ class Iscs {
|
|||||||
this.methods = opts.methods;
|
this.methods = opts.methods;
|
||||||
|
|
||||||
// 鼠标事件
|
// 鼠标事件
|
||||||
this.events = { __Pan: 'pan', Selected: 'selected', Contextmenu: 'contextmenu', Keyboard: 'keyboard', dblclick: 'dblclick'};
|
this.events = { __Pan: 'pan', Selected: 'selected', Contextmenu: 'contextmenu', Keyboard: 'keyboard', dblclick: 'dblclick', click:'click'};
|
||||||
|
|
||||||
// 设备数据
|
// 设备数据
|
||||||
this.iscsDevice = {};
|
this.iscsDevice = {};
|
||||||
@ -280,6 +280,9 @@ class Iscs {
|
|||||||
case this.events.dblclick:
|
case this.events.dblclick:
|
||||||
this.$mouseController.on(this.events.dblclick, cb, context);
|
this.$mouseController.on(this.events.dblclick, cb, context);
|
||||||
break;
|
break;
|
||||||
|
case this.events.click:
|
||||||
|
this.$mouseController.on(this.events.click, cb, context);
|
||||||
|
break;
|
||||||
case this.events.Contextmenu:
|
case this.events.Contextmenu:
|
||||||
this.$mouseController.on(this.events.Contextmenu, cb, context);
|
this.$mouseController.on(this.events.Contextmenu, cb, context);
|
||||||
break;
|
break;
|
||||||
@ -303,6 +306,9 @@ class Iscs {
|
|||||||
case this.events.dblclick:
|
case this.events.dblclick:
|
||||||
this.$mouseController.off(this.events.dblclick, cb);
|
this.$mouseController.off(this.events.dblclick, cb);
|
||||||
break;
|
break;
|
||||||
|
case this.events.click:
|
||||||
|
this.$mouseController.off(this.events.click, cb);
|
||||||
|
break;
|
||||||
case this.events.Contextmenu:
|
case this.events.Contextmenu:
|
||||||
this.$mouseController.off(this.events.Contextmenu, cb);
|
this.$mouseController.off(this.events.Contextmenu, cb);
|
||||||
break;
|
break;
|
||||||
|
@ -138,7 +138,11 @@ class MouseController extends Eventful {
|
|||||||
}
|
}
|
||||||
click(e) {
|
click(e) {
|
||||||
var em = this.checkEvent(e);
|
var em = this.checkEvent(e);
|
||||||
this.trigger(this.events.Selected, em);
|
if (em.deviceType == 'IscsButton') {
|
||||||
|
this.trigger(this.events.click, em);
|
||||||
|
} else {
|
||||||
|
this.trigger(this.events.Selected, em);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
moveEvent(e) {
|
moveEvent(e) {
|
||||||
const newEm = new EventModel(e);
|
const newEm = new EventModel(e);
|
||||||
|
@ -53,13 +53,13 @@ export default class Button extends Group {
|
|||||||
y: textRect.y - model.verticalPadding,
|
y: textRect.y - model.verticalPadding,
|
||||||
image: buttonImg,
|
image: buttonImg,
|
||||||
width: textRect.width + 2 * model.levelPadding,
|
width: textRect.width + 2 * model.levelPadding,
|
||||||
height: textRect.height + 2 * model.verticalPadding
|
height: textRect.height + 2 * model.verticalPadding,
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.grouper.add(this.imageButton);
|
this.grouper.add(this.imageButton);
|
||||||
this.on('mousedown', (e) => { this.imageButton && this.imageButton.setStyle({image: buttonActive}); });
|
this.on('mousedown', (e) => { this.imageButton && this.imageButton.setStyle({image: buttonActive}); });
|
||||||
this.on('mouseup', (e) => { this.imageButton && this.imageButton.setStyle({image: buttonImg}); });
|
this.on('mouseup', (e) => { this.imageButton && this.imageButton.setStyle({image: buttonImg}); });
|
||||||
} else if (Vue.prototype.$iscs.lineCode == '02') {
|
} else if (['02','09'].includes(Vue.prototype.$iscs.lineCode)) {
|
||||||
this.textButtonRect = new Rect({
|
this.textButtonRect = new Rect({
|
||||||
zlevel: model.zlevel,
|
zlevel: model.zlevel,
|
||||||
z: model.z,
|
z: model.z,
|
||||||
@ -68,7 +68,8 @@ export default class Button extends Group {
|
|||||||
x: textRect.x - model.levelPadding,
|
x: textRect.x - model.levelPadding,
|
||||||
y: textRect.y - model.verticalPadding,
|
y: textRect.y - model.verticalPadding,
|
||||||
width: textRect.width + 2 * model.levelPadding,
|
width: textRect.width + 2 * model.levelPadding,
|
||||||
height: textRect.height + 2 * model.verticalPadding
|
height: textRect.height + 2 * model.verticalPadding,
|
||||||
|
fill: model.fillColor||'rgba(0,0,0,0)'
|
||||||
},
|
},
|
||||||
style: {
|
style: {
|
||||||
lineWidth: 0,
|
lineWidth: 0,
|
||||||
@ -121,7 +122,8 @@ export default class Button extends Group {
|
|||||||
x: textRect.x - model.levelPadding + 6,
|
x: textRect.x - model.levelPadding + 6,
|
||||||
y: textRect.y - model.verticalPadding + 6,
|
y: textRect.y - model.verticalPadding + 6,
|
||||||
width: textRect.width + 2 * model.levelPadding - 12,
|
width: textRect.width + 2 * model.levelPadding - 12,
|
||||||
height: textRect.height + 2 * model.verticalPadding - 12
|
height: textRect.height + 2 * model.verticalPadding - 12,
|
||||||
|
fill: model.fillColor||'rgba(0,0,0,0)'
|
||||||
},
|
},
|
||||||
style: {
|
style: {
|
||||||
lineWidth: 2,
|
lineWidth: 2,
|
||||||
@ -149,8 +151,8 @@ export default class Button extends Group {
|
|||||||
}
|
}
|
||||||
this.grouper.add(this.buttonText);
|
this.grouper.add(this.buttonText);
|
||||||
this.add(this.grouper);
|
this.add(this.grouper);
|
||||||
this.on('mouseout', (e) => { this.buttonText && this.buttonText.setStyle({textFill: model.textColor || '#FFF'}); });
|
this.on('mouseout', (e) => { this.buttonText && this.buttonText.setStyle({textFill: model.textColor||'#FFF', fill: model.fillColor||'rgba(0,0,0,0)'}); });
|
||||||
this.on('mouseover', (e) => { this.buttonText && this.buttonText.setStyle({textFill: model.textColorActive || '#000'}); });
|
this.on('mouseover', (e) => { this.buttonText && this.buttonText.setStyle({textFill: model.textColorActive||'#000',fill: model.fillColorActive||'rgba(0,0,0,0)'}); });
|
||||||
}
|
}
|
||||||
setState(model) {
|
setState(model) {
|
||||||
this.textButtonRect.setStyle('fill', model.backgroundColor);
|
this.textButtonRect.setStyle('fill', model.backgroundColor);
|
||||||
|
@ -63,17 +63,19 @@ export default class line extends Group {
|
|||||||
stroke: this.model.fillColor
|
stroke: this.model.fillColor
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (fillColor) {
|
// if (fillColor) {
|
||||||
this.iscsLine.setStyle('fill', fillColor);
|
// this.iscsLine.setStyle('fill', fillColor);
|
||||||
}
|
// }
|
||||||
if (model.isGradual) {
|
if (model.isGradual) {
|
||||||
if (!model.isFillGradual) {
|
// if (!model.isFillGradual) {
|
||||||
if (fillColor) {
|
// if (fillColor) {
|
||||||
this.iscsLine.setStyle('fill', fillColor);
|
// this.iscsLine.setStyle('fill', fillColor);
|
||||||
}
|
// }
|
||||||
} else {
|
// } else {
|
||||||
this.iscsLine.setStyle('stroke', fillColor);
|
this.iscsLine.setStyle('stroke', fillColor);
|
||||||
}
|
// }
|
||||||
|
} else {
|
||||||
|
this.iscsLine.setStyle('fill', fillColor||'rgba(0,0,0,0)');
|
||||||
}
|
}
|
||||||
if (model.classify == 'dashed') {
|
if (model.classify == 'dashed') {
|
||||||
this.iscsLine.setStyle('lineDash', [8, 6]);
|
this.iscsLine.setStyle('lineDash', [8, 6]);
|
||||||
@ -101,7 +103,7 @@ export default class line extends Group {
|
|||||||
},
|
},
|
||||||
style: {
|
style: {
|
||||||
lineWidth: 0,
|
lineWidth: 0,
|
||||||
fill: model.fillColor
|
fill: model.fillColor||'rgba(0,0,0,0)'
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.grouper.add(this.arrows);
|
this.grouper.add(this.arrows);
|
||||||
@ -129,7 +131,7 @@ export default class line extends Group {
|
|||||||
},
|
},
|
||||||
style: {
|
style: {
|
||||||
lineWidth: 0,
|
lineWidth: 0,
|
||||||
fill: model.fillColor
|
fill: model.fillColor||'rgba(0,0,0,0)'
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.grouper.add(this.arrows);
|
this.grouper.add(this.arrows);
|
||||||
|
@ -9,6 +9,7 @@ export default class OrdinaryDoor extends Group {
|
|||||||
this.model = device.model;
|
this.model = device.model;
|
||||||
this.zlevel = device.model.zlevel;
|
this.zlevel = device.model.zlevel;
|
||||||
this.z = device.model.z;
|
this.z = device.model.z;
|
||||||
|
this.z2 = device.model.z2;
|
||||||
this._type = device.model._type;
|
this._type = device.model._type;
|
||||||
this._code = device.model.code;
|
this._code = device.model.code;
|
||||||
this.create();
|
this.create();
|
||||||
@ -21,6 +22,7 @@ export default class OrdinaryDoor extends Group {
|
|||||||
this.sector1 = new Sector({
|
this.sector1 = new Sector({
|
||||||
zlevel: this.zlevel,
|
zlevel: this.zlevel,
|
||||||
z: this.z,
|
z: this.z,
|
||||||
|
z2: this.z2||0,
|
||||||
shape: {
|
shape: {
|
||||||
cx: 0,
|
cx: 0,
|
||||||
cy: this.model.r,
|
cy: this.model.r,
|
||||||
@ -56,6 +58,7 @@ export default class OrdinaryDoor extends Group {
|
|||||||
this.sector2 = new Sector({
|
this.sector2 = new Sector({
|
||||||
zlevel: this.zlevel,
|
zlevel: this.zlevel,
|
||||||
z: this.z,
|
z: this.z,
|
||||||
|
z2: this.z2,
|
||||||
shape: {
|
shape: {
|
||||||
cx: this.model.r * 2,
|
cx: this.model.r * 2,
|
||||||
cy: this.model.r,
|
cy: this.model.r,
|
||||||
@ -75,6 +78,7 @@ export default class OrdinaryDoor extends Group {
|
|||||||
this.maskLine = new Line({
|
this.maskLine = new Line({
|
||||||
zlevel: this.zlevel,
|
zlevel: this.zlevel,
|
||||||
z: this.z,
|
z: this.z,
|
||||||
|
z2: this.z2,
|
||||||
shape: {
|
shape: {
|
||||||
x1: 1,
|
x1: 1,
|
||||||
y1: this.model.r,
|
y1: this.model.r,
|
||||||
@ -92,6 +96,7 @@ export default class OrdinaryDoor extends Group {
|
|||||||
this.bottomRect = new Rect({
|
this.bottomRect = new Rect({
|
||||||
zlevel: this.zlevel,
|
zlevel: this.zlevel,
|
||||||
z: this.z,
|
z: this.z,
|
||||||
|
z2: this.z2,
|
||||||
shape: {
|
shape: {
|
||||||
x: 0,
|
x: 0,
|
||||||
y: this.model.r,
|
y: this.model.r,
|
||||||
|
@ -47,6 +47,39 @@ import iscsSensor from '@/assets/iscs_picture/iscs-sensor.png';
|
|||||||
import iscsDangwei from '@/assets/iscs_picture/iscs-dangwei.png';
|
import iscsDangwei from '@/assets/iscs_picture/iscs-dangwei.png';
|
||||||
import iscsDibian from '@/assets/iscs_picture/iscs-dibian.png';
|
import iscsDibian from '@/assets/iscs_picture/iscs-dibian.png';
|
||||||
import iscsPt1 from '@/assets/iscs_picture/iscs-pt1.png';
|
import iscsPt1 from '@/assets/iscs_picture/iscs-pt1.png';
|
||||||
|
import checkNormal from '@/assets/iscs_picture/check_normal.png';
|
||||||
|
import checkArrowLeft from '@/assets/iscs_picture/check_arrow_left.png';
|
||||||
|
import checkArrowRight from '@/assets/iscs_picture/check_arrow_right.png';
|
||||||
|
import checkArrowDouble from '@/assets/iscs_picture/check_arrow_double.png';
|
||||||
|
import checkFlowCumulative from '@/assets/iscs_picture/check_flow_cumulative.png';
|
||||||
|
import checkSell from '@/assets/iscs_picture/check_sell.png';
|
||||||
|
import checkSell2 from '@/assets/iscs_picture/check_sell2.png';
|
||||||
|
import bgShowRoom from '@/assets/iscs_picture/bg-showroom.jpg';
|
||||||
|
import bgStand from '@/assets/iscs_picture/bg-stand.jpg';
|
||||||
|
import bgFasPlatformA from '@/assets/iscs_picture/fas_platform_a_bg.png';
|
||||||
|
import bgFasPlatformB from '@/assets/iscs_picture/fas_platform_b_bg.png';
|
||||||
|
import basAnnulus from '@/assets/iscs_picture/bas_annulus.png';
|
||||||
|
import basEnvironmental from '@/assets/iscs_picture/bas_environmental.png';
|
||||||
|
import basLowPressure from '@/assets/iscs_picture/bas_low_pressure.png';
|
||||||
|
import basInterface from '@/assets/iscs_picture/bas_interface.png';
|
||||||
|
import basEntity from '@/assets/iscs_picture/bas_entity.png';
|
||||||
|
import smokeDetectorRed from '@/assets/iscs_picture/smokeDetector_red.png';
|
||||||
|
import smokeDetectorBlue from '@/assets/iscs_picture/smokeDetector_blue.png';
|
||||||
|
import smokeDetectorGreen from '@/assets/iscs_picture/smokeDetector_green.png';
|
||||||
|
import fireDamperRed from '@/assets/iscs_picture/fireDamper_red.png';
|
||||||
|
import fireDamperBlue from '@/assets/iscs_picture/fireDamper_blue.png';
|
||||||
|
import fireDamperGreen from '@/assets/iscs_picture/fireDamper_green.png';
|
||||||
|
import alarmLampRed from '@/assets/iscs_picture/alarmLamp_red.png';
|
||||||
|
import alarmLampBlue from '@/assets/iscs_picture/alarmLamp_blue.png';
|
||||||
|
import alarmLampGreen from '@/assets/iscs_picture/alarmLamp_green.png';
|
||||||
|
import bgStationA from '@/assets/iscs_picture/bg-station-A.png'
|
||||||
|
import bgStationB from '@/assets/iscs_picture/bg-station-B.png'
|
||||||
|
import bgStationC from '@/assets/iscs_picture/bg-station-C.png'
|
||||||
|
import bgStationD from '@/assets/iscs_picture/bg-station-D.png'
|
||||||
|
import bgStationE from '@/assets/iscs_picture/bg-station-E.png'
|
||||||
|
import bgStationF from '@/assets/iscs_picture/bg-station-F.png'
|
||||||
|
import bgDoorStationA from '@/assets/iscs_picture/bg-door-station-A.png';
|
||||||
|
import bgDoorStandA from '@/assets/iscs_picture/bg-door-stand-A.png';
|
||||||
|
|
||||||
const pictureObj = {
|
const pictureObj = {
|
||||||
'psdLeft': psdLeft,
|
'psdLeft': psdLeft,
|
||||||
@ -93,7 +126,40 @@ const pictureObj = {
|
|||||||
iscsSensor,
|
iscsSensor,
|
||||||
iscsDangwei,
|
iscsDangwei,
|
||||||
iscsDibian,
|
iscsDibian,
|
||||||
iscsPt1
|
iscsPt1,
|
||||||
|
checkNormal,
|
||||||
|
checkArrowLeft,
|
||||||
|
checkArrowRight,
|
||||||
|
checkArrowDouble,
|
||||||
|
checkFlowCumulative,
|
||||||
|
checkSell,
|
||||||
|
checkSell2,
|
||||||
|
bgShowRoom,
|
||||||
|
bgStand,
|
||||||
|
basAnnulus,
|
||||||
|
basEnvironmental,
|
||||||
|
basLowPressure,
|
||||||
|
basInterface,
|
||||||
|
basEntity,
|
||||||
|
bgFasPlatformA,
|
||||||
|
bgFasPlatformB,
|
||||||
|
smokeDetectorRed,
|
||||||
|
smokeDetectorBlue,
|
||||||
|
smokeDetectorGreen,
|
||||||
|
fireDamperRed,
|
||||||
|
fireDamperBlue,
|
||||||
|
fireDamperGreen,
|
||||||
|
alarmLampRed,
|
||||||
|
alarmLampBlue,
|
||||||
|
alarmLampGreen,
|
||||||
|
bgStationA,
|
||||||
|
bgStationB,
|
||||||
|
bgStationC,
|
||||||
|
bgStationD,
|
||||||
|
bgStationE,
|
||||||
|
bgStationF,
|
||||||
|
bgDoorStationA,
|
||||||
|
bgDoorStandA
|
||||||
};
|
};
|
||||||
export default class Picture extends Group {
|
export default class Picture extends Group {
|
||||||
constructor(device) {
|
constructor(device) {
|
||||||
|
@ -36,6 +36,11 @@ export function deviceFactory(type, elem) {
|
|||||||
export function parser(data) {
|
export function parser(data) {
|
||||||
var iscsDevice = {};
|
var iscsDevice = {};
|
||||||
if (data) {
|
if (data) {
|
||||||
|
Object.values(data).forEach(list => {
|
||||||
|
if (list instanceof Array) {
|
||||||
|
list.sort((a, b) => parseInt(a.code.split('_')[1]) - parseInt(b.code.split('_')[1]));
|
||||||
|
}
|
||||||
|
})
|
||||||
zrUtil.each(data.manualAlarmButtonList || [], elem => {
|
zrUtil.each(data.manualAlarmButtonList || [], elem => {
|
||||||
iscsDevice[elem.code] = deviceFactory(deviceType.ManualAlarmButton, elem);
|
iscsDevice[elem.code] = deviceFactory(deviceType.ManualAlarmButton, elem);
|
||||||
}, this);
|
}, this);
|
||||||
@ -204,7 +209,7 @@ export function parser(data) {
|
|||||||
zrUtil.each(data.ordinaryDoorList || [], elem => {
|
zrUtil.each(data.ordinaryDoorList || [], elem => {
|
||||||
iscsDevice[elem.code] = deviceFactory(deviceType.OrdinaryDoor, elem);
|
iscsDevice[elem.code] = deviceFactory(deviceType.OrdinaryDoor, elem);
|
||||||
});
|
});
|
||||||
zrUtil.each(data.fuzhoudoorList || [], elem => {
|
zrUtil.each(data.fuzhouDoorList || [], elem => {
|
||||||
iscsDevice[elem.code] = deviceFactory(deviceType.FuzhouDoor, elem);
|
iscsDevice[elem.code] = deviceFactory(deviceType.FuzhouDoor, elem);
|
||||||
});
|
});
|
||||||
zrUtil.each(data.communicationButcherList || [], elem => {
|
zrUtil.each(data.communicationButcherList || [], elem => {
|
||||||
|
@ -409,10 +409,10 @@ export default class ELines extends Group {
|
|||||||
}
|
}
|
||||||
|
|
||||||
setCrossBlock() {
|
setCrossBlock() {
|
||||||
this.centerSquare && this.centerSquare.setStyle({fill:this.model.style.Section.cross.centerSquare.blockColor});
|
this.crossSection && this.crossSection.setStyle({fill:this.model.style.Section.cross.centerSquare.blockColor});
|
||||||
}
|
}
|
||||||
setCrossUnBlock() {
|
setCrossUnBlock() {
|
||||||
this.centerSquare && this.centerSquare.setStyle({fill:this.model.style.Section.cross.centerSquare.defaultColor});
|
this.crossSection && this.crossSection.setStyle({fill:this.model.style.Section.cross.centerSquare.defaultColor});
|
||||||
}
|
}
|
||||||
setCrossSpeedUpperLimit(speedLimit) {
|
setCrossSpeedUpperLimit(speedLimit) {
|
||||||
this.crossSpeedText && this.crossSpeedText.setStyle({text:speedLimit, textFill: 'red' });
|
this.crossSpeedText && this.crossSpeedText.setStyle({text:speedLimit, textFill: 'red' });
|
||||||
|
@ -7,34 +7,34 @@ const defaultConfig = {
|
|||||||
/** 间隔高度*/
|
/** 间隔高度*/
|
||||||
multiple: 3,
|
multiple: 3,
|
||||||
/** 偏移时间*/
|
/** 偏移时间*/
|
||||||
translation: 60 * 60 * 2,
|
translation: 60 * 60 * 2
|
||||||
}
|
};
|
||||||
|
|
||||||
class EqualDistanceParser {
|
class EqualDistanceParser {
|
||||||
constructor() {
|
constructor() {
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 加载配置*/
|
/** 加载配置*/
|
||||||
load(config = defaultConfig) {
|
load(config = defaultConfig) {
|
||||||
this.config = config;
|
this.config = config;
|
||||||
this.multiple = config.multiple;
|
this.multiple = config.multiple;
|
||||||
this.translation = config.translation;
|
this.translation = config.translation;
|
||||||
this.edge = config.edge;
|
this.edge = config.edge;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 解析excel数据转换为Json后台数据*/
|
/** 解析excel数据转换为Json后台数据*/
|
||||||
importData(sheet, data) {
|
importData(sheet, data) {
|
||||||
if (this.config &&
|
if (this.config &&
|
||||||
this.config.importData) {
|
this.config.importData) {
|
||||||
this.config.importData(sheet, data)
|
this.config.importData(sheet, data);
|
||||||
} else {
|
} else {
|
||||||
console.info('no import data function');
|
console.info('no import data function');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 将后台数据解析成图表*/
|
/** 将后台数据解析成图表*/
|
||||||
convertDataToModels(data, stations, kmRangeMap, lineStyle) {
|
convertDataToModels(data, stations, kmRangeMap, lineStyle) {
|
||||||
var models = [];
|
var models = [];
|
||||||
|
|
||||||
if (data && data.serviceNumberDataList && data.serviceNumberDataList.length) {
|
if (data && data.serviceNumberDataList && data.serviceNumberDataList.length) {
|
||||||
@ -74,12 +74,16 @@ class EqualDistanceParser {
|
|||||||
|
|
||||||
/** 计算折返点车次坐标点集合*/
|
/** 计算折返点车次坐标点集合*/
|
||||||
if (!train.backup && train.reentry && service.tripNumberDataList[j + 1] && service.tripNumberDataList[j + 1].stationTimeList) {
|
if (!train.backup && train.reentry && service.tripNumberDataList[j + 1] && service.tripNumberDataList[j + 1].stationTimeList) {
|
||||||
lastPoint = train.stationTimeList[idx];
|
const currentTimeList = service.tripNumberDataList[j].stationTimeList;
|
||||||
nextPoint = service.tripNumberDataList[j + 1].stationTimeList[0];
|
const nextTimeList = service.tripNumberDataList[j + 1].stationTimeList;
|
||||||
// ${train.directionCode}
|
if (currentTimeList[currentTimeList.length - 1].secondTime != nextTimeList[0].secondTime) {
|
||||||
const aa = `${train.tripNumber}`;
|
lastPoint = train.stationTimeList[idx];
|
||||||
opt.data.push([lastPoint.secondTime, this.getCoordYByElem(stations, kmRangeMap, lastPoint, pointdata.directionCode, true), lastPoint.stationCode, aa, '折返轨']);
|
nextPoint = service.tripNumberDataList[j + 1].stationTimeList[0];
|
||||||
opt.data.push([nextPoint.secondTime, this.getCoordYByElem(stations, kmRangeMap, lastPoint, pointdata.directionCode, true), lastPoint.stationCode, aa, '折返轨']);
|
// ${train.directionCode}
|
||||||
|
const aa = `${train.tripNumber}`;
|
||||||
|
opt.data.push([lastPoint.secondTime, this.getCoordYByElem(stations, kmRangeMap, lastPoint, pointdata.directionCode, true), lastPoint.stationCode, aa, '折返轨']);
|
||||||
|
opt.data.push([nextPoint.secondTime, this.getCoordYByElem(stations, kmRangeMap, lastPoint, pointdata.directionCode, true), lastPoint.stationCode, aa, '折返轨']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 如果是备用车,按车次添加线*/
|
/** 如果是备用车,按车次添加线*/
|
||||||
@ -232,11 +236,11 @@ class EqualDistanceParser {
|
|||||||
|
|
||||||
/** 根据方向计算y折返偏移量*/
|
/** 根据方向计算y折返偏移量*/
|
||||||
getValueYByDirectionCode(defaultValue, directionCode) {
|
getValueYByDirectionCode(defaultValue, directionCode) {
|
||||||
const sign = this.getReverse() ? -1 : 1;
|
const sign = this.getReverse() ? -1 : 1;
|
||||||
if (directionCode === '1') {
|
if (directionCode === '1') {
|
||||||
defaultValue -= sign*this.getEdge() / 2;
|
defaultValue -= sign * this.getEdge() / 2;
|
||||||
} else if (directionCode === '2') {
|
} else if (directionCode === '2') {
|
||||||
defaultValue += sign*this.getEdge() / 2;
|
defaultValue += sign * this.getEdge() / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
return defaultValue;
|
return defaultValue;
|
||||||
@ -256,33 +260,33 @@ class EqualDistanceParser {
|
|||||||
return defaultValue;
|
return defaultValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
getMultiple() {
|
getMultiple() {
|
||||||
return this.config.multiple;
|
return this.config.multiple;
|
||||||
}
|
}
|
||||||
|
|
||||||
getTranslation() {
|
getTranslation() {
|
||||||
return this.config.translation
|
return this.config.translation;
|
||||||
}
|
}
|
||||||
|
|
||||||
getEdge(){
|
getEdge() {
|
||||||
return this.config.edge;
|
return this.config.edge;
|
||||||
}
|
}
|
||||||
|
|
||||||
getReverse() {
|
getReverse() {
|
||||||
return this.config.reverse;
|
return this.config.reverse;
|
||||||
}
|
}
|
||||||
|
|
||||||
__createMartPoint(...args) {
|
__createMartPoint(...args) {
|
||||||
return this.config.reverse ? createMartPointReverse(...args): createMartPoint(...args);
|
return this.config.reverse ? createMartPointReverse(...args) : createMartPoint(...args);
|
||||||
}
|
}
|
||||||
|
|
||||||
__createSeriesModel(...args) {
|
__createSeriesModel(...args) {
|
||||||
return createSeriesModel(...args);
|
return createSeriesModel(...args);
|
||||||
}
|
}
|
||||||
|
|
||||||
__createMarkLineModels(...args) {
|
__createMarkLineModels(...args) {
|
||||||
return createMarkLineModels(...args);
|
return createMarkLineModels(...args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default EqualDistanceParser;
|
export default EqualDistanceParser;
|
||||||
|
@ -2,40 +2,40 @@ import { createSeriesModel, createMarkLineModels, createMartPoint, createMartPoi
|
|||||||
import store from '@/store/index';
|
import store from '@/store/index';
|
||||||
|
|
||||||
const defaultConfig = {
|
const defaultConfig = {
|
||||||
/** 最小时间*/
|
/** 最小时间*/
|
||||||
minTime: 0,
|
minTime: 0,
|
||||||
/** 最大时间*/
|
/** 最大时间*/
|
||||||
maxTime: 3600 * 24 - 1,
|
maxTime: 3600 * 24 - 1,
|
||||||
/** 边缘高度*/
|
/** 边缘高度*/
|
||||||
edge: 600,
|
edge: 600,
|
||||||
/** 间隔高度*/
|
/** 间隔高度*/
|
||||||
multiple: 1,
|
multiple: 1,
|
||||||
/** 偏移时间*/
|
/** 偏移时间*/
|
||||||
translation: 0,
|
translation: 0
|
||||||
}
|
};
|
||||||
|
|
||||||
class EqualRatioParser {
|
class EqualRatioParser {
|
||||||
constructor() {
|
constructor() {
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 加载配置*/
|
/** 加载配置*/
|
||||||
load(config = defaultConfig) {
|
load(config = defaultConfig) {
|
||||||
this.config = config;
|
this.config = config;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 解析excel数据转换为Json后台数据*/
|
/** 解析excel数据转换为Json后台数据*/
|
||||||
importData(sheet, data) {
|
importData(sheet, data) {
|
||||||
if (this.config &&
|
if (this.config &&
|
||||||
this.config.importData) {
|
this.config.importData) {
|
||||||
this.config.importData(sheet, data)
|
this.config.importData(sheet, data);
|
||||||
} else {
|
} else {
|
||||||
console.info('no import data function');
|
console.info('no import data function');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 将后台数据解析成图表*/
|
/** 将后台数据解析成图表*/
|
||||||
convertDataToModels(data, stations, kmRangeMap, lineStyle) {
|
convertDataToModels(data, stations, kmRangeMap, lineStyle) {
|
||||||
var models = [];
|
var models = [];
|
||||||
if (data && data.serviceNumberDataList && data.serviceNumberDataList.length) {
|
if (data && data.serviceNumberDataList && data.serviceNumberDataList.length) {
|
||||||
/** 按服务遍历数据*/
|
/** 按服务遍历数据*/
|
||||||
@ -74,19 +74,23 @@ class EqualRatioParser {
|
|||||||
// if (index == 0 && train.stationTimeList[index].stationCode != train.stationTimeList[index + 1].stationCode ||
|
// if (index == 0 && train.stationTimeList[index].stationCode != train.stationTimeList[index + 1].stationCode ||
|
||||||
// index == train.stationTimeList.length - 2 && train.stationTimeList[index].secondTime != train.stationTimeList[index + 1].secondTime ||
|
// index == train.stationTimeList.length - 2 && train.stationTimeList[index].secondTime != train.stationTimeList[index + 1].secondTime ||
|
||||||
// index > 0 && index < train.stationTimeList.length - 1) {
|
// index > 0 && index < train.stationTimeList.length - 1) {
|
||||||
const aa = `${train.tripNumber}`;
|
const aa = `${train.tripNumber}`;
|
||||||
opt.data.push([elem.secondTime, this.getCoordYByElem(stations, kmRangeMap, elem, pointdata.directionCode, false), elem.stationCode, aa]);
|
opt.data.push([elem.secondTime, this.getCoordYByElem(stations, kmRangeMap, elem, pointdata.directionCode, false), elem.stationCode, aa]);
|
||||||
// }
|
// }
|
||||||
});
|
});
|
||||||
|
|
||||||
/** 计算折返点车次坐标点集合*/
|
/** 计算折返点车次坐标点集合*/
|
||||||
if (!train.backup && train.reentry && service.tripNumberDataList[j + 1] && service.tripNumberDataList[j + 1].stationTimeList) {
|
if (!train.backup && train.reentry && service.tripNumberDataList[j + 1] && service.tripNumberDataList[j + 1].stationTimeList) {
|
||||||
lastPoint = train.stationTimeList[train.stationTimeList.length - 1];
|
const currentTimeList = service.tripNumberDataList[j].stationTimeList;
|
||||||
nextPoint = service.tripNumberDataList[j + 1].stationTimeList[0];
|
const nextTimeList = service.tripNumberDataList[j + 1].stationTimeList;
|
||||||
num = this.computedReentryNumber(train.tripNumber);
|
if (currentTimeList[currentTimeList.length - 1].secondTime != nextTimeList[0].secondTime) {
|
||||||
const aa = `${train.tripNumber}`;
|
lastPoint = train.stationTimeList[train.stationTimeList.length - 1];
|
||||||
opt.data.push([lastPoint.secondTime, this.getCoordYByElem(stations, kmRangeMap, lastPoint, pointdata.directionCode, true, num), lastPoint.stationCode, aa]);
|
nextPoint = service.tripNumberDataList[j + 1].stationTimeList[0];
|
||||||
opt.data.push([nextPoint.secondTime, this.getCoordYByElem(stations, kmRangeMap, nextPoint, pointdata.directionCode, true, num), nextPoint.stationCode, aa]);
|
num = this.computedReentryNumber(train.tripNumber);
|
||||||
|
const aa = `${train.tripNumber}`;
|
||||||
|
opt.data.push([lastPoint.secondTime, this.getCoordYByElem(stations, kmRangeMap, lastPoint, pointdata.directionCode, true, num), lastPoint.stationCode, aa]);
|
||||||
|
opt.data.push([nextPoint.secondTime, this.getCoordYByElem(stations, kmRangeMap, nextPoint, pointdata.directionCode, true, num), nextPoint.stationCode, aa]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 如果是备用车,按车次添加线*/
|
/** 如果是备用车,按车次添加线*/
|
||||||
@ -246,7 +250,7 @@ class EqualRatioParser {
|
|||||||
|
|
||||||
/** 根据方向计算y折返偏移量*/
|
/** 根据方向计算y折返偏移量*/
|
||||||
getValueYByDirectionCode(defaultValue, directionCode, num) {
|
getValueYByDirectionCode(defaultValue, directionCode, num) {
|
||||||
const sign = this.getReverse() ? -1 : 1;
|
const sign = this.getReverse() ? -1 : 1;
|
||||||
if (directionCode === '1') {
|
if (directionCode === '1') {
|
||||||
defaultValue -= sign * this.getEdge() / 2 * num;
|
defaultValue -= sign * this.getEdge() / 2 * num;
|
||||||
} else if (directionCode === '2') {
|
} else if (directionCode === '2') {
|
||||||
@ -270,33 +274,33 @@ class EqualRatioParser {
|
|||||||
return defaultValue;
|
return defaultValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
getMultiple() {
|
getMultiple() {
|
||||||
return this.config.multiple;
|
return this.config.multiple;
|
||||||
}
|
}
|
||||||
|
|
||||||
getTranslation() {
|
getTranslation() {
|
||||||
return this.config.translation
|
return this.config.translation;
|
||||||
}
|
}
|
||||||
|
|
||||||
getEdge(){
|
getEdge() {
|
||||||
return this.config.edge;
|
return this.config.edge;
|
||||||
}
|
}
|
||||||
|
|
||||||
getReverse() {
|
getReverse() {
|
||||||
return this.config.reverse;
|
return this.config.reverse;
|
||||||
}
|
}
|
||||||
|
|
||||||
__createMartPoint(...args) {
|
__createMartPoint(...args) {
|
||||||
return this.config.reverse ? createMartPointReverse(...args): createMartPoint(...args);
|
return this.config.reverse ? createMartPointReverse(...args) : createMartPoint(...args);
|
||||||
}
|
}
|
||||||
|
|
||||||
__createSeriesModel(...args) {
|
__createSeriesModel(...args) {
|
||||||
return createSeriesModel(...args);
|
return createSeriesModel(...args);
|
||||||
}
|
}
|
||||||
|
|
||||||
__createMarkLineModels(...args) {
|
__createMarkLineModels(...args) {
|
||||||
return createMarkLineModels(...args);
|
return createMarkLineModels(...args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default EqualRatioParser;
|
export default EqualRatioParser;
|
||||||
|
@ -43,7 +43,7 @@ export default {
|
|||||||
return this.$store.state.user.companyAdmin;
|
return this.$store.state.user.companyAdmin;
|
||||||
},
|
},
|
||||||
isSameProject() {
|
isSameProject() {
|
||||||
return this.$store.state.user.companyProject === (getSessionStorage('project').toUpperCase());
|
return this.$store.state.user.companyProjectList.includes(getSessionStorage('project').toUpperCase());
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
@ -145,7 +145,6 @@ const PreTheoryImport = () => import('@/views/competitionManage/bankList/preImpo
|
|||||||
const PlanScheduleWicket = () => import('@/views/newMap/displayNew/demon/planSchedule');
|
const PlanScheduleWicket = () => import('@/views/newMap/displayNew/demon/planSchedule');
|
||||||
const MessageBoard = () => import('@/views/messageBoard/index');
|
const MessageBoard = () => import('@/views/messageBoard/index');
|
||||||
const BoardManage = () => import('@/views/messageBoard/manage');
|
const BoardManage = () => import('@/views/messageBoard/manage');
|
||||||
const DraftLessonManage = () => import('@/views/teach/draftLessonManage');
|
|
||||||
const OrganizationManage = () => import('@/views/organization/index');
|
const OrganizationManage = () => import('@/views/organization/index');
|
||||||
const OrgClassManage = () => import('@/views/organization/classManage/index');
|
const OrgClassManage = () => import('@/views/organization/classManage/index');
|
||||||
const OrgDraftLessonManage = () => import('@/views/organization/draftLessonManage/index');
|
const OrgDraftLessonManage = () => import('@/views/organization/draftLessonManage/index');
|
||||||
@ -159,10 +158,12 @@ const StudentManage = () => import('@/views/organization/classManage/studentMana
|
|||||||
const GradeList = () => import('@/views/organization/examManage/gradeList');
|
const GradeList = () => import('@/views/organization/examManage/gradeList');
|
||||||
const CreateRule = () => import('@/views/organization/ruleManage/createRule');
|
const CreateRule = () => import('@/views/organization/ruleManage/createRule');
|
||||||
const TotalGrade = () => import('@/views/organization/ruleManage/totalGrade');
|
const TotalGrade = () => import('@/views/organization/ruleManage/totalGrade');
|
||||||
|
const InfoLessonDetail = () => import('@/views/organization/lessonManage/lessonDetail');
|
||||||
const RunPlanViewWindow = () => import('@/views/newMap/displayNew/demon/runPlanViewWindow');
|
const RunPlanViewWindow = () => import('@/views/newMap/displayNew/demon/runPlanViewWindow');
|
||||||
const SecondaryHome = () => import('@/views/trainingPlatform/secondaryHome');
|
const SecondaryHome = () => import('@/views/trainingPlatform/secondaryHome');
|
||||||
const Demo = () => import('@/views/demo');
|
const Demo = () => import('@/views/demo');
|
||||||
const DemoTraining = () => import('@/views/newMap/displayNew/demoTraining');
|
const DemoTraining = () => import('@/views/newMap/displayNew/demoTraining');
|
||||||
|
const OrgDetail = () => import('@/views/system/companyManage/orgDetail');
|
||||||
|
|
||||||
// import { GenerateRouteProjectList } from '@/scripts/ProjectConfig';
|
// import { GenerateRouteProjectList } from '@/scripts/ProjectConfig';
|
||||||
// import { getSessionStorage } from '@/utils/auth';
|
// import { getSessionStorage } from '@/utils/auth';
|
||||||
@ -208,16 +209,16 @@ export const userTrainingPlatform = '016'; // 实训系统
|
|||||||
// export const refereePlatform = '017'; // 裁判系统
|
// export const refereePlatform = '017'; // 裁判系统
|
||||||
|
|
||||||
export const constantRoutes = [
|
export const constantRoutes = [
|
||||||
{
|
{
|
||||||
path: '/demo',
|
path: '/demo',
|
||||||
component: Demo,
|
component: Demo,
|
||||||
hidden: true
|
hidden: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/demoTraining/:mode',
|
path: '/demoTraining/:mode',
|
||||||
component: DemoTraining,
|
component: DemoTraining,
|
||||||
hidden: true
|
hidden: true
|
||||||
},
|
},
|
||||||
// 实训平台登录
|
// 实训平台登录
|
||||||
{
|
{
|
||||||
path: '/login',
|
path: '/login',
|
||||||
@ -567,6 +568,11 @@ export const publicAsyncRoute = [
|
|||||||
path: 'totalGrade',
|
path: 'totalGrade',
|
||||||
component: TotalGrade,
|
component: TotalGrade,
|
||||||
hidden: true
|
hidden: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'lessonDetail',
|
||||||
|
component: InfoLessonDetail,
|
||||||
|
hidden: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -709,11 +715,6 @@ export const asyncRouter = [
|
|||||||
component: TeachDetail,
|
component: TeachDetail,
|
||||||
hidden: true
|
hidden: true
|
||||||
},
|
},
|
||||||
{ // 草稿课程
|
|
||||||
path: 'draftTeach/:subSystem',
|
|
||||||
component: DraftLessonManage,
|
|
||||||
hidden: true
|
|
||||||
},
|
|
||||||
{ // 运行图设计
|
{ // 运行图设计
|
||||||
path: 'runPlan/:mapId',
|
path: 'runPlan/:mapId',
|
||||||
component: PlanMonitorDetail,
|
component: PlanMonitorDetail,
|
||||||
@ -965,6 +966,11 @@ export const asyncRouter = [
|
|||||||
i18n: 'router.companyManage'
|
i18n: 'router.companyManage'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: 'companyManage/orgDetail',
|
||||||
|
component: OrgDetail,
|
||||||
|
hidden: true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: 'boardManage',
|
path: 'boardManage',
|
||||||
component: BoardManage,
|
component: BoardManage,
|
||||||
|
@ -208,6 +208,14 @@ export const UrlConfig = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
import CMD from './cmdPlugin/CommandEnum';
|
import CMD from './cmdPlugin/CommandEnum';
|
||||||
|
export function getOperateTypeMap(trainingType) {
|
||||||
|
const map = {};
|
||||||
|
let val;
|
||||||
|
for (val in CMD[trainingType]) {
|
||||||
|
map[CMD[trainingType][val].value] = CMD[trainingType][val].label;
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
export function getTrainingOperateTypeMap() {
|
export function getTrainingOperateTypeMap() {
|
||||||
const trainingOperateTypeMap = {
|
const trainingOperateTypeMap = {
|
||||||
Switch: [],
|
Switch: [],
|
||||||
|
@ -9,7 +9,6 @@ const exam = {
|
|||||||
totalTime: 0, // 考试总时间
|
totalTime: 0, // 考试总时间
|
||||||
timeInterval: null, // 计时器
|
timeInterval: null, // 计时器
|
||||||
ruleList: [], // 考试规则列表
|
ruleList: [], // 考试规则列表
|
||||||
courseDetail: {}, // 课程详情
|
|
||||||
courseList: [] // 课程列表
|
courseList: [] // 课程列表
|
||||||
},
|
},
|
||||||
getters: {
|
getters: {
|
||||||
@ -53,9 +52,6 @@ const exam = {
|
|||||||
setRuleList: (state, ruleList) => {
|
setRuleList: (state, ruleList) => {
|
||||||
state.ruleList = ruleList;
|
state.ruleList = ruleList;
|
||||||
},
|
},
|
||||||
setCourseDetail: (state, courseDetail) => {
|
|
||||||
state.courseDetail = courseDetail;
|
|
||||||
},
|
|
||||||
setCourse: (state, courseList) => {
|
setCourse: (state, courseList) => {
|
||||||
state.courseList = courseList;
|
state.courseList = courseList;
|
||||||
},
|
},
|
||||||
@ -95,9 +91,6 @@ const exam = {
|
|||||||
setRuleList({ commit }, ruleList) {
|
setRuleList({ commit }, ruleList) {
|
||||||
commit('setRuleList', ruleList);
|
commit('setRuleList', ruleList);
|
||||||
},
|
},
|
||||||
setCourseDetail({ commit }, courseDetail) {
|
|
||||||
commit('setCourseDetail', courseDetail);
|
|
||||||
},
|
|
||||||
setCourse({ commit }, course) {
|
setCourse({ commit }, course) {
|
||||||
commit('setCourse', course);
|
commit('setCourse', course);
|
||||||
},
|
},
|
||||||
|
@ -59,7 +59,7 @@ const runPlan = {
|
|||||||
trainList.forEach((train, j) => {
|
trainList.forEach((train, j) => {
|
||||||
state.initialPlanData[service.serviceNumber].trainMap[`${train.tripNumber}`] = { oldIndex: j, tripNumber: train.tripNumber, right:train.right,
|
state.initialPlanData[service.serviceNumber].trainMap[`${train.tripNumber}`] = { oldIndex: j, tripNumber: train.tripNumber, right:train.right,
|
||||||
directionCode: train.directionCode, reentry: train.reentry, stationTimeList: train.stationTimeList, endSecondTime:train.endSecondTime,
|
directionCode: train.directionCode, reentry: train.reentry, stationTimeList: train.stationTimeList, endSecondTime:train.endSecondTime,
|
||||||
startSecondTime: train.startSecondTime };
|
startSecondTime: train.startSecondTime, startSectionCode:train.startSectionCode, endSectionCode:train.endSectionCode };
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -76,7 +76,7 @@ const runPlan = {
|
|||||||
state.editData[service.serviceNumber].trainMap[`${train.tripNumber}`] =
|
state.editData[service.serviceNumber].trainMap[`${train.tripNumber}`] =
|
||||||
{ oldIndex: j, tripNumber: train.tripNumber, directionCode: train.directionCode, right:train.right,
|
{ oldIndex: j, tripNumber: train.tripNumber, directionCode: train.directionCode, right:train.right,
|
||||||
reentry: train.reentry, stationTimeList: train.stationTimeList, endSecondTime:train.endSecondTime,
|
reentry: train.reentry, stationTimeList: train.stationTimeList, endSecondTime:train.endSecondTime,
|
||||||
startSecondTime: train.startSecondTime};
|
startSecondTime: train.startSecondTime, startSectionCode:train.startSectionCode, endSectionCode:train.endSectionCode };
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -93,7 +93,7 @@ const runPlan = {
|
|||||||
trainList.forEach((train, j) => {
|
trainList.forEach((train, j) => {
|
||||||
state.draftEditData[service.serviceNumber].trainMap[`${train.tripNumber}`] = { oldIndex: j, tripNumber: train.tripNumber, right:train.right,
|
state.draftEditData[service.serviceNumber].trainMap[`${train.tripNumber}`] = { oldIndex: j, tripNumber: train.tripNumber, right:train.right,
|
||||||
directionCode: train.directionCode, reentry: train.reentry, stationTimeList: train.stationTimeList, endSecondTime:train.endSecondTime,
|
directionCode: train.directionCode, reentry: train.reentry, stationTimeList: train.stationTimeList, endSecondTime:train.endSecondTime,
|
||||||
startSecondTime: train.startSecondTime};
|
startSecondTime: train.startSecondTime, startSectionCode:train.startSectionCode, endSectionCode:train.endSectionCode };
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,8 @@ const user = {
|
|||||||
companyId: '',
|
companyId: '',
|
||||||
companyAdmin: false,
|
companyAdmin: false,
|
||||||
companyName: '',
|
companyName: '',
|
||||||
companyProject: ''
|
companyProjectList: [],
|
||||||
|
baseUrl:''
|
||||||
},
|
},
|
||||||
|
|
||||||
mutations: {
|
mutations: {
|
||||||
@ -60,8 +61,8 @@ const user = {
|
|||||||
SET_COMPANYNAME: (state, companyName) => {
|
SET_COMPANYNAME: (state, companyName) => {
|
||||||
state.companyName = companyName;
|
state.companyName = companyName;
|
||||||
},
|
},
|
||||||
SET_COMPANYPROJECT: (state, companyProject) => {
|
SET_COMPANYPROJECTLIST: (state, companyProjectList) => {
|
||||||
state.companyProject = companyProject;
|
state.companyProjectList = companyProjectList;
|
||||||
},
|
},
|
||||||
CLEAR_AUTO_PARAMS: () => {
|
CLEAR_AUTO_PARAMS: () => {
|
||||||
Cookies.remove('UserDesignName');
|
Cookies.remove('UserDesignName');
|
||||||
@ -77,6 +78,9 @@ const user = {
|
|||||||
},
|
},
|
||||||
Disconnect: ()=>{
|
Disconnect: ()=>{
|
||||||
disconnect();
|
disconnect();
|
||||||
|
},
|
||||||
|
setBaseUrl: (state, baseUrl) => {
|
||||||
|
state.baseUrl = baseUrl;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -135,7 +139,7 @@ const user = {
|
|||||||
commit('SET_COMPANYID', user.companyId);
|
commit('SET_COMPANYID', user.companyId);
|
||||||
commit('SET_COMPANYADMIN', user.companyAdmin);
|
commit('SET_COMPANYADMIN', user.companyAdmin);
|
||||||
commit('SET_COMPANYNAME', user.companyName);
|
commit('SET_COMPANYNAME', user.companyName);
|
||||||
commit('SET_COMPANYPROJECT', user.projectCode);
|
commit('SET_COMPANYPROJECTLIST', user.projectCodes);
|
||||||
resolve(user);
|
resolve(user);
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
reject(error);
|
reject(error);
|
||||||
@ -204,6 +208,9 @@ const user = {
|
|||||||
disconnect({commit}, params) {
|
disconnect({commit}, params) {
|
||||||
commit('Disconnect', params);
|
commit('Disconnect', params);
|
||||||
removeToken();
|
removeToken();
|
||||||
|
},
|
||||||
|
setBaseUrl ({commit}, baseUrl) {
|
||||||
|
commit('setBaseUrl', baseUrl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -3,11 +3,11 @@ export const requestAnimationFrame = window.requestAnimationFrame ||
|
|||||||
window.mozRequestAnimationFrame ||
|
window.mozRequestAnimationFrame ||
|
||||||
window.oRequestAnimationFrame ||
|
window.oRequestAnimationFrame ||
|
||||||
window.msRequestAnimationFrame ||
|
window.msRequestAnimationFrame ||
|
||||||
function (callback) { callback.timter = window.setTimeout(callback, 1000 / 60); };
|
function (callback) { callback.timer = window.setTimeout(callback, 1000 / 60); };
|
||||||
|
|
||||||
export const cancelRequestAnimFrame = window.cancelAnimationFrame ||
|
export const cancelRequestAnimFrame = window.cancelAnimationFrame ||
|
||||||
window.webkitCancelRequestAnimationFrame ||
|
window.webkitCancelRequestAnimationFrame ||
|
||||||
window.mozCancelRequestAnimationFrame ||
|
window.mozCancelRequestAnimationFrame ||
|
||||||
window.oCancelRequestAnimationFrame ||
|
window.oCancelRequestAnimationFrame ||
|
||||||
window.msCancelRequestAnimationFrame ||
|
window.msCancelRequestAnimationFrame ||
|
||||||
function (callback) { window.clearTimeout(callback); };
|
function (callback) { window.clearTimeout(callback.timer); };
|
||||||
|
@ -2,7 +2,6 @@ export function getBaseUrl() {
|
|||||||
let BASE_API;
|
let BASE_API;
|
||||||
if (process.env.NODE_ENV === 'development') {
|
if (process.env.NODE_ENV === 'development') {
|
||||||
// BASE_API = 'https://joylink.club/jlcloud';
|
// BASE_API = 'https://joylink.club/jlcloud';
|
||||||
// BASE_API = 'https://api.joylink.club/jlcloud';
|
|
||||||
BASE_API = 'https://test.joylink.club/jlcloud';
|
BASE_API = 'https://test.joylink.club/jlcloud';
|
||||||
// BASE_API = 'http://192.168.8.107:9000'; // 袁琪
|
// BASE_API = 'http://192.168.8.107:9000'; // 袁琪
|
||||||
// BASE_API = 'http://192.168.8.169:9000'; // 旭强
|
// BASE_API = 'http://192.168.8.169:9000'; // 旭强
|
||||||
|
@ -24,6 +24,12 @@ service.interceptors.request.use(config => {
|
|||||||
if (getToken()) {
|
if (getToken()) {
|
||||||
config.headers['X-Token'] = getToken(); // 让每个请求携带自定义token 请根据实际情况自行修改
|
config.headers['X-Token'] = getToken(); // 让每个请求携带自定义token 请根据实际情况自行修改
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 用于/demo/index 文件中baseUrl 判断(后端要求不管本地还是正式,都要可以访问实训/临时使用)
|
||||||
|
if (store.state.user.baseUrl) {
|
||||||
|
config.baseURL = store.state.user.baseUrl;
|
||||||
|
}
|
||||||
|
|
||||||
if (config.time) {
|
if (config.time) {
|
||||||
config.timeout = config.time; // 让每个请求携带自定义token 请根据实际情况自行修改
|
config.timeout = config.time; // 让每个请求携带自定义token 请根据实际情况自行修改
|
||||||
}
|
}
|
||||||
|
@ -99,6 +99,7 @@ import md5 from 'js-md5';
|
|||||||
import QrcodeVue from 'qrcode.vue';
|
import QrcodeVue from 'qrcode.vue';
|
||||||
import { getLoginWmurl, checkLoginStatus } from '@/api/login';
|
import { getLoginWmurl, checkLoginStatus } from '@/api/login';
|
||||||
import { LoginParams } from '@/utils/login';
|
import { LoginParams } from '@/utils/login';
|
||||||
|
// import {setSessionStorage } from '@/utils/auth';
|
||||||
export default {
|
export default {
|
||||||
components: { QrcodeVue },
|
components: { QrcodeVue },
|
||||||
data() {
|
data() {
|
||||||
@ -121,17 +122,30 @@ export default {
|
|||||||
tipsMsg: '',
|
tipsMsg: '',
|
||||||
pwdDisplay: true,
|
pwdDisplay: true,
|
||||||
trainingList: [
|
trainingList: [
|
||||||
|
// {
|
||||||
|
// title: '区段封锁(TA1601)',
|
||||||
|
// id: '613144'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// title: '道岔封锁(W0304)',
|
||||||
|
// id: '612112'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// title: '进路选排(S0304-S0301)',
|
||||||
|
// id: '610065'
|
||||||
|
// }
|
||||||
|
|
||||||
{
|
{
|
||||||
title: '区段封锁(TA1601)',
|
title: '站台扣车(车站五(05)-下行站台)',
|
||||||
id: '613144'
|
id: '4991355'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '道岔封锁(W0304)',
|
title: '道岔封锁(W0904)',
|
||||||
id: '612112'
|
id: '4993548'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '进路选排(S0304-S0301)',
|
title: '进路选排(S0916-S0901)',
|
||||||
id: '610065'
|
id: '4991607'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
loginForm: {
|
loginForm: {
|
||||||
@ -167,7 +181,7 @@ export default {
|
|||||||
this.loading = false;
|
this.loading = false;
|
||||||
} else {
|
} else {
|
||||||
this.show = false;
|
this.show = false;
|
||||||
this.src = 'http://localhost:9527/cbtc/trainingPlatform';
|
this.src = 'https://test.joylink.club/cbtc/trainingPlatform';
|
||||||
this.$nextTick(_ => {
|
this.$nextTick(_ => {
|
||||||
if (result.type == 'DEMO_RESULT' && result.hasOwnProperty('score')) {
|
if (result.type == 'DEMO_RESULT' && result.hasOwnProperty('score')) {
|
||||||
this.$confirm(`得分:${result.score}分`, '结果', {
|
this.$confirm(`得分:${result.score}分`, '结果', {
|
||||||
@ -188,12 +202,17 @@ export default {
|
|||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
window.removeEventListener('message');
|
window.removeEventListener('message');
|
||||||
|
this.$store.dispatch('setBaseUrl', '');
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
doClick(el) {
|
doClick(el) {
|
||||||
if (this.token && this.userId) {
|
if (this.token && this.userId) {
|
||||||
// &noPreLogout=true
|
// &noPreLogout=true
|
||||||
this.src = `http://localhost:9527/cbtc/demoTraining/teach?lessonId=195&mapId=59&lineCode=02&prdType=01&trainingId=${el.id}&token=${this.token}`;
|
// window.location.origin +
|
||||||
|
// setSessionStorage('project', 'DEFAULT');
|
||||||
|
// lessonId=101&mapId=49&prdType=01
|
||||||
|
// lessonId=195&mapId=59&lineCode=02&prdType=01
|
||||||
|
this.src = `https://test.joylink.club/cbtc/demoTraining/teach?lessonId=101&mapId=49&lineCode=02&prdType=01&trainingId=${el.id}&token=${this.token}&project=DEFAULT`;
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
setTimeout(()=>{
|
setTimeout(()=>{
|
||||||
this.show = true;
|
this.show = true;
|
||||||
@ -209,6 +228,8 @@ export default {
|
|||||||
},
|
},
|
||||||
loginRefresh() {
|
loginRefresh() {
|
||||||
// this.loadingCode = true;
|
// this.loadingCode = true;
|
||||||
|
// this.$store.dispatch('setBaseUrl', 'https://api.joylink.club/jlcloud');
|
||||||
|
this.$store.dispatch('setBaseUrl', 'https://test.joylink.club/jlcloud');
|
||||||
const self = this;
|
const self = this;
|
||||||
const params = LoginParams['LianKeTang'];
|
const params = LoginParams['LianKeTang'];
|
||||||
params.project = 'DEFAULT';
|
params.project = 'DEFAULT';
|
||||||
@ -253,6 +274,7 @@ export default {
|
|||||||
// 清除定时器,设置路由
|
// 清除定时器,设置路由
|
||||||
self.clearTimer(self.checkLogin);
|
self.clearTimer(self.checkLogin);
|
||||||
this.$store.dispatch('GetInfo', getToken()).then(res => {
|
this.$store.dispatch('GetInfo', getToken()).then(res => {
|
||||||
|
// setSessionStorage('project', 'DEFAULT');
|
||||||
this.loginLoading = false;
|
this.loginLoading = false;
|
||||||
this.dialogVisible = false;
|
this.dialogVisible = false;
|
||||||
this.token = getToken();
|
this.token = getToken();
|
||||||
@ -280,6 +302,8 @@ export default {
|
|||||||
// secret: "joylink"
|
// secret: "joylink"
|
||||||
this.$refs.loginForm.validate(valid => {
|
this.$refs.loginForm.validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
|
// this.$store.dispatch('setBaseUrl', 'https://api.joylink.club/jlcloud');
|
||||||
|
this.$store.dispatch('setBaseUrl', 'https://test.joylink.club/jlcloud');
|
||||||
const model = Object.assign({}, this.loginForm);
|
const model = Object.assign({}, this.loginForm);
|
||||||
model.password = md5(model.password);
|
model.password = md5(model.password);
|
||||||
model.type = 'class';
|
model.type = 'class';
|
||||||
@ -289,6 +313,7 @@ export default {
|
|||||||
this.$store.dispatch('Login', model).then(() => {
|
this.$store.dispatch('Login', model).then(() => {
|
||||||
this.$store.dispatch('SetAccount', model.username);
|
this.$store.dispatch('SetAccount', model.username);
|
||||||
this.$store.dispatch('GetInfo', getToken()).then(res => {
|
this.$store.dispatch('GetInfo', getToken()).then(res => {
|
||||||
|
// setSessionStorage('project', 'DEFAULT');
|
||||||
this.loginLoading = false;
|
this.loginLoading = false;
|
||||||
this.dialogVisible = false;
|
this.dialogVisible = false;
|
||||||
this.token = getToken();
|
this.token = getToken();
|
||||||
@ -345,6 +370,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
quit() {
|
quit() {
|
||||||
|
this.$store.dispatch('setBaseUrl', '');
|
||||||
this.$store.dispatch('LogOut').then(() => {
|
this.$store.dispatch('LogOut').then(() => {
|
||||||
location.reload(); // 为了重新实例化vue-router对象 避免bug
|
location.reload(); // 为了重新实例化vue-router对象 避免bug
|
||||||
});
|
});
|
||||||
|
@ -161,6 +161,7 @@ export default {
|
|||||||
this.loadInitData();
|
this.loadInitData();
|
||||||
},
|
},
|
||||||
async enterIntegratedSimulation() {
|
async enterIntegratedSimulation() {
|
||||||
|
this.disabled = true;
|
||||||
const data = { mapId: this.courseModel.mapId, prdType: this.currentPrdType };
|
const data = { mapId: this.courseModel.mapId, prdType: this.currentPrdType };
|
||||||
createSimulationNew(data).then(resp => {
|
createSimulationNew(data).then(resp => {
|
||||||
const query = { lineCode: this.courseModel.lineCode, group: resp.data, mapId: this.courseModel.mapId};
|
const query = { lineCode: this.courseModel.lineCode, group: resp.data, mapId: this.courseModel.mapId};
|
||||||
|
@ -1,83 +1,71 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="joylink-card">
|
<div class="joylink-card">
|
||||||
<div class="examDetailName">
|
<div class="examDetailName">
|
||||||
{{ $t('exam.courseName') + ': '+ courseModel.name }}
|
试卷列表
|
||||||
</div>
|
</div>
|
||||||
<div id="examDetail">
|
<div id="examDetail">
|
||||||
<el-tabs
|
<!--<el-tabs-->
|
||||||
v-model="activeName"
|
<!--v-model="activeName"-->
|
||||||
class="examDetailActive"
|
<!--class="examDetailActive"-->
|
||||||
>
|
<!-->-->
|
||||||
<el-tab-pane :label="this.$t('exam.itemList')" name="first" class="examDetailPane">
|
<!--<el-tab-pane :label="this.$t('exam.itemList')" name="first" class="examDetailPane">-->
|
||||||
<div v-if="courseModel.treeList.length != 0" style="height:100%;overflow:auto;">
|
<div style="height:100%;overflow:auto;">
|
||||||
<el-table :data="courseModel.treeList" border style="width: 100%;">
|
<el-table :data="tableData" border style="width: 100%;">
|
||||||
<el-table-column label="试卷名称">
|
<el-table-column label="试卷名称">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span :style="{color: scope.row.trial||valid ?'green':'black'}">{{ scope.row.name }}</span>
|
<span :style="{color: scope.row.trial||valid ?'green':'black'}">{{ scope.row.name }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column v-if="isGzbShow" label="班级">
|
<el-table-column v-if="isGzbShow" label="班级">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag v-for="item in scope.row.classes" :key="item.id" style="margin-right: 6px;">{{ item.name }}</el-tag>
|
<el-tag v-for="item in scope.row.classes" :key="item.id" style="margin-right: 6px;">{{ item.name }}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="duration" label="考试时长">
|
<el-table-column prop="duration" label="考试时长">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span>{{ scope.row.duration / 60 }}分钟</span>
|
<span>{{ scope.row.duration / 60 }}分钟</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="fullPoint" label="试卷总分" />
|
<el-table-column prop="fullPoint" label="试卷总分" />
|
||||||
<el-table-column label="操作">
|
<el-table-column label="操作">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button size="mini" @click="clickEvent(scope.row)">查看详情</el-button>
|
<el-button size="mini" @click="clickEvent(scope.row)">查看详情</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="noList">
|
<!--</el-tab-pane>-->
|
||||||
{{ $t('global.temporarilyNoData') }}
|
<!--<el-tab-pane :label="this.$t('exam.permissionsDetails')" name="second" class="examDetailPane">-->
|
||||||
</div>
|
<!--<limit-list ref="limitList" :course-model="courseModel" style="height:100%;overflow:auto;" @initLoadPage="loadInitPage" />-->
|
||||||
</el-tab-pane>
|
<!--</el-tab-pane>-->
|
||||||
<el-tab-pane :label="this.$t('exam.permissionsDetails')" name="second" class="examDetailPane">
|
<!--</el-tabs>-->
|
||||||
<limit-list ref="limitList" :course-model="courseModel" style="height:100%;overflow:auto;" @initLoadPage="loadInitPage" />
|
|
||||||
</el-tab-pane>
|
|
||||||
</el-tabs>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="btn-buy">
|
<div class="btn-buy">
|
||||||
<!-- <el-button v-if="!isLocal" :disabled="disabled" type="success" @click="buy">{{ $t('exam.buy') }}</el-button> -->
|
<!-- <el-button v-if="!isLocal" :disabled="disabled" type="success" @click="buy">{{ $t('exam.buy') }}</el-button> -->
|
||||||
<el-button v-if="hasPermssion && !isLocal" :disabled="disabled" type="primary" @click="distribute">{{ $t('exam.distributePermission') }}</el-button>
|
<!--<el-button v-if="hasPermssion && !isLocal" :disabled="disabled" type="primary" @click="distribute">{{ $t('exam.distributePermission') }}</el-button>-->
|
||||||
<el-button v-if=" isAdmin&& !$route.query.noPreLogout && !courseModel.systemFault" :disabled="disabled" type="primary" @click="checkCourse">{{ $t('exam.viewCoursePapers') }}</el-button>
|
<!--<el-button v-if="!$route.query.noPreLogout" type="primary" :disabled="disabled" @click="backLessonList">{{ $t('exam.returnCourseList') }}</el-button>-->
|
||||||
<el-button v-if="!$route.query.noPreLogout" type="primary" :disabled="disabled" @click="backLessonList">{{ $t('exam.returnCourseList') }}</el-button>
|
|
||||||
<el-button v-if="$route.query.noPreLogout" type="primary" :disabled="disabled" @click="quit">退出</el-button>
|
<el-button v-if="$route.query.noPreLogout" type="primary" :disabled="disabled" @click="quit">退出</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { getCourseLessonDetail } from '@/api/management/exam';
|
import { getExamListByMapIdAndPrdType } from '@/api/management/exam';
|
||||||
import { PermissionType } from '@/scripts/ConstDic';
|
// import { PermissionType } from '@/scripts/ConstDic';
|
||||||
import { UrlConfig } from '@/scripts/ConstDic';
|
import { UrlConfig } from '@/scripts/ConstDic';
|
||||||
import LimitList from '@/views/components/limits/index';
|
// import LimitList from '@/views/components/limits/index';
|
||||||
import { getSessionStorage } from '@/utils/auth';
|
import { getSessionStorage } from '@/utils/auth';
|
||||||
import localStore from 'storejs';
|
import localStore from 'storejs';
|
||||||
import { superAdmin, admin } from '@/router/index';
|
import { superAdmin, admin } from '@/router/index';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ExamDetailView',
|
name: 'ExamDetailView',
|
||||||
components: {
|
// components: {
|
||||||
LimitList
|
// LimitList
|
||||||
},
|
// },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
disabled: false,
|
disabled: false,
|
||||||
courseModel: {
|
tableData: [],
|
||||||
id: '',
|
|
||||||
name: this.$t('rules.lessonInput'),
|
|
||||||
price: 0,
|
|
||||||
remarks: '',
|
|
||||||
detail: [],
|
|
||||||
pmsList: [],
|
|
||||||
treeList: []
|
|
||||||
},
|
|
||||||
EffectiveTypeList: [],
|
EffectiveTypeList: [],
|
||||||
activeName: 'first',
|
activeName: 'first',
|
||||||
expandList: [],
|
expandList: [],
|
||||||
@ -88,19 +76,6 @@ export default {
|
|||||||
isGzbShow() {
|
isGzbShow() {
|
||||||
return getSessionStorage('project').startsWith('gzb');
|
return getSessionStorage('project').startsWith('gzb');
|
||||||
},
|
},
|
||||||
hasPermssion() {
|
|
||||||
let isShow = false;
|
|
||||||
if (this.courseModel.pmsList && this.courseModel.pmsList.length) {
|
|
||||||
let count = 0;
|
|
||||||
this.courseModel.pmsList.forEach(element => {
|
|
||||||
count += element.remains;
|
|
||||||
});
|
|
||||||
if (count > 0) {
|
|
||||||
isShow = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return this.$store.state.user.companyId || isShow;
|
|
||||||
},
|
|
||||||
isLocal() { // 是否为本地项目
|
isLocal() { // 是否为本地项目
|
||||||
return process.env.VUE_APP_PRO === 'local';
|
return process.env.VUE_APP_PRO === 'local';
|
||||||
},
|
},
|
||||||
@ -121,30 +96,16 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
loadInitPage() {
|
loadInitPage() {
|
||||||
getCourseLessonDetail({lessonId: this.$route.query.lessonId}).then(resp =>{
|
getExamListByMapIdAndPrdType(this.$route.query.mapId, this.$route.query.prdType).then(resp =>{
|
||||||
if (resp.data) {
|
if (resp.data && resp.data.length) {
|
||||||
this.courseModel = {
|
this.tableData = resp.data;
|
||||||
id: resp.data.id,
|
|
||||||
name: resp.data.name,
|
|
||||||
pmsList: resp.data.permissionList || [],
|
|
||||||
prdType: resp.data.prdType,
|
|
||||||
mapId: resp.data.mapId,
|
|
||||||
PermissionType: PermissionType.EXAM,
|
|
||||||
treeList: resp.data.examDefinitionList,
|
|
||||||
systemFault: resp.data.systemFault
|
|
||||||
};
|
|
||||||
if (this.hasPermssion || resp.data.available) {
|
|
||||||
this.valid = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
this.getExpandList(this.courseModel.id);
|
|
||||||
}).catch(()=>{
|
}).catch(()=>{
|
||||||
this.$alert('获取考试信息失败!', '提示', {
|
this.$alert('获取考试信息失败!', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
type: 'error',
|
type: 'error',
|
||||||
center: true,
|
center: true,
|
||||||
callback: action => {
|
callback: action => {
|
||||||
this.backLessonList();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -159,15 +120,6 @@ export default {
|
|||||||
// }, 100);
|
// }, 100);
|
||||||
this.$messageBox(this.$t('global.buyingTips'));
|
this.$messageBox(this.$t('global.buyingTips'));
|
||||||
},
|
},
|
||||||
checkCourse() {
|
|
||||||
this.loading = true;
|
|
||||||
const path = `${this.$route.path.match(/(\/.*)\/course/)[1]}${UrlConfig.examRuleManage}`;
|
|
||||||
this.$router.push({
|
|
||||||
path: path,
|
|
||||||
query: { lessonId: this.courseModel.id },
|
|
||||||
noPreLogout: this.$route.query.noPreLogout
|
|
||||||
});
|
|
||||||
},
|
|
||||||
distribute() { // 分发
|
distribute() { // 分发
|
||||||
this.disabled = true;
|
this.disabled = true;
|
||||||
if (this.$refs) {
|
if (this.$refs) {
|
||||||
@ -176,36 +128,12 @@ export default {
|
|||||||
}
|
}
|
||||||
this.disabled = false;
|
this.disabled = false;
|
||||||
},
|
},
|
||||||
backLessonList() {
|
|
||||||
this.disabled = true;
|
|
||||||
setTimeout(() => {
|
|
||||||
localStore.remove('examDetail' + this.$route.params.subSystem);
|
|
||||||
this.$router.push({ path: `${UrlConfig.trainingPlatform.examHome}/${this.$route.params.subSystem}`});
|
|
||||||
}, 100);
|
|
||||||
},
|
|
||||||
clickEvent(obj) {
|
clickEvent(obj) {
|
||||||
const path = `${this.$route.path.match(/(\/.*)\/course/)[1]}${UrlConfig.examDetail}`;
|
const path = `${this.$route.path.match(/(\/.*)\/course/)[1]}${UrlConfig.examDetail}`;
|
||||||
if ((this.valid || obj.trial) && path.includes('device')) {
|
if (path.includes('device')) {
|
||||||
this.$router.replace({ path: `${path}/${obj.id}`, query: { subSystem: this.$route.params.subSystem, mapId: this.courseModel.mapId, noPreLogout: this.$route.query.noPreLogout }});
|
this.$router.replace({ path: `${path}/${obj.id}`, query: { subSystem: this.$route.params.subSystem, mapId: obj.mapId, prdType: obj.prdType, noPreLogout: this.$route.query.noPreLogout }});
|
||||||
} else if (this.valid || obj.trial) {
|
|
||||||
this.$router.push({ path: `${path}/${obj.id}`, query: { subSystem: this.$route.params.subSystem, mapId: this.courseModel.mapId, noPreLogout: this.$route.query.noPreLogout }});
|
|
||||||
} else {
|
} else {
|
||||||
this.confirmToBuy();
|
this.$router.push({ path: `${path}/${obj.id}`, query: { subSystem: this.$route.params.subSystem, mapId: obj.mapId, noPreLogout: this.$route.query.noPreLogout }});
|
||||||
}
|
|
||||||
},
|
|
||||||
confirmToBuy() {
|
|
||||||
this.$confirm(this.$t('tip.accessCourseNo'), this.$t('tip.hint'), {
|
|
||||||
confirmButtonText: this.$t('tip.confirm'),
|
|
||||||
cancelButtonText: this.$t('tip.cancel')
|
|
||||||
}).then(() => {
|
|
||||||
this.buy();
|
|
||||||
}).catch(() => { });
|
|
||||||
},
|
|
||||||
getExpandList(id) {
|
|
||||||
let expand = getSessionStorage('trainingExamExpandList' + id);
|
|
||||||
expand = expand ? (expand + '').split(',') : '';
|
|
||||||
if (expand instanceof Array) {
|
|
||||||
this.expandList = expand;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
quit() {
|
quit() {
|
||||||
|
@ -216,9 +216,9 @@ export default {
|
|||||||
this.disabled = true;
|
this.disabled = true;
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
if (this.$route.query.subSystem) {
|
if (this.$route.query.subSystem) {
|
||||||
this.$router.push({ path: `${UrlConfig.trainingPlatform.course}/${this.$route.query.subSystem}`, query: {lessonId: this.examDetails.lessonId}});
|
this.$router.push({ path: `${UrlConfig.trainingPlatform.examHome}/${this.$route.query.subSystem}`, query: {lessonId: this.examDetails.lessonId}});
|
||||||
} else {
|
} else {
|
||||||
this.$router.replace({ path: '/device/course', query: {lessonId: this.examDetails.lessonId, noPreLogout: this.$route.query.noPreLogout}});
|
this.$router.replace({ path: '/device/course', query: {mapId: this.$route.query.mapId, prdType: this.$route.query.prdType, noPreLogout: this.$route.query.noPreLogout}});
|
||||||
}
|
}
|
||||||
}, 100);
|
}, 100);
|
||||||
},
|
},
|
||||||
|
@ -6,21 +6,29 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<el-card v-loading="loading">
|
<el-card v-loading="loading">
|
||||||
<el-table :data="tableData" border style="width: 100%">
|
<el-row style="padding: 10px;display: flex;align-items: center;justify-content: flex-end;">
|
||||||
<el-table-column prop="name" :label="this.$t('exam.courseName')" />
|
<div style="font-size: 14px;color: #000;">试卷名称:</div>
|
||||||
|
<el-input v-model="inputName" size="small" style="width: 200px;margin-right: 50px;margin-left: 10px;" placeholder="请输入筛选的名称" @change="changeInput" />
|
||||||
|
<el-button size="small" type="primary" @click="goToFilter">查找</el-button>
|
||||||
|
</el-row>
|
||||||
|
<el-table ref="filterTable" :data="filterTableData" border style="width: 100%" height="calc(100vh - 150px)">
|
||||||
|
<el-table-column prop="name" label="试卷名称" />
|
||||||
<el-table-column v-if="isGzbShow" prop="classNames" label="所属班级">
|
<el-table-column v-if="isGzbShow" prop="classNames" label="所属班级">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag v-for="(item, index) in scope.row.classNames" :key="index" type="success">{{ item }}</el-tag>
|
<el-tag v-for="(item, index) in scope.row.classNames" :key="index" type="success">{{ item }}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="remarks" show-overflow-tooltip :label="this.$t('exam.courseDescription')" />
|
<el-table-column prop="duration" label="考试时长(分钟)">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ Number(scope.row.duration) / 60 }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="fullPoint" label="总分" />
|
||||||
|
<el-table-column prop="remarks" show-overflow-tooltip label="试卷说明" />
|
||||||
<el-table-column :label="this.$t('global.operate')">
|
<el-table-column :label="this.$t('global.operate')">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button size="mini" type="primary" @click="goLesson(scope.row)">
|
<el-button size="mini" type="primary" @click="goExamDetail(scope.row)">
|
||||||
{{ $t('exam.enterTheExam') }}
|
考试详情
|
||||||
</el-button>
|
|
||||||
<el-button v-if="project.endsWith('gzb') && isTeacher && userId === scope.row.creatorId" size="mini" type="danger" @click="handleDelete(scope.row)">
|
|
||||||
删除课程
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -32,7 +40,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import { getSubSystemDetail } from '@/api/trainingPlatform';
|
import { getSubSystemDetail } from '@/api/trainingPlatform';
|
||||||
import { UrlConfig } from '@/scripts/ConstDic';
|
import { UrlConfig } from '@/scripts/ConstDic';
|
||||||
import { forceDeleteLesson } from '@/api/jmap/lesson';
|
|
||||||
import { getSessionStorage } from '@/utils/auth';
|
import { getSessionStorage } from '@/utils/auth';
|
||||||
import { lessonCreater } from '@/router/index';
|
import { lessonCreater } from '@/router/index';
|
||||||
import localStore from 'storejs';
|
import localStore from 'storejs';
|
||||||
@ -42,10 +49,12 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
tableData: [],
|
tableData: [],
|
||||||
|
filterTableData: [],
|
||||||
loading: false,
|
loading: false,
|
||||||
project: '',
|
project: '',
|
||||||
isTeacher: false,
|
isTeacher: false,
|
||||||
userId: ''
|
userId: '',
|
||||||
|
inputName: ''
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -69,10 +78,12 @@ export default {
|
|||||||
if (this.$route.params.subSystem) {
|
if (this.$route.params.subSystem) {
|
||||||
getSubSystemDetail(this.$route.params.subSystem).then(resp =>{
|
getSubSystemDetail(this.$route.params.subSystem).then(resp =>{
|
||||||
if (resp.data) {
|
if (resp.data) {
|
||||||
this.tableData = resp.data.lessonList;
|
this.tableData = resp.data.examList;
|
||||||
} else {
|
} else {
|
||||||
this.tableData = [];
|
this.tableData = [];
|
||||||
}
|
}
|
||||||
|
this.inputName = localStore.get(this.$route.path) || '';
|
||||||
|
this.goToFilter();
|
||||||
}).catch((error)=>{
|
}).catch((error)=>{
|
||||||
if (error.code == 30001) {
|
if (error.code == 30001) {
|
||||||
const url = localStore.get('orignalTrainingPlatformRoute' + this.$store.state.user.id + this.project);
|
const url = localStore.get('orignalTrainingPlatformRoute' + this.$store.state.user.id + this.project);
|
||||||
@ -85,24 +96,28 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
goLesson(row) {
|
goExamDetail(row) {
|
||||||
localStore.set('examDetail' + this.$route.params.subSystem, `${UrlConfig.trainingPlatform.course}/${this.$route.params.subSystem}?lessonId=${row.id}`);
|
const path = `${this.$route.path.match(/(\/.*)\/examHome/)[1]}${UrlConfig.examDetail}`;
|
||||||
this.$router.push({ path: `${UrlConfig.trainingPlatform.course}/${this.$route.params.subSystem}`, query: {lessonId: row.id}});
|
if (path.includes('device')) {
|
||||||
|
this.$router.replace({ path: `${path}/${row.id}`, query: { subSystem: this.$route.params.subSystem, mapId: row.mapId, noPreLogout: this.$route.query.noPreLogout }});
|
||||||
|
} else {
|
||||||
|
this.$router.push({ path: `${path}/${row.id}`, query: { subSystem: this.$route.params.subSystem, mapId: row.mapId, noPreLogout: this.$route.query.noPreLogout }});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
handleDelete(row) {
|
changeInput(val) {
|
||||||
this.$confirm('此操作将删除课程及所有对应的试卷,且无法恢复,是否继续?', this.$t('global.tips'), {
|
localStore.set(this.$route.path, val);
|
||||||
confirmButtonText: this.$t('global.confirm'),
|
},
|
||||||
cancelButtonText: this.$t('global.cancel'),
|
goToFilter() {
|
||||||
type: 'warning'
|
if (!this.inputName) {
|
||||||
}).then(() => {
|
this.filterTableData = [...this.tableData];
|
||||||
forceDeleteLesson(row.id).then(response => {
|
} else {
|
||||||
this.$message.success(this.$t('publish.deleteSuccess'));
|
this.filterTableData = [];
|
||||||
this.loadInitPage();
|
this.tableData.forEach(item => {
|
||||||
}).catch((error) => {
|
if (item.name.includes(this.inputName)) {
|
||||||
this.loadInitPage();
|
this.filterTableData.push(item);
|
||||||
this.$messageBox(this.$t('error.deleteFailed') + ':' + error.message);
|
}
|
||||||
});
|
});
|
||||||
}).catch(() => { });
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -34,8 +34,8 @@
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-if="form.mean === 'PRERESET'" label="关联区段">
|
<el-form-item v-if="form.mean === 'PRERESET'" label="关联区段" prop="sectionCode">
|
||||||
<el-select v-model="form.sectionCode" placeholder="请选择">
|
<el-select v-model="form.sectionCode" filterable placeholder="请选择">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in sectionList"
|
v-for="item in sectionList"
|
||||||
:key="item.code"
|
:key="item.code"
|
||||||
@ -54,7 +54,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {getSectionListByStationCode, getSectionListByMapId } from '@/api/jmap/map';
|
import {getSectionListByCenStationCode, getSectionListByMapId } from '@/api/jmap/map';
|
||||||
export default {
|
export default {
|
||||||
name: 'ButtonDraft',
|
name: 'ButtonDraft',
|
||||||
components: {
|
components: {
|
||||||
@ -94,6 +94,9 @@ export default {
|
|||||||
],
|
],
|
||||||
buttonWidth: [
|
buttonWidth: [
|
||||||
{ required: true, message: this.$t('ibp.enterTheButtonWidth'), trigger: 'blur' }
|
{ required: true, message: this.$t('ibp.enterTheButtonWidth'), trigger: 'blur' }
|
||||||
|
],
|
||||||
|
sectionCode: [
|
||||||
|
{ required: true, message: '请选择关联区段', trigger: 'blur' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
sectionList: []
|
sectionList: []
|
||||||
@ -121,7 +124,7 @@ export default {
|
|||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
if (this.$route.query.stationCode) {
|
if (this.$route.query.stationCode) {
|
||||||
getSectionListByStationCode(this.$route.query.mapId, this.$route.query.stationCode).then(resp => {
|
getSectionListByCenStationCode(this.$route.query.mapId, this.$route.query.stationCode).then(resp => {
|
||||||
this.sectionList = resp.data;
|
this.sectionList = resp.data;
|
||||||
console.log(resp.data);
|
console.log(resp.data);
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { DeviceMenu } from '@/scripts/ConstDic';
|
import { DeviceMenu } from '@/scripts/ConstDic';
|
||||||
import { removeSessionStorage } from '@/utils/auth';
|
import { removeSessionStorage } from '@/utils/auth';
|
||||||
import { getPublishMapListOnline, getStationListNeedAttendant } from '@/api/jmap/map';
|
import { getPublishMapListOnline, getStationListNeedAttendant, getPublishMapInfo } from '@/api/jmap/map';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'UserMapList',
|
name: 'UserMapList',
|
||||||
@ -58,7 +58,7 @@ export default {
|
|||||||
mapPublishList: [],
|
mapPublishList: [],
|
||||||
pageTreeMap: {
|
pageTreeMap: {
|
||||||
'01': [],
|
'01': [],
|
||||||
'114': [
|
'49': [
|
||||||
{
|
{
|
||||||
// 牵引降压混合变电所主接线图 变电所接线图 降压变电所主接线图 解除网图 混合变电所主接线图
|
// 牵引降压混合变电所主接线图 变电所接线图 降压变电所主接线图 解除网图 混合变电所主接线图
|
||||||
name: '电力监控系统',
|
name: '电力监控系统',
|
||||||
@ -279,6 +279,12 @@ export default {
|
|||||||
mode: 'afc02',
|
mode: 'afc02',
|
||||||
id: 'afcOne02',
|
id: 'afcOne02',
|
||||||
type: 'interface'
|
type: 'interface'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '站台层',
|
||||||
|
mode: 'afc02',
|
||||||
|
id: 'afcTwo02',
|
||||||
|
type: 'interface'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -321,10 +327,28 @@ export default {
|
|||||||
type: 'interface'
|
type: 'interface'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '站厅层公共区段',
|
name: '站厅层C端',
|
||||||
mode: 'fas02',
|
mode: 'fas02',
|
||||||
id: 'stationHallFour',
|
id: 'stationHallFour',
|
||||||
type: 'interface'
|
type: 'interface'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '站厅层D端',
|
||||||
|
mode: 'fas02',
|
||||||
|
id: 'stationHallFive',
|
||||||
|
type: 'interface'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '站厅层E端',
|
||||||
|
mode: 'fas02',
|
||||||
|
id: 'stationHallSix',
|
||||||
|
type: 'interface'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '站厅层F端',
|
||||||
|
mode: 'fas02',
|
||||||
|
id: 'stationHallSeven',
|
||||||
|
type: 'interface'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -928,7 +952,9 @@ export default {
|
|||||||
case 'system' :
|
case 'system' :
|
||||||
break;
|
break;
|
||||||
case 'interface':
|
case 'interface':
|
||||||
this.$router.push({ path: `/iscs/design/edit`, query: {mode: obj.mode, system: data.parent.data.id, part: obj.id, mapId: this.mapId} });
|
getPublishMapInfo(this.mapId).then(resp => {
|
||||||
|
this.$router.push({ path: `/iscs/design/edit`, query: {mode: obj.mode, system: data.parent.data.id, part: obj.id, mapId: this.mapId, lineCode: resp.data.lineCode} });
|
||||||
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -22,12 +22,12 @@
|
|||||||
<el-form-item label="选中文字颜色:" prop="textColorActive">
|
<el-form-item label="选中文字颜色:" prop="textColorActive">
|
||||||
<el-color-picker v-model="form.textColorActive" size="small" />
|
<el-color-picker v-model="form.textColorActive" size="small" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item label="背景颜色:" prop="textColor">
|
<el-form-item label="背景颜色:" prop="textColor">
|
||||||
<el-color-picker v-model="form.fillColor" size="small" />
|
<el-color-picker v-model="form.fillColor" size="small" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="选中背景颜色:" prop="textColor">
|
<el-form-item label="选中背景颜色:" prop="textColor">
|
||||||
<el-color-picker v-model="form.fillColorActive" size="small" />
|
<el-color-picker v-model="form.fillColorActive" size="small" />
|
||||||
</el-form-item> -->
|
</el-form-item>
|
||||||
<el-form-item label="文字大小:" prop="fontSize">
|
<el-form-item label="文字大小:" prop="fontSize">
|
||||||
<el-input-number v-model="form.fontSize" size="small" controls-position="right" :min="1" />
|
<el-input-number v-model="form.fontSize" size="small" controls-position="right" :min="1" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -90,9 +90,9 @@ export default {
|
|||||||
context: '',
|
context: '',
|
||||||
function: '',
|
function: '',
|
||||||
textColor: '',
|
textColor: '',
|
||||||
// fillColor: '#D1C2C2',
|
textColorActive: '#000',
|
||||||
// fillColorActive: '#847b7b',
|
fillColor: 'rgba(0,0,0,0)',
|
||||||
textColorActive: '#000'
|
fillColorActive: 'rgba(0,0,0,0)'
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
context: [
|
context: [
|
||||||
@ -127,6 +127,8 @@ export default {
|
|||||||
this.form.fontSize = model.fontSize;
|
this.form.fontSize = model.fontSize;
|
||||||
this.form.textColor = model.textColor || '#fff';
|
this.form.textColor = model.textColor || '#fff';
|
||||||
this.form.textColorActive = model.textColorActive || '#000';
|
this.form.textColorActive = model.textColorActive || '#000';
|
||||||
|
this.form.fillColor = model.fillColor;
|
||||||
|
this.form.fillColorActive = model.fillColorActive;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -134,6 +136,8 @@ export default {
|
|||||||
if (this.$route.query.lineCode == '02') {
|
if (this.$route.query.lineCode == '02') {
|
||||||
this.functionList = [
|
this.functionList = [
|
||||||
{label: '操作按钮', value: 'OperatingButton'},
|
{label: '操作按钮', value: 'OperatingButton'},
|
||||||
|
{label: '门禁站台层', value: 'goToStand'},
|
||||||
|
{label: '门禁站厅层', value: 'goToStation'},
|
||||||
{label: '元素显隐', value: 'ElementShow'},
|
{label: '元素显隐', value: 'ElementShow'},
|
||||||
{label: '返回', value: 'GoBack'}
|
{label: '返回', value: 'GoBack'}
|
||||||
];
|
];
|
||||||
@ -169,7 +173,9 @@ export default {
|
|||||||
function: this.form.function,
|
function: this.form.function,
|
||||||
fontSize: this.form.fontSize,
|
fontSize: this.form.fontSize,
|
||||||
textColor: this.form.textColor,
|
textColor: this.form.textColor,
|
||||||
textColorActive: this.form.textColorActive
|
textColorActive: this.form.textColorActive,
|
||||||
|
fillColor: this.form.fillColor,
|
||||||
|
fillColorActive: this.form.fillColorActive
|
||||||
};
|
};
|
||||||
this.$emit('createDataModel', rectModel);
|
this.$emit('createDataModel', rectModel);
|
||||||
this.initPage();
|
this.initPage();
|
||||||
@ -190,7 +196,9 @@ export default {
|
|||||||
verticalPadding: this.form.verticalPadding,
|
verticalPadding: this.form.verticalPadding,
|
||||||
context: this.form.context,
|
context: this.form.context,
|
||||||
function: this.form.function,
|
function: this.form.function,
|
||||||
fontSize: this.form.fontSize
|
fontSize: this.form.fontSize,
|
||||||
|
fillColor: this.form.fillColor,
|
||||||
|
fillColorActive: this.form.fillColorActive
|
||||||
};
|
};
|
||||||
this.$emit('deleteDataModel', rectModel);
|
this.$emit('deleteDataModel', rectModel);
|
||||||
},
|
},
|
||||||
@ -209,7 +217,9 @@ export default {
|
|||||||
context: '',
|
context: '',
|
||||||
function: '',
|
function: '',
|
||||||
textColor: '',
|
textColor: '',
|
||||||
textColorActive: '#000'
|
textColorActive: '#000',
|
||||||
|
fillColor: '',
|
||||||
|
fillColorActive: ''
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<el-input-number v-model="form.z2" controls-position="right" :min="0" size="small" />
|
<el-input-number v-model="form.z2" controls-position="right" :min="0" size="small" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="线段宽度:" prop="lineWidth">
|
<el-form-item label="线段宽度:" prop="lineWidth">
|
||||||
<el-input-number v-model="form.lineWidth" controls-position="right" :min="0" :max="50" size="small" />
|
<el-input-number v-model="form.lineWidth" controls-position="right" :min="0" :max="1000" size="small" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="类型:" prop="type">
|
<el-form-item label="类型:" prop="type">
|
||||||
<el-select v-model="form.classify" placeholder="请选择类型" size="small">
|
<el-select v-model="form.classify" placeholder="请选择类型" size="small">
|
||||||
@ -13,9 +13,9 @@
|
|||||||
<el-option label="虚线:" value="dashed" />
|
<el-option label="虚线:" value="dashed" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="是否线段颜色渐变:">
|
<!--<el-form-item label="是否线段颜色渐变:">-->
|
||||||
<el-checkbox v-model="form.isFillGradual" size="small" />
|
<!--<el-checkbox v-model="form.isFillGradual" size="small" />-->
|
||||||
</el-form-item>
|
<!--</el-form-item>-->
|
||||||
<el-form-item label="是否渐变:">
|
<el-form-item label="是否渐变:">
|
||||||
<el-checkbox v-model="form.isGradual" size="small" />
|
<el-checkbox v-model="form.isGradual" size="small" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -140,7 +140,7 @@ export default {
|
|||||||
classify:'solid',
|
classify:'solid',
|
||||||
code: '',
|
code: '',
|
||||||
z2: 0,
|
z2: 0,
|
||||||
isFillGradual: false,
|
// isFillGradual: false,
|
||||||
lineWidth: '',
|
lineWidth: '',
|
||||||
fillColor: '#fff',
|
fillColor: '#fff',
|
||||||
fillBackground: '',
|
fillBackground: '',
|
||||||
@ -182,7 +182,7 @@ export default {
|
|||||||
this.isUpdate = true;
|
this.isUpdate = true;
|
||||||
this.form.code = model.code;
|
this.form.code = model.code;
|
||||||
this.form.z2 = model.z2 || 0;
|
this.form.z2 = model.z2 || 0;
|
||||||
this.form.isFillGradual = model.isFillGradual || false;
|
// this.form.isFillGradual = model.isFillGradual || false;
|
||||||
this.form.lineWidth = model.lineWidth;
|
this.form.lineWidth = model.lineWidth;
|
||||||
this.form.fillColor = model.fillColor;
|
this.form.fillColor = model.fillColor;
|
||||||
this.form.fillBackground = model.fillBackground || '';
|
this.form.fillBackground = model.fillBackground || '';
|
||||||
@ -216,7 +216,7 @@ export default {
|
|||||||
code: this.isUpdate ? this.form.code : getUID('IscsLine', this.iscs.iscsLineList),
|
code: this.isUpdate ? this.form.code : getUID('IscsLine', this.iscs.iscsLineList),
|
||||||
_type: 'IscsLine',
|
_type: 'IscsLine',
|
||||||
z2: this.form.z2,
|
z2: this.form.z2,
|
||||||
isFillGradual: this.form.isFillGradual,
|
// isFillGradual: this.form.isFillGradual,
|
||||||
lineWidth: this.form.lineWidth,
|
lineWidth: this.form.lineWidth,
|
||||||
fillColor: this.form.fillColor,
|
fillColor: this.form.fillColor,
|
||||||
fillBackground: this.form.fillBackground,
|
fillBackground: this.form.fillBackground,
|
||||||
@ -267,7 +267,7 @@ export default {
|
|||||||
this.form = {
|
this.form = {
|
||||||
code: '',
|
code: '',
|
||||||
lineWidth: '',
|
lineWidth: '',
|
||||||
isFillGradual: false,
|
// isFillGradual: false,
|
||||||
fillColor: '#fff',
|
fillColor: '#fff',
|
||||||
fillBackground: '',
|
fillBackground: '',
|
||||||
arrowShow: 'none',
|
arrowShow: 'none',
|
||||||
|
@ -60,8 +60,8 @@ export default {
|
|||||||
{ name: '车尾', value: 'psdRight' },
|
{ name: '车尾', value: 'psdRight' },
|
||||||
{ name: '车厢', value: 'psdSystem' },
|
{ name: '车厢', value: 'psdSystem' },
|
||||||
{ name: '人防门', value: 'envPersonDoor'},
|
{ name: '人防门', value: 'envPersonDoor'},
|
||||||
{ name: '蓝色FIRE', value: 's'},
|
{ name: '报警按钮蓝', value: 's'},
|
||||||
{ name: '红色FIRE', value: 'a'},
|
{ name: '报警按钮红', value: 'a'},
|
||||||
{ name: 'APF', value: 'APF'},
|
{ name: 'APF', value: 'APF'},
|
||||||
{ name: '手动阀', value: 'hand'},
|
{ name: '手动阀', value: 'hand'},
|
||||||
{ name: '蓝色-阀门', value: 'fmBlue'},
|
{ name: '蓝色-阀门', value: 'fmBlue'},
|
||||||
@ -100,7 +100,40 @@ export default {
|
|||||||
{ name: '烟杆传感器', value: 'iscsSensor' },
|
{ name: '烟杆传感器', value: 'iscsSensor' },
|
||||||
{ name: '抵挡图', value: 'iscsDangwei' },
|
{ name: '抵挡图', value: 'iscsDangwei' },
|
||||||
{ name: '地变图', value: 'iscsDibian' },
|
{ name: '地变图', value: 'iscsDibian' },
|
||||||
{ name: 'PT1', value: 'iscsPt1' }
|
{ name: 'PT1', value: 'iscsPt1' },
|
||||||
|
{ name: '受检左侧箭头', value: 'checkArrowLeft' },
|
||||||
|
{ name: '受检右侧箭头', value: 'checkArrowRight' },
|
||||||
|
{ name: '受检两侧箭头', value: 'checkArrowDouble' },
|
||||||
|
{ name: '受检流量累计', value: 'checkFlowCumulative' },
|
||||||
|
{ name: '受检正常', value: 'checkNormal' },
|
||||||
|
{ name: '受检售票', value: 'checkSell' },
|
||||||
|
{ name: '受检售票2', value: 'checkSell2' },
|
||||||
|
{ name: '站厅背景', value: 'bgShowRoom' },
|
||||||
|
{ name: '站台背景', value: 'bgStand' },
|
||||||
|
{ name: '站台A端背景', value: 'bgFasPlatformA' },
|
||||||
|
{ name: '站台B端背景', value: 'bgFasPlatformB' },
|
||||||
|
{ name: '环空电控', value: 'basAnnulus' },
|
||||||
|
{ name: '环控机控', value: 'basEnvironmental' },
|
||||||
|
{ name: '智能低压', value: 'basLowPressure' },
|
||||||
|
{ name: '接口机', value: 'basInterface' },
|
||||||
|
{ name: '实体机', value: 'basEntity' },
|
||||||
|
{ name: '烟感探测器红', value: 'smokeDetectorRed' },
|
||||||
|
{ name: '烟感探测器绿', value: 'smokeDetectorGreen' },
|
||||||
|
{ name: '烟感探测器蓝', value: 'smokeDetectorBlue' },
|
||||||
|
{ name: '防火阀红', value: 'fireDamperRed' },
|
||||||
|
{ name: '防火阀绿', value: 'fireDamperGreen' },
|
||||||
|
{ name: '防火阀蓝', value: 'fireDamperBlue' },
|
||||||
|
{ name: '温感器红', value: 'alarmLampRed' },
|
||||||
|
{ name: '温感器绿', value: 'alarmLampGreen' },
|
||||||
|
{ name: '温感器蓝', value: 'alarmLampBlue' },
|
||||||
|
{ name: '站厅A', value: 'bgStationA' },
|
||||||
|
{ name: '站厅B', value: 'bgStationB' },
|
||||||
|
{ name: '站厅C', value: 'bgStationC' },
|
||||||
|
{ name: '站厅D', value: 'bgStationD' },
|
||||||
|
{ name: '站厅E', value: 'bgStationE' },
|
||||||
|
{ name: '站厅F', value: 'bgStationF' },
|
||||||
|
{ name: '门禁站厅A', value: 'bgDoorStationA' },
|
||||||
|
{ name: '门禁站台A', value: 'bgDoorStandA' }
|
||||||
],
|
],
|
||||||
|
|
||||||
rules: {
|
rules: {
|
||||||
|
@ -75,7 +75,7 @@
|
|||||||
<template v-for="(item, i) in addModel.columnWidthList">
|
<template v-for="(item, i) in addModel.columnWidthList">
|
||||||
<el-table-column :key="i" :label="'列'+(i + 1)" :prop="'column'+ (i + 1)" width="140px">
|
<el-table-column :key="i" :label="'列'+(i + 1)" :prop="'column'+ (i + 1)" width="140px">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-model="addModel.tableData[scope.$index]['column'+ (i + 1)]" size="small" />
|
<el-input v-model="addModel.tableData[scope.$index]['column'+ (i + 1)]" size="small" type="textarea" :rows="1" />
|
||||||
<div style="display:flex;justify-content:space-around;align-items: center;">
|
<div style="display:flex;justify-content:space-around;align-items: center;">
|
||||||
<div>背景</div>
|
<div>背景</div>
|
||||||
<el-color-picker v-model="addModel.tableData[scope.$index]['bg'+(i+1)]" size="small" show-alpha />
|
<el-color-picker v-model="addModel.tableData[scope.$index]['bg'+(i+1)]" size="small" show-alpha />
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div style="overflow-y: scroll;height: calc(100% - 46px); width: 100%;">
|
<div style="overflow-y: scroll;height: calc(100% - 46px); width: 100%;">
|
||||||
<el-form ref="form" :rules="rules" :model="form" label-width="120px" style="width: 100%;padding: 10px 50px;">
|
<el-form ref="form" :rules="rules" :model="form" label-width="120px" style="width: 100%;padding: 10px 50px;">
|
||||||
<el-form-item label="code:" prop="code">
|
<!-- <el-form-item label="code:" prop="code">
|
||||||
<el-select v-model="form.code">
|
<el-select v-model="form.code">
|
||||||
<el-option v-for="(item, index) in iscsTextList" :key="index" :label="item.code" :value="item.code" disabled />
|
<el-option v-for="(item, index) in iscsTextList" :key="index" :label="item.code" :value="item.code" disabled />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<el-form-item label="文字内容:" prop="context">
|
<el-form-item label="文字内容:" prop="context">
|
||||||
<el-input v-model="form.context" type="textarea" size="small" />
|
<el-input v-model="form.context" type="textarea" size="small" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -79,9 +79,9 @@ export default {
|
|||||||
verticalPadding: 0
|
verticalPadding: 0
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
code: [
|
// code: [
|
||||||
{ required: true, message: '请输入文字编号', trigger: 'blur' }
|
// { required: true, message: '请输入文字编号', trigger: 'blur' }
|
||||||
],
|
// ],
|
||||||
context: [
|
context: [
|
||||||
{ required: true, message: '请输入文字内容', trigger: 'blur' }
|
{ required: true, message: '请输入文字内容', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div style="overflow-y: scroll;height: calc(100% - 46px); width: 100%;">
|
<div style="overflow-y: scroll;height: calc(100% - 46px); width: 100%;">
|
||||||
<el-form ref="form" :rules="rules" :model="form" label-width="80px" style="width: 100%;padding: 10px 50px;">
|
<el-form ref="form" :rules="rules" :model="form" label-width="80px" style="width: 100%;padding: 10px 50px;">
|
||||||
|
<el-form-item label="图层:" prop="z2">
|
||||||
|
<el-input-number v-model="form.z2" controls-position="right" :min="0" size="small" />
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="宽度:" prop="width">
|
<el-form-item label="宽度:" prop="width">
|
||||||
<el-input-number v-model="form.width" controls-position="right" :min="1" size="small" />
|
<el-input-number v-model="form.width" controls-position="right" :min="1" size="small" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -33,6 +36,7 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
form:{
|
form:{
|
||||||
|
z2: '0',
|
||||||
code: '',
|
code: '',
|
||||||
width: 100,
|
width: 100,
|
||||||
height: 40,
|
height: 40,
|
||||||
@ -59,6 +63,7 @@ export default {
|
|||||||
this.showDeleteButton = true;
|
this.showDeleteButton = true;
|
||||||
this.isUpdate = true;
|
this.isUpdate = true;
|
||||||
this.form.code = model.code;
|
this.form.code = model.code;
|
||||||
|
this.form.z2 = model.z2;
|
||||||
this.form.x = model.point.x;
|
this.form.x = model.point.x;
|
||||||
this.form.y = model.point.y;
|
this.form.y = model.point.y;
|
||||||
this.form.height = model.height;
|
this.form.height = model.height;
|
||||||
@ -79,6 +84,7 @@ export default {
|
|||||||
},
|
},
|
||||||
code: this.isUpdate ? this.form.code : getUID('AfcDoorUnite', this.iscs.arcDoorUniteList),
|
code: this.isUpdate ? this.form.code : getUID('AfcDoorUnite', this.iscs.arcDoorUniteList),
|
||||||
_type: 'AfcDoorUnite',
|
_type: 'AfcDoorUnite',
|
||||||
|
z2: this.form.z2,
|
||||||
rotationAngle: this.form.rotationAngle,
|
rotationAngle: this.form.rotationAngle,
|
||||||
width: this.form.width,
|
width: this.form.width,
|
||||||
height: this.form.height
|
height: this.form.height
|
||||||
@ -96,6 +102,7 @@ export default {
|
|||||||
x: this.form.x,
|
x: this.form.x,
|
||||||
y: this.form.y
|
y: this.form.y
|
||||||
},
|
},
|
||||||
|
z2: this.form.z2,
|
||||||
code: this.form.code,
|
code: this.form.code,
|
||||||
_type: 'AfcDoorUnite',
|
_type: 'AfcDoorUnite',
|
||||||
rotationAngle: this.form.rotationAngle,
|
rotationAngle: this.form.rotationAngle,
|
||||||
@ -110,6 +117,7 @@ export default {
|
|||||||
this.showDeleteButton = false;
|
this.showDeleteButton = false;
|
||||||
this.form = {
|
this.form = {
|
||||||
code: '',
|
code: '',
|
||||||
|
z2: '0',
|
||||||
width: 100,
|
width: 100,
|
||||||
height: 40,
|
height: 40,
|
||||||
rotationAngle: 0,
|
rotationAngle: 0,
|
||||||
|
@ -25,6 +25,14 @@
|
|||||||
@createDataModel="createDataModel"
|
@createDataModel="createDataModel"
|
||||||
@deleteDataModel="deleteDataModel"
|
@deleteDataModel="deleteDataModel"
|
||||||
/>
|
/>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="圆形" name="IscsCircle">
|
||||||
|
<iscs-circle
|
||||||
|
ref="iscsCircle"
|
||||||
|
style="width: 100%;height: 100%;"
|
||||||
|
@createDataModel="createDataModel"
|
||||||
|
@deleteDataModel="deleteDataModel"
|
||||||
|
/>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="线段" name="IscsLine">
|
<el-tab-pane label="线段" name="IscsLine">
|
||||||
<iscs-line
|
<iscs-line
|
||||||
@ -73,6 +81,14 @@
|
|||||||
@createDataModel="createDataModel"
|
@createDataModel="createDataModel"
|
||||||
@deleteDataModel="deleteDataModel"
|
@deleteDataModel="deleteDataModel"
|
||||||
/>
|
/>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="图片" name="IscsPicture">
|
||||||
|
<iscs-picture
|
||||||
|
ref="iscsPicture"
|
||||||
|
style="width: 100%;height: 100%;"
|
||||||
|
@createDataModel="createDataModel"
|
||||||
|
@deleteDataModel="deleteDataModel"
|
||||||
|
/>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</el-card>
|
</el-card>
|
||||||
@ -87,8 +103,10 @@ import IscsRect from '../icscComponents/rect';
|
|||||||
import IscsButton from '../icscComponents/button';
|
import IscsButton from '../icscComponents/button';
|
||||||
import OrdinaryDoor from '../iscsCommonElem/ordinaryDoor';
|
import OrdinaryDoor from '../iscsCommonElem/ordinaryDoor';
|
||||||
import FuzhouDoor from '../iscsCommonElem/fuzhouDoor';
|
import FuzhouDoor from '../iscsCommonElem/fuzhouDoor';
|
||||||
|
import IscsPicture from '../icscComponents/picture';
|
||||||
import CommunicationButcher from '../iscsCommonElem/communicationButcher';
|
import CommunicationButcher from '../iscsCommonElem/communicationButcher';
|
||||||
import AfcDoorUnite from './afcDoorUnite';
|
import AfcDoorUnite from './afcDoorUnite';
|
||||||
|
import IscsCircle from '../icscComponents/circle';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'IscsOperate',
|
name: 'IscsOperate',
|
||||||
@ -99,8 +117,10 @@ export default {
|
|||||||
IscsButton,
|
IscsButton,
|
||||||
OrdinaryDoor,
|
OrdinaryDoor,
|
||||||
FuzhouDoor,
|
FuzhouDoor,
|
||||||
|
IscsPicture,
|
||||||
CommunicationButcher,
|
CommunicationButcher,
|
||||||
AfcDoorUnite
|
AfcDoorUnite,
|
||||||
|
IscsCircle
|
||||||
},
|
},
|
||||||
mixins: [
|
mixins: [
|
||||||
],
|
],
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div style="overflow-y: scroll;height: calc(100% - 46px); width: 100%;">
|
<div style="overflow-y: scroll;height: calc(100% - 46px); width: 100%;">
|
||||||
<el-form ref="form" :rules="rules" :model="form" label-width="80px" style="width: 100%;padding: 10px 50px;">
|
<el-form ref="form" :rules="rules" :model="form" label-width="80px" style="width: 100%;padding: 10px 50px;">
|
||||||
<el-form-item label="门宽:" prop="height">
|
<el-form-item label="图层:" prop="z2">
|
||||||
|
<el-input-number v-model="form.z2" controls-position="right" :min="1" size="small" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="门宽:" prop="width">
|
||||||
<el-input-number v-model="form.width" controls-position="right" :min="1" size="small" />
|
<el-input-number v-model="form.width" controls-position="right" :min="1" size="small" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="X轴坐标:">
|
<el-form-item label="X轴坐标:">
|
||||||
@ -28,6 +31,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
form:{
|
form:{
|
||||||
code: '',
|
code: '',
|
||||||
|
z2: 0,
|
||||||
width: 20,
|
width: 20,
|
||||||
x: 10,
|
x: 10,
|
||||||
y: 10
|
y: 10
|
||||||
@ -51,6 +55,7 @@ export default {
|
|||||||
this.showDeleteButton = true;
|
this.showDeleteButton = true;
|
||||||
this.isUpdate = true;
|
this.isUpdate = true;
|
||||||
this.form.code = model.code;
|
this.form.code = model.code;
|
||||||
|
this.form.z2 = model.z2;
|
||||||
this.form.x = model.point.x;
|
this.form.x = model.point.x;
|
||||||
this.form.y = model.point.y;
|
this.form.y = model.point.y;
|
||||||
this.form.width = model.width;
|
this.form.width = model.width;
|
||||||
@ -69,6 +74,7 @@ export default {
|
|||||||
},
|
},
|
||||||
code: this.isUpdate ? this.form.code : getUID('FuzhouDoor', this.iscs.fuzhouDoorList),
|
code: this.isUpdate ? this.form.code : getUID('FuzhouDoor', this.iscs.fuzhouDoorList),
|
||||||
_type: 'FuzhouDoor',
|
_type: 'FuzhouDoor',
|
||||||
|
z2: this.form.z2,
|
||||||
width: this.form.width
|
width: this.form.width
|
||||||
};
|
};
|
||||||
this.$emit('createDataModel', model);
|
this.$emit('createDataModel', model);
|
||||||
@ -86,6 +92,7 @@ export default {
|
|||||||
},
|
},
|
||||||
code: this.form.code,
|
code: this.form.code,
|
||||||
_type: 'FuzhouDoor',
|
_type: 'FuzhouDoor',
|
||||||
|
z2: this.form.z2,
|
||||||
width: this.form.width
|
width: this.form.width
|
||||||
};
|
};
|
||||||
this.$emit('deleteDataModel', model);
|
this.$emit('deleteDataModel', model);
|
||||||
@ -97,6 +104,7 @@ export default {
|
|||||||
this.form = {
|
this.form = {
|
||||||
code: '',
|
code: '',
|
||||||
width: 20,
|
width: 20,
|
||||||
|
z2: 0,
|
||||||
x: 10,
|
x: 10,
|
||||||
y: 10
|
y: 10
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div style="overflow-y: scroll;height: calc(100% - 46px); width: 100%;">
|
<div style="overflow-y: scroll;height: calc(100% - 46px); width: 100%;">
|
||||||
<el-form ref="form" :rules="rules" :model="form" label-width="80px" style="width: 100%;padding: 10px 50px;">
|
<el-form ref="form" :rules="rules" :model="form" label-width="80px" style="width: 100%;padding: 10px 50px;">
|
||||||
|
<el-form-item label="图层:" prop="z2">
|
||||||
|
<el-input-number v-model="form.z2" controls-position="right" size="small" />
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="类型:" prop="width">
|
<el-form-item label="类型:" prop="width">
|
||||||
<el-select v-model="form.doorType" placeholder="请选择">
|
<el-select v-model="form.doorType" placeholder="请选择">
|
||||||
<el-option
|
<el-option
|
||||||
@ -41,6 +44,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
form:{
|
form:{
|
||||||
code: '',
|
code: '',
|
||||||
|
z2: '',
|
||||||
doorType: '1',
|
doorType: '1',
|
||||||
r: 1,
|
r: 1,
|
||||||
rotationAngle: 0,
|
rotationAngle: 0,
|
||||||
@ -72,6 +76,7 @@ export default {
|
|||||||
this.showDeleteButton = true;
|
this.showDeleteButton = true;
|
||||||
this.isUpdate = true;
|
this.isUpdate = true;
|
||||||
this.form.code = model.code;
|
this.form.code = model.code;
|
||||||
|
this.form.z2 = model.z2;
|
||||||
this.form.x = model.point.x;
|
this.form.x = model.point.x;
|
||||||
this.form.y = model.point.y;
|
this.form.y = model.point.y;
|
||||||
this.form.r = model.r;
|
this.form.r = model.r;
|
||||||
@ -90,6 +95,7 @@ export default {
|
|||||||
x: this.form.x,
|
x: this.form.x,
|
||||||
y: this.form.y
|
y: this.form.y
|
||||||
},
|
},
|
||||||
|
z2: this.form.z2,
|
||||||
code: this.isUpdate ? this.form.code : getUID('OrdinaryDoor', this.iscs.ordinaryDoorList),
|
code: this.isUpdate ? this.form.code : getUID('OrdinaryDoor', this.iscs.ordinaryDoorList),
|
||||||
_type: 'OrdinaryDoor',
|
_type: 'OrdinaryDoor',
|
||||||
rotationAngle: this.form.rotationAngle,
|
rotationAngle: this.form.rotationAngle,
|
||||||
@ -109,6 +115,7 @@ export default {
|
|||||||
x: this.form.x,
|
x: this.form.x,
|
||||||
y: this.form.y
|
y: this.form.y
|
||||||
},
|
},
|
||||||
|
z2: this.form.z2,
|
||||||
code: this.form.code,
|
code: this.form.code,
|
||||||
_type: 'OrdinaryDoor',
|
_type: 'OrdinaryDoor',
|
||||||
rotationAngle: this.form.rotationAngle,
|
rotationAngle: this.form.rotationAngle,
|
||||||
@ -123,6 +130,7 @@ export default {
|
|||||||
this.showDeleteButton = false;
|
this.showDeleteButton = false;
|
||||||
this.form = {
|
this.form = {
|
||||||
code: '',
|
code: '',
|
||||||
|
z2: '',
|
||||||
doorType: '1',
|
doorType: '1',
|
||||||
r: 1,
|
r: 1,
|
||||||
rotationAngle: 0,
|
rotationAngle: 0,
|
||||||
|
@ -90,6 +90,7 @@ export default {
|
|||||||
this.$store.dispatch('iscs/setIscsData', iscsData);
|
this.$store.dispatch('iscs/setIscsData', iscsData);
|
||||||
if (this.$route.query.group) {
|
if (this.$route.query.group) {
|
||||||
this.$iscs.on('dblclick', this.onDblclick, this);
|
this.$iscs.on('dblclick', this.onDblclick, this);
|
||||||
|
this.$iscs.on('click', this.onlclick, this);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onDblclick(em) {
|
onDblclick(em) {
|
||||||
@ -97,10 +98,30 @@ export default {
|
|||||||
if (em.deviceType == 'IscsGroup') {
|
if (em.deviceType == 'IscsGroup') {
|
||||||
this.$iscs.iscsDevice[em.deviceModel.code].instance.hide();
|
this.$iscs.iscsDevice[em.deviceModel.code].instance.hide();
|
||||||
this.$refs.valve.doShow(em.deviceModel);
|
this.$refs.valve.doShow(em.deviceModel);
|
||||||
} else if (em.deviceType == 'IscsButton') {
|
} else if (em.deviceType == 'IscsButton' && em.deviceModel.function != 'goToStand' && em.deviceModel.function != 'goToStation') {
|
||||||
this.$refs.protectReset.doShow(em.deviceModel);
|
this.$refs.protectReset.doShow(em.deviceModel);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onlclick(em) {
|
||||||
|
// 父编组上元素内容
|
||||||
|
const query = {
|
||||||
|
stationName: this.$route.query.stationName,
|
||||||
|
stationId: this.$route.query.stationId,
|
||||||
|
group: this.$route.query.group,
|
||||||
|
mapId: this.$route.query.mapId,
|
||||||
|
lineCode:'02',
|
||||||
|
noPreLogout:this.$route.query.noPreLogout
|
||||||
|
};
|
||||||
|
let type = '';
|
||||||
|
if (em.deviceType == 'IscsButton' && em.deviceModel.function == 'goToStand') {
|
||||||
|
type = 'afcTwo02';
|
||||||
|
} else if (em.deviceType == 'IscsButton' && em.deviceModel.function == 'goToStation') {
|
||||||
|
type = 'afcOne02';
|
||||||
|
}
|
||||||
|
this.$router.replace({ path: `/displayIscs/system/stationConfig/${type}`, query: query });
|
||||||
|
},
|
||||||
|
|
||||||
// 地图加载完成
|
// 地图加载完成
|
||||||
handleViewLoaded() {
|
handleViewLoaded() {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
@ -126,7 +147,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
setIscs(data, oldData) {
|
setIscs(data, oldData) {
|
||||||
this.$iscs.setIscs(oldData, data, this.$route.query.mapId);
|
this.$iscs.setIscs(oldData, data, this.$route.query.lineCode);
|
||||||
},
|
},
|
||||||
// 执行操作
|
// 执行操作
|
||||||
handleModel(model) {
|
handleModel(model) {
|
||||||
|
@ -158,7 +158,9 @@ export default {
|
|||||||
const data = JSON.parse(resp.data.graphData);
|
const data = JSON.parse(resp.data.graphData);
|
||||||
this.$refs.iscsPlate.show(data, this.width, this.height, this.scaleRate);
|
this.$refs.iscsPlate.show(data, this.width, this.height, this.scaleRate);
|
||||||
document.querySelector('.Substation').scrollTop = 0;
|
document.querySelector('.Substation').scrollTop = 0;
|
||||||
}
|
} else {
|
||||||
|
this.loading = false;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
127
src/views/iscs/iscsSystem/stationConfig/fas/index.vue
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
<template>
|
||||||
|
<div v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.6)" style="width:100%;height:100%;">
|
||||||
|
<div class="fasIndex" :style="{'background':bacground}">
|
||||||
|
<div class="fasIndex_header">{{ title }}</div>
|
||||||
|
<div>
|
||||||
|
<iscsSystem ref="iscsPlate" />
|
||||||
|
</div>
|
||||||
|
<!-- <div class="psdSystem_footer">
|
||||||
|
<div class="prevButton">{{}}</div>
|
||||||
|
<div class="nextButton">{{}}</div>
|
||||||
|
</div> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import iscsSystem from '../canvas/iscsCanvas';
|
||||||
|
import {getIscsData} from '@/api/iscs';
|
||||||
|
export default {
|
||||||
|
name:'Fas',
|
||||||
|
components:{
|
||||||
|
iscsSystem
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
title:'',
|
||||||
|
bacground:'rgba(66,90,116,1)',
|
||||||
|
loading:false,
|
||||||
|
width:window.innerWidth,
|
||||||
|
scaleRate:window.innerWidth / 2200,
|
||||||
|
height: 1000
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed:{
|
||||||
|
stationName() {
|
||||||
|
return this.$route.query.stationName;
|
||||||
|
},
|
||||||
|
stationId() {
|
||||||
|
return this.$route.query.stationId;
|
||||||
|
}
|
||||||
|
// height() {
|
||||||
|
// return 970;
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
watch:{
|
||||||
|
$route() {
|
||||||
|
this.mode = this.$route.params.mode;
|
||||||
|
this.getInitData();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.mode = this.$route.params.mode;
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.getInitData();
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
getInitData() {
|
||||||
|
const params = {
|
||||||
|
// lineCode: this.$route.query.lineCode,
|
||||||
|
mapId: this.$route.query.mapId,
|
||||||
|
system: 'fas',
|
||||||
|
totalSystem :'fas02',
|
||||||
|
userInterface : this.mode
|
||||||
|
};
|
||||||
|
if (this.mode == 'gas') {
|
||||||
|
this.title = this.stationName + ' 气体灭火系统';
|
||||||
|
this.scaleRate = window.innerWidth / 1920;
|
||||||
|
this.height = 930;
|
||||||
|
} else if (this.mode == 'sensing') {
|
||||||
|
this.title = '';
|
||||||
|
this.scaleRate = window.innerWidth / 1920;
|
||||||
|
this.height = 800;
|
||||||
|
} else if (this.mode == 'section') {
|
||||||
|
this.title = this.stationName + ' 火灾报警系统 区间层';
|
||||||
|
this.scaleRate = window.innerWidth / 1920;
|
||||||
|
this.height = 900;
|
||||||
|
} else if (this.mode == 'linkage') {
|
||||||
|
this.title = this.stationName + ' 火灾报警系统 FAS联动';
|
||||||
|
this.scaleRate = window.innerWidth / 1920;
|
||||||
|
this.height = 900;
|
||||||
|
} else if (this.mode == 'stationHall') {
|
||||||
|
this.title = '';
|
||||||
|
params.userInterface = 'stationHallOne';
|
||||||
|
params.system = 'stationHall';
|
||||||
|
this.scaleRate = window.innerWidth / 1920;
|
||||||
|
this.height = 850;
|
||||||
|
} else if (this.mode == 'platform') {
|
||||||
|
params.userInterface = 'platformOne';
|
||||||
|
params.system = 'platform';
|
||||||
|
this.scaleRate = window.innerWidth / 1920;
|
||||||
|
this.height = 850;
|
||||||
|
}
|
||||||
|
this.loading = true;
|
||||||
|
this.$refs.iscsPlate.show({}, this.width, this.height, this.scaleRate);
|
||||||
|
getIscsData(params).then(resp=>{
|
||||||
|
if (resp.data) {
|
||||||
|
this.loading = false;
|
||||||
|
const data = JSON.parse(resp.data.graphData);
|
||||||
|
this.$refs.iscsPlate.show(data, this.width, this.height, this.scaleRate);
|
||||||
|
document.querySelector('.fasIndex').scrollTop = 0;
|
||||||
|
} else {
|
||||||
|
this.loading = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.fasIndex_header{
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 15px;
|
||||||
|
color: #d8e9a5;
|
||||||
|
font-size: 25px;
|
||||||
|
}
|
||||||
|
.fasIndex{
|
||||||
|
display: inline-block;
|
||||||
|
width:100%;
|
||||||
|
height:100%;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
.SubstationIn{
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
</style>
|
@ -3,8 +3,11 @@
|
|||||||
<psd-system v-if="mode=='psdSystem'" />
|
<psd-system v-if="mode=='psdSystem'" />
|
||||||
<substation v-else-if="mode=='substation'" />
|
<substation v-else-if="mode=='substation'" />
|
||||||
<schedule v-else-if="mode=='schedule'" />
|
<schedule v-else-if="mode=='schedule'" />
|
||||||
<normal v-else-if="mode=='environmentThree'" />
|
<normal v-else-if="mode.includes('environment')" />
|
||||||
<normal v-else-if="mode=='environmentFour'" />
|
<fas v-else-if="fasList.includes(mode)" />
|
||||||
|
<signal-system v-else-if="mode === 'signal'" />
|
||||||
|
<!-- environmentThree -->
|
||||||
|
<!-- <normal v-else-if="mode=='environmentFour'" />
|
||||||
<normal v-else-if="mode=='environmentFive'" />
|
<normal v-else-if="mode=='environmentFive'" />
|
||||||
<normal v-else-if="mode=='environmentSix'" />
|
<normal v-else-if="mode=='environmentSix'" />
|
||||||
<normal v-else-if="mode=='environmentSeven'" />
|
<normal v-else-if="mode=='environmentSeven'" />
|
||||||
@ -13,8 +16,10 @@
|
|||||||
<normal v-else-if="mode=='environmentTen'" />
|
<normal v-else-if="mode=='environmentTen'" />
|
||||||
<normal v-else-if="mode=='environmentThirteen'" />
|
<normal v-else-if="mode=='environmentThirteen'" />
|
||||||
<normal v-else-if="mode=='environmentEleven'" />
|
<normal v-else-if="mode=='environmentEleven'" />
|
||||||
<normal v-else-if="mode=='environmentTwelve'" />
|
<normal v-else-if="mode=='environmentTwelve'" /> -->
|
||||||
<big-screen v-else-if="mode === 'signal'" />
|
<!-- <big-screen v-else-if="mode === 'signal'" /> -->
|
||||||
|
<!-- <big-screen v-else-if="mode === 'signal'" /> -->
|
||||||
|
<ticket-or-entrance v-else-if="mode === 'autoTicket'||mode === 'afcTwo02'||mode === 'afcOne02'" />
|
||||||
<!-- -->
|
<!-- -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -23,7 +28,11 @@ import PsdSystem from './psdSystem/index.vue';
|
|||||||
import Substation from './powerMonitor/substation.vue';
|
import Substation from './powerMonitor/substation.vue';
|
||||||
import Normal from './environment/index.vue';
|
import Normal from './environment/index.vue';
|
||||||
import Schedule from './schedule';
|
import Schedule from './schedule';
|
||||||
import BigScreen from '@/views/designPlatform/bigScreen';
|
import Fas from './fas/index.vue';
|
||||||
|
import SignalSystem from './signalSystem/index.vue';
|
||||||
|
// import BigScreen from '@/views/designPlatform/bigScreen';
|
||||||
|
import TicketOrEntrance from './ticketOrEntrance/index';
|
||||||
|
// import BigScreen from '@/views/designPlatform/bigScreen';
|
||||||
import { getSimulationInfoNew } from '@/api/simulation';
|
import { getSimulationInfoNew } from '@/api/simulation';
|
||||||
import { getByGroupStationList } from '@/api/jmap/map';
|
import { getByGroupStationList } from '@/api/jmap/map';
|
||||||
import { loadRunPlanData } from '@/utils/loaddata';
|
import { loadRunPlanData } from '@/utils/loaddata';
|
||||||
@ -33,12 +42,16 @@ export default {
|
|||||||
PsdSystem,
|
PsdSystem,
|
||||||
Substation,
|
Substation,
|
||||||
Normal,
|
Normal,
|
||||||
BigScreen
|
// BigScreen,
|
||||||
|
SignalSystem,
|
||||||
|
Fas,
|
||||||
|
TicketOrEntrance
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
mode: 'index',
|
mode: 'index',
|
||||||
deviceList: []
|
deviceList: [],
|
||||||
|
fasList:['sensing', 'gas', 'section', 'linkage', 'stationHall', 'platform']
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -114,7 +114,9 @@ export default {
|
|||||||
const data = JSON.parse(resp.data.graphData);
|
const data = JSON.parse(resp.data.graphData);
|
||||||
this.$refs.iscsPlate.show(data, this.width, this.height, this.scaleRate);
|
this.$refs.iscsPlate.show(data, this.width, this.height, this.scaleRate);
|
||||||
document.querySelector('.Substation').scrollTop = 0;
|
document.querySelector('.Substation').scrollTop = 0;
|
||||||
}
|
} else {
|
||||||
|
this.loading = false;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,9 @@ export default {
|
|||||||
if (resp.data) {
|
if (resp.data) {
|
||||||
const data = JSON.parse(resp.data.graphData);
|
const data = JSON.parse(resp.data.graphData);
|
||||||
this.$refs.iscsPlate.show(data, this.width, this.height, this.scaleRate);
|
this.$refs.iscsPlate.show(data, this.width, this.height, this.scaleRate);
|
||||||
}
|
} else {
|
||||||
|
this.loading = false;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
104
src/views/iscs/iscsSystem/stationConfig/signalSystem/index.vue
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
<template>
|
||||||
|
<div v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.6)" style="width:100%;height:100%;">
|
||||||
|
<div class="fasIndex" :style="{'background':bacground}">
|
||||||
|
<div class="fasIndex_header">{{ title }}</div>
|
||||||
|
<div>
|
||||||
|
<iscsSystem ref="iscsPlate" />
|
||||||
|
</div>
|
||||||
|
<!-- <div class="psdSystem_footer">
|
||||||
|
<div class="prevButton">{{}}</div>
|
||||||
|
<div class="nextButton">{{}}</div>
|
||||||
|
</div> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import iscsSystem from '../canvas/iscsCanvas';
|
||||||
|
import {getIscsData} from '@/api/iscs';
|
||||||
|
export default {
|
||||||
|
name:'Fas',
|
||||||
|
components:{
|
||||||
|
iscsSystem
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
title:'',
|
||||||
|
bacground:'rgba(66,90,116,1)',
|
||||||
|
loading:false,
|
||||||
|
width:window.innerWidth,
|
||||||
|
scaleRate:window.innerWidth / 2200,
|
||||||
|
height: 1000
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed:{
|
||||||
|
stationName() {
|
||||||
|
return this.$route.query.stationName;
|
||||||
|
},
|
||||||
|
stationId() {
|
||||||
|
return this.$route.query.stationId;
|
||||||
|
}
|
||||||
|
// height() {
|
||||||
|
// return 970;
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
watch:{
|
||||||
|
$route() {
|
||||||
|
this.mode = this.$route.params.mode;
|
||||||
|
this.getInitData();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.mode = this.$route.params.mode;
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.getInitData();
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
getInitData() {
|
||||||
|
const params = {
|
||||||
|
// lineCode: this.$route.query.lineCode,
|
||||||
|
mapId: this.$route.query.mapId,
|
||||||
|
system: 'signalSystem',
|
||||||
|
totalSystem :'signalSystem02',
|
||||||
|
userInterface : this.mode
|
||||||
|
};
|
||||||
|
if (this.mode == 'signal') {
|
||||||
|
this.title = this.stationName + ' 信号系统';
|
||||||
|
this.scaleRate = window.innerWidth / 1920;
|
||||||
|
this.height = 900;
|
||||||
|
}
|
||||||
|
this.loading = true;
|
||||||
|
this.$refs.iscsPlate.show({}, this.width, this.height, this.scaleRate);
|
||||||
|
getIscsData(params).then(resp=>{
|
||||||
|
if (resp.data) {
|
||||||
|
this.loading = false;
|
||||||
|
const data = JSON.parse(resp.data.graphData);
|
||||||
|
this.$refs.iscsPlate.show(data, this.width, this.height, this.scaleRate);
|
||||||
|
document.querySelector('.fasIndex').scrollTop = 0;
|
||||||
|
} else {
|
||||||
|
this.loading = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.fasIndex_header{
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 15px;
|
||||||
|
color: #d8e9a5;
|
||||||
|
font-size: 25px;
|
||||||
|
}
|
||||||
|
.fasIndex{
|
||||||
|
display: inline-block;
|
||||||
|
width:100%;
|
||||||
|
height:100%;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
.SubstationIn{
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,113 @@
|
|||||||
|
<template>
|
||||||
|
<div v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.6)" style="width:100%;height:100%;">
|
||||||
|
<div class="fasIndex" :style="{'background':bacground}">
|
||||||
|
<div class="fasIndex_header">{{ title }}</div>
|
||||||
|
<div>
|
||||||
|
<iscsSystem ref="iscsPlate" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import iscsSystem from '../canvas/iscsCanvas';
|
||||||
|
import {getIscsData} from '@/api/iscs';
|
||||||
|
export default {
|
||||||
|
name:'TicketOrEntrance',
|
||||||
|
components:{
|
||||||
|
iscsSystem
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
title:'',
|
||||||
|
bacground:'rgba(66,90,116,1)',
|
||||||
|
loading:false,
|
||||||
|
width:window.innerWidth,
|
||||||
|
scaleRate:window.innerWidth / 2200,
|
||||||
|
height: 1000
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed:{
|
||||||
|
stationName() {
|
||||||
|
return this.$route.query.stationName;
|
||||||
|
},
|
||||||
|
stationId() {
|
||||||
|
return this.$route.query.stationId;
|
||||||
|
}
|
||||||
|
// height() {
|
||||||
|
// return 970;
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
watch:{
|
||||||
|
$route() {
|
||||||
|
this.mode = this.$route.params.mode;
|
||||||
|
this.getInitData();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.mode = this.$route.params.mode;
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.getInitData();
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
getInitData() {
|
||||||
|
const params = {
|
||||||
|
// lineCode: this.$route.query.lineCode,
|
||||||
|
mapId: this.$route.query.mapId,
|
||||||
|
system: 'afc',
|
||||||
|
totalSystem :'afc02',
|
||||||
|
userInterface : this.mode
|
||||||
|
};
|
||||||
|
if (this.mode == 'autoTicket') {
|
||||||
|
this.title = this.stationName + ' 自动售检票系统';
|
||||||
|
this.scaleRate = window.innerWidth / 1920;
|
||||||
|
this.height = 800;
|
||||||
|
} else if (this.mode == 'afcTwo02') {
|
||||||
|
params.userInterface = 'afcTwo02';
|
||||||
|
params.system = 'entranceGuard';
|
||||||
|
this.title = this.stationName + ' 门禁系统 站台层';
|
||||||
|
this.scaleRate = window.innerWidth / 1920;
|
||||||
|
this.height = 800;
|
||||||
|
} else if (this.mode == 'afcOne02') {
|
||||||
|
params.userInterface = 'afcOne02';
|
||||||
|
params.system = 'entranceGuard';
|
||||||
|
this.title = this.stationName + ' 门禁系统 站厅层';
|
||||||
|
this.scaleRate = window.innerWidth / 1920;
|
||||||
|
this.height = 800;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.loading = true;
|
||||||
|
this.$refs.iscsPlate.show({}, this.width, this.height, this.scaleRate);
|
||||||
|
getIscsData(params).then(resp=>{
|
||||||
|
if (resp.data) {
|
||||||
|
this.loading = false;
|
||||||
|
const data = JSON.parse(resp.data.graphData);
|
||||||
|
this.$refs.iscsPlate.show(data, this.width, this.height, this.scaleRate);
|
||||||
|
document.querySelector('.fasIndex').scrollTop = 0;
|
||||||
|
} else {
|
||||||
|
this.loading = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.fasIndex_header{
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 15px;
|
||||||
|
color: #d8e9a5;
|
||||||
|
font-size: 25px;
|
||||||
|
}
|
||||||
|
.fasIndex{
|
||||||
|
display: inline-block;
|
||||||
|
width:100%;
|
||||||
|
height:100%;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
.SubstationIn{
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
</style>
|
@ -249,8 +249,8 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '门禁系统',
|
name: '门禁系统',
|
||||||
mode: 'entranceGuard',
|
mode: 'afcOne02',
|
||||||
id: 'entranceGuard',
|
id: 'afcOne02',
|
||||||
type: 'interface'
|
type: 'interface'
|
||||||
}
|
}
|
||||||
]},
|
]},
|
||||||
@ -443,6 +443,7 @@ export default {
|
|||||||
stationId: this.selectStation,
|
stationId: this.selectStation,
|
||||||
group: this.group,
|
group: this.group,
|
||||||
mapId: this.$route.query.mapId,
|
mapId: this.$route.query.mapId,
|
||||||
|
lineCode:'02',
|
||||||
noPreLogout:this.$route.query.noPreLogout
|
noPreLogout:this.$route.query.noPreLogout
|
||||||
};
|
};
|
||||||
if (isReplace) {
|
if (isReplace) {
|
||||||
|
3042
src/views/iscsSystem/fan联动.json
Normal file
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div :id="iscsId" v-loading="loading" :style="{ width: canvasWidth +'px', height: canvasHeight +'px',background:'#45607B' }" class="iscs-canvas" />
|
<div :id="iscsId" v-loading="loading" :style="{ width: canvasWidth +'px', height: canvasHeight +'px',background:'#425a74' }" class="iscs-canvas" />
|
||||||
<el-button v-if="showBackButton" class="iscs-button" type="primary" @click="back">{{ $t('global.back') }}</el-button>
|
<el-button v-if="showBackButton" class="iscs-button" type="primary" @click="back">{{ $t('global.back') }}</el-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -126,8 +126,9 @@ export default {
|
|||||||
// this.setIscs(parserData, data);
|
// this.setIscs(parserData, data);
|
||||||
// this.$store.dispatch('iscs/setIscsData', data);
|
// this.$store.dispatch('iscs/setIscsData', data);
|
||||||
getIscsData(params).then(resp => {
|
getIscsData(params).then(resp => {
|
||||||
|
// resp.data = {graphData: require('./data.json')}
|
||||||
if (resp.data) {
|
if (resp.data) {
|
||||||
const data = JSON.parse(resp.data.graphData);
|
const data = resp.data.graphData instanceof Object ? resp.data.graphData : JSON.parse(resp.data.graphData);
|
||||||
const parserData = parser(data, {width: this.canvasWidth, height: this.canvasHeight});
|
const parserData = parser(data, {width: this.canvasWidth, height: this.canvasHeight});
|
||||||
this.setIscs(parserData, data);
|
this.setIscs(parserData, data);
|
||||||
this.$store.dispatch('iscs/setIscsData', data);
|
this.$store.dispatch('iscs/setIscsData', data);
|
||||||
@ -179,7 +180,8 @@ export default {
|
|||||||
} else if (this.selected._type != 'CheckBox') {
|
} else if (this.selected._type != 'CheckBox') {
|
||||||
this.copyModel = this.copyModelInfo(this.selected, 10);
|
this.copyModel = this.copyModelInfo(this.selected, 10);
|
||||||
const type1 = this.selected._type.charAt(0).toLowerCase() + this.selected._type.slice(1);
|
const type1 = this.selected._type.charAt(0).toLowerCase() + this.selected._type.slice(1);
|
||||||
this.copyModel.code = getUID(this.selected._type, this.iscs[type1 + 'List'] || []);
|
const list = this.iscs[type1 + 'List'] || [];
|
||||||
|
this.copyModel.code = getUID(this.selected._type, list);
|
||||||
} else {
|
} else {
|
||||||
this.copyModel = {};
|
this.copyModel = {};
|
||||||
}
|
}
|
||||||
|
2184
src/views/iscsSystem/自动售票.json
Normal file
@ -65,14 +65,14 @@ export default {
|
|||||||
config: {
|
config: {
|
||||||
data: []
|
data: []
|
||||||
}
|
}
|
||||||
},
|
|
||||||
generateType: {
|
|
||||||
type: 'select',
|
|
||||||
label: this.$t('lesson.automaticOrManual'),
|
|
||||||
config: {
|
|
||||||
data: [{ value: '02', label: this.$t('lesson.automatic') }, { value: '01', label: this.$t('lesson.manual') }]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
// generateType: {
|
||||||
|
// type: 'select',
|
||||||
|
// label: this.$t('lesson.automaticOrManual'),
|
||||||
|
// config: {
|
||||||
|
// data: [{ value: '02', label: this.$t('lesson.automatic') }, { value: '01', label: this.$t('lesson.manual') }]
|
||||||
|
// }
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
queryList: {
|
queryList: {
|
||||||
|
@ -12,16 +12,6 @@
|
|||||||
<el-form-item :label="$t('lesson.publishCourseName')" prop="name">
|
<el-form-item :label="$t('lesson.publishCourseName')" prop="name">
|
||||||
<el-input v-model="editModel.name" :disabled="!hasRelease" />
|
<el-input v-model="editModel.name" :disabled="!hasRelease" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-if="showClassSelect" label="课程所属班级:" prop="classIdList">
|
|
||||||
<el-select v-model="editModel.classIdList" multiple placeholder="请选择">
|
|
||||||
<el-option
|
|
||||||
v-for="item in calssList"
|
|
||||||
:key="item.departmentId"
|
|
||||||
:label="item.departmentName"
|
|
||||||
:value="item.departmentId"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
@ -33,7 +23,6 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { adminPublishLesson, releaseOrCancel } from '@/api/designPlatform';
|
import { adminPublishLesson, releaseOrCancel } from '@/api/designPlatform';
|
||||||
import { getCompanyDeptInfo } from '@/api/company';
|
|
||||||
export default {
|
export default {
|
||||||
name: 'LessonPublish',
|
name: 'LessonPublish',
|
||||||
data() {
|
data() {
|
||||||
@ -47,8 +36,7 @@ export default {
|
|||||||
name: '',
|
name: '',
|
||||||
mapId: '',
|
mapId: '',
|
||||||
prdType: '',
|
prdType: '',
|
||||||
cityCode: '',
|
cityCode: ''
|
||||||
classIdList: []
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -66,18 +54,12 @@ export default {
|
|||||||
],
|
],
|
||||||
name: [
|
name: [
|
||||||
{ required: true, message: this.$t('rules.pleaseEnterMapName'), trigger: 'change' }
|
{ required: true, message: this.$t('rules.pleaseEnterMapName'), trigger: 'change' }
|
||||||
],
|
|
||||||
classIdList: [
|
|
||||||
{ required: true, message: '请选择课程归属班级', trigger: 'change' }
|
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
hasRelease() {
|
hasRelease() {
|
||||||
return this.$store.state.user.roles.includes('04') ||
|
return this.$store.state.user.roles.includes('04') ||
|
||||||
this.$store.state.user.roles.includes('05') || this.$store.state.user.roles.includes('03');
|
this.$store.state.user.roles.includes('05') || this.$store.state.user.roles.includes('03');
|
||||||
},
|
|
||||||
showClassSelect() {
|
|
||||||
return this.$store.state.user.companyId && this.$store.state.user.companyAdmin;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@ -87,17 +69,9 @@ export default {
|
|||||||
name: model.name,
|
name: model.name,
|
||||||
mapId: this.$route.query.mapId || this.$route.params.mapId,
|
mapId: this.$route.query.mapId || this.$route.params.mapId,
|
||||||
prdType: model.prdType,
|
prdType: model.prdType,
|
||||||
cityCode: model.cityCode,
|
cityCode: model.cityCode
|
||||||
classIdList: []
|
|
||||||
};
|
};
|
||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
if (this.showClassSelect) {
|
|
||||||
getCompanyDeptInfo(this.$store.state.user.companyId).then(resp => {
|
|
||||||
this.calssList = resp.data;
|
|
||||||
}).catch(() =>{
|
|
||||||
this.$message.error('获取班级数据失败!');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
doClose() {
|
doClose() {
|
||||||
this.$refs.form.resetFields();
|
this.$refs.form.resetFields();
|
||||||
@ -129,7 +103,6 @@ export default {
|
|||||||
this.loading = false;
|
this.loading = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -29,7 +29,7 @@ export default {
|
|||||||
'$route': function() {
|
'$route': function() {
|
||||||
},
|
},
|
||||||
'$store.state.map.mapViewLoadedCount': function (val) {
|
'$store.state.map.mapViewLoadedCount': function (val) {
|
||||||
window.parent.postMessage(Object.assign({}, {type: 'DEMO_MAP_LOADED'}), 'http://localhost:9527/cbtc/demo');
|
window.parent.postMessage(Object.assign({}, {type: 'DEMO_MAP_LOADED'}), 'https://test.joylink.club/cbtc/demo');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
@ -58,7 +58,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
exitSimulation(result = {}) {
|
exitSimulation(result = {}) {
|
||||||
window.parent.postMessage(Object.assign(result, {type: 'DEMO_RESULT'}), 'http://localhost:9527/cbtc/demo');
|
window.parent.postMessage(Object.assign(result, {type: 'DEMO_RESULT'}), 'https://test.joylink.club/cbtc/demo');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -155,13 +155,16 @@ export default {
|
|||||||
EventBus.$on('quitScene', () => {
|
EventBus.$on('quitScene', () => {
|
||||||
this.practiceDisabled = false;
|
this.practiceDisabled = false;
|
||||||
});
|
});
|
||||||
getPostByProjectCode(ProjectCode[this.project]).then(resp => {
|
if (this.project) {
|
||||||
if (resp.data) {
|
getPostByProjectCode(ProjectCode[this.project]).then(resp => {
|
||||||
this.messageBoard = true;
|
if (resp.data) {
|
||||||
}
|
this.messageBoard = true;
|
||||||
}).catch(() => {
|
}
|
||||||
this.$message.error('获取留言板信息失败');
|
}).catch(() => {
|
||||||
});
|
// this.$message.error('获取留言板信息失败');
|
||||||
|
console.log('获取留言板信息失败');
|
||||||
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
menuClick() {
|
menuClick() {
|
||||||
|
@ -7,18 +7,16 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="display-draft" :style="{bottom: offsetBottom + 'px'}">
|
<div class="display-draft" :style="{bottom: offsetBottom + 'px'}">
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button type="primary" class="back" @click="back">{{ $t('display.backBtn') }}</el-button>
|
|
||||||
<el-button type="danger" :disabled="!isDisable || dataError" @click="end">{{ $t('display.endBtn') }}</el-button>
|
|
||||||
<el-button type="success" :disabled="isDisable || dataError" :loading="startLoading" @click="start">{{ $t('display.startBtn') }}</el-button>
|
<el-button type="success" :disabled="isDisable || dataError" :loading="startLoading" @click="start">{{ $t('display.startBtn') }}</el-button>
|
||||||
|
<el-button type="danger" :disabled="!isDisable || dataError" @click="end">{{ $t('display.endBtn') }}</el-button>
|
||||||
|
<el-button type="primary" class="back" @click="back">{{ $t('display.backBtn') }}</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
<tip-exam-list :offset-bottom="offsetBottom" />
|
<tip-exam-list :offset-bottom="offsetBottom" />
|
||||||
<!-- @refresh="refresh" -->
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// import { getTrainingDetailNew } from '@/api/jmap/training';
|
|
||||||
import TipExamList from './tipExamList';
|
import TipExamList from './tipExamList';
|
||||||
import { Notification } from 'element-ui';
|
import { Notification } from 'element-ui';
|
||||||
import { startTrainingNew } from '@/api/jmap/training';
|
import { startTrainingNew } from '@/api/jmap/training';
|
||||||
|