<template>
|
<view class="main">
|
<!-- 当前选择仓库 -->
|
<view class="top-tag">
|
<text>点击切换/选择仓库</text>
|
<u-tag
|
size='large'
|
icon='map'
|
:text="dataForm.firstClass ? dataForm.firstClass : '请选择仓库'"
|
@click="firstClassSelect"
|
></u-tag>
|
</view>
|
<!-- 点击查看原盐钙镁 -->
|
<view class="self-deliver">
|
<view class="self-deliver_text">
|
查看原盐钙镁结果
|
</view>
|
<view class="self-deliver_btn">
|
<u-button text="查看"
|
type="primary"
|
shape="cirle"
|
@click="todoDetail"></u-button>
|
</view>
|
</view>
|
<!-- <u--form labelPosition="top"
|
labelWidth="20%"
|
:borderBottom="false"
|
:model="dataForm"
|
ref="uForm">
|
<u-form-item label="仓库"
|
prop="firstClass"
|
:borderBottom="false">
|
<u-cell-group>
|
<u-cell :title="dataForm.firstClass"
|
value="请选择"
|
@click="firstClassSelect">
|
<u-icon name="arrow-right"
|
slot="right-icon"
|
size="30"></u-icon></u-cell>
|
</u-cell-group>
|
</u-form-item>
|
|
</u--form> -->
|
|
<!-- <view style="margin-top: 20rpx;">
|
<u-button type="primary"
|
shape="circle"
|
text="查看该仓库收发单"
|
@click.stop="formHandle"></u-button>
|
</view> -->
|
<!-- 煤场 -->
|
<view class='div-box'>
|
<u-empty mode="data"
|
icon="http://cdn.uviewui.com/uview/empty/data.png"
|
text="暂无数据"
|
textSize="30"
|
iconSize="1000"
|
v-if="detailData.length===0"></u-empty>
|
<!-- 渲染区域 -->
|
|
<view class="history-information" v-for="item,i in detailData"
|
:key="i">
|
<view class="first">
|
<view class="">{{ item.carNo || '' }}</view>
|
<view class=""></view>
|
</view>
|
<view class="second">
|
<view class="coal-name">{{ item.productNames || item.productName }}</view>
|
<view class="order-type">{{ item.orderType || '' }}</view>
|
</view>
|
<view class="third">
|
<view class="third-line">
|
<view class="third-line_text">客户名称:</view>
|
<view>{{ item.customerName }}</view>
|
</view>
|
<view class="third-line" v-if="item.productName === 'EDC'">
|
<view class="third-line_text">质检状态:</view>
|
<view> <u-tag :text="checkStatusList[item.checkStatus]" plain > </u-tag></view>
|
</view>
|
</view>
|
<view class="fourth">
|
<view class="fourth-icon">
|
<view
|
style="width: 24rpx;height: 24rpx;line-height: 24rpx;background: url('https://mx.jzeg.cn:9096/appimg/image/banner/clock.png') no-repeat;background-size: cover">
|
</view>
|
</view>
|
<view class="senddate">{{ item.sendDate }}</view>
|
</view>
|
<view class="fourth">
|
<view class="fourth-icon">
|
<view
|
style="width: 26rpx;height: 26rpx;line-height: 26rpx;background: url('https://mx.jzeg.cn:9096/appimg/image/banner/carnNUm.png') no-repeat;background-size: cover;">
|
</view>
|
</view>
|
<view class="senddate">{{ item.orderCode }}</view>
|
</view>
|
<view class="table">
|
<uni-table border stripe
|
emptyText="暂无更多数据">
|
<uni-tr>
|
<uni-th width='140'
|
align="center">操作</uni-th>
|
<uni-th align="center" width='120'>产品</uni-th>
|
<uni-th align="center">仓库</uni-th>
|
<uni-th align="center">皮重</uni-th>
|
<uni-th align="center">毛重</uni-th>
|
<uni-th align="center">净重</uni-th>
|
<uni-th align="center">数量</uni-th>
|
<!-- <uni-th align="center">仓库</uni-th> -->
|
<!-- <uni-th align="center">状态</uni-th> -->
|
|
</uni-tr>
|
<uni-tr v-for="(subItem, index) in item.tmTaskCoalList" :key="index">
|
<uni-td align="center">
|
<view class="btnBox">
|
<!-- -->
|
<u-button text='查看' @click="viewDetail(subItem)"></u-button>
|
<u-button type='primary' text='确认装卸' v-if="subItem.flag" @click="enterOk(item,subItem)"></u-button>
|
</view></uni-td>
|
<uni-td align="center">
|
<view>{{ subItem.productName }}</view></uni-td>
|
<uni-td>
|
<view class="name">{{ subItem.bunkerName }}</view>
|
</uni-td>
|
<uni-td>
|
<view class="name">{{ subItem.skin }}</view>
|
</uni-td>
|
<uni-td>
|
<view class="name">{{ subItem.hair }}</view>
|
</uni-td>
|
<uni-td>
|
<view class="name">{{ subItem.clean }}</view>
|
</uni-td>
|
<uni-td>
|
<view class="name">{{ subItem.productQuantity }}</view>
|
</uni-td>
|
<!--
|
<uni-td align="center">
|
<view>{{ subItem.bunkerName }}</view></uni-td> -->
|
<!-- <uni-td align="center">
|
<view class="name">{{ subItem.statusView }}</view></uni-td> -->
|
|
</uni-tr>
|
</uni-table>
|
</view>
|
</view>
|
|
|
</view>
|
<u-action-sheet :actions="firstClassActionsList"
|
:show="firstClassShow"
|
cancelText='取消'
|
:closeOnClickOverlay='true'
|
@close='firstClassClose'
|
@select="firstClassSelectClick"></u-action-sheet>
|
<u-modal :show="enterZx"
|
:title="'提示'"
|
@close="closeModal"
|
@cancel="cancelModal"
|
@confirm="confirmModal"
|
:closeOnClickOverlay="true"
|
:showCancelButton="true">
|
<view class="slot-content">
|
是否确认装卸?
|
<view v-if="isNumOk || isClean">
|
<text>产品名称:{{activeObj.productName}}</text>
|
<view class="queren">
|
<text>请输入</text>:
|
<u--input
|
type='digit'
|
border="bottom"
|
:placeholder="isNumOk ? '数量' :'折吨'"
|
v-model="checkNum"
|
>
|
</u--input>
|
<text> {{isNumOk ? '件' : '吨' }}</text>
|
</view>
|
<!-- pvc 并且是大包 -->
|
<view class="pvcBig" v-if="activeObj.productName === 'PVC' && activeObj.packingType === 5">
|
|
</view>
|
<view v-if="isNumOk && activeObj.productQuantity">当前数量:{{activeObj.productQuantity}}件</view>
|
<view v-if="activeObj.containerNumber"><span>集装箱号:</span>{{activeObj.containerNumber}}</view>
|
|
</view>
|
<view>是否空车出厂: <u-radio-group
|
v-model="isEmptyCar"
|
placement="row"
|
iconPlacement="right"
|
style="justify-content: space-evenly"
|
>
|
<u-radio
|
:key="1"
|
:label="'是'"
|
:name="'1'"
|
shape="circle"
|
iconSize="32"
|
label-size="32"
|
size="40"
|
>
|
</u-radio>
|
<u-radio
|
:key="0"
|
:label="'否'"
|
:name="'0'"
|
shape="circle"
|
iconSize="32"
|
label-size="32"
|
size="40"
|
>
|
</u-radio>
|
</u-radio-group></view>
|
</view>
|
</u-modal>
|
<!-- 煤仓 -->
|
<!-- <u-action-sheet :actions="secondClassActionsList"
|
:show="secondClassShow"
|
cancelText='取消'
|
:closeOnClickOverlay='true'
|
@close='secondClassClose'
|
@select="secondClassSelectClick"></u-action-sheet> -->
|
<!--磅单类型 -->
|
<!-- <u-action-sheet :actions="orderTypeList"
|
:show="orderTypeShow"
|
cancelText='取消'
|
:closeOnClickOverlay='true'
|
@close='orderTypeClose'
|
@select="orderTypeSelectClick"></u-action-sheet> -->
|
</view>
|
</template>
|
|
<script>
|
import { BaseUrl } from '@/api/publicInterface.js'
|
export default {
|
props: {
|
loadUnloadData: {
|
type: Object,
|
default: {}
|
}
|
},
|
watch: {
|
loadUnloadData: {
|
handler(v) {
|
console.log(v,'vvvvvv')
|
this.loadUnloadData = v;
|
},
|
deep: true,
|
immediate: true
|
}
|
},
|
data() {
|
return {
|
dataForm: {
|
firstClass: "",
|
secondClass: "",
|
orderType: '',
|
bunkerId:""
|
},
|
isEmptyCar:null, //是否空车出厂
|
checkStatusList:[
|
'待取样','已取样','质检中','待复核','复核中','待审定','审定中','已完成'
|
],
|
index: '',
|
enterZx:false,
|
typeText:'', // 确认装卸三种类型
|
isNumOk:false, //计件
|
isClean:false, // 折吨
|
// 煤场操作菜单
|
firstClassActionsList: [],
|
firstClassShow: false,
|
// 煤仓操作菜单
|
secondClassActionsList: [],
|
secondClassShow: false,
|
coalList: [],
|
checkedCoal: [],
|
checkNum:'',
|
activeObj:{},
|
userInfo: {},
|
detailData:[],
|
filedId: "",
|
selectedCoal: [],
|
orderTypeShow: false,
|
pvcWeight:'',
|
orderTypeList: [{
|
name: '外销',
|
id: Math.floor(Math.random() * 100) + 1,
|
},
|
{
|
name: '外购',
|
id: Math.floor(Math.random() * 100) + 1,
|
}
|
],
|
isOrderType: '请选择', //磅房类型是否选择了 选择了清空
|
cleanIconClick: true, //修改点击清空磅房选择会出现
|
|
};
|
},
|
methods: {
|
getPVCWeight(){
|
|
},
|
viewDetail(item){
|
//查看收发单详情
|
uni.navigateTo({
|
url: `/pages/loadUnload-page/loadUnlaodPageDetail/detail?id=${item.id}&checkId=${item.checkId}`
|
});
|
|
},
|
getUserInfo() {
|
this.$reqGet('getUserEntity').then(res => {
|
this.userInfo = res.data;
|
this.userInfo.password = null
|
})
|
},
|
|
// 获取煤场
|
getDeptIdFiled() {
|
uni.showLoading({
|
title: "加载中"
|
})
|
this.$reqGet('getWarehouseList').then(res => {
|
uni.hideLoading()
|
if (res.code === 0) {
|
this.firstClassActionsList = res.data;
|
if(res.data.length){
|
this.dataForm.bunkerId = res.data[0].id;
|
uni.setStorageSync('bunkerId',res.data[0].id)
|
this.dataForm.firstClass = res.data[0].name;
|
this.getDetailData();
|
|
}
|
} else {
|
this.$u.toast('加载失败')
|
}
|
}).then(() => {
|
this.getUserInfo()
|
})
|
},
|
firstClassSelect() {
|
this.firstClassShow = true
|
},
|
firstClassClose() {
|
this.firstClassShow = false
|
},
|
getDetailData(){
|
uni.showLoading({
|
title:'加载中'
|
})
|
this.$reqGet('getTaskCoalListByBunkerId', { bunkerId:this.dataForm.bunkerId }).then(res => {
|
uni.hideLoading();
|
if (res.code === 0) {
|
this.detailData = res.data.map(item=>{
|
item.tmTaskCoalList.map(el=>{
|
el.flag = el.isPretendDischar ? false : true
|
return el
|
})
|
return item;
|
});
|
console.log(this.detailData,'detailData')
|
}else if(res.code === 1){
|
this.detailData = [];
|
this.$u.toast(res.msg ? res.msg : '操作失败!!')
|
}
|
}).catch(err=>{
|
this.detailData = [];
|
this.$u.toast(res.msg ? res.msg : '操作失败!!')
|
})
|
|
},
|
firstClassSelectClick(val) {
|
this.dataForm.firstClass = val.name;
|
this.dataForm.bunkerId= val.id;
|
uni.setStorageSync('bunkerId', val.id);
|
this.getDetailData();
|
this.filedId = val.id
|
},
|
formHandle() {
|
if (!this.dataForm.firstClass) return this.$u.toast('请选择煤场或者煤仓');
|
this.$nextTick(()=>{
|
uni.navigateTo({
|
url: `/pages/loadUnload-page/loadUnload-detail/loadUnload-detail?bunkerId=${this.dataForm.bunkerId}`
|
})
|
})
|
|
},
|
change(){
|
|
},
|
close(){
|
|
},
|
|
|
|
|
open(){},
|
enterOk(parintItem,item){
|
console.log(parintItem,'priintItem')
|
uni.request({
|
url: `${BaseUrl}/admin/dict/type/tray_weight`,
|
method: 'GET',
|
header: {
|
Authorization: 'Bearer' + ' ' + uni.getStorageSync('token'),
|
clientToc: 'Y',
|
'CLIENT_TOC': 'Y',
|
},
|
success: (res) => {
|
this.pvcWeight = res.data.data.find(item=>item.label === '5') ? Number(res.data.data.find(item=>item.label == '5').value) : '';
|
|
}
|
})
|
// 计件: 0 pvc type
|
// 折吨:
|
this.activeObj = item;
|
if( (parintItem.orderType === '外购' ||parintItem.orderType === '外购退' ) && item.isWeight === 0){
|
this.isNumOk = true;
|
this.isClean = false;
|
//回显计数量
|
this.checkNum = item.productQuantity ? item.productQuantity : '';
|
}else if( parintItem.orderType ==='外购' && item.isWeight === 1){
|
this.isClean = true;
|
this.isNumOk = false;
|
}else{
|
this.isNumOk = false;
|
this.isClean = false;
|
}
|
//pvc
|
if(parintItem.orderType ==='外销' && item.productName ==='PVC' && (item.packingType === 3 || item.packingType === 4)){
|
this.isNumOk = true;
|
this.isClean = false;
|
}
|
//瓶装液氯条件
|
//EDC 质检完成方可确认
|
if(item.packingType === 1){
|
this.isNumOk = true;
|
this.isClean = false;
|
}
|
//
|
//pvc大包自动计算折吨
|
if(item.productName === 'PVC' && item.packingType === 5){
|
this.isNumOk = true;
|
this.isClean = false;
|
}
|
if(parintItem.orderType === '外购'){
|
this.isEmptyCar = '1';
|
}else if(parintItem.orderType === '外销' || parintItem.orderType === '外购退'){
|
this.isEmptyCar = '0';
|
}
|
this.enterZx = true;
|
|
},
|
closeModal(){
|
this.enterZx = false;
|
this.checkNum = '';
|
this.isEmptyCar = null;
|
},
|
cancelModal(){
|
this.enterZx = false;
|
this.checkNum = '';
|
this.isEmptyCar = null;
|
},
|
confirmModal(){
|
uni.showLoading({
|
title:'加载中'
|
});
|
if(this.activeObj.productName ==='EDC'){
|
if( this.activeObj.checkStatus !== 7){
|
this.$u.toast(`请检查当前EDC订单质检状态后在确认装卸!`);
|
return
|
}
|
|
}else if( this.isEmptyCar === null){
|
this.$u.toast(`请检查${this.isNumOk ? '计件数量' :'折吨'},以及是否空车出厂项!`);
|
return
|
}else{
|
this.enterZx = false;
|
this.$reqPost('confirmLoadAndUnload',{
|
id: this.activeObj.id,
|
productQuantity:this.isNumOk ? this.checkNum : '',
|
discount:this.isClean ? this.checkNum : null,
|
isEmptyCar:this.isEmptyCar,
|
isPretendDischar:this.activeObj.isPretendDischar
|
},'json').then(res=>{
|
uni.hideLoading();
|
console.log(res,'rez')
|
this.checkNum = '';
|
if(res.code === 1){
|
console.log('触发')
|
this.$u.toast(res.msg || '失败');
|
uni.hideLoading();
|
}else{
|
this.$u.toast('操作成功');
|
}
|
setTimeout(() => {
|
this.getDetailData();
|
}, 500);
|
|
}).catch((err) => {
|
this.$u.toast(err.msg || '失败');
|
}).finally(() => {
|
uni.hideLoading();
|
|
})
|
}
|
|
|
},
|
//判断是否是 三种特殊类型对应弹窗
|
judgeTypeFun(name){
|
|
|
},
|
//查看最近一次的原盐钙镁
|
todoDetail(){
|
console.log()
|
uni.navigateTo({
|
url: `/pages/loadUnload-page/checkTestDetails/index`
|
})
|
|
}
|
|
},
|
onShow(){
|
uni.showLoading({
|
title: "加载中"
|
})
|
this.$reqGet('getWarehouseList').then(res => {
|
uni.hideLoading()
|
if (res.code === 0) {
|
this.firstClassActionsList = res.data;
|
if(res.data.length === 1){
|
this.dataForm.bunkerId = res.data[0].id;
|
uni.setStorageSync('bunkerId', res.data[0].id)
|
this.dataForm.firstClass = res.data[0].name;
|
|
}
|
} else {
|
this.$u.toast('加载失败')
|
}
|
}).then(() => {
|
|
this.getUserInfo()
|
});
|
|
|
},
|
}
|
</script>
|
|
<style lang="scss"
|
scoped>
|
::-webkit-scrollbar{
|
display: none;
|
}
|
.table{
|
width: 100%;
|
/deep/ .uni-table{
|
min-width: 0!important;
|
margin-left: 20rpx;
|
}
|
|
}
|
// 自主配送
|
.self-deliver {
|
position: relative;
|
top: vww(10);
|
width: 95%;
|
height: vww(40);
|
margin: vww(8) 10rpx;
|
padding: 0 vww(8);
|
background: #ffffff;
|
box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12);
|
border-radius: 20rpx;
|
@include flex;
|
align-items: center;
|
justify-content: space-between;
|
/deep/.u-button {
|
width: 100%;
|
height: 28px !important;
|
line-height: 40px;
|
padding: 0 12px;
|
font-size: 28rpx;
|
font-weight: 300;
|
color: #ffffff;
|
background: #497bfb !important;
|
letter-spacing: 4rpx;
|
border-radius: 37rpx 37rpx 37rpx 37rpx !important;
|
box-shadow: 2rpx 3rpx 13rpx 0rpx rgba(43, 98, 239, 0.5), 0rpx 0rpx 9rpx 0rpx rgba(247, 250, 253, 0.29);
|
}
|
}
|
.queren{
|
display: flex;
|
justify-content: space-between;
|
/deep/ .u-input {
|
border-bottom: 1px solid #ccc;
|
}
|
}
|
.name{
|
width: 50rpx;
|
}
|
.table{
|
width: 94%;
|
margin-left: 20rpx;
|
position: relative;
|
margin-top: 30rpx;
|
overflow-x: auto;
|
/deep/ .uni-table-th{
|
font-size: 12px;
|
}
|
/deep/ .uni-table-td {
|
font-size: 12px;
|
}
|
/deep/ .uni-table{
|
min-width: 0rpx!important;
|
// position: sticky !important;;
|
}
|
/deep/ .uni-table-body-wrapper {
|
position: relative;
|
}
|
/deep/ .uni-table-body {
|
display: flex;
|
}
|
.fixed {
|
position: absolute;
|
right: -35px;
|
background: #fff;
|
}
|
|
}
|
.btnBox{
|
min-width: 130rpx;
|
display: flex;
|
justify-content: space-around;
|
text{
|
color: #035cfb;
|
}
|
}
|
.main {
|
width: 94%;
|
margin: 10px;
|
// margin-top: vww(100);
|
position: relative;
|
top: vww(-160);
|
.top-tag{
|
width: 33%;
|
height: 100rpx;
|
margin-left: 65%;
|
display: flex;
|
/* margin-top: 40rpx; */
|
color: #fff;
|
align-items: center;
|
justify-content: space-between;
|
}
|
|
.div-box{
|
width: 100%;
|
display: flex;
|
margin-left: 10rpx;
|
flex-direction: column;
|
/deep/ .u-collapse{
|
background: #fff;
|
}
|
|
}
|
}
|
|
.slide-fade-enter-active {
|
transition: all 0.3s ease-out;
|
}
|
|
.coal-name {
|
width: 75%;
|
min-height: vww(100);
|
|
.u-checkbox-group {
|
.u-checkbox {}
|
}
|
}
|
.box{
|
display: flex;
|
flex-direction: column;
|
width: 100%;
|
.box-top{
|
width: 100%;
|
height: 100rpx;
|
display: inline-block;
|
display: flex;
|
justify-content: space-between;
|
align-items: center;
|
|
}
|
}
|
.collItem{
|
margin-top: 30rpx;
|
/deep/ .content{
|
background: none!important;
|
}
|
}
|
.history-information {
|
margin-bottom:50rpx;
|
margin-top: 10rpx;
|
background: #ffffff;
|
border-radius: 20rpx;
|
@include flex flex-direction: column;
|
padding: 10px;
|
align-items: flex-start;
|
justify-content: space-evenly;
|
box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12);
|
|
|
.first {
|
width: 96%;
|
height: 34rpx;
|
font-size: 32rpx;
|
font-weight: 300;
|
color: #303030;
|
@include flex;
|
margin: vww(10) vww(10) 0;
|
}
|
|
.second {
|
width: 100%;
|
height: 31rpx;
|
font-size: 30rpx;
|
font-weight: 300;
|
color: #515151;
|
margin: vww(10) vww(10) 0;
|
@include flex;
|
justify-content: flex-start;
|
|
.coal-name {
|
min-width: vww(20);
|
height: vww(20);
|
margin-right: vww(21);
|
}
|
|
.order-type {
|
height: 45rpx;
|
color: #035cfb;
|
border: 2px solid #035cfb;
|
border-radius: 4rpx;
|
padding: vww(2) vww(4);
|
text-align: center;
|
}
|
}
|
|
.third {
|
width: 96%;
|
height: auto;
|
font-size: 30rpx;
|
font-weight: 300;
|
color: #515151;
|
margin: vww(10) vww(10) 0;
|
@include flex;
|
flex-direction: column;
|
|
.third-line {
|
@include flex;
|
align-items: center;;
|
|
&_text {
|
color: #919090;
|
}
|
|
&_num {
|
color: #035cfb;
|
}
|
}
|
}
|
|
.fourth {
|
width: 100%;
|
height: 31rpx;
|
font-size: 30rpx;
|
font-weight: 300;
|
color: #515151;
|
margin: vww(10) vww(10) 0;
|
@include flex;
|
|
.fourth-icon {
|
width: vww(13);
|
height: vww(13);
|
margin-right: vww(14);
|
}
|
|
.senddate {
|
flex: 1;
|
}
|
}
|
}
|
</style>
|