0123需求
parent
646a95eeef
commit
5ce023c7d4
|
@ -5,15 +5,18 @@
|
|||
<view class="content">
|
||||
<view class="form">
|
||||
<view class="end">
|
||||
<superwei-combox class="input" :candidates="tradeList" :isJSON="true" keyName="name"
|
||||
placeholder="请选择贸易类型" v-model="tradeName" @select="tradeSelect"></superwei-combox>
|
||||
</uni-easyinput>
|
||||
<!-- <superwei-combox class="input" :candidates="tradeList" :isJSON="true" keyName="name"
|
||||
placeholder="请选择贸易类型" v-model="tradeName" @select="tradeSelect"></superwei-combox> -->
|
||||
<superwei-combox class="input" :candidates="shipList" :isJSON="true" keyName="vvyShip"
|
||||
placeholder="请选择船名/航次" v-model="vvyShip" @select="shipSelect"
|
||||
@input="shipInput"></superwei-combox>
|
||||
</uni-easyinput>
|
||||
<button class="btn" @click="onSearch">搜索</button>
|
||||
</view>
|
||||
<view class="rightInput" @click="screen">
|
||||
<p>贸易类型<uni-icons type="bottom" style="margin-left: 5px;" size="16"></uni-icons></p>
|
||||
<p>计划状态<uni-icons type="bottom" style="margin-left: 5px;" size="16"></uni-icons></p>
|
||||
<p>计划靠泊时间<uni-icons type="bottom" style="margin-left: 5px;" size="16"></uni-icons></p>
|
||||
</view>
|
||||
</view>
|
||||
<view class="itemList">
|
||||
<template v-if="itemList.length > 0">
|
||||
|
@ -62,6 +65,44 @@
|
|||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
<uni-drawer ref="showRight" mode="right" :mask-click="false">
|
||||
<view class="scroll-view">
|
||||
<scroll-view class="scroll-view-box" scroll-y="true">
|
||||
<view class="drawerTop" @click="back">
|
||||
<image src="../../static/images/leftJt.png" mode=""></image>
|
||||
<text>返回</text>
|
||||
</view>
|
||||
<view class="drawerTitle">
|
||||
贸易类型
|
||||
</view>
|
||||
<superwei-combox class="input" :candidates="tradeList" :isJSON="true" keyName="name"
|
||||
placeholder="贸易类型" v-model="tradeName" @select="tradeSelect"></superwei-combox>
|
||||
<view class="drawerTitle">
|
||||
计划状态
|
||||
</view>
|
||||
<superwei-combox :candidates="dcList" :isJSON="true" keyName="name" placeholder="计划状态"
|
||||
v-model="vvyStatus"></superwei-combox>
|
||||
<view class="drawerTitle">
|
||||
计划靠泊时间
|
||||
</view>
|
||||
<view class="timeBox">
|
||||
<view class="time" :class="[oneFlag ? 'check' : '']" @click="goTime(0)">今天</view>
|
||||
<view class="time" :class="[twoFlag ? 'check' : '']" style="margin: 0 10px;" @click="goTime(1)">近三天</view>
|
||||
<view class="time" :class="[threeFlag ? 'check' : '']" @click="goTime(2)">近五天</view>
|
||||
</view>
|
||||
<uni-datetime-picker v-model="operationDate" type="daterange" :clear-icon="false" @change="changeLog"
|
||||
:border="false" />
|
||||
<view class="bottomBtn">
|
||||
<view class="btn czBtn" @click="reset">
|
||||
重置
|
||||
</view>
|
||||
<view class="btn qrBtn" @click="confirm">
|
||||
确认
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</uni-drawer>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
@ -102,7 +143,27 @@
|
|||
portObj: {},
|
||||
|
||||
isMore: false,
|
||||
|
||||
dcList:[
|
||||
{
|
||||
value: "0",
|
||||
name: "待作业"
|
||||
},
|
||||
{
|
||||
value: "1",
|
||||
name: "作业中"
|
||||
},
|
||||
{
|
||||
value: "2",
|
||||
name: "已完成"
|
||||
},
|
||||
],
|
||||
vvyStatus:'待作业',
|
||||
operationDate:'',
|
||||
startDate:'',
|
||||
endDate:'',
|
||||
oneFlag:false,
|
||||
twoFlag:false,
|
||||
threeFlag:false
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
|
@ -199,8 +260,14 @@
|
|||
} else {
|
||||
this.tradeType = "N"
|
||||
}
|
||||
var vvyStatusCode = ''
|
||||
this.dcList.forEach(item => {
|
||||
if(item.name == this.vvyStatus) {
|
||||
vvyStatusCode = item.value
|
||||
}
|
||||
})
|
||||
uni.request({
|
||||
url: `${this.$local}/api/unload/command/queryUnloadVoyages?pamId=${this.portObj.portId}&vvyId=${this.vvyId}&tradeType=${this.tradeType}&size=${this.pageSize}¤t=${this.current}`,
|
||||
url: `${this.$local}/api/unload/command/queryUnloadVoyages?pamId=${this.portObj.portId}&vvyId=${this.vvyId}&tradeType=${this.tradeType}&size=${this.pageSize}¤t=${this.current}&vvyStatus=${vvyStatusCode}&startDate=${this.startDate}&endDate=${this.endDate}`,
|
||||
header: {
|
||||
'Content-Type': 'application/json', //自定义请求头信息
|
||||
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||
|
@ -228,6 +295,67 @@
|
|||
url: '/pages/discharge/instruct?params=' + params
|
||||
})
|
||||
},
|
||||
// 点击筛选
|
||||
screen() {
|
||||
this.$refs.showRight.open();
|
||||
},
|
||||
// 重置
|
||||
reset() {
|
||||
this.vvyStatus = ''
|
||||
this.operationDate = ''
|
||||
this.startDate = ''
|
||||
this.endDate = ''
|
||||
},
|
||||
// 筛选确认
|
||||
confirm() {
|
||||
this.onSearch()
|
||||
this.$refs.showRight.close();
|
||||
},
|
||||
//切换时间
|
||||
changeLog(e) {
|
||||
if(e.length) {
|
||||
this.oneFlag = false
|
||||
this.twoFlag = false
|
||||
this.threeFlag = false
|
||||
this.startDate = `${e[0]} 00:00:00`
|
||||
this.endDate = `${e[1]} 00:00:00`
|
||||
}
|
||||
},
|
||||
// 选择时间
|
||||
goTime(time) {
|
||||
switch (time) {
|
||||
case 0:
|
||||
this.oneFlag = true
|
||||
this.twoFlag = false
|
||||
this.threeFlag = false
|
||||
this.startDate = this.getNextDate(new Date(),0)
|
||||
this.endDate = this.getNextDate(new Date(),0)
|
||||
break;
|
||||
case 1:
|
||||
this.oneFlag = false
|
||||
this.twoFlag = true
|
||||
this.threeFlag = false
|
||||
this.startDate = this.getNextDate(new Date(),-3)
|
||||
this.endDate = this.getNextDate(new Date(),0)
|
||||
break;
|
||||
case 2:
|
||||
this.oneFlag = false
|
||||
this.twoFlag = false
|
||||
this.threeFlag = true
|
||||
this.startDate = this.getNextDate(new Date(),-5)
|
||||
this.endDate = this.getNextDate(new Date(),0)
|
||||
break;
|
||||
}
|
||||
},
|
||||
getNextDate(date, day) {
|
||||
var dd = new Date(date);
|
||||
dd.setDate(dd.getDate() + day);
|
||||
var y = dd.getFullYear();
|
||||
var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;
|
||||
var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();
|
||||
return y + "-" + m + "-" + d + ' 00:00:00';
|
||||
},
|
||||
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
@ -249,7 +377,6 @@
|
|||
right: 0;
|
||||
z-index: 995;
|
||||
padding-left: 20px;
|
||||
|
||||
.end {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
@ -273,6 +400,15 @@
|
|||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
.rightInput {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
p {
|
||||
margin-left: 10px;
|
||||
line-height: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -385,4 +521,94 @@
|
|||
justify-content: center;
|
||||
}
|
||||
}
|
||||
// 右侧抽屉筛选
|
||||
/deep/.uni-drawer__content {
|
||||
width: 320px;
|
||||
}
|
||||
.scroll-view {
|
||||
/* #ifndef APP-NVUE */
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
/* #endif */
|
||||
flex: 1
|
||||
}
|
||||
// 处理抽屉内容滚动
|
||||
.scroll-view-box {
|
||||
flex: 1;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
padding: 0 16px 80px;
|
||||
|
||||
.drawerTop {
|
||||
display: flex;
|
||||
margin-top: 24px;
|
||||
margin-bottom: 30px;
|
||||
|
||||
image {
|
||||
width: 10px;
|
||||
height: 14px;
|
||||
margin-right: 10px;
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
text {
|
||||
font-size: 20px;
|
||||
color: #23262E;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.drawerTitle {
|
||||
font-size: 14px;
|
||||
color: #23262E;
|
||||
margin: 8px 0;
|
||||
}
|
||||
|
||||
.bottomBtn {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 12px 16px;
|
||||
background: #FFFFFF;
|
||||
box-shadow: 0 -3px 7px 0 rgba(0, 0, 0, 0.10);
|
||||
position: fixed;
|
||||
bottom: 0px;
|
||||
right: 0px;
|
||||
|
||||
.btn {
|
||||
width: 116px;
|
||||
height: 36px;
|
||||
font-size: 16px;
|
||||
text-align: center;
|
||||
line-height: 36px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.czBtn {
|
||||
color: #0067CF;
|
||||
border: 1px solid #0067CF;
|
||||
}
|
||||
|
||||
.qrBtn {
|
||||
color: #fff;
|
||||
background: #0067CF;
|
||||
}
|
||||
}
|
||||
.timeBox {
|
||||
display: flex;
|
||||
.time {
|
||||
padding: 9px 24px;
|
||||
border: 1px solid #EEEEEE;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.check {
|
||||
background: rgba(114, 132, 245, 0.1);
|
||||
color: #0267CF;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -37,6 +37,11 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="tjList">
|
||||
<view class="tab">
|
||||
<view @click="zzlFlag = !zzlFlag" :class="[zzlFlag ? 'bottom' : '']">指令发送进度</view>
|
||||
<view @click="zzlFlag = !zzlFlag" :class="[zzlFlag ? '' : 'bottom']">卸船进度</view>
|
||||
</view>
|
||||
<template v-if="zzlFlag">
|
||||
<view class="tjHead" @click="clickTjHead('zzl')">
|
||||
<view class="title">
|
||||
<p>总指令进度</p>
|
||||
|
@ -74,6 +79,22 @@
|
|||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<view class="tjInfo" v-for="(item,index) in jobProgressList" :key="item.id" @click="jobProgress(item,index,'zzl')" :class="{active:jobActive == index || brdName == item.label}">
|
||||
<view class="label">{{ item.label }}</view>
|
||||
<lx-progress-bar title="" :total="item.totalProgress" :firstValue="item.progress"
|
||||
contentColor="#0067CF"
|
||||
backColor="#f2f2f2" textPosition="outside" percentum precision="0" />
|
||||
<view class="bottomBox">
|
||||
<p>已装船:<text>{{ item.progress }}</text></p>
|
||||
<p style="margin-left: 16px;">待卸船:<text>{{ item.totalProgress - item.progress }}</text></p>
|
||||
</view>
|
||||
<view class="imgBox" v-if="jobActive == index || brdName == item.label">
|
||||
<image src="../../static/images/tjxz2.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</view>
|
||||
<template v-if="itemList.length > 0">
|
||||
<view class="itemBox">
|
||||
|
@ -208,6 +229,11 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="tjList">
|
||||
<view class="tab">
|
||||
<view @click="fzlFlag = !fzlFlag" :class="[fzlFlag ? 'bottom' : '']">指令发送进度</view>
|
||||
<view @click="fzlFlag = !fzlFlag" :class="[fzlFlag ? '' : 'bottom']">卸船进度</view>
|
||||
</view>
|
||||
<template v-if="fzlFlag">
|
||||
<view class="tjHead" @click="clickTjHead('fzl')">
|
||||
<view class="title">
|
||||
<p>分指令进度</p>
|
||||
|
@ -245,6 +271,22 @@
|
|||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<view class="tjInfo" v-for="(item,index) in jobProgressList" :key="item.id" @click="jobProgress(item,index,'fzl')" :class="{active:jobActive == index || brdName == item.label}">
|
||||
<view class="label">{{ item.label }}</view>
|
||||
<lx-progress-bar title="" :total="item.totalProgress" :firstValue="item.progress"
|
||||
contentColor="#0067CF"
|
||||
backColor="#f2f2f2" textPosition="outside" percentum precision="0" />
|
||||
<view class="bottomBox">
|
||||
<p>已装船:<text>{{ item.progress }}</text></p>
|
||||
<p style="margin-left: 16px;">待卸船:<text>{{ item.totalProgress - item.progress }}</text></p>
|
||||
</view>
|
||||
<view class="imgBox" v-if="jobActive == index || brdName == item.label">
|
||||
<image src="../../static/images/tjxz2.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</view>
|
||||
<template v-if="itemList.length > 0">
|
||||
<checkbox-group @change="checkChange">
|
||||
|
@ -402,6 +444,26 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="tjList">
|
||||
<view class="tab">
|
||||
<view class="bottom">卸船进度</view>
|
||||
</view>
|
||||
<template>
|
||||
<view class="tjInfo" v-for="(item,index) in jobProgressList" :key="item.id" @click="jobProgress(item,index)" :class="{active:jobActive == index || brdName == item.label}">
|
||||
<view class="label">{{ item.label }}</view>
|
||||
<lx-progress-bar title="" :total="item.totalProgress" :firstValue="item.progress"
|
||||
contentColor="#0067CF"
|
||||
backColor="#f2f2f2" textPosition="outside" percentum precision="0" />
|
||||
<view class="bottomBox">
|
||||
<p>已装船:<text>{{ item.progress }}</text></p>
|
||||
<p style="margin-left: 16px;">待卸船:<text>{{ item.totalProgress - item.progress }}</text></p>
|
||||
</view>
|
||||
<view class="imgBox" v-if="jobActive == index || brdName == item.label">
|
||||
<image src="../../static/images/tjxz2.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</view>
|
||||
<template v-if="itemList.length > 0">
|
||||
<view class="itemBox">
|
||||
<view class="itemList">
|
||||
|
@ -826,7 +888,11 @@
|
|||
}
|
||||
],
|
||||
yalChartList:[],
|
||||
maxWidth:0
|
||||
maxWidth:0,
|
||||
zzlFlag:true,
|
||||
jobProgressList:[],
|
||||
jobActive:null,
|
||||
fzlFlag:true
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
@ -851,6 +917,7 @@
|
|||
this.getRoleId() // 获取角色ID
|
||||
this.initAsk() // 获取装船要求
|
||||
this.getStatistics() // 获取统计数据
|
||||
this.getJobProgress() //获取卸船进度数据
|
||||
|
||||
},
|
||||
components: {
|
||||
|
@ -894,6 +961,8 @@
|
|||
}
|
||||
this.directorList = []
|
||||
this.getRoleId()
|
||||
this.zzlFlag = true
|
||||
this.fzlFlag = true
|
||||
},
|
||||
// 刷新
|
||||
refresh() {
|
||||
|
@ -935,6 +1004,7 @@
|
|||
// 发送状态
|
||||
this.sendText = ""
|
||||
this.sendValue = ""
|
||||
this.jobActive = null
|
||||
},
|
||||
// 筛选确认
|
||||
confirm() {
|
||||
|
@ -947,6 +1017,7 @@
|
|||
} else if (this.tabsValue == 3) {
|
||||
this.getCw()
|
||||
}
|
||||
this.jobActive = null
|
||||
this.$refs.showRight.close();
|
||||
},
|
||||
// 点击总指令统计列表总标题
|
||||
|
@ -1500,7 +1571,7 @@
|
|||
},
|
||||
method: 'GET', //请求方式,必须为大写
|
||||
success: (res) => {
|
||||
console.log(res)
|
||||
// console.log(res)
|
||||
if (res.data.status == "200") {
|
||||
this.cdList = res.data.data
|
||||
this.getCw()
|
||||
|
@ -1595,6 +1666,32 @@
|
|||
}
|
||||
}
|
||||
return nArr;
|
||||
},
|
||||
// 获取卸船进度数据
|
||||
getJobProgress() {
|
||||
uni.request({
|
||||
url: `${this.$local}/api/instruction/statistics/JobProgress?filterType=BRD_TYPE&target=UN_L&vvyId=${this.shipInfo.vvyId}`,
|
||||
header: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded', //自定义请求头信息
|
||||
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||
},
|
||||
method: 'GET', //请求方式,必须为大写
|
||||
success: (res) => {
|
||||
this.jobProgressList = res.data.data.records
|
||||
}
|
||||
})
|
||||
},
|
||||
//点击卸船计划
|
||||
jobProgress(item,index,type) {
|
||||
this.jobActive = index
|
||||
this.brdId = item.id
|
||||
this.brdName = item.label
|
||||
this.itemList = []
|
||||
if(type == 'zzl') {
|
||||
this.loadSumOrder()
|
||||
} else if(type == 'fzl') {
|
||||
this.loadOtherOrder()
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -1822,6 +1919,21 @@
|
|||
float: left;
|
||||
overflow: scroll;
|
||||
margin-right: 4px;
|
||||
.tab {
|
||||
width: 100%;
|
||||
height: 44px;
|
||||
display: flex;
|
||||
background: white;
|
||||
margin-bottom: 15px;
|
||||
justify-content: space-evenly;
|
||||
align-items: center;
|
||||
}
|
||||
.bottom {
|
||||
color: #1677FF;
|
||||
height: 100%;
|
||||
line-height: 44px;
|
||||
border-bottom: 1px solid #1677FF;
|
||||
}
|
||||
|
||||
.active {
|
||||
border: 1px solid #0067CF;
|
||||
|
@ -1930,6 +2042,20 @@
|
|||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
.label {
|
||||
height: 32px;
|
||||
border-bottom: 0.5px solid #E1E5ED;
|
||||
}
|
||||
.bottomBox {
|
||||
display: flex;
|
||||
margin-top: 9px;
|
||||
p {
|
||||
color: #666666;
|
||||
}
|
||||
text {
|
||||
color: #252525;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -36,6 +36,16 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="tjList">
|
||||
<view class="tab">
|
||||
<view @click="zzlFlag = !zzlFlag" :class="[zzlFlag ? 'bottom' : '']">指令发送进度</view>
|
||||
<view @click="zzlFlag = !zzlFlag" :class="[zzlFlag ? '' : 'bottom']">装船进度</view>
|
||||
<view class="changBox">
|
||||
<view class="change" @click.stop="clickTab('td')" :class="[filterType == 'MNF_BL_TYPE' ? 'ava' : '']">按提单</view>
|
||||
<view class="change" @click.stop="clickTab('pp')" :class="[filterType == 'BRD_TYPE' ? 'ava' : '']">按品牌</view>
|
||||
<view class="change" @click.stop="clickTab('gk')" :class="[filterType == 'POT_TYPE' ? 'ava' : '']">按港口</view>
|
||||
</view>
|
||||
</view>
|
||||
<template v-if="zzlFlag">
|
||||
<view class="tjHead" @click="clickTjHead('zzl')">
|
||||
<view class="title">
|
||||
<p>总指令进度</p>
|
||||
|
@ -73,6 +83,22 @@
|
|||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<view class="tjInfo" v-for="(item,index) in jobProgressList" :key="item.id" @click="jobProgress(item,index,'zzl')" :class="{active:jobActive == index || brdName == item.label}">
|
||||
<view class="label">{{ item.label }}</view>
|
||||
<lx-progress-bar title="" :total="item.totalProgress" :firstValue="item.progress"
|
||||
contentColor="#0067CF"
|
||||
backColor="#f2f2f2" textPosition="outside" percentum precision="0" />
|
||||
<view class="bottomBox">
|
||||
<p>已装船:<text>{{ item.progress }}</text></p>
|
||||
<p style="margin-left: 16px;">待卸船:<text>{{ item.totalProgress - item.progress }}</text></p>
|
||||
</view>
|
||||
<view class="imgBox" v-if="jobActive == index || brdName == item.label">
|
||||
<image src="../../static/images/tjxz2.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</view>
|
||||
<template v-if="itemList.length > 0">
|
||||
<view class="itemBox">
|
||||
|
@ -207,6 +233,16 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="tjList">
|
||||
<view class="tab">
|
||||
<view @click="fzlFlag = !fzlFlag" :class="[fzlFlag ? 'bottom' : '']">指令发送进度</view>
|
||||
<view @click="fzlFlag = !fzlFlag" :class="[fzlFlag ? '' : 'bottom']">装船进度</view>
|
||||
<view class="changBox">
|
||||
<view class="change" @click.stop="clickTab('td')" :class="[filterType == 'MNF_BL_TYPE' ? 'ava' : '']">按提单</view>
|
||||
<view class="change" @click.stop="clickTab('pp')" :class="[filterType == 'BRD_TYPE' ? 'ava' : '']">按品牌</view>
|
||||
<view class="change" @click.stop="clickTab('gk')" :class="[filterType == 'POT_TYPE' ? 'ava' : '']">按港口</view>
|
||||
</view>
|
||||
</view>
|
||||
<template v-if="fzlFlag">
|
||||
<view class="tjHead" @click="clickTjHead('fzl')">
|
||||
<view class="title">
|
||||
<p>分指令进度</p>
|
||||
|
@ -244,6 +280,22 @@
|
|||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<view class="tjInfo" v-for="(item,index) in jobProgressList" :key="item.id" @click="jobProgress(item,index,'fzl')" :class="{active:jobActive == index || brdName == item.label}">
|
||||
<view class="label">{{ item.label }}</view>
|
||||
<lx-progress-bar title="" :total="item.totalProgress" :firstValue="item.progress"
|
||||
contentColor="#0067CF"
|
||||
backColor="#f2f2f2" textPosition="outside" percentum precision="0" />
|
||||
<view class="bottomBox">
|
||||
<p>已装船:<text>{{ item.progress }}</text></p>
|
||||
<p style="margin-left: 16px;">待卸船:<text>{{ item.totalProgress - item.progress }}</text></p>
|
||||
</view>
|
||||
<view class="imgBox" v-if="jobActive == index || brdName == item.label">
|
||||
<image src="../../static/images/tjxz2.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</view>
|
||||
<template v-if="itemList.length > 0">
|
||||
<checkbox-group @change="checkChange">
|
||||
|
@ -681,6 +733,11 @@
|
|||
// 装船要求信息
|
||||
zcyqIsShow: false,
|
||||
zcyqName: "",
|
||||
zzlFlag:true,
|
||||
jobProgressList:[],
|
||||
jobActive:null,
|
||||
fzlFlag:true,
|
||||
filterType:'MNF_BL_TYPE'
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
@ -732,6 +789,7 @@
|
|||
this.getRoleId() // 获取角色ID
|
||||
this.initAsk() // 获取装船要求
|
||||
this.getStatistics() // 获取统计数据
|
||||
this.getJobProgress() //获取卸船进度数据
|
||||
},
|
||||
components: {
|
||||
HeadView,
|
||||
|
@ -763,6 +821,8 @@
|
|||
}
|
||||
this.directorList = []
|
||||
this.getRoleId()
|
||||
this.zzlFlag = true
|
||||
this.fzlFlag = true
|
||||
},
|
||||
refresh() {
|
||||
if (this.tabsValue == 0 || this.tabsValue == 1) {
|
||||
|
@ -799,6 +859,7 @@
|
|||
// 发送状态
|
||||
this.sendText = ""
|
||||
this.sendValue = ""
|
||||
this.jobActive = null
|
||||
},
|
||||
// 筛选确认
|
||||
confirm() {
|
||||
|
@ -809,6 +870,7 @@
|
|||
} else if (this.tabsValue == 2) {
|
||||
this.getQy()
|
||||
}
|
||||
this.jobActive = null
|
||||
this.$refs.showRight.close();
|
||||
},
|
||||
// 点击总指令统计列表总标题
|
||||
|
@ -1368,6 +1430,47 @@
|
|||
modifyPlaceTabs(data) {
|
||||
this.isCwnum = data;
|
||||
},
|
||||
// 获取卸船进度数据
|
||||
getJobProgress() {
|
||||
uni.request({
|
||||
url: `${this.$local}/api/instruction/statistics/JobProgress?filterType=${this.filterType}&target=N_L&vvyId=${this.shipInfo.vvyId}`,
|
||||
header: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded', //自定义请求头信息
|
||||
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||
},
|
||||
method: 'GET', //请求方式,必须为大写
|
||||
success: (res) => {
|
||||
this.jobProgressList = res.data.data.records
|
||||
}
|
||||
})
|
||||
},
|
||||
//点击卸船计划
|
||||
jobProgress(item,index,type) {
|
||||
this.jobActive = index
|
||||
if(this.filterType == 'BRD_TYPE') {
|
||||
this.brdId = item.id
|
||||
this.brdName = item.label
|
||||
} else if(this.filterType == 'POT_TYPE'){
|
||||
this.potName = item.label
|
||||
this.potId = item.id
|
||||
} else if(this.filterType == 'MNF_BL_TYPE') {
|
||||
this.mnfBl = item.id
|
||||
}
|
||||
this.itemList = []
|
||||
this.domesticTrade()
|
||||
},
|
||||
// 点击品牌,提单,港口
|
||||
clickTab(type) {
|
||||
this.jobActive = null
|
||||
if(type == 'pp') {
|
||||
this.filterType = 'BRD_TYPE'
|
||||
} else if(type == 'td') {
|
||||
this.filterType = 'MNF_BL_TYPE'
|
||||
} else if(type == 'gk') {
|
||||
this.filterType = 'POT_TYPE'
|
||||
}
|
||||
this.getJobProgress()
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
@ -1596,7 +1699,32 @@
|
|||
float: left;
|
||||
overflow: scroll;
|
||||
margin-right: 4px;
|
||||
|
||||
.tab {
|
||||
width: 100%;
|
||||
height: 103px;
|
||||
display: flex;
|
||||
background: white;
|
||||
margin-bottom: 15px;
|
||||
justify-content: space-evenly;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
.changBox {
|
||||
display: flex;
|
||||
background: rgba(113, 142, 244, 0.1);
|
||||
.change {
|
||||
padding: 7px 12px;
|
||||
}
|
||||
.ava {
|
||||
background: #1677FF;
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
}
|
||||
.bottom {
|
||||
color: #1677FF;
|
||||
line-height: 44px;
|
||||
border-bottom: 1px solid #1677FF;
|
||||
}
|
||||
.active {
|
||||
border: 1px solid #0067CF;
|
||||
}
|
||||
|
@ -1704,6 +1832,20 @@
|
|||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
.label {
|
||||
height: 32px;
|
||||
border-bottom: 0.5px solid #E1E5ED;
|
||||
}
|
||||
.bottomBox {
|
||||
display: flex;
|
||||
margin-top: 9px;
|
||||
p {
|
||||
color: #666666;
|
||||
}
|
||||
text {
|
||||
color: #252525;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,15 +5,18 @@
|
|||
<view class="content">
|
||||
<view class="form">
|
||||
<view class="end">
|
||||
<superwei-combox class="input" :candidates="tradeList" :isJSON="true" keyName="name"
|
||||
placeholder="请选择贸易类型" v-model="tradeName" @select="tradeSelect"></superwei-combox>
|
||||
</uni-easyinput>
|
||||
<!-- <superwei-combox class="input" :candidates="tradeList" :isJSON="true" keyName="name"
|
||||
placeholder="请选择贸易类型" v-model="tradeName" @select="tradeSelect"></superwei-combox> -->
|
||||
<superwei-combox class="input" :candidates="shipList" :isJSON="true" keyName="vvyShip"
|
||||
placeholder="请选择船名/航次" v-model="vvyShip" @select="shipSelect"
|
||||
@input="shipInput"></superwei-combox>
|
||||
</uni-easyinput>
|
||||
<button class="btn" @click="onSearch">搜索</button>
|
||||
</view>
|
||||
<view class="rightInput" @click="screen">
|
||||
<p>贸易类型<uni-icons type="bottom" style="margin-left: 5px;" size="16"></uni-icons></p>
|
||||
<p>计划状态<uni-icons type="bottom" style="margin-left: 5px;" size="16"></uni-icons></p>
|
||||
<p>计划靠泊时间<uni-icons type="bottom" style="margin-left: 5px;" size="16"></uni-icons></p>
|
||||
</view>
|
||||
</view>
|
||||
<view class="itemList">
|
||||
<template v-if="itemList.length > 0">
|
||||
|
@ -62,6 +65,44 @@
|
|||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
<uni-drawer ref="showRight" mode="right" :mask-click="false">
|
||||
<view class="scroll-view">
|
||||
<scroll-view class="scroll-view-box" scroll-y="true">
|
||||
<view class="drawerTop" @click="back">
|
||||
<image src="../../static/images/leftJt.png" mode=""></image>
|
||||
<text>返回</text>
|
||||
</view>
|
||||
<view class="drawerTitle">
|
||||
贸易类型
|
||||
</view>
|
||||
<superwei-combox class="input" :candidates="tradeList" :isJSON="true" keyName="name"
|
||||
placeholder="贸易类型" v-model="tradeName" @select="tradeSelect"></superwei-combox>
|
||||
<view class="drawerTitle">
|
||||
计划状态
|
||||
</view>
|
||||
<superwei-combox :candidates="dcList" :isJSON="true" keyName="name" placeholder="计划状态"
|
||||
v-model="vvyStatus"></superwei-combox>
|
||||
<view class="drawerTitle">
|
||||
计划靠泊时间
|
||||
</view>
|
||||
<view class="timeBox">
|
||||
<view class="time" :class="[oneFlag ? 'check' : '']" @click="goTime(0)">今天</view>
|
||||
<view class="time" :class="[twoFlag ? 'check' : '']" style="margin: 0 10px;" @click="goTime(1)">近三天</view>
|
||||
<view class="time" :class="[threeFlag ? 'check' : '']" @click="goTime(2)">近五天</view>
|
||||
</view>
|
||||
<uni-datetime-picker v-model="operationDate" type="daterange" :clear-icon="false" @change="changeLog"
|
||||
:border="false" />
|
||||
<view class="bottomBtn">
|
||||
<view class="btn czBtn" @click="reset">
|
||||
重置
|
||||
</view>
|
||||
<view class="btn qrBtn" @click="confirm">
|
||||
确认
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</uni-drawer>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
@ -101,6 +142,27 @@
|
|||
portObj: {},
|
||||
|
||||
isMore: false,
|
||||
dcList:[
|
||||
{
|
||||
value: "0",
|
||||
name: "待作业"
|
||||
},
|
||||
{
|
||||
value: "1",
|
||||
name: "作业中"
|
||||
},
|
||||
{
|
||||
value: "2",
|
||||
name: "已完成"
|
||||
},
|
||||
],
|
||||
vvyStatus:'待作业',
|
||||
operationDate:'',
|
||||
startDate:'',
|
||||
endDate:'',
|
||||
oneFlag:false,
|
||||
twoFlag:false,
|
||||
threeFlag:false
|
||||
}
|
||||
},
|
||||
components: {
|
||||
|
@ -193,12 +255,23 @@
|
|||
},
|
||||
initData() {
|
||||
let url = ""
|
||||
var vvyStatusCode = ''
|
||||
this.dcList.forEach(item => {
|
||||
if(item.name == this.vvyStatus) {
|
||||
vvyStatusCode = item.value
|
||||
}
|
||||
})
|
||||
if (this.tradeName == '内贸') {
|
||||
url =
|
||||
`${this.$local}/api/domestic/load/command/queryLoadVoyages?pamId=${this.portObj.portId}&vvyId=${this.vvyId}&size=${this.pageSize}¤t=${this.current}`
|
||||
`${this.$local}/api/domestic/load/command/queryLoadVoyages?pamId=${this.portObj.portId}&vvyId=${this.vvyId}&size=${this.pageSize}¤t=${this.current}&vvyStatus=${vvyStatusCode}&startDate=${this.startDate}&endDate=${this.endDate}`
|
||||
} else if (this.tradeName == '外贸') {
|
||||
if(vvyStatusCode == '') {
|
||||
url =
|
||||
`${this.$local}/api/shipInstructions/queryStowageVoyages?pamId=${this.portObj.portId}&vvyId=${this.vvyId}&tradeType=${this.tradeType}&size=${this.pageSize}¤t=${this.current}`
|
||||
`${this.$local}/api/shipInstructions/queryStowageVoyages?pamId=${this.portObj.portId}&vvyId=${this.vvyId}&tradeType=${this.tradeType}&size=${this.pageSize}¤t=${this.current}&startDate=${this.startDate}&endDate=${this.endDate}`
|
||||
} else {
|
||||
url =
|
||||
`${this.$local}/api/shipInstructions/queryStowageVoyages?pamId=${this.portObj.portId}&vvyId=${this.vvyId}&tradeType=${this.tradeType}&size=${this.pageSize}¤t=${this.current}&vvyStatus=${vvyStatusCode}&startDate=${this.startDate}&endDate=${this.endDate}`
|
||||
}
|
||||
}
|
||||
uni.request({
|
||||
url: url,
|
||||
|
@ -233,6 +306,66 @@
|
|||
url: '/pages/index/domesticTrade?params=' + params
|
||||
})
|
||||
}
|
||||
},
|
||||
// 点击筛选
|
||||
screen() {
|
||||
this.$refs.showRight.open();
|
||||
},
|
||||
// 重置
|
||||
reset() {
|
||||
this.vvyStatus = ''
|
||||
this.operationDate = ''
|
||||
this.startDate = ''
|
||||
this.endDate = ''
|
||||
},
|
||||
// 筛选确认
|
||||
confirm() {
|
||||
this.onSearch()
|
||||
this.$refs.showRight.close();
|
||||
},
|
||||
//切换时间
|
||||
changeLog(e) {
|
||||
if(e.length) {
|
||||
this.oneFlag = false
|
||||
this.twoFlag = false
|
||||
this.threeFlag = false
|
||||
this.startDate = `${e[0]} 00:00:00`
|
||||
this.endDate = `${e[1]} 00:00:00`
|
||||
}
|
||||
},
|
||||
// 选择时间
|
||||
goTime(time) {
|
||||
switch (time) {
|
||||
case 0:
|
||||
this.oneFlag = true
|
||||
this.twoFlag = false
|
||||
this.threeFlag = false
|
||||
this.startDate = this.getNextDate(new Date(),0)
|
||||
this.endDate = this.getNextDate(new Date(),0)
|
||||
break;
|
||||
case 1:
|
||||
this.oneFlag = false
|
||||
this.twoFlag = true
|
||||
this.threeFlag = false
|
||||
this.startDate = this.getNextDate(new Date(),-3)
|
||||
this.endDate = this.getNextDate(new Date(),0)
|
||||
break;
|
||||
case 2:
|
||||
this.oneFlag = false
|
||||
this.twoFlag = false
|
||||
this.threeFlag = true
|
||||
this.startDate = this.getNextDate(new Date(),-5)
|
||||
this.endDate = this.getNextDate(new Date(),0)
|
||||
break;
|
||||
}
|
||||
},
|
||||
getNextDate(date, day) {
|
||||
var dd = new Date(date);
|
||||
dd.setDate(dd.getDate() + day);
|
||||
var y = dd.getFullYear();
|
||||
var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;
|
||||
var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();
|
||||
return y + "-" + m + "-" + d + ' 00:00:00';
|
||||
},
|
||||
}
|
||||
};
|
||||
|
@ -279,7 +412,15 @@
|
|||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
.rightInput {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
p {
|
||||
margin-left: 10px;
|
||||
line-height: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.itemList {
|
||||
|
@ -392,4 +533,94 @@
|
|||
justify-content: center;
|
||||
}
|
||||
}
|
||||
// 右侧抽屉筛选
|
||||
/deep/.uni-drawer__content {
|
||||
width: 320px;
|
||||
}
|
||||
.scroll-view {
|
||||
/* #ifndef APP-NVUE */
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
/* #endif */
|
||||
flex: 1
|
||||
}
|
||||
// 处理抽屉内容滚动
|
||||
.scroll-view-box {
|
||||
flex: 1;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
padding: 0 16px 80px;
|
||||
|
||||
.drawerTop {
|
||||
display: flex;
|
||||
margin-top: 24px;
|
||||
margin-bottom: 30px;
|
||||
|
||||
image {
|
||||
width: 10px;
|
||||
height: 14px;
|
||||
margin-right: 10px;
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
text {
|
||||
font-size: 20px;
|
||||
color: #23262E;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.drawerTitle {
|
||||
font-size: 14px;
|
||||
color: #23262E;
|
||||
margin: 8px 0;
|
||||
}
|
||||
|
||||
.bottomBtn {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 12px 16px;
|
||||
background: #FFFFFF;
|
||||
box-shadow: 0 -3px 7px 0 rgba(0, 0, 0, 0.10);
|
||||
position: fixed;
|
||||
bottom: 0px;
|
||||
right: 0px;
|
||||
|
||||
.btn {
|
||||
width: 116px;
|
||||
height: 36px;
|
||||
font-size: 16px;
|
||||
text-align: center;
|
||||
line-height: 36px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.czBtn {
|
||||
color: #0067CF;
|
||||
border: 1px solid #0067CF;
|
||||
}
|
||||
|
||||
.qrBtn {
|
||||
color: #fff;
|
||||
background: #0067CF;
|
||||
}
|
||||
}
|
||||
.timeBox {
|
||||
display: flex;
|
||||
.time {
|
||||
padding: 9px 24px;
|
||||
border: 1px solid #EEEEEE;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.check {
|
||||
background: rgba(114, 132, 245, 0.1);
|
||||
color: #0267CF;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -39,6 +39,16 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="tjList">
|
||||
<view class="tab">
|
||||
<view @click="zzlFlag = !zzlFlag" :class="[zzlFlag ? 'bottom' : '']">指令发送进度</view>
|
||||
<view @click="zzlFlag = !zzlFlag" :class="[zzlFlag ? '' : 'bottom']">装船进度</view>
|
||||
<view class="changBox">
|
||||
<view class="change" @click.stop="clickTab('td')" :class="[filterType == 'MNF_BL_TYPE' ? 'ava' : '']">按提单</view>
|
||||
<view class="change" @click.stop="clickTab('pp')" :class="[filterType == 'BRD_TYPE' ? 'ava' : '']">按品牌</view>
|
||||
<view class="change" @click.stop="clickTab('gk')" :class="[filterType == 'POT_TYPE' ? 'ava' : '']">按港口</view>
|
||||
</view>
|
||||
</view>
|
||||
<template v-if="zzlFlag">
|
||||
<view class="tjHead" @click="clickTjHead('zzl')">
|
||||
<view class="title">
|
||||
<p>总指令进度</p>
|
||||
|
@ -76,6 +86,22 @@
|
|||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<view class="tjInfo" v-for="(item,index) in jobProgressList" :key="item.id" @click="jobProgress(item,index,'zzl')" :class="{active:jobActive == index || brdName == item.label}">
|
||||
<view class="label">{{ item.label }}</view>
|
||||
<lx-progress-bar title="" :total="item.totalProgress" :firstValue="item.progress"
|
||||
contentColor="#0067CF"
|
||||
backColor="#f2f2f2" textPosition="outside" percentum precision="0" />
|
||||
<view class="bottomBox">
|
||||
<p>已装船:<text>{{ item.progress }}</text></p>
|
||||
<p style="margin-left: 16px;">待卸船:<text>{{ item.totalProgress - item.progress }}</text></p>
|
||||
</view>
|
||||
<view class="imgBox" v-if="jobActive == index || brdName == item.label">
|
||||
<image src="../../static/images/tjxz2.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</view>
|
||||
<template v-if="itemList.length > 0">
|
||||
<view class="itemBox">
|
||||
|
@ -210,6 +236,16 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="tjList">
|
||||
<view class="tab">
|
||||
<view @click="fzlFlag = !fzlFlag" :class="[fzlFlag ? 'bottom' : '']">指令发送进度</view>
|
||||
<view @click="fzlFlag = !fzlFlag" :class="[fzlFlag ? '' : 'bottom']">装船进度</view>
|
||||
<view class="changBox">
|
||||
<view class="change" @click.stop="clickTab('td')" :class="[filterType == 'MNF_BL_TYPE' ? 'ava' : '']">按提单</view>
|
||||
<view class="change" @click.stop="clickTab('pp')" :class="[filterType == 'BRD_TYPE' ? 'ava' : '']">按品牌</view>
|
||||
<view class="change" @click.stop="clickTab('gk')" :class="[filterType == 'POT_TYPE' ? 'ava' : '']">按港口</view>
|
||||
</view>
|
||||
</view>
|
||||
<template v-if="fzlFlag">
|
||||
<view class="tjHead" @click="clickTjHead('fzl')">
|
||||
<view class="title">
|
||||
<p>分指令进度</p>
|
||||
|
@ -247,6 +283,23 @@
|
|||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<view class="tjInfo" v-for="(item,index) in jobProgressList" :key="item.id" @click="jobProgress(item,index,'fzl')" :class="{active:jobActive == index || brdName == item.label}">
|
||||
<view class="label">{{ item.label }}</view>
|
||||
<lx-progress-bar title="" :total="item.totalProgress" :firstValue="item.progress"
|
||||
contentColor="#0067CF"
|
||||
backColor="#f2f2f2" textPosition="outside" percentum precision="0" />
|
||||
<view class="bottomBox">
|
||||
<p>已装船:<text>{{ item.progress }}</text></p>
|
||||
<p style="margin-left: 16px;">待卸船:<text>{{ item.totalProgress - item.progress }}</text></p>
|
||||
</view>
|
||||
<view class="imgBox" v-if="jobActive == index || brdName == item.label">
|
||||
<image src="../../static/images/tjxz2.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
</view>
|
||||
<template v-if="itemList.length > 0">
|
||||
<checkbox-group @change="checkChange">
|
||||
|
@ -404,6 +457,32 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="tjList">
|
||||
<view class="tab">
|
||||
<view class="bottom">装船进度</view>
|
||||
<view class="changBox">
|
||||
<view class="change" @click.stop="clickTab('td')" :class="[filterType == 'MNF_BL_TYPE' ? 'ava' : '']">按提单</view>
|
||||
<view class="change" @click.stop="clickTab('pp')" :class="[filterType == 'BRD_TYPE' ? 'ava' : '']">按品牌</view>
|
||||
<view class="change" @click.stop="clickTab('gk')" :class="[filterType == 'POT_TYPE' ? 'ava' : '']">按港口</view>
|
||||
</view>
|
||||
</view>
|
||||
<template>
|
||||
<view class="tjInfo" v-for="(item,index) in jobProgressList" :key="item.id" @click="jobProgress(item,index)" :class="{active:jobActive == index || brdName == item.label}">
|
||||
<view class="label">{{ item.label }}</view>
|
||||
<lx-progress-bar title="" :total="item.totalProgress" :firstValue="item.progress"
|
||||
contentColor="#0067CF"
|
||||
backColor="#f2f2f2" textPosition="outside" percentum precision="0" />
|
||||
<view class="bottomBox">
|
||||
<p>已装船:<text>{{ item.progress }}</text></p>
|
||||
<p style="margin-left: 16px;">待卸船:<text>{{ item.totalProgress - item.progress }}</text></p>
|
||||
</view>
|
||||
<view class="imgBox" v-if="jobActive == index || brdName == item.label">
|
||||
<image src="../../static/images/tjxz2.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
</view>
|
||||
<template v-if="itemList.length > 0">
|
||||
<view class="itemBox">
|
||||
<view class="itemList">
|
||||
|
@ -955,6 +1034,11 @@
|
|||
// 场位图显示
|
||||
cwtIsShow: false,
|
||||
cwtName: "",
|
||||
zzlFlag:true,
|
||||
jobProgressList:[],
|
||||
jobActive:null,
|
||||
fzlFlag:true,
|
||||
filterType:'MNF_BL_TYPE'
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
@ -1006,6 +1090,7 @@
|
|||
this.getPotList()
|
||||
this.getImgInfo()
|
||||
this.getGoodsInfo()
|
||||
this.getJobProgress() //获取卸船进度数据
|
||||
},
|
||||
components: {
|
||||
HeadView,
|
||||
|
@ -1045,6 +1130,8 @@
|
|||
}
|
||||
this.directorList = []
|
||||
this.getRoleId()
|
||||
this.zzlFlag = true
|
||||
this.fzlFlag = true
|
||||
},
|
||||
// 刷新
|
||||
refresh() {
|
||||
|
@ -1091,6 +1178,7 @@
|
|||
// 发送状态
|
||||
this.sendText = ""
|
||||
this.sendValue = ""
|
||||
this.jobActive = null
|
||||
},
|
||||
// 筛选确认
|
||||
confirm() {
|
||||
|
@ -1103,6 +1191,7 @@
|
|||
} else if (this.tabsValue == 4) {
|
||||
this.getQy()
|
||||
}
|
||||
this.jobActive = null
|
||||
this.$refs.showRight.close();
|
||||
},
|
||||
// 点击总指令统计列表总标题
|
||||
|
@ -1859,6 +1948,51 @@
|
|||
modifyPlaceTabs(data) {
|
||||
this.isCwnum = data;
|
||||
},
|
||||
// 获取卸船进度数据
|
||||
getJobProgress() {
|
||||
uni.request({
|
||||
url: `${this.$local}/api/instruction/statistics/JobProgress?filterType=${this.filterType}&target=W_L&vvyId=${this.shipInfo.vvyId}`,
|
||||
header: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded', //自定义请求头信息
|
||||
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||
},
|
||||
method: 'GET', //请求方式,必须为大写
|
||||
success: (res) => {
|
||||
this.jobProgressList = res.data.data.records
|
||||
}
|
||||
})
|
||||
},
|
||||
//点击卸船计划
|
||||
jobProgress(item,index,type) {
|
||||
this.jobActive = index
|
||||
if(this.filterType == 'BRD_TYPE') {
|
||||
this.brdId = item.id
|
||||
this.brdName = item.label
|
||||
} else if(this.filterType == 'POT_TYPE'){
|
||||
this.potName = item.label
|
||||
this.potId = item.id
|
||||
} else if(this.filterType == 'MNF_BL_TYPE') {
|
||||
this.mnfBl = item.id
|
||||
}
|
||||
this.itemList = []
|
||||
if(type == 'zzl') {
|
||||
this.loadSumOrder()
|
||||
} else if(type == 'fzl') {
|
||||
this.loadOtherOrder()
|
||||
}
|
||||
},
|
||||
// 点击品牌,提单,港口
|
||||
clickTab(type) {
|
||||
this.jobActive = null
|
||||
if(type == 'pp') {
|
||||
this.filterType = 'BRD_TYPE'
|
||||
} else if(type == 'td') {
|
||||
this.filterType = 'MNF_BL_TYPE'
|
||||
} else if(type == 'gk') {
|
||||
this.filterType = 'POT_TYPE'
|
||||
}
|
||||
this.getJobProgress()
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
@ -2074,6 +2208,32 @@
|
|||
float: left;
|
||||
overflow: scroll;
|
||||
margin-right: 4px;
|
||||
.tab {
|
||||
width: 100%;
|
||||
height: 103px;
|
||||
display: flex;
|
||||
background: white;
|
||||
margin-bottom: 15px;
|
||||
justify-content: space-evenly;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
.changBox {
|
||||
display: flex;
|
||||
background: rgba(113, 142, 244, 0.1);
|
||||
.change {
|
||||
padding: 7px 12px;
|
||||
}
|
||||
.ava {
|
||||
background: #1677FF;
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
}
|
||||
.bottom {
|
||||
color: #1677FF;
|
||||
line-height: 44px;
|
||||
border-bottom: 1px solid #1677FF;
|
||||
}
|
||||
|
||||
.active {
|
||||
border: 1px solid #0067CF;
|
||||
|
@ -2182,6 +2342,20 @@
|
|||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
.label {
|
||||
height: 32px;
|
||||
border-bottom: 0.5px solid #E1E5ED;
|
||||
}
|
||||
.bottomBox {
|
||||
display: flex;
|
||||
margin-top: 9px;
|
||||
p {
|
||||
color: #666666;
|
||||
}
|
||||
text {
|
||||
color: #252525;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue