This commit is contained in:
aihe 2024-05-12 22:34:20 +08:00
parent 624843c5aa
commit 71a5f3040d
2 changed files with 144 additions and 99 deletions

View File

@ -68,11 +68,6 @@
return null
}
},
getListFun: {
default () {
return null
}
},
resObject: {
default () {
return {

View File

@ -2,92 +2,126 @@
<tpx-page>
<tpx-layout>
<template v-slot:body>
<view class="blcok-white-noradius" style="margin-top: 0;">
<u-row justify="between">
<view style="width: 140rpx;" class="font-weight">运单号</view>
<view style="flex:1;">
<tpx-scan-input v-model:value="submitParam.billCode" placeholder="请输入或扫码"
@change="handleScanValChange" iconPos="right"></tpx-scan-input>
</view>
</u-row>
<u-row justify="between" custom-style="margin-top:20rpx;">
<view style="width: 140rpx;" class="font-weight">下单时间</view>
<view style="flex:1;">
<tpx-date-input v-model:value="submitParam.date" placeholder="请选择时间"></tpx-date-input>
</view>
</u-row>
<u-row custom-style="margin-top:20rpx;" justify="end">
<u-row>
<text class="pr-30">是否已打印</text>
<u-switch v-model="submitParam.hasPrinted"
active-color="#B12D29" size="34"></u-switch>
</u-row>
</u-row>
<view class="mt-30">
<u-button type="primary" size="large" shape="square" plain="true"
custom-style="height:80rpx;font-size: 30rpx;border-radius: 14rpx;">查询</u-button>
</view>
<view class="clr-prm mt-20">注意:当打印出来寄件分拨或未端分拨返回为空时,请等待5分钟后再补 打印</view>
<u-row justify="between" custom-style="margin-top:30rpx;">
<view style="width: 140rpx;" class="font-weight">打印联选择</view>
<view style="flex:1;" class="ml-20">
<u-radio-group v-model="submitParam.lang" placement="row">
<u-radio size="26" labelSize="26" label-color=":#999" activeColor="#B12D29"
customStyle="margin: 0 20rpx 0 0" v-for="(item, index) in yinlTypeList"
:label="item.title" :name="item.val"
></u-radio>
</u-radio-group>
</view>
</u-row>
<view class="mt-20">
<u-checkbox-group v-model="submitParam.printType" placement="column">
<u-row custom-style="flex-wrap: wrap;">
<u-col span="6" v-for="(item, index) in dicData.emis_print_type">
<u-checkbox size="26" labelSize="26" label-color=":#999" activeColor="#B12D29"
:customStyle="{marginBottom: '8rpx'}"
:label="item.title" :name="item.val"
></u-checkbox>
</u-col>
</u-row>
</u-checkbox-group>
</view>
</view>
<view class="blcok-white-noradius">
<u-row justify="between">
<text class="font-weight">运单列表</text>
<view >
<u-checkbox-group @change="handleSelAll">
<u-checkbox size="26" labelSize="26" label-color=":#999" activeColor="#B12D29"
label="全选" :checked="submitParam.subBillCodeRange.length == yundanList.length"
></u-checkbox>
</u-checkbox-group>
</view>
</u-row>
<tpx-checkitems :list="yundanList" v-model:value="submitParam.subBillCodeRange" v-slot="dlCurrent" type="multiple"
<view class="pos-abt-all">
<tpx-scroll-view v-model:resObject="resData" :searchParam="searchParam" :getListFun="getListFun"
ref="listRef"
>
<view slot class="yditem mt-20">
<u-row>
<view class="com-chk-icon">
<u-checkbox-group>
<u-checkbox size="26" labelSize="26" label-color=":#999" activeColor="#B12D29"
label="" :checked="dlCurrent.checked"
></u-checkbox>
</u-checkbox-group>
</view>
<view class="ddhao" style="flex: 1;">
运单号:{{dlCurrent.item.val}}
<view class="blcok-white-noradius" style="margin-top: 0;">
<u-row justify="between">
<view style="width: 140rpx;" class="font-weight">运单号</view>
<view style="flex:1;">
<tpx-scan-input v-model:value="searchParam.billCode" placeholder="请输入或扫码"
@change="handleScanValChange" iconPos="right"></tpx-scan-input>
</view>
</u-row>
<u-row justify="between" custom-style="margin-top:20rpx;">
<view style="width: 140rpx;" class="font-weight">下单时间</view>
<view style="flex:1;">
<tpx-date-input v-model:value="searchParam._date" placeholder="请选择时间"></tpx-date-input>
</view>
</u-row>
<u-row custom-style="margin-top:20rpx;" justify="end">
<u-row>
<text class="pr-30">是否已打印</text>
<u-switch v-model="searchParam.printFlag" activeValue="1" inactiveValue="0"
active-color="#B12D29" size="34"></u-switch>
</u-row>
</u-row>
<view class="mt-30">
<u-button type="primary" size="large" shape="square" plain="true" @click="handleSearch"
custom-style="height:80rpx;font-size: 30rpx;border-radius: 14rpx;">查询</u-button>
</view>
</view>
</tpx-checkitems>
<view class="blcok-white-noradius">
<view class="pb-20 com-section">打印配置</view>
<view class="clr-prm mt-10">注意:当打印出来寄件分拨或未端分拨返回为空时,请等待5分钟后再补 打印</view>
<u-row justify="between" custom-style="margin-top:30rpx;">
<view style="width: 140rpx;" class="font-weight">打印联选择</view>
<view style="flex:1;" class="ml-20">
<u-radio-group v-model="submitParam.lang" placement="row">
<u-radio size="26" labelSize="26" label-color=":#999" activeColor="#B12D29"
customStyle="margin: 0 20rpx 0 0" v-for="(item, index) in yinlTypeList"
:label="item.title" :name="item.val"
></u-radio>
</u-radio-group>
</view>
</u-row>
<view class="mt-20">
<u-checkbox-group v-model="submitParam.printType" placement="column">
<u-row custom-style="flex-wrap: wrap;">
<u-col span="6" v-for="(item, index) in dicData.emis_print_type">
<u-checkbox size="26" labelSize="26" label-color=":#999" activeColor="#B12D29"
:customStyle="{marginBottom: '8rpx'}"
:label="item.title" :name="item.val"
></u-checkbox>
</u-col>
</u-row>
</u-checkbox-group>
</view>
<u-row custom-style="margin-top:30rpx;">
<view style="width: 200rpx;" class="">子单打印区间</view>
<u-row>
<tpx-input customStyle="width:60rpx;" v-model:value="submitParam.subBillCodeRange[0]" :isWhite="true" placeholder="" type="number"></tpx-input>
<text class="pl-10 pr-10">到</text>
<tpx-input customStyle="width:60rpx;" v-model:value="submitParam.subBillCodeRange[1]" :isWhite="true" placeholder="" type="number"></tpx-input>
</u-row>
</u-row>
</view>
<view class="blcok-white-noradius">
<view class="pb-20 com-section">运单列表</view>
<view class="pb-20">
<u-row>
<u-col span="8">
<u-row @click="handleSelAll">
<view class="com-chk-icon">
<u-checkbox-group>
<u-checkbox size="26" labelSize="26" label-color=":#999" activeColor="#B12D29"
label="" :checked="resData.list.length > 0 && submitParam.billCode.length == resData.list.length"
></u-checkbox>
</u-checkbox-group>
</view>
<text class="font-weight pl-10">运单号</text>
</u-row>
</u-col>
<u-col span="4">
<text class="font-weight">下单时间</text>
</u-col>
</u-row>
</view>
<tpx-checkitems :list="resData.list" v-model:value="submitParam.billCode" v-slot="dlCurrent" type="multiple"
>
<view slot class="yditem mt-20">
<u-row>
<u-col span="8">
<u-row>
<view class="com-chk-icon">
<u-checkbox-group>
<u-checkbox size="26" labelSize="26" label-color=":#999" activeColor="#B12D29"
label="" :checked="dlCurrent.checked"
></u-checkbox>
</u-checkbox-group>
</view>
<text class="">{{dlCurrent.item.billCode}}</text>
</u-row>
</u-col>
<u-col span="4">
<text class="clr-sub">{{dlCurrent.item.sendDate}}</text>
</u-col>
</u-row>
</view>
</tpx-checkitems>
</view>
</tpx-scroll-view>
</view>
</template>
<template v-slot:footer>
<view class="blcok-white-noradius">
<u-row>
@ -123,17 +157,18 @@
submitParam: {
lang: 'zh',
printType: [],
isNeedPdf: 'T',
date: [],
billCode: [],
subBillCodeRange: []
},
yinlTypeList: [
{ title: '中文', val: 'zh' },
{ title: '英文', val: 'en' },
],
yundanList: [
],
searchParam: {},
searchParam: {
printFlag: '0',
billCode: '',
_date: [],
},
resData: { list: [] }
}
},
@ -148,11 +183,24 @@
},
methods: {
getListFun: apiService.queryPrintListSimple,
async getListFun(param){
let cpParam = JSON.parse(JSON.stringify(param))
cpParam['params.beginSendDate'] = cpParam._date[0]
cpParam['params.endSendDate'] = cpParam._date[1]
let res = await apiService.queryPrintListSimple(cpParam)
// list增加新字段
res.rows.map(t=> {
t.val = t.billCode
})
return res
},
initData() {
},
handleScanValChange: debounce(function(val){
}),
handleSearch(){
},
async handleSubmit() {
let res = await this.getRealGetWaybillPrintData()
const imageUrl = res?.data?.map(t=> t.imageUrl) || ''
@ -162,17 +210,19 @@
})
},
handleSelAll() {
if(this.submitParam.subBillCodeRange.length == this.yundanList.length) {
this.submitParam.subBillCodeRange = []
if(this.submitParam.billCode.length == this.resData.list.length) {
this.submitParam.billCode = []
} else {
this.submitParam.subBillCodeRange = this.yundanList.map(item=> item.val)
this.submitParam.billCode = this.resData.list.map(item=> item.val)
}
},
async getRealGetWaybillPrintData() {
// 请求后端接口
let param = JSON.parse(JSON.stringify(this.submitParam))
param.printType = param.printType.join(',')
param.billCode = param.billCode.join(',')
param.subBillCodeRange = param.subBillCodeRange.join(',')
// param.isNeedPdf = param.isNeedPdf ? 'T' : ''
let res = await apiService.getRealGetWaybillPrintData({ ...param, _loading: true })
return res
}
@ -190,9 +240,9 @@
</style>
<style scoped lang="scss">
.ddhao {
margin-left: 20rpx;
padding: 20rpx 30rpx;
border: 2px solid #F6F6F6;
border-radius: 20rpx;
}
.yditem{
padding: 20rpx 0;
border-top: 2px solid #F6F6F6;
}
</style>