Browse Source

Merge branch 'dev' into pre-production

pre-production
pref_mail@163.com 2 months ago
parent
commit
c0f6e95a37
  1. 13
      src/api/finance/ReconciliationDepositSlip.js
  2. 131
      src/option/reportforms/PackageStartTimePageReport.js
  3. 119
      src/option/reportforms/PackageTransferTimePageReport.js
  4. 225
      src/option/reportforms/UpdateWaybillQualityPageReport.js
  5. 51
      src/views/distribution/artery/abnormalList.vue
  6. 14
      src/views/finance/ReconciliationDepositSlip.vue
  7. 2
      src/views/reportforms/PackageStartTimePageReport.vue
  8. 2
      src/views/reportforms/PackageTransferTimePageReport.vue
  9. 2
      src/views/reportforms/UpdateWaybillQualityPageReport.vue
  10. 2
      src/views/reportforms/ZeroStartTimePageReport.vue

13
src/api/finance/ReconciliationDepositSlip.js

@ -25,6 +25,18 @@ export const postOrderInfoListExport = data => {
}); });
}; };
/**
* 导出
*/
export const postOrderInfoListExport2C = data => {
return request({
url: '/api/logpm-statisticsdata/merchantStatistics/orderInfoListExport2C',
method: 'post',
data,
responseType: 'blob',
});
};
/** /**
* 确认结算 * 确认结算
* @param {*} data * @param {*} data
@ -62,7 +74,6 @@ export const postCalculateRealCostByWaybillId = data => {
}); });
}; };
/** /**
* 生成对账单 * 生成对账单
* @param {*} data * @param {*} data

131
src/option/reportforms/PackageStartTimePageReport.js

@ -0,0 +1,131 @@
export const columnList = [
{
prop: '',
label: '复选框',
type: 0,
width: 55,
fixed: true,
},
{
prop: '',
label: '序号',
type: 12,
values: '',
width: 55,
fixed: true,
},
{
prop: 'businessLine',
label: '事业线',
type: 1,
values: '',
width: '180',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'departureWarehouseName',
label: '始发仓',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'destinationWarehouseName',
label: '目的仓',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'brand',
label: '品牌',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'totalNum',
label: '总件数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
{
prop: 'openNum',
label: '开单件数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
{
prop: 'startNum',
label: '发运件数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
{
prop: 'onTimeNum',
label: '准时发运数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
{
prop: 'onTimeRate',
label: '准时发运率',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'avgTime',
label: '平均发运时效',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
];

119
src/option/reportforms/PackageTransferTimePageReport.js

@ -0,0 +1,119 @@
export const columnList = [
{
prop: '',
label: '复选框',
type: 0,
width: 55,
fixed: true,
},
{
prop: '',
label: '序号',
type: 12,
values: '',
width: 55,
fixed: true,
},
{
prop: 'businessLine',
label: '事业线',
type: 1,
values: '',
width: '180',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'departureWarehouseName',
label: '始发仓',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'destinationWarehouseName',
label: '目的仓',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'brand',
label: '品牌',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'incomingNum',
label: '中转入库件数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
{
prop: 'outNum',
label: '中转出库件数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
{
prop: 'outOnTimeNum',
label: '中转准时出库件数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
{
prop: 'outOnTimeRate',
label: '中转准时出库率',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'avgTime',
label: '平均中转时效',
type: 6,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
];

225
src/option/reportforms/UpdateWaybillQualityPageReport.js

@ -0,0 +1,225 @@
export const columnList = [
{
prop: '',
label: '复选框',
type: 0,
width: 55,
fixed: true,
},
{
prop: '',
label: '序号',
type: 12,
values: '',
width: 55,
fixed: true,
},
{
prop: 'businessLine',
label: '事业线',
type: 1,
values: '',
width: '180',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'departureWarehouseName',
label: '始发仓',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'destinationWarehouseName',
label: '目的仓',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'brand',
label: '品牌',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'totalNum',
label: '总运单数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
{
prop: 'editNum',
label: '改单单数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
{
prop: 'updateNum',
label: '改单次数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
{
prop: 'startBeforeNum',
label: '发车前修改数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
{
prop: 'startBeforeRate',
label: '发车前修改率',
type: 6,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'personProbleNum',
label: '人为操作错误数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
{
prop: 'personProbleRate',
label: '人为操作错误率',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'financeUpdateNum',
label: '财务修改数',
type: 6,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
{
prop: 'financeUpdateRate',
label: '财务修改率',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
{
prop: 'merchantUpdateNum',
label: '商家要求数',
type: 6,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
{
prop: 'merchantUpdateRate',
label: '商家要求率',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'businessUpdateNum',
label: '业务调整数',
type: 6,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
{
prop: 'businessUpdateRate',
label: '业务调整率',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'updateRate',
label: '改单率',
type: 6,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
];

51
src/views/distribution/artery/abnormalList.vue

@ -118,6 +118,8 @@
</template> </template>
<template v-if="slotProps.scope.column.label === '操作'"> <template v-if="slotProps.scope.column.label === '操作'">
<el-text @click="() => handleShowDetails(slotProps.scope)">详情</el-text>
<el-text <el-text
v-if=" v-if="
Number(slotProps.scope.row.abnormalStatus) === 0 && Number(slotProps.scope.row.abnormalStatus) === 0 &&
@ -232,6 +234,24 @@
</div> </div>
</el-dialog> </el-dialog>
<el-dialog
title="异常详情"
:visible.sync="details.popUpShow.abnormalDetailsVisited"
width="500px"
:align-center="true"
v-model="details.popUpShow.abnormalDetailsVisited"
>
<div
v-for="item in details.columnList.filter(
val => !['复选框', '序号', '操作'].includes(val.label)
)"
class="abnormalDetail_row flex"
>
<div class="title">{{ item.label }}</div>
<div class="content">{{ details.abnormalInfo[item.prop] }}</div>
</div>
</el-dialog>
<!-- 列表配置显示 --> <!-- 列表配置显示 -->
<edittablehead <edittablehead
@closce="showdrawer" @closce="showdrawer"
@ -333,6 +353,8 @@ const details = reactive<any>({
popUpShow: { popUpShow: {
/** 图片预览 */ /** 图片预览 */
abnormalVisited: false, abnormalVisited: false,
/** 异常详情 */
abnormalDetailsVisited: false,
}, },
/** 列表Dom节点 */ /** 列表Dom节点 */
listNode: '', listNode: '',
@ -579,6 +601,12 @@ const handleBatchAbnormarl = () => {
details.isBatch = true; details.isBatch = true;
details.popUpShow.abnormalVisited = true; details.popUpShow.abnormalVisited = true;
}; };
/** 查看详情 */
const handleShowDetails = ({ row }) => {
details.popUpShow.abnormalDetailsVisited = true;
details.abnormalInfo = { ...row };
};
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@ -613,4 +641,27 @@ const handleBatchAbnormarl = () => {
text-align: left !important; text-align: left !important;
} }
} }
.abnormalDetail_row {
$border: 1px solid #e7e7e7;
border-top: $border;
border-right: $border;
.title {
width: 5rem;
background: #f5f5f5;
padding: 5px 15px;
border-left: $border;
border-right: $border;
}
.content {
padding: 5px 15px;
}
&:last-child {
border-bottom: $border;
}
}
</style> </style>

