Merge remote-tracking branch 'origin/test' into thailand

# Conflicts:
#	src/views/newMap/display/memberManage/addMember.vue
#	src/views/newMap/display/memberManage/membersManage.vue
#	src/views/newMap/display/newChat/chatDialog.vue
#	src/views/newMap/display/simulationMenu/simulationMenu.vue
This commit is contained in:
fan 2023-05-26 10:00:56 +08:00
commit 641084eb3c
11 changed files with 195 additions and 261 deletions

View File

@ -77,29 +77,29 @@ export default {
{ label: '车务段段长', value: 'TRAIN_MASTER', enLabel: 'Train_Master' } { label: '车务段段长', value: 'TRAIN_MASTER', enLabel: 'Train_Master' }
], ],
roleTypeList: [ roleTypeList: [
{label: '行调', value: 'DISPATCHER'}, {label: 'NCC调度', value: 'NCC_DISPATCHER', simTypeList: ['METRO', 'RAILWAY', 'EMERGENCY']},
{label: 'NCC调度', value: 'NCC_DISPATCHER'}, {label: '信息调度', value: 'OCC_DISPATCHER', simTypeList: ['METRO', 'RAILWAY', 'EMERGENCY']},
{label: '信息调度', value: 'OCC_DISPATCHER'}, {label: '行调', value: 'DISPATCHER', simTypeList: ['METRO', 'RAILWAY', 'EMERGENCY']},
{label: '行值', value: 'STATION_SUPERVISOR'}, {label: '行值', value: 'STATION_SUPERVISOR', simTypeList: ['METRO', 'RAILWAY', 'EMERGENCY']},
{label: '司机', value: 'DRIVER'}, {label: '司机', value: 'DRIVER', simTypeList: ['METRO', 'RAILWAY', 'EMERGENCY']},
{label: '通号', value: 'MAINTAINER'}, {label: '通号', value: 'MAINTAINER', simTypeList: ['METRO', 'RAILWAY', 'EMERGENCY']},
{label: '车辆段/停车场调度', value: 'DEPOT_DISPATCHER'}, {label: '车辆段/停车场调度', value: 'DEPOT_DISPATCHER', simTypeList: ['METRO']},
{label: '车辆段/停车场信号楼', value: 'SIGNAL_BUILDING'}, {label: '车辆段/停车场信号楼', value: 'SIGNAL_BUILDING', simTypeList: ['METRO']},
{label: '车站助理', value: 'STATION_ASSISTANT'}, {label: '车站助理', value: 'STATION_ASSISTANT', simTypeList: ['RAILWAY']},
{label: '车站站长', value: 'STATION_MASTER'}, {label: '车站站长', value: 'STATION_MASTER', simTypeList: ['RAILWAY']},
{label: '车站信号员', value: 'STATION_SIGNALER'}, {label: '车站信号员', value: 'STATION_SIGNALER', simTypeList: ['RAILWAY']},
{label: '车站客运员', value: 'STATION_PASSENGER'}, {label: '车站客运员', value: 'STATION_PASSENGER', simTypeList: ['RAILWAY']},
{label: '车站扳道员', value: 'STATION_SWITCH_MAN'}, {label: '车站扳道员', value: 'STATION_SWITCH_MAN', simTypeList: ['RAILWAY']},
{label: '车站引导员', value: 'STATION_FACILITATOR'}, {label: '车站引导员', value: 'STATION_FACILITATOR', simTypeList: ['RAILWAY']},
{label: '车站工务工', value: 'STATION_WORKER'}, {label: '车站工务工', value: 'STATION_WORKER', simTypeList: ['RAILWAY']},
{label: '车务段段长', value: 'TRAIN_MASTER'}, {label: '车务段段长', value: 'TRAIN_MASTER', simTypeList: ['METRO']},
{label: '工电调度', value: 'ELECTRIC_DISPATCHER'}, {label: '工电调度', value: 'ELECTRIC_DISPATCHER', simTypeList: ['METRO']},
{ label: '电力工务', value: 'STATION_ELECTRIC_WORKER'}, {label: '电力工务', value: 'STATION_ELECTRIC_WORKER', simTypeList: ['METRO']},
{label: '上级部分', value: 'PARENT_DEPARTMENT'}, {label: '上级部分', value: 'PARENT_DEPARTMENT', simTypeList: ['METRO']},
{label: '派班员', value: 'SCHEDULING'}, {label: '派班员', value: 'SCHEDULING', simTypeList: ['METRO']},
{label: '设备管理员', value: 'DEVICE_MANAGER'}, {label: '设备管理员', value: 'DEVICE_MANAGER', simTypeList: ['RAILWAY']},
{label: '值班主任', value: 'SHIFT_MANAGER'}, {label: '值班主任', value: 'SHIFT_MANAGER', simTypeList: ['METRO']},
{label: '环控调度', value: 'ENVIRONMENT_DISPATCHER'} {label: '环控调度', value: 'ENVIRONMENT_DISPATCHER', simTypeList: ['METRO']}
], ],
releaseReview: [ releaseReview: [
{ enlabel: 'Unpublished', label: '未发布', value: '0' }, { enlabel: 'Unpublished', label: '未发布', value: '0' },

View File

@ -49,7 +49,8 @@ const training = {
domConfig: {}, // 线路功能前端配置项 domConfig: {}, // 线路功能前端配置项
simulationUserType: '', // 仿真用户角色 simulationUserType: '', // 仿真用户角色
simulationCreator: false, simulationCreator: false,
chatBoxMin: true // 聊天框最小化 chatBoxMin: true, // 聊天框最小化
memberTreeData: [] // 仿真成员树数据
}, },
getters: { getters: {
@ -201,6 +202,7 @@ const training = {
state.memberList = memberList; state.memberList = memberList;
state.memberData = {}; state.memberData = {};
if (memberList && memberList.length) { if (memberList && memberList.length) {
let hasUserId = false;
memberList.forEach(item => { memberList.forEach(item => {
state.memberData[item.id] = deepAssign({userId: ''}, item); state.memberData[item.id] = deepAssign({userId: ''}, item);
state.memberData[item.id].disabled = userId == item.userId; state.memberData[item.id].disabled = userId == item.userId;
@ -208,8 +210,14 @@ const training = {
state.roles = item.type; state.roles = item.type;
state.roleDeviceCode = item.deviceCode; state.roleDeviceCode = item.deviceCode;
state.myMemberId = item.id; state.myMemberId = item.id;
hasUserId = true;
} }
}); });
if (!hasUserId) {
state.roles = '';
state.roleDeviceCode = '';
state.myMemberId = '';
}
} }
}, },
setSimulationUserList: (state, simulationUserList) => { setSimulationUserList: (state, simulationUserList) => {
@ -324,6 +332,9 @@ const training = {
}, },
setChatBoxMin: (state, chatBoxMin) => { setChatBoxMin: (state, chatBoxMin) => {
state.chatBoxMin = chatBoxMin; state.chatBoxMin = chatBoxMin;
},
setMemberTreeData: (state, memberTreeData) => {
state.memberTreeData = memberTreeData;
} }
}, },
@ -660,6 +671,9 @@ const training = {
}, },
setChatBoxMin: ({ commit }, chatBoxMin) => { setChatBoxMin: ({ commit }, chatBoxMin) => {
commit('setChatBoxMin', chatBoxMin); commit('setChatBoxMin', chatBoxMin);
},
setMemberTreeData: ({ commit }, memberTreeData) => {
commit('setMemberTreeData', memberTreeData);
} }
} }
}; };

