Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/jl-client into test
This commit is contained in:
commit
5f4a211bf2
@ -285,3 +285,11 @@ export function realDeviceIsUsed(group, projectCode) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取仿真成员列表(新版地图)
|
||||||
|
export function getSimulationMembersNew(group) {
|
||||||
|
return request({
|
||||||
|
url: `/simulation/${group}/members`,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
@ -187,12 +187,12 @@ export function JLmap3d(dom, data,skinCode,storemod,routegroup,project) {
|
|||||||
|
|
||||||
scope.webwork.onmessage = function (event) {
|
scope.webwork.onmessage = function (event) {
|
||||||
//更新列车位置
|
//更新列车位置
|
||||||
if(scope.datatype == "new"){
|
// if(scope.datatype == "new"){
|
||||||
|
//
|
||||||
UpdateTrainNew(camera,trainlisttest);
|
// UpdateTrainNew(camera,trainlisttest);
|
||||||
}else{
|
// }else{
|
||||||
UpdateTrain(camera,trainlisttest);
|
// UpdateTrain(camera,trainlisttest);
|
||||||
}
|
// }
|
||||||
|
|
||||||
if(camerarail.moveswitch == true){
|
if(camerarail.moveswitch == true){
|
||||||
// console.log(camerarail.progress);
|
// console.log(camerarail.progress);
|
||||||
|
@ -190,7 +190,7 @@ export default {
|
|||||||
const operate = {
|
const operate = {
|
||||||
over: true,
|
over: true,
|
||||||
operation: OperationEvent.Switch.locate.menu.operation,
|
operation: OperationEvent.Switch.locate.menu.operation,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_TURN_NP_CHAIN
|
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
||||||
};
|
};
|
||||||
|
|
||||||
this.sendCommand(operate);
|
this.sendCommand(operate);
|
||||||
@ -200,7 +200,7 @@ export default {
|
|||||||
const operate = {
|
const operate = {
|
||||||
over: true,
|
over: true,
|
||||||
operation: OperationEvent.Switch.reverse.menu.operation,
|
operation: OperationEvent.Switch.reverse.menu.operation,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_TURN_RP_CHAIN
|
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
||||||
};
|
};
|
||||||
|
|
||||||
this.sendCommand(operate);
|
this.sendCommand(operate);
|
||||||
|
@ -45,11 +45,36 @@ export default {
|
|||||||
Local: [
|
Local: [
|
||||||
],
|
],
|
||||||
Center: [
|
Center: [
|
||||||
// {
|
{
|
||||||
// label: '设置临时限速',
|
label: '道岔总定',
|
||||||
// handler: this.setSpeed,
|
handler: this.locate,
|
||||||
// cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED
|
cmdType:CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
||||||
// },
|
},
|
||||||
|
{
|
||||||
|
label: '道岔总反',
|
||||||
|
handler: this.reverse,
|
||||||
|
cmdType:CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '道岔单锁',
|
||||||
|
handler: this.lock,
|
||||||
|
cmdType:CMD.Switch.CMD_SWITCH_SINGLE_LOCK
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '道岔单解',
|
||||||
|
handler: this.unlock,
|
||||||
|
cmdType:CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '道岔封闭',
|
||||||
|
handler: this.block,
|
||||||
|
cmdType:CMD.Switch.CMD_SWITCH_BLOCK
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '道岔解封',
|
||||||
|
handler: this.unblock,
|
||||||
|
cmdType:CMD.Switch.CMD_SWITCH_UNBLOCK
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
menuForce: [
|
menuForce: [
|
||||||
@ -213,48 +238,84 @@ export default {
|
|||||||
},
|
},
|
||||||
// 单操到定位
|
// 单操到定位
|
||||||
locate(selectType) {
|
locate(selectType) {
|
||||||
commitOperate(menuOperate.Switch.locate, {switchCode:selectType.code}, 3).then(({valid, operate})=>{
|
let code = selectType.code;
|
||||||
// this.$refs.switchControl.doShow(data.operate, this.selected);
|
let type = 3;
|
||||||
|
if (!code) {
|
||||||
|
code = this.selected.code;
|
||||||
|
type = 0;
|
||||||
|
}
|
||||||
|
commitOperate(menuOperate.Switch.locate, {switchCode: code}, type).then(({valid, operate})=>{
|
||||||
|
!selectType.code && this.$refs.switchControl.doShow(operate, this.selected);
|
||||||
}).catch(error=>{
|
}).catch(error=>{
|
||||||
this.$refs.noticeInfo.doShow({}, error.message);
|
this.$refs.noticeInfo.doShow({}, error.message);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 单操到反位
|
// 单操到反位
|
||||||
reverse(selectType) {
|
reverse(selectType) {
|
||||||
commitOperate(menuOperate.Switch.reverse, {switchCode:selectType.code}, 3).then(({valid, operate})=>{
|
let code = selectType.code;
|
||||||
// this.$refs.switchControl.doShow(data.operate, this.selected);
|
let type = 3;
|
||||||
|
if (!code) {
|
||||||
|
code = this.selected.code;
|
||||||
|
type = 0;
|
||||||
|
}
|
||||||
|
commitOperate(menuOperate.Switch.reverse, {switchCode: code}, type).then(({valid, operate})=>{
|
||||||
|
!selectType.code && this.$refs.switchControl.doShow(operate, this.selected);
|
||||||
}).catch(error=>{
|
}).catch(error=>{
|
||||||
this.$refs.noticeInfo.doShow({}, error.message);
|
this.$refs.noticeInfo.doShow({}, error.message);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 道岔单锁
|
// 道岔单锁
|
||||||
lock(selectType) {
|
lock(selectType) {
|
||||||
commitOperate(menuOperate.Switch.lock, {switchCode:selectType.code}, 3).then(({valid, operate})=>{
|
let code = selectType.code;
|
||||||
// this.$refs.switchControl.doShow(data.operate, this.selected);
|
let type = 3;
|
||||||
|
if (!code) {
|
||||||
|
code = this.selected.code;
|
||||||
|
type = 0;
|
||||||
|
}
|
||||||
|
commitOperate(menuOperate.Switch.lock, {switchCode: code}, type).then(({valid, operate})=>{
|
||||||
|
!selectType.code && this.$refs.switchControl.doShow(operate, this.selected);
|
||||||
}).catch(error=>{
|
}).catch(error=>{
|
||||||
this.$refs.noticeInfo.doShow({}, error.message);
|
this.$refs.noticeInfo.doShow({}, error.message);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 道岔解锁
|
// 道岔解锁
|
||||||
unlock(selectType) {
|
unlock(selectType) {
|
||||||
commitOperate(menuOperate.Switch.unlock, {switchCode:selectType.code}, 3).then(({valid, operate})=>{
|
let code = selectType.code;
|
||||||
// this.$refs.switchUnLock.doShow(data.operate, this.selected);
|
let type = 3;
|
||||||
|
if (!code) {
|
||||||
|
code = this.selected.code;
|
||||||
|
type = 0;
|
||||||
|
}
|
||||||
|
commitOperate(menuOperate.Switch.unlock, {switchCode: code}, type).then(({valid, operate})=>{
|
||||||
|
!selectType.code && this.$refs.switchUnLock.doShow(operate, this.selected);
|
||||||
}).catch(error=>{
|
}).catch(error=>{
|
||||||
this.$refs.noticeInfo.doShow({}, error.message);
|
this.$refs.noticeInfo.doShow({}, error.message);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 道岔封锁
|
// 道岔封锁
|
||||||
block(selectType) {
|
block(selectType) {
|
||||||
commitOperate(menuOperate.Switch.block, {switchCode:selectType.code}, 3).then(({valid, operate})=>{
|
let code = selectType.code;
|
||||||
// this.$refs.switchControl.doShow(data.operate, this.selected);
|
let type = 3;
|
||||||
|
if (!code) {
|
||||||
|
code = this.selected.code;
|
||||||
|
type = 0;
|
||||||
|
}
|
||||||
|
commitOperate(menuOperate.Switch.block, {switchCode: code}, type).then(({valid, operate})=>{
|
||||||
|
!selectType.code && this.$refs.switchControl.doShow(operate, this.selected);
|
||||||
}).catch(error=>{
|
}).catch(error=>{
|
||||||
this.$refs.noticeInfo.doShow({}, error.message);
|
this.$refs.noticeInfo.doShow({}, error.message);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 道岔解封
|
// 道岔解封
|
||||||
unblock(selectType) {
|
unblock(selectType) {
|
||||||
commitOperate(menuOperate.Switch.unblock, {switchCode:selectType.code}, 3).then(({valid, operate})=>{
|
let code = selectType.code;
|
||||||
// this.$refs.switchUnLock.doShow(data.operate, this.selected);
|
let type = 3;
|
||||||
|
if (!code) {
|
||||||
|
code = this.selected.code;
|
||||||
|
type = 0;
|
||||||
|
}
|
||||||
|
commitOperate(menuOperate.Switch.unblock, {switchCode: code}, type).then(({valid, operate})=>{
|
||||||
|
!selectType.code && this.$refs.switchUnLock.doShow(operate, this.selected);
|
||||||
}).catch(error=>{
|
}).catch(error=>{
|
||||||
this.$refs.noticeInfo.doShow({}, error.message);
|
this.$refs.noticeInfo.doShow({}, error.message);
|
||||||
});
|
});
|
||||||
|
@ -89,7 +89,7 @@ export default {
|
|||||||
],
|
],
|
||||||
roleTypeNew:[
|
roleTypeNew:[
|
||||||
{label: '管理员', value: 'ADMIN', enLabel: 'Admin '},
|
{label: '管理员', value: 'ADMIN', enLabel: 'Admin '},
|
||||||
// {label: '教员', value: 'Instructor', enLabel: 'Instructor '},
|
{label: '教员', value: 'Instructor', enLabel: 'Instructor '},
|
||||||
{label: '行调', value: 'DISPATCHER', enLabel: 'Dispatcher '},
|
{label: '行调', value: 'DISPATCHER', enLabel: 'Dispatcher '},
|
||||||
{label: '行值', value: 'STATION_SUPERVISOR', enLabel: 'Attendant '},
|
{label: '行值', value: 'STATION_SUPERVISOR', enLabel: 'Attendant '},
|
||||||
{label: '观众', value: 'AUDIENCE', enLabel: 'Audience '},
|
{label: '观众', value: 'AUDIENCE', enLabel: 'Audience '},
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div style="width:25%;height:100%;position:absolute;left:50%;">
|
<div style="width:100%;height:50%;position:absolute;bottom:4%">
|
||||||
<div id="start" class="panebutton2" style="bottom:1%;left:5%;">
|
<div id="start" class="panebutton2" style="bottom:1%;left:5%;">
|
||||||
<img class="buttonimg2" :src="start" />
|
<img class="buttonimg2" :src="start" />
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="drivepane">
|
<div class="drivepane">
|
||||||
|
|
||||||
<div style="position: absolute;left:50%;top:10%;z-index:10;background: #EBEBEB;">
|
<div style="position: absolute;right:50%;top:60%;z-index:10;background: #EBEBEB;">
|
||||||
<el-select v-model="value" placeholder="请选择列车" @change="currentsel" @visible-change="clickselect">
|
<el-select v-model="value" placeholder="请选择列车" @change="currentsel" @visible-change="clickselect">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in options"
|
v-for="item in options"
|
||||||
@ -14,9 +14,9 @@
|
|||||||
|
|
||||||
<Centerc-Pane ref="centercontrol" :draw-way="drawWay" :group-num="groupnum" :user-role="userrole" />
|
<Centerc-Pane ref="centercontrol" :draw-way="drawWay" :group-num="groupnum" :user-role="userrole" />
|
||||||
|
|
||||||
<Left-Pane ref="leftcontrol" />
|
<!-- <Left-Pane ref="leftcontrol" /> -->
|
||||||
|
|
||||||
<Right-Pane ref="rightcontrol" />
|
<!-- <Right-Pane ref="rightcontrol" /> -->
|
||||||
|
|
||||||
<TopRight-Pane ref="topcontrol" />
|
<TopRight-Pane ref="topcontrol" />
|
||||||
|
|
||||||
@ -148,13 +148,14 @@ import axios from 'axios';
|
|||||||
|
|
||||||
<style>
|
<style>
|
||||||
.drivepane{
|
.drivepane{
|
||||||
width:100%;
|
width:30%;
|
||||||
height:160px;
|
height:320px;
|
||||||
left:0;
|
right:500px;
|
||||||
bottom:0;
|
bottom:0;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
background-image: url('/static/jl3d/control/scene.png');
|
background-image: url('/static/jl3d/control/scene.png');
|
||||||
|
border-radius:10px;
|
||||||
}
|
}
|
||||||
.panebutton{
|
.panebutton{
|
||||||
height: 73px;
|
height: 73px;
|
||||||
|
@ -1,58 +1,73 @@
|
|||||||
<template>
|
<template>
|
||||||
<div style="width:25%;height:100%;position:absolute;bottom:0;left:0;">
|
<div style="width:25%;height:100%;position:absolute;bottom:0;left:0;">
|
||||||
<div id="breaker" class="panebutton" style="top:3%;left:3%;" @tap="breakerclick">
|
<!-- 高速断路器 -->
|
||||||
|
<!-- <div id="breaker" class="panebutton" style="top:3%;left:3%;" @tap="breakerclick">
|
||||||
<img class="buttonimg" :src="greenzimg" />
|
<img class="buttonimg" :src="greenzimg" />
|
||||||
<div class="buttontext">{{ $t('jlmap3d.highSpeedCircuitBreaker') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.highSpeedCircuitBreaker') }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
<div id="carwash" class="panebutton" style="top:3%;left:14%;" @tap="carwashclick">
|
<!-- 洗车模式 -->
|
||||||
|
<!-- <div id="carwash" class="panebutton" style="top:3%;left:14%;" @tap="carwashclick">
|
||||||
<img class="buttonimg" :src="redzimg" />
|
<img class="buttonimg" :src="redzimg" />
|
||||||
<div class="buttontext">{{ $t('jlmap3d.washCarModel') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.washCarModel') }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
<div id="aircom" class="panebutton" style="top:3%;left:28%;" @tap="aircomclick">
|
<!-- 空压机强迫启动 -->
|
||||||
|
<!-- <div id="aircom" class="panebutton" style="top:3%;left:28%;" @tap="aircomclick">
|
||||||
<img class="buttonimg" :src="aircomimg" />
|
<img class="buttonimg" :src="aircomimg" />
|
||||||
<div class="buttontext">{{ $t('jlmap3d.forcedAirCompressor') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.forcedAirCompressor') }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
|
<!-- ATB启动 -->
|
||||||
<div id="atb" class="panebutton" style="top:3%;left:42%;" @tap="atbclick">
|
<div id="atb" class="panebutton" style="top:3%;left:42%;" @tap="atbclick">
|
||||||
<img class="buttonimg" :src="greenimg" />
|
<img class="buttonimg" :src="greenimg" />
|
||||||
<div class="buttontext">{{ $t('jlmap3d.ATBStart') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.ATBStart') }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- BM/CBTC -->
|
||||||
<div id="bmcbtc" class="panebutton" style="top:3%;left:56%;" @tap="bmcbtcclick">
|
<div id="bmcbtc" class="panebutton" style="top:3%;left:56%;" @tap="bmcbtcclick">
|
||||||
<img class="buttonimg" :src="greenimg" />
|
<img class="buttonimg" :src="greenimg" />
|
||||||
<div class="buttontext">BM/CBTC</div>
|
<div class="buttontext">BM/CBTC</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- RM -->
|
||||||
<div id="rm" class="panebutton" style="top:3%;left:70%;" @tap="rmclick">
|
<div id="rm" class="panebutton" style="top:3%;left:70%;" @tap="rmclick">
|
||||||
<img class="buttonimg" :src="greenimg" />
|
<img class="buttonimg" :src="greenimg" />
|
||||||
<div class="buttontext">RM</div>
|
<div class="buttontext">RM</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="relieve" class="panebutton" style="top:3%;left:84%;" @tap="relieveclick">
|
<!-- 强迫缓解 -->
|
||||||
|
<!-- <div id="relieve" class="panebutton" style="top:3%;left:84%;" @tap="relieveclick">
|
||||||
<img class="buttonimg" :src="aircomimg" />
|
<img class="buttonimg" :src="aircomimg" />
|
||||||
<div class="buttontext">{{ $t('jlmap3d.forcedRelieve') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.forcedRelieve') }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
|
<!-- 关左门 -->
|
||||||
<div id="dlclose" class="panebutton" style="bottom:3%;left:3%;" @tap="dlcclick">
|
<div id="dlclose" class="panebutton" style="bottom:3%;left:3%;" @tap="dlcclick">
|
||||||
<img class="buttonimg" :src="greenimg" />
|
<img class="buttonimg" :src="greenimg" />
|
||||||
<div class="buttontext">{{ $t('jlmap3d.closeLeftDoor') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.closeLeftDoor') }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 开左门A -->
|
||||||
<div id="dlopen" class="panebutton" style="bottom:3%;left:14%;" @tap="dloclick">
|
<div id="dlopen" class="panebutton" style="bottom:3%;left:14%;" @tap="dloclick">
|
||||||
<img class="buttonimg" :src="redimg" />
|
<img class="buttonimg" :src="redimg" />
|
||||||
<div class="buttontext">{{ $t('jlmap3d.openLeftDoor') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.openLeftDoor') }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="dlopen" class="panebutton" style="bottom:3%;left:28%;" @tap="dloclick">
|
<!-- 开左门B -->
|
||||||
|
<!-- <div id="dlopen" class="panebutton" style="bottom:3%;left:28%;" @tap="dloclick">
|
||||||
<img class="buttonimg" :src="redimg" />
|
<img class="buttonimg" :src="redimg" />
|
||||||
<div class="buttontext">{{ $t('jlmap3d.openLeftDoor') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.openLeftDoor') }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
|
<!-- ATO启动A -->
|
||||||
<div id="atoa" class="panebutton" style="bottom:3%;left:42%;" @tap="atoaclick">
|
<div id="atoa" class="panebutton" style="bottom:3%;left:42%;" @tap="atoaclick">
|
||||||
<img class="buttonimg" :src="apoimg" />
|
<img class="buttonimg" :src="apoimg" />
|
||||||
<div class="buttontext">{{ $t('jlmap3d.ATOStart') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.ATOStart') }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="atob" class="panebutton" style="bottom:3%;left:56%;" @tap="atobclick">
|
<!-- ATO启动B -->
|
||||||
|
<!-- <div id="atob" class="panebutton" style="bottom:3%;left:56%;" @tap="atobclick">
|
||||||
<img class="buttonimg" :src="apoimg" />
|
<img class="buttonimg" :src="apoimg" />
|
||||||
<div class="buttontext">{{ $t('jlmap3d.ATOStart') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.ATOStart') }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
|
<!-- cbtc -->
|
||||||
<div id="cbtc" class="panebutton" style="bottom:3%;left:70%;" @tap="cbtcclick">
|
<div id="cbtc" class="panebutton" style="bottom:3%;left:70%;" @tap="cbtcclick">
|
||||||
<img class="buttonimg" :src="greenimg" />
|
<img class="buttonimg" :src="greenimg" />
|
||||||
<div class="buttontext">CBTC</div>
|
<div class="buttontext">CBTC</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 电笛按钮 -->
|
||||||
<div id="elflute" class="panebutton" style="bottom:3%;left:84%;" @tap="elfluteclick">
|
<div id="elflute" class="panebutton" style="bottom:3%;left:84%;" @tap="elfluteclick">
|
||||||
<img class="buttonimg" :src="grayimg" />
|
<img class="buttonimg" :src="grayimg" />
|
||||||
<div class="buttontext">{{ $t('jlmap3d.electricHornButton') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.electricHornButton') }}</div>
|
||||||
|
@ -6,17 +6,17 @@
|
|||||||
<div class="buttontext">{{ $t('jlmap3d.openRightDoor') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.openRightDoor') }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="dropen" class="panebutton" style="bottom:1%;left:21%;" @tap="droclick">
|
<!-- <div id="dropen" class="panebutton" style="bottom:1%;left:21%;" @tap="droclick">
|
||||||
<img class="buttonimg" :src="redlimg" />
|
<img class="buttonimg" :src="redlimg" />
|
||||||
<div class="buttontext">{{ $t('jlmap3d.openRightDoor') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.openRightDoor') }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
<div id="drclose" class="panebutton" style="bottom:1%;left:41%;" @tap="drcclick">
|
<div id="drclose" class="panebutton" style="bottom:1%;left:41%;" @tap="drcclick">
|
||||||
<img class="buttonimg" :src="greenimg" />
|
<img class="buttonimg" :src="greenimg" />
|
||||||
<div class="buttontext">{{ $t('jlmap3d.closeRightDoor') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.closeRightDoor') }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="waterswitch" class="panebutton2" style="bottom:1%;left:61%;" @tap="waterclick">
|
<!-- <div id="waterswitch" class="panebutton2" style="bottom:1%;left:61%;" @tap="waterclick">
|
||||||
<img class="buttonimg2" :src="zuoimg" />
|
<img class="buttonimg2" :src="zuoimg" />
|
||||||
<img class="buttonimg2" :src="niuimg" :style="{transform:watertou}" @touchstart='watertouchstart' @touchmove='watertouchmove' @touchend='watertouchend'/>
|
<img class="buttonimg2" :src="niuimg" :style="{transform:watertou}" @touchstart='watertouchstart' @touchmove='watertouchmove' @touchend='watertouchend'/>
|
||||||
<div class="tfbutton" style="font-size:1px;top:5px;left:33px;">{{ $t('jlmap3d.close') }}</div>
|
<div class="tfbutton" style="font-size:1px;top:5px;left:33px;">{{ $t('jlmap3d.close') }}</div>
|
||||||
@ -31,7 +31,7 @@
|
|||||||
<div class="tfbutton" style="font-size:1px;top:13px;left:50px;">{{ $t('jlmap3d.slow') }}</div>
|
<div class="tfbutton" style="font-size:1px;top:13px;left:50px;">{{ $t('jlmap3d.slow') }}</div>
|
||||||
<div class="tfbutton" style="font-size:1px;top:23px;left:50px;">{{ $t('jlmap3d.highSpeed') }}</div>
|
<div class="tfbutton" style="font-size:1px;top:23px;left:50px;">{{ $t('jlmap3d.highSpeed') }}</div>
|
||||||
<div class="buttontext2">{{ $t('jlmap3d.wiperSwitch') }}</div>
|
<div class="buttontext2">{{ $t('jlmap3d.wiperSwitch') }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
<div id="urgestop" class="panebutton" style="top:1%;left:1%;">
|
<div id="urgestop" class="panebutton" style="top:1%;left:1%;">
|
||||||
<img class="buttonimg" :src="urgestopimg" />
|
<img class="buttonimg" :src="urgestopimg" />
|
||||||
@ -47,14 +47,14 @@
|
|||||||
<div class="buttontext2">{{ $t('jlmap3d.doorSideChoose') }}</div>
|
<div class="buttontext2">{{ $t('jlmap3d.doorSideChoose') }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="doormode" class="panebutton2" style="top:1%;left:66%;">
|
<!-- <div id="doormode" class="panebutton2" style="top:1%;left:66%;">
|
||||||
<img class="buttonimg2" :src="zuoimg" />
|
<img class="buttonimg2" :src="zuoimg" />
|
||||||
<img class="buttonimg2" :src="niuimg" :style="{transform:doormodetou}" @touchstart='doormodetouchstart' @touchmove='doormodetouchmove' @touchend='doormodetouchend'/>
|
<img class="buttonimg2" :src="niuimg" :style="{transform:doormodetou}" @touchstart='doormodetouchstart' @touchmove='doormodetouchmove' @touchend='doormodetouchend'/>
|
||||||
<div class="tfbutton" style="font-size:1px;top:13px;left:5px;">AA</div>
|
<div class="tfbutton" style="font-size:1px;top:13px;left:5px;">AA</div>
|
||||||
<div class="tfbutton" style="font-size:1px;top:5px;left:33px;">AM</div>
|
<div class="tfbutton" style="font-size:1px;top:5px;left:33px;">AM</div>
|
||||||
<div class="tfbutton" style="font-size:1px;top:13px;left:50px;">MM</div>
|
<div class="tfbutton" style="font-size:1px;top:13px;left:50px;">MM</div>
|
||||||
<div class="buttontext2">{{ $t('jlmap3d.doorModel') }}</div>
|
<div class="buttontext2">{{ $t('jlmap3d.doorModel') }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -1,10 +1,50 @@
|
|||||||
<template>
|
<template>
|
||||||
<div style="width:25%;height:100%;position:absolute;left:25%;">
|
<div style="width:100%;height:48%;position:absolute;top:0px;">
|
||||||
|
<!-- ATB启动 -->
|
||||||
|
<div id="atb" class="panebutton" style="top:8%;left:3%;" @tap="atbclick">
|
||||||
|
<img class="buttonimg" :src="greenimg" />
|
||||||
|
<div class="buttontext">{{ $t('jlmap3d.ATBStart') }}</div>
|
||||||
|
</div>
|
||||||
|
<!-- BM/CBTC -->
|
||||||
|
<div id="bmcbtc" class="panebutton" style="top:8%;left:17%;" @tap="bmcbtcclick">
|
||||||
|
<img class="buttonimg" :src="greenimg" />
|
||||||
|
<div class="buttontext">BM/CBTC</div>
|
||||||
|
</div>
|
||||||
|
<!-- RM -->
|
||||||
|
<div id="rm" class="panebutton" style="top:8%;left:31%;" @tap="rmclick">
|
||||||
|
<img class="buttonimg" :src="greenimg" />
|
||||||
|
<div class="buttontext">RM</div>
|
||||||
|
</div>
|
||||||
|
<!-- 关左门 -->
|
||||||
|
<div id="dlclose" class="panebutton" style="top:8%;left:45%;" @tap="dlcclick">
|
||||||
|
<img class="buttonimg" :src="greenimg" />
|
||||||
|
<div class="buttontext">{{ $t('jlmap3d.closeLeftDoor') }}</div>
|
||||||
|
</div>
|
||||||
|
<!-- 开左门A -->
|
||||||
|
<div id="dlopen" class="panebutton" style="top:8%;left:59%;" @tap="dloclick">
|
||||||
|
<img class="buttonimg" :src="redimg" />
|
||||||
|
<div class="buttontext">{{ $t('jlmap3d.openLeftDoor') }}</div>
|
||||||
|
</div>
|
||||||
|
<!-- ATO启动A -->
|
||||||
|
<div id="atoa" class="panebutton" style="top:8%;left:73%;" @tap="atoaclick">
|
||||||
|
<img class="buttonimg" :src="apoimg" />
|
||||||
|
<div class="buttontext">{{ $t('jlmap3d.ATOStart') }}</div>
|
||||||
|
</div>
|
||||||
|
<!-- cbtc -->
|
||||||
|
<div id="cbtc" class="panebutton" style="top:8%;left:87%;" @tap="cbtcclick">
|
||||||
|
<img class="buttonimg" :src="greenimg" />
|
||||||
|
<div class="buttontext">CBTC</div>
|
||||||
|
</div>
|
||||||
|
<!-- 电笛按钮 -->
|
||||||
|
<!-- <div id="elflute" class="panebutton" style="bottom:3%;left:84%;" @tap="elfluteclick">
|
||||||
|
<img class="buttonimg" :src="grayimg" />
|
||||||
|
<div class="buttontext">{{ $t('jlmap3d.electricHornButton') }}</div>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
<div id="passlight" class="panebutton2" style="top:1%;left:1%;">
|
<!-- <div id="passlight" class="panebutton2" style="top:1%;left:1%;">
|
||||||
<img class="buttonimg2" :src="zuoimg" />
|
<img class="buttonimg2" :src="zuoimg" />
|
||||||
<img class="buttonimg2" :src="niuimg" :style="{transform:passlighttf}" @touchstart='passlighttouchstart' @touchmove='passlighttouchmove' @touchend='passlighttouchend'/>
|
<img class="buttonimg2" :src="niuimg" :style="{transform:passlighttf}" @touchstart='passlighttouchstart' @touchmove='passlighttouchmove' @touchend='passlighttouchend'/>
|
||||||
<div class="tfbutton" style="font-size:1px;top:5px;left:33px;">{{ $t('jlmap3d.close') }}</div>
|
<div class="tfbutton" style="font-size:1px;top:8px;left:33px;">{{ $t('jlmap3d.close') }}</div>
|
||||||
<div class="tfbutton" style="font-size:1px;top:25px;left:50px;">{{ $t('jlmap3d.open') }}</div>
|
<div class="tfbutton" style="font-size:1px;top:25px;left:50px;">{{ $t('jlmap3d.open') }}</div>
|
||||||
<div class="buttontext2">{{ $t('jlmap3d.roomLightingControl') }}</div>
|
<div class="buttontext2">{{ $t('jlmap3d.roomLightingControl') }}</div>
|
||||||
</div>
|
</div>
|
||||||
@ -12,15 +52,15 @@
|
|||||||
<div id="siv" class="panebutton2" style="top:1%;left:20%;">
|
<div id="siv" class="panebutton2" style="top:1%;left:20%;">
|
||||||
<img class="buttonimg2" :src="zuoimg" />
|
<img class="buttonimg2" :src="zuoimg" />
|
||||||
<img class="buttonimg2" :src="niuimg" :style="{transform:sivtf}" @touchstart='sivtouchstart' @touchmove='sivtouchmove' @touchend='sivtouchend'/>
|
<img class="buttonimg2" :src="niuimg" :style="{transform:sivtf}" @touchstart='sivtouchstart' @touchmove='sivtouchmove' @touchend='sivtouchend'/>
|
||||||
<div class="tfbutton" style="font-size:1px;top:5px;left:33px;">{{ $t('jlmap3d.close') }}</div>
|
<div class="tfbutton" style="font-size:1px;top:8px;left:33px;">{{ $t('jlmap3d.close') }}</div>
|
||||||
<div class="tfbutton" style="font-size:1px;top:25px;left:50px;">{{ $t('jlmap3d.open') }}</div>
|
<div class="tfbutton" style="font-size:1px;top:25px;left:50px;">{{ $t('jlmap3d.open') }}</div>
|
||||||
<div class="buttontext2">{{ $t('jlmap3d.sivsControl') }}</div>
|
<div class="buttontext2">{{ $t('jlmap3d.sivsControl') }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
<div id="driverlight" class="panebutton2" style="top:1%;left:40%;">
|
<!-- <div id="driverlight" class="panebutton2" style="top:1%;left:40%;">
|
||||||
<img class="buttonimg2" :src="zuoimg" />
|
<img class="buttonimg2" :src="zuoimg" />
|
||||||
<img class="buttonimg2" :src="niuimg" :style="{transform:driverlighttf}" @touchstart='driverlighttouchstart' @touchmove='driverlighttouchmove' @touchend='driverlighttouchend'/>
|
<img class="buttonimg2" :src="niuimg" :style="{transform:driverlighttf}" @touchstart='driverlighttouchstart' @touchmove='driverlighttouchmove' @touchend='driverlighttouchend'/>
|
||||||
<div class="tfbutton" style="font-size:1px;top:5px;left:28px;">{{ $t('jlmap3d.shut') }}</div>
|
<div class="tfbutton" style="font-size:1px;top:8px;left:28px;">{{ $t('jlmap3d.shut') }}</div>
|
||||||
<div class="tfbutton" style="font-size:1px;top:25px;left:50px;">{{ $t('jlmap3d.open') }}</div>
|
<div class="tfbutton" style="font-size:1px;top:25px;left:50px;">{{ $t('jlmap3d.open') }}</div>
|
||||||
<div class="buttontext2">{{ $t('jlmap3d.driverRoomLights') }}</div>
|
<div class="buttontext2">{{ $t('jlmap3d.driverRoomLights') }}</div>
|
||||||
</div>
|
</div>
|
||||||
@ -28,41 +68,63 @@
|
|||||||
<div id="headlight" class="panebutton2" style="top:1%;left:60%;">
|
<div id="headlight" class="panebutton2" style="top:1%;left:60%;">
|
||||||
<img class="buttonimg2" :src="zuoimg" />
|
<img class="buttonimg2" :src="zuoimg" />
|
||||||
<img class="buttonimg2" :src="niuimg" :style="{transform:headlighttf}" @touchstart='headlighttouchstart' @touchmove='headlighttouchmove' @touchend='headlighttouchend'/>
|
<img class="buttonimg2" :src="niuimg" :style="{transform:headlighttf}" @touchstart='headlighttouchstart' @touchmove='headlighttouchmove' @touchend='headlighttouchend'/>
|
||||||
<div class="tfbutton" style="font-size:1px;top:5px;left:28px;">{{ $t('jlmap3d.shut') }}</div>
|
<div class="tfbutton" style="font-size:1px;top:8px;left:28px;">{{ $t('jlmap3d.shut') }}</div>
|
||||||
<div class="tfbutton" style="font-size:1px;top:13px;left:50px;">{{ $t('jlmap3d.passingBeam') }}</div>
|
<div class="tfbutton" style="font-size:1px;top:13px;left:50px;">{{ $t('jlmap3d.passingBeam') }}</div>
|
||||||
<div class="tfbutton" style="font-size:1px;top:25px;left:50px">{{ $t('jlmap3d.distanceLight') }}</div>
|
<div class="tfbutton" style="font-size:1px;top:25px;left:50px">{{ $t('jlmap3d.distanceLight') }}</div>
|
||||||
<div class="buttontext2">{{ $t('jlmap3d.headLamp') }}</div>
|
<div class="buttontext2">{{ $t('jlmap3d.headLamp') }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
|
<!-- 受电弓升 -->
|
||||||
<div id="sg" class="panebutton" style="bottom:1%;left:1%;" @tap="sgclink">
|
<!-- <div id="sg" class="panebutton" style="bottom:6%;left:3%;" @tap="sgclink">
|
||||||
<img class="buttonimg" :src="sgimg" />
|
<img class="buttonimg" :src="sgimg" />
|
||||||
<div class="buttontext">{{ $t('jlmap3d.electricGongSheng') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.electricGongSheng') }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
|
<!-- 受电弓降 -->
|
||||||
<div id="jg" class="panebutton" style="bottom:1%;left:20%;" @tap="jgclick">
|
<!-- <div id="jg" class="panebutton" style="bottom:6%;left:17%;" @tap="jgclick">
|
||||||
<img class="buttonimg" :src="jgimg" />
|
<img class="buttonimg" :src="jgimg" />
|
||||||
<div class="buttontext">{{ $t('jlmap3d.pantographFall') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.pantographFall') }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
|
<!-- 试灯按钮 -->
|
||||||
<div id="sl" class="panebutton" style="bottom:1%;left:40%;" @tap="slclick">
|
<!-- <div id="sl" class="panebutton" style="bottom:6%;left:40%;" @tap="slclick">
|
||||||
<img class="buttonimg" :src="slimg" />
|
<img class="buttonimg" :src="slimg" />
|
||||||
<div class="buttontext">{{ $t('jlmap3d.lampButton') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.lampButton') }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
|
<!-- ATP切除 -->
|
||||||
<div id="atp" class="panebutton" style="bottom:1%;left:60%;" @tap="atpclick">
|
<div id="atp" class="panebutton" style="bottom:6%;left:31%;" @tap="atpclick">
|
||||||
<img class="buttonimg" :src="atpimg" />
|
<img class="buttonimg" :src="atpimg" />
|
||||||
<div class="buttontext">{{ $t('jlmap3d.removalATP') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.removalATP') }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="staymode" class="panebutton2" style="bottom:1%;left:80%;">
|
<!-- <div id="staymode" class="panebutton2" style="bottom:6%;left:80%;">
|
||||||
<img class="buttonimg2" :src="zuoimg" />
|
<img class="buttonimg2" :src="zuoimg" />
|
||||||
<img class="buttonimg2" :src="niuimg" :style="{transform:toutransform}" @touchstart='stopmodetouchstart' @touchmove='stopmodetouchmove' @touchend='stopmodetouchend'/>
|
<img class="buttonimg2" :src="niuimg" :style="{transform:toutransform}" @touchstart='stopmodetouchstart' @touchmove='stopmodetouchmove' @touchend='stopmodetouchend'/>
|
||||||
<div class="tfbutton" style="top:25px;left:1px;">{{ $t('jlmap3d.infliction') }}</div>
|
<div class="tfbutton" style="top:25px;left:1px;">{{ $t('jlmap3d.infliction') }}</div>
|
||||||
<div class="tfbutton" style="top:5px;left:25px;">{{ $t('jlmap3d.mesoPosition') }}</div>
|
<div class="tfbutton" style="top:8px;left:25px;">{{ $t('jlmap3d.mesoPosition') }}</div>
|
||||||
<div class="tfbutton" style="top:25px;left:50px;">{{ $t('jlmap3d.remission') }}</div>
|
<div class="tfbutton" style="top:25px;left:50px;">{{ $t('jlmap3d.remission') }}</div>
|
||||||
<div class="buttontext2">{{ $t('jlmap3d.parkingBrakeMode') }}</div>
|
<div class="buttontext2">{{ $t('jlmap3d.parkingBrakeMode') }}</div>
|
||||||
|
</div> -->
|
||||||
|
<div id="dropen" class="panebutton" style="bottom:6%;left:45%;" @tap="droclick">
|
||||||
|
<img class="buttonimg" :src="redlimg" />
|
||||||
|
<div class="buttontext">{{ $t('jlmap3d.openRightDoor') }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="drclose" class="panebutton" style="bottom:6%;left:59%;" @tap="drcclick">
|
||||||
|
<img class="buttonimg" :src="greenimg" />
|
||||||
|
<div class="buttontext">{{ $t('jlmap3d.closeRightDoor') }}</div>
|
||||||
|
</div>
|
||||||
|
<div id="urgestop" class="panebutton" style="bottom:6%;left:73%;">
|
||||||
|
<img class="buttonimg" :src="urgestopimg" />
|
||||||
|
<div class="buttontext">{{ $t('jlmap3d.emergencyBraking') }}</div>
|
||||||
|
</div>
|
||||||
|
<div id="doorpick" class="panebutton2" style="bottom:6%;left:85%;">
|
||||||
|
<img class="buttonimg2" :src="zuoimg" />
|
||||||
|
<img class="buttonimg2" :src="niuimg" :style="{transform:doordirecttou}" @touchstart='doordirecttouchstart' @touchmove='doordirecttouchmove' @touchend='doordirecttouchend'/>
|
||||||
|
<div class="tfbutton" style="font-size:1px;top:13px;left:5px;">{{ $t('jlmap3d.leftSide') }}</div>
|
||||||
|
<div class="tfbutton" style="font-size:1px;top:8px;left:33px;">{{ $t('jlmap3d.location0') }}</div>
|
||||||
|
<div class="tfbutton" style="font-size:1px;top:13px;left:50px;">{{ $t('jlmap3d.rightSide') }}</div>
|
||||||
|
<div class="buttontext2">{{ $t('jlmap3d.doorSideChoose') }}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
@ -80,7 +142,7 @@
|
|||||||
return {
|
return {
|
||||||
move:0,
|
move:0,
|
||||||
movex:"20%",
|
movex:"20%",
|
||||||
apoimg:"",
|
apoimg:"/static/jl3d/control/green.png",
|
||||||
sgimg:"/static/jl3d/control/redz.png",
|
sgimg:"/static/jl3d/control/redz.png",
|
||||||
jgimg:"/static/jl3d/control/greenz.png",
|
jgimg:"/static/jl3d/control/greenz.png",
|
||||||
atpimg:"/static/jl3d/control/atp.png",
|
atpimg:"/static/jl3d/control/atp.png",
|
||||||
@ -88,6 +150,25 @@
|
|||||||
zuoimg:"/static/jl3d/control/zuo.png",
|
zuoimg:"/static/jl3d/control/zuo.png",
|
||||||
niuimg:"/static/jl3d/control/niu.png",
|
niuimg:"/static/jl3d/control/niu.png",
|
||||||
toutransform:"rotate(0deg)",
|
toutransform:"rotate(0deg)",
|
||||||
|
|
||||||
|
redlimg:"/static/jl3d/control/redl.png",
|
||||||
|
greenimg:"/static/jl3d/control/green.png",
|
||||||
|
urgestopimg:"/static/jl3d/control/urgestop.png",
|
||||||
|
doordirecttou:"rotate(0deg)",
|
||||||
|
doormodetou:"rotate(0deg)",
|
||||||
|
watertou:"rotate(0deg)",
|
||||||
|
washtou:"rotate(0deg)",
|
||||||
|
|
||||||
|
greenzimg:"/static/jl3d/control/greenz.png",
|
||||||
|
redzimg:"/static/jl3d/control/redz.png",
|
||||||
|
redimg:"/static/jl3d/control/red.png",
|
||||||
|
greenlimg:"/static/jl3d/control/greenl.png",
|
||||||
|
grayimg:"/static/jl3d/control/gray.png",
|
||||||
|
aircomimg:"/static/jl3d/control/aircom.png",
|
||||||
|
passlighttf:"rotate(0deg)",
|
||||||
|
sivtf:"rotate(0deg)",
|
||||||
|
driverlighttf:"rotate(0deg)",
|
||||||
|
headlighttf:"rotate(0deg)",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
@ -394,7 +394,7 @@ export default {
|
|||||||
height:333px;
|
height:333px;
|
||||||
background: black;
|
background: black;
|
||||||
position:absolute;
|
position:absolute;
|
||||||
bottom:160px;
|
bottom:0;
|
||||||
}
|
}
|
||||||
.meter{
|
.meter{
|
||||||
width:60%;
|
width:60%;
|
||||||
|
@ -47,7 +47,7 @@ export default {
|
|||||||
background-size:100% 100%;
|
background-size:100% 100%;
|
||||||
background-image:url('/static/jl3d/tms.png');
|
background-image:url('/static/jl3d/tms.png');
|
||||||
position:absolute;
|
position:absolute;
|
||||||
bottom:160px;
|
bottom:0;
|
||||||
right:0;
|
right:0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
183
src/views/newMap/jointTrainingNew/chatBox.vue
Normal file
183
src/views/newMap/jointTrainingNew/chatBox.vue
Normal file
@ -0,0 +1,183 @@
|
|||||||
|
<template>
|
||||||
|
<div class="chatBox">
|
||||||
|
<div v-show="!minimize" class="chat-box">
|
||||||
|
<div :class="showMembers?'memberAnimate chat-box-members':'chat-box-members'">
|
||||||
|
<div class="chat-member-title">成员列表</div>
|
||||||
|
<div class="chat-member-list">
|
||||||
|
<div v-for="member in memberList" :key="member.id" class="each-chat-member">{{ member.role+'-'+member.name }}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="chat-box-main">
|
||||||
|
<div class="chat-box-header">
|
||||||
|
<div class="chat-box-header-title">聊天窗口</div>
|
||||||
|
<div class="minimality" @click="handleMinimality('min')">
|
||||||
|
<i class="el-icon-remove" />
|
||||||
|
</div>
|
||||||
|
<div class="showMembers" @click="handleMembers()">
|
||||||
|
<i class="el-icon-user-solid" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-show="minimize" class="reminder-drag minimize-box">
|
||||||
|
<div class="chat-title">聊天窗口</div>
|
||||||
|
<div class="minimality" @click="handleMinimality('max')">
|
||||||
|
<i class="el-icon-circle-plus" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import {getSimulationMembersNew} from '@/api/chat';
|
||||||
|
import ConstConfig from '@/scripts/ConstConfig';
|
||||||
|
import Cookies from 'js-cookie';
|
||||||
|
export default {
|
||||||
|
name: 'ChatBox',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
minimize:false,
|
||||||
|
showMembers:false,
|
||||||
|
memberList:[]
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
handleMinimality(data) {
|
||||||
|
if (data == 'min') {
|
||||||
|
this.minimize = true;
|
||||||
|
} else {
|
||||||
|
this.minimize = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleMembers() {
|
||||||
|
if (this.showMembers) {
|
||||||
|
this.showMembers = false;
|
||||||
|
} else {
|
||||||
|
getSimulationMembersNew(this.$route.query.group).then(resp => {
|
||||||
|
// this.memberList = netdata.data;
|
||||||
|
let lastData = JSON.stringify(resp.data);
|
||||||
|
const roleTypeList = ConstConfig.ConstSelect.roleTypeNew;
|
||||||
|
roleTypeList.forEach(function(element) {
|
||||||
|
const rolename = element.value;
|
||||||
|
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);
|
||||||
|
this.memberList = lastData;
|
||||||
|
|
||||||
|
});
|
||||||
|
this.showMembers = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.chatBox{
|
||||||
|
width: 400px;
|
||||||
|
height: 400px;
|
||||||
|
position: absolute;
|
||||||
|
padding-left:5px;
|
||||||
|
left: 0;
|
||||||
|
bottom:28px;
|
||||||
|
}
|
||||||
|
.chat-box{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.chat-box-header{
|
||||||
|
width: 100%;
|
||||||
|
height: 40px;
|
||||||
|
border-bottom: 1px #dedede solid;
|
||||||
|
}
|
||||||
|
.chat-box-header-title{
|
||||||
|
font-size: 15px;
|
||||||
|
margin-left: 15px;
|
||||||
|
display: inline-block;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
.minimality {
|
||||||
|
float: right;
|
||||||
|
line-height: 40px;
|
||||||
|
margin-right: 10px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.chat-box-main{
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
left: 0;
|
||||||
|
height: 100%;
|
||||||
|
top: 0;
|
||||||
|
border-right: 1px #dedede solid;
|
||||||
|
z-index: 4;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 5px;
|
||||||
|
left:5px;
|
||||||
|
}
|
||||||
|
.chat-member-list{
|
||||||
|
margin-top: 13px;
|
||||||
|
font-size: 12px;
|
||||||
|
margin-left: 2px;
|
||||||
|
}
|
||||||
|
.each-chat-member{
|
||||||
|
margin-bottom: 10px;
|
||||||
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
.chat-box-members{
|
||||||
|
position: absolute;
|
||||||
|
width: 140px;
|
||||||
|
right: 0;
|
||||||
|
height: 100%;
|
||||||
|
background: #fff;
|
||||||
|
border-right: 1px #dedede solid;
|
||||||
|
border-radius: 0px 5px 5px 0px;
|
||||||
|
z-index: 2;
|
||||||
|
transition: transform 1s;
|
||||||
|
padding: 12px 11px 10px 16px;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
.chat-member-title{
|
||||||
|
|
||||||
|
}
|
||||||
|
.showMembers{
|
||||||
|
float: right;
|
||||||
|
line-height: 40px;
|
||||||
|
margin-right: 10px;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 17px;
|
||||||
|
}
|
||||||
|
.memberAnimate{
|
||||||
|
transform: translateX(97%);
|
||||||
|
}
|
||||||
|
.minimize-box {
|
||||||
|
width: 97.5%;
|
||||||
|
height: 40px;
|
||||||
|
position: absolute;
|
||||||
|
left: 5px;
|
||||||
|
bottom: 0;
|
||||||
|
z-index: 222;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 5px;
|
||||||
|
|
||||||
|
.chat-title {
|
||||||
|
float: left;
|
||||||
|
font-size: 15px;
|
||||||
|
margin-left: 10px;
|
||||||
|
line-height: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minimality {
|
||||||
|
float: right;
|
||||||
|
height: 40px;
|
||||||
|
line-height: 40px;
|
||||||
|
margin-right: 10px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
@ -1,5 +1,63 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
|
<chat-box />
|
||||||
|
<!-- <div v-show="!minimize" class="reminder-drag">
|
||||||
|
<div v-if="userRole != '05' && userRole != ''">
|
||||||
|
<div class="tabs-roles">
|
||||||
|
<div
|
||||||
|
class="roles roles-first"
|
||||||
|
:class="activeName == 'first' ? 'roles-active':''"
|
||||||
|
@click="clickRoles('first')"
|
||||||
|
>角色
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="roles"
|
||||||
|
:class="activeName == 'second' ? 'roles-active':''"
|
||||||
|
@click="clickRoles('second')"
|
||||||
|
>所有人
|
||||||
|
</div>
|
||||||
|
<div class="minimality" @click="handleMinimality('min')">
|
||||||
|
<i class="el-icon-remove" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="tabs-content">
|
||||||
|
<div v-show="activeName == 'first'">
|
||||||
|
<chart-view
|
||||||
|
ref="chatView"
|
||||||
|
:group="group"
|
||||||
|
:station-list="stationLists"
|
||||||
|
@showChatSpeak="showChatSpeak"
|
||||||
|
@showChat="showChat"
|
||||||
|
@showChatNone="showChatNone"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div style="flex-grow: 1">
|
||||||
|
<chart-window
|
||||||
|
ref="chat"
|
||||||
|
:group="group"
|
||||||
|
:chat-show="chatShow"
|
||||||
|
:speaking="isSpeaking"
|
||||||
|
:is-show-auto="isShowAuto"
|
||||||
|
@handleChatShow="handleChatShow"
|
||||||
|
@handleChatList="handleChatList"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
<el-tabs v-model="activeName2" type="card">
|
||||||
|
<el-tab-pane label="所有人" name="second">
|
||||||
|
<chart-window :speaking="isSpeaking" :group="group" :is-show-auto="true" />
|
||||||
|
</el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
<!-- <div v-show="minimize" class="reminder-drag minimize-box">
|
||||||
|
<div class="chat-title">聊天窗口</div>
|
||||||
|
<div class="minimality" @click="handleMinimality('max')">
|
||||||
|
<i class="el-icon-circle-plus" />
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
<div class="display-draft" :class="{'display-type-hb': $route.query.lineCode == '07' && $store.state.training.prdType=='01'}">
|
<div class="display-draft" :class="{'display-type-hb': $route.query.lineCode == '07' && $store.state.training.prdType=='01'}">
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button v-if="isProject" type="primary" @click="setRelDevice">{{ $t('joinTraining.connectRealDevices') }}</el-button>
|
<el-button v-if="isProject" type="primary" @click="setRelDevice">{{ $t('joinTraining.connectRealDevices') }}</el-button>
|
||||||
@ -8,7 +66,7 @@
|
|||||||
<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>
|
||||||
<el-button type="danger" :disabled="!isDisable" @click="end">{{ $t('joinTraining.exitPlan') }}</el-button>
|
<el-button type="danger" :disabled="!isDisable" @click="end">{{ $t('joinTraining.exitPlan') }}</el-button>
|
||||||
</template>
|
</template>
|
||||||
<el-button type="primary" @click="back">{{ $t('global.back') }}</el-button>
|
<el-button type="primary" :loading="backLoading" @click="back">{{ $t('global.back') }}</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
<qr-code ref="qrCode" />
|
<qr-code ref="qrCode" />
|
||||||
@ -19,6 +77,9 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import QrCode from '@/components/QrCode';
|
import QrCode from '@/components/QrCode';
|
||||||
|
// import ChartWindow from './chatWindow';
|
||||||
|
// import ChartView from './chartView';
|
||||||
|
import ChatBox from './chatBox';
|
||||||
import SetTime from '@/views/newMap/displayNew/demon/setTime';
|
import SetTime from '@/views/newMap/displayNew/demon/setTime';
|
||||||
import { ranAsPlan, exitRunPlan } from '@/api/simulation';
|
import { ranAsPlan, exitRunPlan } from '@/api/simulation';
|
||||||
import { exitFullscreen } from '@/utils/screen';
|
import { exitFullscreen } from '@/utils/screen';
|
||||||
@ -30,6 +91,9 @@ import RealDevice from './menuDraft/realDevice';
|
|||||||
export default {
|
export default {
|
||||||
name: 'MenuDemonJoint',
|
name: 'MenuDemonJoint',
|
||||||
components: {
|
components: {
|
||||||
|
// ChartView,
|
||||||
|
// ChartWindow,
|
||||||
|
ChatBox,
|
||||||
QrCode,
|
QrCode,
|
||||||
SetTime,
|
SetTime,
|
||||||
RealDevice
|
RealDevice
|
||||||
@ -53,6 +117,7 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
isDisable: false,
|
isDisable: false,
|
||||||
|
backLoading:false,
|
||||||
timeNow: 0,
|
timeNow: 0,
|
||||||
remainingTime: 0,
|
remainingTime: 0,
|
||||||
recordStep: 'BGSetting',
|
recordStep: 'BGSetting',
|
||||||
@ -69,7 +134,7 @@ export default {
|
|||||||
activeName2: 'second',
|
activeName2: 'second',
|
||||||
stationList: [],
|
stationList: [],
|
||||||
stationLists: [],
|
stationLists: [],
|
||||||
minimize: false
|
minimize: true
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -115,6 +180,7 @@ export default {
|
|||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
this.userId = this.$store.state.user.id;
|
this.userId = this.$store.state.user.id;
|
||||||
|
this.backLoading = false;
|
||||||
await this.initLoadPage();
|
await this.initLoadPage();
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
@ -151,35 +217,29 @@ export default {
|
|||||||
}
|
}
|
||||||
this.activeName = active;
|
this.activeName = active;
|
||||||
},
|
},
|
||||||
handleMinimality(data) {
|
|
||||||
if (data == 'min') {
|
// handleChatShow(data) {
|
||||||
this.minimize = true;
|
// if (!this.minimize) { // 最大化状态
|
||||||
} else {
|
// if (this.activeName == 'first') {
|
||||||
this.minimize = false;
|
// this.$refs.chatView.select(data.id);
|
||||||
}
|
// this.chatShow = false;
|
||||||
},
|
// this.isShowAuto = false;
|
||||||
handleChatShow(data) {
|
// this.$refs.chat.handleTextList(data.conversationId);
|
||||||
if (!this.minimize) { // 最大化状态
|
// } else {
|
||||||
if (this.activeName == 'first') {
|
// this.activeName = 'first';
|
||||||
this.$refs.chatView.select(data.id);
|
// this.handleChatShow(data);
|
||||||
this.chatShow = false;
|
// }
|
||||||
this.isShowAuto = false;
|
// } else { // 最小化状态
|
||||||
this.$refs.chat.handleTextList(data.conversationId);
|
// this.minimize = false;
|
||||||
} else {
|
// this.handleChatShow(data);
|
||||||
this.activeName = 'first';
|
// }
|
||||||
this.handleChatShow(data);
|
// },
|
||||||
}
|
|
||||||
} else { // 最小化状态
|
|
||||||
this.minimize = false;
|
|
||||||
this.handleChatShow(data);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// 切到未读消息并说话
|
// 切到未读消息并说话
|
||||||
showChatSpeak(data) {
|
// showChatSpeak(data) {
|
||||||
this.chatShow = false;
|
// this.chatShow = false;
|
||||||
this.isShowAuto = false;
|
// this.isShowAuto = false;
|
||||||
this.$refs.chat.handleTextList(data.conversationId);
|
// this.$refs.chat.handleTextList(data.conversationId);
|
||||||
},
|
// },
|
||||||
// 获取历史纪录list
|
// 获取历史纪录list
|
||||||
showChat(obj) {
|
showChat(obj) {
|
||||||
this.chatShow = false;
|
this.chatShow = false;
|
||||||
@ -327,9 +387,11 @@ export default {
|
|||||||
},
|
},
|
||||||
back() {
|
back() {
|
||||||
this.$store.dispatch('training/over').then(() => {
|
this.$store.dispatch('training/over').then(() => {
|
||||||
|
this.backLoading = true;
|
||||||
putJointTrainingSimulationUserNew(this.group).then(() => {
|
putJointTrainingSimulationUserNew(this.group).then(() => {
|
||||||
this.$router.replace({ path: `/trainroom`, query: { lineCode: this.lineCode, group: this.group, drawWay: true } });
|
this.$router.replace({ path: `/trainroom`, query: { lineCode: this.lineCode, group: this.group, drawWay: true } });
|
||||||
exitFullscreen();
|
exitFullscreen();
|
||||||
|
this.backLoading = false;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -374,12 +436,6 @@ export default {
|
|||||||
color: #409EFF;
|
color: #409EFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
.minimality {
|
|
||||||
float: right;
|
|
||||||
line-height: 40px;
|
|
||||||
margin-right: 10px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.tabs-content {
|
.tabs-content {
|
||||||
@ -431,27 +487,6 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.minimize-box {
|
|
||||||
bottom: 10px;
|
|
||||||
width: 300px;
|
|
||||||
height: 40px;
|
|
||||||
|
|
||||||
.chat-title {
|
|
||||||
float: left;
|
|
||||||
font-size: 16px;
|
|
||||||
margin-left: 10px;
|
|
||||||
line-height: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.minimality {
|
|
||||||
float: right;
|
|
||||||
height: 40px;
|
|
||||||
line-height: 40px;
|
|
||||||
margin-right: 10px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.display-draft {
|
.display-draft {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
float: right;
|
float: right;
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 211 KiB After Width: | Height: | Size: 6.7 KiB |
BIN
static/jl3d/control/scene1.png
Normal file
BIN
static/jl3d/control/scene1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 211 KiB |
Loading…
Reference in New Issue
Block a user