From 16a6106f39d40c7906c236d8356f37069be6cb20 Mon Sep 17 00:00:00 2001 From: qb <1191961160@qq.com> Date: Fri, 19 Apr 2024 17:49:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=85=A8=E9=83=A8=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../distribution/distributionStockArticle.js | 19 +- .../delivery/distributionStockArticle.vue | 231 ++++++++++++------ .../distributionStockArticleDiscuss.vue | 144 +++++++++-- .../distributionStockArticleMarket.vue | 203 ++++++++++----- .../delivery/distributionStockArticleSelf.vue | 172 +++++++++---- 5 files changed, 563 insertions(+), 206 deletions(-) diff --git a/src/api/distribution/distributionStockArticle.js b/src/api/distribution/distributionStockArticle.js index 6ff775df..0e9215b3 100644 --- a/src/api/distribution/distributionStockArticle.js +++ b/src/api/distribution/distributionStockArticle.js @@ -11,15 +11,14 @@ export const getList = (current, size, params) => { }, }); }; -export const $_signforList = (params) => { +export const $_signforList = params => { return request({ url: '/api/logpm-distribution/distributionStockArticle/signforList', method: 'get', - params + params, }); }; - export const getListStockArticleWhole = (current, size, params) => { return request({ url: '/api/logpm-distribution/distributionStockArticle/listWhole', @@ -365,7 +364,6 @@ export const postShowOrderCode = params => { }); }; - export const $_signforDistributionStockArticleList = params => { return request({ url: '/api/logpm-distribution/distributionStockArticle/export-signforDistributionStockArticleList', @@ -373,4 +371,15 @@ export const $_signforDistributionStockArticleList = params => { params, responseType: 'blob', }); -}; \ No newline at end of file +}; + +/** + * 获取全部在库信息 + */ +export const getCollectt = params => { + return request({ + url: '/api/logpm-distribution/distributionStockArticleStatistics/collect', + method: 'get', + params, + }); +}; diff --git a/src/views/distribution/inventory/delivery/distributionStockArticle.vue b/src/views/distribution/inventory/delivery/distributionStockArticle.vue index c8ee6e64..d4a05d0a 100644 --- a/src/views/distribution/inventory/delivery/distributionStockArticle.vue +++ b/src/views/distribution/inventory/delivery/distributionStockArticle.vue @@ -39,81 +39,75 @@ - -
- -
- - - 批量转库存品 - 修改客户信息 - 修改服务类型 - 导 出 - - - - - - - - - - - - - +
+ +
+ 批量转库存品 + 修改客户信息 + 修改服务类型 + 导 出 + + 创建提货单 + 再次通知 + 通知提货 +
+ +
+
+
订单总数:
+
{{ totalInfo.orderNum || 0 }}
-
- 创建提货单 - 再次通知 - 通知提货 + +
+
包件总数:
+
{{ totalInfo.packageCodeNum || 0 }}
- -
- - - + +
+
运单总数:
+
{{ totalInfo.waybillNum || 0 }}
- + + +
+ + + +
+
+ + + + + + + + +
@@ -406,6 +412,7 @@ import { addStock, stockArticExport, postShowOrderCode, + getCollectt, } from '@/api/distribution/distributionStockArticle'; import { getListOwn } from '@/api/distribution/distributionParcelList'; import { addCallDelivery } from '@/api/distribution/distrilbutionCallDelivery'; @@ -418,7 +425,7 @@ import dayjs from 'dayjs'; import { getUser } from '@/api/system/user'; import { exportBlob } from '@/api/common'; import { getToken } from '@/utils/auth'; -import { downloadXls } from '@/utils/util'; +import { downloadXls, getObjType } from '@/utils/util'; import { columnList } from '@/option/distribution/distributionStockArticleSelf'; import { deepClone, setNodeHeight, hanleTextLineFeed } from '@/utils/util.js'; const _newCol = deepClone(columnList); @@ -549,6 +556,15 @@ export default { popUpShow: { printVisited: false, }, + /** 展示数据 */ + totalInfo: { + /** 订单总数 */ + orderNum: 0, + /** 包件总数 */ + packageCodeNum: 0, + /** 运单总数 */ + waybillNum: 0, + }, }; }, mounted() { @@ -1321,11 +1337,10 @@ export default { params.entDate = this.getTime(entDate.toString()); } this.query.genre = 1; - const res = await getList( - page.currentPage, - page.pageSize, - Object.assign(params, this.query) - ); + const [res] = await Promise.all([ + getList(page.currentPage, page.pageSize, Object.assign(params, this.query)), + this.getAllOrderInfo(), + ]); const data = res.data.data; this.page.total = data.total; this.data = data.records; @@ -1383,6 +1398,56 @@ export default { }, }); }, + /** 获取全部订单数据 */ + async getAllOrderInfo() { + try { + const submitData = { + genre: 1, + ...this.query, + }; + + const res = await getCollectt(submitData); + + const { code, data } = res.data; + if (code !== 200) return; + this.totalInfo = data || {}; + + if (getObjType(this.totalInfo) !== 'object') this.totalInfo = {}; + + for (const key in this.totalInfo) { + let value = this.totalInfo[key]; + const type = getObjType(value); + + console.log('type :>> ', type); + + if (type !== 'number' && type !== 'string') { + this.totalInfo[key] = 0; + continue; + } + + // 转为字符串 + value += ''; + + value = value.split('').reverse().join(''); + + let _str = ''; + + for (let i = 0; i < value.length; i++) { + const _val = value[i]; + + _str += _val; + + if ((i + 1) % 3 === 0 && i + 1 < value.length) _str += ','; + } + + this.totalInfo[key] = _str.split('').reverse().join(''); + } + } catch (error) { + console.log('error :>> ', error); + } finally { + return null; + } + }, }, }; @@ -1441,4 +1506,20 @@ export default { display: flex; align-items: flex-end; } + +// 统计 +.totalContainer { + text-align: center; + font-weight: bold; + + .title { + font-size: 0.9rem; + } + + .value { + transition: all 1.5s; + font-size: 1rem; + color: #397b12; + } +} diff --git a/src/views/distribution/inventory/delivery/distributionStockArticleDiscuss.vue b/src/views/distribution/inventory/delivery/distributionStockArticleDiscuss.vue index 81d302cb..0493cf93 100644 --- a/src/views/distribution/inventory/delivery/distributionStockArticleDiscuss.vue +++ b/src/views/distribution/inventory/delivery/distributionStockArticleDiscuss.vue @@ -33,35 +33,51 @@
- -
- -
- +
+ - 修改客户信息 - 修改运单收货人 - 修改服务类型 - 导 出 + 修改客户信息 + 修改运单收货人 + 修改服务类型 + 导 出 +
+ +
+
+
订单总数:
+
{{ totalInfo.orderNum || 0 }}
+
+ +
+
包件总数:
+
{{ totalInfo.packageCodeNum || 0 }}
- -
- - - +
+
运单总数:
+
{{ totalInfo.waybillNum || 0 }}
- + + +
+ + + +
+
> ', type); + + if (type !== 'number' && type !== 'string') { + this.totalInfo[key] = 0; + continue; + } + + // 转为字符串 + value += ''; + + value = value.split('').reverse().join(''); + + let _str = ''; + + for (let i = 0; i < value.length; i++) { + const _val = value[i]; + + _str += _val; + + if ((i + 1) % 3 === 0 && i + 1 < value.length) _str += ','; + } + + this.totalInfo[key] = _str.split('').reverse().join(''); + } + } catch (error) { + console.log('error :>> ', error); + } + }, }, }; @@ -1384,4 +1458,20 @@ export default { display: flex; align-items: flex-end; } + +// 统计 +.totalContainer { + text-align: center; + font-weight: bold; + + .title { + font-size: 0.9rem; + } + + .value { + transition: all 1.5s; + font-size: 1rem; + color: #397b12; + } +} diff --git a/src/views/distribution/inventory/delivery/distributionStockArticleMarket.vue b/src/views/distribution/inventory/delivery/distributionStockArticleMarket.vue index 51e97925..81ecf0fb 100644 --- a/src/views/distribution/inventory/delivery/distributionStockArticleMarket.vue +++ b/src/views/distribution/inventory/delivery/distributionStockArticleMarket.vue @@ -30,68 +30,83 @@
- -
- -
- +
+ - - 批量转库存品 - 修改客户信息 - 修改服务类型 - + 批量转库存品 + 修改客户信息 + 修改服务类型 + + 创建提货单 + 再次通知 + 通知提货 + 导 出 + +
+ +
+
+
订单总数:
+
{{ totalInfo.orderNum || 0 }}
-
- 创建提货单 - 再次通知 - 通知提货 - 导 出 + +
+
包件总数:
+
{{ totalInfo.packageCodeNum || 0 }}
- -
- - - + +
+
运单总数:
+
{{ totalInfo.waybillNum || 0 }}
- + + +
+ + + +
+
>>>>>>', data.records); this.page.total = data.total; @@ -1284,6 +1308,55 @@ export default { }, }); }, + /** 获取全部订单数据 */ + async getAllOrderInfo() { + try { + const submitData = { + genre: 1, + typeService: 2, + ...this.query, + }; + + const res = await getCollectt(submitData); + + const { code, data } = res.data; + if (code !== 200) return; + this.totalInfo = data || {}; + + if (getObjType(this.totalInfo) !== 'object') this.totalInfo = {}; + + for (const key in this.totalInfo) { + let value = this.totalInfo[key]; + const type = getObjType(value); + + console.log('type :>> ', type); + + if (type !== 'number' && type !== 'string') { + this.totalInfo[key] = 0; + continue; + } + + // 转为字符串 + value += ''; + + value = value.split('').reverse().join(''); + + let _str = ''; + + for (let i = 0; i < value.length; i++) { + const _val = value[i]; + + _str += _val; + + if ((i + 1) % 3 === 0 && i + 1 < value.length) _str += ','; + } + + this.totalInfo[key] = _str.split('').reverse().join(''); + } + } catch (error) { + console.log('error :>> ', error); + } + }, }, }; @@ -1341,4 +1414,20 @@ export default { display: flex; align-items: flex-end; } + +// 统计 +.totalContainer { + text-align: center; + font-weight: bold; + + .title { + font-size: 0.9rem; + } + + .value { + transition: all 1.5s; + font-size: 1rem; + color: #397b12; + } +} diff --git a/src/views/distribution/inventory/delivery/distributionStockArticleSelf.vue b/src/views/distribution/inventory/delivery/distributionStockArticleSelf.vue index e5b0f15a..d5f38532 100644 --- a/src/views/distribution/inventory/delivery/distributionStockArticleSelf.vue +++ b/src/views/distribution/inventory/delivery/distributionStockArticleSelf.vue @@ -31,50 +31,65 @@
- -
- -
- +
+ - 创建提货单 - 批量转库存品 - 修改客户信息 - 修改运单收货人 - 修改服务类型 - 通知提货 - 再次通知 - 导 出 + 创建提货单 + 批量转库存品 + 修改客户信息 + 修改运单收货人 + 修改服务类型 + 通知提货 + 再次通知 + 导 出 +
+ +
+
+
订单总数:
+
{{ totalInfo.orderNum || 0 }}
-
- + +
+
包件总数:
+
{{ totalInfo.packageCodeNum || 0 }}
- -
- - - + +
+
运单总数:
+
{{ totalInfo.waybillNum || 0 }}
- + + +
+ + + +
+
> ', type); + + if (type !== 'number' && type !== 'string') { + this.totalInfo[key] = 0; + continue; + } + + // 转为字符串 + value += ''; + + value = value.split('').reverse().join(''); + + let _str = ''; + + for (let i = 0; i < value.length; i++) { + const _val = value[i]; + + _str += _val; + + if ((i + 1) % 3 === 0 && i + 1 < value.length) _str += ','; + } + + this.totalInfo[key] = _str.split('').reverse().join(''); + } + } catch (error) { + console.log('error :>> ', error); + } + }, }, }; @@ -1694,4 +1766,20 @@ export default { display: flex; align-items: flex-end; } + +// 统计 +.totalContainer { + text-align: center; + font-weight: bold; + + .title { + font-size: 0.9rem; + } + + .value { + transition: all 1.5s; + font-size: 1rem; + color: #397b12; + } +}