View File

@ -57,7 +57,7 @@
<div class="alarm-message-All"> <div class="alarm-message-All">
<el-card class="box-card"> <el-card class="box-card">
<el-table <el-table
:data="alarmDetailMessageList" :data="alarmDetailMessageListShow"
border border
:cell-style="{'text-align':'center'}" :cell-style="{'text-align':'center'}"
:header-cell-style="{'text-align':'center'}" :header-cell-style="{'text-align':'center'}"
@ -94,6 +94,13 @@
width="105" width="105"
/> />
</el-table> </el-table>
<el-pagination
:current-page="pagination.currentPage"
:page-size="2"
layout="total, prev, pager, next"
:total="pagination.total"
@current-change="handleCurrentChange"
/>
</el-card></div> </el-card></div>
</el-dialog> </el-dialog>
</div> </div>
@ -125,9 +132,14 @@ export default {
]), ]),
showDecisionMessage:{}, showDecisionMessage:{},
alarmDetailMessageList:[], alarmDetailMessageList:[],
alarmDetailMessageListShow:[],
showAlarmImportantMessage:{}, showAlarmImportantMessage:{},
alarmReasonMap:[], alarmReasonMap:[],
oldShowAlarmMessage:{} oldShowAlarmMessage:{},
pagination:{
total:1,
currentPage: 1
}
}; };
}, },
computed: { computed: {
@ -140,13 +152,13 @@ export default {
}, },
watch: { watch: {
alarmDetailMessage(newValue, oldValue) { alarmDetailMessage(newValue, oldValue) {
if (newValue.length > 0) { if (newValue.length > 0 && newValue[0].handleMethod === 'NCC') {
const clone = JSON.parse(JSON.stringify(this.alarmDetailMessage)); const clone = JSON.parse(JSON.stringify(this.alarmDetailMessage));
this.alarmDetailMessageList.unshift(...clone); this.alarmDetailMessageList.unshift(...clone);
this.alarmDetailMessageList.forEach((item, i)=>{ this.alarmDetailMessageList.forEach((item, i)=>{
this.$set(item, 'show', true); this.$set(item, 'show', true);
}); });
if (newValue[0].handleMethod === 'NCC' && this.$store.getters['map/getDeviceByCode'](this.alarmDetailMessageList[0].deviceCode) !== undefined) { if (this.$store.getters['map/getDeviceByCode'](this.alarmDetailMessageList[0].deviceCode) !== undefined) {
this.showAlarmPlayAlarmMusic(); this.showAlarmPlayAlarmMusic();
} }
} }
@ -174,7 +186,11 @@ export default {
showAlarmMessage.show = true; showAlarmMessage.show = true;
const station = this.$store.getters['map/getDeviceByCode'](showAlarmMessage.deviceCode); const station = this.$store.getters['map/getDeviceByCode'](showAlarmMessage.deviceCode);
showAlarmMessage.levelNew = this.mapAlarmMessage.get(showAlarmMessage.level); showAlarmMessage.levelNew = this.mapAlarmMessage.get(showAlarmMessage.level);
showAlarmMessage.deviceCodeNew = '列车' + station.serviceNumber + station.tripNumber; if (station.tripNumber !== undefined) {
showAlarmMessage.deviceCodeNew = '列车' + station.serviceNumber + station.tripNumber;
} else {
showAlarmMessage.deviceCodeNew = '列车' + showAlarmMessage.deviceCode;
}
showAlarmMessage.typeNew = this.mapAlarmMessage.get(showAlarmMessage.type); showAlarmMessage.typeNew = this.mapAlarmMessage.get(showAlarmMessage.type);
const index = showAlarmMessage.description.indexOf('列车'); const index = showAlarmMessage.description.indexOf('列车');
showAlarmMessage.descriptionNew = showAlarmMessage.description.slice(0, index) + showAlarmMessage.deviceCodeNew + showAlarmMessage.description.substring(index + 7); showAlarmMessage.descriptionNew = showAlarmMessage.description.slice(0, index) + showAlarmMessage.deviceCodeNew + showAlarmMessage.description.substring(index + 7);
@ -193,12 +209,20 @@ export default {
} else if (newAlarmMessage.color == 'O') { } else if (newAlarmMessage.color == 'O') {
this.oldShowAlarmMessage = newAlarmMessage; this.oldShowAlarmMessage = newAlarmMessage;
this.showAlarmImportantMessage = newAlarmMessage; this.showAlarmImportantMessage = newAlarmMessage;
} else { } else if (newAlarmMessage.color == 'Y' && this.oldShowAlarmMessage.color == 'O') {
this.showAlarmImportantMessage = this.oldShowAlarmMessage; this.showAlarmImportantMessage = this.oldShowAlarmMessage;
} else {
this.showAlarmImportantMessage = newAlarmMessage;
} }
this.alarmDetailMessageListShow = this.alarmDetailMessageList.slice(0, 2);
this.pagination.total = this.alarmDetailMessageList.length;
this.showAlarmMessageList = true; this.showAlarmMessageList = true;
}, },
goToAlarmDetail() { goToAlarmDetail() {
},
handleCurrentChange(page) {
this.pagination.currentPage = page;
this.alarmDetailMessageListShow = this.alarmDetailMessageList.slice((page - 1) * 2, page * 2);
} }
} }
}; };

