From 07c8147781ec80c57f335e25d9013adb8d8aaa5d Mon Sep 17 00:00:00 2001 From: xzg <4727863@qq.com> Date: Wed, 26 Mar 2025 11:22:28 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E5=A4=84=E7=90=86=E7=95=8C=E9=9D=A2=E8=AF=B4=E6=98=8E=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/aftersales/aftersalesWorkOrderend.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/views/aftersales/aftersalesWorkOrderend.vue b/src/views/aftersales/aftersalesWorkOrderend.vue index 51591590..d3f734fb 100644 --- a/src/views/aftersales/aftersalesWorkOrderend.vue +++ b/src/views/aftersales/aftersalesWorkOrderend.vue @@ -190,7 +190,8 @@
说明: - +
From 3a5e217f0353e925c38108a4781f0e922fb52a43 Mon Sep 17 00:00:00 2001 From: xzg <4727863@qq.com> Date: Wed, 26 Mar 2025 14:26:45 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=85=AC=E5=91=8A?= =?UTF-8?q?=E6=A0=8F=E6=B2=A1=E6=B6=88=E6=81=AF=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reportforms/Mainlinedeliverydetails.js | 2 +- src/views/wel/bulletinboard/bulletinboard.vue | 39 +++++++++---------- 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/src/option/reportforms/Mainlinedeliverydetails.js b/src/option/reportforms/Mainlinedeliverydetails.js index 275493f2..bcfe3f95 100644 --- a/src/option/reportforms/Mainlinedeliverydetails.js +++ b/src/option/reportforms/Mainlinedeliverydetails.js @@ -322,7 +322,7 @@ export const columnList = [ { prop: 'createUserName', label: '创建人', - type: 1, + type:2, values: '', width: '150', checkarr: [], diff --git a/src/views/wel/bulletinboard/bulletinboard.vue b/src/views/wel/bulletinboard/bulletinboard.vue index 39afbc58..28cbea7f 100644 --- a/src/views/wel/bulletinboard/bulletinboard.vue +++ b/src/views/wel/bulletinboard/bulletinboard.vue @@ -5,33 +5,23 @@
-
+

{{ item.title }}

时间:{{ item.releaseTime }}

- +
- +

时间: {{ currentAnnouncement.releaseTime }}
分类:{{ currentAnnouncement.categoryName }} @@ -39,11 +29,13 @@

@@ -172,6 +164,7 @@ const toggleAnnouncements = () => { border-radius: 8px; overflow: hidden; position: relative; + .announcement-content { padding: 0 10px; height: 450px; @@ -219,6 +212,7 @@ const toggleAnnouncements = () => { .content { display: flex; align-items: center; + p { font-size: 14px; color: #555; @@ -230,6 +224,7 @@ const toggleAnnouncements = () => { white-space: nowrap; // 溢出不换行 } } + .date { font-size: 12px; color: #999; @@ -241,6 +236,7 @@ const toggleAnnouncements = () => { /* 响应式设计 */ @media (max-width: 768px) { + .el_top, .announcement-board { width: 90%; @@ -288,16 +284,19 @@ const toggleAnnouncements = () => { display: flex; justify-content: space-evenly; transform: translate(-56%, 0); + button { width: 150px; height: 50px; margin: 0; } } + .footer { display: flex; justify-content: flex-end; padding-right: 6px; + span { display: flex; border: 1px solid; From dd3408887768cd5d806c9bad049e221cba18f00f Mon Sep 17 00:00:00 2001 From: xzg <4727863@qq.com> Date: Wed, 26 Mar 2025 16:04:05 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E5=85=B3=E9=97=AD=E5=B9=B2=E7=BA=BF?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=8A=A5=E8=A1=A8=E6=90=9C=E7=B4=A2=E4=BA=BA?= =?UTF-8?q?=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/option/reportforms/Mainlinedeliverydetails.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/option/reportforms/Mainlinedeliverydetails.js b/src/option/reportforms/Mainlinedeliverydetails.js index bcfe3f95..3fb72dc4 100644 --- a/src/option/reportforms/Mainlinedeliverydetails.js +++ b/src/option/reportforms/Mainlinedeliverydetails.js @@ -322,7 +322,7 @@ export const columnList = [ { prop: 'createUserName', label: '创建人', - type:2, + type:1, values: '', width: '150', checkarr: [], From 59c20a67147a77680700ea0522f118aee3b896e1 Mon Sep 17 00:00:00 2001 From: qb <1191961160@qq.com> Date: Wed, 26 Mar 2025 17:30:10 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/waybill/orderPackageListDetails.js | 6 +- .../CreateOrderTimelinessRatioReport.js | 12 ++ .../PackageTransferTimePageReport.js | 154 ++++++++++++++++++ .../artery/VehicleStowageZeroLoading.vue | 10 +- .../artery/directGoMarketDetails.vue | 1 - .../artery/truckLoadingDetails.vue | 4 +- .../distribution/inventory/CreateOrder.vue | 13 ++ .../inventory/delivery/Unstoreddetails.vue | 4 +- .../CreateOrderTimelinessRatioReport.vue | 33 ++++ .../PackageTransferTimePageReport.vue | 21 ++- .../prewarehousing/PreStoragePackage.vue | 4 +- src/views/waybill/CreateZeroOrder.vue | 13 ++ src/views/waybill/orderPackageList.vue | 4 +- src/views/waybill/orderPackageListDetails.vue | 4 +- .../orderPackageListDetailsByMarket.vue | 4 +- 15 files changed, 264 insertions(+), 23 deletions(-) diff --git a/src/api/waybill/orderPackageListDetails.js b/src/api/waybill/orderPackageListDetails.js index ccaf4f3c..4671896b 100644 --- a/src/api/waybill/orderPackageListDetails.js +++ b/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, }); }; diff --git a/src/option/reportforms/CreateOrderTimelinessRatioReport.js b/src/option/reportforms/CreateOrderTimelinessRatioReport.js index 8f6561d3..70a2a7d1 100644 --- a/src/option/reportforms/CreateOrderTimelinessRatioReport.js +++ b/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: '是否开单', diff --git a/src/option/reportforms/PackageTransferTimePageReport.js b/src/option/reportforms/PackageTransferTimePageReport.js index 14ae9279..727f31e2 100644 --- a/src/option/reportforms/PackageTransferTimePageReport.js +++ b/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, + }, +]; diff --git a/src/views/distribution/artery/VehicleStowageZeroLoading.vue b/src/views/distribution/artery/VehicleStowageZeroLoading.vue index 8d907f64..fb185b9c 100644 --- a/src/views/distribution/artery/VehicleStowageZeroLoading.vue +++ b/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); diff --git a/src/views/distribution/artery/directGoMarketDetails.vue b/src/views/distribution/artery/directGoMarketDetails.vue index 58c3fdfb..8d33026d 100644 --- a/src/views/distribution/artery/directGoMarketDetails.vue +++ b/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" /> diff --git a/src/views/distribution/artery/truckLoadingDetails.vue b/src/views/distribution/artery/truckLoadingDetails.vue index 592a4a26..72a5fec6 100644 --- a/src/views/distribution/artery/truckLoadingDetails.vue +++ b/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; diff --git a/src/views/distribution/inventory/CreateOrder.vue b/src/views/distribution/inventory/CreateOrder.vue index 052a810d..1ada6ad8 100644 --- a/src/views/distribution/inventory/CreateOrder.vue +++ b/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)) { diff --git a/src/views/distribution/inventory/delivery/Unstoreddetails.vue b/src/views/distribution/inventory/delivery/Unstoreddetails.vue index 0f852193..f68a8fb9 100644 --- a/src/views/distribution/inventory/delivery/Unstoreddetails.vue +++ b/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); diff --git a/src/views/reportforms/CreateOrderTimelinessRatioReport.vue b/src/views/reportforms/CreateOrderTimelinessRatioReport.vue index cb9a9cc0..8c691e3b 100644 --- a/src/views/reportforms/CreateOrderTimelinessRatioReport.vue +++ b/src/views/reportforms/CreateOrderTimelinessRatioReport.vue @@ -86,6 +86,7 @@
导出 + 明细导出
@@ -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; diff --git a/src/views/reportforms/PackageTransferTimePageReport.vue b/src/views/reportforms/PackageTransferTimePageReport.vue index 2c3fd58b..0b6a51ab 100644 --- a/src/views/reportforms/PackageTransferTimePageReport.vue +++ b/src/views/reportforms/PackageTransferTimePageReport.vue @@ -173,8 +173,9 @@ -
勾选数量: {{ selectionList.length }}
@@ -219,6 +219,14 @@ :columnList="details.columnList" v-model="details.columnList" > + +