This commit is contained in:
aihe 2024-09-01 20:18:45 +08:00
parent ff9b32d490
commit c56226bedc
4 changed files with 265 additions and 283 deletions

View File

@ -101,6 +101,11 @@ export const exportWarehouseInTpl = (data = {})=> {
return coreRequest(url.exportWarehouseInTpl, data, {}) return coreRequest(url.exportWarehouseInTpl, data, {})
} }
// 确认进仓单
export const cusConfirmWsIn = (data = {})=> {
return coreRequest(url.cusConfirmWsIn, data, {})
}
// 进仓单列表 // 进仓单列表
export const getWarehouseInList = (data = {})=> { export const getWarehouseInList = (data = {})=> {
return coreRequest(url.getWarehouseInList, data, {}, "GET") return coreRequest(url.getWarehouseInList, data, {}, "GET")

View File

@ -27,9 +27,6 @@ export default {
getCaculteDestSite: `/oms2c/emisDestination/getDestSite`, // 自动计算目的地 -- DONE getCaculteDestSite: `/oms2c/emisDestination/getDestSite`, // 自动计算目的地 -- DONE
getCaculteSendSite: `/oms2c/emisDestination/getSendSite`, // 自动计算寄件网点 -- DONE getCaculteSendSite: `/oms2c/emisDestination/getSendSite`, // 自动计算寄件网点 -- DONE
getLisWarehouse: `/oms2c/emisWaybill/listWmsWarehouse`, // 仓库列表 -- DONE getLisWarehouse: `/oms2c/emisWaybill/listWmsWarehouse`, // 仓库列表 -- DONE
exportWarehouseInTpl: `/oms2c/emisWaybill/exportWarehouseInTpl`, // 下载进仓单PDF-- DONE
getWarehouseInList: `/oms2c/emisWarehouseIn/listSimple`, // 进仓单列表-- DONE
getWarehouseInInfo: `/oms2c/emisWarehouseIn/getWarehouseInDetail`, // 获取进仓单详情-- DONE
getListBindSalesmen: `/oms2c/emisWaybill/listBindSalesmen`, // 绑定业务员列表 -- DONE getListBindSalesmen: `/oms2c/emisWaybill/listBindSalesmen`, // 绑定业务员列表 -- DONE
queryNewSalesmen: `/oms2c/emisWaybill/queryNewSalesmen`, // 查询所有业务员-根据手机号等条件 -- DONE queryNewSalesmen: `/oms2c/emisWaybill/queryNewSalesmen`, // 查询所有业务员-根据手机号等条件 -- DONE
bindSalesmen: `/oms2c/emisWaybill/bindSalesmen`, // 绑定业务员 -- DONE bindSalesmen: `/oms2c/emisWaybill/bindSalesmen`, // 绑定业务员 -- DONE
@ -60,5 +57,9 @@ export default {
getWxPayQrCode: `/oms2c/emisSettleBill/getWxPayQrCode`, // 获取微信支付二维码 -- DONE getWxPayQrCode: `/oms2c/emisSettleBill/getWxPayQrCode`, // 获取微信支付二维码 -- DONE
sumbitWxPay: `/oms2c/emisSettleBill/sumbitWxPay`, // 账单-唤起微信立即支付 -- DONE sumbitWxPay: `/oms2c/emisSettleBill/sumbitWxPay`, // 账单-唤起微信立即支付 -- DONE
exportWarehouseInTpl: `/oms2c/emisWarehouseIn/exportWarehouseInTpl`, // 下载进仓单PDF-- DONE
getWarehouseInList: `/oms2c/emisWarehouseIn/listSimple`, // 进仓单列表-- DONE
getWarehouseInInfo: `/oms2c/emisWarehouseIn/getWarehouseInDetail`, // 获取进仓单详情-- DONE
cusConfirmWsIn: `/oms2c/emisWarehouseIn/cusConfirmWsIn`, // 确认进仓单- DONE
} }

View File

@ -1,65 +1,25 @@
<template> <template>
<tpx-page>
<tpx-layout> <tpx-layout>
<template v-slot:header></template> <template v-slot:header></template>
<template v-slot:body> <template v-slot:body>
<view class="dt-block"> <view class="dt-block">
<view class="dt-tle"> <view class="dt-tle">
<view class="t1">订单号: Tw891823727001</view> <view class="t1">订单号: {{postInfo.billCode}}</view>
<view class="t2"> <view class="t2">
<text class="clr-prm">{{'待遗收'}}</text> <text class="clr-prm"></text>
</view> </view>
</view> </view>
<u-line margin="20rpx 0 20rpx"></u-line> <u-line margin="20rpx 0 20rpx"></u-line>
<view> <view>
<u-row custom-style="position:relative;" align="top" <bpe-addressjiami-tmp v-model:value="postInfo"></bpe-addressjiami-tmp>
justify="between">
<view>
<image style="height: 50rpx;width: 42rpx;" :src="getCdnUrl(`post/ji.png`)"></image>
</view>
<view style="flex: 1;padding: 0 30rpx;">
<u-text text="寄件人信息" size="28" :bold="true"></u-text>
<view style="margin: 8rpx 0 0 0;">
<u-text text="请新建您的寄件地址信息" size="26" color="#999"></u-text>
</view>
</view>
<view class="flex-column-center">
<image style="height: 32rpx;width: 28rpx;" :src="getCdnUrl(`post/eye-off.svg`)">
</image>
</view>
<view style="position: absolute;left: 20rpx;bottom: -20rpx;top: 46rpx;">
<u-line custom-style="height:100%;" direction="col" dashed="true"></u-line>
</view>
</u-row>
<view style="padding-left: 76rpx;">
<u-line margin="20rpx 0"></u-line>
</view>
<u-row custom-style="position:relative;" align="top"
justify="between">
<view style="position: absolute;left: 20rpx;top: -20rpx;bottom: 100%;">
<u-line custom-style="height:100%;" direction="col" dashed="true"></u-line>
</view>
<view>
<image style="height: 50rpx;width: 42rpx;" :src="getCdnUrl(`post/shou.png`)">
</image>
</view>
<view class="pr-30 pl-30" style="flex: 1;">
<u-text text="收件人信息" size="28" :bold="true"></u-text>
<view style="margin: 8rpx 0 0 0;">
<u-text text="请填写收件人国家、姓名,电话" size="26" color="#999"></u-text>
</view>
</view>
<view class="flex-column-center">
<image style="height: 32rpx;width: 28rpx;" :src="getCdnUrl(`post/eye-line.svg`)">
</image>
</view>
</u-row>
</view> </view>
</view> </view>
<view class="dt-block"> <view class="dt-block">
<view class="dt-tle" @click="setClipboardData('xxxxxxx')"> <view class="dt-tle" @click="handleCopyWareHouse()">
<view class="t1">柯桥仓库联系信息</view> <view class="t1">{{postInfo.intoWarehouseName}}联系信息</view>
<view class="t2"> <view class="t2">
<u-icon name="file-text" size="38" custom-style=""></u-icon> <u-icon name="file-text" size="38" custom-style=""></u-icon>
</view> </view>
@ -67,10 +27,10 @@
<u-line margin="20rpx 0 20rpx"></u-line> <u-line margin="20rpx 0 20rpx"></u-line>
<view> <view>
<view> <view>
<text class="font-weight font-28 pr-20">李先生</text> <text class="font-weight font-28 pr-20">{{postInfo.intoWarehouseContact}}</text>
<text class="clr-sub font-28">18627068352</text> <text class="clr-sub font-28">{{postInfo.intoWarehousePhone}}</text>
</view> </view>
<u-text :text="'上海市大世界大世界大世界大世界大世界大世界大世界大世界大世界大世界大世界大世界大世界大世界大世界大世界大世界大世界大世界大世界大世界'" <u-text :text="postInfo.intoWarehouseAddress"
size="24" margin="20rpx 0 0 0" color="#999" size="24" margin="20rpx 0 0 0" color="#999"
></u-text> ></u-text>
</view> </view>
@ -80,55 +40,32 @@
<view class="dt-tle"> <view class="dt-tle">
<view class="t1">进仓货物总览</view> <view class="t1">进仓货物总览</view>
<view class="t2"> <view class="t2">
<text class="clr-prm">{{'部分入仓'}}</text> <tetx v-if="billInfo.status == 0">未入仓</tetx>
<tetx v-if="billInfo.status == 1">已入仓</tetx>
<tetx v-if="billInfo.status == 2">部分入仓</tetx>
<tetx v-if="billInfo.status == 3">全部入仓</tetx>
</view> </view>
</view> </view>
<u-line margin="20rpx 0 20rpx"></u-line> <u-line margin="20rpx 0 20rpx"></u-line>
<view class="dt-item font-28"> <view class="dt-item font-28">
<view> <view>
<text class="pr-20 clr-sub">总重量:</text> <text class="pr-20 clr-sub">总重量:</text>
<text class="">30 kg</text> <text class="">{{billInfo. totalWeight }} kg</text>
</view> </view>
<view> <view>
<text class="pr-20 clr-sub">总体积:</text> <text class="pr-20 clr-sub">总体积:</text>
<text class="">30m</text> <text class="">{{billInfo.totalVolume}}m³</text>
</view> </view>
<view> <view>
<text class="pr-20 clr-sub">总件数:</text> <text class="pr-20 clr-sub">总件数:</text>
<text class="">10</text> <text class="">{{billInfo.totalParcelQty}}</text>
</view> </view>
</view> </view>
<view v-for="(item) in ydList" class="yditem">
<view class="ydi-lab">
<text class="font-weight">女士针织棉上衣</text>
<text>预报: 300</text>
</view>
<view class="ydi-lab mt-10">
<text class="clr-sub">无 12L 中国内地</text>
<text>实入仓: 0</text>
</view>
<view class="ydi-lab mt-10">
<text class="clr-prm">12 CNY</text>
</view>
</view> </view>
<view v-for="(item) in billInfo.stockInBatchList" class="dt-block" style="padding-bottom: 2rpx;">
<!-- <u-row justify="end">
<view style="display: inline-block;white-space: nowrap;" class="mt-10">
<u-row>
<u-button shape="circle" type="primary"
custom-style="height: 54rpx;margin-left: 20rpx;">进仓单</u-button>
<u-button shape="circle" type="primary" :plain="true"
custom-style="height: 54rpx;margin-left: 20rpx;">补单证资料</u-button>
</u-row>
</view>
</u-row> -->
</view>
<view v-for="(item) in jcList" class="dt-block" style="padding-bottom: 2rpx;">
<view class="dt-tle"> <view class="dt-tle">
<view class="t1">进仓单号:TAN-102032138002</view> <view class="t1">进仓单号:{{item.inNo}}</view>
<view class="t2"> <view class="t2">
<!-- <text class="clr-prm">{{'部分入仓'}}</text> --> <!-- <text class="clr-prm">{{'部分入仓'}}</text> -->
</view> </view>
@ -138,11 +75,11 @@
<view class="dt-item font-28"> <view class="dt-item font-28">
<view> <view>
<text class="pr-20 clr-sub">进仓时间:</text> <text class="pr-20 clr-sub">进仓时间:</text>
<text class="font-weight">2023-77-20 09:25</text> <text class="font-weight">{{item.entryDate}}</text>
</view> </view>
<view> <view>
<text class="pr-20 clr-sub">操作员:</text> <text class="pr-20 clr-sub">操作员:</text>
<text class="font-weight">王小明</text> <text class="font-weight">{{item.createByName}}</text>
</view> </view>
</view> </view>
@ -161,64 +98,62 @@
<view class="dt-item font-28"> <view class="dt-item font-28">
<view> <view>
<text class="pr-20 clr-sub">重量:</text> <text class="pr-20 clr-sub">重量:</text>
<text class="">30 kg</text> <text class="">{{item.totalWeight}} kg</text>
</view> </view>
<view> <view>
<text class="pr-20 clr-sub">体积:</text> <text class="pr-20 clr-sub">体积:</text>
<text class="">30m</text> <text class="">{{item.totalVolume}}m³</text>
</view> </view>
<view> <view>
<text class="pr-20 clr-sub">件数:</text> <text class="pr-20 clr-sub">件数:</text>
<text class="">10</text> <text class="">{{item.totalParcelQty}}</text>
</view> </view>
</view> </view>
<view class="dt-item font-28"> <view class="dt-item font-28">
<view> <u-row>
<text class="pr-20 clr-sub">包装类型:</text> <text class="pr-20 clr-sub">包装类型:</text>
<text class="">纸箱</text> <tpx-text-dic :value="item.packType" :list="dicData.emis_tab_packing_type"></tpx-text-dic>
</view> </u-row>
<view> <view>
<text class="pr-20 clr-sub">供应商:</text> <text class="pr-20 clr-sub">供应商:</text>
<text class="">南京制衣有限公司</text> <text class="">{{item.prepareInSupplier}}</text>
</view> </view>
</view> </view>
<view class="dt-item font-28"> <view class="dt-item font-28">
<view> <view>
<text class="pr-20 clr-sub">同行快:</text> <text class="pr-20 clr-sub">同行快:</text>
<text class="">顺丰</text> <text class="">{{item.prepareInExpress}}</text>
</view> </view>
<view> <view>
<text class="pr-20 clr-sub">快递单号:</text> <text class="pr-20 clr-sub">快递单号:</text>
<text class="">SF01023293239</text> <text class="">{{item.prepareInBillCode}}</text>
</view> </view>
</view> </view>
<view class="dt-item font-28"> <view v-if="item.blPrepareInFreight == '1'" class="dt-item font-28">
<view> <view>
<text class="pr-20 clr-sub">代垫运费:</text> <text class="pr-20 clr-sub">代垫运费:</text>
<text class="font-weight clr-prm">¥30</text> <text class="font-weight clr-prm">¥{{item.prepareInEstFee}}</text>
</view> </view>
</view> </view>
<view class="dt-item font-28"> <view class="dt-item font-28">
<view> <view>
<text class="pr-20 clr-sub">发货备注:</text> <text class="pr-20 clr-sub">发货备注:</text>
<text class=" ">需要检查下产品规格型号是否一致,请拍照</text> <text class=" ">{{item.prepareInRemark}}</text>
</view> </view>
</view> </view>
<view class="dt-item font-28" style="margin-bottom: 10rpx;"> <view class="dt-item font-28" style="margin-bottom: 10rpx;">
<view> <view>
<text class="pr-20 clr-sub">仓库收货备注:</text> <text class="pr-20 clr-sub">仓库收货备注:</text>
<text class=" ">发现有异常,见拍照图片</text> <text class=" ">{{item.remark}}</text>
</view> </view>
</view> </view>
<view class="mb-20"> <view class="mb-20">
<u-row> <u-row>
<u-image @click="handlePreviewDiDan()" :src="getCdnUrl(`mine/kjcha.png`)" width="100" height="50" mode="aspectFill" <u-image v-for="(sImgUrl, simIndex) in item.picUrl"
custom-style="margin: 20rpx 20rpx 0 0;" @click="handlePreviewImgs(item.picUrl, simIndex)" :src="sImgUrl" width="100" height="50" mode="aspectFill"
></u-image>
<u-image @click="handlePreviewDiDan()" :src="getCdnUrl(`mine/kjcha.png`)" width="100" height="50" mode="aspectFill"
custom-style="margin: 20rpx 20rpx 0 0;" custom-style="margin: 20rpx 20rpx 0 0;"
></u-image> ></u-image>
</u-row> </u-row>
@ -227,9 +162,9 @@
<u-row justify="end"> <u-row justify="end">
<view style="display: inline-block;white-space: nowrap;" class="mt-10 pb-30"> <view style="display: inline-block;white-space: nowrap;" class="mt-10 pb-30">
<u-row> <u-row>
<u-button @click="handleFeedSwitch" shape="circle" :plain="true" <u-button @click="handleDialogClick(feedModal)" shape="circle" :plain="true"
custom-style="height: 54rpx;margin-left: 20rpx;">反馈异常</u-button> custom-style="height: 54rpx;margin-left: 20rpx;">反馈异常</u-button>
<u-button shape="circle" type="primary" <u-button @click="confirmJinCang(item.inNo)" shape="circle" type="primary"
custom-style="height: 54rpx;margin-left: 20rpx;">进仓确认</u-button> custom-style="height: 54rpx;margin-left: 20rpx;">进仓确认</u-button>
</u-row> </u-row>
</view> </view>
@ -240,10 +175,10 @@
<template v-slot:footer> <template v-slot:footer>
<view class="blcok-white-noradius"> <view class="blcok-white-noradius">
<u-row justify="space-around"> <u-row justify="space-around">
<u-button @click="goto(`warehousing/pdfPreview?id=${112}`)" :plain="true" size="large" shape="circle" custom-style="margin: 0 10rpx;height:80rpx;font-size: 30rpx;" <u-button @click="handleDownloadPdf()" :plain="true" size="large" shape="circle" custom-style="margin: 0 10rpx;height:80rpx;font-size: 30rpx;"
>下载PDF >下载PDF
</u-button> </u-button>
<u-button @click="goto(`post/post?id=${222}`)" type="primary" size="large" shape="circle" custom-style="margin: 0 10rpx;height:80rpx;font-size: 30rpx;" <u-button @click="confirmJinCang()" type="primary" size="large" shape="circle" custom-style="margin: 0 10rpx;height:80rpx;font-size: 30rpx;"
>已确认可发货 >已确认可发货
</u-button> </u-button>
</u-row> </u-row>
@ -257,29 +192,36 @@
<u-input placeholder="请输入" custom-style="height: 56rpx;font-size: 28rpx;"></u-input> <u-input placeholder="请输入" custom-style="height: 56rpx;font-size: 28rpx;"></u-input>
</template> </template>
</tpx-com-dialog> </tpx-com-dialog>
</tpx-page>
</template> </template>
<script> <script>
import getCdnUrl from "@/common/getCdnUrl" import getCdnUrl from "@/common/getCdnUrl"
import { goto, goBack, setClipboardData, confirmModal, showLoading } from "@/common/untool" import { goto, goBack, setClipboardData, confirmModal, showLoading } from "@/common/untool"
import BpeAddressjiamiTmp from "@/components/buns-post-edit-templates/bpe-addressjiami-tmp"
import BpeGoodstaticTmp from "@/components/buns-post-edit-templates/bpe-goodstatic-tmp"
import * as apiService from "@/common/api"
export default { export default {
components: { BpeAddressjiamiTmp, BpeGoodstaticTmp },
props: { props: {
// hasLeftWin: { // hasLeftWin: {
// type: Boolean // type: Boolean
// } // }
}, },
computed: { computed: {
dicData() {
return this.$store.getters.dicData
},
}, },
data() { data() {
return { return {
ydList: [ pageLoading: true,
{} queryOption: {
], inNo: '', // 进仓单号
jcList: [ },
{},{},{} billInfo: {},
], postInfo: {},
feedModal: { feedModal: {
show: false show: false
} }
@ -291,31 +233,62 @@
// path: 'TODO' // path: 'TODO'
} }
}, },
onLoad(queryOption) { onLoad(option) {
this.queryOption = queryOption this.queryOption = option
this.initData(); this.initData();
}, },
onUnload() { onUnload() {
}, },
methods: { methods: {
setClipboardData, initData() {
goto, this.inNo = this.queryOption.inNo
getCdnUrl, this.inNo && (this.queryOrderDetail(this.queryOption))
initData(){
// showLoading()
}, },
handleFeedSwitch() { async queryOrderDetail(params) {
this.feedModal.show = true let res = await apiService.getWarehouseInInfo({...params, _loading: true})
}, if(!res.data) {
handleSubmitFeed() { this.showToast("进仓单号数据不存在")
this.feedModal.show = false }
}, let data = res.data || {}
handlePreviewDiDan() { data?.stockInBatchList?.map?.(t=> {
uni.previewImage({ t.picUrl && (t.picUrl = t.picUrl.split(","))
urls: [
this.getCdnUrl(`mine/kjcha.png`)
]
}) })
this.billInfo = data
if(data.billCode) {
let ores = await apiService.getOrderDetail({ billCode: data.billCode })
this.postInfo = ores.data
}
this.pageLoading = false
},
handleDialogClick(curModal){
curModal.show = !curModal.show
},
handleCopyWareHouse(){
let { intoWarehouseName, intoWarehouseContact,intoWarehousePhone, intoWarehouseAddress } = this.postInfo
let text = `仓库名称:${intoWarehouseName}\n仓库联系人:${intoWarehouseContact}\n仓库联系人电话:${intoWarehousePhone}\n仓库地址:${intoWarehouseAddress}`
this.setClipboardData(text)
},
handlePreviewImgs(list = [], index) {
uni.previewImage({
current: index,
urls: list
})
},
async handleDownloadPdf(){
let res = await apiService.exportWarehouseInTpl({ orderSn: this.postInfo.orderSn })
debugger
},
async confirmJinCang(inNo) {
// "confirmStatus": "1-确认 2-部分确认"
let confirmStatus = '2'
if(!inNo) {
confirmStatus = '1'
inNo = this.billInfo.inNo
}
let res = await apiService.cusConfirmWsIn({ inNo, _loading: true })
debugger
this.initData()
}, },
} }
} }

View File

@ -74,7 +74,7 @@
</u-row> </u-row>
<u-text margin="5rpx 0" :text="item.waybillDetail.goodsInfo" <u-text margin="5rpx 0" :text="item.waybillDetail.goodsInfo"
size="26" color="#999"></u-text> size="26" color="#999"></u-text>
<view class="mt-10" @click="handleGoDetail(item)"> <view class="mt-10" @click="handleDealItem(item)">
<u-row justify="between" align="center"> <u-row justify="between" align="center">
<u-row custom-style="flex:1;" justify="between"> <u-row custom-style="flex:1;" justify="between">
<u-col span="4"> <u-col span="4">
@ -111,9 +111,9 @@
<u-row justify="end" custom-style="margin-top:20rpx;"> <u-row justify="end" custom-style="margin-top:20rpx;">
<u-row> <u-row>
<u-button shape="circle" type="primary" :plain="true" <u-button shape="circle" type="primary" :plain="true"
@click="goto(`warehousing/pdfPreview?id=${112}`)" @click="handleDealItem(item, { type: 2 })"
custom-style="width: 180rpx;box-sizing: content-box;height: 54rpx;margin-left: 12rpx;">下载打印PDF</u-button> custom-style="width: 180rpx;box-sizing: content-box;height: 54rpx;margin-left: 12rpx;">下载打印PDF</u-button>
<u-button v-if="item.confirmStatus!=1" shape="circle" type="primary" @click="handleGoDetail(item)" <u-button v-if="item.confirmStatus!=1" shape="circle" type="primary" @click="handleDealItem(item)"
custom-style="width: 100rpx;box-sizing: content-box;height: 54rpx;margin-left: 12rpx;">去确认</u-button> custom-style="width: 100rpx;box-sizing: content-box;height: 54rpx;margin-left: 12rpx;">去确认</u-button>
</u-row> </u-row>
</u-row> </u-row>
@ -197,12 +197,15 @@
initData() { initData() {
}, },
async handleDealItem(item, deal = { type: '1' }){ async handleDealItem(item, deal = { type: 1 }){
// 下载 exportWarehouseInTpl // 下载 exportWarehouseInTpl
let itemQuery = `?billCode=${item.billCode || ''}&orderSn=${item.orderSn || ''}` let itemQuery = `?inNo=${item.inNo}`
switch (deal.type) { switch (deal.type) {
case 1: // 运单详情 case 1: // 进仓单详情
this.goto(`post/detail${itemQuery}`) this.goto(`warehousing/detail${itemQuery}`)
break;
case 2: // 下载PDF
// this.goto(`post/detail${itemQuery}`)
break; break;
default: default:
break; break;