View File

@ -43,6 +43,7 @@
<script> <script>
import { addSimulationMember } from '@/api/jointSimulation'; import { addSimulationMember } from '@/api/jointSimulation';
import ConstConfig from '@/scripts/ConstConfig';
export default { export default {
name: 'AddMember', name: 'AddMember',
props: { props: {
@ -78,28 +79,30 @@ export default {
'STATION_FACILITATOR', 'STATION_FACILITATOR',
'STATION_WORKER', 'STATION_WORKER',
'DEVICE_MANAGER' 'DEVICE_MANAGER'
],
typeList: [
{label: 'NCC_DISPATCHER', value: 'NCC_DISPATCHER'},
{label: 'OCC_DISPATCHER', value: 'OCC_DISPATCHER'},
{label: 'DISPATCHER', value: 'DISPATCHER'},
{label: 'MAINTAINER', value: 'MAINTAINER'},
{label: 'STATION_SUPERVISOR', value: 'STATION_SUPERVISOR'},
{label: 'STATION_ASSISTANT', value: 'STATION_ASSISTANT'},
{label: 'STATION_MASTER', value: 'STATION_MASTER'},
{label: 'STATION_SIGNALER', value: 'STATION_SIGNALER'},
{label: 'STATION_PASSENGER', value: 'STATION_PASSENGER'},
{label: 'STATION_SWITCH_MAN', value: 'STATION_SWITCH_MAN'},
{label: 'STATION_FACILITATOR', value: 'STATION_FACILITATOR'},
{label: 'STATION_WORKER', value: 'STATION_WORKER'},
{label: 'DEVICE_MANAGER', value: 'DEVICE_MANAGER'},
{label: 'TRAIN_MASTER', value: 'TRAIN_MASTER'}
] ]
}; };
}, },
computed: { computed: {
title() { title() {
return 'Add simulation role members'; return 'Add simulation role members';
},
simType() {
return this.$route.query.simType || 'METRO';
},
typeList() {
const list = [];
ConstConfig.ConstSelect.roleTypeList.forEach(item => {
if (item.simTypeList.includes(this.simType)) {
const obj = {
...item
};
if (item.value == 'STATION_SUPERVISOR' && this.simType == 'RAILWAY') {
obj.label = 'STATION_SUPERVISOR';
}
list.push(obj);
}
});
return list;
} }
}, },
methods: { methods: {

View File

@ -9,7 +9,7 @@
> >
<div class="room"> <div class="room">
<div class="room__container"> <div class="room__container">
<div style="width: 70%;height: calc(100% - 20px);"> <div style="width: 70%;height: 100%;">
<div style="margin-left: 10px;margin-right: 10px;"> <div style="margin-left: 10px;margin-right: 10px;">
<el-input v-model="queryMember" placeholder="Please enter search person"> <el-input v-model="queryMember" placeholder="Please enter search person">
<el-button slot="append" icon="el-icon-search" /> <el-button slot="append" icon="el-icon-search" />
@ -21,7 +21,7 @@
:data="treeData" :data="treeData"
:props="defaultProps" :props="defaultProps"
default-expand-all default-expand-all
style="margin: 10px;margin-bottom: 0;border: 1px solid #ccc;overflow-y: auto;height: calc(100% - 120px);" style="margin: 10px;margin-bottom: 0;border: 1px solid #ccc;overflow-y: auto;height: calc(100% - 50px);"
:filter-node-method="filterNode" :filter-node-method="filterNode"
> >
<span :id="data.id" slot-scope="{ data }" class="custom-tree-node"> <span :id="data.id" slot-scope="{ data }" class="custom-tree-node">
@ -58,6 +58,7 @@ import eMembers from './e-members';
import { EventBus } from '@/scripts/event-bus'; import { EventBus } from '@/scripts/event-bus';
import { assignUsersPlayRoles } from '@/api/jointSimulation'; import { assignUsersPlayRoles } from '@/api/jointSimulation';
import AddMember from './addMember'; import AddMember from './addMember';
import ConstConfig from '@/scripts/ConstConfig';
export default { export default {
name: 'MembersManage', name: 'MembersManage',
components: { components: {
@ -159,6 +160,9 @@ export default {
group() { group() {
return this.$route.query.group; return this.$route.query.group;
}, },
simType() {
return this.$route.query.simType || 'METRO';
},
userId() { userId() {
return this.$store.state.user ? this.$store.state.user.id : ''; return this.$store.state.user ? this.$store.state.user.id : '';
}, },
@ -198,6 +202,12 @@ export default {
const deviceManagerList = []; const deviceManagerList = [];
const trainMasterList = []; const trainMasterList = [];
const stationElectricWorkerList = []; const stationElectricWorkerList = [];
const signalBuildingList = [];
const shiftManagerList = [];
const environmentDispatherList = [];
const parentDepartmentList = [];
const schedulingList = [];
const t = this.simType == 'METRO' ? 'STATION_SUPERVISOR-' : 'STATION_SUPERVISOR-';
val.forEach(item => { val.forEach(item => {
const device = this.$store.getters['map/getDeviceByCode'](item.deviceCode); const device = this.$store.getters['map/getDeviceByCode'](item.deviceCode);
switch (item.type) { switch (item.type) {
@ -221,6 +231,10 @@ export default {
this.memberData[item.id].labelName = 'DEPOT_DISPATCHER-' + device.name + (item.name || ''); this.memberData[item.id].labelName = 'DEPOT_DISPATCHER-' + device.name + (item.name || '');
depotDispatcherList.push(this.memberData[item.id]); depotDispatcherList.push(this.memberData[item.id]);
break; break;
case 'SIGNAL_BUILDING':
this.memberData[item.id].labelName = 'SIGNAL_BUILDING-' + device.name + (item.name || '');
signalBuildingList.push(this.memberData[item.id]);
break;
case 'STATION_SUPERVISOR': case 'STATION_SUPERVISOR':
this.memberData[item.id].labelName = 'STATION_SUPERVISOR-' + device.name + (item.name ? `-${item.name }` : ''); this.memberData[item.id].labelName = 'STATION_SUPERVISOR-' + device.name + (item.name ? `-${item.name }` : '');
stationSupervisorList.push(this.memberData[item.id]); stationSupervisorList.push(this.memberData[item.id]);
@ -274,103 +288,172 @@ export default {
this.memberData[item.id].labelName = 'TRAIN_MASTER-' + (item.name ? `-${item.name }` : ''); this.memberData[item.id].labelName = 'TRAIN_MASTER-' + (item.name ? `-${item.name }` : '');
trainMasterList.push(this.memberData[item.id]); trainMasterList.push(this.memberData[item.id]);
break; break;
case 'SHIFT_MANAGER':
this.memberData[item.id].labelName = 'SHIFT_MANAGER-' + (item.name ? `-${item.name }` : '');
shiftManagerList.push(this.memberData[item.id]);
break;
case 'ENVIRONMENT_DISPATCHER':
this.memberData[item.id].labelName = 'ENVIRONMENT_DISPATCHER-' + (item.name ? `-${item.name }` : '');
environmentDispatherList.push(this.memberData[item.id]);
break;
case 'PARENT_DEPARTMENT': case 'PARENT_DEPARTMENT':
this.memberData[item.id].labelName = 'PARENT_DEPARTMENT' + (item.name ? `-${item.name }` : ''); this.memberData[item.id].labelName = 'PARENT_DEPARTMENT' + (item.name ? `-${item.name }` : '');
break; break;
case 'SCHEDULING':
this.memberData[item.id].labelName = '派班员' + (item.name ? `-${item.name }` : '');
schedulingList.push(this.memberData[item.id]);
break;
case 'STATION_ELECTRIC_WORKER': case 'STATION_ELECTRIC_WORKER':
this.memberData[item.id].labelName = 'STATION_ELECTRIC_WORKER' + (item.name || ''); this.memberData[item.id].labelName = 'STATION_ELECTRIC_WORKER' + (item.name || '');
stationElectricWorkerList.push(this.memberData[item.id]); stationElectricWorkerList.push(this.memberData[item.id]);
break; break;
// DEVICE_MANAGER:'' deviceManager
} }
}); });
this.treeData = [{ this.treeData = [{
labelName: 'NCC_DISPATCHER', labelName: 'NCC_DISPATCHER',
id: 'nccDispatcher', id: 'nccDispatcher',
memberType: 'NCC_DISPATCHER',
children: nccDispatcherList children: nccDispatcherList
}, { }, {
labelName: 'OCC_DISPATCHER', labelName: 'OCC_DISPATCHER',
id: 'occDispatcher', id: 'occDispatcher',
memberType: 'OCC_DISPATCHER',
children: occDispatcherList children: occDispatcherList
}, { }, {
labelName: 'DISPATCHER', labelName: 'DISPATCHER',
id: 'dispatcher', id: 'dispatcher',
memberType: 'DISPATCHER',
children: dispatcherList children: dispatcherList
}, { }, {
labelName: 'ELECTRIC_DISPATCHER', labelName: 'ELECTRIC_DISPATCHER',
id: 'stationSupervisor', id: 'stationSupervisor',
memberType: 'STATION_SUPERVISOR',
children: stationSupervisorList children: stationSupervisorList
}, { }, {
labelName: 'DRIVER', labelName: 'DRIVER',
id: 'driver', id: 'driver',
memberType: 'DRIVER',
children: driverList children: driverList
}, { }, {
labelName: 'MAINTAINER', labelName: 'MAINTAINER',
id: 'maintainer', id: 'maintainer',
memberType: 'MAINTAINER',
children: maintainerList children: maintainerList
}, { }, {
labelName: 'DEPOT_DISPATCHER', labelName: 'DEPOT_DISPATCHER',
id: 'depotDispatcher', id: 'depotDispatcher',
memberType: 'DEPOT_DISPATCHER',
children: depotDispatcherList children: depotDispatcherList
}, {
labelName: 'SIGNAL_BUILDING',
id: 'signalBuilding',
memberType: 'SIGNAL_BUILDING',
children: signalBuildingList
}, { }, {
labelName: 'ELECTRIC_DISPATCHER', labelName: 'ELECTRIC_DISPATCHER',
id: 'electricDispatcher', id: 'electricDispatcher',
memberType: 'ELECTRIC_DISPATCHER',
children: electricDispatcherList children: electricDispatcherList
}, { }, {
labelName: 'RAIL_CTC', labelName: 'RAIL_CTC',
id: 'ctcOperator', id: 'ctcOperator',
memberType: 'RAIL_CTC',
children: ctcOperatorList children: ctcOperatorList
}, { }, {
labelName: 'STATION_ASSISTANT', labelName: 'STATION_ASSISTANT',
id: 'stationAssistant', id: 'stationAssistant',
memberType: 'STATION_ASSISTANT',
children: stationAssistantList children: stationAssistantList
}, },
{ {
labelName: 'STATION_MASTER', labelName: 'STATION_MASTER',
id: 'stationMaster', id: 'stationMaster',
memberType: 'STATION_MASTER',
children: stationMasterList children: stationMasterList
}, },
{ {
labelName: 'STATION_SIGNALER', labelName: 'STATION_SIGNALER',
id: 'stationSignaler', id: 'stationSignaler',
memberType: 'STATION_SIGNALER',
children: stationSignalerList children: stationSignalerList
}, },
{ {
labelName: 'STATION_PASSENGER', labelName: 'STATION_PASSENGER',
id: 'stationPassenger', id: 'stationPassenger',
memberType: 'STATION_PASSENGER',
children: stationPassengerList children: stationPassengerList
}, },
{ {
labelName: 'STATION_SWITCH_MAN', labelName: 'STATION_SWITCH_MAN',
id: 'stationSwitchMan', id: 'stationSwitchMan',
memberType: 'STATION_SWITCH_MAN',
children: stationSwitchManList children: stationSwitchManList
}, },
{ {
labelName: 'STATION_FACILITATOR', labelName: 'STATION_FACILITATOR',
id: 'stationFacilitator', id: 'stationFacilitator',
memberType: 'STATION_FACILITATOR',
children: stationFacilitatorList children: stationFacilitatorList
}, },
{ {
labelName: 'STATION_WORKER', labelName: 'STATION_WORKER',
id: 'stationWorker', id: 'stationWorker',
memberType: 'STATION_WORKER',
children: stationWorkerList children: stationWorkerList
}, },
{ {
labelName: 'DEVICE_MANAGER', labelName: 'DEVICE_MANAGER',
id: 'deviceManager', id: 'deviceManager',
memberType: 'DEVICE_MANAGER',
children: deviceManagerList children: deviceManagerList
}, },
{ {
labelName: 'TRAIN_MASTER ', labelName: 'TRAIN_MASTER ',
id: 'trainMaster', id: 'trainMaster',
memberType: 'TRAIN_MASTER',
children: trainMasterList children: trainMasterList
}, },
{
labelName: 'SHIFT_MANAGER ',
id: 'shiftManager',
memberType: 'SHIFT_MANAGER',
children: shiftManagerList
},
{
labelName: 'ENVIRONMENT_DISPATCHER ',
id: 'environmentDispather',
memberType: 'ENVIRONMENT_DISPATCHER',
children: environmentDispatherList
},
{ {
labelName: 'STATION_ELECTRIC_WORKER ', labelName: 'STATION_ELECTRIC_WORKER ',
id: 'stationElectricWorker', id: 'stationElectricWorker',
memberType: 'STATION_ELECTRIC_WORKER',
children: stationElectricWorkerList children: stationElectricWorkerList
},
{
labelName: 'PARENT_DEPARTMENT ',
id: 'parentDepartment',
memberType: 'PARENT_DEPARTMENT',
children: parentDepartmentList
},
{
labelName: 'SCHEDULING ',
id: 'scheduling',
memberType: 'SCHEDULING',
children: schedulingList
} }
]; ];
const sType = [];
ConstConfig.ConstSelect.roleTypeList.forEach(ii => {
if (ii.simTypeList.includes(this.simType)) {
sType.push(ii.value);
}
});
this.treeData = this.treeData.filter(ii => {
return sType.includes(ii.memberType);
});
this.$store.dispatch('training/setMemberTreeData', this.treeData);
EventBus.$emit('trainTicketMember', [...stationSupervisorList, ...stationAssistantList]); EventBus.$emit('trainTicketMember', [...stationSupervisorList, ...stationAssistantList]);
this.$nextTick(() => { this.$nextTick(() => {
if (this.$refs.tree) { if (this.$refs.tree) {
@ -402,7 +485,6 @@ export default {
doShow() { doShow() {
this.show = true; this.show = true;
this.memberData = this.$store.state.training.memberData; this.memberData = this.$store.state.training.memberData;
console.log(this.memberData, '*********');
this.simulationUserList = this.$store.state.training.simulationUserList; this.simulationUserList = this.$store.state.training.simulationUserList;
this.$nextTick(() => { this.$nextTick(() => {
if (this.$refs.tree) { if (this.$refs.tree) {
@ -489,7 +571,7 @@ export default {
background: #f0f0f0; background: #f0f0f0;
&__container { &__container {
height: 100%; height: calc(100% - 20px);
display: flex; display: flex;
flex-grow: 1; flex-grow: 1;
padding: 10px; padding: 10px;

View File

@ -111,7 +111,6 @@ export default {
groupList: [], groupList: [],
id: 0, // id id: 0, // id
privateChatId: '', // id privateChatId: '', // id
memberTreeData: [],
menu: [] // menu: [] //
}; };
}, },
@ -162,12 +161,16 @@ export default {
} }
} }
return name; return name;
},
memberTreeData() {
return this.$store.state.training.memberTreeData;
} }
}, },
watch: { watch: {
'$store.state.socket.simulationReset': function (val) { // 仿 '$store.state.socket.simulationReset': function (val) { // 仿
if (val) { if (val) {
this.initGroupList(); this.initGroupList();
this.getGroupList();
} }
}, },
'$store.state.socket.conversationGroup.MESSAGE': function(val) { '$store.state.socket.conversationGroup.MESSAGE': function(val) {
@ -241,6 +244,17 @@ export default {
totalUnread() { totalUnread() {
this.$emit('setTotalUnread', this.totalUnread); this.$emit('setTotalUnread', this.totalUnread);
}, },
dialogVisible() {
if (this.dialogVisible && this.id) {
const index = this.groupList.findIndex(item => {
return item.id == this.id;
});
if (index > -1 && this.getBadge(this.groupList[index].messageList)) {
this.setReadGroup();
this.scrollTop(index);
}
}
},
myMemberId: { myMemberId: {
handler(val) { handler(val) {
this.initGroupList(); this.initGroupList();
@ -249,15 +263,11 @@ export default {
} }
}, },
immediate: true immediate: true
},
memberList () {
this.getTreeData();
} }
}, },
mounted() { mounted() {
}, },
created() { created() {
this.getTreeData();
this.getBaseInfo(); this.getBaseInfo();
}, },
beforeDestroy() { beforeDestroy() {
@ -399,206 +409,6 @@ export default {
this.$store.dispatch('socket/resetConversationGroup'); this.$store.dispatch('socket/resetConversationGroup');
this.groupList = []; this.groupList = [];
}, },
getTreeData() {
const val = this.memberList;
if (val && val.length) {
const dispatcherList = [];
const nccDispatcherList = [];
const occDispatcherList = [];
const electricDispatcherList = [];
const depotDispatcherList = [];
const stationSupervisorList = [];
const driverList = [];
const maintainerList = [];
const ctcOperatorList = [];
const stationAssistantList = [];
const stationMasterList = [];
const stationSignalerList = [];
const stationPassengerList = [];
const stationSwitchManList = [];
const stationFacilitatorList = [];
const stationWorkerList = [];
const deviceManagerList = [];
const trainMasterList = [];
const stationElectricWorkerList = [];
val.forEach(item => {
const device = this.$store.getters['map/getDeviceByCode'](item.deviceCode);
switch (item.type) {
case 'NCC_DISPATCHER':
this.memberData[item.id].labelName = 'NCC_DISPATCHER' + (item.name || '');
nccDispatcherList.push(this.memberData[item.id]);
break;
case 'OCC_DISPATCHER':
this.memberData[item.id].labelName = item.name || '';
occDispatcherList.push(this.memberData[item.id]);
break;
case 'DISPATCHER':
this.memberData[item.id].labelName = 'DISPATCHER' + (item.name || '');
dispatcherList.push(this.memberData[item.id]);
break;
case 'ELECTRIC_DISPATCHER':
this.memberData[item.id].labelName = 'ELECTRIC_DISPATCHER' + (item.name || '');
electricDispatcherList.push(this.memberData[item.id]);
break;
case 'DEPOT_DISPATCHER':
this.memberData[item.id].labelName = 'DEPOT_DISPATCHER-' + `${ device ? device.name : '' }` + (item.name || '');
depotDispatcherList.push(this.memberData[item.id]);
break;
case 'STATION_SUPERVISOR':
this.memberData[item.id].labelName = 'STATION_SUPERVISOR-' + `${ device ? device.name : '' }` + (item.name ? `-${item.name }` : '');
stationSupervisorList.push(this.memberData[item.id]);
break;
case 'DRIVER':
this.memberData[item.id].labelName = 'DRIVER-TRAIN' + item.deviceCode;
driverList.push(this.memberData[item.id]);
break;
case 'MAINTAINER':
this.memberData[item.id].labelName = 'MAINTAINER' + (item.name || '');
maintainerList.push(this.memberData[item.id]);
break;
case 'RAIL_CTC':
this.memberData[item.id].labelName = 'RAIL_CTC' + `${ device ? device.name : '' }`;
ctcOperatorList.push(this.memberData[item.id]);
break;
case 'STATION_ASSISTANT':
this.memberData[item.id].labelName = 'STATION_ASSISTANT-' + `${ device ? device.name : '' }` + (item.name ? `-${item.name }` : '');
stationAssistantList.push(this.memberData[item.id]);
break;
case 'STATION_MASTER':
this.memberData[item.id].labelName = 'STATION_MASTER-' + `${ device ? device.name : '' }` + (item.name ? `-${item.name }` : '');
stationMasterList.push(this.memberData[item.id]);
break;
case 'STATION_SIGNALER':
this.memberData[item.id].labelName = 'STATION_SIGNALER-' + `${ device ? device.name : '' }` + (item.name ? `-${item.name }` : '');
stationSignalerList.push(this.memberData[item.id]);
break;
case 'STATION_PASSENGER':
this.memberData[item.id].labelName = 'STATION_PASSENGER-' + `${ device ? device.name : '' }` + (item.name ? `-${item.name }` : '');
stationPassengerList.push(this.memberData[item.id]);
break;
case 'STATION_SWITCH_MAN':
this.memberData[item.id].labelName = 'STATION_SWITCH_MAN-' + `${ device ? device.name : '' }` + (item.name ? `-${item.name }` : '');
stationSwitchManList.push(this.memberData[item.id]);
break;
case 'STATION_FACILITATOR':
this.memberData[item.id].labelName = 'STATION_FACILITATOR-' + `${ device ? device.name : '' }` + (item.name ? `-${item.name }` : '');
stationFacilitatorList.push(this.memberData[item.id]);
break;
case 'STATION_WORKER':
this.memberData[item.id].labelName = 'STATION_WORKER-' + `${ device ? device.name : '' }` + (item.name ? `-${item.name }` : '');
stationWorkerList.push(this.memberData[item.id]);
break;
case 'DEVICE_MANAGER':
this.memberData[item.id].labelName = 'DEVICE_MANAGER-' + `${ device ? device.name : '' }` + (item.name ? `-${item.name }` : '');
deviceManagerList.push(this.memberData[item.id]);
break;
case 'TRAIN_MASTER':
this.memberData[item.id].labelName = 'TRAIN_MASTER-' + (item.name ? `-${item.name }` : '');
trainMasterList.push(this.memberData[item.id]);
break;
case 'PARENT_DEPARTMENT':
this.memberData[item.id].labelName = 'PARENT_DEPARTMENT' + (item.name ? `-${item.name }` : '');
break;
case 'STATION_ELECTRIC_WORKER':
this.memberData[item.id].labelName = 'STATION_ELECTRIC_WORKER' + (item.name || '');
stationElectricWorkerList.push(this.memberData[item.id]);
break;
}
});
this.memberTreeData = [{
labelName: 'NCC_DISPATCHER',
id: 'nccDispatcher',
children: nccDispatcherList
}, {
labelName: 'OCC_DISPATCHER',
id: 'occDispatcher',
children: occDispatcherList
}, {
labelName: 'DISPATCHER',
id: 'dispatcher',
children: dispatcherList
}, {
labelName: 'STATION_SUPERVISOR',
id: 'stationSupervisor',
children: stationSupervisorList
}, {
labelName: 'DRIVER',
id: 'driver',
children: driverList
}, {
labelName: 'MAINTAINER',
id: 'maintainer',
children: maintainerList
}, {
labelName: 'DEPOT_DISPATCHER',
id: 'depotDispatcher',
children: depotDispatcherList
}, {
labelName: 'ELECTRIC_DISPATCHER',
id: 'electricDispatcher',
children: electricDispatcherList
}, {
labelName: 'RAIL_CTC',
id: 'ctcOperator',
children: ctcOperatorList
}, {
labelName: 'STATION_ASSISTANT',
id: 'stationAssistant',
children: stationAssistantList
},
{
labelName: 'STATION_MASTER',
id: 'stationMaster',
children: stationMasterList
},
{
labelName: 'STATION_SIGNALER',
id: 'stationSignaler',
children: stationSignalerList
},
{
labelName: 'STATION_PASSENGER',
id: 'stationPassenger',
children: stationPassengerList
},
{
labelName: 'STATION_SWITCH_MAN',
id: 'stationSwitchMan',
children: stationSwitchManList
},
{
labelName: 'STATION_FACILITATOR',
id: 'stationFacilitator',
children: stationFacilitatorList
},
{
labelName: 'STATION_WORKER',
id: 'stationWorker',
children: stationWorkerList
},
{
labelName: 'DEVICE_MANAGER',
id: 'deviceManager',
children: deviceManagerList
},
{
labelName: 'TRAIN_MASTER ',
id: 'trainMaster',
children: trainMasterList
},
{
labelName: 'STATION_ELECTRIC_WORKER ',
id: 'stationElectricWorker',
children: stationElectricWorkerList
}
];
this.$nextTick(() => {
if (this.$refs.tree) {
this.$refs.tree.filter(this.queryMember);
}
});
}
},
getMessageStatus(val) { getMessageStatus(val) {
const find = this.groupList.find(item => { const find = this.groupList.find(item => {
return item.id == val.id; return item.id == val.id;
@ -758,7 +568,7 @@ export default {
return pId; return pId;
}, },
setReadGroup() { setReadGroup() {
if (!this.id) { return; } if (!this.id || !this.dialogVisible) { return; }
const id = this.id; const id = this.id;
setGroupReadMessage(this.groupId, {id}).then(res => { setGroupReadMessage(this.groupId, {id}).then(res => {
res.data.forEach(item => { res.data.forEach(item => {

View File

@ -91,9 +91,6 @@ export default {
}, },
watch: { watch: {
'$store.state.socket.simulationOver':function(val) { '$store.state.socket.simulationOver':function(val) {
if (this.$store.state.training.simulationCreator) {
return;
}
this.$alert('The simulation you are in has been destroyed', 'Hint', { this.$alert('The simulation you are in has been destroyed', 'Hint', {
confirmButtonText: 'Confirm', confirmButtonText: 'Confirm',
showClose: false, showClose: false,

View File

@ -128,6 +128,7 @@ export default {
this.loadRunPlanId = this.planId; this.loadRunPlanId = this.planId;
this.refresh(); this.refresh();
} }
this.$store.dispatch('app/animationsClose');
}, },
beforeDestroy() { beforeDestroy() {
}, },

View File

@ -258,6 +258,7 @@ export default {
this.loadFilterSectionMap(); this.loadFilterSectionMap();
this.mapStationDirectionData = Object.values(this.$store.state.map.mapStationDirectionData); this.mapStationDirectionData = Object.values(this.$store.state.map.mapStationDirectionData);
this.loadData(); this.loadData();
this.$store.dispatch('app/animationsClose');
}, },
beforeDestroy() { beforeDestroy() {
this.rpMenuPopShow = false; this.rpMenuPopShow = false;

View File

@ -67,6 +67,9 @@ export default {
return this.$store.state.training.started; return this.$store.state.training.started;
} }
}, },
mounted() {
this.$store.dispatch('app/animationsClose');
},
beforeDestroy() { beforeDestroy() {
this.clearSubscribe(); this.clearSubscribe();
this.$store.dispatch('training/reset'); this.$store.dispatch('training/reset');

View File

@ -177,7 +177,6 @@ export default {
if (this.$route.query.lineCode === '14') { if (this.$route.query.lineCode === '14') {
const terminal = this.findTerminalFromMap('baSiDi'); const terminal = this.findTerminalFromMap('baSiDi');
this.changePictureShow(terminal); this.changePictureShow(terminal);
this.$store.dispatch('app/animationsClose');
} else if (this.$route.query.simType === 'RAILWAY') { } else if (this.$route.query.simType === 'RAILWAY') {
const terminal = this.findTerminalFromMap('dispatcherManage'); const terminal = this.findTerminalFromMap('dispatcherManage');
this.changePictureShow(terminal); this.changePictureShow(terminal);