场位管控-场位图
parent
1fa3e5607d
commit
db464aa5b9
|
@ -196,43 +196,31 @@
|
|||
<view class="cwRight">
|
||||
<view class="rightBox" v-for="(item,index) in qyList" :key="index">
|
||||
<view class="boxTop">
|
||||
<p>{{item.pyaAreaCode}}({{item.totalLaneAmout}}/{{item.totalSeatAmout}})</p>
|
||||
<p>{{item.pyaAreaCode}}区({{item.useSeatAmount}}/{{item.totalSeatAmount}})</p>
|
||||
<text @click="clickLine(item)">车道</text>
|
||||
</view>
|
||||
<view class="boxContent">
|
||||
<view class="dataList">
|
||||
<p>车位总数:
|
||||
<template v-if="item.totalSeatAmout == null">-- </template>
|
||||
<template v-else>{{item.totalSeatAmout}}</template>
|
||||
车位
|
||||
</p>
|
||||
<p>使用:
|
||||
<template v-if="item.useSeatAmout == null">-- </template>
|
||||
<template v-else>{{item.useSeatAmout}}</template>
|
||||
车位
|
||||
</p>
|
||||
<p>剩余:
|
||||
<template v-if="item.remainSeatAmout == null">-- </template>
|
||||
<template v-else>{{item.remainSeatAmout}}</template>
|
||||
车位
|
||||
</p>
|
||||
<p>可停放车辆:
|
||||
<template v-if="item.unparkGoodsAmout == null">-- </template>
|
||||
<template v-else>{{item.unparkGoodsAmout}}</template>
|
||||
辆
|
||||
</p>
|
||||
<p>已停放车辆:
|
||||
<template v-if="item.stopGoodsAmout == null">-- </template>
|
||||
<template v-else>{{item.stopGoodsAmout}}</template>
|
||||
辆
|
||||
</p>
|
||||
<view class="empty" v-show="item.emptyLaneList.length">
|
||||
<view class="dataList" v-for="(ite,inde) in item.emptyLaneList" :key="inde">
|
||||
{{ ite }}道 (空道)
|
||||
</view>
|
||||
</view>
|
||||
<view class="boxJd">
|
||||
<view class="data" v-show="item.goodsInfoList.length">
|
||||
<view class="dataList" v-for="(ite,inde) in item.goodsInfoList" :key="inde">
|
||||
<view class="goOut" v-show="ite.importExportType == 'E'">出</view>
|
||||
<view class="advance" v-show="ite.importExportType == 'I'">进</view>
|
||||
<view class="spmName">{{ ite.spmName }}/{{ ite.vvyName }}</view>
|
||||
<view class="brdName">{{ ite.brdName }}</view>
|
||||
<view style="margin-left: 16px;">{{ ite.amount }}辆</view>
|
||||
<view class="lane">{{ ite.lane }}道</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="boxJd">
|
||||
<lx-progress-bar title="" :total="item.totalSeatAmout"
|
||||
:firstValue="item.stopGoodsAmout" contentColor="#0067CF" />
|
||||
<text>{{item.stopGoodsAmout}}/{{item.totalSeatAmout}}</text>
|
||||
</view>
|
||||
<view class="carUl">
|
||||
</view> -->
|
||||
<!-- <view class="carUl">
|
||||
<view class="carLi" v-for="(v,index2) in item.carStatisticsList"
|
||||
:key="index2" @click="clickCar(v)">
|
||||
<zb-tooltip placement="top-start" color="white"
|
||||
|
@ -257,7 +245,7 @@
|
|||
</view>
|
||||
</zb-tooltip>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -265,7 +253,7 @@
|
|||
</view>
|
||||
<template v-else>
|
||||
<place @modifyPlaceTabs="modifyPlaceTabs" :vvyId="vvyId" :pyaObj="pyaObj" :brdId="brdId"
|
||||
:potId="potId" :vinCode="vinCode" :workId="workId"></place>
|
||||
:potId="potId" :vinCode="vinCode" :workId="workId" :dcId="dcId"></place>
|
||||
</template>
|
||||
</custom-tab-pane>
|
||||
<custom-tab-pane :label="tabsTitle1" name="c1_2">
|
||||
|
@ -949,7 +937,8 @@
|
|||
// 获取左侧堆场列表
|
||||
getDc() {
|
||||
uni.request({
|
||||
url: `${this.$local}/api/yardGoods/monitor/goods/manage/page?displayFlag=0&pamId=${this.portObj.portId}&vvyId=${this.vvyId}&brdId=${this.brdId}&potId=${this.potId}&spmId=${this.shipId}&vinCode=${this.vinCode}&workStatuss=${this.workId}&size=100`,
|
||||
url: `${this.$local}/api/yardGoods/monitor/v2/yard/list?displayFlag=0&pamId=${this.portObj.portId}&vvyId=${this.vvyId}&brdId=${this.brdId}&potId=${this.potId}&spmId=${this.shipId}&vinCode=${this.vinCode}&workStatuss=${this.workId}&size=100`,
|
||||
// url: `${this.$local}/api/yardGoods/monitor/goods/manage/page?displayFlag=0&pamId=${this.portObj.portId}&vvyId=${this.vvyId}&brdId=${this.brdId}&potId=${this.potId}&spmId=${this.shipId}&vinCode=${this.vinCode}&workStatuss=${this.workId}&size=100`,
|
||||
header: {
|
||||
'Content-Type': 'application/json', //自定义请求头信息
|
||||
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||
|
@ -957,7 +946,7 @@
|
|||
method: 'GET', //请求方式,必须为大写
|
||||
success: (res) => {
|
||||
if (res.data.status == "200") {
|
||||
this.dcList = res.data.data.records
|
||||
this.dcList = res.data.data
|
||||
this.dcId = this.dcList[0].pymId
|
||||
this.dcName = this.dcList[0].pymName
|
||||
this.getSurvey()
|
||||
|
@ -977,7 +966,8 @@
|
|||
// 获取右侧区域数据
|
||||
getQy() {
|
||||
uni.request({
|
||||
url: `${this.$local}/api/yardGoods/monitor/region/statistics?spmId=${this.shipId}&vvyId=${this.vvyId}&pymId=${this.dcId}&displayFlag=0&brdId=${this.brdId}&potId=${this.potId}&vinCode=${this.vinCode}&workStatuss=${this.workId}&size=1000`,
|
||||
url: `${this.$local}/api/yardGoods/monitor/v2/region/page?spmId=${this.shipId}&vvyId=${this.vvyId}&pymId=${this.dcId}&displayFlag=0&brdId=${this.brdId}&potId=${this.potId}&vinCode=${this.vinCode}&workStatuss=${this.workId}&size=1000`,
|
||||
// url: `${this.$local}/api/yardGoods/monitor/region/statistics?spmId=${this.shipId}&vvyId=${this.vvyId}&pymId=${this.dcId}&displayFlag=0&brdId=${this.brdId}&potId=${this.potId}&vinCode=${this.vinCode}&workStatuss=${this.workId}&size=1000`,
|
||||
header: {
|
||||
'Content-Type': 'application/json', //自定义请求头信息
|
||||
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||
|
@ -986,24 +976,13 @@
|
|||
success: (res) => {
|
||||
if (res.statusCode == 200) {
|
||||
this.qyList = res.data.data.records
|
||||
// console.log(this.qyList);
|
||||
this.qyList.forEach(v => {
|
||||
if (v.remainSeatAmout == null) {
|
||||
this.$set(v, "remainSeatAmout", 0)
|
||||
if (v.totalSeatAmount == null) {
|
||||
this.$set(v, "totalSeatAmount", 0)
|
||||
}
|
||||
if (v.stopGoodsAmout == null) {
|
||||
this.$set(v, "stopGoodsAmout", 0)
|
||||
}
|
||||
if (v.totalLaneAmout == null) {
|
||||
this.$set(v, "totalLaneAmout", 0)
|
||||
}
|
||||
if (v.totalSeatAmout == null) {
|
||||
this.$set(v, "totalSeatAmout", 0)
|
||||
}
|
||||
if (v.unparkGoodsAmout == null) {
|
||||
this.$set(v, "unparkGoodsAmout", 0)
|
||||
}
|
||||
if (v.useSeatAmout == null) {
|
||||
this.$set(v, "useSeatAmout", 0)
|
||||
if (v.useSeatAmount == null) {
|
||||
this.$set(v, "useSeatAmount", 0)
|
||||
}
|
||||
if (v.carStatisticsList != null) {
|
||||
v.carStatisticsList.forEach(e => {
|
||||
|
@ -1332,16 +1311,60 @@
|
|||
height: 180px;
|
||||
overflow: scroll;
|
||||
padding: 5px 8px;
|
||||
|
||||
.dataList {
|
||||
.empty {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
width: 100%;
|
||||
padding: 8px 6px;
|
||||
background: #E1E5ED;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
.dataList {
|
||||
|
||||
p {
|
||||
margin-right: 10px;
|
||||
font-size: 12px;
|
||||
color: #666666;
|
||||
}
|
||||
}
|
||||
}
|
||||
.data {
|
||||
font-size: 12px;
|
||||
.dataList {
|
||||
width: 100%;
|
||||
padding: 8px 9px;
|
||||
background: white;
|
||||
margin-top: 6px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
.goOut {
|
||||
color: #FF6B3B;
|
||||
border: 1px solid #FF6B3B;
|
||||
border-radius: 50%;
|
||||
padding: 3px;
|
||||
font-size: 8px;
|
||||
}
|
||||
.advance {
|
||||
color: #2CC68B;
|
||||
border: 1px solid #2CC68B;
|
||||
border-radius: 50%;
|
||||
padding: 3px;
|
||||
font-size: 8px;
|
||||
}
|
||||
.spmName {
|
||||
margin-left: 10px;
|
||||
width:77px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.brdName {
|
||||
margin-left: 12px;
|
||||
width:50px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.lane {
|
||||
position: absolute;
|
||||
right: 9px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.boxJd {
|
||||
|
|
|
@ -32,6 +32,8 @@
|
|||
<text>有计划</text>
|
||||
</view>
|
||||
</template>
|
||||
<superwei-combox :candidates="pyaAreaCodeList" :isJSON="true" keyName="pyaAreaCode" placeholder="区域"
|
||||
v-model="pyaAreaCode" @select="regionSelect" @input="inputSelect"></superwei-combox>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -44,63 +46,52 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="placeText">
|
||||
<text>车位总数:{{lineData.totalSeatAmout}}车位</text>
|
||||
<text>使用车位:{{lineData.useSeatAmout}}车位</text>
|
||||
<text>剩余车位:{{lineData.remainSeatAmout}}车位</text>
|
||||
<text>虚拟场位:{{lineData.virtuaSeatAmout}}车位</text>
|
||||
<text>可停放车辆:{{lineData.unparkGoodsAmout}}辆</text>
|
||||
<text>已停放车辆:{{lineData.stopGoodsAmout}}辆</text>
|
||||
<text>车位总数:{{lineData.totalSeatAmount}}车位</text>
|
||||
<text>使用车位:{{lineData.useSeatAmount}}车位</text>
|
||||
<text>剩余车位:{{lineData.remainSeatAmount}}车位</text>
|
||||
<text>虚拟场位:{{lineData.virtualSeatAmount}}车位</text>
|
||||
<!-- <text>可停放车辆:{{lineData.unparkGoodsAmout}}辆</text> -->
|
||||
<text>已停放车辆:{{lineData.stopGoodsAmount}}辆</text>
|
||||
</view>
|
||||
<view class="placeContent" v-if="selectValue == 1">
|
||||
<view class="placeList" v-for="(item,index) in lineData.lineStatisticsList">
|
||||
<view class="placeList" v-for="(item,index) in lineData.laneList">
|
||||
<view class="listLeft">
|
||||
<template>
|
||||
<p><template v-if="item.yalNo >= 1 && item.yalNo <= 9">0</template>{{item.yalNo}}道</p>
|
||||
<text>已停{{item.stopGoodsAmout}}/{{item.totalSeatAmout}}辆</text>
|
||||
<p>{{item.yalNo}}道</p>
|
||||
<text>已停{{item.stopGoodsAmount}}/{{item.totalSeatAmount}}辆</text>
|
||||
</template>
|
||||
</view>
|
||||
<view class="listRight">
|
||||
<template v-for="(item2,index2) in item.carLineRespList" @click="showContent(item2)">
|
||||
<view class="rigthContent wsy" :key="index2" v-if="item2.type == '0' || item2.type == '3'">
|
||||
<text>{{item2.carSituation}}</text>
|
||||
<template v-for="(item2,index2) in item.laneDisplayList" @click="showContent(item2)">
|
||||
<view class="rigthContent wsy" :key="index2" v-if="item2.status == '0'">
|
||||
<text>未使用:{{item2.notUsedSeatAmount}}车位/禁用:{{ item2.bannedSeatAmount }}车位</text>
|
||||
</view>
|
||||
<view class="rigthContent sy" :key="index2" v-if="item2.type == '1'">
|
||||
<view class="rigthContent sy" :key="index2" v-if="item2.status == '1'">
|
||||
<text v-if="item2.existFlag == '1'"
|
||||
class="gl">{{item2.brdName}}{{item2.amount}}辆</text>
|
||||
<text v-else>{{item2.brdName}}{{item2.amount}}辆</text>
|
||||
</view>
|
||||
<!-- <view class="rigthContent xn" :key="index2" v-if="item2.type == '2'">
|
||||
<text v-if="item2.existFlag == '1'"
|
||||
class="gl">{{item2.carSituation}}{{item2.carAmout}}辆</text>
|
||||
<text v-else>{{item2.carSituation}}{{item2.carAmout}}辆</text>
|
||||
</view>
|
||||
<view class="rigthContent xn" :key="index2" v-if="item2.type == '2'">
|
||||
<text v-if="item2.existFlag == '1'"
|
||||
class="gl">{{item2.carSituation}}{{item2.carAmout}}辆</text>
|
||||
<text v-else>{{item2.carSituation}}{{item2.carAmout}}辆</text>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
</template>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="placeContent" v-if="selectValue == 2">
|
||||
<!-- <view class="seatTitle">
|
||||
<view class="titleLeft">
|
||||
车位
|
||||
</view>
|
||||
<view class="titleRight">
|
||||
<p v-for="(item,index) in seatNum" :key="index">
|
||||
<template v-if="item >= 1 && item <= 9">0</template>
|
||||
{{item}}
|
||||
</p>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="placeList" v-for="(item,index) in seatData.seatCarStatisticsList">
|
||||
<view class="placeList" v-for="(item,index) in lineData.laneList">
|
||||
<view class="listLeft">
|
||||
<template>
|
||||
<p><template v-if="item.yalNo >= 1 && item.yalNo <= 9">0</template>{{item.yalNo}}道</p>
|
||||
<text>已停{{item.stopGoodsAmout}}/{{item.totalSeatAmout}}辆</text>
|
||||
<text>已停{{item.stopGoodsAmount}}/{{item.totalSeatAmount}}辆</text>
|
||||
</template>
|
||||
</view>
|
||||
<view class="listRightSeat">
|
||||
<template v-for="(item2,index2) in item.carStatisticsList">
|
||||
<view class="seatBox kz" :key="index2" v-if="item2.type == 0">
|
||||
<template v-for="(item2,index2) in item.seatDisplayList">
|
||||
<view class="seatBox kz" :key="index2" v-if="item2.status == 0">
|
||||
<view class="planIcon">
|
||||
<image src="../../static/images/yjhIcon.png" mode="" v-if="item2.godStatus == 'P'">
|
||||
</image>
|
||||
|
@ -111,7 +102,7 @@
|
|||
<p><template v-if="item2.yacNo >= 1 && item2.yacNo <= 9">0</template>{{item2.yacNo}}</p>
|
||||
</view>
|
||||
<view class="seatBox sy" :class="{syGl:item2.existFlag == '1'}" :key="index2"
|
||||
v-if="item2.type == 1">
|
||||
v-if="item2.status == 1">
|
||||
<view class="planIcon">
|
||||
<image src="../../static/images/yjhIcon.png" mode="" v-if="item2.godStatus == 'P'">
|
||||
</image>
|
||||
|
@ -123,7 +114,7 @@
|
|||
<p><template v-if="item2.yacNo >= 1 && item2.yacNo <= 9">0</template>{{item2.yacNo}}</p>
|
||||
</view>
|
||||
<view class="seatBox xn" :class="{xnGl:item2.existFlag == '1'}" :key="index2"
|
||||
v-if="item2.type == 2">
|
||||
v-if="item2.virtuallyFlag == 1 && item2.status == 1">
|
||||
<view class="planIcon">
|
||||
<image src="../../static/images/yjhIcon.png" mode="" v-if="item2.godStatus == 'P'">
|
||||
</image>
|
||||
|
@ -159,6 +150,8 @@
|
|||
lineData: {},
|
||||
seatNum: 0,
|
||||
seatData: {},
|
||||
pyaAreaCode:'',
|
||||
pyaAreaCodeList:[]
|
||||
}
|
||||
},
|
||||
props: {
|
||||
|
@ -189,12 +182,18 @@
|
|||
workId: {
|
||||
type: String,
|
||||
default: () => ""
|
||||
},
|
||||
dcId:{
|
||||
type: String,
|
||||
default: () => ""
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.loginObj = uni.getStorageSync('loginObj')
|
||||
this.pyaAreaCode = this.pyaObj.pyaAreaCode
|
||||
this.getLineData()
|
||||
console.log(this.workId)
|
||||
this.getSelect()
|
||||
},
|
||||
methods: {
|
||||
// 点击返回
|
||||
|
@ -211,7 +210,8 @@
|
|||
// 获取车道车辆情况
|
||||
getLineData() {
|
||||
uni.request({
|
||||
url: `${this.$local}/api/yardGoods/monitor/line/statistics?displayFlag=1&vvyId=${this.vvyId}&pyaId=${this.pyaObj.pyaId}&brdId=${this.brdId}&potId=${this.potId}&vinCode=${this.vinCode}&workStatuss=${this.workId}`,
|
||||
url: `${this.$local}/api/yardGoods/monitor/v2/lane/statistics?displayFlag=1&vvyId=${this.vvyId}&pyaId=${this.pyaObj.pyaId}&brdId=${this.brdId}&potId=${this.potId}&vinCode=${this.vinCode}&workStatuss=${this.workId}`,
|
||||
// url: `${this.$local}/api/yardGoods/monitor/line/statistics?displayFlag=1&vvyId=${this.vvyId}&pyaId=${this.pyaObj.pyaId}&brdId=${this.brdId}&potId=${this.potId}&vinCode=${this.vinCode}&workStatuss=${this.workId}`,
|
||||
header: {
|
||||
'Content-Type': 'application/json', //自定义请求头信息
|
||||
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||
|
@ -226,27 +226,56 @@
|
|||
})
|
||||
},
|
||||
// 获取车位车辆情况
|
||||
getSeatData() {
|
||||
// getSeatData() {
|
||||
// uni.request({
|
||||
// url: `${this.$local}/api/yardGoods/monitor/seat/statistics?displayFlag=1&vvyId=${this.vvyId}&pyaId=${this.pyaObj.pyaId}&brdId=${this.brdId}&potId=${this.potId}&vinCode=${this.vinCode}&workStatuss=${this.workId}`,
|
||||
// header: {
|
||||
// 'Content-Type': 'application/json', //自定义请求头信息
|
||||
// 'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||
// },
|
||||
// method: 'GET', //请求方式,必须为大写
|
||||
// success: (res) => {
|
||||
// if (res.data.status == 200) {
|
||||
// this.seatData = res.data.data
|
||||
// console.log(this.seatData)
|
||||
// let numList = []
|
||||
// this.seatData.seatCarStatisticsList.forEach(v => {
|
||||
// numList.push(v.carStatisticsList.length)
|
||||
// })
|
||||
// this.seatNum = Math.max(...numList)
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
// },
|
||||
// 获取区域下拉列表
|
||||
getSelect() {
|
||||
uni.request({
|
||||
url: `${this.$local}/api/yardGoods/monitor/seat/statistics?displayFlag=1&vvyId=${this.vvyId}&pyaId=${this.pyaObj.pyaId}&brdId=${this.brdId}&potId=${this.potId}&vinCode=${this.vinCode}&workStatuss=${this.workId}`,
|
||||
url: `${this.$local}/api/yardGoods/monitor/v2/region/select?pymId=${this.dcId}&key=${this.pyaAreaCode}`,
|
||||
header: {
|
||||
'Content-Type': 'application/json', //自定义请求头信息
|
||||
'Content-Type': 'application/x-www-form-urlencoded', //自定义请求头信息
|
||||
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||
},
|
||||
method: 'GET', //请求方式,必须为大写
|
||||
success: (res) => {
|
||||
if (res.data.status == 200) {
|
||||
this.seatData = res.data.data
|
||||
console.log(this.seatData)
|
||||
let numList = []
|
||||
this.seatData.seatCarStatisticsList.forEach(v => {
|
||||
numList.push(v.carStatisticsList.length)
|
||||
})
|
||||
this.seatNum = Math.max(...numList)
|
||||
console.log(res.data.data);
|
||||
this.pyaAreaCodeList = res.data.data
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
// 下拉框选择
|
||||
regionSelect(e) {
|
||||
console.log(e);
|
||||
this.pyaObj.pyaId = e.pyaId
|
||||
this.dcId = e.pymId
|
||||
this.getLineData()
|
||||
},
|
||||
// 下拉框输入
|
||||
inputSelect(e) {
|
||||
this.pyaAreaCode = e
|
||||
this.getSelect()
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
@ -272,7 +301,7 @@
|
|||
|
||||
.right {
|
||||
display: flex;
|
||||
|
||||
align-items: center;
|
||||
.status {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
|
|
Loading…
Reference in New Issue