Browse Source

修复部分bug

dev-xx
qb 10 months ago
parent
commit
577996dc03
  1. 14
      src/api/finance/MerchantDepositSlip.js
  2. 5
      src/api/finance/WaybillAudit.js
  3. 237
      src/option/finance/MerchantDepositSlip.js
  4. 10
      src/views/distribution/artery/directGoMarketDetails.vue
  5. 23
      src/views/distribution/artery/zeroAdditionalRecording.vue
  6. 21
      src/views/distribution/inventory/BookingNote.vue
  7. 24
      src/views/distribution/inventory/CreateOrder.vue
  8. 382
      src/views/finance/MerchantDepositSlip.vue
  9. 627
      src/views/finance/TransactionInformation.vue
  10. 24
      src/views/waybill/CreateZeroOrder.vue

14
src/api/finance/MerchantDepositSlip.js

@ -0,0 +1,14 @@
import request from '@/axios';
/**
* 获取运单对账单数据
* @param {*} data
* @returns
*/
export const postPageList = data => {
return request({
url: '/api/logpm-statisticsdata-zhy/merchantStatistics/pageList',
method: 'post',
data,
});
};

5
src/api/finance/WaybillAudit.js

@ -1,5 +1,10 @@
import request from '@/axios'; import request from '@/axios';
/**
* 查询运单审核数据
* @param {*} data
* @returns
*/
export const postPageFinanceWaybillList = data => { export const postPageFinanceWaybillList = data => {
return request({ return request({
url: '/api/logpm-warehouse/warehouseWaybill/pageFinanceWaybillList', url: '/api/logpm-warehouse/warehouseWaybill/pageFinanceWaybillList',

237
src/option/finance/MerchantDepositSlip.js

@ -37,7 +37,7 @@ export const columnList = [
head: false, head: false,
}, },
{ {
prop: 'orderCode', prop: 'orderNo',
label: '订单编号', label: '订单编号',
type: 1, type: 1,
values: '', values: '',
@ -48,7 +48,7 @@ export const columnList = [
head: false, head: false,
}, },
{ {
prop: 'createTime', prop: 'shipper',
label: '发货单位', label: '发货单位',
type: 1, type: 1,
values: '', values: '',
@ -59,7 +59,7 @@ export const columnList = [
head: false, head: false,
}, },
{ {
prop: 'userName', prop: 'consignee',
label: '收货单位', label: '收货单位',
type: 1, type: 1,
values: '', values: '',
@ -69,30 +69,30 @@ export const columnList = [
sortable: true, sortable: true,
head: false, head: false,
}, },
// {
// prop: 'templateType',
// label: '运单类型',
// type: 1,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'templateType',
// label: '服务类型',
// type: 1,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// head: false,
// },
{ {
prop: 'templateType', prop: 'waybillStatus',
label: '运单类型',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'templateType',
label: '服务类型',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'templateType',
label: '运单状态', label: '运单状态',
type: 1, type: 1,
values: '', values: '',
@ -102,19 +102,19 @@ export const columnList = [
sortable: true, sortable: true,
head: false, head: false,
}, },
// {
// prop: 'templateType',
// label: '运单标识',
// type: 1,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// head: false,
// },
{ {
prop: 'templateType', prop: 'openTime',
label: '运单标识',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'templateType',
label: '开单时间', label: '开单时间',
type: 1, type: 1,
values: '', values: '',
@ -125,7 +125,7 @@ export const columnList = [
head: false, head: false,
}, },
{ {
prop: 'templateType', prop: 'goodsName',
label: '货物品类', label: '货物品类',
type: 1, type: 1,
values: '', values: '',
@ -135,30 +135,30 @@ export const columnList = [
sortable: true, sortable: true,
head: false, head: false,
}, },
// {
// prop: 'templateType',
// label: '品类件数',
// type: 1,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'templateType',
// label: '品类数',
// type: 1,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// head: false,
// },
{ {
prop: 'templateType', prop: 'totalcount',
label: '品类件数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'templateType',
label: '品类数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'templateType',
label: '总件数', label: '总件数',
type: 1, type: 1,
values: '', values: '',
@ -169,7 +169,7 @@ export const columnList = [
head: false, head: false,
}, },
{ {
prop: 'templateType', prop: 'totalWeight',
label: '总重量', label: '总重量',
type: 1, type: 1,
values: '', values: '',
@ -180,7 +180,7 @@ export const columnList = [
head: false, head: false,
}, },
{ {
prop: 'templateType', prop: 'totalVolume',
label: '总体积', label: '总体积',
type: 1, type: 1,
values: '', values: '',
@ -191,7 +191,7 @@ export const columnList = [
head: false, head: false,
}, },
{ {
prop: 'templateType', prop: 'openFee',
label: '开单总费用', label: '开单总费用',
type: 1, type: 1,
values: '', values: '',
@ -201,9 +201,53 @@ export const columnList = [
sortable: true, sortable: true,
head: false, head: false,
}, },
// {
// prop: 'templateType',
// label: '预对账金额',
// type: 1,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'templateType',
// label: '干线品类单价',
// type: 1,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'templateType',
// label: '仓储品类单价',
// type: 1,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// head: false,
// },
// {
// prop: 'templateType',
// label: '配送品类单价',
// type: 1,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// head: false,
// },
{ {
prop: 'templateType', prop: 'pickupFee',
label: '预对账金额', label: '开单提货费',
type: 1, type: 1,
values: '', values: '',
width: '150', width: '150',
@ -213,52 +257,8 @@ export const columnList = [
head: false, head: false,
}, },
{ {
prop: 'templateType', prop: 'realPickupFee',
label: '干线品类单价', label: '实际提货费',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'templateType',
label: '仓储品类单价',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'templateType',
label: '配送品类单价',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'templateType',
label: '提货费',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'templateType',
label: '干线费',
type: 1, type: 1,
values: '', values: '',
width: '150', width: '150',
@ -267,6 +267,17 @@ export const columnList = [
sortable: true, sortable: true,
head: false, head: false,
}, },
// {
// prop: 'templateType',
// label: '干线费',
// type: 1,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// head: false,
// },
{ {
prop: 'templateType', prop: 'templateType',
label: '在库周期', label: '在库周期',

10
src/views/distribution/artery/directGoMarketDetails.vue

@ -167,11 +167,11 @@
background background
@size-change="size => sizeChange(size, 2)" @size-change="size => sizeChange(size, 2)"
@current-change="current => currentChange(current, 2)" @current-change="current => currentChange(current, 2)"
:current-page="page.pageNum" :current-page="details.detailsInfo.page.pageNum"
:page-sizes="[30, 50, 80, 120]" :page-sizes="[30, 50, 80, 120]"
:page-size="page.pageSize" :page-size="details.detailsInfo.page.pageSize"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:total="page.total" :total="details.detailsInfo.page.total"
> >
</el-pagination> </el-pagination>
</div> </div>
@ -614,7 +614,7 @@ const onLoadDetails = async (params = {} as any) => {
// //
const res = await postFindSignOrderDetailList({ const res = await postFindSignOrderDetailList({
...details.page, ...details.detailsInfo.page,
...details.query, ...details.query,
signOrderId: details.showDetailsSiginOrder.id, signOrderId: details.showDetailsSiginOrder.id,
...params, ...params,
@ -633,7 +633,7 @@ const onLoadDetails = async (params = {} as any) => {
initData('isSupple', iterator); initData('isSupple', iterator);
} }
details.page.total = data.total; details.detailsInfo.page.total = data.total;
} catch (error) { } catch (error) {
console.log('error :>> ', error); console.log('error :>> ', error);
} finally { } finally {

23
src/views/distribution/artery/zeroAdditionalRecording.vue

@ -405,7 +405,7 @@ const onLoad = debounce(async (params = {}) => {
try { try {
details.loadingObj.oldListLoading = true; details.loadingObj.oldListLoading = true;
const submitData = { const submitData = {
...details.page, ...details.oldPage,
...details.oldQuery, ...details.oldQuery,
orderCodes: details.orderCodeList, orderCodes: details.orderCodeList,
...params, ...params,
@ -417,7 +417,9 @@ const onLoad = debounce(async (params = {}) => {
if (code !== 200) return; if (code !== 200) return;
details.oldData = data.records; details.oldData = data.records;
details.page.total = data.total; details.oldPage.total = data.total;
handleFilterData();
} catch (error) { } catch (error) {
console.log('error :>> ', error); console.log('error :>> ', error);
} finally { } finally {
@ -437,7 +439,7 @@ const searchChange = () => {
const searchReset = () => { const searchReset = () => {
details.query = {}; details.query = {};
details.stockupDate = []; details.stockupDate = [];
details.page.pageNum = 1; details.oldPage.pageNum = 1;
onLoad(); onLoad();
}; };
@ -580,7 +582,7 @@ const newSelectionChange = (list: any) => {
/** 每页数量改变执行的回调 */ /** 每页数量改变执行的回调 */
const sizeChange = (pageSize: number) => { const sizeChange = (pageSize: number) => {
details.page.pageSize = pageSize; details.oldPage.pageSize = pageSize;
onLoad(); onLoad();
}; };
@ -628,7 +630,7 @@ const handleAddWaybill = () => {
...new Set([...details.orderCodeList, ...details.oldSelectionList.map(val => val.orderCode)]), ...new Set([...details.orderCodeList, ...details.oldSelectionList.map(val => val.orderCode)]),
]; ];
details.page.pageNum = 1; details.oldPage.pageNum = 1;
onLoad(); onLoad();
} }
}; };
@ -639,6 +641,9 @@ const handleRemoveWaybill = () => {
details.newData = details.newData.filter((val, index) => { details.newData = details.newData.filter((val, index) => {
const _flag = !details.newSelectionList.includes(val); const _flag = !details.newSelectionList.includes(val);
console.log('_flag :>> ', _flag);
console.log('details.orderCodeList :>> ', details.orderCodeList);
if (!_flag) { if (!_flag) {
const _code = val.orderCode + ',' + val.waybillNo; const _code = val.orderCode + ',' + val.waybillNo;
const _index = details.orderCodeList.indexOf(_code); const _index = details.orderCodeList.indexOf(_code);
@ -648,7 +653,9 @@ const handleRemoveWaybill = () => {
return _flag; return _flag;
}); });
details.page.pageNum = 1; handleFilterData()
details.oldPage.pageNum = 1;
onLoad(); onLoad();
}; };
@ -657,7 +664,7 @@ const handleRefresh = () => {
details.newData = []; details.newData = [];
details.newSelectionList = []; details.newSelectionList = [];
details.orderCodeList = []; details.orderCodeList = [];
details.page.pageNum = 1; details.oldPage.pageNum = 1;
onLoad(); onLoad();
}; };
@ -686,7 +693,7 @@ const handleAdd = (warehouseName, finalNodeId) => {
...new Set([...details.orderCodeList, ...details.oldSelectionList.map(val => val.orderCode)]), ...new Set([...details.orderCodeList, ...details.oldSelectionList.map(val => val.orderCode)]),
]; ];
details.page.pageNum = 1; details.oldPage.pageNum = 1;
onLoad(); onLoad();
details.showPopUpObj.editNodeIdDialogVisible = false; details.showPopUpObj.editNodeIdDialogVisible = false;

21
src/views/distribution/inventory/BookingNote.vue

@ -1828,13 +1828,26 @@ const handlePrint = async () => {
const { code, data } = res.data; const { code, data } = res.data;
if (code !== 200 || !data || data.length === 0) return; if (code !== 200 || !data || data.length === 0) return;
let _html = ''; let _html = '';
for (let i = 0; i < data.length; i++) { if (getObjType(data) !== 'object') return;
const value = data[i];
for (const key in data) {
const element = data[key];
for (let i = 0; i < element.length; i++) {
const value = element[i];
_html += JSON.parse(JSON.stringify(value.templateHtml)); let template = value.templateHtml;
console.log('value.templateHtml :>> ', value.templateHtml);
template = template.replace('第n页', `${i + 1}`);
template = template.replace('共n页', `${element.length}`);
template = template.replaceAll('0.00', ``);
_html += JSON.parse(JSON.stringify(template));
}
} }
console.log('res :>> ', res); console.log('res :>> ', res);

24
src/views/distribution/inventory/CreateOrder.vue

@ -1329,6 +1329,8 @@ const details = reactive<any>({
/** 回付 */ /** 回付 */
huiPay: 0, huiPay: 0,
huilaiPay: 0, huilaiPay: 0,
/** 回扣 */
rebate: 0,
/** 三方操作费 */ /** 三方操作费 */
thirdOperationFee: 0, thirdOperationFee: 0,
/** 送货方式 */ /** 送货方式 */
@ -2647,7 +2649,7 @@ const handleTrunkLinePrice = (trunkLine, template) => {
for (let i = 0; i < details.goodsList.length; i++) { for (let i = 0; i < details.goodsList.length; i++) {
const value = details.goodsList[i]; const value = details.goodsList[i];
if (value.subtotalFreight) _total += computeNumber(_total, '+', value.subtotalFreight).result; if (value.subtotalFreight) _total = computeNumber(_total, '+', value.subtotalFreight).result;
} }
// //
@ -3344,10 +3346,24 @@ const handlePrint = async () => {
let _html = ''; let _html = '';
for (let i = 0; i < data.length; i++) { if (getObjType(data) !== 'object') return;
const value = data[i];
_html += JSON.parse(JSON.stringify(value.templateHtml)); for (const key in data) {
const element = data[key];
for (let i = 0; i < element.length; i++) {
const value = element[i];
let template = value.templateHtml;
console.log('value.templateHtml :>> ', value.templateHtml);
template = template.replace('第n页', `${i + 1}`);
template = template.replace('共n页', `${element.length}`);
template = template.replaceAll('0.00', ``);
_html += JSON.parse(JSON.stringify(template));
}
} }
console.log('res :>> ', res); console.log('res :>> ', res);

382
src/views/finance/MerchantDepositSlip.vue

@ -1,98 +1,207 @@
<template> <template>
<basic-container v-loading="details.loadingObj.pageLoading"> <basic-container v-loading="details.loadingObj.pageLoading">
<div class="avue-crud"> <div class="avue-crud">
<!-- 搜索模块 --> <el-tabs type="border-card" v-model="details.pageStatus" @tab-click="handleClickTab">
<div v-h5uShow="!search"> <!-- toB -->
<!-- 查询模块 --> <el-tab-pane :name="1" label="toB订单对账">
<el-form :inline="true" :model="query" class="header_search"> <!-- 搜索模块 -->
<el-form-item label="交期:" class="el-times"> <div v-h5uShow="!search">
<el-date-picker <!-- 查询模块 -->
v-model="stockupDate" <el-form :inline="true" :model="details.query1" class="header_search">
type="daterange" <el-form-item label="交期:" class="el-times">
unlink-panels <el-date-picker
range-separator="至" v-model="stockupDate"
start-placeholder="开始时间" type="daterange"
end-placeholder="结束时间" unlink-panels
:shortcuts="shortcuts" range-separator="至"
value-format="YYYY-MM-DD" start-placeholder="开始时间"
clearable end-placeholder="结束时间"
/> :shortcuts="shortcuts"
</el-form-item> value-format="YYYY-MM-DD"
clearable
<el-form-item label="创建时间:" class="el-times"> />
<el-date-picker </el-form-item>
v-model="stockupDate"
type="daterange" <el-form-item label="创建时间:" class="el-times">
unlink-panels <el-date-picker
range-separator="至" v-model="stockupDate"
start-placeholder="开始时间" type="daterange"
end-placeholder="结束时间" unlink-panels
:shortcuts="shortcuts" range-separator="至"
value-format="YYYY-MM-DD" start-placeholder="开始时间"
clearable end-placeholder="结束时间"
/> :shortcuts="shortcuts"
</el-form-item> value-format="YYYY-MM-DD"
<!-- 查询按钮 --> clearable
<el-form-item> />
<el-button type="primary" icon="el-icon-search" @click="searchChange"> </el-button> </el-form-item>
<el-button icon="el-icon-delete" @click="searchReset"> </el-button> <!-- 查询按钮 -->
</el-form-item> <el-form-item>
</el-form> <el-button type="primary" icon="el-icon-search" @click="searchChange"
</div> > </el-button
>
<div class="avue-crud__header"> <el-button icon="el-icon-delete" @click="searchReset"> </el-button>
<!-- 头部左侧按钮模块 --> </el-form-item>
<div class="avue-crud__left"> </el-form>
<!-- 审核 --> </div>
<el-button type="primary" icon="Stamp" @click="handleAudit">对账单确认</el-button>
<div class="avue-crud__header">
<!-- 导出 --> <!-- 头部左侧按钮模块 -->
<el-button type="primary" icon="Download" @click="handleExport"> </el-button> <div class="avue-crud__left">
</div> <!-- 审核 -->
<!-- 头部右侧按钮模块 --> <el-button type="primary" icon="Stamp" @click="handleConfirm">对账单确认</el-button>
<div class="avue-crud__right">
<el-button icon="el-icon-refresh" @click="searchChange" circle></el-button> <!-- 导出 -->
<el-button icon="Operation" @click="showdrawer(true)" circle></el-button> <el-button type="primary" icon="Download" @click="handleExport"> </el-button>
<el-button icon="Search" @click="searchHide" circle></el-button> </div>
</div> <!-- 头部右侧按钮模块 -->
</div> <div class="avue-crud__right">
<el-button icon="el-icon-refresh" @click="searchChange" circle></el-button>
<!-- 表格 --> <el-button icon="Operation" @click="showdrawer(true)" circle></el-button>
<tablecmt <el-button icon="Search" @click="searchHide" circle></el-button>
ref="tableNodeRef" </div>
:columnList="details.columnList" </div>
:tableData="details.data"
:loading="details.loadingObj.list" <!-- 表格 -->
@inputTxt="inputsc" <tablecmt
@timeCheck="timesc" ref="tableNodeRef1"
@selectCheck="selectsc" :columnList="details.columnList1"
@selection="selectionChange" :tableData="details.data"
> :loading="details.loadingObj.list"
<template #default="slotProps"> @inputTxt="inputsc"
<template v-if="slotProps.scope.column.label === '操作'"> @timeCheck="timesc"
<!-- <el-text @click="handleShowPackageOrderList(slotProps.scope)"> 包明细 </el-text> --> @selectCheck="selectsc"
<el-text @click="() => ViewTransactionInformation(slotProps.scope)"> 异动信息 </el-text> @selection="selectionChange"
</template> >
</template> <template #default="slotProps">
</tablecmt> <template v-if="slotProps.scope.column.label === '操作'">
<!-- <el-text @click="handleShowPackageOrderList(slotProps.scope)"> 包明细 </el-text> -->
<!-- 分页模块 --> <el-text @click="() => ViewTransactionInformation(slotProps.scope)">
<div class="avue-crud__pagination flex-c-sb" style="width: 100%"> 异动信息
<div style="font-size: 14px">勾选数量: {{ selectionList.length }}</div> </el-text>
<!-- 分页模块 --> </template>
<el-pagination </template>
align="right" </tablecmt>
background
@size-change="sizeChange" <!-- 分页模块 -->
@current-change="currentChange" <div class="avue-crud__pagination flex-c-sb" style="width: 100%">
:current-page="page.currentPage" <div style="font-size: 14px">勾选数量: {{ selectionList.length }}</div>
:page-sizes="[30, 50, 80, 120]" <!-- 分页模块 -->
:page-size="page.pageSize" <el-pagination
layout="total, sizes, prev, pager, next, jumper" align="right"
:total="page.total" background
> @size-change="sizeChange"
</el-pagination> @current-change="currentChange"
</div> :current-page="page.pageNum"
:page-sizes="[30, 50, 80, 120]"
:page-size="page.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="page.total"
>
</el-pagination>
</div>
</el-tab-pane>
<!-- toC -->
<el-tab-pane :name="2" label="toC订单对账">
<!-- 搜索模块 -->
<div v-h5uShow="!search">
<!-- 查询模块 -->
<el-form :inline="true" :model="details.query2" class="header_search">
<el-form-item label="交期:" class="el-times">
<el-date-picker
v-model="stockupDate"
type="daterange"
unlink-panels
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间"
:shortcuts="shortcuts"
value-format="YYYY-MM-DD"
clearable
/>
</el-form-item>
<el-form-item label="创建时间:" class="el-times">
<el-date-picker
v-model="stockupDate"
type="daterange"
unlink-panels
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间"
:shortcuts="shortcuts"
value-format="YYYY-MM-DD"
clearable
/>
</el-form-item>
<!-- 查询按钮 -->
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="searchChange"
> </el-button
>
<el-button icon="el-icon-delete" @click="searchReset"> </el-button>
</el-form-item>
</el-form>
</div>
<div class="avue-crud__header">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<!-- 审核 -->
<el-button type="primary" icon="Stamp" @click="handleConfirm">对账单确认</el-button>
<!-- 导出 -->
<el-button type="primary" icon="Download" @click="handleExport"> </el-button>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
<el-button icon="el-icon-refresh" @click="searchChange" circle></el-button>
<el-button icon="Operation" @click="showdrawer(true)" circle></el-button>
<el-button icon="Search" @click="searchHide" circle></el-button>
</div>
</div>
<!-- 表格 -->
<tablecmt
ref="tableNodeRef2"
:columnList="details.columnList1"
:tableData="details.data"
:loading="details.loadingObj.list"
@inputTxt="inputsc"
@timeCheck="timesc"
@selectCheck="selectsc"
@selection="selectionChange"
>
<template #default="slotProps">
<template v-if="slotProps.scope.column.label === '操作'">
<!-- <el-text @click="handleShowPackageOrderList(slotProps.scope)"> 包明细 </el-text> -->
<el-text @click="() => ViewTransactionInformation(slotProps.scope)">
异动信息
</el-text>
</template>
</template>
</tablecmt>
<!-- 分页模块 -->
<div class="avue-crud__pagination flex-c-sb" style="width: 100%">
<div style="font-size: 14px">勾选数量: {{ selectionList.length }}</div>
<!-- 分页模块 -->
<el-pagination
align="right"
background
@size-change="sizeChange"
@current-change="currentChange"
:current-page="page.pageNum"
:page-sizes="[30, 50, 80, 120]"
:page-size="page.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="page.total"
>
</el-pagination>
</div>
</el-tab-pane>
</el-tabs>
</div> </div>
</basic-container> </basic-container>
@ -100,7 +209,7 @@
<edittablehead <edittablehead
@closce="showdrawer" @closce="showdrawer"
:drawerShow="drawerShow" :drawerShow="drawerShow"
v-model="details.columnList" v-model="details.columnList1"
></edittablehead> ></edittablehead>
</template> </template>
@ -115,6 +224,7 @@ import {
getopenOrderAdvancePageList, getopenOrderAdvancePageList,
postOpenOrderFreezeByAdvanceIds, postOpenOrderFreezeByAdvanceIds,
} from '@/api/waybill/TemporaryStorageList'; } from '@/api/waybill/TemporaryStorageList';
import { postPageList } from '@/api/finance/MerchantDepositSlip';
import { import {
downloadXls, downloadXls,
setNodeHeight, setNodeHeight,
@ -135,7 +245,10 @@ const details = reactive<any>({
/** 是否开启搜索 */ /** 是否开启搜索 */
search: true, search: true,
/** 表格搜索条件 */ /** 表格搜索条件 */
query: {}, /** toB */
query1: {},
/** toC */
query2: {},
/** 时间快捷选择设置 */ /** 时间快捷选择设置 */
shortcuts: [ shortcuts: [
{ {
@ -169,7 +282,10 @@ const details = reactive<any>({
/** 时间选择器数据 */ /** 时间选择器数据 */
stockupDate: [], stockupDate: [],
/** 列表 */ /** 列表 */
columnList: deepClone(columnList), /** toB */
columnList1: deepClone(columnList),
/** toC */
columnList2: deepClone(columnList),
/** 列表数据 */ /** 列表数据 */
data: [], data: [],
/** 页面loading */ /** 页面loading */
@ -184,29 +300,30 @@ const details = reactive<any>({
drawerShow: false, drawerShow: false,
/** 分页参数 */ /** 分页参数 */
page: { page: {
currentPage: 1, pageNum: 1,
pageSize: 30, pageSize: 30,
total: 0, total: 0,
}, },
/** 列表Dom节点 */
listNode: '',
form: {}, form: {},
/** 页面激活状态 : 1 -- toB; 2 -- toC */
pageStatus: 1 as 1 | 2,
}); });
const tableNodeRef = ref(); const tableNodeRef1 = ref();
const tableNodeRef2 = ref();
const { search, query, shortcuts, stockupDate, selectionList, drawerShow, page } = toRefs(details); const { search, shortcuts, stockupDate, selectionList, drawerShow, page } = toRefs(details);
/** vuex */ /** vuex */
const permission = computed(() => mapGetters(['permission', 'tagWel', 'tagList'])); const permission = computed(() => mapGetters(['permission', 'tagWel', 'tagList']));
console.log('permission :>> ', permission); console.log('permission :>> ', permission);
onMounted(() => { onMounted(async () => {
const timer = setTimeout(() => { await nextTick();
details.listNode = document.querySelector('.maboxhi');
details.listNode.style.transition = 'all .5s ease-out'; const node = details.pageStatus === 1 ? tableNodeRef1.value.$el : tableNodeRef2.value.$el;
clearTimeout(timer);
}, 100); setNodeHeight(node, '', true);
}); });
/** 请求页面数据 */ /** 请求页面数据 */
@ -215,8 +332,12 @@ const onLoad = async (params = {}) => {
// loading // loading
details.loadingObj.list = true; details.loadingObj.list = true;
const submitData = { ...details.query, ...params, ...details.page };
// listType 1 -- toB ; 2 -- toC
submitData.listType = details.pageStatus;
// //
const res = await getopenOrderAdvancePageList(details.page, { ...details.query, ...params }); const res = await postPageList(submitData);
console.log('res :>> ', res); console.log('res :>> ', res);
const { code, data } = res.data; const { code, data } = res.data;
if (code !== 200) return; if (code !== 200) return;
@ -246,10 +367,11 @@ const searchChange = () => {
/** 清空表单 */ /** 清空表单 */
const searchReset = () => { const searchReset = () => {
details.query = {}; // details.query = {};
details.pageStatus === 1 ? (details.query1 = {}) : (details.query2 = {});
details.stockupDate = []; details.stockupDate = [];
details.page.currentPage = 1; details.page.pageNum = 1;
handleClearTableQuery(details.columnList); handleClearTableQuery(details.pageStatus === 1 ? details.columnList1 : details.columnList2);
initOnLoad(); initOnLoad();
}; };
@ -262,12 +384,14 @@ const showdrawer = (_flag?: boolean) => {
const searchHide = () => { const searchHide = () => {
details.search = !details.search; details.search = !details.search;
setNodeHeight(tableNodeRef.value.$el, '', true); const node = details.pageStatus === 1 ? tableNodeRef1.value.$el : tableNodeRef2.value.$el;
setNodeHeight(node, '', true);
}; };
/** 表格表头输入框搜索 */ /** 表格表头输入框搜索 */
const inputsc = (index, col) => { const inputsc = (index, col) => {
handleInputQuery(index, col, details.query); handleInputQuery(index, col, details.pageStatus === 1 ? details.query1 : details.query2);
initOnLoad(); initOnLoad();
}; };
@ -286,7 +410,7 @@ const timesc = (index, row) => {
/** 表格表头下拉框选择 */ /** 表格表头下拉框选择 */
const selectsc = (index, colors) => { const selectsc = (index, colors) => {
handleSelectQuery(index, colors, details.query); handleSelectQuery(index, colors, details.pageStatus === 1 ? details.query1 : details.query2);
initOnLoad(); initOnLoad();
}; };
@ -307,12 +431,32 @@ const currentChange = pageNum => {
onLoad(); onLoad();
}; };
/** 批量审核 */ const handleClickTab = async e => {
const handleAudit = () => { console.log('e :>> ', e);
if (details.selectionList.length === 0) {
ElMessage.warning('请选择要审核的单据'); await nextTick();
return;
} const node = details.pageStatus === 1 ? tableNodeRef1.value.$el : tableNodeRef2.value.$el;
setNodeHeight(node, '', true);
console.log('details.pageStatus :>> ', details.pageStatus);
initOnLoad();
};
/** 批量对账单确认 */
const handleConfirm = () => {
if (details.selectionList.length === 0) return ElMessage.warning('请选择需要确认的数据');
ElMessageBox.confirm('是否确认对账单?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
ElMessage({
type: 'success',
message: '确认成功!',
});
});
}; };
/** 导出 */ /** 导出 */

627
src/views/finance/TransactionInformation.vue

@ -8,246 +8,28 @@
<!-- 运单 / 订单信息 --> <!-- 运单 / 订单信息 -->
<div> <div>
<!-- 标题 --> <!-- 标题 -->
<div class="header">运单 / 订单信</div> <div class="header"> </div>
<!-- 信息 --> <!-- 信息 -->
<div class="info fwb"> <div class="info fwb">
<!-- 运单信息 --> <!-- <div class="flex"> -->
<div class="fwb info_title">
<span class="title"> 运单号 </span>
<span class="text"> 1231231231 </span>
</div>
<div class="info_row mt10">
<div>
<span class="title"> 对账单总金额 () </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 开单时间 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 发站 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 到站 </span>
<span class="text"> 1231231231 </span>
</div>
</div>
<div class="info_row mt10">
<div>
<span class="title"> 品牌 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 发货单位 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 收货单位 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 收货人 </span>
<span class="text"> 1231231231 </span>
</div>
</div>
<div class="info_row mt10">
<div>
<span class="title"> 服务类型 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 运单类型 </span>
<span class="text"> 1231231231 </span>
</div>
</div>
<!-- 订单信息 --> <!-- 订单信息 -->
<div class="fwb mt20 info_title"> <div class="fwb info_title">
<span class="title"> 订单号 </span> <span class="title"> 订单号 </span>
<span class="text"> 1231231231 </span> <span class="text"> 1231231231 </span>
</div> </div>
<div class="info_row mt10"> <!-- 运单信息 -->
<div> <div class="fwb mt10 info_title mr10">
<span class="title"> 件数 </span> <span class="title"> 运单号 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 重量 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 体积 </span>
<span class="text"> 1231231231 </span>
</div>
</div>
<div class="info_row mt10">
<div>
<span class="title"> 干线费 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 提货费 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 仓储费 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 仓储管理费 </span>
<span class="text"> 1231231231 </span>
</div>
</div>
<div class="info_row mt10">
<div>
<span class="title"> 仓储分拣费 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 仓储操作 / 装卸费 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 配送费 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 配送操作 / 装卸费 </span>
<span class="text"> 1231231231 </span>
</div>
</div>
<div class="info_row mt10">
<div>
<span class="title"> 配送分货费 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 配送上楼费 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 配送平移费 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 安装费 </span>
<span class="text"> 1231231231 </span>
</div>
</div>
<div class="info_row mt10">
<div>
<span class="title"> 保价费 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 申明价值 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 其它费用 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 回扣 </span>
<span class="text"> 1231231231 </span>
</div>
</div>
<!-- 第三方操作费 -->
<div class="fwb info_title mt20">
<span class="title"> 第三方操作费 </span>
<span class="text"> 1231231231 </span> <span class="text"> 1231231231 </span>
</div> </div>
<!-- </div> -->
<div class="info_row mt10"> <div class="info_row mt10">
<div> <div v-for="item in details.titleOption" :key="item.label">
<span class="title"> 支付方式 </span> <span class="title"> {{ item.label }} </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 付款方式 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 现付 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 到付 </span>
<span class="text"> 1231231231 </span>
</div>
</div>
<div class="info_row mt10">
<div>
<span class="title"> 月结 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 回付 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 内部结算 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 代收货款 </span>
<span class="text"> 1231231231 </span>
</div>
</div>
<div class="info_row mt10">
<div>
<span class="title"> 代收货款已收 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 售后 </span>
<span class="text"> 1231231231 </span>
</div>
<div>
<span class="title"> 异动金额 </span>
<span class="text"> 1231231231 </span> <span class="text"> 1231231231 </span>
</div> </div>
</div> </div>
@ -258,7 +40,7 @@
<div> <div>
<!-- 标题 --> <!-- 标题 -->
<div class="header algin_center"> <div class="header algin_center">
<span> 异动信息 </span> <span> </span>
<span class="title_info"> <span class="title_info">
此处填写要登记的异动的金额整数表示异动增款负数表示异动减款 此处填写要登记的异动的金额整数表示异动增款负数表示异动减款
</span> </span>
@ -266,125 +48,17 @@
<!-- 表单信息 --> <!-- 表单信息 -->
<el-form class="info" inline> <el-form class="info" inline>
<div> <template v-for="(item, index) in details.formOption" :key="item.label">
<el-form-item label="异动类型:"> <el-form-item :label="item.label" v-if="item.type === 'number'">
<el-radio-group v-model="form.type"> <el-input-number
<el-radio label="waybill">运单</el-radio> :value-on-clear="0"
<el-radio label="orderCode">订单号</el-radio> :controls="false"
</el-radio-group> v-model="details.form[item.prop]"
:precision="2"
:step="1"
/>
</el-form-item> </el-form-item>
</template>
<el-form-item label="异动类型:">
<el-radio-group v-model="form.type">
<el-radio label="waybill">运单</el-radio>
<el-radio label="orderCode">订单号</el-radio>
</el-radio-group>
</el-form-item>
</div>
<el-form-item label="干线费:">
<el-input />
</el-form-item>
<el-form-item label="提货费:">
<el-input />
</el-form-item>
<el-form-item label="仓储费:">
<el-input />
</el-form-item>
<el-form-item label="仓储管理费:">
<el-input />
</el-form-item>
<el-form-item label="仓储分拣费:">
<el-input />
</el-form-item>
<el-form-item label="仓储操作 / 装卸费:">
<el-input />
</el-form-item>
<el-form-item label="配送费:">
<el-input />
</el-form-item>
<el-form-item label="配送操作 / 装卸费:">
<el-input />
</el-form-item>
<el-form-item label="配送分货费:">
<el-input />
</el-form-item>
<el-form-item label="配送上楼费:">
<el-input />
</el-form-item>
<el-form-item label="配送平移费:">
<el-input />
</el-form-item>
<el-form-item label="安装费:">
<el-input />
</el-form-item>
<el-form-item label="报价费:">
<el-input />
</el-form-item>
<el-form-item label="申明价值:">
<el-input />
</el-form-item>
<el-form-item label="其它费用:">
<el-input />
</el-form-item>
<el-form-item label="回扣:">
<el-input />
</el-form-item>
<el-form-item label="第三方操作费:">
<el-input />
</el-form-item>
<el-form-item label="支付方式:">
<el-input />
</el-form-item>
<el-form-item label="付款方式:">
<el-input />
</el-form-item>
<el-form-item label="现付:">
<el-input />
</el-form-item>
<el-form-item label="到付:">
<el-input />
</el-form-item>
<el-form-item label="月结:">
<el-input />
</el-form-item>
<el-form-item label="回付:">
<el-input />
</el-form-item>
<el-form-item label="内部结算:">
<el-input />
</el-form-item>
<el-form-item label="代收货款:">
<el-input />
</el-form-item>
<el-form-item label="代收货款已收:">
<el-input />
</el-form-item>
<el-form-item label="异动时间:"> <el-form-item label="异动时间:">
<el-input /> <el-input />
@ -417,7 +91,7 @@
<!-- 异动信息 --> <!-- 异动信息 -->
<div> <div>
<!-- 标题 --> <!-- 标题 -->
<div class="header algin_center">异动记录</div> <div class="header algin_center"> </div>
<!-- 表格 --> <!-- 表格 -->
<div class="info"> <div class="info">
@ -530,6 +204,249 @@ const details = reactive({
head: false, head: false,
}, },
], ],
formOption: [
{
label: '干线费:',
prop: 'num',
type: 'number',
},
{
label: '提货费:',
prop: 'num',
type: 'number',
},
{
label: '仓储费:',
prop: 'num',
type: 'number',
},
{
label: '仓储管理费:',
prop: 'num',
type: 'number',
},
{
label: '仓储分拣费:',
prop: 'num',
type: 'number',
},
{
label: '仓储操作 / 装卸费:',
prop: 'num',
type: 'number',
},
{
label: '配送费:',
prop: 'num',
type: 'number',
},
{
label: '配送操作 / 装卸费:',
prop: 'num',
type: 'number',
},
{
label: '配送分货费:',
prop: 'num',
type: 'number',
},
{
label: '配送上楼费:',
prop: 'num',
type: 'number',
},
{
label: '配送平移费:',
prop: 'num',
type: 'number',
},
{
label: '安装费:',
prop: 'num',
type: 'number',
},
{
label: '报价费:',
prop: 'num',
type: 'number',
},
{
label: '申明价值:',
prop: 'num',
type: 'number',
},
{
label: '其它费用:',
prop: 'num',
type: 'number',
},
{
label: '回扣:',
prop: 'num',
type: 'number',
},
{
label: '第三方操作费:',
prop: 'num',
type: 'number',
},
{
label: '内部结算:',
prop: 'num',
type: 'number',
},
{
label: '代收货款:',
prop: 'num',
type: 'number',
},
{
label: '代收货款已收:',
prop: 'num',
type: 'number',
},
{
label: '异动时间:',
prop: 'num',
type: 'time',
},
{
label: '结算网点:',
prop: 'num',
type: 'select',
},
{
label: '备注:',
prop: 'num',
type: 'textarea',
},
],
titleOption: [
{
label: '对账单总金额(元):',
prop: 'num',
},
{
label: '开单时间:',
prop: 'num',
},
{
label: '发站:',
prop: 'num',
},
{
label: '到站:',
prop: 'num',
},
{
label: '品类:',
prop: 'num',
},
{
label: '发货单位:',
prop: 'num',
},
{
label: '收货单位:',
prop: 'num',
},
{
label: '收货人:',
prop: 'num',
},
{
label: '服务类型:',
prop: 'num',
},
{
label: '运单类型:',
prop: 'num',
},
{
label: '件数:',
prop: 'num',
},
{
label: '重量:',
prop: 'num',
},
{
label: '体积:',
prop: 'num',
},
{
label: '干线费:',
prop: 'num',
},
{
label: '提货费:',
prop: 'num',
},
{
label: '仓储费:',
prop: 'num',
},
{
label: '仓储管理费',
prop: 'num',
},
{
label: '仓储分拣费',
prop: 'num',
},
{
label: '仓储操作 / 装卸费:',
prop: 'num',
},
{
label: '配送费:',
prop: 'num',
},
{
label: '配送操作 / 装卸费:',
prop: 'num',
},
{
label: '配送分货费',
prop: 'num',
},
{
label: '配送上楼费:',
prop: 'num',
},
{
label: '配送平移费:',
prop: 'num',
},
{
label: '安装费:',
prop: 'num',
},
{
label: '保价费:',
prop: 'num',
},
{
label: '申明价值:',
prop: 'num',
},
{
label: '其它费用:',
prop: 'num',
},
{
label: '回扣:',
prop: 'num',
},
{
label: '售后:',
prop: 'num',
},
{
label: '异动金额:',
prop: 'num',
},
],
}); });
const { form } = toRefs(details); const { form } = toRefs(details);
@ -590,12 +507,18 @@ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => {
.info_row { .info_row {
display: flex; display: flex;
padding: 0 10px; padding: 0 10px;
flex-wrap: wrap;
& > div { & > div {
width: 25%; width: 25%;
flex: none; flex: none;
box-sizing: border-box; box-sizing: border-box;
padding: 0 10px; padding: 5px 10px;
.title {
min-width: 90px;
display: inline-block;
}
} }
} }
@ -627,4 +550,12 @@ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
:deep(.el-input-number) {
width: 100%;
.el-input__inner {
text-align: left !important;
}
}
</style> </style>

24
src/views/waybill/CreateZeroOrder.vue

@ -1474,6 +1474,8 @@ const details = reactive<any>({
consignerLoading: false, consignerLoading: false,
/** 提交 */ /** 提交 */
submitLoadingBtn: false, submitLoadingBtn: false,
/** qrCode */
qrCodeLoading: false,
pageLoading: false, pageLoading: false,
}, },
/** 列表Dom节点 */ /** 列表Dom节点 */
@ -2206,7 +2208,7 @@ const handleTrunkLinePrice = (trunkLine, template) => {
for (let i = 0; i < details.goodsList.length; i++) { for (let i = 0; i < details.goodsList.length; i++) {
const value = details.goodsList[i]; const value = details.goodsList[i];
if (value.subtotalFreight) _total += computeNumber(_total, '+', value.subtotalFreight).result; if (value.subtotalFreight) _total = computeNumber(_total, '+', value.subtotalFreight).result;
} }
console.log('trunkLine :>> ', trunkLine); console.log('trunkLine :>> ', trunkLine);
@ -3083,10 +3085,24 @@ const handlePrint = async () => {
let _html = ''; let _html = '';
for (let i = 0; i < data.length; i++) { if (getObjType(data) !== 'object') return;
const value = data[i];
_html += JSON.parse(JSON.stringify(value.templateHtml)); for (const key in data) {
const element = data[key];
for (let i = 0; i < element.length; i++) {
const value = element[i];
let template = value.templateHtml;
console.log('value.templateHtml :>> ', value.templateHtml);
template = template.replace('第n页', `${i + 1}`);
template = template.replace('共n页', `${element.length}`);
template = template.replaceAll('0.00', ``);
_html += JSON.parse(JSON.stringify(template));
}
} }
console.log('res :>> ', res); console.log('res :>> ', res);

Loading…
Cancel
Save