设置时间暂停
This commit is contained in:
parent
0afda8953a
commit
de0fd028ed
@ -2,5 +2,18 @@ export default {
|
|||||||
permissionPack: 'Package',
|
permissionPack: 'Package',
|
||||||
setSuccess: 'Set successfully',
|
setSuccess: 'Set successfully',
|
||||||
isSureSetBelonger: 'Are you sure to set {name} to be the owner of the permission?',
|
isSureSetBelonger: 'Are you sure to set {name} to be the owner of the permission?',
|
||||||
belonger: 'Set Owner'
|
setBelonger: 'Set Owner',
|
||||||
|
lessonName: 'Lesson Name',
|
||||||
|
mapName: 'Map Name',
|
||||||
|
mapProductName: 'Product Name',
|
||||||
|
permissionType: 'Permission Type',
|
||||||
|
permissionStatus: 'Permission Status',
|
||||||
|
permissionUseType: 'Public/Private',
|
||||||
|
permissionTotal: 'Total',
|
||||||
|
permissionRemains: 'Remains',
|
||||||
|
isForever: 'Permanent',
|
||||||
|
startTime: 'Start Time',
|
||||||
|
endTime: 'End Time',
|
||||||
|
belonger: 'Owner',
|
||||||
|
userList: 'User List'
|
||||||
};
|
};
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
export default {
|
export default {
|
||||||
replay: 'playback',
|
replay: 'Play',
|
||||||
mapName: 'Map Name',
|
mapName: 'Map Name',
|
||||||
creatorId: 'Creator of ID',
|
creatorId: 'Creator of ID',
|
||||||
createTime: 'Create Time',
|
createTime: 'Create Time',
|
||||||
|
@ -2,5 +2,18 @@ export default {
|
|||||||
permissionPack: '权限打包',
|
permissionPack: '权限打包',
|
||||||
setSuccess: '设置成功',
|
setSuccess: '设置成功',
|
||||||
isSureSetBelonger: '是否确定设置{name}为权限所属人?',
|
isSureSetBelonger: '是否确定设置{name}为权限所属人?',
|
||||||
belonger: '设置归属人'
|
setBelonger: '设置归属人',
|
||||||
|
lessonName: '课程名称',
|
||||||
|
mapName: '地图名称',
|
||||||
|
mapProductName: '产品名称',
|
||||||
|
permissionType: '权限类型',
|
||||||
|
permissionStatus: '权限状态',
|
||||||
|
permissionUseType: '公用/专用',
|
||||||
|
permissionTotal: '权限总数',
|
||||||
|
permissionRemains: '生于权限',
|
||||||
|
isForever: '是否永久',
|
||||||
|
startTime: '开始时间',
|
||||||
|
endTime: '结束时间',
|
||||||
|
belonger: '归属人',
|
||||||
|
userList: '用户列表'
|
||||||
};
|
};
|
||||||
|
@ -88,6 +88,8 @@ function handle(state, data) {
|
|||||||
case 'Simulation_Quest_Finish': // 任务结束标志
|
case 'Simulation_Quest_Finish': // 任务结束标志
|
||||||
state.tipOperateCount++;
|
state.tipOperateCount++;
|
||||||
break;
|
break;
|
||||||
|
case 'Simulation_Control_Pause': // 暂停中
|
||||||
|
state.simulationPause = msg;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -273,7 +275,8 @@ const socket = {
|
|||||||
|
|
||||||
permissionOver: {}, // 权限结束
|
permissionOver: {}, // 权限结束
|
||||||
|
|
||||||
tipOperateCount: 0 // 任务结束提示消息
|
tipOperateCount: 0, // 任务结束提示消息
|
||||||
|
simulationPause: false // 是否暂停状态
|
||||||
},
|
},
|
||||||
|
|
||||||
getters: {
|
getters: {
|
||||||
@ -326,6 +329,9 @@ const socket = {
|
|||||||
|
|
||||||
setRoomInvite: (state, roomInvite) => {
|
setRoomInvite: (state, roomInvite) => {
|
||||||
state.roomInvite = roomInvite;
|
state.roomInvite = roomInvite;
|
||||||
|
},
|
||||||
|
setSimulationPause: (state, pause) => {
|
||||||
|
state.simulationPause = pause;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -387,6 +393,10 @@ const socket = {
|
|||||||
|
|
||||||
pushMsgQueue: ({ commit }, msg) => {
|
pushMsgQueue: ({ commit }, msg) => {
|
||||||
commit('pushMsgQueue', msg);
|
commit('pushMsgQueue', msg);
|
||||||
|
},
|
||||||
|
|
||||||
|
setSimulationPause: ({commit}, pause) => {
|
||||||
|
commit('setSimulationPause', pause);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -3,9 +3,9 @@ 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.4:9000' // 琰培
|
// BASE_API = 'http://192.168.3.4:9000' // 琰培
|
||||||
} else {
|
} else {
|
||||||
BASE_API = process.env.VUE_APP_BASE_API;
|
BASE_API = process.env.VUE_APP_BASE_API;
|
||||||
|
@ -1,86 +1,93 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="digit" :style="{width: 11*zoom+'px', height: 20*zoom+'px', top: top+'px'}">
|
<div class="digit" :style="{width: 11*zoom+'px', height: 20*zoom+'px', top: top+'px'}">
|
||||||
<div class="segment on"
|
<div
|
||||||
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowOne), top: zoom+'px', left: zoom*2+'px', right: zoom*2+'px', height: zblod+'px'}">
|
class="segment on"
|
||||||
</div>
|
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowOne), top: zoom+'px', left: zoom*2+'px', right: zoom*2+'px', height: zblod+'px'}"
|
||||||
<div class="segment on"
|
/>
|
||||||
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowTwo), top: zoom*2+'px', right: zoom+'px', width: zblod+'px', height: zoom*7.5+'px'}">
|
<div
|
||||||
</div>
|
class="segment on"
|
||||||
<div class="segment on"
|
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowTwo), top: zoom*2+'px', right: zoom+'px', width: zblod+'px', height: zoom*7.5+'px'}"
|
||||||
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowThee), bottom: zoom*2+'px', right: zoom+'px', width: zblod+'px', height: zoom*7.5+'px'}">
|
/>
|
||||||
</div>
|
<div
|
||||||
<div class="segment on "
|
class="segment on"
|
||||||
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowFour), bottom: zoom+'px', right: zoom*2+'px', height: zblod+'px', left: zoom*2+'px' }">
|
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowThee), bottom: zoom*2+'px', right: zoom+'px', width: zblod+'px', height: zoom*7.5+'px'}"
|
||||||
</div>
|
/>
|
||||||
<div class="segment on "
|
<div
|
||||||
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowFive), bottom: zoom*2+'px', left: zoom+'px', width: zblod+'px', height: zoom*7.5+'px'}">
|
class="segment on "
|
||||||
</div>
|
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowFour), bottom: zoom+'px', right: zoom*2+'px', height: zblod+'px', left: zoom*2+'px' }"
|
||||||
<div class="segment on "
|
/>
|
||||||
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowSix), top: zoom*2+'px', left: zoom+'px',width: zblod+'px', height: zoom*7.5+'px'}">
|
<div
|
||||||
</div>
|
class="segment on "
|
||||||
<div class="segment "
|
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowFive), bottom: zoom*2+'px', left: zoom+'px', width: zblod+'px', height: zoom*7.5+'px'}"
|
||||||
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowSeven), left: zoom*2+'px', right: zoom*2+'px', height: zblod+'px', bottom: zoom*9.5+'px'}">
|
/>
|
||||||
</div>
|
<div
|
||||||
</div>
|
class="segment on "
|
||||||
|
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowSix), top: zoom*2+'px', left: zoom+'px',width: zblod+'px', height: zoom*7.5+'px'}"
|
||||||
|
/>
|
||||||
|
<div
|
||||||
|
class="segment "
|
||||||
|
:style="{ background: color, 'border-radius': zoom+'px', opacity: opacity(isShowSeven), left: zoom*2+'px', right: zoom*2+'px', height: zblod+'px', bottom: zoom*9.5+'px'}"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
name: 'digit',
|
name: 'Digit',
|
||||||
props: {
|
props: {
|
||||||
top: {
|
top: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
zoom: {
|
zoom: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
number: {
|
number: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
fine: {
|
fine: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true,
|
required: true
|
||||||
},
|
},
|
||||||
color: {
|
color: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true,
|
required: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
zblod() {
|
zblod() {
|
||||||
return parseInt(this.fine * this.zoom)
|
return parseInt(this.fine * this.zoom);
|
||||||
},
|
},
|
||||||
isShowOne() {
|
isShowOne() {
|
||||||
return [2, 3, 5, 6, 7, 8, 9, 0].indexOf(this.number) != -1;
|
return [2, 3, 5, 6, 7, 8, 9, 0].indexOf(this.number) != -1;
|
||||||
},
|
},
|
||||||
isShowTwo() {
|
isShowTwo() {
|
||||||
return [1, 2, 3, 4, 7, 8, 9, 0].indexOf(this.number) != -1;
|
return [1, 2, 3, 4, 7, 8, 9, 0].indexOf(this.number) != -1;
|
||||||
},
|
},
|
||||||
isShowThee() {
|
isShowThee() {
|
||||||
return [1, 3, 4, 5, 6, 7, 8, 9, 0].indexOf(this.number) != -1;
|
return [1, 3, 4, 5, 6, 7, 8, 9, 0].indexOf(this.number) != -1;
|
||||||
},
|
},
|
||||||
isShowFour() {
|
isShowFour() {
|
||||||
return [2, 3, 5, 6, 8, 9, 0].indexOf(this.number) != -1;
|
return [2, 3, 5, 6, 8, 9, 0].indexOf(this.number) != -1;
|
||||||
},
|
},
|
||||||
isShowFive() {
|
isShowFive() {
|
||||||
return [2, 6, 8, 0].indexOf(this.number) != -1;
|
return [2, 6, 8, 0].indexOf(this.number) != -1;
|
||||||
},
|
},
|
||||||
isShowSix() {
|
isShowSix() {
|
||||||
return [4, 5, 6, 8, 9, 0].indexOf(this.number) != -1;
|
return [4, 5, 6, 8, 9, 0].indexOf(this.number) != -1;
|
||||||
},
|
},
|
||||||
isShowSeven() {
|
isShowSeven() {
|
||||||
return [2, 3, 4, 5, 6, 8, 9].indexOf(this.number) != -1;
|
return [2, 3, 4, 5, 6, 8, 9].indexOf(this.number) != -1;
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
opacity(show) {
|
opacity(show) {
|
||||||
return show ? 1 : 0.2;
|
return show ? 1 : 0.2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
|
@ -1,75 +1,84 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="system-time-box"
|
<div
|
||||||
:style="{background: background, width: width+'px', height: height+'px', 'line-height': height+'px'}">
|
class="system-time-box"
|
||||||
<template v-for="(item,index) in time">
|
:style="{background: background, width: width+'px', height: height+'px', 'line-height': height+'px'}"
|
||||||
<digit v-if="Number.isInteger(parseInt(item))" :number="parseInt(item)" :color="color" :fine="fine"
|
>
|
||||||
:zoom="time.length - index > 2? zoom: zoom* 0.6" :top="top"></digit>
|
<template v-for="(item,index) in time">
|
||||||
<separator v-if="!Number.isInteger(parseInt(item))" :color="color" :zoom="zoom" :fine="fine"></separator>
|
<digit
|
||||||
</template>
|
v-if="Number.isInteger(parseInt(item))"
|
||||||
</div>
|
:key="index"
|
||||||
|
:number="parseInt(item)"
|
||||||
|
:color="color"
|
||||||
|
:fine="fine"
|
||||||
|
:zoom="time.length - index > 2? zoom: zoom* 0.6"
|
||||||
|
:top="top"
|
||||||
|
/>
|
||||||
|
<separator v-if="!Number.isInteger(parseInt(item))" :key="index" :color="color" :zoom="zoom" :fine="fine" />
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Digit from './digit';
|
import Digit from './digit';
|
||||||
import Separator from './separator';
|
import Separator from './separator';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'SystenTime',
|
name: 'SystenTime',
|
||||||
props: {
|
components: {
|
||||||
background: {
|
Digit,
|
||||||
type: String,
|
Separator
|
||||||
default() {
|
},
|
||||||
return '#000';
|
props: {
|
||||||
}
|
background: {
|
||||||
},
|
type: String,
|
||||||
color: {
|
default() {
|
||||||
type: String,
|
return '#000';
|
||||||
default() {
|
}
|
||||||
return '#00FF00'
|
},
|
||||||
}
|
color: {
|
||||||
},
|
type: String,
|
||||||
time: {
|
default() {
|
||||||
type: String,
|
return '#00FF00';
|
||||||
default() {
|
}
|
||||||
return '12:3456'
|
},
|
||||||
}
|
time: {
|
||||||
},
|
type: String,
|
||||||
zoom: {
|
default() {
|
||||||
type: Number,
|
return '12:3456';
|
||||||
default() {
|
}
|
||||||
return 4;
|
},
|
||||||
}
|
zoom: {
|
||||||
},
|
type: Number,
|
||||||
width: {
|
default() {
|
||||||
type: Number,
|
return 4;
|
||||||
default() {
|
}
|
||||||
return 280;
|
},
|
||||||
}
|
width: {
|
||||||
},
|
type: Number,
|
||||||
height: {
|
default() {
|
||||||
type: Number,
|
return 280;
|
||||||
default() {
|
}
|
||||||
return 80;
|
},
|
||||||
}
|
height: {
|
||||||
},
|
type: Number,
|
||||||
fine: {
|
default() {
|
||||||
type: Number,
|
return 80;
|
||||||
default() {
|
}
|
||||||
return 1;
|
},
|
||||||
}
|
fine: {
|
||||||
},
|
type: Number,
|
||||||
top: {
|
default() {
|
||||||
type: Number,
|
return 1;
|
||||||
default() {
|
}
|
||||||
return 1;
|
},
|
||||||
}
|
top: {
|
||||||
}
|
type: Number,
|
||||||
},
|
default() {
|
||||||
components: {
|
return 1;
|
||||||
Digit,
|
}
|
||||||
Separator
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
|
@ -1,38 +1,39 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="point"
|
<div
|
||||||
:style="{background: color, width: zblod+'px', height: zblod+'px', top: top+'px', 'border-radius': 0.5*zblod+'px'}">
|
class="point"
|
||||||
</div>
|
:style="{background: color, width: zblod+'px', height: zblod+'px', top: top+'px', 'border-radius': 0.5*zblod+'px'}"
|
||||||
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
name: 'point',
|
name: 'Point',
|
||||||
props: {
|
props: {
|
||||||
top: {
|
top: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true,
|
required: true
|
||||||
},
|
},
|
||||||
zoom: {
|
zoom: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true,
|
required: true
|
||||||
},
|
},
|
||||||
fine: {
|
fine: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true,
|
required: true
|
||||||
},
|
},
|
||||||
color: {
|
color: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true,
|
required: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
zblod() {
|
zblod() {
|
||||||
return parseInt(this.fine * this.zoom)
|
return parseInt(this.fine * this.zoom);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
|
@ -26,10 +26,10 @@
|
|||||||
|
|
||||||
<menu-replay v-if="isReplay" ref="menuReplay" :offset="offset" :group="group" />
|
<menu-replay v-if="isReplay" ref="menuReplay" :offset="offset" :group="group" />
|
||||||
|
|
||||||
<menu-script v-if="isTask" ref="menuScript" :offset="offset" :group="group" />
|
<menu-script v-if="isScript" ref="menuScript" :offset="offset" :group="group" />
|
||||||
|
|
||||||
<menu-schema
|
<menu-schema
|
||||||
v-if="isDemon || isPlan || isTask "
|
v-if="isDemon || isPlan || isScript "
|
||||||
ref="menuSchema"
|
ref="menuSchema"
|
||||||
:offset="offset"
|
:offset="offset"
|
||||||
:group="group"
|
:group="group"
|
||||||
@ -40,7 +40,7 @@
|
|||||||
@switchMode="switchMode"
|
@switchMode="switchMode"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<menu-system-time ref="menuSystemTime" :offset="offset" :group="group" />
|
<menu-system-time ref="menuSystemTime" :offset="offset" :right="right" :group="group" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Jl3d-Simulation v-show="simulationShow" ref="Jl3dSimulation" :panel-show="simulationShow" @showpanel="showpanel" />
|
<Jl3d-Simulation v-show="simulationShow" ref="Jl3dSimulation" :panel-show="simulationShow" @showpanel="showpanel" />
|
||||||
@ -122,6 +122,7 @@ export default {
|
|||||||
timeDemonNum: 0,
|
timeDemonNum: 0,
|
||||||
checkLine: null,
|
checkLine: null,
|
||||||
offset: 15,
|
offset: 15,
|
||||||
|
right: 0,
|
||||||
mouseNum: 1,
|
mouseNum: 1,
|
||||||
ierval: null,
|
ierval: null,
|
||||||
mouseNumTime: 0,
|
mouseNumTime: 0,
|
||||||
@ -181,7 +182,7 @@ export default {
|
|||||||
isReplay() {
|
isReplay() {
|
||||||
return this.mode === 'replay';
|
return this.mode === 'replay';
|
||||||
},
|
},
|
||||||
isTask() {
|
isScript() {
|
||||||
return this.mode === 'script';
|
return this.mode === 'script';
|
||||||
},
|
},
|
||||||
isPlan() {
|
isPlan() {
|
||||||
@ -246,6 +247,7 @@ export default {
|
|||||||
const width = this.size ? this.size.width : this._clientWidth;
|
const width = this.size ? this.size.width : this._clientWidth;
|
||||||
const height = this.size ? this.size.height : this._clientHeight;
|
const height = this.size ? this.size.height : this._clientHeight;
|
||||||
|
|
||||||
|
this.right = width /2 - 55;
|
||||||
this.$store.dispatch('config/resize', { width, height });
|
this.$store.dispatch('config/resize', { width, height });
|
||||||
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
@ -340,13 +342,12 @@ export default {
|
|||||||
},
|
},
|
||||||
// 加载地图数据
|
// 加载地图数据
|
||||||
async initLoadData() {
|
async initLoadData() {
|
||||||
// const width = document.documentElement.clientWidth;
|
|
||||||
// const height = document.documentElement.clientHeight + 200;
|
|
||||||
// this.$store.dispatch('config/resize', { width, height });
|
|
||||||
this.$store.dispatch('training/reset');
|
this.$store.dispatch('training/reset');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await this.loadSimulationInfo();
|
if (!this.isReplay) {
|
||||||
|
await this.loadSimulationInfo();
|
||||||
|
}
|
||||||
|
|
||||||
if (this.isReplay) {
|
if (this.isReplay) {
|
||||||
await this.initLoadReplayData();
|
await this.initLoadReplayData();
|
||||||
@ -356,7 +357,7 @@ export default {
|
|||||||
await this.initLoadScreenData();
|
await this.initLoadScreenData();
|
||||||
} else if (this.isPlan) {
|
} else if (this.isPlan) {
|
||||||
await this.initLoadTestRunData();
|
await this.initLoadTestRunData();
|
||||||
} else if (this.isTask) {
|
} else if (this.isScript) {
|
||||||
await this.initLoadTaskData();
|
await this.initLoadTaskData();
|
||||||
} else {
|
} else {
|
||||||
await this.initLoadLessonOrExamData();
|
await this.initLoadLessonOrExamData();
|
||||||
@ -524,7 +525,7 @@ export default {
|
|||||||
await this.$refs.menuScreen.back();
|
await this.$refs.menuScreen.back();
|
||||||
} else if (this.isPlan) {
|
} else if (this.isPlan) {
|
||||||
await this.$refs.menuPlan.back();
|
await this.$refs.menuPlan.back();
|
||||||
} else if (this.isTask) {
|
} else if (this.isScript) {
|
||||||
await this.$refs.menuScript.back();
|
await this.$refs.menuScript.back();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -62,7 +62,7 @@ export default {
|
|||||||
startLoading: false,
|
startLoading: false,
|
||||||
speed: '1X',
|
speed: '1X',
|
||||||
level: 1,
|
level: 1,
|
||||||
isPlay: true,
|
isPlay: false,
|
||||||
time: '',
|
time: '',
|
||||||
timeInterval: null,
|
timeInterval: null,
|
||||||
progress: 0,
|
progress: 0,
|
||||||
@ -95,6 +95,11 @@ export default {
|
|||||||
return this.isPlay ? '暂停' : '播放';
|
return this.isPlay ? '暂停' : '播放';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
watch: {
|
||||||
|
'$store.state.map.mapViewLoadedCount': function() {
|
||||||
|
this.isPlay = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
EventBus.$emit('showChat');
|
EventBus.$emit('showChat');
|
||||||
this.time = (+new Date(this.$route.query.destroyTime) - +new Date(this.$route.query.createTime)) / 1000;
|
this.time = (+new Date(this.$route.query.destroyTime) - +new Date(this.$route.query.createTime)) / 1000;
|
||||||
|
@ -7,9 +7,9 @@
|
|||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button v-if="isDemon" size="small" :disabled="viewDisabled" type="success" @click="viewRunQuest">加载剧本
|
<el-button v-if="isDemon" size="small" :disabled="viewDisabled" type="success" @click="viewRunQuest">加载剧本
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-if="runing" size="small" :disabled="viewDisabled" @click="viewRunPlan">运行图预览</el-button>
|
<el-button v-if="notScript && runing" size="small" :disabled="viewDisabled" @click="viewRunPlan">运行图预览</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="!runing && !isPlan"
|
v-if="!runing && !isPlan && notScript"
|
||||||
size="small"
|
size="small"
|
||||||
:disabled="viewDisabled"
|
:disabled="viewDisabled"
|
||||||
type="warning"
|
type="warning"
|
||||||
@ -59,11 +59,15 @@ export default {
|
|||||||
...mapGetters('runPlan', [
|
...mapGetters('runPlan', [
|
||||||
'stations'
|
'stations'
|
||||||
]),
|
]),
|
||||||
|
notScript() {
|
||||||
|
return this.$route.params.mode !== 'script';
|
||||||
|
},
|
||||||
isPlan() {
|
isPlan() {
|
||||||
return this.$route.params.mode === 'plan';
|
return this.$route.params.mode === 'plan';
|
||||||
},
|
},
|
||||||
isScript() {
|
isScript() {
|
||||||
return this.$route.params.mode === 'script';
|
// return this.$route.params.mode === 'script';
|
||||||
|
return false;
|
||||||
},
|
},
|
||||||
isDemon() {
|
isDemon() {
|
||||||
return this.$route.params.mode === 'demon';
|
return this.$route.params.mode === 'demon';
|
||||||
|
@ -1,18 +1,22 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-if="isShowSystemTime" class="display-card" :style="{top: offset+'px'}">
|
<div v-if="isShowSystemTime" class="display-card" :style="{top: offset+'px', right: right+'px'}">
|
||||||
<system-time
|
<template v-if="pause">
|
||||||
v-if="isShowSystemTime"
|
<span class="display-pause">暂停中</span>
|
||||||
class="time"
|
</template>
|
||||||
:time="time"
|
<template v-else>
|
||||||
:zoom="1.3"
|
<system-time
|
||||||
:width="110"
|
class="display-time"
|
||||||
:height="32"
|
:time="time"
|
||||||
:fine="2"
|
:zoom="1.3"
|
||||||
:top="2"
|
:width="110"
|
||||||
/>
|
:height="32"
|
||||||
|
:fine="2"
|
||||||
|
:top="2"
|
||||||
|
/>
|
||||||
|
|
||||||
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { prefixIntrger } from '@/utils/date';
|
import { prefixIntrger } from '@/utils/date';
|
||||||
import SystemTime from '@/views/components/systemTime/index';
|
import SystemTime from '@/views/components/systemTime/index';
|
||||||
@ -26,6 +30,10 @@ export default {
|
|||||||
offset: {
|
offset: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true
|
||||||
|
},
|
||||||
|
right: {
|
||||||
|
type: Number,
|
||||||
|
required: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@ -35,7 +43,14 @@ export default {
|
|||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
isShowSystemTime() {
|
isShowSystemTime() {
|
||||||
return this.$route.params.mode == 'demon' || this.$route.params.mode == 'dp' || this.$route.params.mode == 'plan' || !this.$route.params.mode;
|
return this.$route.params.mode == 'demon' ||
|
||||||
|
this.$route.params.mode == 'dp' ||
|
||||||
|
this.$route.params.mode == 'plan' ||
|
||||||
|
this.$route.params.mode == 'script' ||
|
||||||
|
!this.$route.params.mode;
|
||||||
|
},
|
||||||
|
pause() {
|
||||||
|
return this.$store.state.socket.simulationPause;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -53,34 +68,21 @@ export default {
|
|||||||
z-index: 9;
|
z-index: 9;
|
||||||
display: inline;
|
display: inline;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
.display-pause {
|
||||||
|
font-size: 21px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: yellow;
|
||||||
|
}
|
||||||
|
|
||||||
|
.display-time{
|
||||||
border: 2px solid white;
|
border: 2px solid white;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
left: calc(50% - 55px);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.display-card .el-row {
|
.display-card .el-row {
|
||||||
line-height: 32px !important;
|
line-height: 32px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.display-score {
|
|
||||||
background-color: white;
|
|
||||||
display: -moz-inline-box;
|
|
||||||
display: inline-block;
|
|
||||||
text-align: left;
|
|
||||||
height: 32px;
|
|
||||||
line-height: 24px;
|
|
||||||
border-radius: 4px;
|
|
||||||
padding-left: 2px;
|
|
||||||
margin-left: 10px;
|
|
||||||
font-family: "Microsoft" !important;
|
|
||||||
font-size: 18px !important;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.display-draft {
|
|
||||||
position: absolute;
|
|
||||||
float: right;
|
|
||||||
right: 40px;
|
|
||||||
bottom: 28px;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -27,19 +27,19 @@ export default {
|
|||||||
pageIndex: 'pageNum'
|
pageIndex: 'pageNum'
|
||||||
},
|
},
|
||||||
queryForm: {
|
queryForm: {
|
||||||
labelWidth: '120px',
|
labelWidth: '140px',
|
||||||
reset: true,
|
reset: true,
|
||||||
queryObject: {
|
queryObject: {
|
||||||
'type': {
|
'type': {
|
||||||
type: 'select',
|
type: 'select',
|
||||||
label: '权限类型',
|
label: this.$t('permission.permissionType'),
|
||||||
config: {
|
config: {
|
||||||
data: []
|
data: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'status': {
|
'status': {
|
||||||
type: 'select',
|
type: 'select',
|
||||||
label: '权限状态',
|
label: this.$t('permission.permissionStatus'),
|
||||||
value: '1',
|
value: '1',
|
||||||
config: {
|
config: {
|
||||||
data: []
|
data: []
|
||||||
@ -47,7 +47,7 @@ export default {
|
|||||||
},
|
},
|
||||||
'canDistribute': {
|
'canDistribute': {
|
||||||
type: 'select',
|
type: 'select',
|
||||||
label: '公用/专用',
|
label: this.$t('permission.permissionUseType'),
|
||||||
config: {
|
config: {
|
||||||
data: []
|
data: []
|
||||||
}
|
}
|
||||||
@ -60,26 +60,26 @@ export default {
|
|||||||
indexShow: true,
|
indexShow: true,
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: '权限类型',
|
title: this.$t('permission.permissionType'),
|
||||||
prop: 'type',
|
prop: 'type',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => { return this.$convertField(row.type, this.PermissionTypeList, ['value', 'label']); },
|
columnValue: (row) => { return this.$convertField(row.type, this.PermissionTypeList, ['value', 'label']); },
|
||||||
tagType: (row) => { return ''; }
|
tagType: (row) => { return ''; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '地图名称',
|
title: this.$t('permission.mapName'),
|
||||||
prop: 'mapName'
|
prop: 'mapName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '地图产品名称',
|
title: this.$t('permission.mapProductName'),
|
||||||
prop: 'mapProductName'
|
prop: 'mapProductName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '课程名称',
|
title: this.$t('permission.lessonName'),
|
||||||
prop: 'lessonName'
|
prop: 'lessonName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '公用/专用',
|
title: this.$t('permission.permissionUseType'),
|
||||||
prop: 'canDistribute',
|
prop: 'canDistribute',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => { return this.$ConstSelect.translate(row.canDistribute, 'PermissionUseList'); },
|
columnValue: (row) => { return this.$ConstSelect.translate(row.canDistribute, 'PermissionUseList'); },
|
||||||
@ -91,7 +91,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '是否永久',
|
title: this.$t('permission.isForever'),
|
||||||
prop: 'forever',
|
prop: 'forever',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => { return this.$ConstSelect.translate(row.forever, 'Whether'); },
|
columnValue: (row) => { return this.$ConstSelect.translate(row.forever, 'Whether'); },
|
||||||
@ -103,33 +103,33 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '权限总数',
|
title: this.$t('permission.permissionTotal'),
|
||||||
prop: 'amount'
|
prop: 'amount'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '剩余权限数量',
|
title: this.$t('permission.permissionRemains'),
|
||||||
prop: 'remains'
|
prop: 'remains'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '开始时间',
|
title: this.$t('permission.startTime'),
|
||||||
prop: 'startTime',
|
prop: 'startTime',
|
||||||
type: 'formatter',
|
type: 'formatter',
|
||||||
formatter: this.formatterDate
|
formatter: this.formatterDate
|
||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '结束时间',
|
title: this.$t('permission.endTime'),
|
||||||
prop: 'endTime',
|
prop: 'endTime',
|
||||||
type: 'formatter',
|
type: 'formatter',
|
||||||
formatter: this.formatterDate
|
formatter: this.formatterDate
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '权限归属人',
|
title: this.$t('permission.belonger'),
|
||||||
prop: 'ownerName',
|
prop: 'ownerName',
|
||||||
isShow: () => { return this.$store.state.user.roles.indexOf(superAdmin) != -1; }
|
isShow: () => { return this.$store.state.user.roles.indexOf(superAdmin) != -1; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '权限状态',
|
title: this.$t('permission.permissionStatus'),
|
||||||
prop: 'status',
|
prop: 'status',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => { return this.$convertField(row.status, this.EffectiveTypeList, ['value', 'label']); },
|
columnValue: (row) => { return this.$convertField(row.status, this.EffectiveTypeList, ['value', 'label']); },
|
||||||
@ -147,7 +147,7 @@ export default {
|
|||||||
hide: () => { return this.$store.state.user.roles.indexOf(superAdmin) < 0; },
|
hide: () => { return this.$store.state.user.roles.indexOf(superAdmin) < 0; },
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
name: this.$t('permission.belonger'),
|
name: this.$t('permission.setBelonger'),
|
||||||
handleClick: this.handleRoleVest,
|
handleClick: this.handleRoleVest,
|
||||||
type: ''
|
type: ''
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
title="用户列表"
|
:title="$t('permission.userList')"
|
||||||
:visible.sync="show"
|
:visible.sync="show"
|
||||||
top="20px"
|
top="20px"
|
||||||
width="90%"
|
width="90%"
|
||||||
|
@ -21,11 +21,11 @@ export default {
|
|||||||
pageIndex: 'pageNum'
|
pageIndex: 'pageNum'
|
||||||
},
|
},
|
||||||
queryForm: {
|
queryForm: {
|
||||||
labelWidth: '80px',
|
labelWidth: '120px',
|
||||||
queryObject: {
|
queryObject: {
|
||||||
mapName: {
|
mapName: {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
label: this.$t('global.mapName')
|
label: this.$t('replay.mapName')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user