|
|
|
@ -6,14 +6,13 @@
|
|
|
|
|
<!-- 查询模块 --> |
|
|
|
|
<el-form :inline="true" :model="query" class="header_search"> |
|
|
|
|
<!-- 收货单位 --> |
|
|
|
|
<el-form-item label="收货单位"><el-input v-model="details.query.consignee" placeholder="请输入收货单位" /></el-form-item> |
|
|
|
|
<el-form-item label="收货单位" |
|
|
|
|
><el-input v-model="details.query.consignee" placeholder="请输入收货单位" |
|
|
|
|
/></el-form-item> |
|
|
|
|
|
|
|
|
|
<!-- 审核状态 --> |
|
|
|
|
<el-form-item label="审核状态"> |
|
|
|
|
<el-select |
|
|
|
|
v-model="details.query.checkStatus" |
|
|
|
|
placeholder="请选择审核状态" |
|
|
|
|
> |
|
|
|
|
<el-select v-model="details.query.checkStatus" placeholder="请选择审核状态"> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in [ |
|
|
|
|
{ label: '已审核', value: 1 }, |
|
|
|
@ -99,9 +98,20 @@
|
|
|
|
|
@selection="selectionChange" |
|
|
|
|
> |
|
|
|
|
<template #default="slotProps"> |
|
|
|
|
<template v-if="slotProps.scope.column.label === '运单号'"> |
|
|
|
|
<el-text @click="handleGoWaybillDetails(slotProps.scope)">{{ |
|
|
|
|
slotProps.scope.row.waybillNo |
|
|
|
|
}}</el-text> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
<template v-if="slotProps.scope.column.label === '操作'"> |
|
|
|
|
<!-- <el-text @click="handleShowPackageOrderList(slotProps.scope)"> 包明细 </el-text> --> |
|
|
|
|
<el-text v-if="Number(slotProps.scope.row.checkStatus) === 0" @click="handleCheck(slotProps.scope)"> 审核 </el-text> |
|
|
|
|
<el-text |
|
|
|
|
v-if="Number(slotProps.scope.row.checkStatus) === 0" |
|
|
|
|
@click="handleCheck(slotProps.scope)" |
|
|
|
|
> |
|
|
|
|
审核 |
|
|
|
|
</el-text> |
|
|
|
|
<el-text v-else @click="handleCloseAudit(slotProps.scope)"> 取消审核 </el-text> |
|
|
|
|
<el-text @click="handleUploadReceipt(slotProps.scope)"> 上传回单 </el-text> |
|
|
|
|
</template> |
|
|
|
@ -162,7 +172,7 @@
|
|
|
|
|
</div> |
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
<!-- 审核 --> |
|
|
|
|
<!-- 审核 --> |
|
|
|
|
<el-dialog |
|
|
|
|
class="el-dialog-checkVisted" |
|
|
|
|
title="审核" |
|
|
|
@ -170,14 +180,12 @@
|
|
|
|
|
:show-close="false" |
|
|
|
|
v-model="details.popUpShow.checkVisted" |
|
|
|
|
> |
|
|
|
|
<div class="title"> |
|
|
|
|
运单号:{{ details.form.waybillNo }} |
|
|
|
|
</div> |
|
|
|
|
<div class="title">运单号:{{ details.form.waybillNo }}</div> |
|
|
|
|
<el-form label-width="100px"> |
|
|
|
|
<el-form-item label="审核意见:"> |
|
|
|
|
<el-input placeholder="请输入审核意见" v-model="details.form.checkReson"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-form-item label="审核备注:"> |
|
|
|
|
<el-input placeholder="请输入审核备注" v-model="details.form.checkRemark"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
@ -208,8 +216,11 @@ import {
|
|
|
|
|
getopenOrderAdvancePageList, |
|
|
|
|
postOpenOrderFreezeByAdvanceIds, |
|
|
|
|
} from '@/api/waybill/TemporaryStorageList'; |
|
|
|
|
import { postPageFinanceWaybillList,postFinanceWaybillListExport } from '@/api/finance/WaybillAudit'; |
|
|
|
|
import { postCheckWaybill,postCancleCheckWaybill } from '@/api/distribution/CreateOrder.js'; |
|
|
|
|
import { |
|
|
|
|
postPageFinanceWaybillList, |
|
|
|
|
postFinanceWaybillListExport, |
|
|
|
|
} from '@/api/finance/WaybillAudit'; |
|
|
|
|
import { postCheckWaybill, postCancleCheckWaybill } from '@/api/distribution/CreateOrder.js'; |
|
|
|
|
import { compressImageBlob } from '@/components/IMGcompressor/imgcompressor.js'; |
|
|
|
|
import { postAbolishWaybill, postSaveWaybillReturn } from '@/api/waybill/WaybillOrderList.js'; |
|
|
|
|
import { |
|
|
|
@ -282,7 +293,7 @@ const details = reactive<any>({
|
|
|
|
|
/** 回单 */ |
|
|
|
|
view: false, |
|
|
|
|
/** 审核 */ |
|
|
|
|
checkVisted: false |
|
|
|
|
checkVisted: false, |
|
|
|
|
}, |
|
|
|
|
/** 列表复选框选中的数据 */ |
|
|
|
|
selectionList: [], |
|
|
|
@ -329,18 +340,18 @@ const onLoad = async () => {
|
|
|
|
|
...details.query, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
if (getObjType(submitData.createTimeArr) === 'array' && submitData.createTimeArr.length > 0){ |
|
|
|
|
submitData.createTimeStartStr = submitData.createTimeArr[0] |
|
|
|
|
submitData.createTimeEndStr = submitData.createTimeArr[1] |
|
|
|
|
if (getObjType(submitData.createTimeArr) === 'array' && submitData.createTimeArr.length > 0) { |
|
|
|
|
submitData.createTimeStartStr = submitData.createTimeArr[0]; |
|
|
|
|
submitData.createTimeEndStr = submitData.createTimeArr[1]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (getObjType(submitData.checkTimeArr) === 'array' && submitData.checkTimeArr.length > 0){ |
|
|
|
|
submitData.checkTimeStartStr = submitData.checkTimeArr[0] |
|
|
|
|
submitData.checkTimeEndStr = submitData.checkTimeArr[1] |
|
|
|
|
if (getObjType(submitData.checkTimeArr) === 'array' && submitData.checkTimeArr.length > 0) { |
|
|
|
|
submitData.checkTimeStartStr = submitData.checkTimeArr[0]; |
|
|
|
|
submitData.checkTimeEndStr = submitData.checkTimeArr[1]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
delete submitData.createTimeArr |
|
|
|
|
delete submitData.checkTimeArr |
|
|
|
|
delete submitData.createTimeArr; |
|
|
|
|
delete submitData.checkTimeArr; |
|
|
|
|
|
|
|
|
|
// 获取暂存单列表 |
|
|
|
|
const res = await postPageFinanceWaybillList(submitData); |
|
|
|
@ -377,28 +388,28 @@ const handleData = (key, res) => {
|
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const initData = async()=>{ |
|
|
|
|
await Promise.all([ |
|
|
|
|
const initData = async () => { |
|
|
|
|
await Promise.all([ |
|
|
|
|
// 服务类型 |
|
|
|
|
getDictionaryBiz('distribution_type').then(res => handleData('服务类型', res)), |
|
|
|
|
// 送货方式 |
|
|
|
|
getDictionaryBiz('mainline_waybill_shippingmethod').then(res => handleData('服务类型', res)), |
|
|
|
|
// 支付方式 |
|
|
|
|
getDictionaryBiz('open_order_pay_type').then(res => handleData('支付方式', res)), |
|
|
|
|
getDictionaryBiz('open_order_pay_type').then(res => handleData('支付方式', res)), |
|
|
|
|
// 付款方式 |
|
|
|
|
getDictionaryBiz('open_order_pay_way').then(res => handleData('付款方式', res)), |
|
|
|
|
initOnLoad() |
|
|
|
|
]) |
|
|
|
|
initOnLoad(), |
|
|
|
|
]); |
|
|
|
|
|
|
|
|
|
await nextTick(); |
|
|
|
|
handleTranslationDataSeclect(details.data, details.columnList); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/** 初始化请求 */ |
|
|
|
|
const initOnLoad = () => { |
|
|
|
|
details.page.pageNum = 1; |
|
|
|
|
details.page.total = 0; |
|
|
|
|
return onLoad() |
|
|
|
|
return onLoad(); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
initData(); |
|
|
|
@ -471,20 +482,20 @@ const currentChange = pageNum => {
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/** 审核 */ |
|
|
|
|
const handleCheck = ({row})=>{ |
|
|
|
|
details.form = { ...row } |
|
|
|
|
const handleCheck = ({ row }) => { |
|
|
|
|
details.form = { ...row }; |
|
|
|
|
details.popUpShow.checkVisted = true; |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/** 确认审核审核 */ |
|
|
|
|
const handleAudit =async () => { |
|
|
|
|
details.popUpShow.checkVisted = false |
|
|
|
|
const handleAudit = async () => { |
|
|
|
|
details.popUpShow.checkVisted = false; |
|
|
|
|
details.loadingObj.pageLoading = true; |
|
|
|
|
try { |
|
|
|
|
const res = await postCheckWaybill({ |
|
|
|
|
waybillId: details.form.id, |
|
|
|
|
const res = await postCheckWaybill({ |
|
|
|
|
waybillId: details.form.id, |
|
|
|
|
checkReson: details.form.checkReson || '', |
|
|
|
|
checkRemark: details.form.checkRemark || '' |
|
|
|
|
checkRemark: details.form.checkRemark || '', |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
const { code, msg } = res.data; |
|
|
|
@ -501,16 +512,16 @@ const handleAudit =async () => {
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/** 取消审核 */ |
|
|
|
|
const handleCloseAudit = ({row}) => { |
|
|
|
|
const handleCloseAudit = ({ row }) => { |
|
|
|
|
ElMessageBox.confirm('是否确认取消审核?', '提示', { |
|
|
|
|
confirmButtonText: '确定', |
|
|
|
|
cancelButtonText: '取消', |
|
|
|
|
type: 'warning', |
|
|
|
|
}).then(async() => { |
|
|
|
|
}).then(async () => { |
|
|
|
|
details.loadingObj.pageLoading = true; |
|
|
|
|
try { |
|
|
|
|
const res = await postCancleCheckWaybill({ |
|
|
|
|
waybillId: row.id, |
|
|
|
|
const res = await postCancleCheckWaybill({ |
|
|
|
|
waybillId: row.id, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
const { code, msg } = res.data; |
|
|
|
@ -574,39 +585,53 @@ const handleExport = () => {
|
|
|
|
|
confirmButtonText: '确定', |
|
|
|
|
cancelButtonText: '取消', |
|
|
|
|
type: 'warning', |
|
|
|
|
}).then(async() => { |
|
|
|
|
}).then(async () => { |
|
|
|
|
try { |
|
|
|
|
details.loadingObj.pageLoading = true |
|
|
|
|
details.loadingObj.pageLoading = true; |
|
|
|
|
|
|
|
|
|
const submitData= {...details.query} |
|
|
|
|
const submitData = { ...details.query }; |
|
|
|
|
|
|
|
|
|
if (getObjType(submitData.createTimeArr) === 'array' && submitData.createTimeArr.length > 0){ |
|
|
|
|
submitData.createTimeStartStr = submitData.createTimeArr[0] |
|
|
|
|
submitData.createTimeEndStr = submitData.createTimeArr[1] |
|
|
|
|
if (getObjType(submitData.createTimeArr) === 'array' && submitData.createTimeArr.length > 0) { |
|
|
|
|
submitData.createTimeStartStr = submitData.createTimeArr[0]; |
|
|
|
|
submitData.createTimeEndStr = submitData.createTimeArr[1]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (getObjType(submitData.checkTimeArr) === 'array' && submitData.checkTimeArr.length > 0){ |
|
|
|
|
submitData.checkTimeStartStr = submitData.checkTimeArr[0] |
|
|
|
|
submitData.checkTimeEndStr = submitData.checkTimeArr[1] |
|
|
|
|
if (getObjType(submitData.checkTimeArr) === 'array' && submitData.checkTimeArr.length > 0) { |
|
|
|
|
submitData.checkTimeStartStr = submitData.checkTimeArr[0]; |
|
|
|
|
submitData.checkTimeEndStr = submitData.checkTimeArr[1]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
delete submitData.createTimeArr |
|
|
|
|
delete submitData.checkTimeArr |
|
|
|
|
delete submitData.createTimeArr; |
|
|
|
|
delete submitData.checkTimeArr; |
|
|
|
|
|
|
|
|
|
const res = await postFinanceWaybillListExport(submitData); |
|
|
|
|
|
|
|
|
|
const res = await postFinanceWaybillListExport(submitData) |
|
|
|
|
|
|
|
|
|
const {status, data} = res |
|
|
|
|
if (status !== 200) return |
|
|
|
|
downloadXls(data, '审核导出数据.xlsx') |
|
|
|
|
const { status, data } = res; |
|
|
|
|
if (status !== 200) return; |
|
|
|
|
downloadXls(data, '审核导出数据.xlsx'); |
|
|
|
|
|
|
|
|
|
ElMessage.success('导出成功!'); |
|
|
|
|
} catch (error) { |
|
|
|
|
console.log('error :>> ', error); |
|
|
|
|
}finally{ |
|
|
|
|
details.loadingObj.pageLoading = false |
|
|
|
|
} finally { |
|
|
|
|
details.loadingObj.pageLoading = false; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** 查看运单 */ |
|
|
|
|
const handleGoWaybillDetails = ({ row }) => { |
|
|
|
|
if (row.waybillNo === '————' || !row.id) return ElMessage.warning('暂无运单号'); |
|
|
|
|
|
|
|
|
|
console.log('row :>> ', row); |
|
|
|
|
$router.push({ |
|
|
|
|
path: '/distribution/inventory/BookingNote', |
|
|
|
|
query: { |
|
|
|
|
name: `查看 -- 【${row.waybillNo}】`, |
|
|
|
|
waybillNo: row.waybillNo, |
|
|
|
|
id: row.id, |
|
|
|
|
waybillType: row.waybillType, |
|
|
|
|
}, |
|
|
|
|
}); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
@ -691,8 +716,8 @@ const handlePictureCardPreview: UploadProps['onPreview'] = uploadFile => {
|
|
|
|
|
height: 100% !important; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.el-dialog-checkVisted{ |
|
|
|
|
.title{ |
|
|
|
|
.el-dialog-checkVisted { |
|
|
|
|
.title { |
|
|
|
|
display: flex; |
|
|
|
|
align-items: center; |
|
|
|
|
font-weight: bold; |
|
|
|
@ -700,7 +725,7 @@ const handlePictureCardPreview: UploadProps['onPreview'] = uploadFile => {
|
|
|
|
|
font-size: 1rem; |
|
|
|
|
color: var(--el-color-primary); |
|
|
|
|
|
|
|
|
|
&::before{ |
|
|
|
|
&::before { |
|
|
|
|
content: ''; |
|
|
|
|
width: 40px; |
|
|
|
|
height: 1px; |
|
|
|
@ -708,7 +733,7 @@ const handlePictureCardPreview: UploadProps['onPreview'] = uploadFile => {
|
|
|
|
|
margin-right: 10px; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
&::after{ |
|
|
|
|
&::after { |
|
|
|
|
content: ''; |
|
|
|
|
flex: 1; |
|
|
|
|
height: 1px; |
|
|
|
|