Browse Source

优化干线

dev-xx
qb 4 months ago
parent
commit
3ad12a7722
  1. 39
      src/components/ArteryPrintTemplate/ArteryPrintTemplate.vue
  2. 174
      src/option/distribution/addVehicleStowage.js
  3. 26
      src/option/distribution/directGoMarketDetails.js
  4. 2
      src/views/distribution/artery/VehicleStowage.vue
  5. 18
      src/views/distribution/artery/directGoMarketDetails.vue
  6. 172
      src/views/waybill/orderPackageList.vue
  7. 40
      src/views/waybill/orderPackageListDetails.vue

39
src/components/ArteryPrintTemplate/ArteryPrintTemplate.vue

@ -129,8 +129,8 @@
<th style="border-bottom: 1px solid #000; border-left: 1px solid #000">小计</th>
</tr>
<!-- -->
<template v-if="renderInfo.mainList">
<tr v-for="(value, index) in renderInfo.mainList" style="word-break: break-all">
<template v-if="orderList.length > 0">
<tr v-for="(value, index) in orderList" style="word-break: break-all">
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000">
{{ index + 1 }}
</td>
@ -298,13 +298,28 @@ const totalUnLoadNum = ref(0);
/** 计划中暑 */
const totalPlanNum = ref(0);
renderInfo.value = waybillInfo;
const orderList = reactive([]);
/** 是否显示金额统计 */
const isShowTotal = ref(false);
renderInfo.value = waybillInfo;
renderInfo.value.endWarehouseNames = renderInfo.value.endWarehouseNames.split(',');
for (let i = 0; i < renderInfo.value.mainList.length; i++) {
const val = renderInfo.value.mainList[i];
//
let _flag = false;
for (let j = orderList.length - 1; j >= 0; j--) {
const item = orderList[j];
if (item.waybillNo !== val.waybillNo) continue;
orderList.splice(j, 0, val);
_flag = true;
}
!_flag && orderList.push(val);
}
//
let mergeStartIndex = 0;
//
@ -320,8 +335,8 @@ const handleMerge = (startIndex: number, endIndex: number, data: {}) => {
}
};
for (let index = 0; index < renderInfo.value.mainList.length; index++) {
const element = renderInfo.value.mainList[index];
for (let index = 0; index < orderList.length; index++) {
const element = orderList[index];
if (index === 0) {
comparisonValue = element.waybillNo;
@ -334,15 +349,15 @@ for (let index = 0; index < renderInfo.value.mainList.length; index++) {
if (element.waybillNo !== comparisonValue) {
// if (index === 1) mergeStartIndex = 1;
comparisonValue = element.waybillNo;
handleMerge(mergeStartIndex, index, renderInfo.value.mainList);
handleMerge(mergeStartIndex, index, orderList);
mergeStartIndex = index;
if (index === renderInfo.value.mainList.length - 1) {
handleMerge(mergeStartIndex, index + 1, renderInfo.value.mainList);
if (index === orderList.length - 1) {
handleMerge(mergeStartIndex, index + 1, orderList);
}
//
} else if (index === renderInfo.value.mainList.length - 1) {
handleMerge(mergeStartIndex, index + 1, renderInfo.value.mainList);
} else if (index === orderList.length - 1) {
handleMerge(mergeStartIndex, index + 1, orderList);
}
if (element.goodsList && element.goodsList.length > 0) {

174
src/option/distribution/addVehicleStowage.js

@ -716,7 +716,7 @@ export const detailsColumnList = [
label: '到站',
type: 2,
values: '',
width: '130',
width: '100',
checkarr: [],
fixed: false,
sortable: true,
@ -728,7 +728,7 @@ export const detailsColumnList = [
label: '目的站',
type: 2,
values: '',
width: '130',
width: '100',
checkarr: [],
fixed: false,
sortable: true,
@ -740,7 +740,7 @@ export const detailsColumnList = [
label: '发货单位',
type: 2,
values: '',
width: '130',
width: '120',
checkarr: [],
fixed: false,
sortable: true,
@ -752,7 +752,7 @@ export const detailsColumnList = [
label: '收货单位',
type: 2,
values: '',
width: '130',
width: '120',
checkarr: [],
fixed: false,
isColumnMerge: true,
@ -763,7 +763,7 @@ export const detailsColumnList = [
label: '收货人',
type: 2,
values: '',
width: '130',
width: '100',
checkarr: [],
fixed: false,
isColumnMerge: true,
@ -822,7 +822,7 @@ export const detailsColumnList = [
label: '运单总重量',
type: 2,
values: '',
width: '130',
width: '120',
checkarr: [],
fixed: false,
isColumnMerge: true,
@ -834,7 +834,7 @@ export const detailsColumnList = [
label: '运单总体积',
type: 2,
values: '',
width: '130',
width: '120',
checkarr: [],
fixed: false,
isColumnMerge: true,
@ -871,7 +871,7 @@ export const detailsColumnList = [
width: '130',
checkarr: [],
fixed: false,
isshowSummary: true,
isshowSummary: false,
sortable: true,
},
{
@ -882,7 +882,7 @@ export const detailsColumnList = [
width: '130',
checkarr: [],
fixed: false,
isshowSummary: true,
isshowSummary: false,
sortable: true,
},
{
@ -890,7 +890,7 @@ export const detailsColumnList = [
label: '件数',
type: 2,
values: '',
width: '130',
width: '80',
checkarr: [],
fixed: false,
isshowSummary: true,
@ -931,7 +931,7 @@ export const detailsColumnList = [
},
{
prop: 'unloadIncome',
label: '卸车收入',
label: '订单配载收入',
type: 2,
values: '',
width: '130',
@ -942,67 +942,20 @@ export const detailsColumnList = [
},
{
prop: 'costPiece',
label: '按件成本',
label: '按件干线成本分摊',
type: 2,
values: '',
width: '130',
width: '150',
checkarr: [],
fixed: false,
// isshowSummary: true,
sortable: true,
},
// {
// prop: 'costPiece',
// label: '开单单价',
// type: 2,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// isColumnMerge: true,
// // isshowSummary: true,
// sortable: true,
// },
// {
// prop: 'costPiece',
// label: '开单名称',
// type: 2,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// isColumnMerge: true,
// // isshowSummary: true,
// sortable: true,
// },
// {
// prop: 'costPiece',
// label: '订单开单名称',
// type: 2,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// // isshowSummary: true,
// sortable: true,
// },
// {
// prop: 'costPiece',
// label: '品类名称',
// type: 2,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// // isshowSummary: true,
// sortable: true,
// },
{
prop: 'costZhang',
label: '按比例成本',
label: '按比例干线成本分摊',
type: 2,
values: '',
width: '130',
width: '170',
checkarr: [],
fixed: false,
// isshowSummary: true,
@ -1018,69 +971,12 @@ export const detailsColumnList = [
fixed: false,
sortable: true,
},
// {
// prop: 'totalNum',
// label: '开单单价',
// type: 2,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// isshowSummary: true,
// isColumnMerge: true,
// sortable: true,
// },
// {
// prop: 'totalNum',
// label: '开单名称',
// type: 2,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// isshowSummary: false,
// isColumnMerge: true,
// sortable: true,
// },
// {
// prop: 'totalNum',
// label: '订单开单名称',
// type: 2,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// isshowSummary: false,
// sortable: true,
// },
// {
// prop: 'productName',
// label: '品类名称',
// type: 2,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// sortable: true,
// },
// {
// prop: 'price',
// label: '单价',
// type: 2,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// isshowSummary: true,
// sortable: true,
// },
{
prop: 'weight',
label: '重量(KG)',
type: 2,
values: '',
width: '130',
width: '120',
checkarr: [],
fixed: false,
isshowSummary: true,
@ -1091,7 +987,7 @@ export const detailsColumnList = [
label: '体积',
type: 2,
values: '',
width: '130',
width: '100',
checkarr: [],
fixed: false,
isshowSummary: true,
@ -1099,7 +995,7 @@ export const detailsColumnList = [
},
{
prop: 'totalFreight',
label: '运单费',
label: '运单干线费',
type: 2,
values: '',
width: '130',
@ -1109,23 +1005,23 @@ export const detailsColumnList = [
isColumnMerge: true,
sortable: true,
},
{
prop: 'orderFreight',
label: '订单配载运费',
type: 2,
values: '',
width: '130',
checkarr: [],
fixed: false,
isshowSummary: true,
sortable: true,
},
// {
// prop: 'orderFreight',
// label: '订单配载运费',
// type: 2,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// isshowSummary: true,
// sortable: true,
// },
{
prop: 'deliveryFee',
label: '送货费',
type: 2,
values: '',
width: '130',
width: '100',
checkarr: [],
fixed: false,
isshowSummary: true,
@ -1137,7 +1033,7 @@ export const detailsColumnList = [
label: '提货费',
type: 2,
values: '',
width: '130',
width: '100',
checkarr: [],
fixed: false,
isshowSummary: true,
@ -1161,7 +1057,7 @@ export const detailsColumnList = [
label: '仓储费',
type: 2,
values: '',
width: '130',
width: '100',
checkarr: [],
fixed: false,
isshowSummary: true,
@ -1173,7 +1069,7 @@ export const detailsColumnList = [
label: '装卸费',
type: 2,
values: '',
width: '130',
width: '100',
checkarr: [],
fixed: false,
isshowSummary: true,
@ -1197,7 +1093,7 @@ export const detailsColumnList = [
label: '保价费',
type: 2,
values: '',
width: '130',
width: '100',
checkarr: [],
fixed: false,
isshowSummary: true,
@ -1206,7 +1102,7 @@ export const detailsColumnList = [
},
{
prop: 'totalFee',
label: '总费用',
label: '运单总费用',
type: 2,
values: '',
width: '130',

26
src/option/distribution/directGoMarketDetails.js

@ -156,10 +156,20 @@ export const detailsColumnList = [
width: 55,
fixed: true,
},
{
prop: 'scanCode',
label: '包条码/产品名称',
type: 2,
values: '',
width: '200',
checkarr: [],
fixed: true,
sortable: true,
},
{
prop: 'carsNo',
label: '车次号',
type: 1,
type: 2,
values: '',
width: '150',
checkarr: [],
@ -170,7 +180,7 @@ export const detailsColumnList = [
{
prop: 'orderCode',
label: '订单号',
type: 1,
type: 2,
values: '',
width: '300',
checkarr: [],
@ -181,7 +191,7 @@ export const detailsColumnList = [
{
prop: 'waybillNo',
label: '运单号',
type: 1,
type: 2,
values: '',
width: '150',
checkarr: [],
@ -189,16 +199,6 @@ export const detailsColumnList = [
sortable: true,
head: false,
},
{
prop: 'scanCode',
label: '包条码/产品名称',
type: 1,
values: '',
width: '200',
checkarr: [],
fixed: true,
sortable: true,
},
{
prop: 'warehouseName',
label: '仓库',

2
src/views/distribution/artery/VehicleStowage.vue

@ -517,7 +517,7 @@
title="配载清单"
v-model="details.popUpShow.listOfLoadedWagons"
width="80%"
:before-close="beforeClose"
destroy-on-close
append-to-body
:fullscreen="details.fullscreenObj.listOfLoadedWagonsPopUp"
:show-close="false"

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

@ -119,9 +119,19 @@
:columnList="details.detailsColumnList"
:tableData="details.detailsInfo.data"
:loading="loadingObj.detailsLoading"
@inputTxt="() => {}"
@inputTxt="
(value, row) => {
handleInputQuery(value, row, details.detailsInfo.query);
onLoadDetails();
}
"
@timeCheck="() => {}"
@selectCheck="() => {}"
@selectCheck="
(value, row) => {
handleSelectQuery(value, row, details.detailsInfo.query);
onLoadDetails();
}
"
@selection="detailsSelectionChange"
:isselectfun="
row => {
@ -481,6 +491,8 @@ import {
setNodeHeight,
handleClearTableQuery,
ChecksWhetherTheWarehouseIsSelected,
handleInputQuery,
handleSelectQuery,
} from '@/utils/util';
import {
columnList,
@ -793,7 +805,7 @@ const onLoadDetails = async (params = {} as any) => {
//
const res = await postFindSignOrderDetailList({
...details.detailsInfo.page,
...details.query,
...details.detailsInfo.query,
signOrderId: details.showDetailsSiginOrder.id,
...params,
});

172
src/views/waybill/orderPackageList.vue

@ -5,75 +5,33 @@
<div v-h5uShow="search">
<!-- 查询模块 -->
<el-form :inline="true" :model="query" class="header_search" label-width="100px">
<el-form-item label="运单号">
<el-input v-model="query.waybillNo" placeholder="请输入运单号" clearable></el-input>
</el-form-item>
<el-form-item label="订单自编号">
<el-input v-model="query.orderCode" placeholder="请输入订单自编号" clearable></el-input>
</el-form-item>
<el-form-item label="一级品类">
<el-input v-model="query.firsts" placeholder="请输入一级品类" clearable></el-input>
</el-form-item>
<el-form-item label="二级品类">
<el-input v-model="query.sencods" placeholder="请输入二级品类" clearable></el-input>
</el-form-item>
<el-form-item label="三级品类">
<el-input v-model="query.thirds" placeholder="请输入三级品类" clearable></el-input>
</el-form-item>
<el-form-item label="包条码">
<el-input
v-model="query.orderPackageCode"
placeholder="请输入包条码"
clearable
></el-input>
</el-form-item>
<el-form-item label="干线车次号">
<el-input
v-model="query.trunklineCarsNo"
placeholder="请输入干线车次号"
clearable
></el-input>
</el-form-item>
<el-form-item label="配送车次号">
<el-input
v-model="query.deliveryTrainNumber"
placeholder="请输入配送车次号"
clearable
></el-input>
</el-form-item>
<el-form-item label="客户车次号">
<el-input
v-model="query.trainNumber"
placeholder="请输入客户车次号"
clearable
></el-input>
</el-form-item>
<el-form-item label="服务号">
<el-input v-model="query.serviceNumber" placeholder="请输入服务号" clearable></el-input>
</el-form-item>
<el-form-item label="入库时间">
<el-date-picker
v-model="query.incomingTimeArr"
type="datetimerange"
unlink-panels
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间"
:shortcuts="shortcuts"
value-format="YYYY-MM-DD HH:mm:ss"
:default-time="[new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 2, 1, 23, 59, 59)]"
clearable
/>
<el-form-item
v-for="item in details.titleSearchOption"
:key="item.prop"
:label="item.label"
>
<template v-if="item.type === 'input'">
<el-input
v-model.trim="query[item.prop]"
:placeholder="`请输入${item.label}`"
clearable
></el-input>
</template>
<template v-else-if="item.type === 'time'">
<el-date-picker
v-model="query[item.prop]"
type="datetimerange"
unlink-panels
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间"
:shortcuts="shortcuts"
value-format="YYYY-MM-DD HH:mm:ss"
:default-time="[new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 2, 1, 23, 59, 59)]"
clearable
/>
</template>
</el-form-item>
<!-- 查询按钮 -->
@ -392,15 +350,73 @@ const details = reactive<any>({
return [start, end];
},
},
// {
// text: '',
// value: () => {
// const end = new Date();
// const start = new Date();
// start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
// return [start, end];
// },
// },
{
text: '最近三个月',
value: () => {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
return [start, end];
},
},
],
/** 头部搜索配置 */
titleSearchOption: [
{
label: '运单号',
prop: 'waybillNo',
type: 'input',
},
{
label: '订单自编号',
prop: 'orderCode',
type: 'input',
},
{
label: '一级品类',
prop: 'firsts',
type: 'input',
},
{
label: '二级品类',
prop: 'sencods',
type: 'input',
},
{
label: '三级品类',
prop: 'thirds',
type: 'input',
},
{
label: '包条码',
prop: 'orderPackageCode',
type: 'input',
},
{
label: '干线车次号',
prop: 'trunklineCarsNo',
type: 'input',
},
{
label: '配送车次号',
prop: 'deliveryTrainNumber',
type: 'input',
},
{
label: '客户车次号',
prop: 'trainNumber',
type: 'input',
},
{
label: '服务号',
prop: 'serviceNumber',
type: 'input',
},
{
label: '入库时间',
prop: 'incomingTimeArr',
type: 'time',
},
],
/** 包明细表头 */
packageListColumnList: deepClone(packageListColumnList),

40
src/views/waybill/orderPackageListDetails.vue

@ -6,43 +6,67 @@
<!-- 查询模块 -->
<el-form :inline="true" :model="query" class="header_search" label-width="100px">
<el-form-item label="运单号">
<el-input v-model="query.waybillNo" placeholder="请输入运单号" clearable></el-input>
<el-input
v-model.trim="query.waybillNo"
placeholder="请输入运单号"
clearable
></el-input>
</el-form-item>
<el-form-item label="订单自编号">
<el-input v-model="query.orderCode" placeholder="请输入订单自编号" clearable></el-input>
<el-input
v-model.trim="query.orderCode"
placeholder="请输入订单自编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="一级品类">
<el-input v-model="query.firstPackName" placeholder="请输入运单号" clearable></el-input>
<el-input
v-model.trim="query.firstPackName"
placeholder="请输入运单号"
clearable
></el-input>
</el-form-item>
<el-form-item label="二级品类">
<el-input
v-model="query.secondPackName"
v-model.trim="query.secondPackName"
placeholder="请输入运单号"
clearable
></el-input>
</el-form-item>
<el-form-item label="三级品类">
<el-input v-model="query.thirdPackName" placeholder="请输入运单号" clearable></el-input>
<el-input
v-model.trim="query.thirdPackName"
placeholder="请输入运单号"
clearable
></el-input>
</el-form-item>
<el-form-item label="包条码">
<el-input
v-model="query.orderPackageCode"
v-model.trim="query.orderPackageCode"
placeholder="请输入运单号"
clearable
></el-input>
</el-form-item>
<el-form-item label="客户车次号">
<el-input v-model="query.trainNumber" placeholder="请输入运单号" clearable></el-input>
<el-input
v-model.trim="query.trainNumber"
placeholder="请输入运单号"
clearable
></el-input>
</el-form-item>
<el-form-item label="服务号">
<el-input v-model="query.serviceNum" placeholder="请输入运单号" clearable></el-input>
<el-input
v-model.trim="query.serviceNum"
placeholder="请输入运单号"
clearable
></el-input>
</el-form-item>
<el-form-item label="创建时间">

Loading…
Cancel
Save