<template>
|
<view class="customer-index">
|
<view class="customer-index-body">
|
<u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" textSize="30" iconSize="1000" v-if="orderPlanData.length == 0"></u-empty>
|
<card v-for="(item, index) in orderPlanData" :key="index" :name="item.id" @click="cardBodyClick">
|
<template v-slot:left>
|
<view class="card-left__top">
|
<text>{{ item.carNum }}</text>
|
张
|
</view>
|
<view class="card-left__utils">
|
<u-button @tap.stop="receiveClick(item)" text="领取" type="primary" v-if="item.carNum - item.cars2 != 0" shape="circle"></u-button>
|
<u-button text="转发" type="primary" @tap.stop="forwardClick(item)" shape="circle"></u-button>
|
</view>
|
</template>
|
<template v-slot:right-top>
|
<view class="right-top">
|
<view class="card-right-top-row">
|
<view>
|
<text>{{ item.deptName || '' }}</text>
|
</view>
|
<view>
|
<text>{{ item.coalName }}</text>
|
</view>
|
</view>
|
<view class="card-right-top-row">
|
<view>
|
<text>已领取{{ item.cars2 }}张</text>
|
</view>
|
</view>
|
<view class="card-right-top-row">
|
<!-- <view v-if="item.cars == item.cars2 ? false : true">
|
领取:
|
<text class="lingqu" @tap.stop="numInput(item.id)">{{ item.receiveNum || '_______' }}</text>
|
张
|
</view> -->
|
<view v-if="item.carNum == item.cars2 ? false : true">剩余{{ item.carNum - item.cars2 }}张</view>
|
<view v-else>已领完</view>
|
</view>
|
</view>
|
</template>
|
<template v-slot:right-bottom>
|
<view class="code">
|
<text>编号:{{ item.code || '' }}</text>
|
</view>
|
</template>
|
</card>
|
</view>
|
<view class="history-numbers">
|
<combined-title title="历史提煤单"></combined-title>
|
<scroll-view :scroll-top="scrollTop" scroll-y="true" class="scroll-Y" @scrolltolower="historyScrolltolower">
|
<uni-table border stripe emptyText="暂无更多数据" :loading="loading">
|
<uni-tr>
|
<uni-th width="100" align="center">发运日期</uni-th>
|
<uni-th width="100" align="center">所属单位</uni-th>
|
<uni-th align="center" width="150">煤场名称</uni-th>
|
<uni-th align="center" width="100">煤种名称</uni-th>
|
<uni-th align="center" width="150">订单编号</uni-th>
|
<uni-th align="center" width="100">订单剩余量</uni-th>
|
<uni-th align="center" width="80">提煤单个数</uni-th>
|
</uni-tr>
|
<uni-tr v-for="(item, index) in historyCoalData" :key="index">
|
<uni-td align="center" @row-click="faYundetail(item)">{{ item.sendDate || '' }}</uni-td>
|
<uni-td align="left" @row-click="faYundetail(item)">{{ item.deptName || '' }}</uni-td>
|
<uni-td align="center" @row-click="faYundetail(item)">{{ item.filedName || '' }}</uni-td>
|
<uni-td align="center" @row-click="faYundetail(item)">{{ item.coalName || '' }}</uni-td>
|
<uni-td align="center" @row-click="faYundetail(item)">{{ item.orderCode || '' }}</uni-td>
|
<uni-td align="center" @row-click="faYundetail(item)">{{ item.carNumSurplus || '' }}</uni-td>
|
<uni-td align="center" @row-click="faYundetail(item)">{{ item.tmCount || '' }}</uni-td>
|
</uni-tr>
|
</uni-table>
|
<view class="more_text" v-if="showMoreData && historyCoalData.length !== 0">没有数据了...</view>
|
</scroll-view>
|
</view>
|
<!-- 领取弹出框 -->
|
<u-popup :show="show" @close="close" @open="open" mode="center" round="10">
|
<view class="receiverPopup">
|
<view class="receiverPopup__title"><text>确认领取数量</text></view>
|
<view class="receiverPopup__input"><u--input v-model="receiveNum" @change="change" placeholder="请输入内容" type="number" border="surround"></u--input></view>
|
<view class="receiverPopup__btn"><u-button text="确定" type="primary" @click="popupDetermineClick"></u-button></view>
|
</view>
|
</u-popup>
|
</view>
|
</template>
|
|
<script>
|
import card from '@/components/card/card.vue';
|
import combinedTitle from '@/components/combined-title/combined-title.vue';
|
import { customerId } from '@/utils/status';
|
export default {
|
props: {
|
orderPlanDataStore: {
|
type: Array,
|
default: []
|
}
|
},
|
components: {
|
card,
|
combinedTitle
|
},
|
watch: {
|
orderPlanDataStore: {
|
handler(v) {
|
this.orderPlanData = v;
|
},
|
deep: true,
|
immediate: true
|
}
|
},
|
data() {
|
return {
|
orderPlanData: [],
|
show: false, // 领取提煤单弹出框
|
receiveNum: null,
|
getOrderNum: {
|
num: '',
|
id: null
|
},
|
historyCoalData: [],
|
// 表格加载状态
|
loading: false,
|
scrollTop: 0,
|
// 每页数据量
|
pageSize: 10,
|
// 当前页
|
pageCurrent: 1,
|
// 数据总量
|
total: 0,
|
// 是否显示更多数据
|
showMoreData: false
|
};
|
},
|
onLoad() {},
|
onShow() {
|
this.init();
|
},
|
methods: {
|
init() {
|
this.GetOrderPlan();
|
this.getJhOrderPlanDataPage();
|
},
|
// 获取发运计划列表
|
GetOrderPlan() {
|
uni.showLoading({ title: '加载中...' });
|
this.$reqGet('GetOrderPlan').then(res => {
|
if (res.data) {
|
this.orderPlanData = res.data;
|
uni.hideLoading();
|
}
|
});
|
},
|
// 获取历史提煤单
|
getJhOrderPlanDataPage() {
|
this.loading = true;
|
this.$reqGet('getJhOrderPlanDataPage', { current: this.pageCurrent, size: this.pageSize }).then(res => {
|
if (res.data.records) {
|
this.total = res.data.total;
|
if (this.pageCurrent > 1) {
|
this.historyCoalData = this.historyCoalData.concat(res.data.records);
|
this.historyCoalData = this.ArrSet(this.historyCoalData, 'id');
|
this.loading = false;
|
} else {
|
this.historyCoalData = res.data.records;
|
this.loading = false;
|
}
|
}
|
});
|
},
|
// 上拉加载
|
historyScrolltolower() {
|
if (this.pageCurrent * this.pageSize >= this.total) return (this.showMoreData = true);
|
this.pageCurrent++;
|
this.getJhOrderPlanDataPage();
|
},
|
//fix 点击提煤单返回会增加重复数据
|
ArrSet(Arr, id) {
|
var obj = {};
|
const arrays = Arr.reduce((setArr, item) => {
|
obj[item[id]] ? '' : (obj[item[id]] = true && setArr.push(item));
|
return setArr;
|
}, []);
|
return arrays;
|
},
|
popupDetermineClick() {
|
if (this.receiveNum) {
|
this.getOrderNum.num = this.receiveNum;
|
uni.showLoading({ title: '加载中...' });
|
this.$reqPost('customerGet', this.getOrderNum, 'params').then(res => {
|
uni.hideLoading();
|
if (res.code == 0) {
|
this.getOrderNum.num = '';
|
this.GetOrderPlan();
|
uni.showToast({
|
title: '领取成功!',
|
icon: 'none',
|
duration: 1000
|
});
|
} else {
|
this.$u.toast(res.msg ? res.msg : '领取失败');
|
}
|
});
|
} else {
|
uni.showToast({
|
title: '请输入领取数量',
|
icon: 'none'
|
});
|
}
|
this.show = false;
|
},
|
/**
|
* @客户领取
|
* 领取弹框
|
*/
|
receiveClick(item) {
|
this.show = true;
|
this.getOrderNum.id = item.id; // 获取领取提煤单的id
|
},
|
open() {},
|
close() {
|
this.show = false;
|
this.receiveNum = null;
|
},
|
change(e) {
|
console.log('输入框', e);
|
},
|
// 提煤单详情
|
cardBodyClick(name) {
|
console.log(name, 'name');
|
let code = null;
|
let cars2 = null;
|
this.orderPlanData.forEach(item => {
|
if (item.id == name) {
|
code = item.code;
|
cars2 = item.cars2;
|
}
|
});
|
uni.navigateTo({ url: `/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails?orderPlanId=${name}&code=${code}&cars2=${cars2}` });
|
},
|
// 点击历史提煤单一行获取详情
|
faYundetail(v) {
|
uni.navigateTo({ url: `/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails?orderPlanId=${v.id}&cars2=${v.cars2}` });
|
},
|
// 转发
|
forwardClick(obj) {
|
uni.navigateTo({ url: `/pages/public-page/forward/forward?orderPlanId=${obj.id}&carNumSurplus1=${obj.carNumSurplus1}&carNum=${obj.carNum}&cars2=${obj.cars2}` });
|
}
|
}
|
};
|
</script>
|
|
<style lang="scss" scoped>
|
.scroll-Y {
|
height: 600rpx;
|
margin-bottom: vww(50);
|
.more_text {
|
color: #999;
|
font-size: 24rpx;
|
text-align: center;
|
}
|
}
|
::v-deep.customer-index {
|
width: 94%;
|
margin: 0 auto;
|
// 主体
|
.customer-index-body {
|
margin-bottom: vww(10);
|
.card-left__top {
|
margin-top: vww(26);
|
text-align: center;
|
color: #ffffff;
|
text {
|
font-size: vww(48);
|
font-weight: 800;
|
}
|
}
|
.card-left__utils {
|
display: flex;
|
padding: 0 vww(15) 0 vww(15);
|
.u-button {
|
width: vww(55);
|
height: vww(24);
|
background-color: #fff;
|
color: #1987ff;
|
}
|
}
|
.right-top {
|
display: flex;
|
flex-flow: column nowrap;
|
align-content: space-around;
|
.card-right-top-row {
|
margin-top: vww(8);
|
text-align: center;
|
.lingqu {
|
margin-right: vww(10);
|
border-bottom: 1px solid #000000;
|
width: vww(30);
|
height: vww(30);
|
}
|
&:nth-child(1) {
|
display: flex;
|
justify-content: space-between;
|
view {
|
text-align: center;
|
width: 50%;
|
}
|
}
|
}
|
}
|
|
.code {
|
margin-top: vww(7);
|
text-align: center;
|
}
|
|
// .newTask-card-body-row {
|
// text-align: center;
|
// .lingqu {
|
// margin-right: vww(10);
|
// border-bottom: 1px solid #000000;
|
// width: vww(30);
|
// height: vww(30);
|
// }
|
|
// &:nth-child(1) {
|
// font-weight: 600;
|
// }
|
|
// &:nth-child(2) {
|
// margin-top: vww(10);
|
// font-weight: 600;
|
// }
|
|
// &:nth-child(3) {
|
// margin-top: vww(10);
|
// font-weight: 600;
|
// }
|
|
// &:nth-child(4) {
|
// margin-top: vww(10);
|
// font-weight: 600;
|
// }
|
|
// view {
|
// display: inline-block;
|
|
// &:nth-child(1) {
|
// margin-right: vww(20);
|
// }
|
// }
|
// }
|
|
.utilsBtn {
|
display: flex;
|
|
.u-button {
|
width: 30%;
|
}
|
}
|
}
|
|
// 领取弹出框
|
.receiverPopup {
|
height: vww(110);
|
|
.receiverPopup__title {
|
margin: vww(10) auto 0;
|
width: 80%;
|
text-align: center;
|
}
|
|
.receiverPopup__input {
|
width: 80%;
|
margin: vww(10) auto 0;
|
|
.u-input {
|
border: 1px solid #dddddd;
|
}
|
}
|
|
&__btn {
|
margin: vww(10) auto;
|
width: 50%;
|
.u-button {
|
height: vww(20);
|
}
|
}
|
}
|
}
|
</style>
|