Merge branch 'test_dispaly' of https://git.code.tencent.com/lian-cbtc/jl-client into test_dispaly
This commit is contained in:
commit
9e4576d30c
@ -1,3 +1,4 @@
|
||||
import store from '@/store/index';
|
||||
import Group from 'zrender/src/container/Group';
|
||||
import Rect from 'zrender/src/graphic/shape/Rect';
|
||||
import Text from 'zrender/src/graphic/Text';
|
||||
@ -52,17 +53,19 @@ class ESolidStand extends Group {
|
||||
this.holdTrain.hide();
|
||||
}
|
||||
|
||||
const path = window.location.href;
|
||||
const search = window.location.search;
|
||||
if (path.includes('/display/demon') && search.includes('project=bjd')) {
|
||||
// const path = window.location.href;
|
||||
// const search = window.location.search;
|
||||
// if (path.includes('/display/demon') && search.includes('project=bjd')) {
|
||||
if (store.state.map.picture == 'largePassengerView') {
|
||||
// 文字描述
|
||||
const modelNum = model.num ? model.num : 0;
|
||||
this.arrowText = new Text({
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z + 10,
|
||||
style: {
|
||||
x: computedPosition.x + 35,
|
||||
y: computedPosition.y - 20,
|
||||
text: `${'站台人数: ' + model.num ? model.num : 0}`,
|
||||
text: '站台人数: ' + modelNum,
|
||||
textFill: '#000',
|
||||
textAlign: 'left',
|
||||
textFont: 12 + 'px consolas',
|
||||
@ -70,6 +73,7 @@ class ESolidStand extends Group {
|
||||
textBackgroundColor: style.tipBackgroundColor
|
||||
}
|
||||
});
|
||||
console.log('站台人数: ', modelNum);
|
||||
this.add(this.arrowText);
|
||||
this.arrowText.hide();
|
||||
this.on('mouseover', () => {
|
||||
@ -124,9 +128,10 @@ class ESolidStand extends Group {
|
||||
|
||||
setState(model) {
|
||||
const style = this.model.style;
|
||||
const path = window.location.href;
|
||||
const search = window.location.search;
|
||||
if (!(path.includes('/display/demon') && search.includes('project=bjd'))) {
|
||||
// const path = window.location.href;
|
||||
// const search = window.location.search;
|
||||
// if (!(path.includes('/display/demon') && search.includes('project=bjd'))) {
|
||||
if (store.state.map.picture != 'largePassengerView') {
|
||||
// 列车跳停
|
||||
model.assignSkip && this.setColor(style.StationStand.solidStand.designatedJumpStopColor);
|
||||
// 全部跳停
|
||||
|
@ -106,7 +106,8 @@ class EMouse extends Group {
|
||||
const path = window.location.href;
|
||||
const search = window.location.search;
|
||||
const stationNames = new Map(store.state.map.map.stationList.map(s=>[s.code, s.name]));
|
||||
if (!(path.includes('/display/demon') && search.includes('project=bjd'))) {
|
||||
// if (!(path.includes('/display/demon') && search.includes('project=bjd'))) {
|
||||
if (store.state.map.picture != 'largePassengerView') {
|
||||
if (LangStorage.getLang() == 'en') {
|
||||
text = ` The planned train: ${trainType} \n Table No.: ${this.device.model.serviceNumber} \n Train Trip No.: ${this.device.model.tripNumber}\n Destination: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n Train No.: ${this.device.model.groupNumber}\n Early or late: ${destinationText}\n Direction: ${direction ? 'up' : 'down'}\n Crew No.: \n Start Station: \n Terminal Station: \n Occupied Track: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n Current Station: \n Train-ground communication: normal \n Operation Speed level: 4 \n Detained: ${this.device.model.hold ? 'Detained' : 'Normal'}\n \n 跳停状态: ${this.device.model.jump ? 'Skip to continue moving' : 'Normal'}Stationary: ${!this.device.model.stop ? 'No' : 'Yes'}\n Blocked: No \n Speed: ${this.device.model.speed || 0} km/h \n Authorized Distance: ${this.device.model.maLen || 0} m`;
|
||||
} else {
|
||||
@ -117,7 +118,7 @@ class EMouse extends Group {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
text = `${'车内人数: ' + this.device.model.num}`;
|
||||
text = `${'车内人数: ' + this.device.model.num || 0}`;
|
||||
}
|
||||
|
||||
const trainTip = this.device.style.Train.common.trainTip;
|
||||
@ -138,7 +139,8 @@ class EMouse extends Group {
|
||||
}
|
||||
});
|
||||
|
||||
if (path.includes('/display/demon') && search.includes('project=bjd')) {
|
||||
// if (path.includes('/display/demon') && search.includes('project=bjd')) {
|
||||
if (store.state.map.picture == 'largePassengerView') {
|
||||
this.arrowText.setStyle('textFont', 12 + 'px consolas');
|
||||
this.arrowText.setStyle('y', this.device.model.point.y + 15);
|
||||
this.arrowText.setStyle('x', this.device.model.point.x + 55);
|
||||
|
@ -389,9 +389,10 @@ export default class Train extends Group {
|
||||
// this.setDriveMode(model.driveMode);
|
||||
// }
|
||||
this.setRunStatus(model.stop, flag);
|
||||
const path = window.location.href;
|
||||
const search = window.location.search;
|
||||
if (!(path.includes('/display/demon') && search.includes('project=bjd'))) {
|
||||
// const path = window.location.href;
|
||||
// const search = window.location.search;
|
||||
// if (!(path.includes('/display/demon') && search.includes('project=bjd'))) {
|
||||
if (store.state.map.picture != 'largePassengerView') {
|
||||
if (this.style.Train.common.trainHeadColorChangeMode) {
|
||||
this.setDriveMode(model.driveMode + model.runLevel);
|
||||
} else {
|
||||
@ -414,7 +415,8 @@ export default class Train extends Group {
|
||||
if (style.Section.trainPosition.display) {
|
||||
this.updateSection(object);
|
||||
}
|
||||
if (path.includes('/display/demon') && search.includes('project=bjd')) {
|
||||
// if (path.includes('/display/demon') && search.includes('project=bjd')) {
|
||||
if (store.state.map.picture == 'largePassengerView') {
|
||||
this.handlePassagerColor(model.num);
|
||||
}
|
||||
if (style.Train.trainBody.trainBodyFaultFlashColor) {
|
||||
|
@ -257,6 +257,7 @@ const map = {
|
||||
clearButtonCount: 0, // 清除操作按钮计数器
|
||||
stationControlMap: {}, // 站控显示的map { 当前车站:显示车站列表 }
|
||||
pictureDeviceMap: {}, // 画面设备修正map
|
||||
picture:'', // 当前的客户端
|
||||
domConfig: null, // 仿真配置
|
||||
initClient: '' // 仿真初始客户端
|
||||
},
|
||||
@ -1151,6 +1152,9 @@ const map = {
|
||||
},
|
||||
setPictureDeviceMap: (state, pictureDeviceMap) => {
|
||||
state.pictureDeviceMap = pictureDeviceMap;
|
||||
},
|
||||
setPicture: (state, picture) => {
|
||||
state.picture = picture;
|
||||
}
|
||||
},
|
||||
|
||||
@ -1430,6 +1434,9 @@ const map = {
|
||||
},
|
||||
setPictureDeviceMap: ({ commit }, pictureDeviceMap) => {
|
||||
commit('setPictureDeviceMap', pictureDeviceMap);
|
||||
},
|
||||
setPicture: ({ commit }, picture) => {
|
||||
commit('setPicture', picture);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -49,7 +49,7 @@ export default {
|
||||
},
|
||||
labels: {
|
||||
type: 'select',
|
||||
label: '标 签',
|
||||
label: '分 类',
|
||||
config: {
|
||||
multiple: true,
|
||||
data: []
|
||||
@ -68,7 +68,7 @@ export default {
|
||||
type: 'html'
|
||||
},
|
||||
{
|
||||
title: '标 签',
|
||||
title: '分 类',
|
||||
prop: 'tags',
|
||||
type: 'tagMore',
|
||||
width: '200',
|
||||
@ -274,7 +274,7 @@ export default {
|
||||
const objHeader = {
|
||||
questionTypeIndex: '题型(必填)',
|
||||
topicIndex: '题干(必填)',
|
||||
tagsIndex: '标签',
|
||||
tagsIndex: '分类',
|
||||
option1Index: '选项A(必填)',
|
||||
option2Index: '选项B(必填)',
|
||||
option3Index: '选项C',
|
||||
@ -448,8 +448,8 @@ export default {
|
||||
exportTemplate() {
|
||||
const wb = XLSX.utils.book_new();
|
||||
const data1 = [{A: '理论试题导入模板', B: '', C:'', D:'', E:'', F: '', G: '', H: '', I: '', J: '', K: ''}];
|
||||
const data2 = [{A: '说明:1、本表表头(第一行到第三行)内容不能修改删除;\n 2、支持批量导入的题型:单选题,多选题,判断题,题型不能自定义,只能按照表格提供的进行录入;\n 3、【判断题】在选项A中可填写√ 或正确,选项B中填写× 或错误,答案填写A或B\n 4、【标签】多个标签项使用空格隔开', B: '', C:'', D:'', E:'', F: '', G: '', H: '', I: '', J: '', K: ''}];
|
||||
const data3 = [{A: '序号', B: '题干(必填)', C:'题型(必填)', D:'选项A(必填)', E:'选项B(必填)', F: '选项C', G: '选项D', H: '选项E', I: '选项F', J: '正确答案(必填)', K: '标签'}];
|
||||
const data2 = [{A: '说明:1、本表表头(第一行到第三行)内容不能修改删除;\n 2、支持批量导入的题型:单选题,多选题,判断题,题型不能自定义,只能按照表格提供的进行录入;\n 3、【判断题】在选项A中可填写√ 或正确,选项B中填写× 或错误,答案填写A或B\n 4、【分类】多个分类项使用空格隔开', B: '', C:'', D:'', E:'', F: '', G: '', H: '', I: '', J: '', K: ''}];
|
||||
const data3 = [{A: '序号', B: '题干(必填)', C:'题型(必填)', D:'选项A(必填)', E:'选项B(必填)', F: '选项C', G: '选项D', H: '选项E', I: '选项F', J: '正确答案(必填)', K: '分类'}];
|
||||
const data = [...data1, ...data2, ...data3];
|
||||
const mapType = {
|
||||
select: '单选题',
|
||||
|
@ -18,7 +18,7 @@
|
||||
<div v-html="scope.row.topic" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="tags" label="标签" width="200">
|
||||
<el-table-column prop="tags" label="分类" width="200">
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-for="item in getTagesArr(scope.row.tags)" :key="item" type="primary" disable-transitions style="margin-right: 10px;">{{ item }}</el-tag>
|
||||
</template>
|
||||
|
@ -11,8 +11,8 @@
|
||||
<el-option v-for="it in QuestionTypeList" :key="it.value" :label="it.label" :value="it.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="标 签">
|
||||
<el-select v-model="tagsArr" multiple filterable allow-create default-first-option placeholder="请选择标签" @change="tagsChange">
|
||||
<el-form-item label="分 类">
|
||||
<el-select v-model="tagsArr" multiple filterable allow-create default-first-option placeholder="请选择分类" @change="tagsChange">
|
||||
<el-option v-for="item in labelList" :key="item" :label="item" :value="item" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<div>满分: {{ composition.fullScore }}</div>
|
||||
<div>考试时间: {{ composition.validDuration }}分钟</div>
|
||||
</div>
|
||||
<div class="legend-area">
|
||||
<!-- <div class="legend-area">
|
||||
<div class="legend">
|
||||
<div class="box finished"></div>
|
||||
<div class="text">已作答</div>
|
||||
@ -13,7 +13,7 @@
|
||||
<div class="box"></div>
|
||||
<div class="text">未作答</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<div>理论题</div>
|
||||
<div class="questionList">
|
||||
<div
|
||||
@ -151,21 +151,21 @@ export default {
|
||||
.header {
|
||||
padding: 10px;
|
||||
}
|
||||
.legend-area {
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
.legend {
|
||||
display: flex;
|
||||
.box {
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
background: #eee;
|
||||
}
|
||||
.finished {
|
||||
border: 1px solid #67c23a;
|
||||
}
|
||||
}
|
||||
}
|
||||
// .legend-area {
|
||||
// display: flex;
|
||||
// justify-content: space-evenly;
|
||||
// .legend {
|
||||
// display: flex;
|
||||
// .box {
|
||||
// width: 1rem;
|
||||
// height: 1rem;
|
||||
// background: #eee;
|
||||
// }
|
||||
// .finished {
|
||||
// background: #409eff;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
.questionList {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
@ -178,6 +178,7 @@ export default {
|
||||
text-align: center;
|
||||
line-height: 30px;
|
||||
margin: 3px;
|
||||
border: 2px solid transparent;
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
background-color: #ccc;
|
||||
@ -188,14 +189,17 @@ export default {
|
||||
}
|
||||
}
|
||||
.current {
|
||||
background: #409eff;
|
||||
color: #fff;
|
||||
border: 2px dashed #666;
|
||||
&:hover {
|
||||
background: #66b1ff;
|
||||
}
|
||||
}
|
||||
.submited {
|
||||
border: 1px solid #67c23a;
|
||||
background: #409eff;
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: #66b1ff;
|
||||
}
|
||||
}
|
||||
}
|
||||
.footer {
|
||||
|
@ -354,7 +354,17 @@ export default {
|
||||
});
|
||||
}
|
||||
this.$refs.tree && this.$refs.tree.filter(this.queryMember);
|
||||
},
|
||||
'$store.state.socket.simulationRoleList':function(list) {
|
||||
if (list && list.length) { // 人员变化监控
|
||||
this.checkRoleChange(list);
|
||||
}
|
||||
}
|
||||
// '$store.state.socket.simulationRoleList':function(val) {
|
||||
// if (val && val.length) {
|
||||
// this.handlerMemberOnOff(val);
|
||||
// }
|
||||
// }
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
@ -412,10 +422,26 @@ export default {
|
||||
driverNoShow = false;
|
||||
}
|
||||
return (data.labelName.indexOf(value) !== -1 || flag) && driverNoShow;
|
||||
},
|
||||
checkRoleChange(list) {
|
||||
list.forEach(each => {
|
||||
const item = each.body;
|
||||
if (item.messageType === 'PLAY_CHANGE' && item.userId == this.userId) {
|
||||
const userRole = item.type || 'AUDIENCE';
|
||||
// this.userRole = item.type || 'AUDIENCE';
|
||||
this.$store.dispatch('training/setRoleDeviceCode', item.deviceCode);
|
||||
this.$store.dispatch('training/setUserRole', userRole);
|
||||
this.$store.dispatch('training/setRoles', userRole);
|
||||
// this.deviceCode = item.deviceCode;
|
||||
// this.setSimulationPrdType(this.centralizedStationMap[item.deviceCode]);
|
||||
this.$store.dispatch('training/updateMemberAndUser', { simulationUserList: [item], userId: this.userId });
|
||||
}
|
||||
});
|
||||
}
|
||||
// handlerMemberOnOff(data) {
|
||||
// this.$store.dispatch('training/updateMemberAndUser', { simulationUserList: data, userId: this.userId });
|
||||
// }
|
||||
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
@ -166,6 +166,7 @@ export default {
|
||||
},
|
||||
pictureChange(val) {
|
||||
this.picture = val;
|
||||
this.$store.dispatch('map/setPicture', val);
|
||||
if (val === 'ibp') {
|
||||
this.$nextTick(() => { this.$refs.ibpPlate.show(this.roleDeviceCode, ''); });
|
||||
} else if (val === 'drivingPlan') {
|
||||
|
@ -169,6 +169,7 @@ export default {
|
||||
} else {
|
||||
currentType = 'subway';
|
||||
}
|
||||
this.terminalList = [];
|
||||
[...this.commonTerminal, ...this.terminalMap[currentType]].forEach(item => {
|
||||
if (item.roleList.includes(this.roles)) {
|
||||
this.terminalList.push(item);
|
||||
|
@ -393,9 +393,10 @@ export default {
|
||||
},
|
||||
// 点击选择事件
|
||||
onSelected(em) {
|
||||
const path = window.location.href;
|
||||
const search = window.location.search;
|
||||
if (path.includes('/display/demon') && search.includes('project=bjd')) {
|
||||
// const path = window.location.href;
|
||||
// const search = window.location.search;
|
||||
// if (path.includes('/display/demon') && search.includes('project=bjd')) {
|
||||
if (this.$store.state.map.picture == 'largePassengerView') {
|
||||
if (em.deviceType == 'StationStand') {
|
||||
runPassenger(this.$route.query.group, em.deviceCode).then(netdata => {
|
||||
if (netdata.data) {
|
||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user