14
src/views/finance/ReconciliationDepositSlip.vue

@ -259,6 +259,7 @@ import {
postCheckBalance, postCheckBalance,
postReal, postReal,
postOrderInfoListExport, postOrderInfoListExport,
postOrderInfoListExport2C,
postCreateReconciliationOrder, postCreateReconciliationOrder,
postCreateFinishWaybillId, postCreateFinishWaybillId,
postCreateReconciliationwWaybillId, postCreateReconciliationwWaybillId,
@ -428,6 +429,10 @@ const onLoad = async () => {
// listType 1 -- toB ; 2 -- toC // listType 1 -- toB ; 2 -- toC
submitData.listType = details.pageStatus; submitData.listType = details.pageStatus;
if (submitData.listType === 1) {
delete submitData.signStatus;
} else delete submitData.signStatuses;
const keys = Object.keys(submitData); const keys = Object.keys(submitData);
for (let i = 0; i < keys.length; i++) { for (let i = 0; i < keys.length; i++) {
@ -790,6 +795,10 @@ const handleExport = () => {
submitData.listType = details.pageStatus; submitData.listType = details.pageStatus;
if (submitData.listType === 1) {
delete submitData.signStatus;
} else delete submitData.signStatuses;
if (getObjType(submitData.createTimeArr) === 'array' && submitData.createTimeArr.length > 0) { if (getObjType(submitData.createTimeArr) === 'array' && submitData.createTimeArr.length > 0) {
submitData.createTimeStartStr = submitData.createTimeArr[0]; submitData.createTimeStartStr = submitData.createTimeArr[0];
submitData.createTimeEndStr = submitData.createTimeArr[1]; submitData.createTimeEndStr = submitData.createTimeArr[1];
@ -803,7 +812,10 @@ const handleExport = () => {
delete submitData.createTimeArr; delete submitData.createTimeArr;
delete submitData.checkTimeArr; delete submitData.checkTimeArr;
const res = await postOrderInfoListExport(submitData); const res =
submitData.listType === 1
? await postOrderInfoListExport(submitData)
: await postOrderInfoListExport2C(submitData);
const { status, data } = res; const { status, data } = res;
if (status !== 200) return; if (status !== 200) return;

2
src/views/reportforms/PackageStartTimePageReport.vue

@ -195,7 +195,7 @@ import {
} from '@/utils/util'; } from '@/utils/util';
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
import { ElMessage, ElMessageBox } from 'element-plus'; import { ElMessage, ElMessageBox } from 'element-plus';
import { columnList } from '@/option/reportforms/PackageAllTrunklineTimePageReport'; import { columnList } from '@/option/reportforms/PackageStartTimePageReport';
// //
const $router = useRouter(); const $router = useRouter();

2
src/views/reportforms/PackageTransferTimePageReport.vue

@ -195,7 +195,7 @@ import {
} from '@/utils/util'; } from '@/utils/util';
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
import { ElMessage, ElMessageBox } from 'element-plus'; import { ElMessage, ElMessageBox } from 'element-plus';
import { columnList } from '@/option/reportforms/PackageAllTrunklineTimePageReport'; import { columnList } from '@/option/reportforms/PackageTransferTimePageReport';
// //
const $router = useRouter(); const $router = useRouter();

2
src/views/reportforms/UpdateWaybillQualityPageReport.vue

@ -195,7 +195,7 @@ import {
} from '@/utils/util'; } from '@/utils/util';
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
import { ElMessage, ElMessageBox } from 'element-plus'; import { ElMessage, ElMessageBox } from 'element-plus';
import { columnList } from '@/option/reportforms/PackageAllTrunklineTimePageReport'; import { columnList } from '@/option/reportforms/UpdateWaybillQualityPageReport';
// //
const $router = useRouter(); const $router = useRouter();

2
src/views/reportforms/ZeroStartTimePageReport.vue

@ -195,7 +195,7 @@ import {
} from '@/utils/util'; } from '@/utils/util';
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
import { ElMessage, ElMessageBox } from 'element-plus'; import { ElMessage, ElMessageBox } from 'element-plus';
import { columnList } from '@/option/reportforms/PackageAllTrunklineTimePageReport'; import { columnList } from '@/option/reportforms/PackageStartTimePageReport';
// //
const $router = useRouter(); const $router = useRouter();

Loading…
Cancel
Save