From 52b1acf9aa11e2e510f74ce801b326eb9ef2425e Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期三, 17 四月 2024 16:26:49 +0800
Subject: [PATCH] 出库入库调拨3个模块的添加编辑增加辅助单位,辅助数量根多单位是否启用是否浮动获辅助数量是否编辑的逻辑
---
src/views/overview/OverviewListView.vue | 62 +++++++---
src/router/product/index.js | 9 +
src/router/report/index.js | 11 +
src/api/date.js | 210 +++++++++++++++++++++++++++++++++++
src/api/reportForm/inventoryRwport.js | 8 +
src/views/productManage/product/components/bomDialog.vue | 1
6 files changed, 281 insertions(+), 20 deletions(-)
diff --git a/src/api/date.js b/src/api/date.js
new file mode 100644
index 0000000..c7ea884
--- /dev/null
+++ b/src/api/date.js
@@ -0,0 +1,210 @@
+export default (() => {
+ const getDateObj = ms => {
+ const now = ms ? new Date(ms) : new Date()
+ const y = now.getFullYear()
+ let m = now.getMonth() + 1
+ m = m > 9 ? m : '0' + m
+ let d = now.getDate()
+ d = d > 9 ? d : '0' + d
+ return { y, m, d }
+ }
+ // 鑾峰彇褰撳墠鏃ユ湡
+ const getCurrentDate = ms => {
+ const dateObj = getDateObj(ms)
+ return '' + dateObj.y + '-' + dateObj.m + '-' + dateObj.d
+ }
+ //鑾峰彇褰撳墠 鍓嶅悗N澶╃殑鏃堕棿
+ const getDateStr = (AddDayCount = 0) => {
+ let dd = new Date()
+ dd.setDate(dd.getDate() + AddDayCount)
+ let y = dd.getFullYear()
+ let m = (dd.getMonth() + 1) < 10 ? '0' + (dd.getMonth() + 1) : (dd.getMonth() + 1) //鑾峰彇褰撳墠鏈堜唤鐨勬棩鏈燂紝涓嶈冻10琛�0
+ let d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate() //鑾峰彇褰撳墠鍑犲彿锛屼笉瓒�10琛�0
+ return y + '-' + m + '-' + d
+ }
+ //鑾峰彇鏌愪釜鏃ユ湡 鍓嶅悗N澶╃殑鏃堕棿
+ const getDateDay2 = (time, AddDayCount) => {
+ if (time) {
+ let dd = new Date(time)
+ dd.setDate(dd.getDate() + AddDayCount)
+ let y = dd.getFullYear()
+ let m = (dd.getMonth() + 1) < 10 ? '0' + (dd.getMonth() + 1) : (dd.getMonth() + 1) //鑾峰彇褰撳墠鏈堜唤鐨勬棩鏈燂紝涓嶈冻10琛�0
+ let d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate() //鑾峰彇褰撳墠鍑犲彿锛屼笉瓒�10琛�0
+ return y + '-' + m + '-' + d
+ } else {
+ return '--'
+ }
+ }
+ //鑾峰彇褰撳墠骞翠唤
+ const getCurrentYear = ms => {
+ const dateObj = getDateObj(ms)
+ return '' + dateObj.y
+ }
+ // 鑾峰彇褰撳墠鏈堜唤
+ const getCurrentMonth = ms => {
+ const dateObj = getDateObj(ms)
+ return '' + dateObj.y + '-' + dateObj.m
+ }
+ // 鑾峰彇涓婃湀鏈堜唤
+ const getPreviousMonth = ms => {
+ const dateObj = getDateObj(ms)
+ const b = dateObj.m - 1 > 0
+ let y = b ? dateObj.y : dateObj.y - 1
+ let m = b ? dateObj.m - 1 : 12
+ m = m > 9 ? m : '0' + m
+ return '' + y + '-' + m
+ }
+ // 鑾峰彇涓嬫湀鏈堜唤
+ const getNextMonth = ms => {
+ const dateObj = getDateObj(ms)
+ const b = dateObj.m - (-1) != 13;
+ let y = b ? dateObj.y : dateObj.y + 1
+ let m = b ? dateObj.m - (-1) : 1
+ m = m > 9 ? m : '0' + m
+ return '' + y + '-' + m
+ }
+ // 鏍煎紡鍖栨椂闂� ==> yyyy-mm-dd
+ const formatDate = (value, str) => {
+ if (value) {
+ let date_arr = value.split(str)
+ let m = date_arr[1].length == 1 && date_arr[1] < 10 ? '0' + date_arr[1] : date_arr[1]
+ let d = date_arr[2].length == 1 && date_arr[2] < 10 ? '0' + date_arr[2] : date_arr[2]
+ return date_arr[0] + '-' + m + '-' + d
+ } else {
+ return '--'
+ }
+ }
+ const getK = value => {
+ if (value) {
+ let date = new Date(value)
+ return date
+ } else {
+ let v = new Date().getTime()
+ return v
+ }
+ }
+ //杞负鏃堕棿鎴�
+ const formatTime = value => {
+ if (value) {
+ let date = new Date(value)
+ return date.getTime()
+ }
+ }
+ const formatDate2 = (time, format = 'YY-MM-DD hh:mm:ss') => {
+ if (time) {
+ let date = time ? new Date(time) : new Date()
+ let year = date.getFullYear(),
+ month = date.getMonth() + 1, //鏈堜唤鏄粠0寮�濮嬬殑
+ day = date.getDate(),
+ hour = date.getHours(),
+ min = date.getMinutes(),
+ sec = date.getSeconds()
+ let preArr = Array.apply(null, Array(10)).map(function (elem, index) {
+ return '0' + index
+ }) //寮�涓暱搴︿负10鐨勬暟缁� 鏍煎紡涓� 00 01 02 03
+
+ let newTime = format
+ .replace(/YY/g, year)
+ .replace(/MM/g, preArr[month] || month)
+ .replace(/DD/g, preArr[day] || day)
+ .replace(/hh/g, preArr[hour] || hour)
+ .replace(/mm/g, preArr[min] || min)
+ .replace(/ss/g, preArr[sec] || sec)
+
+ return newTime
+ } else {
+ return '--'
+ }
+ }
+
+ const getLastDay = dateStr => {
+ dateStr = dateStr || getCurrentMonth()
+ let nextMonthMS = new Date(getNextMonth(new Date(dateStr).getTime())).getTime()
+ return getCurrentDate(new Date(nextMonthMS - 1000 * 60 * 60 * 24).getTime())
+ }
+
+ // 瀵规瘮鏃堕棿
+ const compareTime = (date1, date2) => {
+ let d1_date1 = new Date(date1),
+ d1_date2 = new Date(date2);
+ let time_span1 = d1_date1.getTime(),
+ time_span2 = d1_date2.getTime();
+ return time_span1 - time_span2;
+ }
+ //鏍煎紡yy-mm month1灏忕殑 month2澶х殑
+ const intervalMonth = (month1, month2) => {
+ let yearMonth, number;
+ let year1 = Number(getCurrentYear(month1));
+ let year2 = Number(getCurrentYear(month2));
+ if (year1 != year2) {
+ yearMonth = (year2 - year1) * 12;
+ } else {
+ yearMonth = 0;
+ }
+ let min = Number(month1.split('-')[1]);
+ let max = Number(month2.split('-')[1]);
+ if (min < max) {
+ number = max - min + yearMonth + 1
+ } else {
+ number = yearMonth - (min - max) + 1
+ }
+ return Number(number);
+ }
+ //鑾峰彇瀛e害鐨勬椂闂� val 渚嬪 yyyy,1 鏈�缁堢粨鏋� yyyy-mm-dd,yyyy-mm-dd
+ const qurterDay = (val) => {
+ let value;
+ let num = val.split(',')[1]
+ if (num == 1) {
+ value = val.split(',')[0] + '-01-01,' + val.split(',')[0] + '-03-31'
+ } else if (num == 2) {
+ value = val.split(',')[0] + '-04-30,' + val.split(',')[0] + '-06-30'
+ } else if (num == 3) {
+ value = val.split(',')[0] + '-07-31,' + val.split(',')[0] + '-09-30'
+ } else if (num == 4) {
+ value = val.split(',')[0] + '-10-30,' + val.split(',')[0] + '-12-31'
+ }
+ return [value, num];
+ }
+ //鑾峰彇鏌愭湀鏈�鍚庝竴澶�
+ const getMonthLastDay = (dateStr) => {
+ let dateObj = getNextMonth(dateStr)
+ let date = getDateDay2(dateObj + '-01', -1)
+ return date
+ }
+ /*鑾峰彇褰撳墠鏃ユ湡*/
+ const getWeekdayTime = (value) => {
+ let d = new Date(value)
+ let week = d.getDay()
+ let weekday = ''
+ if (week == 0)
+ weekday = '鏄熸湡鏃�'
+ else if (week == 1)
+ weekday = '鏄熸湡涓�'
+ else if (week == 2)
+ weekday = '鏄熸湡浜�'
+ else if (week == 3)
+ weekday = '鏄熸湡涓�'
+ else if (week == 4)
+ weekday = '鏄熸湡鍥�'
+ else if (week == 5)
+ weekday = '鏄熸湡浜�'
+ else if (week == 6)
+ weekday = '鏄熸湡鍏�'
+ return weekday
+ }
+ //璁$畻褰撳墠鏃堕棿鍒颁粖澶╃粨鏉熸椂杩樺墿澶氬皯 姣
+ const getRestOfDayTime = () => {
+ let x = new Date();
+ x.setHours(0, 0, 0, 0);
+ let y = new Date();
+ return 24 * 3600 * 1000 - (y.getTime() - x.getTime())
+ }
+ /* 鐢ㄤ簬鏈堟棩杩欑闇�瑕佸姞鍓嶇疆0鐨勬柟娉�
+ * @param num 闇�瑕佸姞0鐨勫弬鏁� string | number
+ * @return 缁撴灉 濮嬬粓淇濊瘉缁撴灉涓哄瓧绗︿覆 string
+ */
+ const paddingZero = (num) => {
+ return num < 10 ? "0" + num : String(num)
+ }
+ return { paddingZero, getDateObj, getCurrentDate, getDateStr, getDateDay2, getCurrentYear, getCurrentMonth, getPreviousMonth, getNextMonth, formatDate, formatDate2, formatTime, getK, compareTime, getLastDay, intervalMonth, getMonthLastDay, qurterDay, getWeekdayTime, getRestOfDayTime }
+})()
diff --git a/src/api/reportForm/inventoryRwport.js b/src/api/reportForm/inventoryRwport.js
index fa597c3..de91f23 100644
--- a/src/api/reportForm/inventoryRwport.js
+++ b/src/api/reportForm/inventoryRwport.js
@@ -52,4 +52,12 @@
method: "get",
data
})
+}
+// 鏈堝害缁熻鎶ヨ〃
+export function getmonthStats(data) {
+ return request({
+ url: "/api-wms/v1/forms/monthStats",
+ method: "post",
+ data
+ })
}
\ No newline at end of file
diff --git a/src/router/product/index.js b/src/router/product/index.js
index ffbae30..76dfc41 100644
--- a/src/router/product/index.js
+++ b/src/router/product/index.js
@@ -3,6 +3,7 @@
const product = (resolve) => require(["@/views/productManage/product/index"], resolve) // 浜у搧
const inboundOutboundDetail = (resolve) => require(["@/views/reportForm/inboundOutboundDetail/index"], resolve) // 鍏ュ簱鏄庣粏鎶ヨ〃
const outboundDetail = (resolve) => require(["@/views/reportForm/outboundDetail/index"], resolve) // 鍏ュ簱鏄庣粏鎶ヨ〃
+const monthboundDetail= (resolve) => require(["@/views/reportForm/monthboundDetail/index"], resolve) // 鏈堝害鏄庣粏鎶ヨ〃
const productCategory = (resolve) => require(["@/views/productManage/productCategory/index"], resolve) // 浜у搧绫诲埆
const productList = (resolve) => require(["@/views/productManage/productCategory/ProductList"], resolve) // 浜у搧绫诲埆-浜у搧
const overviewList = (resolve) => require(["@/views/overview/OverviewListView"], resolve) // 姒傝堪-浜у搧鍒楄〃
@@ -43,6 +44,14 @@
}
},
{
+ path: "/reportForm/monthboundDetail",
+ name: "monthboundDetail",
+ component: monthboundDetail,
+ meta: {
+ title: "鏈堝害缁熻鎶ヨ〃"
+ }
+ },
+ {
path: "/productManage/productList",
name: "productList",
component: productList,
diff --git a/src/router/report/index.js b/src/router/report/index.js
index 668db2e..69cbfcf 100644
--- a/src/router/report/index.js
+++ b/src/router/report/index.js
@@ -3,6 +3,7 @@
const inventoryReport = (resolve) => require(["@/views/reportForm/inventoryReport/index"], resolve) // 搴撳瓨鎶ヨ〃
const locationReport = (resolve) => require(["@/views/reportForm/locationReport/index"], resolve) // 浣嶇疆鎶ヨ〃
const inboundOutboundDetail = (resolve) => require(["@/views/reportForm/inboundOutboundDetail/index"], resolve) // 鍘嗗彶璁板綍
+const monthboundDetail= (resolve) => require(["@/views/reportForm/monthboundDetail/index"], resolve) // 鏈堝害鏄庣粏鎶ヨ〃
const appconfig = [
{
@@ -28,7 +29,15 @@
meta: {
title: "鍏ュ簱鏄庣粏鎶ヨ〃"
}
- }
+ },
+ {
+ path: "/reportForm/monthboundDetail",
+ name: "monthboundDetail",
+ component: monthboundDetail,
+ meta: {
+ title: "鏈堝害缁熻鎶ヨ〃"
+ }
+ },
]
export default appconfig
diff --git a/src/views/overview/OverviewListView.vue b/src/views/overview/OverviewListView.vue
index 49354f5..177b5e5 100644
--- a/src/views/overview/OverviewListView.vue
+++ b/src/views/overview/OverviewListView.vue
@@ -120,7 +120,7 @@
numberLabel: "鍗曞彿",
TabsIndex: "0",
productTableList: {},
- showBottomCol: ["浜у搧缂栧彿", "浜у搧鍚嶇О", "浜у搧瑙勬牸", "浜у搧鍨嬪彿", "璁¢噺鍗曚綅", "璋冨嚭浣嶇疆", "璋冨叆浣嶇疆", "鏁伴噺","涓荤","浼氳","淇濈鍛�",'杈呭姪鏁伴噺','杈呭姪鍗曚綅'],
+ showBottomCol: ["浜у搧缂栧彿", "浜у搧鍚嶇О", "浜у搧瑙勬牸", "浜у搧鍨嬪彿", "璁¢噺鍗曚綅", "璋冨嚭浣嶇疆", "璋冨叆浣嶇疆", "鏁伴噺","涓荤","浼氳","淇濈鍛�",'杈呭姪鏁伴噺','杈呭姪鍗曚綅','姣涢噸','鎬绘瘺閲�','鍑�閲�','鎬诲噣閲�'],
tableBottomColumn: [],
selectRow: {},
productColumn: [
@@ -131,7 +131,11 @@
{ label: "鏁伴噺", prop: "amount" },
{ label: "璁¢噺鍗曚綅", prop: "unit" },
{ label: "杈呭姪鏁伴噺", prop: "adjunctAmount" },
- { label: "杈呭姪鍗曚綅", prop: "adjunctUnit" }
+ { label: "杈呭姪鍗曚綅", prop: "adjunctUnit" },
+ { label: "姣涢噸", prop: "grossWeight" },
+ { label: "鎬绘瘺閲�", prop: "totalGrossWeight" },
+ { label: "鍑�閲�", prop: "netWeight" },
+ { label: "鎬诲噣閲�", prop: "totalNetWeight" }
],
allotProductColumn: [
{ label: "浜у搧缂栧彿", prop: "id", default: true },
@@ -143,7 +147,11 @@
{ label: "璋冨叆浣嶇疆", prop: "toLocation" },
{ label: "鏁伴噺", prop: "amount" },
{ label: "杈呭姪鏁伴噺", prop: "adjunctAmount" },
- { label: "杈呭姪鍗曚綅", prop: "adjunctUnit" }
+ { label: "杈呭姪鍗曚綅", prop: "adjunctUnit" },
+ { label: "姣涢噸", prop: "grossWeight" },
+ { label: "鎬绘瘺閲�", prop: "totalGrossWeight" },
+ { label: "鍑�閲�", prop: "netWeight" },
+ { label: "鎬诲噣閲�", prop: "totalNetWeight" }
]
}
},
@@ -350,27 +358,45 @@
// bottom浜у搧淇℃伅鏁版嵁澶勭悊
bottomProductData(arr) {
const list = arr.details.map((item) => {
- let adjunctUnit=''
- let adjunctAmount=''
- if(item.product.moreUnit&&item.product.moreUnitList){
- let moreUnitList=item.product.moreUnitList
- if(moreUnitList.length>0){
- for(let j in moreUnitList){
- if(moreUnitList[j].floating){
- adjunctUnit=moreUnitList[j].unit
- adjunctAmount=moreUnitList[j].amount
- }
- }
- }
- }
+ // let adjunctUnit=''
+ // let adjunctAmount=''
+ // if(item.product.moreUnit&&item.product.moreUnitList){
+ // let moreUnitList=item.product.moreUnitList
+ // if(moreUnitList.length>0){
+ // let isValue=false
+ // for(let j in moreUnitList){
+ // if(moreUnitList[j].floating){
+ // isValue=true;
+ // adjunctUnit=moreUnitList[j].unit
+ // adjunctAmount=moreUnitList[j].amount
+ // break;
+ // }
+ // }
+ // if(!isValue){
+ // for(let j in moreUnitList){
+ // if(moreUnitList[j].unit){
+ // adjunctUnit=moreUnitList[j].unit
+ // adjunctAmount=moreUnitList[j].amount
+ // break;
+ // }
+ // }
+ // }
+ // }
+ // }
return {
...item,
productName: item.product.name,
unit: item.product.unit,
+ model:item.product.model,
+ specs:item.product.specs,
location: arr.location.name,
toLocation: arr.toLocation.name,
- adjunctUnit:adjunctUnit,
- adjunctAmount:adjunctAmount
+ adjunctUnit:item.auxiliaryUnit,
+ adjunctAmount:item.auxiliaryAmount,
+ grossWeight:item.product.grossWeight,
+ totalGrossWeight:item.totalGrossWeight,
+ netWeight:item.product.netWeight,
+ totalNetWeight:item.totalNetWeight,
}
})
this.productTableList.tableInfomation = list
diff --git a/src/views/productManage/product/components/bomDialog.vue b/src/views/productManage/product/components/bomDialog.vue
index faa97cd..9d34367 100644
--- a/src/views/productManage/product/components/bomDialog.vue
+++ b/src/views/productManage/product/components/bomDialog.vue
@@ -114,7 +114,6 @@
handleAdd() {
this.BomTableData=this.thatEditRow.BomTableData
this.BomTableData.push({ name: "", isDefault: false });
- debugger
this.$nextTick(()=>{
setTimeout(() => {
this.$refs.unitTable.bodyWrapper.scrollTop=this.$refs.unitTable.bodyWrapper.scrollHeight
--
Gitblit v1.8.0