Commit 61808aa1 authored by 车宾's avatar 车宾

feat(成品车存放区,中涂作业区):功能联调。添加 统计车辆实时总数

parent 733995c5
......@@ -533,6 +533,10 @@
>
<p>{{query['HDG1-204'].busNo}}</p>
</div>
<!-- 实时车辆 -->
<div class="onlineNum">
<p>总量 <span>{{ this.onlineNum? this.onlineNum : '0' }}</span></p>
</div>
<Tooltip
ref="toolRef"
:query="BusInformation"
......@@ -586,18 +590,15 @@ export default {
getComplexionPaintInformation () {
this.$fetch('area-controller/realTime-get', { areaNo: '6' })
.then(res => {
// console.log(res);
// this.query = _.cloneDeep(res);
for (let i = 0; i < res.length; i++) {
if (res[i].code === '6') {
console.log(res[i]);
this.query = _.cloneDeep(res[i].stationMap);
for (let item of res) {
if (item.code === '6') {
this.query = item.stationMap;
// 获取当前在线人数
this.onlineNum = _.clone(res[i].onlineNum);
console.log(this.onlineNum)
this.onlineNum = _.clone(item.onlineNum);
console.log(this.onlineNum);
break;
}
}
console.log(this.query);
})
.catch(error => {
reject(error);
......@@ -607,7 +608,7 @@ export default {
judgeCarTypeAndcarStationstyle (outOrIn, station) {
// 判断有无车体定位信息
if (this.carPostionInfo.hasOwnProperty(station)) {
return 'isPositioned'
return 'isPositioned';
} else {
if (outOrIn === 'OTHER') {
return 'carOutFactory';
......@@ -636,26 +637,31 @@ export default {
},
// 查询车辆定位
getCarPostion () {
let queryParams = { orderNo: '1111', workOrderNo: '' }
let queryParams = { orderNo: '1111', workOrderNo: '' };
// 请求接口
this.$fetch('area-controller/busNo-get', {queryParams}).then(res => {
this.carPostionInfo = _.cloneDeep(res)
})
this.$fetch('area-controller/busNo-get', { queryParams }).then(
res => {
this.carPostionInfo = _.cloneDeep(res);
}
);
},
// 轮询请求接口
pollingGetInterface () {
// 查询车辆定位
console.log('2222', this.$route.query)
if (this.$route.query.hasOwnProperty('orderNo') || this.$route.query.hasOwnProperty('workOrderNo')) {
this.getCarPostion()
console.log('2222', this.$route.query);
if (
this.$route.query.hasOwnProperty('orderNo') ||
this.$route.query.hasOwnProperty('workOrderNo')
) {
this.getCarPostion();
}
// 获取面色/漆作业区实时信息
this.getComplexionPaintInformation()
this.getComplexionPaintInformation();
this.timer = setInterval(() => {
this.carPostionInfo = {}
this.carPostionInfo = {};
// 获取面色/漆作业区实时信息
this.getComplexionPaintInformation()
}, 20000)
this.getComplexionPaintInformation();
}, 20000);
}
}
};
......@@ -665,6 +671,20 @@ export default {
min-height: 100%;
background: rgba(0, 7, 12, 1);
.onlineNum {
position: absolute;
color: #ffffff;
z-index: 999;
right: 300px;
top: 50px;
color: #00b4ff;
font-size: 16px;
font-weight: 750;
span {
margin: 30px;
font-size: 24px;
}
}
.paint-content {
position: relative;
margin: 0 auto;
......@@ -749,7 +769,7 @@ export default {
.paint-row-13-3,
.paint-row-13-5 {
position: absolute;
width: 140px;
width: 100px;
height: 40px;
cursor: pointer;
background: url("../../../assets/images/Monitor/monitor_car.png")
......@@ -758,7 +778,7 @@ export default {
background-position: 0 16px;
p {
font-size: 14px;
font-size: 12px;
margin: 0;
color: #ffffff;
font-weight: bold;
......
......@@ -433,6 +433,10 @@
>
<p>{{query['HDG1-66'].busNo}}</p>
</div>
<!-- 实时车辆 -->
<div class="onlineNum">
<p>总量 <span>{{ this.onlineNum? this.onlineNum : '0' }}</span></p>
</div>
<Tooltip
ref="toolRef"
:query="BusInformation"
......@@ -459,52 +463,53 @@ export default {
query: {},
// 根据车身号获得当前车体信息
BusInformation: {
'saleOrderNo': '201905201252',
'planOrderNo': '83848484',
'code': 'EDSCSFDGVG',
'busType': 'car',
'orderSize': '20',
'unit': 'From China',
'shop': '二号车间',
'line': '4-25'
saleOrderNo: '201905201252',
planOrderNo: '83848484',
code: 'EDSCSFDGVG',
busType: 'car',
orderSize: '20',
unit: 'From China',
shop: '二号车间',
line: '4-25'
}
};
},
mounted () {
this.pollingGetInterface();
console.log('2222', this.timer)
console.log('2222', this.timer);
},
beforeDestroy () {
clearInterval(this.timer)
clearInterval(this.timer);
},
methods: {
// 点击车位弹出车体信息
clickBtn (row) {
console.log(row)
console.log(row);
this.$refs.toolRef.$refs.tooltip.style.visibility = 'visible';
let left = window.event.clientX;
let top = window.event.clientY;
this.$refs.toolRef.$refs.tooltip.style.top = top - 100 + 'px';
this.$refs.toolRef.$refs.tooltip.style.left = left - 100 + 'px';
this.$fetch('area-controller/busNo-get', {busNo: row}).then(res => {
console.log('res', res);
// this.BusInformation = _.cloneDeep(res);
}).catch(error => {
reject(error)
})
this.$fetch('area-controller/busNo-get', { busNo: row })
.then(res => {
console.log('res', res);
// this.BusInformation = _.cloneDeep(res);
})
.catch(error => {
reject(error);
});
},
// 查询电泳实时信息
getElectrophoresisInformation () {
this.$fetch('area-controller/realTime-get', { areaNo: '2' })
.then(res => {
console.log('getall', res);
for (let i = 0; i < res.length; i++) {
if (res[i].code === '2') {
console.log(res[i]);
this.query = _.cloneDeep(res[i].stationMap);
for (let item of res) {
if (item.code === '2') {
this.query = item.stationMap;
// 获取当前在线人数
this.onlineNum = _.clone(res[i].onlineNum);
console.log(this.onlineNum)
this.onlineNum = _.clone(item.onlineNum);
console.log(this.onlineNum);
break;
}
}
})
......@@ -516,7 +521,7 @@ export default {
judgeCarTypeAndcarStationstyle (outOrIn, station) {
// 判断有无车体定位信息
if (this.carPostionInfo.hasOwnProperty(station)) {
return 'isPositioned'
return 'isPositioned';
} else {
if (outOrIn === 'OTHER') {
return 'carOutFactory';
......@@ -527,25 +532,30 @@ export default {
},
// 查询车辆定位
getCarPostion () {
let queryParams = { orderNo: '1111', workOrderNo: '' }
let queryParams = { orderNo: '1111', workOrderNo: '' };
// 请求接口
this.$fetch('area-controller/busNo-get', {queryParams}).then(res => {
this.carPostionInfo = _.cloneDeep(res)
})
this.$fetch('area-controller/busNo-get', { queryParams }).then(
res => {
this.carPostionInfo = _.cloneDeep(res);
}
);
},
// 轮询请求接口
pollingGetInterface () {
// 查询车辆定位
if (this.$route.query.hasOwnProperty('orderNo') || this.$route.query.hasOwnProperty('workOrderNo')) {
this.getCarPostion()
if (
this.$route.query.hasOwnProperty('orderNo') ||
this.$route.query.hasOwnProperty('workOrderNo')
) {
this.getCarPostion();
}
// 获取电泳作业区实时信息
this.getElectrophoresisInformation()
this.getElectrophoresisInformation();
this.timer = setInterval(() => {
this.carPostionInfo = {}
this.carPostionInfo = {};
// 获取电泳作业区实时信息
this.getElectrophoresisInformation()
}, 20000)
this.getElectrophoresisInformation();
}, 20000);
}
}
};
......@@ -555,13 +565,27 @@ export default {
.page-pack {
min-height: 100%;
background: rgba(0, 7, 12, 1);
.onlineNum {
position: absolute;
color: #ffffff;
z-index: 999;
right: 300px;
top: 50px;
color: #00b4ff;
font-size: 16px;
font-weight: 750;
span {
margin: 30px;
font-size: 24px;
}
}
.elect-content {
position: relative;
margin: 0 auto;
width: 1600px;
height: 900px;
background: url("../../../assets/images/Monitor/monitor_electrophoresis.png") no-repeat;
background: url("../../../assets/images/Monitor/monitor_electrophoresis.png")
no-repeat;
.elect-row-1-1,
.elect-row-1-2,
.elect-row-1-3,
......@@ -615,7 +639,7 @@ export default {
.elect-row-13-4,
.elect-row-13-5 {
position: absolute;
width: 90px;
width: 100px;
height: 40px;
cursor: pointer;
background: url("../../../assets/images/Monitor/monitor_car.png")
......@@ -624,7 +648,7 @@ export default {
background-position: 0 16px;
p {
font-size: 14px;
font-size: 12px;
margin: 0;
color: #ffffff;
font-weight: bold;
......@@ -834,7 +858,8 @@ export default {
.elect-row-13-2 {
left: 708px;
}
.elect-row-8-4,.elect-row-9-5 {
.elect-row-8-4,
.elect-row-9-5 {
left: 830px;
}
.carOutFactory {
......
......@@ -3,172 +3,391 @@
<div class="page-pack">
<div class="container-pack">
<!-- 第一行 -->
<div class="finished-row-1-1">
<p>CDA213</p>
<div
class="finished-row-1-1"
@click="clickBtn(query['HDG1-147'].busNo)"
v-if="query.hasOwnProperty('HDG1-147') && query['HDG1-147'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-147'].busType, 'HDG1-147')"
>
<p>{{query['HDG1-147'].busNo}}</p>
</div>
<div class="finished-row-1-2">
<p>CDA213</p>
<div
class="finished-row-1-2"
@click="clickBtn(query['HDG1-163'].busNo)"
v-if="query.hasOwnProperty('HDG1-163') && query['HDG1-163'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-163'].busType, 'HDG1-163')"
>
<p>{{query['HDG1-163'].busNo}}</p>
</div>
<div class="finished-row-1-3">
<p>CDA213</p>
<div
class="finished-row-1-3"
@click="clickBtn(query['HDG1-205'].busNo)"
v-if="query.hasOwnProperty('HDG1-205') && query['HDG1-205'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-205'].busType, 'HDG1-205')"
>
<p>{{query['HDG1-205'].busNo}}</p>
</div>
<div class="finished-row-1-4">
<p>CDA213</p>
<div
class="finished-row-1-4"
@click="clickBtn(query['HDG1-206'].busNo)"
v-if="query.hasOwnProperty('HDG1-206') && query['HDG1-206'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-206'].busType, 'HDG1-206')"
>
<p>{{query['HDG1-206'].busNo}}</p>
</div>
<div class="finished-row-1-5">
<p>CDA213</p>
<div
class="finished-row-1-5"
@click="clickBtn(query['HDG1-207'].busNo)"
v-if="query.hasOwnProperty('HDG1-207') && query['HDG1-207'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-207'].busType, 'HDG1-207')"
>
<p>{{query['HDG1-207'].busNo}}</p>
</div>
<!-- 第二行 -->
<div class="finished-row-2-1">
<p>CDA213</p>
<div
class="finished-row-2-1"
@click="clickBtn(query['HDG1-148'].busNo)"
v-if="query.hasOwnProperty('HDG1-148') && query['HDG1-148'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-148'].busType, 'HDG1-148')"
>
<p>{{query['HDG1-148'].busNo}}</p>
</div>
<div class="finished-row-2-2">
<p>CDA213</p>
<div
class="finished-row-2-2"
@click="clickBtn(query['HDG1-164'].busNo)"
v-if="query.hasOwnProperty('HDG1-164') && query['HDG1-164'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-164'].busType, 'HDG1-164')"
>
<p>{{query['HDG1-164'].busNo}}</p>
</div>
<div class="finished-row-2-3">
<p>CDA213</p>
<div
class="finished-row-2-3"
@click="clickBtn(query['HDG1-208'].busNo)"
v-if="query.hasOwnProperty('HDG1-208') && query['HDG1-208'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-208'].busType, 'HDG1-208')"
>
<p>{{query['HDG1-208'].busNo}}</p>
</div>
<div class="finished-row-2-4">
<p>CDA213</p>
<div
class="finished-row-2-4"
@click="clickBtn(query['HDG1-209'].busNo)"
v-if="query.hasOwnProperty('HDG1-209') && query['HDG1-209'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-209'].busType, 'HDG1-209')"
>
<p>{{query['HDG1-209'].busNo}}</p>
</div>
<div class="finished-row-2-5">
<p>CDA213</p>
<div
class="finished-row-2-5"
@click="clickBtn(query['HDG1-210'].busNo)"
v-if="query.hasOwnProperty('HDG1-210') && query['HDG1-210'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-210'].busType, 'HDG1-210')"
>
<p>{{query['HDG1-210'].busNo}}</p>
</div>
<!-- 第三行 -->
<div class="finished-row-3-1">
<p>CDA213</p>
<div
class="finished-row-3-1"
@click="clickBtn(query['HDG1-149'].busNo)"
v-if="query.hasOwnProperty('HDG1-149') && query['HDG1-149'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-149'].busType, 'HDG1-149')"
>
<p>{{query['HDG1-149'].busNo}}</p>
</div>
<div class="finished-row-3-2">
<p>CDA213</p>
<div
class="finished-row-3-2"
@click="clickBtn(query['HDG1-165'].busNo)"
v-if="query.hasOwnProperty('HDG1-165') && query['HDG1-165'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-165'].busType, 'HDG1-165')"
>
<p>{{query['HDG1-165'].busNo}}</p>
</div>
<div class="finished-row-3-3">
<p>CDA213</p>
<div
class="finished-row-3-3"
@click="clickBtn(query['HDG1-211'].busNo)"
v-if="query.hasOwnProperty('HDG1-211') && query['HDG1-211'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-211'].busType, 'HDG1-211')"
>
<p>{{query['HDG1-211'].busNo}}</p>
</div>
<div class="finished-row-3-4">
<p>CDA213</p>
<div
class="finished-row-3-4"
@click="clickBtn(query['HDG1-212'].busNo)"
v-if="query.hasOwnProperty('HDG1-212') && query['HDG1-212'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-212'].busType, 'HDG1-212')"
>
<p>{{query['HDG1-212'].busNo}}</p>
</div>
<div class="finished-row-3-5">
<p>CDA213</p>
<div
class="finished-row-3-5"
@click="clickBtn(query['HDG1-213'].busNo)"
v-if="query.hasOwnProperty('HDG1-213') && query['HDG1-213'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-213'].busType, 'HDG1-213')"
>
<p>{{query['HDG1-213'].busNo}}</p>
</div>
<!-- 涂装车出 -->
<div class="paint-car-out">
<p>CDA213</p>
<div
class="paint-car-out"
@click="clickBtn(query['HXG2-1'].busNo)"
v-if="query.hasOwnProperty('HXG2-1') && query['HXG2-1'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HXG2-1'].busType, 'HXG2-1')"
>
<p>{{query['HXG2-1'].busNo}}</p>
</div>
</div>
<!-- 实时车辆 -->
<div class="onlineNum">
<p>总量 <span>{{ this.onlineNum? this.onlineNum : '0' }}</span></p>
</div>
<Tooltip
ref="toolRef"
:query="BusInformation"
></Tooltip>
</div>
</template>
<script>
export default {
data () {
return {}
import Tooltip from './Tooltip';
export default {
components: {
Tooltip
},
data () {
return {
// 成品车作业区实时信息
query: {},
// 轮询定时器
timer: {},
// 当前在线人数
onlineNum: null,
// 车辆定位数据
carPostionInfo: {},
// 根据车身号获得当前车体信息
BusInformation: {
saleOrderNo: '2019-10-11 11:09',
planOrderNo: '83848484',
code: 'EDSCSFDGVG',
busType: 'car',
orderSize: '2222222255555550',
unit: 'From China',
shop: '二号车间',
line: '4-25'
}
};
},
mounted () {
this.pollingGetInterface();
},
beforeDestroy () {
clearInterval(this.timer);
},
methods: {
// 获取成品车作业区实时信息
getFinishedCarInformation () {
this.$fetch('area-controller/realTime-get', { areaNo: '7' }).then(
res => {
console.log(res);
for (let item of res) {
if (item.code === '7') {
this.query = item.stationMap;
// 获取当前在线人数
this.onlineNum = _.clone(item.onlineNum);
console.log(this.onlineNum);
break;
}
}
}
);
},
// 点击车位弹出车体信息
clickBtn (row) {
console.log(row);
this.$refs.toolRef.$refs.tooltip.style.visibility = 'visible';
let left = window.event.clientX;
let top = window.event.clientY;
this.$refs.toolRef.$refs.tooltip.style.top = top - 100 + 'px';
this.$refs.toolRef.$refs.tooltip.style.left = left - 100 + 'px';
this.$fetch('area-controller/busNo-get', { busNo: row })
.then(res => {
console.log('res', res);
})
.catch(error => {
reject(error);
});
},
// 解析车体类型及车体定位样式
judgeCarTypeAndcarStationstyle (outOrIn, station) {
// 判断有无车体定位信息
if (this.carPostionInfo.hasOwnProperty(station)) {
return 'isPositioned';
} else {
if (outOrIn === 'OTHER') {
return 'carOutFactory';
} else {
return '';
}
}
},
// 查询车辆定位
getCarPostion () {
let queryParams = { orderNo: '1111', workOrderNo: '' };
// 请求接口
this.$fetch('area-controller/busNo-get', { queryParams }).then(
res => {
this.carPostionInfo = _.cloneDeep(res);
}
);
},
// 轮询请求接口
pollingGetInterface () {
// 查询车辆定位
if (
this.$route.query.hasOwnProperty('orderNo') ||
this.$route.query.hasOwnProperty('workOrderNo')
) {
this.getCarPostion();
}
// 获取成品车作业区实时信息
this.getFinishedCarInformation();
this.timer = setInterval(() => {
this.carPostionInfo = {};
// 获取成品车作业区实时信息
this.getFinishedCarInformation();
}, 20000);
}
}
};
</script>
<style lang="scss" scoped>
.page-pack {
min-height: 100%;
background: rgba(0, 7, 12, 1);
.container-pack {
position: relative;
margin: 0 auto;
width: 1600px;
height: 900px;
background: url("../../../assets/images/Monitor/monitor_finished_car.png");
.page-pack {
min-height: 100%;
background: rgba(0, 7, 12, 1);
.onlineNum {
position: absolute;
color: #ffffff;
z-index: 999;
right: 300px;
top: 50px;
color: #00b4ff;
font-size: 16px;
font-weight: 750;
span {
margin: 30px;
font-size: 24px;
}
}
.container-pack {
position: relative;
margin: 0 auto;
width: 1600px;
height: 900px;
background: url("../../../assets/images/Monitor/monitor_finished_car.png");
div {
position: absolute;
width: 140px;
height: 50px;
cursor: pointer;
background: url('../../../assets/images/Monitor/monitor_car.png') no-repeat;
background-size: 35px 18px;
background-position: 0 16px;
div {
position: absolute;
width: 140px;
height: 50px;
cursor: pointer;
background: url("../../../assets/images/Monitor/monitor_car.png")
no-repeat;
background-size: 35px 18px;
background-position: 0 16px;
p {
font-size: 14px;
margin: 0;
color: #ffffff;
font-weight: bold;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
p {
font-size: 14px;
margin: 0;
color: #ffffff;
font-weight: bold;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
// 第一行
.finished-row-1-1 {
top: 395px;
left: 200px;
}
.finished-row-1-2 {
top: 395px;
left: 365px;
}
.finished-row-1-3 {
top: 395px;
left: 680px;
}
.finished-row-1-4 {
top: 395px;
left: 830px;
}
.finished-row-1-5 {
top: 395px;
left: 1010px;
}
// 第一行
.finished-row-1-1 {
top: 395px;
left: 200px;
}
.finished-row-1-2 {
top: 395px;
left: 365px;
}
.finished-row-1-3 {
top: 395px;
left: 680px;
}
.finished-row-1-4 {
top: 395px;
left: 830px;
}
.finished-row-1-5 {
top: 395px;
left: 1010px;
}
// 第二行
.finished-row-2-1 {
top: 442px;
left: 200px;
}
.finished-row-2-2 {
top: 442px;
left: 365px;
}
.finished-row-2-3 {
top: 442px;
left: 680px;
}
.finished-row-2-4 {
top: 442px;
left: 830px;
}
.finished-row-2-5 {
top: 442px;
left: 1010px;
}
// 第二行
.finished-row-2-1 {
top: 442px;
left: 200px;
}
.finished-row-2-2 {
top: 442px;
left: 365px;
}
.finished-row-2-3 {
top: 442px;
left: 680px;
}
.finished-row-2-4 {
top: 442px;
left: 830px;
}
.finished-row-2-5 {
top: 442px;
left: 1010px;
}
// 第三行
.finished-row-3-1 {
top: 495px;
left: 200px;
}
.finished-row-3-2 {
top: 495px;
left: 365px;
}
.finished-row-3-3 {
top: 495px;
left: 680px;
}
.finished-row-3-4 {
top: 495px;
left: 830px;
}
.finished-row-3-5 {
top: 495px;
left: 1010px;
}
// 第三行
.finished-row-3-1 {
top: 495px;
left: 200px;
}
.finished-row-3-2 {
top: 495px;
left: 365px;
}
.finished-row-3-3 {
top: 495px;
left: 680px;
}
.finished-row-3-4 {
top: 495px;
left: 830px;
}
.finished-row-3-5 {
top: 495px;
left: 1010px;
}
// 涂装车出
.paint-car-out {
top: 435px;
left: 1325px;
}
// 涂装车出
.paint-car-out {
top: 435px;
left: 1325px;
}
.carOutFactory {
background: url("../../../assets/images/Monitor/monitor_car_external.png")
no-repeat;
background-size: 35px 18px;
background-position: 0 16px;
}
.isPositioned {
background: url("../../../assets/images/Monitor/monitor_position_car.gif")
no-repeat;
background-size: 35px 18px;
background-position: 0 16px;
}
}
}
</style>
<template>
<div class="page-body">
<div class="coat-content">
<div class="coat-row-1-1">
<p>CDA23323</p>
<div
class="coat-row-1-1"
@click="clickBtn(query['HDG1-115'].busNo)"
v-if="query.hasOwnProperty('HDG1-115') && query['HDG1-115'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-115'].busType, 'HDG1-115')"
>
<p>{{query['HDG1-115'].busNo}}</p>
</div>
<div class="coat-row-1-2">
<p>CDA2333</p>
<div
class="coat-row-1-2"
@click="clickBtn(query['HDG1-116'].busNo)"
v-if="query.hasOwnProperty('HDG1-116') && query['HDG1-116'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-116'].busType, 'HDG1-116')"
>
<p>{{query['HDG1-116'].busNo}}</p>
</div>
<div class="coat-row-1-3">
<p>CDA23</p>
<div
class="coat-row-1-3"
@click="clickBtn(query['HDG1-117'].busNo)"
v-if="query.hasOwnProperty('HDG1-117') && query['HDG1-117'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-117'].busType, 'HDG1-117')"
>
<p>{{query['HDG1-117']}}</p>
</div>
<div class="coat-row-1-4">
<p>CDA2</p>
<div
class="coat-row-1-4"
@click="clickBtn(query['HDG1-118'].busNo)"
v-if="query.hasOwnProperty('HDG1-118') && query['HDG1-118'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-118'].busType, 'HDG1-118')"
>
<p>{{query['HDG1-118']}}</p>
</div>
<div class="coat-row-1-5">
<p>CDA231312</p>
<div
class="coat-row-1-5"
@click="clickBtn(query['HDG1-119'].busNo)"
v-if="query.hasOwnProperty('HDG1-119') && query['HDG1-119'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-119'].busType, 'HDG1-119')"
>
<p>{{query['HDG1-119'].busNo}}</p>
</div>
<!-- 第二行 -->
<div class="coat-row-2-1">
<p>CDA23323</p>
<div
class="coat-row-2-1"
@click="clickBtn(query['HDG1-120'].busNo)"
v-if="query.hasOwnProperty('HDG1-120') && query['HDG1-120'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-120'].busType, 'HDG1-120')"
>
<p>{{query['HDG1-120'].busNo}}</p>
</div>
<div class="coat-row-2-2">
<p>CDA2333</p>
<div
class="coat-row-2-2"
@click="clickBtn(query['HDG1-121'].busNo)"
v-if="query.hasOwnProperty('HDG1-121') && query['HDG1-121'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-121'].busType, 'HDG1-121')"
>
<p>{{query['HDG1-121'].busNo}}</p>
</div>
<div class="coat-row-2-3">
<p>CDA23</p>
<div
class="coat-row-2-3"
@click="clickBtn(query['HDG1-122'].busNo)"
v-if="query.hasOwnProperty('HDG1-122') && query['HDG1-122'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-122'].busType, 'HDG1-122')"
>
<p>{{query['HDG1-122'].busNo}}</p>
</div>
<div class="coat-row-2-4">
<p>CDA2</p>
<div
class="coat-row-2-4"
@click="clickBtn(query['HDG1-123'].busNo)"
v-if="query.hasOwnProperty('HDG1-123') && query['HDG1-123'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-123'].busType, 'HDG1-123')"
>
<p>{{query['HDG1-123'].busNo}}</p>
</div>
<div class="coat-row-2-5">
<p>CDA231312</p>
<div
class="coat-row-2-5"
@click="clickBtn(query['HDG1-124'].busNo)"
v-if="query.hasOwnProperty('HDG1-124') && query['HDG1-124'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-124'].busType, 'HDG1-124')"
>
<p>{{query['HDG1-124'].busNo}}</p>
</div>
<div class="coat-row-2-6">
<p>CDA231312</p>
<div
class="coat-row-2-6"
@click="clickBtn(query['HDG5-18'].busNo)"
v-if="query.hasOwnProperty('HDG5-18') && query['HDG5-18'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG5-18'].busType, 'HDG5-18')"
>
<p>{{query['HDG5-18']}}</p>
</div>
<!-- 第三行 -->
<div class="coat-row-3-1">
<p>CDA23323</p>
<div
class="coat-row-3-1"
@click="clickBtn(query['HDG1-125'].busNo)"
v-if="query.hasOwnProperty('HDG1-125') && query['HDG1-125'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-125'].busType, 'HDG1-125')"
>
<p>{{query['HDG1-125'].busNo}}</p>
</div>
<div class="coat-row-3-2">
<p>CDA2333</p>
<div
class="coat-row-3-2"
@click="clickBtn(query['HDG1-126'].busNo)"
v-if="query.hasOwnProperty('HDG1-126') && query['HDG1-126'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-126'].busType, 'HDG1-126')"
>
<p>{{query['HDG1-126'].busNo}}</p>
</div>
<div class="coat-row-3-3">
<p>CDA23</p>
<div
class="coat-row-3-3"
@click="clickBtn(query['HDG1-127'].busNo)"
v-if="query.hasOwnProperty('HDG1-127') && query['HDG1-127'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-127'].busType, 'HDG1-127')"
>
<p>{{query['HDG1-127'].busNo}}</p>
</div>
<div class="coat-row-3-4">
<p>CDA2</p>
<div
class="coat-row-3-4"
@click="clickBtn(query['HDG1-128'].busNo)"
v-if="query.hasOwnProperty('HDG1-128') && query['HDG1-128'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-128'].busType, 'HDG1-128')"
>
<p>{{query['HDG1-128'].busNo}}</p>
</div>
<div class="coat-row-3-5">
<p>CDA231312</p>
<div
class="coat-row-3-5"
@click="clickBtn(query['HDG1-129'].busNo)"
v-if="query.hasOwnProperty('HDG1-129') && query['HDG1-129'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-129'].busType, 'HDG1-129')"
>
<p>{{query['HDG1-129'].busNo}}</p>
</div>
<div class="coat-row-3-6">
<p>CDA231312</p>
<div
class="coat-row-3-6"
@click="clickBtn(query['HDG5-19'].busNo)"
v-if="query.hasOwnProperty('HDG5-19') && query['HDG5-19'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG5-19'].busType, 'HDG5-19')"
>
<p>{{query['HDG5-19'].busNo}}</p>
</div>
<!-- 第四行 -->
<div class="coat-row-4-1">
<p>CDA23323</p>
<div
class="coat-row-4-1"
@click="clickBtn(query['HDG1-130'].busNo)"
v-if="query.hasOwnProperty('HDG1-130') && query['HDG1-130'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-130'].busType, 'HDG1-130')"
>
<p>{{query['HDG1-130'].busNo}}</p>
</div>
<div class="coat-row-4-2">
<p>CDA2333</p>
<div
class="coat-row-4-2"
@click="clickBtn(query['HDG1-131'].busNo)"
v-if="query.hasOwnProperty('HDG1-131') && query['HDG1-131'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-131'].busType, 'HDG1-131')"
>
<p>{{query['HDG1-131'].busNo}}</p>
</div>
<div class="coat-row-4-3">
<p>CDA23</p>
<div
class="coat-row-4-3"
@click="clickBtn(query['HDG1-132'].busNo)"
v-if="query.hasOwnProperty('HDG1-132') && query['HDG1-132'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-132'].busType, 'HDG1-132')"
>
<p>{{query['HDG1-132'].busNo}}</p>
</div>
<div class="coat-row-4-4">
<p>CDA2</p>
<div
class="coat-row-4-4"
@click="clickBtn(query['HDG1-133'].busNo)"
v-if="query.hasOwnProperty('HDG1-133') && query['HDG1-133'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG1-133'].busType, 'HDG1-133')"
>
<p>{{query['HDG1-133'].busNo}}</p>
</div>
<div class="coat-row-4-5">
<p>CDA231312</p>
<div
class="coat-row-4-5"
@click="clickBtn(query['HDG5-20'].busNo)"
v-if="query.hasOwnProperty('HDG5-20') && query['HDG5-20'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG5-20'].busType, 'HDG5-20')"
>
<p>{{query['HDG5-20'].busNo}}</p>
</div>
<!-- 实时车辆 -->
<div class="onlineNum">
<p>总量 <span>{{ this.onlineNum? this.onlineNum : '0' }}</span></p>
</div>
</div>
<Tooltip
ref="toolRef"
:query="BusInformation"
></Tooltip>
</div>
</template>
<script>
......@@ -78,27 +196,141 @@
* @author MARS 2019-09-28 <wangyunfan@vtstar.net>
* @fileoverview 中涂作业区
*/
import Tooltip from './Tooltip';
export default {
components: {
Tooltip
},
data () {
return {}
return {
// 中涂作业区实时信息
query: {},
// 轮询定时器
timer: {},
// 当前在线人数
onlineNum: null,
// 车辆定位数据
carPostionInfo: {},
// 根据车身号获得当前车体信息
BusInformation: {
saleOrderNo: '2019-10-11 11:09',
planOrderNo: '83848484',
code: 'EDSCSFDGVG',
busType: 'car',
orderSize: '2222222255555550',
unit: 'From China',
shop: '二号车间',
line: '4-25'
}
};
},
mounted () {},
methods: {}
}
mounted () {
this.pollingGetInterface();
},
beforeDestroy () {
clearInterval(this.timer);
},
methods: {
// 获取中涂作业区实时信息
getMiddleCoatInformation () {
this.$fetch('area-controller/realTime-get', { areaNo: '5' }).then(
res => {
for (let item of res) {
if (item.code === '5') {
this.query = item.stationMap;
// 获取当前在线人数
this.onlineNum = _.clone(item.onlineNum);
console.log(this.onlineNum);
break;
}
}
}
);
},
// 点击车位弹出车体信息
clickBtn (row) {
console.log(row);
this.$refs.toolRef.$refs.tooltip.style.visibility = 'visible';
let left = window.event.clientX;
let top = window.event.clientY;
this.$refs.toolRef.$refs.tooltip.style.top = top - 100 + 'px';
this.$refs.toolRef.$refs.tooltip.style.left = left - 100 + 'px';
this.$fetch('area-controller/busNo-get', { busNo: row })
.then(res => {
console.log('res', res);
})
.catch(error => {
reject(error);
});
},
// 解析车体类型及车体定位样式
judgeCarTypeAndcarStationstyle (outOrIn, station) {
// 判断有无车体定位信息
if (this.carPostionInfo.hasOwnProperty(station)) {
return 'isPositioned';
} else {
if (outOrIn === 'OTHER') {
return 'carOutFactory';
} else {
return '';
}
}
},
// 查询车辆定位
getCarPostion () {
let queryParams = { orderNo: '1111', workOrderNo: '' };
// 请求接口
this.$fetch('area-controller/busNo-get', { queryParams }).then(
res => {
this.carPostionInfo = _.cloneDeep(res);
}
);
},
// 轮询请求接口
pollingGetInterface () {
// 查询车辆定位
if (
this.$route.query.hasOwnProperty('orderNo') ||
this.$route.query.hasOwnProperty('workOrderNo')
) {
this.getCarPostion();
}
// 获取电泳作业区实时信息
this.getMiddleCoatInformation();
this.timer = setInterval(() => {
this.carPostionInfo = {};
// 获取电泳作业区实时信息
this.getMiddleCoatInformation();
}, 20000);
}
}
};
</script>
<style lang="scss" scoped>
.page-body {
min-height: 100%;
background: rgba(0, 7, 12, 1);
.onlineNum {
position: absolute;
color: #ffffff;
z-index: 999;
right: 300px;
top: 50px;
color: #00b4ff;
font-size: 16px;
font-weight: 750;
span {
margin: 30px;
font-size: 24px;
}
}
.coat-content {
position: relative;
margin: 0 auto;
width: 1600px;
height: 900px;
background: url('../../../assets/images/Monitor/coat-bg.png') no-repeat;
background: url("../../../assets/images/Monitor/coat-bg.png") no-repeat;
.coat-row-1-1,
.coat-row-1-2,
......@@ -123,15 +355,16 @@ export default {
.coat-row-4-4,
.coat-row-4-5 {
position: absolute;
width: 140px;
width: 100px;
height: 50px;
cursor: pointer;
background: url('../../../assets/images/Monitor/monitor_car.png') no-repeat;
background: url("../../../assets/images/Monitor/monitor_car.png")
no-repeat;
background-size: 35px 18px;
background-position: 0 16px;
p {
font-size: 14px;
font-size: 12px;
margin: 0;
color: #ffffff;
font-weight: bold;
......@@ -232,6 +465,18 @@ export default {
top: 603px;
left: 1260px;
}
.carOutFactory {
background: url("../../../assets/images/Monitor/monitor_car_external.png")
no-repeat;
background-size: 35px 18px;
background-position: 0 16px;
}
.isPositioned {
background: url("../../../assets/images/Monitor/monitor_position_car.gif")
no-repeat;
background-size: 35px 18px;
background-position: 0 16px;
}
}
}
</style>
......@@ -193,6 +193,18 @@
>
<p>{{query['HDG5-16'].busNo}}</p>
</div>
<div
class="putty-row-5-6"
@click="clickBtn(query['HDG5-17'].busNo)"
v-if="query.hasOwnProperty('HDG5-17') && query['HDG5-17'].state !== 'FREE'"
:class="judgeCarTypeAndcarStationstyle(query['HDG5-17'].busType, 'HDG5-17')"
>
<p>{{query['HDG5-17'].busNo}}</p>
</div>
</div>
<!-- 实时车辆 -->
<div class="onlineNum">
<p>总量 <span>{{ this.onlineNum? this.onlineNum : '0' }}</span></p>
</div>
<!-- 信息展示弹窗 -->
<Tooltip
......@@ -236,18 +248,15 @@ export default {
getPuttyInformation () {
this.$fetch('area-controller/realTime-get', { areaNo: '4' })
.then(res => {
console.log(res);
for (let i = 0; i < res.length; i++) {
if (res[i].code === '4') {
this.query = _.cloneDeep(res[i].stationMap);
console.log(this.query);
for (let item of res) {
if (item.code === '4') {
this.query = item.stationMap;
// 获取当前在线人数
this.onlineNum = _.clone(res[i].onlineNum);
this.onlineNum = _.clone(item.onlineNum);
console.log(this.onlineNum);
break;
}
}
// 1.for of(数组)
// 2.foreach(数组)
})
.catch(error => {
reject(error);
......@@ -257,7 +266,7 @@ export default {
judgeCarTypeAndcarStationstyle (outOrIn, station) {
// 判断有无车体定位信息
if (this.carPostionInfo.hasOwnProperty(station)) {
return 'isPositioned'
return 'isPositioned';
} else {
if (outOrIn === 'OTHER') {
return 'carOutFactory';
......@@ -287,25 +296,30 @@ export default {
},
// 查询车辆定位
getCarPostion () {
let queryParams = { orderNo: '', workOrderNo: '' }
let queryParams = { orderNo: '', workOrderNo: '' };
// 请求接口
this.$fetch('area-controller/busNo-get', {queryParams}).then(res => {
this.carPostionInfo = _.cloneDeep(res)
})
this.$fetch('area-controller/busNo-get', { queryParams }).then(
res => {
this.carPostionInfo = _.cloneDeep(res);
}
);
},
// 轮询请求接口
pollingGetInterface () {
// 查询车辆定位
if (this.$route.query.hasOwnProperty('orderNo') || this.$route.query.hasOwnProperty('workOrderNo')) {
this.getCarPostion()
if (
this.$route.query.hasOwnProperty('orderNo') ||
this.$route.query.hasOwnProperty('workOrderNo')
) {
this.getCarPostion();
}
// 获取腻子作业区实时信息
this.getPuttyInformation()
this.getPuttyInformation();
this.timer = setInterval(() => {
this.carPostionInfo = {}
this.carPostionInfo = {};
// 获取腻子作业区实时信息
this.getPuttyInformation()
}, 20000)
this.getPuttyInformation();
}, 20000);
}
}
};
......@@ -314,7 +328,20 @@ export default {
.page-body {
min-height: 100%;
background: rgba(0, 7, 12, 1);
.onlineNum {
position: absolute;
color: #ffffff;
z-index: 999;
right: 300px;
top: 50px;
color: #00b4ff;
font-size: 16px;
font-weight: 750;
span {
margin: 30px;
font-size: 24px;
}
}
.putty-content {
position: relative;
margin: 0 auto;
......
......@@ -3,550 +3,614 @@
<div class="page-pack">
<div class="container-pack">
<!-- 第一行 -->
<div
<div
class="sealed-row-1-1"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-57') && sealedAnticorrosion['HDG1-57'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-57'].busType, 'HDG1-57')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-57'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-57'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-57'].busNo}}</p>
</div>
<div
<div
class="sealed-row-1-2"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-67') && sealedAnticorrosion['HDG1-67'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-67'].busType, 'HDG1-67')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-67'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-67'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-67'].busNo}}</p>
</div>
<div
<div
class="sealed-row-1-3"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-68') && sealedAnticorrosion['HDG1-68'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-68'].busType, 'HDG1-68')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-68'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-68'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-68'].busNo}}</p>
</div>
<div
<div
class="sealed-row-1-4"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-69') && sealedAnticorrosion['HDG1-69'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-69'].busType, 'HDG1-69')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-69'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-69'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-69'].busNo}}</p>
</div>
<div
<div
class="sealed-row-1-5"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-70') && sealedAnticorrosion['HDG1-70'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-70'].busType, 'HDG1-70')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-70'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-70'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-70'].busNo}}</p>
</div>
<!-- 第二行 -->
<div
<div
class="sealed-row-2-1"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-58') && sealedAnticorrosion['HDG1-58'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-58'].busType, 'HDG1-58')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-58'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-58'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-58'].busNo}}</p>
</div>
<div
<div
class="sealed-row-2-2"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-71') && sealedAnticorrosion['HDG1-71'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-71'].busType, 'HDG1-71')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-71'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-71'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-71'].busNo}}</p>
</div>
<div
<div
class="sealed-row-2-3"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-72') && sealedAnticorrosion['HDG1-72'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-72'].busType, 'HDG1-72')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-72'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-72'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-72'].busNo}}</p>
</div>
<div
<div
class="sealed-row-2-4"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-73') && sealedAnticorrosion['HDG1-73'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-73'].busType, 'HDG1-73')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-73'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-73'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-73'].busNo}}</p>
</div>
<div
<div
class="sealed-row-2-5"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-74') && sealedAnticorrosion['HDG1-74'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-74'].busType, 'HDG1-74')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-74'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-74'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-74'].busNo}}</p>
</div>
<!-- 第三行 -->
<div
<div
class="sealed-row-3-1"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-75') && sealedAnticorrosion['HDG1-75'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-75'].busType, 'HDG1-75')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-75'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-75'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-75'].busNo}}</p>
</div>
<div
<div
class="sealed-row-3-2"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-76') && sealedAnticorrosion['HDG1-76'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-76'].busType, 'HDG1-76')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-76'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-76'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-76'].busNo}}</p>
</div>
<div
<div
class="sealed-row-3-3"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-77') && sealedAnticorrosion['HDG1-77'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-77'].busType, 'HDG1-77')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-77'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-77'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-77'].busNo}}</p>
</div>
<div
<div
class="sealed-row-3-4"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-78') && sealedAnticorrosion['HDG1-78'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-78'].busType, 'HDG1-78')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-78'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-78'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-78'].busNo}}</p>
</div>
<div
<div
class="sealed-row-3-5"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-79') && sealedAnticorrosion['HDG1-79'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-79'].busType, 'HDG1-79')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-79'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-79'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-79'].busNo}}</p>
</div>
<!-- 第四行 -->
<div
<div
class="sealed-row-4-1"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-80') && sealedAnticorrosion['HDG1-80'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-80'].busType, 'HDG1-80')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-80'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-80'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-80'].busNo}}</p>
</div>
<div
<div
class="sealed-row-4-2"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-81') && sealedAnticorrosion['HDG1-81'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-81'].busType, 'HDG1-81')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-81'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-81'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-81'].busNo}}</p>
</div>
<div
<div
class="sealed-row-4-3"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-82') && sealedAnticorrosion['HDG1-82'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-82'].busType, 'HDG1-82')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-82'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-82'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-82'].busNo}}</p>
</div>
<div
<div
class="sealed-row-4-4"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-83') && sealedAnticorrosion['HDG1-83'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-83'].busType, 'HDG1-83')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-83'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-83'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-83'].busNo}}</p>
</div>
<div
<div
class="sealed-row-4-5"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-84') && sealedAnticorrosion['HDG1-84'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-84'].busType, 'HDG1-84')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-84'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-84'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-84'].busNo}}</p>
</div>
<!-- 第五行 -->
<div
<div
class="sealed-row-5-1"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-85') && sealedAnticorrosion['HDG1-85'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-85'].busType, 'HDG1-85')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-85'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-85'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-85'].busNo}}</p>
</div>
<div
<div
class="sealed-row-5-2"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-86') && sealedAnticorrosion['HDG1-86'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-86'].busType, 'HDG1-86')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-86'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-86'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-86'].busNo}}</p>
</div>
<div
<div
class="sealed-row-5-3"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-87') && sealedAnticorrosion['HDG1-87'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-87'].busType, 'HDG1-87')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-87'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-87'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-87'].busNo}}</p>
</div>
<div
<div
class="sealed-row-5-4"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-88') && sealedAnticorrosion['HDG1-88'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-88'].busType, 'HDG1-88')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-88'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-88'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-88'].busNo}}</p>
</div>
<div
<div
class="sealed-row-5-5"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-89') && sealedAnticorrosion['HDG1-89'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-89'].busType, 'HDG1-89')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-89'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-89'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-89'].busNo}}</p>
</div>
<!-- 第六行 -->
<div
<div
class="sealed-row-6-1"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-90') && sealedAnticorrosion['HDG1-90'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-90'].busType, 'HDG1-90')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-90'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-90'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-90'].busNo}}</p>
</div>
<div
<div
class="sealed-row-6-2"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-91') && sealedAnticorrosion['HDG1-91'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-91'].busType, 'HDG1-91')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-91'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-91'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-91'].busNo}}</p>
</div>
<div
<div
class="sealed-row-6-3"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-92') && sealedAnticorrosion['HDG1-92'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-92'].busType, 'HDG1-92')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-92'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-92'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-92'].busNo}}</p>
</div>
<div
<div
class="sealed-row-6-4"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-93') && sealedAnticorrosion['HDG1-93'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-93'].busType, 'HDG1-93')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-93'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-93'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-93'].busNo}}</p>
</div>
<div
<div
class="sealed-row-6-5"
v-if="sealedAnticorrosion.hasOwnProperty('HDG1-94') && sealedAnticorrosion['HDG1-94'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG1-94'].busType, 'HDG1-94')"
@click="doCarStationClick(sealedAnticorrosion['HDG1-94'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG1-94'].busNo)"
>
<p>{{sealedAnticorrosion['HDG1-94'].busNo}}</p>
</div>
<!-- 右一列 -->
<div
<div
class="sealed-right-column-1-1"
v-if="sealedAnticorrosion.hasOwnProperty('HDG5-8') && sealedAnticorrosion['HDG5-8'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG5-8'].busType, 'HDG5-8')"
@click="doCarStationClick(sealedAnticorrosion['HDG5-8'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG5-8'].busNo)"
>
<p>{{sealedAnticorrosion['HDG5-8'].busNo}}</p>
</div>
<div
<div
class="sealed-right-column-1-2"
v-if="sealedAnticorrosion.hasOwnProperty('HDG5-9') && sealedAnticorrosion['HDG5-9'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG5-9'].busType, 'HDG5-9')"
@click="doCarStationClick(sealedAnticorrosion['HDG5-9'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG5-9'].busNo)"
>
<p>{{sealedAnticorrosion['HDG5-9'].busNo}}</p>
</div>
<div
<div
class="sealed-right-column-1-3"
v-if="sealedAnticorrosion.hasOwnProperty('HDG5-10') && sealedAnticorrosion['HDG5-10'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG5-10'].busType, 'HDG5-10')"
@click="doCarStationClick(sealedAnticorrosion['HDG5-10'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG5-10'].busNo)"
>
<p>{{sealedAnticorrosion['HDG5-10'].busNo}}</p>
</div>
<div
<div
class="sealed-right-column-1-4"
v-if="sealedAnticorrosion.hasOwnProperty('HDG5-11') && sealedAnticorrosion['HDG5-11'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG5-11'].busType, 'HDG5-11')"
@click="doCarStationClick(sealedAnticorrosion['HDG5-11'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG5-11'].busNo)"
>
<p>{{sealedAnticorrosion['HDG5-11'].busNo}}</p>
</div>
<div
<div
class="sealed-right-column-1-5"
v-if="sealedAnticorrosion.hasOwnProperty('HDG5-12') && sealedAnticorrosion['HDG5-12'].state !== 'FREE'"
:class="judgeCarTypeAndCarStationStyle(sealedAnticorrosion['HDG5-12'].busType, 'HDG5-12')"
@click="doCarStationClick(sealedAnticorrosion['HDG5-12'].busNo)">
@click="doCarStationClick(sealedAnticorrosion['HDG5-12'].busNo)"
>
<p>{{sealedAnticorrosion['HDG5-12'].busNo}}</p>
</div>
</div>
<!-- 实时车辆 -->
<div class="onlineNum">
<p>总量 <span>{{ this.onlineNum? this.onlineNum : '0' }}</span></p>
</div>
<!-- 详细信息展示组件 -->
<Tooltip
ref="toolRef"
:query="currentBusInfo">
:query="currentBusInfo"
>
</Tooltip>
</div>
</template>
<script>
import Tooltip from './Tooltip'
export default {
components: {
Tooltip
},
data () {
return {
// 密封防腐作业区域实时数据
sealedAnticorrosion: {},
// 筛选条件订单号
orderNo: '',
// 筛选条件工单号
workOrderNo: '',
// 车体定位数据
carPostion: {},
// 当前车体信息
currentBusInfo: {}
import Tooltip from './Tooltip';
export default {
components: {
Tooltip
},
data () {
return {
// 密封防腐作业区域实时数据
sealedAnticorrosion: {},
// 筛选条件订单号
orderNo: '',
// 筛选条件工单号
workOrderNo: '',
// 车体定位数据
carPostion: {},
// 当前车体信息
currentBusInfo: {}
};
},
methods: {
// 解析车体类型及车体定位样式
judgeCarTypeAndCarStationStyle (carType, caeNumber) {
if (this.carPostion.hasOwnProperty(caeNumber)) {
return 'monitor-car-location-position';
} else {
if (carType === 'OWN') {
return '';
} else {
return 'monitor-car-external';
}
}
},
methods: {
// 解析车体类型及车体定位样式
judgeCarTypeAndCarStationStyle (carType, caeNumber) {
if (this.carPostion.hasOwnProperty(caeNumber)) {
return 'monitor-car-location-position'
} else {
if (carType === 'OWN') {
return ''
} else {
return 'monitor-car-external'
}
// 点击工位
doCarStationClick (busNo) {
let queryParams = { busNo: busNo };
this.$refs.toolRef.$refs.tooltip.style.visibility = 'visible';
let left = window.event.clientX;
let top = window.event.clientY;
this.$refs.toolRef.$refs.tooltip.style.top = top - 100 + 'px';
this.$refs.toolRef.$refs.tooltip.style.left = left - 100 + 'px';
this.$fetch('area-controller/busNo-get', queryParams).then(
response => {
this.currentBusInfo = _.cloneDeep(response);
}
},
// 点击工位
doCarStationClick (busNo) {
let queryParams = { busNo: busNo }
this.$refs.toolRef.$refs.tooltip.style.visibility = 'visible';
let left = window.event.clientX;
let top = window.event.clientY;
this.$refs.toolRef.$refs.tooltip.style.top = top - 100 + 'px';
this.$refs.toolRef.$refs.tooltip.style.left = left - 100 + 'px';
this.$fetch('area-controller/busNo-get', queryParams).then(response => {
this.currentBusInfo = _.cloneDeep(response)
})
},
// 获取密封防腐作业区实时数据
getSealedAnticorrosionRealTimeData () {
let queryParams = { areaNo: '3' }
this.$fetch('area-controller/realTime-get', queryParams).then(response => {
);
},
// 获取密封防腐作业区实时数据
getSealedAnticorrosionRealTimeData () {
let queryParams = { areaNo: '3' };
this.$fetch('area-controller/realTime-get', queryParams).then(
response => {
for (let item of response) {
if (item.code === '3') {
this.sealedAnticorrosionRealTime = _.cloneDeep(item)
this.sealedAnticorrosionRealTime = _.cloneDeep(
item
);
}
}
})
},
}
);
},
// 根据工单号或订单号定位当前车体位置
getCurrentPosition () {
let queryParams = {
orderNo: this.orderNo,
workOrderNo: this.workOrderNo
};
this.$fetch('area-controller/workOrderNo-get', queryParams).then(
response => {
this.carPostion = _.cloneDeep(response);
}
);
},
// 轮询查询区域实时信息
pollingGetAreaRealTimeData () {
// 获取密封防腐作业区实时数据
this.getSealedAnticorrosionRealTimeData();
// 根据工单号或订单号定位当前车体位置
getCurrentPosition () {
let queryParams = { orderNo: this.orderNo, workOrderNo: this.workOrderNo }
this.$fetch('area-controller/workOrderNo-get', queryParams).then(response => {
this.carPostion = _.cloneDeep(response)
})
},
// 轮询查询区域实时信息
pollingGetAreaRealTimeData () {
this.getCurrentPosition();
setInterval(() => {
this.carPostion = {};
// 获取密封防腐作业区实时数据
this.getSealedAnticorrosionRealTimeData()
// 根据工单号或订单号定位当前车体位置
this.getCurrentPosition()
setInterval(() => {
this.carPostion = {}
// 获取密封防腐作业区实时数据
this.getSealedAnticorrosionRealTimeData()
}, 20000)
}
},
mounted () {
setTimeout(() => {
// 轮询查询区域实时信息
this.pollingGetAreaRealTimeData()
}, 0)
this.getSealedAnticorrosionRealTimeData();
}, 20000);
}
},
mounted () {
setTimeout(() => {
// 轮询查询区域实时信息
this.pollingGetAreaRealTimeData();
}, 0);
}
};
</script>
<style lang="scss" scoped>
.page-pack {
min-height: 100%;
background: rgba(0, 7, 12, 1);
.page-pack {
min-height: 100%;
background: rgba(0, 7, 12, 1);
position: relative;
.onlineNum {
position: absolute;
color: #ffffff;
z-index: 999;
right: 300px;
top: 50px;
color: #00b4ff;
font-size: 16px;
font-weight: 750;
span {
margin: 30px;
font-size: 24px;
}
}
.container-pack {
position: relative;
margin: 0 auto;
width: 1600px;
height: 900px;
background: url("../../../assets/images/Monitor/monitor_sealed_anticorrosion.png");
.container-pack {
position: relative;
margin: 0 auto;
width: 1600px;
height: 900px;
background: url("../../../assets/images/Monitor/monitor_sealed_anticorrosion.png");
div {
position: absolute;
width: 140px;
height: 50px;
cursor: pointer;
background: url('../../../assets/images/Monitor/monitor_car.png') no-repeat;
background-size: 35px 18px;
background-position: 0 16px;
div {
position: absolute;
width: 140px;
height: 50px;
cursor: pointer;
background: url("../../../assets/images/Monitor/monitor_car.png")
no-repeat;
background-size: 35px 18px;
background-position: 0 16px;
p {
font-size: 14px;
margin: 0;
color: #ffffff;
font-weight: bold;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
p {
font-size: 14px;
margin: 0;
color: #ffffff;
font-weight: bold;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
// 第一行
.sealed-row-1-1 {
top: 265px;
left: 155px;
}
.sealed-row-1-2 {
top: 265px;
left: 345px;
}
.sealed-row-1-3 {
top: 265px;
left: 530px;
}
.sealed-row-1-4 {
top: 265px;
left: 720px;
}
.sealed-row-1-5 {
top: 265px;
left: 910px;
}
// 第一行
.sealed-row-1-1 {
top: 265px;
left: 155px;
}
.sealed-row-1-2 {
top: 265px;
left: 345px;
}
.sealed-row-1-3 {
top: 265px;
left: 530px;
}
.sealed-row-1-4 {
top: 265px;
left: 720px;
}
.sealed-row-1-5 {
top: 265px;
left: 910px;
}
// 第二行
.sealed-row-2-1 {
top: 352px;
left: 155px;
}
.sealed-row-2-2 {
top: 352px;
left: 345px;
}
.sealed-row-2-3 {
top: 352px;
left: 530px;
}
.sealed-row-2-4 {
top: 352px;
left: 720px;
}
.sealed-row-2-5 {
top: 352px;
left: 910px;
}
// 第二行
.sealed-row-2-1 {
top: 352px;
left: 155px;
}
.sealed-row-2-2 {
top: 352px;
left: 345px;
}
.sealed-row-2-3 {
top: 352px;
left: 530px;
}
.sealed-row-2-4 {
top: 352px;
left: 720px;
}
.sealed-row-2-5 {
top: 352px;
left: 910px;
}
// 第三行
.sealed-row-3-1 {
top: 435px;
left: 210px;
}
.sealed-row-3-2 {
top: 437px;
left: 345px;
}
.sealed-row-3-3 {
top: 437px;
left: 530px;
}
.sealed-row-3-4 {
top: 437px;
left: 720px;
}
.sealed-row-3-5 {
top: 437px;
left: 910px;
}
// 第三行
.sealed-row-3-1 {
top: 435px;
left: 210px;
}
.sealed-row-3-2 {
top: 437px;
left: 345px;
}
.sealed-row-3-3 {
top: 437px;
left: 530px;
}
.sealed-row-3-4 {
top: 437px;
left: 720px;
}
.sealed-row-3-5 {
top: 437px;
left: 910px;
}
// 第四行
.sealed-row-4-1 {
top: 520px;
left: 210px;
}
.sealed-row-4-2 {
top: 520px;
left: 392px;
}
.sealed-row-4-3 {
top: 520px;
left: 572px;
}
.sealed-row-4-4 {
top: 520px;
left: 752px;
}
.sealed-row-4-5 {
top: 520px;
left: 936px;
}
// 第四行
.sealed-row-4-1 {
top: 520px;
left: 210px;
}
.sealed-row-4-2 {
top: 520px;
left: 392px;
}
.sealed-row-4-3 {
top: 520px;
left: 572px;
}
.sealed-row-4-4 {
top: 520px;
left: 752px;
}
.sealed-row-4-5 {
top: 520px;
left: 936px;
}
// 第五行
.sealed-row-5-1 {
top: 605px;
left: 155px;
}
.sealed-row-5-2 {
top: 605px;
left: 345px;
}
.sealed-row-5-3 {
top: 605px;
left: 530px;
}
.sealed-row-5-4 {
top: 605px;
left: 720px;
}
.sealed-row-5-5 {
top: 605px;
left: 910px;
}
// 第五行
.sealed-row-5-1 {
top: 605px;
left: 155px;
}
.sealed-row-5-2 {
top: 605px;
left: 345px;
}
.sealed-row-5-3 {
top: 605px;
left: 530px;
}
.sealed-row-5-4 {
top: 605px;
left: 720px;
}
.sealed-row-5-5 {
top: 605px;
left: 910px;
}
// 第六行
.sealed-row-6-1 {
top: 690px;
left: 155px;
}
.sealed-row-6-2 {
top: 690px;
left: 345px;
}
.sealed-row-6-3 {
top: 690px;
left: 530px;
}
.sealed-row-6-4 {
top: 690px;
left: 720px;
}
.sealed-row-6-5 {
top: 690px;
left: 910px;
}
// 第六行
.sealed-row-6-1 {
top: 690px;
left: 155px;
}
.sealed-row-6-2 {
top: 690px;
left: 345px;
}
.sealed-row-6-3 {
top: 690px;
left: 530px;
}
.sealed-row-6-4 {
top: 690px;
left: 720px;
}
.sealed-row-6-5 {
top: 690px;
left: 910px;
}
// 右一列
.sealed-right-column-1-1 {
top: 352px;
left: 1275px;
}
.sealed-right-column-1-2 {
top: 438px;
left: 1275px;
}
.sealed-right-column-1-3 {
top: 522px;
left: 1275px;
}
.sealed-right-column-1-4 {
top: 604px;
left: 1318px;
}
.sealed-right-column-1-5 {
top: 688px;
left: 1318px;
}
// 右一列
.sealed-right-column-1-1 {
top: 352px;
left: 1275px;
}
.sealed-right-column-1-2 {
top: 438px;
left: 1275px;
}
.sealed-right-column-1-3 {
top: 522px;
left: 1275px;
}
.sealed-right-column-1-4 {
top: 604px;
left: 1318px;
}
.sealed-right-column-1-5 {
top: 688px;
left: 1318px;
}
}
}
// 轻客车体样式
.monitor-car-external {
background: url('../../../assets/images/Monitor/monitor_car_external.png') !important;
background-size: cover !important;
}
// 轻客车体样式
.monitor-car-external {
background: url("../../../assets/images/Monitor/monitor_car_external.png") !important;
background-size: cover !important;
}
// 定位车体样式
.monitor-car-location-position {
background: url('../../../assets/images/Monitor/monitor_position_car.gif') !important;
background-size: cover !important;
}
// 定位车体样式
.monitor-car-location-position {
background: url("../../../assets/images/Monitor/monitor_position_car.gif") !important;
background-size: cover !important;
}
</style>
......@@ -283,6 +283,10 @@
<p>{{query['HDG1-56'].busNo}}</p>
</div>
</div>
<!-- 实时车辆 -->
<div class="onlineNum">
<p>总量 <span>{{ this.onlineNum? this.onlineNum : '0' }}</span></p>
</div>
<!-- 信息展示弹窗 -->
<Tooltip
ref="toolRef"
......@@ -325,23 +329,20 @@ export default {
this.pollingGetInterface();
},
beforeDestroy () {
clearInterval(this.timer)
clearInterval(this.timer);
},
methods: {
// 获取钣金车存放区实时信息
getSheetMetalInformation () {
this.$fetch('area-controller/realTime-get', { areaNo: '1' })
.then(res => {
// this.query = _.cloneDeep(res);
// console.log(this.query);
console.log(res);
for (let i = 0; i < res.length; i++) {
if (res[i].code === '1') {
this.query = _.cloneDeep(res[i].stationMap);
console.log(this.query)
for (let item of res) {
if (item.code === '1') {
this.query = item.stationMap;
// 获取当前在线人数
this.onlineNum = _.clone(res[i].onlineNum);
console.log(this.onlineNum)
this.onlineNum = _.clone(item.onlineNum);
console.log(this.onlineNum);
break;
}
}
})
......@@ -372,7 +373,7 @@ export default {
judgeCarTypeAndcarStationstyle (outOrIn, station) {
// 判断有无车体定位信息
if (this.carPostionInfo.hasOwnProperty(station)) {
return 'isPositioned'
return 'isPositioned';
} else {
if (outOrIn === 'OTHER') {
return 'carOutFactory';
......@@ -383,25 +384,30 @@ export default {
},
// 查询车辆定位
getCarPostion () {
let queryParams = { orderNo: '1111', workOrderNo: '' }
let queryParams = { orderNo: '1111', workOrderNo: '' };
// 请求接口
this.$fetch('area-controller/busNo-get', {queryParams}).then(res => {
this.carPostionInfo = _.cloneDeep(res)
})
this.$fetch('area-controller/busNo-get', { queryParams }).then(
res => {
this.carPostionInfo = _.cloneDeep(res);
}
);
},
// 轮询请求接口
pollingGetInterface () {
// 查询车辆定位
if (this.$route.query.hasOwnProperty('orderNo') || this.$route.query.hasOwnProperty('workOrderNo')) {
this.getCarPostion()
if (
this.$route.query.hasOwnProperty('orderNo') ||
this.$route.query.hasOwnProperty('workOrderNo')
) {
this.getCarPostion();
}
// 获取钣金作业区实时信息
this.getSheetMetalInformation()
this.getSheetMetalInformation();
this.timer = setInterval(() => {
this.carPostionInfo = {}
this.carPostionInfo = {};
// 获取钣金作业区实时信息
this.getSheetMetalInformation()
}, 20000)
this.getSheetMetalInformation();
}, 20000);
}
}
};
......@@ -411,7 +417,20 @@ export default {
.page-pack {
min-height: 100%;
background: rgba(0, 7, 12, 1);
.onlineNum {
position: absolute;
color: #ffffff;
z-index: 999;
right: 300px;
top: 50px;
color: #00b4ff;
font-size: 16px;
font-weight: 750;
span {
margin: 30px;
font-size: 24px;
}
}
.container-pack {
position: relative;
margin: 0 auto;
......@@ -424,7 +443,8 @@ export default {
width: 140px;
height: 50px;
cursor: pointer;
background: url("../../../assets/images/Monitor/monitor_car.png") no-repeat;
background: url("../../../assets/images/Monitor/monitor_car.png")
no-repeat;
background-size: 35px 18px;
background-position: 0 16px;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment