Merge remote-tracking branch 'origin/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'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -302,3 +294,18 @@ 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'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
@ -103,17 +103,17 @@ 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() {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/lesson/unPaged/self',
|
url: '/api/lesson/list/byLoginProject',
|
||||||
method: 'get'
|
method: 'get'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -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'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
@ -93,16 +93,24 @@ 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',
|
||||||
|
@ -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-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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -336,7 +336,7 @@ 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] = {
|
||||||
|
@ -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,37 @@ 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'
|
||||||
|
|
||||||
const pictureObj = {
|
const pictureObj = {
|
||||||
'psdLeft': psdLeft,
|
'psdLeft': psdLeft,
|
||||||
@ -93,7 +124,38 @@ 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
|
||||||
};
|
};
|
||||||
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);
|
||||||
|
@ -20,7 +20,8 @@ const user = {
|
|||||||
companyId: '',
|
companyId: '',
|
||||||
companyAdmin: false,
|
companyAdmin: false,
|
||||||
companyName: '',
|
companyName: '',
|
||||||
companyProject: ''
|
companyProject: '',
|
||||||
|
baseUrl:''
|
||||||
},
|
},
|
||||||
|
|
||||||
mutations: {
|
mutations: {
|
||||||
@ -77,6 +78,9 @@ const user = {
|
|||||||
},
|
},
|
||||||
Disconnect: ()=>{
|
Disconnect: ()=>{
|
||||||
disconnect();
|
disconnect();
|
||||||
|
},
|
||||||
|
setBaseUrl: (state, baseUrl) => {
|
||||||
|
state.baseUrl = baseUrl;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -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.129:9000'; // 旭强
|
// BASE_API = 'http://192.168.8.129: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
|
||||||
});
|
});
|
||||||
|
@ -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: '电力监控系统',
|
||||||
@ -321,11 +321,29 @@ 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 +946,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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -169,7 +171,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 +194,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 +215,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,38 @@ 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' },
|
||||||
],
|
],
|
||||||
|
|
||||||
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,
|
||||||
|
@ -73,6 +73,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,6 +95,7 @@ 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';
|
||||||
|
|
||||||
@ -99,6 +108,7 @@ export default {
|
|||||||
IscsButton,
|
IscsButton,
|
||||||
OrdinaryDoor,
|
OrdinaryDoor,
|
||||||
FuzhouDoor,
|
FuzhouDoor,
|
||||||
|
IscsPicture,
|
||||||
CommunicationButcher,
|
CommunicationButcher,
|
||||||
AfcDoorUnite
|
AfcDoorUnite
|
||||||
},
|
},
|
||||||
|
@ -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,
|
||||||
|
125
src/views/iscs/iscsSystem/stationConfig/fas/index.vue
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
<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 = 970;
|
||||||
|
} 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;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</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'" />
|
||||||
<!-- -->
|
<!-- -->
|
||||||
</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: {
|
||||||
|
102
src/views/iscs/iscsSystem/stationConfig/signalSystem/index.vue
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
<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;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</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,98 @@
|
|||||||
|
<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(0,0,0,0)',
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</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>
|
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
@ -144,10 +144,12 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
getPostByProjectCode(this.projectCode).then(resp => {
|
if (this.project) {
|
||||||
this.postId = resp.data.id;
|
getPostByProjectCode(this.projectCode).then(resp => {
|
||||||
});
|
this.postId = resp.data.id;
|
||||||
this.handleCurrentChange();
|
});
|
||||||
|
this.handleCurrentChange();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
commitComment() {
|
commitComment() {
|
||||||
|
@ -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() {
|
||||||
|
@ -139,13 +139,16 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
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: {
|
||||||
tipInfo(opt) {
|
tipInfo(opt) {
|
||||||
|
@ -125,28 +125,32 @@ export default {
|
|||||||
handleClick: this.sectionDetail
|
handleClick: this.sectionDetail
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'button',
|
||||||
|
title: this.$t('map.operation'),
|
||||||
|
width: '300',
|
||||||
|
buttons: [
|
||||||
|
{
|
||||||
|
name: this.$t('map.preview'),
|
||||||
|
handleClick: this.routingPreview
|
||||||
|
}
|
||||||
|
// {
|
||||||
|
// name: this.$t('map.compile'),
|
||||||
|
// handleClick: this.editObj
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// name: this.$t('map.deleteObj'),
|
||||||
|
// handleClick: this.deleteObj,
|
||||||
|
// type: 'danger'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// name: '生成站间运行数据',
|
||||||
|
// handleClick: this.generateData,
|
||||||
|
// type: 'danger'
|
||||||
|
// }
|
||||||
|
]
|
||||||
}
|
}
|
||||||
// {
|
|
||||||
// type: 'button',
|
|
||||||
// title: this.$t('map.operation'),
|
|
||||||
// width: '300',
|
|
||||||
// buttons: [
|
|
||||||
// {
|
|
||||||
// name: this.$t('map.compile'),
|
|
||||||
// handleClick: this.editObj
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// name: this.$t('map.deleteObj'),
|
|
||||||
// handleClick: this.deleteObj,
|
|
||||||
// type: 'danger'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// name: '生成站间运行数据',
|
|
||||||
// handleClick: this.generateData,
|
|
||||||
// type: 'danger'
|
|
||||||
// }
|
|
||||||
// ]
|
|
||||||
// }
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -271,6 +275,10 @@ export default {
|
|||||||
// });
|
// });
|
||||||
// }
|
// }
|
||||||
// },
|
// },
|
||||||
|
routingPreview(index, row) {
|
||||||
|
this.$emit('routingSelected', row);
|
||||||
|
this.doClose();
|
||||||
|
},
|
||||||
sectionDetail(index, row) {
|
sectionDetail(index, row) {
|
||||||
const sectionDict = {};
|
const sectionDict = {};
|
||||||
const stationDict = {};
|
const stationDict = {};
|
||||||
|
@ -35,7 +35,8 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
enabledTab: 'Route'
|
enabledTab: 'Route',
|
||||||
|
oldsection:[]
|
||||||
// routeData: null
|
// routeData: null
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -59,9 +60,10 @@ export default {
|
|||||||
},
|
},
|
||||||
routingSelected: function (data) {
|
routingSelected: function (data) {
|
||||||
// this.routeData = data;
|
// this.routeData = data;
|
||||||
if (this.$refs && this.$refs.routeEdit) {
|
// if (this.$refs && this.$refs.routeEdit) {
|
||||||
this.$refs.routeEdit.editData(data);
|
// this.$refs.routeEdit.editData(data);
|
||||||
}
|
// }
|
||||||
|
this.changeSectionSelected(data.parkSectionCodeList, true);
|
||||||
},
|
},
|
||||||
previewRouteEvent: function () {
|
previewRouteEvent: function () {
|
||||||
if (this.$refs && this.$refs.routeDetail) {
|
if (this.$refs && this.$refs.routeDetail) {
|
||||||
@ -84,6 +86,50 @@ export default {
|
|||||||
},
|
},
|
||||||
batchSectionListFocus(flag) {
|
batchSectionListFocus(flag) {
|
||||||
// this.$refs.routeEdit.batchSectionListFocus(flag);
|
// this.$refs.routeEdit.batchSectionListFocus(flag);
|
||||||
|
this.changeSectionSelected(this.oldsection, flag);
|
||||||
|
},
|
||||||
|
changeSectionSelected(selectedList, flag) {
|
||||||
|
if (selectedList && selectedList.length > 0) {
|
||||||
|
if (flag) {
|
||||||
|
if (this.oldsection.length > 0) {
|
||||||
|
this.oldsection.forEach((sectionInfo)=>{
|
||||||
|
const section = this.$store.getters['map/getDeviceByCode'](sectionInfo.sectionCode);
|
||||||
|
section.instance.drawBatchSelected(section, '');
|
||||||
|
});
|
||||||
|
this.oldsection = [];
|
||||||
|
}
|
||||||
|
selectedList.forEach(each=>{
|
||||||
|
const section = this.$store.getters['map/getDeviceByCode'](each.sectionCode);
|
||||||
|
const list = section.logicSectionCodeList;
|
||||||
|
// if()
|
||||||
|
// relSwitchCode
|
||||||
|
if (list && list.length > 0) {
|
||||||
|
list.forEach(logicSectionCode=>{
|
||||||
|
const logicSection = this.$store.getters['map/getDeviceByCode'](logicSectionCode);
|
||||||
|
this.oldsection.push(logicSection);
|
||||||
|
logicSection.instance.drawBatchSelected(section, 'routingSection');
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.oldsection.push({sectionCode:section.code});
|
||||||
|
section.instance.drawBatchSelected(section, 'routingSection');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.$jlmap.setCenter(selectedList[0].sectionCode);
|
||||||
|
} else {
|
||||||
|
selectedList.forEach(each=>{
|
||||||
|
const section = this.$store.getters['map/getDeviceByCode'](each.sectionCode);
|
||||||
|
const list = section.logicSectionCodeList;
|
||||||
|
if (list && list.length > 0) {
|
||||||
|
list.forEach(logicSectionCode=>{
|
||||||
|
const logicSection = this.$store.getters['map/getDeviceByCode'](logicSectionCode);
|
||||||
|
logicSection.instance.drawBatchSelected(section, '');
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
section.instance.drawBatchSelected(section, '');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -215,7 +215,6 @@ export default {
|
|||||||
{ prop: 'zcCode', label: this.$t('map.zcCode'), type: 'select', optionLabel: 'code&&name', optionValue: 'code', options: this.zcList, isHidden: !this.isZcCode, disabled:true },
|
{ prop: 'zcCode', label: this.$t('map.zcCode'), type: 'select', optionLabel: 'code&&name', optionValue: 'code', options: this.zcList, isHidden: !this.isZcCode, disabled:true },
|
||||||
{ prop: 'chargeStationCodeList', label: '管理车站列表:', type: 'multiSelect', optionLabel: 'name', optionValue: 'code', options: this.chargeStation, isHidden: !this.isZcCode },
|
{ prop: 'chargeStationCodeList', label: '管理车站列表:', type: 'multiSelect', optionLabel: 'name', optionValue: 'code', options: this.chargeStation, isHidden: !this.isZcCode },
|
||||||
{ prop: 'relStationCodeList', label: '联锁站关联车站:', type: 'multiSelect', optionLabel: 'name', optionValue: 'code', options: this.relStationList, isHidden: !this.idCiStation},
|
{ prop: 'relStationCodeList', label: '联锁站关联车站:', type: 'multiSelect', optionLabel: 'name', optionValue: 'code', options: this.relStationList, isHidden: !this.idCiStation},
|
||||||
{ prop: 'routingStationList', label: '生成交路的车站:', type: 'multiSelectHover', optionLabel: 'name', optionValue: 'code', options: this.stationList, hover: this.hover, buttonType: 'routingStation', buttonShowType: this.routingStationButtonShow },
|
|
||||||
{ prop: 'runPlanName', label: this.$t('map.stationRunPlanName'), type: 'input' },
|
{ prop: 'runPlanName', label: this.$t('map.stationRunPlanName'), type: 'input' },
|
||||||
{ prop: 'jp', label: '车站简称:', type: 'input' }
|
{ prop: 'jp', label: '车站简称:', type: 'input' }
|
||||||
]
|
]
|
||||||
@ -257,9 +256,6 @@ export default {
|
|||||||
},
|
},
|
||||||
isReentry() {
|
isReentry() {
|
||||||
return this.editModel.reentry;
|
return this.editModel.reentry;
|
||||||
},
|
|
||||||
routingStationButtonShow() {
|
|
||||||
return this.field === 'routingStation';
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@ -306,11 +302,6 @@ export default {
|
|||||||
return !data.centralized && data.code != this.editModel.code && !(beCentralizedStation[data.code] && beCentralizedStation[data.code] != this.editModel.code);
|
return !data.centralized && data.code != this.editModel.code && !(beCentralizedStation[data.code] && beCentralizedStation[data.code] != this.editModel.code);
|
||||||
});
|
});
|
||||||
this.controlled = !!beCentralizedStation[selected.code];
|
this.controlled = !!beCentralizedStation[selected.code];
|
||||||
} else if (selected && selected._type === 'Station' && this.field == 'routingStation') {
|
|
||||||
this.activeName = 'first';
|
|
||||||
if (!this.editModel.routingStationList.includes(selected.code) && this.editModel.code != selected.code) {
|
|
||||||
this.editModel.routingStationList.push(selected.code);
|
|
||||||
}
|
|
||||||
} else if (selected && selected._type === 'Section' && this.field == 'standSection') {
|
} else if (selected && selected._type === 'Section' && this.field == 'standSection') {
|
||||||
this.$set(this.rowData, 'sectionCode', selected.code);
|
this.$set(this.rowData, 'sectionCode', selected.code);
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getLessonListsSelfNoPage } from '@/api/jmap/lesson';
|
import { getLessonProjectListNoPage } from '@/api/jmap/lesson';
|
||||||
import { getClassAssociatedLessons, setClassAssociatedLessons } from '@/api/company';
|
import { getClassAssociatedLessons, setClassAssociatedLessons } from '@/api/company';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -58,7 +58,7 @@ export default {
|
|||||||
async doShow(row) {
|
async doShow(row) {
|
||||||
try {
|
try {
|
||||||
this.lessonList = [];
|
this.lessonList = [];
|
||||||
const resp = await getLessonListsSelfNoPage();
|
const resp = await getLessonProjectListNoPage();
|
||||||
this.lessonList = resp.data;
|
this.lessonList = resp.data;
|
||||||
const rest = await getClassAssociatedLessons(row.id);
|
const rest = await getClassAssociatedLessons(row.id);
|
||||||
this.classModel.id = row.id;
|
this.classModel.id = row.id;
|
||||||
|
@ -49,7 +49,7 @@ export default {
|
|||||||
this.title = '编辑班级名称';
|
this.title = '编辑班级名称';
|
||||||
} else {
|
} else {
|
||||||
this.isEdit = false;
|
this.isEdit = false;
|
||||||
this.title = '创建课程';
|
this.title = '新建班级';
|
||||||
}
|
}
|
||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
},
|
},
|
||||||
@ -62,16 +62,28 @@ export default {
|
|||||||
this.$emit('refresh');
|
this.$emit('refresh');
|
||||||
this.doClose();
|
this.doClose();
|
||||||
this.$message.success('修改班级成功!');
|
this.$message.success('修改班级成功!');
|
||||||
}).catch(() => {
|
}).catch((error) => {
|
||||||
this.$message.error('修改班级失败!');
|
if (error.code == 11013) {
|
||||||
|
this.$message.error('修改班级失败:名称重复!');
|
||||||
|
} else if (error.code == 10003) {
|
||||||
|
this.$message.error('修改班级失败:没有权限修改班级!');
|
||||||
|
} else {
|
||||||
|
this.$message.error('修改班级失败!');
|
||||||
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
createClass({name: this.classModel.className}).then(response => {
|
createClass({name: this.classModel.className}).then(response => {
|
||||||
this.$emit('refresh');
|
this.$emit('refresh');
|
||||||
this.doClose();
|
this.doClose();
|
||||||
this.$message.success('创建班级成功!');
|
this.$message.success('创建班级成功!');
|
||||||
}).catch(() => {
|
}).catch((error) => {
|
||||||
this.$message.error('创建班级失败!');
|
if (error.code == 11013) {
|
||||||
|
this.$message.error('创建班级失败:名称重复!');
|
||||||
|
} else if (error.code == 10003) {
|
||||||
|
this.$message.error('创建班级失败:没有权限修改班级!');
|
||||||
|
} else {
|
||||||
|
this.$message.error('创建班级失败!');
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getClassListPageSelf, deleteDeptInfo } from '@/api/company';
|
import { getClassListPage, deleteDeptInfo } from '@/api/company';
|
||||||
import CreateClass from './createClass';
|
import CreateClass from './createClass';
|
||||||
import BindLessons from './bindLessons';
|
import BindLessons from './bindLessons';
|
||||||
export default {
|
export default {
|
||||||
@ -38,11 +38,25 @@ export default {
|
|||||||
name: {
|
name: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
label: '班级名称:'
|
label: '班级名称:'
|
||||||
|
},
|
||||||
|
creatorName: {
|
||||||
|
type: 'text',
|
||||||
|
label: '创建人:'
|
||||||
}
|
}
|
||||||
|
// self: {
|
||||||
|
// type: 'select',
|
||||||
|
// label: '本人创建:',
|
||||||
|
// config: {
|
||||||
|
// data: [
|
||||||
|
// { label: '是', value: true },
|
||||||
|
// { label: '否', value: false }
|
||||||
|
// ]
|
||||||
|
// }
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
classQueryList: {
|
classQueryList: {
|
||||||
query: getClassListPageSelf,
|
query: getClassListPage,
|
||||||
selectCheckShow: false,
|
selectCheckShow: false,
|
||||||
indexShow: true,
|
indexShow: true,
|
||||||
columns: [
|
columns: [
|
||||||
@ -59,6 +73,10 @@ export default {
|
|||||||
title: '创建日期',
|
title: '创建日期',
|
||||||
prop: 'createTime'
|
prop: 'createTime'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: '创建人',
|
||||||
|
prop: 'creatorName'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
title: this.$t('global.operate'),
|
title: this.$t('global.operate'),
|
||||||
@ -67,7 +85,10 @@ export default {
|
|||||||
{
|
{
|
||||||
name: '编辑班级',
|
name: '编辑班级',
|
||||||
handleClick: this.handleUpdateClass,
|
handleClick: this.handleUpdateClass,
|
||||||
type: 'primary'
|
type: 'primary',
|
||||||
|
showControl: (row) => {
|
||||||
|
return row.creatorId == this.userId;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '学生管理',
|
name: '学生管理',
|
||||||
@ -87,7 +108,10 @@ export default {
|
|||||||
{
|
{
|
||||||
name: '删除',
|
name: '删除',
|
||||||
handleClick: this.handleDeleteClass,
|
handleClick: this.handleDeleteClass,
|
||||||
type: 'danger'
|
type: 'danger',
|
||||||
|
showControl: (row) => {
|
||||||
|
return row.creatorId == this.userId;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -99,6 +123,11 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
userId() {
|
||||||
|
return this.$store.state.user.id;
|
||||||
|
}
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleUpdateClass(index, row) {
|
handleUpdateClass(index, row) {
|
||||||
this.$refs.createClass.doShow(row);
|
this.$refs.createClass.doShow(row);
|
||||||
@ -130,7 +159,7 @@ export default {
|
|||||||
this.$router.go(-1);
|
this.$router.go(-1);
|
||||||
},
|
},
|
||||||
handleStudentDetail( index, row ) {
|
handleStudentDetail( index, row ) {
|
||||||
this.$router.push({ path: '/info/studentManage', query: { classId: row.id, className: row.name} });
|
this.$router.push({ path: '/info/studentManage', query: { classId: row.id, className: row.name, creatorId: row.creatorId} });
|
||||||
},
|
},
|
||||||
handleBindLesson(index, row) {
|
handleBindLesson(index, row) {
|
||||||
this.$refs.bindLessons.doShow(row);
|
this.$refs.bindLessons.doShow(row);
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog v-dialogDrag title="新建学生" :visible.sync="dialogShow" width="400px" :before-close="doClose">
|
<el-dialog v-dialogDrag :title="title" :visible.sync="dialogShow" width="400px" :before-close="doClose">
|
||||||
<el-form ref="form" :model="studentModel" :rules="rules" label-width="120px" size="mini">
|
<el-form ref="form111" :model="studentModel" :rules="rules" label-width="120px" size="mini">
|
||||||
<el-form-item label="学生姓名:" prop="name">
|
<el-form-item label="学生姓名:" prop="name">
|
||||||
<el-input v-model="studentModel.name" style="width: 220px;" />
|
<el-input v-model="studentModel.name" style="width: 220px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="学号:" prop="account">
|
<el-form-item label="学号:" prop="account">
|
||||||
<el-input v-model="studentModel.account" style="width: 220px;" />
|
<el-input v-model="studentModel.account" style="width: 220px;" :disabled="title==='修改学生'" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="dialogShow = false">{{ $t('global.cancel') }}</el-button>
|
<el-button @click="doClose">{{ $t('global.cancel') }}</el-button>
|
||||||
<el-button type="primary" :loading="loading" @click="create">{{ $t('global.confirm') }}</el-button>
|
<el-button type="primary" :loading="loading" @click="create">{{ $t('global.confirm') }}</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
@ -47,17 +47,20 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
doShow(row) {
|
doShow(row) {
|
||||||
if (row) {
|
this.$nextTick(() => {
|
||||||
this.studentModel.name = row.name;
|
this.$refs.form111 && this.$refs.form111.resetFields();
|
||||||
this.studentModel.account = row.account;
|
if (row) {
|
||||||
this.title = '修改学生';
|
this.studentModel.name = row.name;
|
||||||
} else {
|
this.studentModel.account = row.account;
|
||||||
this.title = '新建学生';
|
this.title = '修改学生';
|
||||||
this.dialogShow = true;
|
} else {
|
||||||
}
|
this.title = '新建学生';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.dialogShow = true;
|
||||||
},
|
},
|
||||||
create() {
|
create() {
|
||||||
this.$refs.form.validate((valid) => {
|
this.$refs.form111.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
const model = {
|
const model = {
|
||||||
account: this.studentModel.account,
|
account: this.studentModel.account,
|
||||||
@ -67,14 +70,13 @@ export default {
|
|||||||
this.$emit('refresh');
|
this.$emit('refresh');
|
||||||
this.doClose();
|
this.doClose();
|
||||||
this.$message.success('创建学生成功!');
|
this.$message.success('创建学生成功!');
|
||||||
}).catch(() => {
|
}).catch((error) => {
|
||||||
this.$message.error('创建学生失败!');
|
this.$message.error('创建学生失败:' + error.message );
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
doClose() {
|
doClose() {
|
||||||
this.$refs.form.resetFields();
|
|
||||||
this.dialogShow = false;
|
this.dialogShow = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -57,20 +57,26 @@ export default {
|
|||||||
// {
|
// {
|
||||||
// name: '修改信息',
|
// name: '修改信息',
|
||||||
// handleClick: this.updateStudentInfo,
|
// handleClick: this.updateStudentInfo,
|
||||||
// type: 'primary'
|
// type: 'primary',
|
||||||
|
// showControl: (row) => {
|
||||||
|
// return this.$route.query.creatorId == this.$store.state.user.id;
|
||||||
|
// }
|
||||||
// },
|
// },
|
||||||
{
|
{
|
||||||
name: '移出班级',
|
name: '移出班级',
|
||||||
handleClick: this.removeStudent,
|
handleClick: this.removeStudent,
|
||||||
type: 'danger'
|
type: 'danger',
|
||||||
|
showControl: (row) => {
|
||||||
|
return this.$route.query.creatorId == this.$store.state.user.id;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
actions: [
|
actions: [
|
||||||
{ text: '添加学生', handler: this.createStudent },
|
{ text: '添加学生', handler: this.createStudent, show: this.$route.query.creatorId == this.$store.state.user.id },
|
||||||
{ text: '导入模板下载', handler: this.exportTemplate },
|
{ text: '导入模板下载', handler: this.exportTemplate },
|
||||||
{ text: '导入学生', handler: this.importResults, fileType: 'file' },
|
{ text: '导入学生', handler: this.importResults, fileType: 'file', show: this.$route.query.creatorId == this.$store.state.user.id },
|
||||||
{ text: '返回', handler: this.goBack }
|
{ text: '返回', handler: this.goBack }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -99,9 +105,9 @@ export default {
|
|||||||
const obj = document.getElementById('queryFormFilesInput');
|
const obj = document.getElementById('queryFormFilesInput');
|
||||||
if (!obj || !obj.files) return;
|
if (!obj || !obj.files) return;
|
||||||
const f = obj.files[0];
|
const f = obj.files[0];
|
||||||
this.handleImportResults(f);
|
this.handleImportResults(f, obj);
|
||||||
},
|
},
|
||||||
handleImportResults(file) {
|
handleImportResults(file, who) {
|
||||||
if (file) {
|
if (file) {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
const that = this;
|
const that = this;
|
||||||
@ -125,19 +131,26 @@ export default {
|
|||||||
for (const index in wb.Sheets) {
|
for (const index in wb.Sheets) {
|
||||||
const dataList = convertSheetToList(wb.Sheets[index], true);
|
const dataList = convertSheetToList(wb.Sheets[index], true);
|
||||||
if (dataList.length) {
|
if (dataList.length) {
|
||||||
|
const accountMap = {};
|
||||||
for ( let i = 1; i <= dataList[0].length; i++) {
|
for ( let i = 1; i <= dataList[0].length; i++) {
|
||||||
const studentId = dataList[0][i];
|
const studentId = dataList[0][i];
|
||||||
const name = dataList[1][i];
|
const name = dataList[1][i];
|
||||||
const reg = new RegExp('[\\u4E00-\\u9FFF]+', 'g');
|
const reg = new RegExp('[\\u4E00-\\u9FFF]+', 'g');
|
||||||
const studentIdJudge = !!studentId && !reg.test(studentId);
|
const studentIdJudge = !!studentId && !reg.test(studentId);
|
||||||
if (studentIdJudge && name) {
|
if (studentIdJudge && name) {
|
||||||
|
if (accountMap[dataList[0][i]]) {
|
||||||
|
throw new Error(`学号为:《${studentId}》的数据重复,请检查导入的Excel!`);
|
||||||
|
}
|
||||||
|
accountMap[dataList[0][i]] = dataList[1][i];
|
||||||
students.push({account:dataList[0][i], name: dataList[1][i]});
|
students.push({account:dataList[0][i], name: dataList[1][i]});
|
||||||
} else {
|
} else {
|
||||||
if (!studentId && !name) {
|
if (!studentId && !name) {
|
||||||
break;
|
break;
|
||||||
} else if (!name) {
|
} else if (!name) {
|
||||||
|
who.value = '';
|
||||||
throw new Error(`学号为:《${studentId}》的数据学生姓名为空!`);
|
throw new Error(`学号为:《${studentId}》的数据学生姓名为空!`);
|
||||||
} else if (!studentIdJudge) {
|
} else if (!studentIdJudge) {
|
||||||
|
who.value = '';
|
||||||
throw new Error(`学号为:《${studentId}》的数据学号格式不正确!`);
|
throw new Error(`学号为:《${studentId}》的数据学号格式不正确!`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -147,9 +160,11 @@ export default {
|
|||||||
that.loadingStudentInfo = true;
|
that.loadingStudentInfo = true;
|
||||||
importCompanyMember(that.$route.query.classId, students).then(resp => {
|
importCompanyMember(that.$route.query.classId, students).then(resp => {
|
||||||
that.$message.success('学生信息导入成功!');
|
that.$message.success('学生信息导入成功!');
|
||||||
|
who.value = '';
|
||||||
that.loadingStudentInfo = false;
|
that.loadingStudentInfo = false;
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
that.$message.error('学生信息导入失败:' + error.message);
|
that.$message.error('学生信息导入失败:' + error.message);
|
||||||
|
who.value = '';
|
||||||
that.loadingStudentInfo = false;
|
that.loadingStudentInfo = false;
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getLessonListsSelfNoPage } from '@/api/jmap/lesson';
|
import { getLessonProjectListNoPage } from '@/api/jmap/lesson';
|
||||||
import { createLessonFromPublish } from '@/api/jmap/lessondraft';
|
import { createLessonFromPublish } from '@/api/jmap/lessondraft';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -53,7 +53,7 @@ export default {
|
|||||||
doShow() {
|
doShow() {
|
||||||
this.lessonList = [];
|
this.lessonList = [];
|
||||||
this.mapData = {};
|
this.mapData = {};
|
||||||
getLessonListsSelfNoPage().then(response => {
|
getLessonProjectListNoPage().then(response => {
|
||||||
this.lessonList = response.data.map(elem => {
|
this.lessonList = response.data.map(elem => {
|
||||||
this.mapData[elem.id] = elem.mapId;
|
this.mapData[elem.id] = elem.mapId;
|
||||||
return { code: elem.id, name: elem.name };
|
return { code: elem.id, name: elem.name };
|
||||||
|
@ -49,8 +49,9 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { createLesson } from '@/api/jmap/lessondraft';
|
import { createLesson } from '@/api/jmap/lessondraft';
|
||||||
import { getPublishMapListOnline } from '@/api/jmap/map';
|
import { getMapListByProjectCode } from '@/api/jmap/map';
|
||||||
import Cookies from 'js-cookie';
|
import Cookies from 'js-cookie';
|
||||||
|
import { getSessionStorage } from '@/utils/auth';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'EditLesson',
|
name: 'EditLesson',
|
||||||
@ -100,11 +101,14 @@ export default {
|
|||||||
]
|
]
|
||||||
};
|
};
|
||||||
return baseRules;
|
return baseRules;
|
||||||
|
},
|
||||||
|
project() {
|
||||||
|
return getSessionStorage('project');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.mapIdList = [];
|
this.mapIdList = [];
|
||||||
getPublishMapListOnline().then(response => {
|
getMapListByProjectCode(this.project).then(response => {
|
||||||
this.mapIdList = response.data;
|
this.mapIdList = response.data;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -12,6 +12,9 @@
|
|||||||
<el-form-item :label="$t('lesson.publishCourseName')" prop="name">
|
<el-form-item :label="$t('lesson.publishCourseName')" prop="name">
|
||||||
<el-input v-model="editModel.name" />
|
<el-input v-model="editModel.name" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="是否覆盖同名课程:" prop="coverSameNameLesson">
|
||||||
|
<el-checkbox v-model="editModel.coverSameNameLesson" />
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
@ -34,7 +37,8 @@ export default {
|
|||||||
id: '',
|
id: '',
|
||||||
name: '',
|
name: '',
|
||||||
mapId: '',
|
mapId: '',
|
||||||
prdType: ''
|
prdType: '',
|
||||||
|
coverSameNameLesson: false
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getClassGradeList } from '@/api/management/userexam';
|
import { getClassGradeList } from '@/api/management/userexam';
|
||||||
import { getClassListUnPageSelf } from '@/api/company';
|
import { getClassListUnPage } from '@/api/company';
|
||||||
import XLSX from 'xlsx';
|
import XLSX from 'xlsx';
|
||||||
export default {
|
export default {
|
||||||
name: 'GradeList',
|
name: 'GradeList',
|
||||||
@ -86,7 +86,7 @@ export default {
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
const list = this.$route.query.clsIds.split('-');
|
const list = this.$route.query.clsIds.split('-');
|
||||||
getClassListUnPageSelf().then(response => {
|
getClassListUnPage().then(response => {
|
||||||
const classList = [];
|
const classList = [];
|
||||||
response.data && response.data.forEach(item => {
|
response.data && response.data.forEach(item => {
|
||||||
if (list.includes(item.id + '')) {
|
if (list.includes(item.id + '')) {
|
||||||
|
@ -11,9 +11,9 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getLessonListsSelfNoPage } from '@/api/jmap/lesson';
|
import { getLessonProjectListNoPage } from '@/api/jmap/lesson';
|
||||||
import { getClassListUnPageSelf } from '@/api/company';
|
import { getClassListUnPage } from '@/api/company';
|
||||||
import { getExamListSelf, deleteExam } from '@/api/management/exam';
|
import { getExamListProject, deleteExam } from '@/api/management/exam';
|
||||||
import localStore from 'storejs';
|
import localStore from 'storejs';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -41,7 +41,21 @@ export default {
|
|||||||
config: {
|
config: {
|
||||||
data: []
|
data: []
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
creatorName: {
|
||||||
|
type: 'text',
|
||||||
|
label: '创建人:'
|
||||||
}
|
}
|
||||||
|
// self: {
|
||||||
|
// type: 'select',
|
||||||
|
// label: '本人创建:',
|
||||||
|
// config: {
|
||||||
|
// data: [
|
||||||
|
// { label: '是', value: true },
|
||||||
|
// { label: '否', value: false }
|
||||||
|
// ]
|
||||||
|
// }
|
||||||
|
// }
|
||||||
// clsId: {
|
// clsId: {
|
||||||
// type: 'select',
|
// type: 'select',
|
||||||
// label: '班级:',
|
// label: '班级:',
|
||||||
@ -52,7 +66,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
examQueryList: {
|
examQueryList: {
|
||||||
query: getExamListSelf,
|
query: getExamListProject,
|
||||||
selectCheckShow: false,
|
selectCheckShow: false,
|
||||||
indexShow: true,
|
indexShow: true,
|
||||||
columns: [
|
columns: [
|
||||||
@ -65,7 +79,7 @@ export default {
|
|||||||
prop: 'lessonId',
|
prop: 'lessonId',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => {
|
columnValue: (row) => {
|
||||||
return this.$convertField(row.lessonId, this.lessonList, ['id', 'name']);
|
return this.$convertField(row.lessonId, this.lessonList || [], ['id', 'name']);
|
||||||
},
|
},
|
||||||
tagType: (row) => { }
|
tagType: (row) => { }
|
||||||
},
|
},
|
||||||
@ -73,26 +87,34 @@ export default {
|
|||||||
title: '班级',
|
title: '班级',
|
||||||
prop: 'clsIds',
|
prop: 'clsIds',
|
||||||
type: 'tagMore',
|
type: 'tagMore',
|
||||||
columnValue: (row) => { return this.$convertField(row.clsIds, this.classList, ['id', 'name'], true); },
|
columnValue: (row) => { return this.$convertField(row.clsIds || [], this.classList || [], ['id', 'name'], true); },
|
||||||
tagType: (row) => { return 'success'; }
|
tagType: (row) => { return 'success'; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '满分',
|
title: '满分',
|
||||||
prop: 'fullPoint'
|
prop: 'fullPoint',
|
||||||
|
width: '80'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '及格分',
|
title: '及格分',
|
||||||
prop: 'passingPoint'
|
prop: 'passingPoint',
|
||||||
|
width: '80'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '时长',
|
title: '时长',
|
||||||
prop: 'duration',
|
prop: 'duration',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
|
width: '80',
|
||||||
columnValue: (row) => {
|
columnValue: (row) => {
|
||||||
return Math.floor(row.duration / 60);
|
return Math.floor(row.duration / 60);
|
||||||
},
|
},
|
||||||
tagType: (row) => { }
|
tagType: (row) => { }
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: '创建人',
|
||||||
|
prop: 'creatorName',
|
||||||
|
width: '150'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
title: this.$t('global.operate'),
|
title: this.$t('global.operate'),
|
||||||
@ -109,7 +131,10 @@ export default {
|
|||||||
{
|
{
|
||||||
name: '删除',
|
name: '删除',
|
||||||
handleClick: this.handleDeleteExam,
|
handleClick: this.handleDeleteExam,
|
||||||
type: 'danger'
|
type: 'danger',
|
||||||
|
showControl: (row) => {
|
||||||
|
return row.creatorId == this.userId;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -121,18 +146,20 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
computed: {
|
||||||
getLessonListsSelfNoPage().then(response => {
|
userId() {
|
||||||
|
return this.$store.state.user.id;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
getLessonProjectListNoPage().then(response => {
|
||||||
this.lessonList = response.data;
|
this.lessonList = response.data;
|
||||||
this.lessonList.forEach(item => {
|
this.lessonList.forEach(item => {
|
||||||
this.examQueryForm.queryObject.lessonId.config.data.push({ value: item.id, label: item.name });
|
this.examQueryForm.queryObject.lessonId.config.data.push({ value: item.id, label: item.name });
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
getClassListUnPageSelf().then(response => {
|
getClassListUnPage().then(response => {
|
||||||
this.classList = response.data;
|
this.classList = response.data;
|
||||||
// this.classList.forEach(item => {
|
|
||||||
// this.examQueryForm.queryObject.clsId.config.data.push({ value: item.id, label: item.name });
|
|
||||||
// });
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getPublishMapListOnline } from '@/api/jmap/map';
|
import { getPublishMapListOnline } from '@/api/jmap/map';
|
||||||
import { getLessonListSelf, forceDeleteLesson } from '@/api/jmap/lesson';
|
import { getLessonProjectList, forceDeleteLesson } from '@/api/jmap/lesson';
|
||||||
import EditLessonInfo from './editLessonInfo';
|
import EditLessonInfo from './editLessonInfo';
|
||||||
import localStore from 'storejs';
|
import localStore from 'storejs';
|
||||||
export default {
|
export default {
|
||||||
@ -38,11 +38,25 @@ export default {
|
|||||||
name: {
|
name: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
label: '课程名称:'
|
label: '课程名称:'
|
||||||
|
},
|
||||||
|
creatorName: {
|
||||||
|
type: 'text',
|
||||||
|
label: '创建人:'
|
||||||
}
|
}
|
||||||
|
// self: {
|
||||||
|
// type: 'select',
|
||||||
|
// label: '本人创建:',
|
||||||
|
// config: {
|
||||||
|
// data: [
|
||||||
|
// { label: '是', value: true },
|
||||||
|
// { label: '否', value: false }
|
||||||
|
// ]
|
||||||
|
// }
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
lessonQueryList: {
|
lessonQueryList: {
|
||||||
query: getLessonListSelf,
|
query: getLessonProjectList,
|
||||||
selectCheckShow: false,
|
selectCheckShow: false,
|
||||||
indexShow: true,
|
indexShow: true,
|
||||||
columns: [
|
columns: [
|
||||||
@ -65,6 +79,10 @@ export default {
|
|||||||
title: this.$t('lesson.courseDescription'),
|
title: this.$t('lesson.courseDescription'),
|
||||||
prop: 'remarks'
|
prop: 'remarks'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: '创建人',
|
||||||
|
prop: 'creatorName'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
title: this.$t('global.operate'),
|
title: this.$t('global.operate'),
|
||||||
@ -73,7 +91,10 @@ export default {
|
|||||||
{
|
{
|
||||||
name: '修改课程',
|
name: '修改课程',
|
||||||
handleClick: this.handleEditLessonInfo,
|
handleClick: this.handleEditLessonInfo,
|
||||||
type: 'primary'
|
type: 'primary',
|
||||||
|
showControl: (row) => {
|
||||||
|
return row.creatorId == this.userId;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '考试管理',
|
name: '考试管理',
|
||||||
@ -83,7 +104,10 @@ export default {
|
|||||||
{
|
{
|
||||||
name: '删除',
|
name: '删除',
|
||||||
handleClick: this.handleDeleteLesson,
|
handleClick: this.handleDeleteLesson,
|
||||||
type: 'danger'
|
type: 'danger',
|
||||||
|
showControl: (row) => {
|
||||||
|
return row.creatorId == this.userId;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -94,6 +118,11 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
userId() {
|
||||||
|
return this.$store.state.user.id;
|
||||||
|
}
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.mapIdList = [];
|
this.mapIdList = [];
|
||||||
getPublishMapListOnline().then(response => {
|
getPublishMapListOnline().then(response => {
|
||||||
|
98
src/views/organization/ruleManage/applyClass.vue
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog v-dialogDrag title="应用规则" :visible.sync="dialogShow" width="30%" :before-do-close="doClose">
|
||||||
|
<div>
|
||||||
|
<el-form
|
||||||
|
ref="form"
|
||||||
|
label-position="right"
|
||||||
|
:rules="rules"
|
||||||
|
:model="editModel"
|
||||||
|
label-width="140px"
|
||||||
|
@submit.native.prevent
|
||||||
|
>
|
||||||
|
<el-form-item label="班级:" prop="orgIds">
|
||||||
|
<el-tooltip class="item" effect="dark" content="此处班级经过规则中涉及到的课程和考试筛选处理" placement="top-start">
|
||||||
|
<i class="el-icon-info" />
|
||||||
|
</el-tooltip>
|
||||||
|
<el-select v-model="editModel.orgIds" multiple placeholder="请选择">
|
||||||
|
<el-option
|
||||||
|
v-for="item in classList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="parseInt(item.id)"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="dialogShow = false">{{ $t('global.cancel') }}</el-button>
|
||||||
|
<el-button type="primary" :loading="loading" @click="doSave">{{ $t('global.confirm') }}</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { applyRuleToClass, getCanApplyToList } from '@/api/company';
|
||||||
|
export default {
|
||||||
|
name: 'PublishLesson',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
dialogShow: false,
|
||||||
|
loading: false,
|
||||||
|
disabled: true,
|
||||||
|
classList: [],
|
||||||
|
editModel: {
|
||||||
|
id: '',
|
||||||
|
orgIds: []
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
rules() {
|
||||||
|
return {
|
||||||
|
orgIds: [
|
||||||
|
{ required: true, message: '请选择班级', trigger: 'change' }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
doShow(model) {
|
||||||
|
getCanApplyToList(model.id).then(resp => {
|
||||||
|
this.classList = resp.data;
|
||||||
|
if (!this.classList.length) {
|
||||||
|
this.$messageBox('暂无可应用的班级,请未班级排课或者修改规则后操作!');
|
||||||
|
}
|
||||||
|
}).catch(error => {
|
||||||
|
this.$message.error('获取可应用的班级列表失败:' + error.message);
|
||||||
|
});
|
||||||
|
this.editModel = {
|
||||||
|
id: model.id,
|
||||||
|
orgIds: model.orgIds
|
||||||
|
};
|
||||||
|
this.dialogShow = true;
|
||||||
|
},
|
||||||
|
doClose() {
|
||||||
|
this.$refs.form.resetFields();
|
||||||
|
this.dialogShow = false;
|
||||||
|
this.$emit('refresh');
|
||||||
|
},
|
||||||
|
doSave() {
|
||||||
|
this.loading = true;
|
||||||
|
this.$refs['form'].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
applyRuleToClass(this.editModel.id, this.editModel.orgIds).then(response => {
|
||||||
|
this.loading = false;
|
||||||
|
this.$message.success('应用成功!');
|
||||||
|
this.doClose();
|
||||||
|
}).catch((error) => {
|
||||||
|
this.loading = false;
|
||||||
|
this.$message.error('应用失败' + ':' + error.message);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
@ -9,23 +9,13 @@
|
|||||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="班级" prop="orgId">
|
<el-form-item label="名称" prop="name">
|
||||||
<el-tooltip class="item" effect="dark" content="因班级与课程、试卷关联,故修改班级时会将课程试卷相关规则清除,请谨慎修改!" placement="top">
|
<el-input v-model="form.name" placeholder="请输入内容" style="width: 200px;" :disabled="isDetail" />
|
||||||
<i class="el-icon-question" />
|
|
||||||
</el-tooltip>
|
|
||||||
<el-select v-model="form.orgId" placeholder="请选择班级" :disabled="isDetail" @change="classChange">
|
|
||||||
<el-option
|
|
||||||
v-for="item in classList"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.name"
|
|
||||||
:value="item.id"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="学年" prop="schoolYear">
|
<el-form-item label="学年" prop="schoolYear">
|
||||||
<el-select v-model="form.schoolYear" placeholder="请选择学年" :disabled="isDetail" @change="schoolChange">
|
<el-select v-model="form.schoolYear" placeholder="请选择学年" :disabled="isDetail">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in schoolYearList"
|
v-for="item in schoolYearList"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
@ -37,7 +27,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="学期" prop="term">
|
<el-form-item label="学期" prop="term">
|
||||||
<el-select v-model="form.term" placeholder="请选择学年" :disabled="isDetail" @change="termChange">
|
<el-select v-model="form.term" placeholder="请选择学年" :disabled="isDetail">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in termList"
|
v-for="item in termList"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
@ -52,61 +42,88 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<el-card class="box-card">
|
<el-card class="box-card">
|
||||||
<div slot="header" class="clearfix">
|
|
||||||
<span>平时成绩</span>
|
|
||||||
</div>
|
|
||||||
<div style="width: 100%;">
|
<div style="width: 100%;">
|
||||||
<div style="display: flex;flex-wrap:wrap;width: 100%;">
|
<div style="display: flex;flex-wrap:wrap;width: 100%;">
|
||||||
<div style="width: 50%;padding: 20px;">
|
<!--<div style="width: 50%;padding: 20px;">-->
|
||||||
<el-tag>考勤:</el-tag>
|
<!--<el-tag>考勤:</el-tag>-->
|
||||||
<el-table :data="attendanceData" style="margin-top: 10px;" border>
|
<!--<el-table :data="attendanceData" style="margin-top: 10px;" border>-->
|
||||||
<el-table-column prop="startDate" label="开始日期" />
|
<!--<el-table-column prop="startDate" label="开始日期" />-->
|
||||||
<el-table-column prop="endDate" label="截止日期" />
|
<!--<el-table-column prop="endDate" label="截止日期" />-->
|
||||||
<el-table-column prop="days4FullMarks" label="考勤天数" />
|
<!--<el-table-column prop="days4FullMarks" label="考勤天数" />-->
|
||||||
<el-table-column prop="weight" label="权重" />
|
<!--<el-table-column prop="fullMarks" label="满分" />-->
|
||||||
<el-table-column label="操作" width="100">
|
<!--<el-table-column label="操作" width="100">-->
|
||||||
|
<!--<template slot-scope="scope">-->
|
||||||
|
<!--<el-button :disabled="isDetail" type="text" size="small" @click="editUsual(scope.row,scope.$index, 'attendance')">编辑</el-button>-->
|
||||||
|
<!--<el-button :disabled="isDetail" type="text" size="small" @click="deleteUsual(scope.row, scope.$index, 'attendance')">删除</el-button>-->
|
||||||
|
<!--</template>-->
|
||||||
|
<!--</el-table-column>-->
|
||||||
|
<!--</el-table>-->
|
||||||
|
<!--</div>-->
|
||||||
|
<!--<div style="width: 50%;padding: 20px;">-->
|
||||||
|
<!--<el-tag>日常测验:</el-tag>-->
|
||||||
|
<!--<el-table :data="examsData" style="margin-top: 10px;" border>-->
|
||||||
|
<!--<el-table-column prop="examId" label="试卷">-->
|
||||||
|
<!--<template slot-scope="scope">-->
|
||||||
|
<!--<el-tag>{{ getExamName(scope.row.examId) }}</el-tag>-->
|
||||||
|
<!--</template>-->
|
||||||
|
<!--</el-table-column>-->
|
||||||
|
<!--<el-table-column prop="fullMarks" label="满分" />-->
|
||||||
|
<!--<el-table-column label="操作" width="100">-->
|
||||||
|
<!--<template slot-scope="scope">-->
|
||||||
|
<!--<el-button :disabled="isDetail" type="text" size="small" @click="editUsual(scope.row,scope.$index, 'exam')">编辑</el-button>-->
|
||||||
|
<!--<el-button :disabled="isDetail" type="text" size="small" @click="deleteUsual(scope.row, scope.$index, 'exam')">删除</el-button>-->
|
||||||
|
<!--</template>-->
|
||||||
|
<!--</el-table-column>-->
|
||||||
|
<!--</el-table>-->
|
||||||
|
<!--</div>-->
|
||||||
|
<div style="width: 100%;padding: 20px;">
|
||||||
|
<el-tag>规则:</el-tag>
|
||||||
|
<el-table :data="scoringDate" style="margin-top: 10px;" border>
|
||||||
|
<el-table-column prop="type" label="类型">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button :disabled="isDetail" type="text" size="small" @click="editUsual(scope.row,scope.$index, 'attendance')">编辑</el-button>
|
<el-tag>{{ getRuleType(scope.row.type) }}</el-tag>
|
||||||
<el-button :disabled="isDetail" type="text" size="small" @click="deleteUsual(scope.row, scope.$index, 'attendance')">删除</el-button>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
<el-table-column prop="examId" label="测验试卷">
|
||||||
</div>
|
|
||||||
<div style="width: 50%;padding: 20px;">
|
|
||||||
<el-tag>日常测验:</el-tag>
|
|
||||||
<el-table :data="examsData" style="margin-top: 10px;" border>
|
|
||||||
<el-table-column prop="examId" label="试卷">
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag>{{ getExamName(scope.row.examId) }}</el-tag>
|
<el-tag>{{ getExamName(scope.row.examId) }}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="weight" label="权重" />
|
|
||||||
<el-table-column label="操作" width="100">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-button :disabled="isDetail" type="text" size="small" @click="editUsual(scope.row,scope.$index, 'exam')">编辑</el-button>
|
|
||||||
<el-button :disabled="isDetail" type="text" size="small" @click="deleteUsual(scope.row, scope.$index, 'exam')">删除</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
</div>
|
|
||||||
<div style="width: 100%;padding: 20px;">
|
|
||||||
<el-tag>学习时长:</el-tag>
|
|
||||||
<el-table :data="learningTimeData" style="margin-top: 10px;" border>
|
|
||||||
<el-table-column prop="lessonIds" label="学习课程">
|
<el-table-column prop="lessonIds" label="学习课程">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<template v-for="lessonId in scope.row.lessonIds">
|
<template v-if="scope.row.lessonIds && scope.row.lessonIds.length">
|
||||||
<el-tag :key="lessonId">{{ getLessonName(lessonId) }}</el-tag>
|
<template v-for="lessonId in scope.row.lessonIds">
|
||||||
|
<el-tag :key="lessonId">{{ getLessonName(lessonId) }}</el-tag>
|
||||||
|
</template>
|
||||||
</template>
|
</template>
|
||||||
|
<el-tag v-else>-</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="startTime" label="开始时间" />
|
<el-table-column prop="startDate" label="开始时间">
|
||||||
<el-table-column prop="endTime" label="截止时间" />
|
<template slot-scope="scope">
|
||||||
<el-table-column prop="duration4FullMarks" label="学习时长" />
|
<el-tag> {{ scope.row.startDate || '-' }} </el-tag>
|
||||||
<el-table-column prop="weight" label="权重" width="100" />
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="endDate" label="截止时间">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag> {{ scope.row.endDate || '-' }} </el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="duration4FullMarks" label="学习时长(分钟)">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag> {{ scope.row.duration4FullMarks || '-' }} </el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="days4FullMarks" label="考勤天数">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag> {{ scope.row.days4FullMarks || '-' }} </el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="fullMarks" label="满分" width="100" />
|
||||||
<el-table-column label="操作" width="100">
|
<el-table-column label="操作" width="100">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button :disabled="isDetail" type="text" size="small" @click="editUsual(scope.row,scope.$index, 'learningTime')">编辑</el-button>
|
<el-button :disabled="isDetail" type="text" size="small" @click="editUsual(scope.row,scope.$index)">编辑</el-button>
|
||||||
<el-button :disabled="isDetail" type="text" size="small" @click="deleteUsual(scope.row, scope.$index, 'learningTime')">删除</el-button>
|
<el-button :disabled="isDetail" type="text" size="small" @click="deleteUsual(scope.row, scope.$index)">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -114,17 +131,17 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-if="!isDetail" style="padding: 20px;width: 100%;border-top: 2px #ccc solid;">
|
<div v-if="!isDetail" style="padding: 20px;width: 100%;border-top: 2px #ccc solid;">
|
||||||
<div style="display: flex;justify-content: space-between;">
|
<div style="display: flex;justify-content: space-between;">
|
||||||
<el-tag>{{ isUsualEdit? '编辑平时成绩规则:': '生成平时成绩规则:' }}</el-tag>
|
<el-tag>{{ isFinalEdit? '编辑成绩规则:': '生成成绩规则:' }}</el-tag>
|
||||||
<el-button v-if="!isUsualEdit" type="text" @click="generateUsual">生成</el-button>
|
<el-button v-if="!isFinalEdit" type="text" @click="generateUsual">生成</el-button>
|
||||||
<div v-if="isUsualEdit">
|
<div v-if="isFinalEdit">
|
||||||
<el-button type="text" @click="updateUsual">修改</el-button>
|
<el-button type="text" @click="updateUsual">修改</el-button>
|
||||||
<el-button type="text" @click="cancelUsual">取消</el-button>
|
<el-button type="text" @click="cancelUsual">取消</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-form v-if="!isDetail" ref="usualScoringForm" :model="usualScoringForm" :rules="usualScoringRules" label-width="120px" style="margin-top: 10px;">
|
<el-form v-if="!isDetail" ref="finalScoringForm" :model="finalScoringForm" :rules="finalScoringRules" label-width="120px" style="margin-top: 10px;">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-form-item label="考核类型" prop="type">
|
<el-form-item label="考核类型" prop="type">
|
||||||
<el-select v-model="usualScoringForm.type" placeholder="请选择班级">
|
<el-select v-model="finalScoringForm.type" placeholder="请选择班级">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in assessList"
|
v-for="item in assessList"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
@ -136,17 +153,9 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item v-if="usualScoringForm.type === 'learningTime'" label="开始时间" prop="startTime">
|
<el-form-item v-if="finalScoringForm.type === 'ATTENDANCE' || finalScoringForm.type === 'LEARNING_TIME'" label="开始日期" prop="startDate">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="usualScoringForm.startTime"
|
v-model="finalScoringForm.startDate"
|
||||||
type="datetime"
|
|
||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
|
||||||
placeholder="选择日期时间"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item v-if="usualScoringForm.type === 'attendance'" label="开始日期" prop="startDate">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="usualScoringForm.startDate"
|
|
||||||
type="date"
|
type="date"
|
||||||
value-format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd"
|
||||||
placeholder="选择日期"
|
placeholder="选择日期"
|
||||||
@ -154,17 +163,9 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item v-if="usualScoringForm.type === 'learningTime'" label="截止时间" prop="endTime">
|
<el-form-item v-if="finalScoringForm.type === 'ATTENDANCE'||finalScoringForm.type === 'LEARNING_TIME'" label="截止日期" prop="endDate">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="usualScoringForm.endTime"
|
v-model="finalScoringForm.endDate"
|
||||||
type="datetime"
|
|
||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
|
||||||
placeholder="选择日期时间"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item v-if="usualScoringForm.type === 'attendance'" label="截止日期" prop="endDate">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="usualScoringForm.endDate"
|
|
||||||
type="date"
|
type="date"
|
||||||
placeholder="选择日期"
|
placeholder="选择日期"
|
||||||
value-format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd"
|
||||||
@ -174,89 +175,10 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item v-if="usualScoringForm.type === 'attendance'" label="考勤天数(天)" prop="days4FullMarks">
|
<el-form-item v-if="finalScoringForm.type === 'ATTENDANCE'" label="考勤天数(天)" prop="days4FullMarks">
|
||||||
<el-input-number v-model="usualScoringForm.days4FullMarks" :precision="0" :min="1" controls-position="right" />
|
<el-input-number v-model="finalScoringForm.days4FullMarks" :precision="0" :min="1" controls-position="right" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-if="usualScoringForm.type === 'exam'" label="测验试卷" prop="examId">
|
<el-form-item v-if="finalScoringForm.type === 'EXAM_RESULTS'" label="测验试卷" prop="examId">
|
||||||
<el-select v-model="usualScoringForm.examId" placeholder="请选择试卷">
|
|
||||||
<el-option
|
|
||||||
v-for="item in examList"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.name"
|
|
||||||
:value="item.id"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item v-if="usualScoringForm.type === 'attendance' || usualScoringForm.type === 'exam'" label="权重" prop="weight">
|
|
||||||
<el-input-number v-model="usualScoringForm.weight" :precision="0" :step="1" :min="1" :max="100" controls-position="right" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item v-if="usualScoringForm.type === 'learningTime'" label="学习课程" prop="lessonIds">
|
|
||||||
<el-select v-model="usualScoringForm.lessonIds" multiple placeholder="请选择课程">
|
|
||||||
<el-option
|
|
||||||
v-for="item in lessonList"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.name"
|
|
||||||
:value="item.id"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item v-if="usualScoringForm.type === 'learningTime'" label="学习时长(分钟)" prop="duration4FullMarks">
|
|
||||||
<el-input-number v-model="usualScoringForm.duration4FullMarks" :precision="0" :min="1" controls-position="right" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-form-item v-if="usualScoringForm.type === 'learningTime'" label="权重" prop="weight">
|
|
||||||
<el-input-number v-model="usualScoringForm.weight" :precision="0" :step="1" :min="1" :max="100" controls-position="right" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-row>
|
|
||||||
</el-form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</el-card>
|
|
||||||
<el-card class="box-card">
|
|
||||||
<div slot="header" class="clearfix">
|
|
||||||
<span>期末成绩</span>
|
|
||||||
</div>
|
|
||||||
<div style="width: 100%;">
|
|
||||||
<div style="width: 50%;padding: 20px;">
|
|
||||||
<el-tag>期末成绩规则:</el-tag>
|
|
||||||
<el-table :data="finalScoringData" style="margin-top: 10px;" border>
|
|
||||||
<el-table-column prop="examId" label="试卷">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-tag>{{ getExamName(scope.row.examId) }}</el-tag>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop="weight" label="权重" />
|
|
||||||
<el-table-column label="操作" width="100">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-button :disabled="isDetail" type="text" size="small" @click="editFinal(scope.row, scope.$index)">编辑</el-button>
|
|
||||||
<el-button :disabled="isDetail" type="text" size="small" @click="deleteFinal(scope.row, scope.$index)">删除</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
</div>
|
|
||||||
<div v-if="!isDetail" style="padding: 20px;width: 100%;border-top: 2px #ccc solid;">
|
|
||||||
<div style="display: flex;justify-content: space-between;">
|
|
||||||
<el-tag>{{ isFinalEdit? '编辑期末成绩规则:': '生成期末成绩规则:' }}</el-tag>
|
|
||||||
<el-button v-if="!isFinalEdit" type="text" @click="generateFinal">生成</el-button>
|
|
||||||
<div v-if="isFinalEdit">
|
|
||||||
<el-button type="text" @click="updateFinal">修改</el-button>
|
|
||||||
<el-button type="text" @click="cancelFinal">取消</el-button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<el-form v-if="!isDetail" ref="finalScoringForm" :model="finalScoringForm" :rules="finalScoringRules" label-width="120px" style="margin-top: 10px;">
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="测验试卷" prop="examId">
|
|
||||||
<el-select v-model="finalScoringForm.examId" placeholder="请选择试卷">
|
<el-select v-model="finalScoringForm.examId" placeholder="请选择试卷">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in examList"
|
v-for="item in examList"
|
||||||
@ -268,11 +190,35 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="权重" prop="weight">
|
<el-form-item v-if="finalScoringForm.type === 'ATTENDANCE' || finalScoringForm.type === 'EXAM_RESULTS'" label="满分" prop="fullMarks">
|
||||||
<el-input-number v-model="finalScoringForm.weight" :precision="0" :step="1" :min="1" :max="100" controls-position="right" />
|
<el-input-number v-model="finalScoringForm.fullMarks" :precision="0" :step="1" :min="1" :max="100" controls-position="right" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item v-if="finalScoringForm.type === 'LEARNING_TIME'" label="学习课程" prop="lessonIds">
|
||||||
|
<el-select v-model="finalScoringForm.lessonIds" multiple placeholder="请选择课程">
|
||||||
|
<el-option
|
||||||
|
v-for="item in lessonList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item v-if="finalScoringForm.type === 'LEARNING_TIME'" label="学习时长(分钟)" prop="duration4FullMarks">
|
||||||
|
<el-input-number v-model="finalScoringForm.duration4FullMarks" :precision="0" :min="1" controls-position="right" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-form-item v-if="finalScoringForm.type === 'LEARNING_TIME'" label="满分" prop="fullMarks">
|
||||||
|
<el-input-number v-model="finalScoringForm.fullMarks" :precision="0" :step="1" :min="1" :max="100" controls-position="right" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -287,32 +233,29 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getClassListUnPageSelf, createRule, updateRule, getRuleDetailById, getRuleDetailByInfo } from '@/api/company';
|
import { createRule, updateRule, getRuleDetailById } from '@/api/company';
|
||||||
import { getExanListSelfByClassId } from '@/api/management/exam';
|
import { getExamListProjectUnpage } from '@/api/management/exam';
|
||||||
import { getLessonListSelfByClassId } from '@/api/jmap/lesson';
|
import { getLessonProjectListNoPage } from '@/api/jmap/lesson';
|
||||||
export default {
|
export default {
|
||||||
name: 'CreateRule',
|
name: 'CreateRule',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
isUsualEdit: false,
|
|
||||||
usualEditIndex: 0,
|
|
||||||
isFinalEdit: false,
|
isFinalEdit: false,
|
||||||
finalEditIndex: 0,
|
finalEditIndex: 0,
|
||||||
classList: [],
|
|
||||||
tableData: [],
|
tableData: [],
|
||||||
lessonList: [],
|
lessonList: [],
|
||||||
examList: [],
|
examList: [],
|
||||||
schoolYearList: [],
|
schoolYearList: [],
|
||||||
termList: [{label: '上学期', value: 1}, {label: '下学期', value: 2}],
|
termList: [{label: '上学期', value: 1}, {label: '下学期', value: 2}],
|
||||||
assessList: [{ label: '考勤', value: 'attendance' }, { label: '时长', value: 'learningTime'}, { label: '测验', value: 'exam' }],
|
assessList: [{ label: '考勤', value: 'ATTENDANCE' }, { label: '时长', value: 'LEARNING_TIME'}, { label: '测验', value: 'EXAM_RESULTS' }],
|
||||||
form: {
|
form: {
|
||||||
orgId: '',
|
name: '',
|
||||||
schoolYear: '',
|
schoolYear: '',
|
||||||
term: ''
|
term: ''
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
orgId:[
|
name:[
|
||||||
{ required: true, message: '请选择关联班级', trigger: 'change' }
|
{ required: true, message: '请填写规则名称', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
schoolYear: [
|
schoolYear: [
|
||||||
{ required: true, message: '请选择学年', trigger: 'change' }
|
{ required: true, message: '请选择学年', trigger: 'change' }
|
||||||
@ -321,25 +264,17 @@ export default {
|
|||||||
{ required: true, message: '请选择学期', trigger: 'change' }
|
{ required: true, message: '请选择学期', trigger: 'change' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
usualScoringForm: {
|
finalScoringForm: {
|
||||||
type: 'attendance',
|
type: 'ATTENDANCE',
|
||||||
startTime: '',
|
|
||||||
endTime: '',
|
|
||||||
startDate: '',
|
startDate: '',
|
||||||
endDate: '',
|
endDate: '',
|
||||||
days4FullMarks: 1,
|
days4FullMarks: 1,
|
||||||
weight: 1,
|
fullMarks: 1,
|
||||||
lessonIds: [],
|
lessonIds: [],
|
||||||
duration4FullMarks: 1,
|
duration4FullMarks: 1,
|
||||||
examId: ''
|
examId: ''
|
||||||
},
|
},
|
||||||
usualScoringRules: {
|
finalScoringRules: {
|
||||||
startTime:[
|
|
||||||
{ required: true, message: '请选择开始时间', trigger: 'change' }
|
|
||||||
],
|
|
||||||
endTime:[
|
|
||||||
{ required: true, message: '请选择截止时间', trigger: 'change' }
|
|
||||||
],
|
|
||||||
startDate: [
|
startDate: [
|
||||||
{ required: true, message: '请选择开始日期', trigger: 'change' }
|
{ required: true, message: '请选择开始日期', trigger: 'change' }
|
||||||
],
|
],
|
||||||
@ -358,26 +293,11 @@ export default {
|
|||||||
examId: [
|
examId: [
|
||||||
{ required: true, message: '请选择测试试卷', trigger: 'blur' }
|
{ required: true, message: '请选择测试试卷', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
weight: [
|
fullMarks: [
|
||||||
{ required: true, message: '请填写权重', trigger: 'blur' }
|
{ required: true, message: '请填写满分分数', trigger: 'blur' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
finalScoringForm: {
|
scoringDate: []
|
||||||
examId: '',
|
|
||||||
weight: 1
|
|
||||||
},
|
|
||||||
finalScoringRules: {
|
|
||||||
examId: [
|
|
||||||
{ required: true, message: '请选择测试试卷', trigger: 'blur' }
|
|
||||||
],
|
|
||||||
weight: [
|
|
||||||
{ required: true, message: '请填写权重', trigger: 'blur' }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
attendanceData:[],
|
|
||||||
learningTimeData: [],
|
|
||||||
examsData: [],
|
|
||||||
finalScoringData: []
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -397,9 +317,6 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
getClassListUnPageSelf().then(resp => {
|
|
||||||
this.classList = resp.data;
|
|
||||||
});
|
|
||||||
if (this.$route.query.ruleId) {
|
if (this.$route.query.ruleId) {
|
||||||
getRuleDetailById(this.$route.query.ruleId).then(resp => {
|
getRuleDetailById(this.$route.query.ruleId).then(resp => {
|
||||||
this.initData(resp.data);
|
this.initData(resp.data);
|
||||||
@ -412,252 +329,224 @@ export default {
|
|||||||
for (let i = 2015; i < nowYear + 1; i++) {
|
for (let i = 2015; i < nowYear + 1; i++) {
|
||||||
this.schoolYearList.unshift({ label: `${i}-${i + 1}学年`, value: `${i}-${i + 1}`});
|
this.schoolYearList.unshift({ label: `${i}-${i + 1}学年`, value: `${i}-${i + 1}`});
|
||||||
}
|
}
|
||||||
|
getLessonProjectListNoPage().then(resp => {
|
||||||
|
this.lessonList = resp.data;
|
||||||
|
}).catch(() => {
|
||||||
|
this.$message.error('获取课程列表失败!');
|
||||||
|
});
|
||||||
|
getExamListProjectUnpage().then(resp=> {
|
||||||
|
this.examList = resp.data;
|
||||||
|
}).catch(() => {
|
||||||
|
this.$message.error('获取试卷列表失败!');
|
||||||
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initData(data) {
|
initData(data) {
|
||||||
this.form = { orgId: data.orgId + '', schoolYear: data.schoolYear, term: data.term };
|
this.form = { name: data.name, schoolYear: data.schoolYear, term: data.term };
|
||||||
this.classChange(data.orgId);
|
this.scoringDate = data.scoringRules || [];
|
||||||
if (data.usualScoringRule) {
|
|
||||||
this.examsData = data.usualScoringRule.exams || [];
|
|
||||||
this.learningTimeData = data.usualScoringRule.learningTimeList || [];
|
|
||||||
if (data.usualScoringRule.attendance) {
|
|
||||||
this.attendanceData = [data.usualScoringRule.attendance];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (data.finalScoringRule) {
|
|
||||||
this.finalScoringData = data.finalScoringRule.exams || [];
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
generateUsual() {
|
generateUsual() {
|
||||||
this.$refs.usualScoringForm.validate((valid) => {
|
this.$refs.finalScoringForm.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
const that = this;
|
if (this.finalScoringForm.type === 'ATTENDANCE') {
|
||||||
if (this.usualScoringForm.type === 'attendance' && this.attendanceData.length) {
|
let attendanceFlag = false; let attendanceIndex = 0;
|
||||||
this.$confirm('检测到已由考勤规则,考勤规则唯一,继续操作将替换规则,是否继续?', this.$t('global.tips'), {
|
this.scoringDate.forEach((item, index) => {
|
||||||
confirmButtonText: this.$t('global.confirm'),
|
if (item.type === 'ATTENDANCE') {
|
||||||
cancelButtonText: this.$t('global.cancel'),
|
attendanceFlag = true;
|
||||||
type: 'warning'
|
attendanceIndex = index;
|
||||||
}).then(() => {
|
}
|
||||||
that.attendanceData = [{ startDate: that.usualScoringForm.startDate, endDate: that.usualScoringForm.endDate,
|
|
||||||
days4FullMarks: that.usualScoringForm.days4FullMarks, weight: that.usualScoringForm.weight }];
|
|
||||||
this.$refs.usualScoringForm.resetFields();
|
|
||||||
}).catch(() => { });
|
|
||||||
} else if (this.usualScoringForm.type === 'attendance') {
|
|
||||||
this.attendanceData = [{ startDate: this.usualScoringForm.startDate, endDate: this.usualScoringForm.endDate,
|
|
||||||
days4FullMarks: this.usualScoringForm.days4FullMarks, weight: this.usualScoringForm.weight }];
|
|
||||||
this.$refs.usualScoringForm.resetFields();
|
|
||||||
|
|
||||||
} else if (this.usualScoringForm.type === 'learningTime') {
|
|
||||||
this.learningTimeData.push({
|
|
||||||
startTime: this.usualScoringForm.startTime,
|
|
||||||
endTime: this.usualScoringForm.endTime,
|
|
||||||
lessonIds: this.usualScoringForm.lessonIds,
|
|
||||||
duration4FullMarks: this.usualScoringForm.duration4FullMarks,
|
|
||||||
weight: this.usualScoringForm.weight
|
|
||||||
});
|
});
|
||||||
this.$refs.usualScoringForm.resetFields();
|
if (attendanceFlag) {
|
||||||
|
const that = this;
|
||||||
} else if (this.usualScoringForm.type === 'exam') {
|
this.$confirm('检测到已由考勤规则,考勤规则唯一,继续操作将替换规则,是否继续?', this.$t('global.tips'), {
|
||||||
this.examsData.push({
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
examId: this.usualScoringForm.examId,
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
weight: this.usualScoringForm.weight
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
const model = {
|
||||||
|
type: that.finalScoringForm.type,
|
||||||
|
startDate: that.finalScoringForm.startDate,
|
||||||
|
endDate: that.finalScoringForm.endDate,
|
||||||
|
days4FullMarks: that.finalScoringForm.days4FullMarks,
|
||||||
|
fullMarks: that.finalScoringForm.fullMarks
|
||||||
|
};
|
||||||
|
this.$set(this.scoringDate, attendanceIndex, model);
|
||||||
|
this.$refs.finalScoringForm.resetFields();
|
||||||
|
}).catch(() => { });
|
||||||
|
} else {
|
||||||
|
this.scoringDate.push({ type: this.finalScoringForm.type, startDate: this.finalScoringForm.startDate, endDate: this.finalScoringForm.endDate,
|
||||||
|
days4FullMarks: this.finalScoringForm.days4FullMarks, fullMarks: this.finalScoringForm.fullMarks });
|
||||||
|
this.$refs.finalScoringForm.resetFields();
|
||||||
|
}
|
||||||
|
} else if (this.finalScoringForm.type === 'LEARNING_TIME') {
|
||||||
|
this.scoringDate.push({
|
||||||
|
type: this.finalScoringForm.type,
|
||||||
|
startDate: this.finalScoringForm.startDate,
|
||||||
|
endDate: this.finalScoringForm.endDate,
|
||||||
|
lessonIds: this.finalScoringForm.lessonIds,
|
||||||
|
duration4FullMarks: this.finalScoringForm.duration4FullMarks,
|
||||||
|
fullMarks: this.finalScoringForm.fullMarks
|
||||||
});
|
});
|
||||||
this.$refs.usualScoringForm.resetFields();
|
this.$refs.finalScoringForm.resetFields();
|
||||||
|
} else if (this.finalScoringForm.type === 'EXAM_RESULTS') {
|
||||||
|
this.scoringDate.push({
|
||||||
|
type: this.finalScoringForm.type,
|
||||||
|
examId: this.finalScoringForm.examId,
|
||||||
|
fullMarks: this.finalScoringForm.fullMarks
|
||||||
|
});
|
||||||
|
this.$refs.finalScoringForm.resetFields();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
cancelUsual() {
|
cancelUsual() {
|
||||||
this.$refs.usualScoringForm.resetFields();
|
|
||||||
this.isUsualEdit = false;
|
|
||||||
},
|
|
||||||
updateUsual() {
|
|
||||||
this.$refs.usualScoringForm.validate((valid) => {
|
|
||||||
if (valid) {
|
|
||||||
if (this.usualScoringForm.type === 'attendance') {
|
|
||||||
this.attendanceData = [{ startDate: this.usualScoringForm.startDate, endDate: this.usualScoringForm.endDate,
|
|
||||||
days4FullMarks: this.usualScoringForm.days4FullMarks, weight: this.usualScoringForm.weight }];
|
|
||||||
} else if (this.usualScoringForm.type === 'learningTime') {
|
|
||||||
const model = {
|
|
||||||
startTime: this.usualScoringForm.startTime,
|
|
||||||
endTime: this.usualScoringForm.endTime,
|
|
||||||
lessonIds: this.usualScoringForm.lessonIds,
|
|
||||||
duration4FullMarks: this.usualScoringForm.duration4FullMarks,
|
|
||||||
weight: this.usualScoringForm.weight
|
|
||||||
};
|
|
||||||
this.$set(this.learningTimeData, this.usualEditIndex, model);
|
|
||||||
} else if (this.usualScoringForm.type === 'exam') {
|
|
||||||
const model = {
|
|
||||||
examId: this.usualScoringForm.examId,
|
|
||||||
weight: this.usualScoringForm.weight
|
|
||||||
};
|
|
||||||
this.$set(this.examsData, this.usualEditIndex, model);
|
|
||||||
}
|
|
||||||
this.isUsualEdit = false;
|
|
||||||
this.$refs.usualScoringForm.resetFields();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
cancelFinal() {
|
|
||||||
this.$refs.finalScoringForm.resetFields();
|
this.$refs.finalScoringForm.resetFields();
|
||||||
this.isFinalEdit = false;
|
this.isFinalEdit = false;
|
||||||
},
|
},
|
||||||
updateFinal() {
|
updateUsual() {
|
||||||
this.$refs.finalScoringForm.validate((valid) => {
|
this.$refs.finalScoringForm.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$set(this.finalScoringData, this.finalEditIndex, { examId: this.finalScoringForm.examId, weight: this.finalScoringForm.weight });
|
if (this.finalScoringForm.type === 'ATTENDANCE') {
|
||||||
this.$refs.finalScoringForm.resetFields();
|
const model = {
|
||||||
|
type: this.finalScoringForm.type,
|
||||||
|
startDate: this.finalScoringForm.startDate,
|
||||||
|
endDate: this.finalScoringForm.endDate,
|
||||||
|
days4FullMarks: this.finalScoringForm.days4FullMarks,
|
||||||
|
fullMarks: this.finalScoringForm.fullMarks };
|
||||||
|
this.$set(this.scoringDate, this.finalEditIndex, model);
|
||||||
|
} else if (this.finalScoringForm.type === 'LEARNING_TIME') {
|
||||||
|
const model = {
|
||||||
|
type: this.finalScoringForm.type,
|
||||||
|
startDate: this.finalScoringForm.startDate,
|
||||||
|
endDate: this.finalScoringForm.endDate,
|
||||||
|
lessonIds: this.finalScoringForm.lessonIds,
|
||||||
|
duration4FullMarks: this.finalScoringForm.duration4FullMarks,
|
||||||
|
fullMarks: this.finalScoringForm.fullMarks
|
||||||
|
};
|
||||||
|
this.$set(this.scoringDate, this.finalEditIndex, model);
|
||||||
|
} else if (this.finalScoringForm.type === 'EXAM_RESULTS') {
|
||||||
|
const model = {
|
||||||
|
type: this.finalScoringForm.type,
|
||||||
|
examId: this.finalScoringForm.examId,
|
||||||
|
fullMarks: this.finalScoringForm.fullMarks
|
||||||
|
};
|
||||||
|
this.$set(this.scoringDate, this.finalEditIndex, model);
|
||||||
|
}
|
||||||
this.isFinalEdit = false;
|
this.isFinalEdit = false;
|
||||||
|
this.$refs.finalScoringForm.resetFields();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
editFinal(row, index) {
|
editUsual(row, index) {
|
||||||
|
this.$refs.finalScoringForm.resetFields();
|
||||||
this.isFinalEdit = true;
|
this.isFinalEdit = true;
|
||||||
this.finalEditIndex = index;
|
this.finalEditIndex = index;
|
||||||
this.finalScoringForm.examId = row.examId;
|
this.finalScoringForm.type = row.type;
|
||||||
this.finalScoringForm.weight = row.weight;
|
if (row.type === 'LEARNING_TIME') {
|
||||||
},
|
this.finalScoringForm.startDate = row.startDate;
|
||||||
deleteFinal(row, index) {
|
this.finalScoringForm.endDate = row.endDate;
|
||||||
this.finalScoringData.splice(index, 1);
|
this.finalScoringForm.lessonIds = row.lessonIds;
|
||||||
},
|
this.finalScoringForm.duration4FullMarks = row.duration4FullMarks;
|
||||||
editUsual(row, index, type) {
|
this.finalScoringForm.fullMarks = row.fullMarks;
|
||||||
this.$refs.usualScoringForm.resetFields();
|
} else if (row.type === 'EXAM_RESULTS') {
|
||||||
this.isUsualEdit = true;
|
this.finalScoringForm.examId = row.examId;
|
||||||
this.usualEditIndex = index;
|
this.finalScoringForm.fullMarks = row.fullMarks;
|
||||||
if (type === 'learningTime') {
|
} else if (row.type === 'ATTENDANCE') {
|
||||||
this.usualScoringForm.type = 'learningTime';
|
this.finalScoringForm.startDate = row.startDate;
|
||||||
this.usualScoringForm.startTime = row.startTime;
|
this.finalScoringForm.endDate = row.endDate;
|
||||||
this.usualScoringForm.endTime = row.endTime;
|
this.finalScoringForm.days4FullMarks = row.days4FullMarks;
|
||||||
this.usualScoringForm.lessonIds = row.lessonIds;
|
this.finalScoringForm.fullMarks = row.fullMarks;
|
||||||
this.usualScoringForm.duration4FullMarks = row.duration4FullMarks;
|
|
||||||
this.usualScoringForm.weight = row.weight;
|
|
||||||
} else if (type === 'exam') {
|
|
||||||
this.usualScoringForm.type = 'exam';
|
|
||||||
this.usualScoringForm.weight = row.weight;
|
|
||||||
} else if (type === 'attendance') {
|
|
||||||
this.usualScoringForm.type = 'attendance';
|
|
||||||
this.usualScoringForm.startDate = row.startDate;
|
|
||||||
this.usualScoringForm.endDate = row.endDate;
|
|
||||||
this.usualScoringForm.days4FullMarks = row.days4FullMarks;
|
|
||||||
this.usualScoringForm.weight = row.weight;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
deleteUsual(row, index, type) {
|
deleteUsual(row, index) {
|
||||||
if (type === 'learningTime') {
|
this.scoringDate.splice(index, 1);
|
||||||
this.learningTimeData.splice(index, 1);
|
|
||||||
} else if (type === 'exam') {
|
|
||||||
this.examsData.splice(index, 1);
|
|
||||||
} else if (type === 'attendance') {
|
|
||||||
this.attendanceData = [];
|
|
||||||
}
|
|
||||||
},
|
|
||||||
generateFinal() {
|
|
||||||
this.$refs.finalScoringForm.validate((valid) => {
|
|
||||||
if (valid) {
|
|
||||||
this.finalScoringData.push({ examId: this.finalScoringForm.examId, weight: this.finalScoringForm.weight });
|
|
||||||
this.$refs.finalScoringForm.resetFields();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
createRule() {
|
createRule() {
|
||||||
this.$refs.form.validate((valid) => {
|
this.$refs.form.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
const model = {
|
const model = {
|
||||||
orgId: this.form.orgId,
|
name: this.form.name,
|
||||||
schoolYear: this.form.schoolYear,
|
schoolYear: this.form.schoolYear,
|
||||||
term: this.form.term
|
term: this.form.term,
|
||||||
|
scoringRules: this.scoringDate
|
||||||
};
|
};
|
||||||
if (this.finalScoringData && this.finalScoringData.length) {
|
let tip = '';
|
||||||
model.finalScoringRule = { exams: this.finalScoringData };
|
const that = this;
|
||||||
}
|
let attendanceLength = 0;
|
||||||
if ((this.attendanceData && this.attendanceData.length) || (this.learningTimeData && this.learningTimeData.length) || (this.examsData && this.examsData.length)) {
|
let attendanceScore = 0;
|
||||||
model.usualScoringRule = {};
|
let learningTimeLength = 0;
|
||||||
if (this.attendanceData && this.attendanceData.length) {
|
let learningTimeScore = 0;
|
||||||
model.usualScoringRule.attendance = this.attendanceData[0];
|
let examLength = 0;
|
||||||
|
let examScore = 0;
|
||||||
|
this.scoringDate.forEach(item => {
|
||||||
|
if (item.type === 'ATTENDANCE') {
|
||||||
|
attendanceLength += 1;
|
||||||
|
attendanceScore += item.fullMarks;
|
||||||
|
} else if (item.type === 'LEARNING_TIME') {
|
||||||
|
learningTimeLength += 1;
|
||||||
|
learningTimeScore += item.fullMarks;
|
||||||
|
} else if (item.type === 'EXAM_RESULTS') {
|
||||||
|
examLength += 1;
|
||||||
|
examScore += item.fullMarks;
|
||||||
}
|
}
|
||||||
if (this.learningTimeData && this.learningTimeData.length) {
|
});
|
||||||
model.usualScoringRule.learningTimeList = this.learningTimeData;
|
if (this.scoringDate.length) {
|
||||||
|
if (attendanceLength) {
|
||||||
|
tip = tip + `考勤规则${attendanceLength}条,满分${attendanceScore}分;<br/>`;
|
||||||
}
|
}
|
||||||
if (this.examsData && this.examsData.length) {
|
if (learningTimeLength) {
|
||||||
model.usualScoringRule.learningTimeList = this.learningTimeData;
|
tip = tip + `学习时长规则${learningTimeLength}条,满分${learningTimeScore}分;<br/>`;
|
||||||
|
}
|
||||||
|
if (examLength) {
|
||||||
|
tip = tip + `测验规则${examLength}条,满分${examScore}分;<br/>`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (this.$route.query.type === 'update') {
|
if (this.$route.query.type === 'update') {
|
||||||
model.id = this.$route.query.ruleId;
|
model.id = this.$route.query.ruleId;
|
||||||
updateRule(model).then(resp => {
|
this.$confirm(`此操作将修改规则:《${model.name}》<br/>` + tip + `共计${attendanceScore + learningTimeScore + examScore}分,是否确定修改?`, this.$t('global.tips'), {
|
||||||
this.$message.success( '修改规则成功!');
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
}).catch((e) => {
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
this.$message.error(`修改规则失败:${e.message}`);
|
dangerouslyUseHTMLString: true,
|
||||||
});
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
updateRule(model).then(resp => {
|
||||||
|
this.$message.success( '修改规则成功!');
|
||||||
|
}).catch((e) => {
|
||||||
|
this.$message.error(`修改规则失败:${e.message}`);
|
||||||
|
});
|
||||||
|
}).catch(() => { });
|
||||||
} else {
|
} else {
|
||||||
createRule(model).then(resp => {
|
this.$confirm(`此操作将创建规则:《${model.name}》<br/>` + tip + `共计${attendanceScore + learningTimeScore + examScore}分,是否确定创建?`, this.$t('global.tips'), {
|
||||||
this.$message.success( '创建规则成功!');
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
this.$refs.form.resetFields();
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
this.attendanceData = [];
|
dangerouslyUseHTMLString: true,
|
||||||
this.learningTimeData = [];
|
type: 'warning'
|
||||||
this.examsData = [];
|
}).then(() => {
|
||||||
this.finalScoringData = [];
|
createRule(model).then(resp => {
|
||||||
}).catch((e) => {
|
this.$message.success( '创建规则成功!');
|
||||||
this.$message.error(`创建规则失败:${e.message}`);
|
that.$refs.form.resetFields();
|
||||||
});
|
that.scoringDate = [];
|
||||||
|
}).catch((e) => {
|
||||||
|
this.$message.error(`创建规则失败:${e.message}`);
|
||||||
|
});
|
||||||
|
}).catch(() => { });
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
goBack() {
|
goBack() {
|
||||||
this.$router.go(-1);
|
this.$router.go(-1);
|
||||||
},
|
},
|
||||||
classChange(val) {
|
|
||||||
this.learningTimeData = [];
|
|
||||||
this.examsData = [];
|
|
||||||
this.finalScoringData = [];
|
|
||||||
getLessonListSelfByClassId({ clsId: val }).then(resp => {
|
|
||||||
this.lessonList = resp.data;
|
|
||||||
}).catch(() => {
|
|
||||||
this.$message.error('获取课程列表失败!');
|
|
||||||
});
|
|
||||||
getExanListSelfByClassId({ clsId:val }).then(resp=> {
|
|
||||||
this.examList = resp.data;
|
|
||||||
}).catch(() => {
|
|
||||||
this.$message.error('获取试卷列表失败!');
|
|
||||||
});
|
|
||||||
if (this.form.orgId && this.form.schoolYear && this.form.term && this.$route.query.type === 'add') {
|
|
||||||
this.checkDataDuplication();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
schoolChange(val) {
|
|
||||||
if (this.form.orgId && this.form.schoolYear && this.form.term && this.$route.query.type === 'add') {
|
|
||||||
this.checkDataDuplication();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
termChange(val) {
|
|
||||||
if (this.form.orgId && this.form.schoolYear && this.form.term && this.$route.query.type === 'add') {
|
|
||||||
this.checkDataDuplication();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
checkDataDuplication() {
|
|
||||||
const that = this;
|
|
||||||
getRuleDetailByInfo(this.form).then(resp => {
|
|
||||||
if (resp.data) {
|
|
||||||
this.$confirm('检测到已有本班级下相同学年学期数据,是否对数据进行修改?', this.$t('global.tips'), {
|
|
||||||
confirmButtonText: this.$t('global.confirm'),
|
|
||||||
cancelButtonText: this.$t('global.cancel'),
|
|
||||||
type: 'warning'
|
|
||||||
}).then(() => {
|
|
||||||
that.$router.replace({ path: '/info/createRule', query: { type: 'update', ruleId: resp.data.id }});
|
|
||||||
that.initData(resp.data);
|
|
||||||
}).catch(() => { });
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
getExamName(examId) {
|
getExamName(examId) {
|
||||||
|
if (!examId) {
|
||||||
|
return '-';
|
||||||
|
}
|
||||||
const ele = this.examList.find(exam => {
|
const ele = this.examList.find(exam => {
|
||||||
return exam.id == examId;
|
return exam.id == examId;
|
||||||
});
|
});
|
||||||
if (ele) {
|
if (ele) {
|
||||||
return ele.name;
|
return ele.name;
|
||||||
} else { return examId; }
|
} else { return '-'; }
|
||||||
},
|
},
|
||||||
getLessonName(lessonId) {
|
getLessonName(lessonId) {
|
||||||
const ele = this.lessonList.find(lesson => {
|
const ele = this.lessonList.find(lesson => {
|
||||||
@ -666,6 +555,17 @@ export default {
|
|||||||
if (ele) {
|
if (ele) {
|
||||||
return ele.name;
|
return ele.name;
|
||||||
} else { return lessonId; }
|
} else { return lessonId; }
|
||||||
|
},
|
||||||
|
getRuleType(type) {
|
||||||
|
if (type === 'ATTENDANCE') {
|
||||||
|
return '考勤';
|
||||||
|
} else if (type === 'EXAM_RESULTS') {
|
||||||
|
return '测验';
|
||||||
|
} else if (type === 'LEARNING_TIME') {
|
||||||
|
return '学习时长';
|
||||||
|
} else {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -7,12 +7,17 @@
|
|||||||
:query-list="ruleQueryList"
|
:query-list="ruleQueryList"
|
||||||
style="width:90%;margin: 0 auto;"
|
style="width:90%;margin: 0 auto;"
|
||||||
/>
|
/>
|
||||||
|
<apply-class ref="applyClass" @refresh="refresh" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { getClassListUnPageSelf, getRuleListSelfPaged, deleteRuleSelf } from '@/api/company';
|
import { getClassListUnPage, getRuleListSelfPaged, deleteRuleSelf } from '@/api/company';
|
||||||
|
import ApplyClass from './applyClass';
|
||||||
export default {
|
export default {
|
||||||
name: 'RuleManage',
|
name: 'RuleManage',
|
||||||
|
components: {
|
||||||
|
ApplyClass
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
pagerConfig: {
|
pagerConfig: {
|
||||||
@ -54,12 +59,16 @@ export default {
|
|||||||
selectCheckShow: false,
|
selectCheckShow: false,
|
||||||
indexShow: true,
|
indexShow: true,
|
||||||
columns: [
|
columns: [
|
||||||
|
{
|
||||||
|
title: '名称',
|
||||||
|
prop: 'name'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: '班级',
|
title: '班级',
|
||||||
prop: 'orgId',
|
prop: 'orgIds',
|
||||||
type: 'tag',
|
type: 'tagMore',
|
||||||
columnValue: (row) => {
|
columnValue: (row) => {
|
||||||
return this.$convertField(row.orgId, this.classList, ['id', 'name']);
|
return this.$convertField(row.orgIds, this.classList, ['id', 'name'], true);
|
||||||
},
|
},
|
||||||
tagType: (row) => { }
|
tagType: (row) => { }
|
||||||
},
|
},
|
||||||
@ -88,12 +97,14 @@ export default {
|
|||||||
{
|
{
|
||||||
name: '应用',
|
name: '应用',
|
||||||
handleClick: this.handleApply,
|
handleClick: this.handleApply,
|
||||||
type: 'primary'
|
type: 'primary',
|
||||||
|
showControl: (row) => { return !(row.orgIds && row.orgIds.length); }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '修改',
|
name: '修改',
|
||||||
handleClick: this.handleUpdate,
|
handleClick: this.handleUpdate,
|
||||||
type: 'primary'
|
type: 'primary',
|
||||||
|
showControl: (row) => { return !(row.orgIds && row.orgIds.length); }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '详情',
|
name: '详情',
|
||||||
@ -114,8 +125,7 @@ export default {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
academicYearList: [],
|
academicYearList: [],
|
||||||
classList: [],
|
classList: []
|
||||||
ruleData: [{ content: '平时考勤30%,考试成绩70%', createDate: '2021.03.11', className: '测试班级' }]
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@ -124,9 +134,8 @@ export default {
|
|||||||
for (let i = 2015; i < nowYear + 1; i++) {
|
for (let i = 2015; i < nowYear + 1; i++) {
|
||||||
this.academicYearList.unshift({ label: `${i}-${i + 1}学年`, value: `${i}-${i + 1}` });
|
this.academicYearList.unshift({ label: `${i}-${i + 1}学年`, value: `${i}-${i + 1}` });
|
||||||
this.ruleQueryForm.queryObject.schoolYear.config.data = this.academicYearList;
|
this.ruleQueryForm.queryObject.schoolYear.config.data = this.academicYearList;
|
||||||
|
|
||||||
}
|
}
|
||||||
getClassListUnPageSelf().then(resp => {
|
getClassListUnPage().then(resp => {
|
||||||
this.classList = resp.data;
|
this.classList = resp.data;
|
||||||
this.classList.forEach(item => {
|
this.classList.forEach(item => {
|
||||||
this.ruleQueryForm.queryObject.orgId.config.data.push({ label: item.name, value: item.id });
|
this.ruleQueryForm.queryObject.orgId.config.data.push({ label: item.name, value: item.id });
|
||||||
@ -138,7 +147,7 @@ export default {
|
|||||||
this.$router.push({ path: '/info/createRule', query: { type: 'detail', ruleId: row.id } });
|
this.$router.push({ path: '/info/createRule', query: { type: 'detail', ruleId: row.id } });
|
||||||
},
|
},
|
||||||
handleApply(index, row) {
|
handleApply(index, row) {
|
||||||
this.$router.push({ path: '/info/totalGrade', query: { orgId: row.orgId, schoolYear: row.schoolYear, term: row.term } });
|
this.$refs.applyClass.doShow(row);
|
||||||
},
|
},
|
||||||
handleUpdate(index, row) {
|
handleUpdate(index, row) {
|
||||||
this.$router.push({ path: '/info/createRule', query: { type: 'update', ruleId: row.id } });
|
this.$router.push({ path: '/info/createRule', query: { type: 'update', ruleId: row.id } });
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="title_content">评价结果</div>
|
<div class="title_content">评价结果</div>
|
||||||
<el-card class="box-card" style="padding: 22px 10px 0 10px;">
|
<el-card class="box-card" style="padding: 22px 2px 0 2px;">
|
||||||
<el-form ref="form" :model="form" :rules="rules">
|
<el-form ref="form" :model="form" :rules="rules">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
@ -64,16 +64,20 @@
|
|||||||
label="学号"
|
label="学号"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="usualScore"
|
prop="attendanceScore"
|
||||||
label="平时成绩"
|
label="考勤得分"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="finalScore"
|
prop="learningTimeScore"
|
||||||
label="期末成绩"
|
label="学习时长得分"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
prop="examScore"
|
||||||
|
label="测验得分"
|
||||||
/>
|
/>
|
||||||
<el-table-column label="评价结果">
|
<el-table-column label="评价结果">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span> {{ (scope.row.usualScore ||0) + ( scope.row.finalScore || 0 ) }} </span>
|
<span> {{ (scope.row.attendanceScore ||0) + ( scope.row.examScore || 0 ) + ( scope.row.learningTimeScore || 0 ) }} </span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -82,7 +86,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getClassListUnPageSelf, userRuleGetScore } from '@/api/company';
|
import { getClassListUnPage, userRuleGetScore } from '@/api/company';
|
||||||
import XLSX from 'xlsx';
|
import XLSX from 'xlsx';
|
||||||
export default {
|
export default {
|
||||||
name: 'GradeList',
|
name: 'GradeList',
|
||||||
@ -115,15 +119,15 @@ export default {
|
|||||||
for (let i = 2015; i < nowYear + 1; i++) {
|
for (let i = 2015; i < nowYear + 1; i++) {
|
||||||
this.academicYearList.unshift({ label: `${i}-${i + 1}学年`, value: `${i}-${i + 1}` });
|
this.academicYearList.unshift({ label: `${i}-${i + 1}学年`, value: `${i}-${i + 1}` });
|
||||||
}
|
}
|
||||||
getClassListUnPageSelf().then(resp => {
|
getClassListUnPage().then(resp => {
|
||||||
this.classList = resp.data;
|
this.classList = resp.data;
|
||||||
});
|
});
|
||||||
this.form.orgId = (this.$route.query.orgId + '') || '';
|
this.form.orgId = (this.$route.query.orgId + '') || '';
|
||||||
this.form.schoolYear = this.$route.query.schoolYear || '';
|
this.form.schoolYear = this.$route.query.schoolYear || '';
|
||||||
this.form.term = this.$route.query.term ? parseInt(this.$route.query.term) : '';
|
this.form.term = this.$route.query.term ? parseInt(this.$route.query.term) : '';
|
||||||
if (this.form.orgId && this.form.schoolYear && this.form.term) {
|
// if (this.form.orgId && this.form.schoolYear && this.form.term) {
|
||||||
this.queryFunction();
|
// this.queryFunction();
|
||||||
}
|
// }
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
exportGrade() {
|
exportGrade() {
|
||||||
|
@ -104,27 +104,29 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleCommit() {
|
handleCommit() {
|
||||||
this.$refs.form.validate(() => {
|
this.$refs.form.validate((valid) => {
|
||||||
if (this.$route.query.planId || this.loadRunPlanId) {
|
if (valid) {
|
||||||
checkServiceNumberExist({ planId: this.$route.query.planId || this.loadRunPlanId, serviceNumber: this.formModel.serviceNumber }).then(resp => {
|
if (this.$route.query.planId || this.loadRunPlanId) {
|
||||||
if (resp.data) {
|
checkServiceNumberExist({ planId: this.$route.query.planId || this.loadRunPlanId, serviceNumber: this.formModel.serviceNumber }).then(resp => {
|
||||||
this.$emit('dispatchDialog', {
|
if (resp.data) {
|
||||||
name: 'offLine',
|
this.$emit('dispatchDialog', {
|
||||||
params: {
|
name: 'offLine',
|
||||||
type: 'warning',
|
params: {
|
||||||
operate: 'AddPlanningTrain',
|
type: 'warning',
|
||||||
width: 460,
|
operate: 'AddPlanningTrain',
|
||||||
message: this.$t('tip.serviceNumberExistHint')
|
width: 460,
|
||||||
}
|
message: this.$t('tip.serviceNumberExistHint')
|
||||||
});
|
}
|
||||||
|
});
|
||||||
|
|
||||||
this.doClose();
|
this.doClose();
|
||||||
} else {
|
} else {
|
||||||
this.handleConfirm(true);
|
this.handleConfirm(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
this.$messageBox(this.$t('tip.chooseToOpenTheRunGraph'));
|
this.$messageBox(this.$t('tip.chooseToOpenTheRunGraph'));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// if (this.serviceNumber.length >= 2 && this.serviceNumber.length <= 3) {
|
// if (this.serviceNumber.length >= 2 && this.serviceNumber.length <= 3) {
|
||||||
|
@ -74,6 +74,7 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-table
|
<el-table
|
||||||
|
v-loading="tableLoading"
|
||||||
:data="routingList"
|
:data="routingList"
|
||||||
border
|
border
|
||||||
highlight-current-row
|
highlight-current-row
|
||||||
@ -129,7 +130,7 @@
|
|||||||
{{ '经停转换轨 / 站台轨'+$t('global.colon') }}
|
{{ '经停转换轨 / 站台轨'+$t('global.colon') }}
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-table :data="addModel.arriveConfigList" border :height="230">
|
<el-table v-loading="routeLoading" :data="addModel.arriveConfigList" border :height="230">
|
||||||
<el-table-column prop="stationCode" :label="this.$t('planMonitor.station')" width="160">
|
<el-table-column prop="stationCode" :label="this.$t('planMonitor.station')" width="160">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ formatName(scope.row.stationCode) }}
|
{{ formatName(scope.row.stationCode) }}
|
||||||
@ -180,7 +181,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listUserRoutingData, addPlanTrip, getMapStationRunUser, getStationStopTime } from '@/api/runplan';
|
import { listUserRoutingData, addPlanTrip, getMapStationRunUser, getStationStopTime, querySectionListByRouting } from '@/api/runplan';
|
||||||
import { getRunplanConfig } from '@/api/jmap/mapdraft';
|
import { getRunplanConfig } from '@/api/jmap/mapdraft';
|
||||||
import { formatTime, formatName } from '@/jmapNew/theme/parser/util';
|
import { formatTime, formatName } from '@/jmapNew/theme/parser/util';
|
||||||
|
|
||||||
@ -192,6 +193,8 @@ export default {
|
|||||||
return {
|
return {
|
||||||
dialogShow: false,
|
dialogShow: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
|
tableLoading:false,
|
||||||
|
routeLoading:false,
|
||||||
isPlan: false,
|
isPlan: false,
|
||||||
// showDefault: true,
|
// showDefault: true,
|
||||||
stopStationMap: {},
|
stopStationMap: {},
|
||||||
@ -213,7 +216,7 @@ export default {
|
|||||||
tripNumber: '',
|
tripNumber: '',
|
||||||
planId: '',
|
planId: '',
|
||||||
serviceNumber: '',
|
serviceNumber: '',
|
||||||
startTbFront: false,
|
startTbFront: false,
|
||||||
endTbFront: false
|
endTbFront: false
|
||||||
},
|
},
|
||||||
tripNumberList: [{ value: '', label: this.$t('planMonitor.automatic') }],
|
tripNumberList: [{ value: '', label: this.$t('planMonitor.automatic') }],
|
||||||
@ -261,9 +264,10 @@ export default {
|
|||||||
this.addModel.serviceNumber = params.serviceNumber;
|
this.addModel.serviceNumber = params.serviceNumber;
|
||||||
this.addModel.planId = this.$route.query.planId;
|
this.addModel.planId = this.$route.query.planId;
|
||||||
this.addModel.arriveConfigList = [];
|
this.addModel.arriveConfigList = [];
|
||||||
const mapId = this.$route.query.mapId;
|
const mapId = this.$route.query.mapId;
|
||||||
|
|
||||||
if (mapId) {
|
if (mapId) {
|
||||||
|
this.tableLoading = true;
|
||||||
getRunplanConfig(mapId).then(resp => {
|
getRunplanConfig(mapId).then(resp => {
|
||||||
const data = resp.data;
|
const data = resp.data;
|
||||||
this.reentryData = data.config.reentryData;
|
this.reentryData = data.config.reentryData;
|
||||||
@ -281,8 +285,17 @@ export default {
|
|||||||
endStationFilterMap[routing.endStationCode] = {text:formatName(routing.endStationCode), value:routing.endStationCode};
|
endStationFilterMap[routing.endStationCode] = {text:formatName(routing.endStationCode), value:routing.endStationCode};
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.startStationFilters = Object.values(startStationFilterMap);
|
this.startStationFilters = Object.values(startStationFilterMap).sort((a, b)=>{
|
||||||
this.endStationFilters = Object.values(endStationFilterMap);
|
const startStationA = this.$store.getters['map/getDeviceByCode'](a.value);
|
||||||
|
const startStationB = this.$store.getters['map/getDeviceByCode'](b.value);
|
||||||
|
return startStationA.kmRange - startStationB.kmRange;
|
||||||
|
});
|
||||||
|
this.endStationFilters = Object.values(endStationFilterMap).sort((a, b)=>{
|
||||||
|
const endStationA = this.$store.getters['map/getDeviceByCode'](a.value);
|
||||||
|
const endStationB = this.$store.getters['map/getDeviceByCode'](b.value);
|
||||||
|
return endStationA.kmRange - endStationB.kmRange;
|
||||||
|
});
|
||||||
|
this.tableLoading = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
getMapStationRunUser(mapId).then(resp =>{
|
getMapStationRunUser(mapId).then(resp =>{
|
||||||
@ -324,10 +337,10 @@ export default {
|
|||||||
compuntedRunTime(list, index, runLevel) {
|
compuntedRunTime(list, index, runLevel) {
|
||||||
let runTime = 0;
|
let runTime = 0;
|
||||||
|
|
||||||
if ((index == 0 && String(this.addModel.startTbFront) != 'undefined') ||
|
if ((index == 0 && String(this.addModel.startTbFront) != 'undefined') ||
|
||||||
(index == list.length-1 && String(this.addModel.endTbFront) != 'undefined')) {
|
(index == list.length - 1 && String(this.addModel.endTbFront) != 'undefined')) {
|
||||||
return 0
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (index < list.length - 1) {
|
if (index < list.length - 1) {
|
||||||
const stopStationObj = this.stopStationMap[[list[index].sectionCode, list[index + 1].sectionCode].toString()];
|
const stopStationObj = this.stopStationMap[[list[index].sectionCode, list[index + 1].sectionCode].toString()];
|
||||||
@ -371,14 +384,14 @@ export default {
|
|||||||
elem.speedLevelTime = realRunlevel;
|
elem.speedLevelTime = realRunlevel;
|
||||||
elem.speedLevel = runLevelObj.label;
|
elem.speedLevel = runLevelObj.label;
|
||||||
|
|
||||||
let fronTime = 0;
|
let fronTime = 0;
|
||||||
if (index == 0 && String(this.addModel.startTbFront) == 'false') {
|
if (index == 0 && String(this.addModel.startTbFront) == 'false') {
|
||||||
const data = this.reentryData[elem.stationCode]||{};
|
const data = this.reentryData[elem.stationCode] || {};
|
||||||
fronTime = data.tbTo || 0;
|
fronTime = data.tbTo || 0;
|
||||||
} else if (index == list.length - 2 && String(this.addModel.endTbFront) == 'false') {
|
} else if (index == list.length - 2 && String(this.addModel.endTbFront) == 'false') {
|
||||||
const data = this.reentryData[list[index+1].stationCode]||{};
|
const data = this.reentryData[list[index + 1].stationCode] || {};
|
||||||
fronTime = data.tbTo || 0;
|
fronTime = data.tbTo || 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
tempTime = tempTime + fronTime + elem.stopTime + elem.speedLevelTime;
|
tempTime = tempTime + fronTime + elem.stopTime + elem.speedLevelTime;
|
||||||
});
|
});
|
||||||
@ -387,19 +400,23 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleClick(row, column, event) {
|
handleClick(row, column, event) {
|
||||||
|
this.routeLoading = true;
|
||||||
const arriveConfigList = [];
|
const arriveConfigList = [];
|
||||||
row.parkSectionCodeList.forEach((parkSectionCode, index)=>{
|
querySectionListByRouting(row.id).then(resp=>{
|
||||||
arriveConfigList.push({arriveTime:'', departureTime:'', sectionCode:parkSectionCode.sectionCode, stationCode:parkSectionCode.stationCode});
|
resp.data.forEach((parkSectionCode, index)=>{
|
||||||
|
arriveConfigList.push({arriveTime:'', departureTime:'', sectionCode:parkSectionCode.sectionCode, stationCode:parkSectionCode.stationCode});
|
||||||
|
});
|
||||||
|
this.$set(this.addModel, 'arriveConfigList', arriveConfigList);
|
||||||
|
this.addModel.startStationCode = row.startStationCode;
|
||||||
|
this.addModel.endStationCode = row.endStationCode;
|
||||||
|
this.addModel.endSectionCode = row.endSectionCode;
|
||||||
|
this.addModel.startSectionCode = row.startSectionCode;
|
||||||
|
this.addModel.routingCode = row.id;
|
||||||
|
this.addModel.startTbFront = row.startTbFront;
|
||||||
|
this.addModel.endTbFront = row.endTbFront;
|
||||||
|
this.computedDetailList('routingCode');
|
||||||
|
this.routeLoading = false;
|
||||||
});
|
});
|
||||||
this.$set(this.addModel, 'arriveConfigList', arriveConfigList);
|
|
||||||
this.addModel.startStationCode = row.startStationCode;
|
|
||||||
this.addModel.endStationCode = row.endStationCode;
|
|
||||||
this.addModel.endSectionCode = row.endSectionCode;
|
|
||||||
this.addModel.startSectionCode = row.startSectionCode;
|
|
||||||
this.addModel.routingCode = row.code;
|
|
||||||
this.addModel.startTbFront = row.startTbFront;
|
|
||||||
this.addModel.endTbFront = row.endTbFront;
|
|
||||||
this.computedDetailList('routingCode');
|
|
||||||
},
|
},
|
||||||
handleCommit() {
|
handleCommit() {
|
||||||
if (this.isPlan) {
|
if (this.isPlan) {
|
||||||
|
@ -110,7 +110,7 @@ export default {
|
|||||||
startTime: formatTime(trainInfo.stationTimeList[0].secondTime + 7200),
|
startTime: formatTime(trainInfo.stationTimeList[0].secondTime + 7200),
|
||||||
endStationCode: resp.data.endStationCode,
|
endStationCode: resp.data.endStationCode,
|
||||||
endTime: formatTime(trainInfo.stationTimeList[lastIndex - 1].secondTime + 7200),
|
endTime: formatTime(trainInfo.stationTimeList[lastIndex - 1].secondTime + 7200),
|
||||||
routingCode : resp.data.code,
|
routingCode : resp.data.id,
|
||||||
endSectionCode:resp.data.endSectionCode,
|
endSectionCode:resp.data.endSectionCode,
|
||||||
startSectionCode:resp.data.startSectionCode,
|
startSectionCode:resp.data.startSectionCode,
|
||||||
arriveConfigList: [],
|
arriveConfigList: [],
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<!-- <el-dialog
|
||||||
v-dialogDrag
|
v-dialogDrag
|
||||||
class="planEdit__tool gernarate-plan-train"
|
class="planEdit__tool gernarate-plan-train"
|
||||||
:title="title"
|
:title="title"
|
||||||
@ -10,17 +10,19 @@
|
|||||||
:modal="false"
|
:modal="false"
|
||||||
top="10vh"
|
top="10vh"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
>
|
> -->
|
||||||
<data-form ref="dataform" v-loading="dataLoading" :form="form" :form-model="formModel" :rules="rules" />
|
<div v-loading="dataLoading" style="width:500px;padding:20px 0px;height:100%">
|
||||||
<span slot="footer" class="dialog-footer">
|
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
|
||||||
<el-button size="small" @click="doClose">{{ $t('global.cancel') }}</el-button>
|
<span slot="footer" class="dialog-footer gerneratePlanDialog">
|
||||||
<el-button type="primary" size="small" :loading="loading" @click="handleCommit">{{ $t('global.confirm') }}</el-button>
|
<!-- <el-button size="small" @click="doClose">{{ $t('global.cancel') }}</el-button> -->
|
||||||
|
<el-button type="primary" size="medium" :loading="loading" @click="handleCommit">{{ $t('global.confirm') }}</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</div>
|
||||||
|
<!-- </el-dialog> -->
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { generatePlanTrain, listUserRoutingData } from '@/api/runplan';
|
import { generatePlanTrain, listUserRoutingData, querySectionListByRouting } from '@/api/runplan';
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
loadRunPlanId: {
|
loadRunPlanId: {
|
||||||
@ -32,10 +34,11 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
dialogShow: false,
|
// dialogShow: false,
|
||||||
dataLoading:false,
|
dataLoading:false,
|
||||||
routingList: [],
|
routingMap: {},
|
||||||
loading: false,
|
loading: false,
|
||||||
|
oldsection:[],
|
||||||
runningRoutingMap:{},
|
runningRoutingMap:{},
|
||||||
runLevelList: [
|
runLevelList: [
|
||||||
{ value: 1, label: '等级一' },
|
{ value: 1, label: '等级一' },
|
||||||
@ -45,14 +48,12 @@ export default {
|
|||||||
{ value: 5, label: '等级五' }
|
{ value: 5, label: '等级五' }
|
||||||
],
|
],
|
||||||
formModel: {
|
formModel: {
|
||||||
gernarateType:'01',
|
gernarateType:'02',
|
||||||
serviceNumber:'', // 服务号
|
serviceNumber:'', // 服务号
|
||||||
beginTime: '', // 开始时间
|
beginTime: '06:00:00', // 开始时间
|
||||||
overTime: '', // 结束时间
|
overTime: '22:00:00', // 结束时间
|
||||||
runLevel:'', // 运行等级
|
runLevel:3, // 运行等级
|
||||||
departureInterval:180, // 发车间隔
|
departureInterval:300, // 发车间隔
|
||||||
// inboundRouting:'', // 回库交路code
|
|
||||||
// outboundRouting:'', // 出库交路code
|
|
||||||
outAndIn:false, // 自动生成出入库
|
outAndIn:false, // 自动生成出入库
|
||||||
runningRouting1: '', // 环路code1
|
runningRouting1: '', // 环路code1
|
||||||
runningRouting2: '', // 环路code2
|
runningRouting2: '', // 环路code2
|
||||||
@ -62,7 +63,6 @@ export default {
|
|||||||
rules: {
|
rules: {
|
||||||
serviceNumber:[
|
serviceNumber:[
|
||||||
{required: true, validator: this.validateServiceNumber, trigger: 'blur'},
|
{required: true, validator: this.validateServiceNumber, trigger: 'blur'},
|
||||||
// {required: true, validator: this.validateServiceNumber, trigger: 'change'}
|
|
||||||
{required: true, validator: this.validateServiceNo, trigger: 'change'}
|
{required: true, validator: this.validateServiceNo, trigger: 'change'}
|
||||||
],
|
],
|
||||||
beginTime: [
|
beginTime: [
|
||||||
@ -77,26 +77,18 @@ export default {
|
|||||||
departureInterval:[
|
departureInterval:[
|
||||||
{ required: true, message: '请填写发车间隔', trigger: 'blur' }
|
{ required: true, message: '请填写发车间隔', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
// inboundRouting: [
|
|
||||||
// { required: true, message: '请选择回库交路', trigger: 'change' }
|
|
||||||
// ],
|
|
||||||
runningRouting: [
|
runningRouting: [
|
||||||
{ required: true, message: '请选择环路', trigger: 'blur' },
|
{ required: true, message: '请选择环路', trigger: 'blur' },
|
||||||
{ required: true, message: '请选择环路', trigger: 'change' }
|
{ required: true, message: '请选择环路', trigger: 'change' }
|
||||||
]
|
]
|
||||||
// outboundRouting: [
|
|
||||||
// { required: true, message: '请选择出库交路', trigger: 'change' }
|
|
||||||
// ]
|
|
||||||
},
|
},
|
||||||
// outboundRouteList: [],
|
|
||||||
runningRouteList: []
|
runningRouteList: []
|
||||||
// inboundRouteList: []
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
title() {
|
// title() {
|
||||||
return '生成计划';
|
// return '生成计划';
|
||||||
},
|
// },
|
||||||
form() {
|
form() {
|
||||||
return {
|
return {
|
||||||
labelWidth: '140px',
|
labelWidth: '140px',
|
||||||
@ -111,12 +103,10 @@ export default {
|
|||||||
{ prop: 'overTime', label: '结束时间', type: 'timePicker', selectableRange:'02:00:00-23:59:59'},
|
{ prop: 'overTime', label: '结束时间', type: 'timePicker', selectableRange:'02:00:00-23:59:59'},
|
||||||
{ prop: 'runLevel', label: '运行等级', type: 'select', options: this.runLevelList },
|
{ prop: 'runLevel', label: '运行等级', type: 'select', options: this.runLevelList },
|
||||||
{ prop: 'departureInterval', label: '发车间隔', type: 'number', show:this.formModel.gernarateType == '02', min:0, step:1, precisionFlag:true, precision:0, message:'s'},
|
{ prop: 'departureInterval', label: '发车间隔', type: 'number', show:this.formModel.gernarateType == '02', min:0, step:1, precisionFlag:true, precision:0, message:'s'},
|
||||||
// { prop: 'outboundRouting', label: '出库交路', type: 'select', options: this.outboundRouteList, clearable: true, change:true, onChange: this.onOutboundRouteChange, noDataText:'请先设置交路'},
|
|
||||||
{ prop: 'runningRouting1', label: '环路交路1', type: 'select', show:false},
|
{ prop: 'runningRouting1', label: '环路交路1', type: 'select', show:false},
|
||||||
{ prop: 'runningRouting2', label: '环路交路2', type: 'select', show:false},
|
{ prop: 'runningRouting2', label: '环路交路2', type: 'select', show:false},
|
||||||
{ prop: 'outAndIn', label: '自动生成出入库', type: 'switchBox', show:true, activeColor:'#409eff', inactiveColor:'#dcdfe6' },
|
{ prop: 'outAndIn', label: '自动生成出入库', type: 'switchBox', show:true, activeColor:'#409eff', inactiveColor:'#dcdfe6' },
|
||||||
{ prop: 'runningRouting', label:'交路', type: 'select', options: this.runningRouteList, noDataText:'请先设置交路', clearable: true, change:true, onChange:this.onRunningRouteChange}
|
{ prop: 'runningRouting', label:'交路', type: 'select', options: this.runningRouteList, noDataText:'请先设置交路', clearable: true, change:true, onChange:this.onRunningRouteChange}
|
||||||
// { prop: 'inboundRouting', label: '入库交路', type: 'select', options: this.inboundRouteList, noDataText:'请先设置交路', clearable: true, change:true, onChange:this.onInboundRouteChange}
|
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -130,42 +120,29 @@ export default {
|
|||||||
this.dataLoading = true;
|
this.dataLoading = true;
|
||||||
listUserRoutingData(mapId).then(response => {
|
listUserRoutingData(mapId).then(response => {
|
||||||
const list = response.data;
|
const list = response.data;
|
||||||
this.routingList = list.map(elem => { return { value: elem.code, label: elem.name, routingType:elem.routingType, startSectionCode: elem.startSectionCode, endSectionCode: elem.endSectionCode }; });
|
console.time();
|
||||||
list.forEach(elem=>{
|
list.forEach(elem=>{
|
||||||
// this.routingList.push({value: elem.code, label: elem.name, routingType:elem.routingType});
|
// this.routingMap[elem.id] = {parkSectionCodeList:elem.parkSectionCodeList};
|
||||||
if (elem.routingType === 'LOOP') {
|
if (elem.routingType === 'LOOP') {
|
||||||
// const name = elem.name;
|
// const name = elem.name;
|
||||||
// let temp = '';
|
// let temp = '';
|
||||||
if (elem.right) {
|
if (elem.right) {
|
||||||
// temp = name.split('-')[0];
|
|
||||||
// const data = ;
|
|
||||||
const data = runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode];
|
const data = runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode];
|
||||||
if (!data) { runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode] = {}; }
|
if (!data) { runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode] = {}; }
|
||||||
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].label = elem.name;
|
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].label = elem.name;
|
||||||
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].value = elem.startSectionCode + '-' + elem.endSectionCode;
|
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].value = elem.startSectionCode + '-' + elem.endSectionCode;
|
||||||
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].runningRouting1 = elem.code;
|
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].runningRouting1 = elem.id;
|
||||||
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].runningRouting1 = elem.code;
|
|
||||||
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].startSectionCode = elem.startSectionCode;
|
|
||||||
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].endSectionCode = elem.endSectionCode;
|
|
||||||
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].startStationCode = elem.startStationCode;
|
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].startStationCode = elem.startStationCode;
|
||||||
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].endStationCode = elem.endStationCode;
|
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].endStationCode = elem.endStationCode;
|
||||||
} else {
|
} else {
|
||||||
// temp = name.split('-')[1];
|
|
||||||
// const data = ;
|
|
||||||
const data = runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode];
|
const data = runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode];
|
||||||
if (!data) { runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode] = {}; }
|
if (!data) { runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode] = {}; }
|
||||||
// runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode].label = elem.name;
|
runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode].runningRouting2 = elem.id;
|
||||||
runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode].value = elem.endSectionCode + '-' + elem.startSectionCode;
|
|
||||||
runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode].runningRouting2 = elem.code;
|
|
||||||
runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode].startSectionCode = elem.startSectionCode;
|
|
||||||
runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode].endSectionCode = elem.endSectionCode;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.runningRoutingMap = runningRoutingMap;
|
this.runningRoutingMap = runningRoutingMap;
|
||||||
// this.onOutboundRouteChange();
|
|
||||||
this.onRunningRouteChange();
|
this.onRunningRouteChange();
|
||||||
// this.onInboundRouteChange();
|
|
||||||
this.dataLoading = false;
|
this.dataLoading = false;
|
||||||
}).catch(_ => {
|
}).catch(_ => {
|
||||||
console.log(_);
|
console.log(_);
|
||||||
@ -173,7 +150,7 @@ export default {
|
|||||||
this.$messageBox(`获取交路列表失败`);
|
this.$messageBox(`获取交路列表失败`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.dialogShow = true;
|
// this.dialogShow = true;
|
||||||
},
|
},
|
||||||
validateServiceNumber(rule, value, callback) {
|
validateServiceNumber(rule, value, callback) {
|
||||||
if (typeof value == 'string' && value.trim().length == 0) {
|
if (typeof value == 'string' && value.trim().length == 0) {
|
||||||
@ -218,61 +195,39 @@ export default {
|
|||||||
this.formModel.runningRouting2 = '';
|
this.formModel.runningRouting2 = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (!this.outboundRouteList.find(route => route.value == this.formModel.outboundRouting)) {
|
|
||||||
// this.formModel.outboundRouting = '';
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (!this.inboundRouteList.find(route => route.value == this.formModel.inboundRouting)) {
|
|
||||||
// this.formModel.inboundRouting = '';
|
|
||||||
// }
|
|
||||||
|
|
||||||
this.$nextTick(_ => {
|
this.$nextTick(_ => {
|
||||||
this.$refs.dataform && this.$refs.dataform.clearValidate();
|
this.$refs.dataform && this.$refs.dataform.clearValidate();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// onOutboundRouteChange(outboundRouting = '') {
|
|
||||||
// const outboundRoute = this.routingList.find(route => route.value == this.formModel.outboundRouting);
|
|
||||||
// const inboundRoute = this.routingList.find(route => route.value == this.formModel.inboundRouting);
|
|
||||||
|
|
||||||
// if (this.formModel.runningRouting) {
|
|
||||||
// this.runningRouteList = this.covertRouting(Object.values(this.runningRoutingMap), route => {
|
|
||||||
// return route.runningRouting1 && route.runningRouting2 && (
|
|
||||||
// outboundRoute && [route.startSectionCode, route.endSectionCode].includes(outboundRoute.endSectionCode) ||
|
|
||||||
// inboundRoute && [route.startSectionCode, route.endSectionCode].includes(inboundRoute.startSectionCode)
|
|
||||||
// );
|
|
||||||
// });
|
|
||||||
// } else {
|
|
||||||
// this.runningRouteList = Object.values(this.runningRoutingMap).filter(route => {
|
|
||||||
// return route.runningRouting1 && route.runningRouting2 && (
|
|
||||||
// outboundRoute && !inboundRoute && [route.startSectionCode, route.endSectionCode].includes(outboundRoute.endSectionCode) ||
|
|
||||||
// !outboundRoute && inboundRoute && [route.startSectionCode, route.endSectionCode].includes(inboundRoute.startSectionCode) ||
|
|
||||||
// outboundRoute && inboundRoute && (
|
|
||||||
// outboundRoute.endSectionCode != inboundRoute.startSectionCode && JSON.stringify([route.startSectionCode, route.endSectionCode].sort()) == JSON.stringify([outboundRoute.endSectionCode, inboundRoute.startSectionCode].sort()) ||
|
|
||||||
// outboundRoute.endSectionCode == inboundRoute.startSectionCode && [route.startSectionCode, route.endSectionCode].includes(outboundRoute.endSectionCode)
|
|
||||||
// ) ||
|
|
||||||
// !inboundRoute && !outboundRoute
|
|
||||||
// );
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (!outboundRouting) {
|
|
||||||
// this.outboundRouteList = this.covertRouting(this.routingList, route => {
|
|
||||||
// return route.routingType == 'OUTBOUND';
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
|
|
||||||
// this.checkRouteCurrentValue();
|
|
||||||
// },
|
|
||||||
onRunningRouteChange(runningRouting = '') {
|
onRunningRouteChange(runningRouting = '') {
|
||||||
const temp = this.runningRoutingMap[runningRouting];
|
const temp = this.runningRoutingMap[runningRouting];
|
||||||
|
if (this.oldsection.length > 0) {
|
||||||
|
this.changeSectionSelected(this.oldsection, false);
|
||||||
|
}
|
||||||
if (temp) {
|
if (temp) {
|
||||||
this.formModel.runningRouting1 = temp.runningRouting1;
|
this.formModel.runningRouting1 = temp.runningRouting1;
|
||||||
this.formModel.runningRouting2 = temp.runningRouting2;
|
this.formModel.runningRouting2 = temp.runningRouting2;
|
||||||
}
|
// if (this.routingMap[temp.runningRouting1] && this.routingMap[temp.runningRouting2]) {
|
||||||
|
// }
|
||||||
|
// 切换显示环路路径
|
||||||
|
this.$emit('mapLoading', true);
|
||||||
|
querySectionListByRouting(temp.runningRouting1).then(resp=>{
|
||||||
|
querySectionListByRouting(temp.runningRouting2).then(res=>{
|
||||||
|
const parkSectionCodeList = resp.data;
|
||||||
|
// this.routingMap[temp.runningRouting1].parkSectionCodeList;
|
||||||
|
parkSectionCodeList.push(...res.data);
|
||||||
|
// this.routingMap[temp.runningRouting2].parkSectionCodeList
|
||||||
|
this.changeSectionSelected(parkSectionCodeList, true);
|
||||||
|
this.oldsection = parkSectionCodeList;
|
||||||
|
this.$emit('mapLoading', false);
|
||||||
|
}).catch(error => {
|
||||||
|
console.log(error.message + '根据交路查询交路区段列表失败');
|
||||||
|
});
|
||||||
|
}).catch(error => {
|
||||||
|
console.log(error.message + '根据交路查询交路区段列表失败');
|
||||||
|
});
|
||||||
|
|
||||||
// const outboundRoute = this.routingList.find(route => route.value == this.formModel.outboundRouting);
|
}
|
||||||
// const inboundRoute = this.routingList.find(route => route.value == this.formModel.inboundRouting);
|
|
||||||
// const runningRoute = Object.values(this.runningRoutingMap).find(route => route.value == this.formModel.runningRouting);
|
|
||||||
|
|
||||||
if (!this.formModel.runningRouting) {
|
if (!this.formModel.runningRouting) {
|
||||||
let list = Object.values(this.runningRoutingMap).filter(route=>{ return route.runningRouting1 && route.runningRouting2; });
|
let list = Object.values(this.runningRoutingMap).filter(route=>{ return route.runningRouting1 && route.runningRouting2; });
|
||||||
@ -284,85 +239,32 @@ export default {
|
|||||||
return startStationA.kmRange == startStationB.kmRange ? endStationCodeA.kmRange - endStationCodeB.kmRange : startStationA.kmRange - startStationB.kmRange;
|
return startStationA.kmRange == startStationB.kmRange ? endStationCodeA.kmRange - endStationCodeB.kmRange : startStationA.kmRange - startStationB.kmRange;
|
||||||
});
|
});
|
||||||
this.runningRouteList = list;
|
this.runningRouteList = list;
|
||||||
// this.runningRouteList = Object.values(this.runningRoutingMap).filter(route => route.runningRouting1 && route.runningRouting2
|
|
||||||
// && (outboundRoute && [route.startSectionCode, route.endSectionCode].includes(outboundRoute.endSectionCode) ||
|
|
||||||
// inboundRoute && [route.startSectionCode, route.endSectionCode].includes(inboundRoute.startSectionCode) ||
|
|
||||||
// ! inboundRoute && !outboundRoute)
|
|
||||||
// );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// this.outboundRouteList = this.covertRouting(this.routingList, route => {
|
|
||||||
// return route.routingType == 'OUTBOUND' && (
|
|
||||||
// runningRoute
|
|
||||||
// ? [runningRoute.startSectionCode, runningRoute.endSectionCode].includes(route.endSectionCode)
|
|
||||||
// : true
|
|
||||||
// );
|
|
||||||
// });
|
|
||||||
|
|
||||||
// this.inboundRouteList = this.covertRouting(this.routingList, route => {
|
|
||||||
// return route.routingType == 'INBOUND' && (
|
|
||||||
// runningRoute
|
|
||||||
// ? [runningRoute.startSectionCode, runningRoute.endSectionCode].includes(route.startSectionCode)
|
|
||||||
// : true
|
|
||||||
// );
|
|
||||||
// });
|
|
||||||
|
|
||||||
this.checkRouteCurrentValue();
|
this.checkRouteCurrentValue();
|
||||||
},
|
},
|
||||||
// onInboundRouteChange(inboundRouting = '') {
|
|
||||||
// const outboundRoute = this.routingList.find(route => route.value == this.formModel.outboundRouting);
|
|
||||||
// const inboundRoute = this.routingList.find(route => route.value == this.formModel.inboundRouting);
|
|
||||||
|
|
||||||
// if (this.formModel.runningRouting) {
|
|
||||||
// this.runningRouteList = this.covertRouting(Object.values(this.runningRoutingMap), route => {
|
|
||||||
// return route.runningRouting1 && route.runningRouting2 && (
|
|
||||||
// outboundRoute && [route.startSectionCode, route.endSectionCode].includes(outboundRoute.endSectionCode) ||
|
|
||||||
// inboundRoute && [route.startSectionCode, route.endSectionCode].includes(inboundRoute.startSectionCode)
|
|
||||||
// );
|
|
||||||
// });
|
|
||||||
// } else {
|
|
||||||
// this.runningRouteList = Object.values(this.runningRoutingMap).filter(route => {
|
|
||||||
// return route.runningRouting1 && route.runningRouting2 && (
|
|
||||||
// outboundRoute && !inboundRoute && [route.startSectionCode, route.endSectionCode].includes(outboundRoute.endSectionCode) ||
|
|
||||||
// !outboundRoute && inboundRoute && [route.startSectionCode, route.endSectionCode].includes(inboundRoute.startSectionCode) ||
|
|
||||||
// outboundRoute && inboundRoute && (
|
|
||||||
// outboundRoute.endSectionCode != inboundRoute.startSectionCode && JSON.stringify([route.startSectionCode, route.endSectionCode].sort()) == JSON.stringify([outboundRoute.endSectionCode, inboundRoute.startSectionCode].sort()) ||
|
|
||||||
// outboundRoute.endSectionCode == inboundRoute.startSectionCode && [route.startSectionCode, route.endSectionCode].includes(outboundRoute.endSectionCode)
|
|
||||||
// ) ||
|
|
||||||
// !inboundRoute && !outboundRoute
|
|
||||||
// );
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (!inboundRouting) {
|
|
||||||
// this.inboundRouteList = this.covertRouting(this.routingList, route => {
|
|
||||||
// return route.routingType == 'INBOUND';
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
|
|
||||||
// this.checkRouteCurrentValue();
|
|
||||||
// },
|
|
||||||
doClose() {
|
doClose() {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
// this.$refs.dataform.validateField('runningRouting');
|
// this.$refs.dataform.validateField('runningRouting');
|
||||||
this.$refs.dataform.resetForm();
|
this.$refs.dataform.resetForm();
|
||||||
|
this.$refs.dataform.allSelectBlur();
|
||||||
|
this.changeSectionSelected(this.oldsection, false);
|
||||||
// this.$refs.dataform.clearValidate();
|
// this.$refs.dataform.clearValidate();
|
||||||
// blur
|
// blur
|
||||||
this.formModel = {
|
this.formModel = {
|
||||||
gernarateType:'01',
|
gernarateType:'02',
|
||||||
serviceNumber:'', // 服务号
|
serviceNumber:'', // 服务号
|
||||||
beginTime: '', // 开始时间
|
beginTime: '06:00:00', // 开始时间
|
||||||
overTime: '', // 结束时间
|
overTime: '22:00:00', // 结束时间
|
||||||
runLevel:'', // 运行等级
|
runLevel:3, // 运行等级
|
||||||
departureInterval:180, // 发车间隔
|
departureInterval:300, // 发车间隔
|
||||||
outAndIn:false, // 自动生成出入库
|
outAndIn:false, // 自动生成出入库
|
||||||
// inboundRouting:'', // 回库交路code
|
|
||||||
// outboundRouting:'', // 出库交路code
|
|
||||||
runningRouting1: '', // 环路code1
|
runningRouting1: '', // 环路code1
|
||||||
runningRouting2: '', // 环路code2
|
runningRouting2: '', // 环路code2
|
||||||
runningRouting:''
|
runningRouting:''
|
||||||
};
|
};
|
||||||
this.dialogShow = false;
|
this.$emit('close');
|
||||||
|
// this.dialogShow = false;
|
||||||
},
|
},
|
||||||
covertRouting(list, cb = e => true) {
|
covertRouting(list, cb = e => true) {
|
||||||
return list.filter(route=> cb(route));
|
return list.filter(route=> cb(route));
|
||||||
@ -395,9 +297,58 @@ export default {
|
|||||||
this.$messageBox(error.message);
|
this.$messageBox(error.message);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
changeSectionSelected(selectedList, flag) {
|
||||||
|
if (selectedList && selectedList.length > 0) {
|
||||||
|
if (flag) {
|
||||||
|
// if (this.oldsection.length > 0) {
|
||||||
|
// this.oldsection.forEach((sectionInfo)=>{
|
||||||
|
// const section = this.$store.getters['map/getDeviceByCode'](sectionInfo.sectionCode);
|
||||||
|
// section.instance.drawBatchSelected(section, '');
|
||||||
|
// });
|
||||||
|
// this.oldsection = [];
|
||||||
|
// }
|
||||||
|
selectedList.forEach(each=>{
|
||||||
|
const section = this.$store.getters['map/getDeviceByCode'](each.sectionCode);
|
||||||
|
const list = section.logicSectionCodeList;
|
||||||
|
// if()
|
||||||
|
// relSwitchCode
|
||||||
|
if (list && list.length > 0) {
|
||||||
|
list.forEach(logicSectionCode=>{
|
||||||
|
const logicSection = this.$store.getters['map/getDeviceByCode'](logicSectionCode);
|
||||||
|
this.oldsection.push(logicSection);
|
||||||
|
logicSection.instance.drawBatchSelected(section, 'routingSection');
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.oldsection.push({sectionCode:section.code});
|
||||||
|
section.instance.drawBatchSelected(section, 'routingSection');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.$jlmap.setCenter(selectedList[0].sectionCode);
|
||||||
|
} else {
|
||||||
|
selectedList.forEach(each=>{
|
||||||
|
const section = this.$store.getters['map/getDeviceByCode'](each.sectionCode);
|
||||||
|
const list = section.logicSectionCodeList;
|
||||||
|
if (list && list.length > 0) {
|
||||||
|
list.forEach(logicSectionCode=>{
|
||||||
|
const logicSection = this.$store.getters['map/getDeviceByCode'](logicSectionCode);
|
||||||
|
logicSection.instance.drawBatchSelected(section, '');
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
section.instance.drawBatchSelected(section, '');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
|
.gerneratePlanDialog{
|
||||||
|
display: inline-block;
|
||||||
|
margin-top: 20px;
|
||||||
|
margin-left: 150px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -402,7 +402,7 @@ export default {
|
|||||||
tripNumber: this.tripNumber,
|
tripNumber: this.tripNumber,
|
||||||
startTime: formatTime(trainInfo.stationTimeList[0].secondTime + 7200),
|
startTime: formatTime(trainInfo.stationTimeList[0].secondTime + 7200),
|
||||||
endTime: formatTime(trainInfo.stationTimeList[lastIndex].secondTime + 7200),
|
endTime: formatTime(trainInfo.stationTimeList[lastIndex].secondTime + 7200),
|
||||||
routingCode : resp.data.code,
|
routingCode : resp.data.id,
|
||||||
arriveConfigList: [],
|
arriveConfigList: [],
|
||||||
startTbFront: resp.data.startTbFront,
|
startTbFront: resp.data.startTbFront,
|
||||||
endTbFront: resp.data.endTbFront
|
endTbFront: resp.data.endTbFront
|
||||||
@ -436,6 +436,9 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
newstationTimeList.forEach((newstationTime, index)=>{
|
newstationTimeList.forEach((newstationTime, index)=>{
|
||||||
|
if (resp.data.startTbFront == false) {
|
||||||
|
index += 1;
|
||||||
|
}
|
||||||
const newModel = {
|
const newModel = {
|
||||||
sectionCode:resp.data.parkSectionCodeList[index].sectionCode,
|
sectionCode:resp.data.parkSectionCodeList[index].sectionCode,
|
||||||
stationCode:newstationTime.stationCode,
|
stationCode:newstationTime.stationCode,
|
||||||
|
@ -105,7 +105,7 @@ export default {
|
|||||||
] },
|
] },
|
||||||
{ prop: 'runningRouting1', label: '环路交路1', type: 'select', show:false},
|
{ prop: 'runningRouting1', label: '环路交路1', type: 'select', show:false},
|
||||||
{ prop: 'runningRouting2', label: '环路交路2', type: 'select', show:false},
|
{ prop: 'runningRouting2', label: '环路交路2', type: 'select', show:false},
|
||||||
{prop:'runningRouting', label:'环路', type: 'select', options:this.covertRouting(), noDataText:'请先设置交路', change:true, onChange:this.changeRoute}
|
{ prop:'runningRouting', label:'环路', type: 'select', options:this.covertRouting(), noDataText:'请先设置交路', change:true, onChange:this.changeRoute}
|
||||||
// { prop: 'startStationCode', label: '起始站', type: 'select', options: this.stationList },
|
// { prop: 'startStationCode', label: '起始站', type: 'select', options: this.stationList },
|
||||||
// { prop: 'endStationCode', label: '终止站', type: 'select', options: this.stationList }
|
// { prop: 'endStationCode', label: '终止站', type: 'select', options: this.stationList }
|
||||||
]
|
]
|
||||||
@ -142,7 +142,7 @@ export default {
|
|||||||
if (!data) { runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode] = {}; }
|
if (!data) { runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode] = {}; }
|
||||||
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].label = elem.name;
|
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].label = elem.name;
|
||||||
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].value = elem.startSectionCode + '-' + elem.endSectionCode;
|
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].value = elem.startSectionCode + '-' + elem.endSectionCode;
|
||||||
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].runningRouting1 = elem.code;
|
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].runningRouting1 = elem.id;
|
||||||
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].startStationCode = elem.startStationCode;
|
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].startStationCode = elem.startStationCode;
|
||||||
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].endStationCode = elem.endStationCode;
|
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].endStationCode = elem.endStationCode;
|
||||||
} else {
|
} else {
|
||||||
@ -152,7 +152,7 @@ export default {
|
|||||||
if (!data) { runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode] = {}; }
|
if (!data) { runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode] = {}; }
|
||||||
// runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode].label = elem.name;
|
// runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode].label = elem.name;
|
||||||
runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode].value = elem.endSectionCode + '-' + elem.startSectionCode;
|
runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode].value = elem.endSectionCode + '-' + elem.startSectionCode;
|
||||||
runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode].runningRouting2 = elem.code;
|
runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode].runningRouting2 = elem.id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog :title="title" :visible.sync="dialogShow" custom-class="content-route" width="100%" :fullscreen="true" top="0px" :before-close="close" :z-index="2000" :append-to-body="true">
|
<el-dialog :title="title" :visible.sync="dialogShow" custom-class="content-route" width="100%" :fullscreen="true" top="0px" :before-close="close" :z-index="2000" :append-to-body="true">
|
||||||
<div class="content-box">
|
<div class="content-box">
|
||||||
<jlmap-visual ref="jlmapVisual" @onMenu="onContextmenu" @onSelect="clickEvent" />
|
<div v-if="type=='generateRouting'">
|
||||||
|
<gernarate-plan ref="gernaratePlanTrain" @close="closeDialog" @mapLoading="mapLoading" />
|
||||||
|
</div>
|
||||||
|
<jlmap-visual ref="jlmapVisual" v-loading="loadingMap" @onMenu="onContextmenu" @onSelect="clickEvent" />
|
||||||
<!-- :style="{height: $store.state.app.height-54+'px' }" -->
|
<!-- :style="{height: $store.state.app.height-54+'px' }" -->
|
||||||
<div class="routeMap">
|
<div v-if="type=='routeMap'" class="routeMap">
|
||||||
<route-config v-if="type=='routeMap'" ref="routeConfig" />
|
<route-config ref="routeConfig" />
|
||||||
<!-- <runplan-config v-if="type=='runplanParams'" ref="runPlanConfig" /> -->
|
<!-- <runplan-config v-if="type=='runplanParams'" ref="runPlanConfig" /> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -16,13 +19,15 @@ import JlmapVisual from '@/views/newMap/jlmapNew/index';
|
|||||||
import { loadMapDataById } from '@/utils/loaddata';
|
import { loadMapDataById } from '@/utils/loaddata';
|
||||||
import { EventBus } from '@/scripts/event-bus';
|
import { EventBus } from '@/scripts/event-bus';
|
||||||
import RouteConfig from './routeConfig';
|
import RouteConfig from './routeConfig';
|
||||||
|
import GernaratePlan from '../menus/gernaratePlanTrain';
|
||||||
// import RunplanConfig from './runplanConfig';
|
// import RunplanConfig from './runplanConfig';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'RouteMap',
|
name: 'RouteMap',
|
||||||
components: {
|
components: {
|
||||||
JlmapVisual,
|
JlmapVisual,
|
||||||
RouteConfig
|
RouteConfig,
|
||||||
|
GernaratePlan
|
||||||
// RunplanConfig
|
// RunplanConfig
|
||||||
},
|
},
|
||||||
props:{
|
props:{
|
||||||
@ -34,7 +39,8 @@ export default {
|
|||||||
dialogShow: false,
|
dialogShow: false,
|
||||||
oldDevice: null,
|
oldDevice: null,
|
||||||
oldsection:[],
|
oldsection:[],
|
||||||
isFirst:true
|
isFirst:true,
|
||||||
|
loadingMap:false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -52,18 +58,16 @@ export default {
|
|||||||
this.type = type;
|
this.type = type;
|
||||||
if (this.type == 'routeMap') {
|
if (this.type == 'routeMap') {
|
||||||
this.title = '交路配置';
|
this.title = '交路配置';
|
||||||
|
} else if (this.type == 'generateRouting') {
|
||||||
|
this.title = '生成计划';
|
||||||
}
|
}
|
||||||
// else if (this.type == 'runplanParams') {
|
|
||||||
// this.title = '参数配置';
|
|
||||||
|
|
||||||
// }
|
|
||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
await this.setWindowSize();
|
await this.setWindowSize();
|
||||||
if (this.isFirst) {
|
if (this.isFirst) {
|
||||||
this.loadInitPage();
|
this.loadInitPage();
|
||||||
}
|
}
|
||||||
this.isFirst = false;
|
this.isFirst = false;
|
||||||
// if (this.type == 'runplanParams') { this.$refs.runPlanConfig.doShow(); }
|
if (this.type == 'generateRouting') { this.$refs.gernaratePlanTrain.doShow(); }
|
||||||
},
|
},
|
||||||
// 获取设备数据
|
// 获取设备数据
|
||||||
getDeviceByEm(em) {
|
getDeviceByEm(em) {
|
||||||
@ -100,8 +104,14 @@ export default {
|
|||||||
},
|
},
|
||||||
setWindowSize() {
|
setWindowSize() {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
const width = this.$store.state.app.width * 0.7;
|
let width;
|
||||||
const height = this.$store.state.app.height - 54;
|
if (this.type == 'generateRouting') {
|
||||||
|
width = this.$store.state.app.width - 500;
|
||||||
|
} else {
|
||||||
|
width = this.$store.state.app.width * 0.7;
|
||||||
|
|
||||||
|
}
|
||||||
|
const height = this.$store.state.app.height - 49;
|
||||||
this.$store.dispatch('config/resize', { width, height });
|
this.$store.dispatch('config/resize', { width, height });
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -134,6 +144,13 @@ export default {
|
|||||||
this.dialogShow = false;
|
this.dialogShow = false;
|
||||||
if (this.type == 'routeMap') { this.$refs.routeConfig.createRouteEvent(); }
|
if (this.type == 'routeMap') { this.$refs.routeConfig.createRouteEvent(); }
|
||||||
// if (this.type == 'runplanParams') { this.$refs.runPlanConfig.clear(); }
|
// if (this.type == 'runplanParams') { this.$refs.runPlanConfig.clear(); }
|
||||||
|
if (this.type == 'generateRouting') { this.$refs.gernaratePlanTrain.doClose(); }
|
||||||
|
},
|
||||||
|
closeDialog() {
|
||||||
|
this.dialogShow = false;
|
||||||
|
},
|
||||||
|
mapLoading(status) {
|
||||||
|
this.loadingMap = status;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -177,5 +194,11 @@ export default {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.el-dialog.is-fullscreen.content-route .el-dialog__header{
|
||||||
|
padding-top: 15px !important;
|
||||||
|
.el-dialog__headerbtn{
|
||||||
|
top:15px;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|