Browse Source

修复部分bug

dev
qb 1 week ago
parent
commit
59c20a6714
  1. 6
      src/api/waybill/orderPackageListDetails.js
  2. 12
      src/option/reportforms/CreateOrderTimelinessRatioReport.js
  3. 154
      src/option/reportforms/PackageTransferTimePageReport.js
  4. 10
      src/views/distribution/artery/VehicleStowageZeroLoading.vue
  5. 1
      src/views/distribution/artery/directGoMarketDetails.vue
  6. 4
      src/views/distribution/artery/truckLoadingDetails.vue
  7. 13
      src/views/distribution/inventory/CreateOrder.vue
  8. 4
      src/views/distribution/inventory/delivery/Unstoreddetails.vue
  9. 33
      src/views/reportforms/CreateOrderTimelinessRatioReport.vue
  10. 21
      src/views/reportforms/PackageTransferTimePageReport.vue
  11. 4
      src/views/warehouse/prewarehousing/PreStoragePackage.vue
  12. 13
      src/views/waybill/CreateZeroOrder.vue
  13. 4
      src/views/waybill/orderPackageList.vue
  14. 4
      src/views/waybill/orderPackageListDetails.vue
  15. 4
      src/views/waybill/orderPackageListDetailsByMarket.vue

6
src/api/waybill/orderPackageListDetails.js

