# Conflicts:
#	src/views/jointTraining/index.vue
This commit is contained in:
zyy 2019-10-12 13:35:56 +08:00
commit 842f29e5d9
11 changed files with 70 additions and 40 deletions

View File

@ -78,5 +78,7 @@ export default {
modifyConversition: 'Modify Conversition', modifyConversition: 'Modify Conversition',
modifyConversitionButton: 'modify', modifyConversitionButton: 'modify',
drivingByPlan: 'Driving By Plan', drivingByPlan: 'Driving By Plan',
scriptBack: 'Back' scriptBack: 'Back',
speakTo: 'to',
executeCommandTips: 'execute command: '
}; };

View File

@ -79,5 +79,7 @@ export default {
modifyConversitionButton: '修改', modifyConversitionButton: '修改',
drivingByPlan: '按计划行车', drivingByPlan: '按计划行车',
scriptBack: '返回' scriptBack: '返回',
speakTo: '对',
executeCommandTips: '执行指令: '
}; };

View File

@ -74,13 +74,13 @@ export default {
{ label: 'SHD四联段线', value: '19' } { label: 'SHD四联段线', value: '19' }
], ],
roleType: [ roleType: [
{label: '管理员', value: 'Admin'}, {label: '管理员', value: 'Admin', enLabel: 'Admin '},
{label: '教员', value: 'Instructor'}, {label: '教员', value: 'Instructor', enLabel: 'Instructor '},
{label: '行调', value: 'Dispatcher'}, {label: '行调', value: 'Dispatcher', enLabel: 'Dispatcher '},
{label: '行值', value: 'Attendant'}, {label: '行值', value: 'Attendant', enLabel: 'Attendant '},
{label: '观众', value: 'Audience'}, {label: '观众', value: 'Audience', enLabel: 'Audience '},
{label: '司机', value: 'Driver'}, {label: '司机', value: 'Driver', enLabel: 'Driver '},
{label: '通号', value: 'Repair'} {label: '通号', value: 'Repair', enLabel: 'Repair '}
], ],
SimulationType: [ SimulationType: [

View File

@ -3,10 +3,10 @@ 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://test.joylink.club/jlcloud'; BASE_API = 'https://test.joylink.club/jlcloud';
// BASE_API = 'http://192.168.3.5:9000'; // 袁琪 // BASE_API = 'http://192.168.3.5:9000'; // 袁琪
// BASE_API = 'http://192.168.3.6:9000'; // 旭强 // BASE_API = 'http://192.168.3.6:9000'; // 旭强
BASE_API = 'http://192.168.3.41:9000'; // 王兴杰 // BASE_API = 'http://192.168.3.41:9000'; // 王兴杰
} else { } else {
BASE_API = process.env.VUE_APP_BASE_API; BASE_API = process.env.VUE_APP_BASE_API;
} }

View File