@ -51,11 +51,11 @@ export const postIncomingPackageByBussiness = data => {
/**
* 获取二维码
*/
export const getShowAdvancePackgeCode = params => {
export const getShowAdvancePackgeCode = data => {
return request({
url: '/api/logpm-trunkline/advanceDetail/showAdvancePackgeCode',
method: 'get',
params,
method: 'post',
data,
});
};

12
src/option/reportforms/CreateOrderTimelinessRatioReport.js

@ -650,6 +650,18 @@ export const columnListDetails = [
head: false,
isshowSummary: false, //开启统计
},
{
prop: 'incomingTime',
label: '入库时间',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: false, //开启统计
},
{
prop: 'waybillStatusName',
label: '是否开单',

154
src/option/reportforms/PackageTransferTimePageReport.js

@ -163,3 +163,157 @@ export const columnList = [
head: false,
},
];
export const columnListByZero = [
{
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: 'warehouseName',
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: 6,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
{
prop: 'outNum',
label: '中转出库件数',
type: 6,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
isshowSummary: true, //开启统计
},
{
prop: 'noOutNum',
label: '未出库件数',
type: 6,
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: 6,
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,
},
{
prop: 'hoursTime',
label: '标准时效(小时)',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
];

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

@ -574,7 +574,7 @@ const handleZeroLoad = async ({ row }, type) => {
for (let i = 0; i < details.zeroItem.zeroPackageList.length; i++) {
const item = details.zeroItem.zeroPackageList[i];
item.enterNum = item.loadingNum || item.stockNum || 0;
item.enterNum = item.loadingNum || 0;
item.maxNum = (item.loadingNum || 0) + (item.stockNum || 0);
console.log('item :>> ', item);
@ -586,9 +586,6 @@ const handleZeroLoad = async ({ row }, type) => {
/** 卸车 -- 零担 -- 提交 */
const handleZeroUnLoadSubmit = async () => {
try {
details.popUpShow.transferVisited = false;
details.loadingObj.pageLoading = true;
// let res: any = {};
const submitData = {
@ -610,6 +607,11 @@ const handleZeroUnLoadSubmit = async () => {
submitData.enterNum = _loadingNum;
if (submitData.enterNum === 0) return ElMessage.warning('装车总数为零,请填写需要装车的数据');
else if (submitData.enterNum > details.zeroItem.planNum)
return ElMessage.warning('总装车数大于计划处,请调整');
details.popUpShow.transferVisited = false;
details.loadingObj.pageLoading = true;
const res = await postLoadingZero(submitData);

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

@ -353,7 +353,6 @@
style="width: 100%"
:precision="0"
:max="details.zeroItem.num"
readonly
:controls="false"
v-model="details.zeroItem.enterNum"
/>

4
src/views/distribution/artery/truckLoadingDetails.vue

@ -1328,7 +1328,7 @@ const printOrder = async ({ row }) => {
details.loadingObj.pageLoading = true;
let qr = {
orderPackageCodes: row.scanCode,
orderPackageCodes: [row.scanCode],
};
details.html = '';
@ -1404,7 +1404,7 @@ const handleBatchBarcode = async () => {
_arr.length > 0 &&
_promiseArr.push(
getShowAdvancePackgeCode({
orderPackageCodes: _arr.map(val => val.scanCode).join(','),
orderPackageCodes: _arr.map(val => val.scanCode),
}).then(res => {
const { code, data } = res.data;
if (code !== 200 || getObjType(data.moldList) !== 'array') return;

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

@ -3882,6 +3882,19 @@ const handleSubmit = (formEl: FormInstance | undefined) => {
val.deliveryPrice = !isNumber(val.deliveryPrice) ? 0 : val.deliveryPrice;
val.pickupPrice = !isNumber(val.pickupPrice) ? 0 : val.pickupPrice;
val.subtotalFreight = !isNumber(val.subtotalFreight) ? 0 : val.subtotalFreight;
if (val.chargeType === 2 && val.volume === 0) {
return ElMessage({
message: '请填写方数',
type: 'warning',
});
}
if (val.chargeType === 3 && val.weight === 0) {
return ElMessage({
message: '请填写重量',
type: 'warning',
});
}
}
// if (!(details.query.totalFreight > 0)) {

4
src/views/distribution/inventory/delivery/Unstoreddetails.vue

@ -438,7 +438,7 @@ const printOrder = async row => {
details.loadingObj.list = true;
details.html = '';
let qr = {
orderPackageCodes: row.orderPackageCode,
orderPackageCodes: [row.orderPackageCode],
};
const res = await getShowAdvancePackgeCode(qr);
const { code, data } = res.data;
@ -463,7 +463,7 @@ const handleBatchBarcode = async () => {
details.loadingObj.list = true;
let qr = {
orderPackageCodes: details.selectionList.map(val => val.orderPackageCode).join(','),
orderPackageCodes: details.selectionList.map(val => val.orderPackageCode),
};
const res = await getShowAdvancePackgeCode(qr);

33
src/views/reportforms/CreateOrderTimelinessRatioReport.vue

@ -86,6 +86,7 @@
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<el-button type="primary" icon="Download" @click="ExportData"> 导出 </el-button>
<el-button type="primary" icon="Download" @click="ExportDetailData"> 明细导出 </el-button>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
@ -162,6 +163,7 @@ import { postFindbusinessLine } from '@/api/reportforms/SalesDepartmentIncomeRep
import {
postOpenTimePage,
postOpenTimeExport,
postOpenTimeDetailExport,
} from '@/api/reportforms/CreateOrderTimelinessRatioReport';
import { getListName } from '@/api/basicdata/basicdataVehicle';
import {
@ -488,6 +490,37 @@ const ExportData = async () => {
}
};
//
const ExportDetailData = async () => {
try {
details.loadingObj.list = true;
const submitData: any = {};
//
if (getObjType(details.query.timeArr) === 'array' && details.query.timeArr.length > 0) {
submitData.startTimeStr = details.query.timeArr[0];
submitData.endTimeStr = details.query.timeArr[1];
const start = new Date(submitData.startTimeStr).getTime();
const end = new Date(submitData.endTimeStr).getTime();
if (end - start + 1000 * 60 * 60 * 24 > 1000 * 60 * 60 * 24 * 31)
return ElMessage.warning('时间不能大于31天');
}
const res = await postOpenTimeDetailExport(submitData);
const { status, data } = res;
if (status !== 200) return;
const time = new Date().getTime();
downloadXls(data, '开单及时率报表 -' + time + '.xlsx');
} catch (error) {
console.log('error :>> ', error);
} finally {
details.loadingObj.list = false;
}
};
/** 跳转详情 */
const handleJumpDetail = (row, column) => {
if (!row[column.property]) return;

21
src/views/reportforms/PackageTransferTimePageReport.vue

@ -173,8 +173,9 @@
<el-tab-pane label="零担" name="zero">
<!-- 列表模块 -->
<tablecmt
columnListName="columnListByZero"
ref="tableNodeRef2"
:columnList="details.columnList"
:columnList="details.columnListByZero"
:tableData="details.data"
@inputTxt="inputsc"
@timeCheck="timesc"
@ -192,7 +193,6 @@
</tablecmt>
</el-tab-pane>
</el-tabs>
<!-- 分页模块 -->
<div class="avue-crud__pagination flex-c-sb" style="width: 100%">
<div style="font-size: 14px">勾选数量: {{ selectionList.length }}</div>
@ -219,6 +219,14 @@
:columnList="details.columnList"
v-model="details.columnList"
></edittablehead>
<edittablehead
columnListName="columnListByZero"
@closce="showdrawerByZero"
:drawerShow="details.drawerShowByZero"
:columnList="details.columnListByZero"
v-model="details.columnListByZero"
></edittablehead>
</template>
<script setup lang="ts">
@ -252,7 +260,7 @@ import {
} from '@/utils/util';
import { useRouter } from 'vue-router';
import { ElMessage, ElMessageBox } from 'element-plus';
import { columnList } from '@/option/reportforms/PackageTransferTimePageReport';
import { columnList, columnListByZero } from '@/option/reportforms/PackageTransferTimePageReport';
//
const $router = useRouter();
@ -298,6 +306,7 @@ const details = reactive<any>({
},
],
columnList: deepClone(columnList),
columnListByZero: deepClone(columnListByZero),
data: [],
/** 头部搜索配置 */
titleSearchOption: [],
@ -313,6 +322,7 @@ const details = reactive<any>({
selectionList: [],
/** 是否显示设置表格 */
drawerShow: false,
drawerShowByZero: false,
/** 分页参数 */
page: {
pageNum: 1,
@ -466,6 +476,11 @@ const showdrawer = (_flag?: boolean) => {
details.drawerShow = _flag;
};
/** 展开列表控件 */
const showdrawerByZero = (_flag?: boolean) => {
details.drawerShowByZero = _flag;
};
/** 是否开启搜索区 */
const searchHide = () => {
details.search = !details.search;

4
src/views/warehouse/prewarehousing/PreStoragePackage.vue

@ -353,7 +353,7 @@ const handleShowQrCode = async ({ row }) => {
details.loadingObj.pageLoading = true;
let qr = {
orderPackageCodes: row.orderPackageCode,
orderPackageCodes: [row.orderPackageCode],
};
details.html = '';
const res = await getShowAdvancePackgeCode(qr);
@ -393,7 +393,7 @@ const handleBatchShowQrCode = async () => {
});
// return
let qr = {
orderPackageCodes: checkcode.join(','),
orderPackageCodes: checkcode,
};
details.html = '';
const res = await getShowAdvancePackgeCode(qr);

13
src/views/waybill/CreateZeroOrder.vue

@ -2981,6 +2981,19 @@ const handleSubmit = async (formEl: FormInstance | undefined) => {
val.deliveryPrice = !isNumber(val.deliveryPrice) ? 0 : val.deliveryPrice;
val.pickupPrice = !isNumber(val.pickupPrice) ? 0 : val.pickupPrice;
val.subtotalFreight = !isNumber(val.subtotalFreight) ? 0 : val.subtotalFreight;
if (val.chargeType === 2 && val.volume === 0) {
return ElMessage({
message: '请填写方数',
type: 'warning',
});
}
if (val.chargeType === 3 && val.weight === 0) {
return ElMessage({
message: '请填写重量',
type: 'warning',
});
}
}
// if (!(details.query.totalFreight > 0)) return ElMessage.warning('');

4
src/views/waybill/orderPackageList.vue

@ -847,7 +847,7 @@ const handleBatchBarcode = async () => {
details.loadingObj.pageLoading = true;
let qr = {
orderPackageCodes: details.selectionList.map(val => val.orderPackageCode).join(','),
orderPackageCodes: details.selectionList.map(val => val.orderPackageCode),
};
details.html = '';
@ -878,7 +878,7 @@ const printOrder = async ({ row }) => {
details.loadingObj.pageLoading = true;
details.html = '';
let qr = {
orderPackageCodes: row.orderPackageCode,
orderPackageCodes: [row.orderPackageCode],
};
const res = await getShowAdvancePackgeCode(qr);
const { code, data } = res.data;

4
src/views/waybill/orderPackageListDetails.vue

@ -739,7 +739,7 @@ const printOrder = async ({ row }) => {
details.loadingObj.pageLoading = true;
details.html = '';
let qr = {
orderPackageCodes: row.orderPackageCode,
orderPackageCodes: [row.orderPackageCode],
};
const res = await getShowAdvancePackgeCode(qr);
const { code, data } = res.data;
@ -907,7 +907,7 @@ const handleBatchBarcode = async () => {
details.loadingObj.pageLoading = true;
let qr = {
orderPackageCodes: details.selectionList.map(val => val.orderPackageCode).join(','),
orderPackageCodes: details.selectionList.map(val => val.orderPackageCode),
};
const res = await getShowAdvancePackgeCode(qr);

4
src/views/waybill/orderPackageListDetailsByMarket.vue

@ -717,7 +717,7 @@ const printOrder = async ({ row }) => {
details.loadingObj.pageLoading = true;
details.html = '';
let qr = {
orderPackageCodes: row.orderPackageCode,
orderPackageCodes: [row.orderPackageCode],
};
const res = await getShowAdvancePackgeCode(qr);
const { code, data } = res.data;
@ -886,7 +886,7 @@ const handleBatchBarcode = async () => {
details.loadingObj.pageLoading = true;
let qr = {
orderPackageCodes: details.selectionList.map(val => val.orderPackageCode).join(','),
orderPackageCodes: details.selectionList.map(val => val.orderPackageCode),
};
const res = await getShowAdvancePackgeCode(qr);

Loading…
Cancel
Save