@ -11,6 +11,8 @@ import IbpPan from '@/ibp/ibpPan';
import { parser } from '@/ibp/utils/parser'; import { parser } from '@/ibp/utils/parser';
import ibpData from '@/ibp/constant/ibpData'; import ibpData from '@/ibp/constant/ibpData';
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import { exitFullscreen } from '@/utils/screen';
import { putJointTrainingSimulationUser } from '@/api/chat';
export default { export default {
name: 'Ibp', name: 'Ibp',
@ -159,7 +161,13 @@ export default {
}); });
}, },
back() { back() {
this.$emit('hideIbp'); this.group = this.$route.query.group;
this.$store.dispatch('training/over').then(() => {
putJointTrainingSimulationUser(this.group).then(() => {
this.$router.push({ path: `/trainroom`, query: { group: this.group } });
exitFullscreen();
});
});
}, },
ibpDestroy() { ibpDestroy() {
if (this.$ibp) { if (this.$ibp) {

View File

@ -240,9 +240,9 @@ export default {
mapViewLoaded(loading) { mapViewLoaded(loading) {
this.loading = loading; this.loading = loading;
if (loading) { if (loading) {
this.$refs.progressBar.start(); this.$refs.progressBar&&this.$refs.progressBar.start();
} else { } else {
this.$refs.progressBar.end(true); this.$refs.progressBar&&this.$refs.progressBar.end(true);
} }
}, },
// //

View File

@ -43,6 +43,7 @@ import { runDiagramOver, getSimulationInfo } from '@/api/simulation';
import Jl3dDrive from '@/views/jlmap3d/drive/jl3ddrive'; import Jl3dDrive from '@/views/jlmap3d/drive/jl3ddrive';
import { EventBus } from '@/scripts/event-bus'; import { EventBus } from '@/scripts/event-bus';
import ibpData from '@/ibp/constant/ibpData'; import ibpData from '@/ibp/constant/ibpData';
import { Message } from 'element-ui';
export default { export default {
name: 'JointTrainingDraft', name: 'JointTrainingDraft',
@ -148,6 +149,7 @@ export default {
this.group = this.$route.query.group; this.group = this.$route.query.group;
this.mapId = this.$route.query.mapId; this.mapId = this.$route.query.mapId;
this.skinCode = this.$route.query.skinCode; this.skinCode = this.$route.query.skinCode;
Message.closeAll();
}, },
async mounted() { async mounted() {
await this.setWindowSize(); await this.setWindowSize();
@ -159,6 +161,7 @@ export default {
await this.$store.dispatch('training/reset'); await this.$store.dispatch('training/reset');
await this.$store.dispatch('map/mapClear'); await this.$store.dispatch('map/mapClear');
await this.$store.dispatch('training/setGroup', ''); await this.$store.dispatch('training/setGroup', '');
Message.closeAll();
}, },
methods: { methods: {
mousemove(e) { mousemove(e) {
@ -167,11 +170,11 @@ export default {
handleRoomInfo(data) { handleRoomInfo(data) {
if (data.state == '03') { // 退 if (data.state == '03') { // 退
this.$router.push({ path: `/` }); this.$router.push({ path: `/` });
this.clearSubscribe(); // this.clearSubscribe();
} else if (data.state == '01') { // } else if (data.state == '01') { //
const query = { group: this.group }; const query = { group: this.group };
this.$router.push({ path: `/trainroom`, query: query }); this.$router.push({ path: `/trainroom`, query: query });
this.clearSubscribe(); // this.clearSubscribe();
} }
this.$store.dispatch('socket/setJointRoomInfo'); // this.$store.dispatch('socket/setJointRoomInfo'); //
}, },
@ -281,6 +284,11 @@ export default {
this.userRole = res.data.userRole; this.userRole = res.data.userRole;
this.deviceCode = res.data.deviceCode; this.deviceCode = res.data.deviceCode;
this.ibpPart = res.data.ibpPart; this.ibpPart = res.data.ibpPart;
if (this.userRole === 'IBP') {
this.showIbp(this.deviceCode);
} else {
this.hideIbp();
}
return res; return res;
}, },
// 仿 // 仿
@ -295,15 +303,15 @@ export default {
// Admin Instructor Dispatcher Attendant Audience Driver Repair IBP:IBP // Admin Instructor Dispatcher Attendant Audience Driver Repair IBP:IBP
this.userRole = resp.data.userRole; this.userRole = resp.data.userRole;
switch (this.userRole) { switch (this.userRole) {
case 'Admin': this.$store.dispatch('training/setPrdType', '02'); this.$store.dispatch('training/setRoles', 'Admin'); break; case 'Admin': this.$store.dispatch('training/setPrdType', '02'); this.$store.dispatch('training/setRoles', 'Admin'); this.hideIbp(); break;
case 'Instructor': this.$store.dispatch('training/setPrdType', '02'); this.$store.dispatch('training/setRoles', 'Instructor'); break; case 'Instructor': this.$store.dispatch('training/setPrdType', '02'); this.$store.dispatch('training/setRoles', 'Instructor'); this.hideIbp(); break;
case 'Dispatcher': this.$store.dispatch('training/setPrdType', '02'); this.$store.dispatch('training/setRoles', 'Dispatcher'); break; case 'Dispatcher': this.$store.dispatch('training/setPrdType', '02'); this.$store.dispatch('training/setRoles', 'Dispatcher'); this.hideIbp(); break;
case 'Attendant': this.$store.dispatch('training/setPrdType', '01'); this.$store.dispatch('training/setRoles', 'Attendant'); break; case 'Attendant': this.$store.dispatch('training/setPrdType', '01'); this.$store.dispatch('training/setRoles', 'Attendant'); this.hideIbp(); break;
case 'Audience': this.$store.dispatch('training/setPrdType', ''); this.$store.dispatch('training/setRoles', 'Audience'); break; case 'Audience': this.$store.dispatch('training/setPrdType', ''); this.$store.dispatch('training/setRoles', 'Audience'); this.hideIbp(); break;
case 'Driver': this.$store.dispatch('training/setPrdType', ''); this.$store.dispatch('training/setRoles', 'Driver'); break; case 'Driver': this.$store.dispatch('training/setPrdType', ''); this.$store.dispatch('training/setRoles', 'Driver'); this.hideIbp(); break;
case 'Repair': this.$store.dispatch('training/setPrdType', ''); this.$store.dispatch('training/setRoles', 'Repair'); break; case 'Repair': this.$store.dispatch('training/setPrdType', ''); this.$store.dispatch('training/setRoles', 'Repair'); this.hideIbp(); break;
case 'IBP': this.$store.dispatch('training/setPrdType', ''); this.$store.dispatch('training/setRoles', 'IBP'); break; case 'IBP': this.$store.dispatch('training/setPrdType', ''); this.$store.dispatch('training/setRoles', 'IBP'); this.showIbp(resp.data.deviceCode); break;
case 'BigScreen': this.$store.dispatch('training/setPrdType', ''); this.$store.dispatch('training/setRoles', 'BigScreen'); break; case 'BigScreen': this.$store.dispatch('training/setPrdType', ''); this.$store.dispatch('training/setRoles', 'BigScreen'); this.hideIbp(); break;
} }
} }
await this.getTrainDetail(this.skinCode); await this.getTrainDetail(this.skinCode);
@ -338,13 +346,15 @@ export default {
this.ibpShow =false; this.ibpShow =false;
}, },
showIbp(deviceCode) { showIbp(deviceCode) {
if (!deviceCode || !ibpData[deviceCode]) {
this.$messageBox(this.$t('error.ibpNoDraw'));
return;
}
this.drivingShow = false; this.drivingShow = false;
this.panelShow = false; this.panelShow = false;
this.ibpShow = true; this.ibpShow = true;
if (!deviceCode || !ibpData[deviceCode]) {
Message.warning({message: this.$t('error.ibpNoDraw'), duration: 0, showClose: true, type: 'error'});
return;
} else {
Message.closeAll();
}
this.$refs.ibpPlate.show(deviceCode, this.ibpPart); this.$refs.ibpPlate.show(deviceCode, this.ibpPart);
}, },
hidepanel() { hidepanel() {
@ -354,9 +364,11 @@ export default {
this.$refs.Jl3dDrive.show(this.skinCode); this.$refs.Jl3dDrive.show(this.skinCode);
}, },
hideIbp() { hideIbp() {
Message.closeAll();
this.drivingShow = false; this.drivingShow = false;
this.panelShow = true; this.panelShow = true;
this.ibpShow = false; this.ibpShow = false;
this.$refs.ibpPlate.ibpDestroy();
}, },
messageInfo(message, type) { messageInfo(message, type) {
this.$message({ this.$message({

View File

@ -2,7 +2,6 @@
<div> <div>
<div class="display-draft"> <div class="display-draft">
<el-button-group> <el-button-group>
<el-button v-if="isIBP" type="warning" @click="jumpIbp">{{ $t('joinTraining.iBPDisk') }}</el-button>
<el-button v-if="isDriver" type="jumpjlmap3d" @click="jumpjlmap3d">{{ $t('joinTraining.driverPerspective') }}</el-button> <el-button v-if="isDriver" type="jumpjlmap3d" @click="jumpjlmap3d">{{ $t('joinTraining.driverPerspective') }}</el-button>
<template v-if="isAdmin"> <template v-if="isAdmin">
<el-button type="success" :disabled="isDisable" @click="selectBeginTime">{{ $t('joinTraining.drivingByPlan') }}</el-button> <el-button type="success" :disabled="isDisable" @click="selectBeginTime">{{ $t('joinTraining.drivingByPlan') }}</el-button>
@ -79,9 +78,6 @@ export default {
isAdmin() { isAdmin() {
return this.userRole == 'Admin'; return this.userRole == 'Admin';
}, },
isIBP() {
return this.userRole == 'IBP';
},
isBigScreen() { isBigScreen() {
return this.userRole == 'BigScreen'; return this.userRole == 'BigScreen';
} }
@ -309,9 +305,6 @@ export default {
}, },
jumpjlmap3d() { jumpjlmap3d() {
this.$emit('hidepanel'); this.$emit('hidepanel');
},
jumpIbp() {
this.$emit('showIbp', this.deviceCode);
} }
} }
}; };

View File

@ -67,6 +67,7 @@
</template> </template>
<script> <script>
import Vue from 'vue'; import Vue from 'vue';
import Cookies from 'js-cookie';
import DeviceTypeDic from '@/scripts/DeviceTypeDic'; import DeviceTypeDic from '@/scripts/DeviceTypeDic';
// import CommandForm from "./commandForm"; // import CommandForm from "./commandForm";
import ConstConfig from '@/scripts/ConstConfig'; import ConstConfig from '@/scripts/ConstConfig';
@ -181,7 +182,13 @@
let lastData=JSON.stringify(resp.data); let lastData=JSON.stringify(resp.data);
roleTypeList.forEach(function(element){ roleTypeList.forEach(function(element){
let rolename=element.value; let rolename=element.value;
lastData=lastData.replace(new RegExp(rolename,'g'),element.label); // lastData=lastData.replace(new RegExp(rolename,'g'),element.label);
if(Cookies.get("user_lang")=="en"){
lastData=lastData.replace(new RegExp(rolename,'g'),element.enLabel);
}else{
lastData=lastData.replace(new RegExp(rolename,'g'),element.label);
}
}); });
lastData=JSON.parse(lastData); lastData=JSON.parse(lastData);
this.memberList=lastData; this.memberList=lastData;

View File

@ -13,6 +13,7 @@
</template> </template>
<script> <script>
import Vue from 'vue'; import Vue from 'vue';
import Cookies from 'js-cookie';
import ConstConfig from '@/scripts/ConstConfig'; import ConstConfig from '@/scripts/ConstConfig';
import {getScriptPlayMember,getScriptMemberData,cancleScriptMembers,selectScriptMembers,modifyScriptMemberSex} from '@/api/simulation'; import {getScriptPlayMember,getScriptMemberData,cancleScriptMembers,selectScriptMembers,modifyScriptMemberSex} from '@/api/simulation';
export default { export default {
@ -63,7 +64,12 @@
let lastData=data.replace(new RegExp('id','g'),'key'); let lastData=data.replace(new RegExp('id','g'),'key');
roleTypeList.forEach(function(element){ roleTypeList.forEach(function(element){
let rolename=element.value; let rolename=element.value;
lastData=lastData.replace(new RegExp(rolename,'g'),element.label); if(Cookies.get("user_lang")=="en"){
lastData=lastData.replace(new RegExp(rolename,'g'),element.enLabel);
}else{
lastData=lastData.replace(new RegExp(rolename,'g'),element.label);
}
}); });
lastData=JSON.parse(lastData); lastData=JSON.parse(lastData);
return lastData; return lastData;

View File

@ -9,14 +9,14 @@
<span class="otherInfo" v-html="actionInfo.otherInfo"></span> <span class="otherInfo" v-html="actionInfo.otherInfo"></span>
<span v-if="actionInfo.isCoversition"> <span v-if="actionInfo.isCoversition">
<span class="roleClass">{{actionInfo.memberName}}</span> <span class="roleClass">{{actionInfo.memberName}}</span>
<span></span> <span>{{$t('scriptRecord.speakTo')}}</span>
<span class="roleClass">{{actionInfo.targetName}}</span> <span class="roleClass">{{actionInfo.targetName}}</span>
<span>: </span> <span>: </span>
<span>{{actionInfo.reply}}</span> <span>{{actionInfo.reply}}</span>
</span> </span>
<span v-else> <span v-else>
<span class="roleClass">{{actionInfo.memberName}}</span> <span class="roleClass">{{actionInfo.memberName}}</span>
<span>执行指令: </span> <span>{{$t('scriptRecord.executeCommandTips')}}</span>
<span class="commandStyle">{{actionInfo.command}}</span> <span class="commandStyle">{{actionInfo.command}}</span>
</span> </span>
</div> </div>