luobang 1 rok pred
rodič
commit
e34050ab26

+ 2 - 2
build/utils.js

@@ -16,9 +16,9 @@ const devPathSrc = path.resolve(__dirname, '../../../src') // node_modules应用
 //       统计报表       组织机构/系统管理 采购  仓储
 //  'statisticalReport','systemConfig','TMS','WMS','workFlow','ADMINISTRATORS']
 
-// let devModules = ['all']
-// let devModules = ['index']
 let devModules = ['all']
+// let devModules = ['index', 'statisticalReport', 'sale']
+// let devModules = ['all']/
 // let devModules = ['index', 'sale']
 
 if (pathSrc.indexOf('node_modules') > -1) {

+ 168 - 10
src/views/sale/components/transportFreight/saleTruckSettlement/bmsTruckDetailsOrderNew.vue

@@ -101,7 +101,7 @@
           </el-button>
         </el-form-item>
         <el-form-item>
-          <el-button type="primary" @click="exportAllReportToExcel"
+          <el-button type="primary" @click="exportAllReportToExcel()"
             >下载Excel</el-button
           >
         </el-form-item>
@@ -206,7 +206,7 @@
     <div class="table11">
       <el-tabs v-model="activeName" style="margin-left: 20px;">
         <el-tab-pane label="未结算" name="first">
-          <div class="table">
+          <div class="table" id="unSettledReports">
             <el-table
               :data="visibleList"
               :span-method="objectSpanMethod"
@@ -238,6 +238,8 @@
               </el-table-column>
               <el-table-column
                 prop="orderTime"
+                column-key="orderTime"
+                key="orderTime"
                 label="订单日期"
                 width="110px"
                 align="center"
@@ -245,6 +247,8 @@
               </el-table-column>
               <el-table-column
                 prop="saleMakeDate"
+                column-key="saleMakeDate"
+                key="saleMakeDate"
                 label="制单日期"
                 width="130px"
                 align="center"
@@ -253,6 +257,7 @@
               <el-table-column
                 prop="newCapacityNo"
                 column-key="newCapacityNo"
+                key="newCapacityNo"
                 label="车号"
                 align="center"
                 width="90px"
@@ -266,6 +271,7 @@
                 width="160px"
                 align="center"
                 column-key="consigneeName"
+                key="consigneeName"
                 :filters="filterConsigneeList"
                 show-overflow-tooltip
               >
@@ -273,6 +279,7 @@
               <el-table-column
                 prop="materialName"
                 column-key="materialNameList"
+                key="materialNameList"
                 label="物料名称"
                 align="center"
                 width="150px"
@@ -283,6 +290,7 @@
                 prop="materialSpe"
                 label="规格型号"
                 column-key="materialSpe"
+                key="materialSpe"
                 align="center"
                 :filters="filtermaterialSpe"
                 width="120px"
@@ -290,6 +298,8 @@
               </el-table-column>
               <el-table-column
                 prop="materialPlanNumber"
+                column-key="materialPlanNumber"
+                key="materialPlanNumber"
                 label="辅助数量"
                 align="center"
                 width="100px"
@@ -297,6 +307,8 @@
               </el-table-column>
               <el-table-column
                 prop="materialAcWeight"
+                column-key="materialAcWeight"
+                key="materialAcWeight"
                 label="累计出库数量"
                 align="center"
                 width="100px"
@@ -304,6 +316,8 @@
               </el-table-column>
               <el-table-column
                 prop="materialNum"
+                column-key="materialNum"
+                key="materialNum"
                 label="累计检斤通知单辅助数量"
                 align="center"
                 width="150px"
@@ -318,6 +332,7 @@
               <el-table-column
                 prop="saleRemark"
                 column-key="saleRemark"
+                key="saleRemark"
                 label="摘要"
                 width="150px"
                 align="center"
@@ -331,6 +346,7 @@
                 align="center"
                 width="80px"
                 column-key="carrierList"
+                key="carrierList"
                 show-overflow-tooltip
                 :filters="filterCarrierList"
               >
@@ -340,17 +356,28 @@
                 label="下货地点"
                 width="300px"
                 column-key="actualAddress"
+                key="actualAddress"
               >
               </el-table-column>
-              <el-table-column prop="priceValue" label="单价" width="100px">
+              <el-table-column
+                prop="priceValue"
+                label="单价"
+                width="100px"
+                column-key="priceValue"
+                key="priceValue"
+              >
               </el-table-column>
               <el-table-column
                 prop="detailsAmount"
+                column-key="detailsAmount"
+                key="detailsAmount"
                 label="运费"
                 width="100px"
               ></el-table-column>
               <el-table-column
                 prop="closeEntryId"
+                column-key="closeEntryId"
+                key="closeEntryId"
                 label="分录ID"
                 width="120px"
                 show-overflow-tooltip
@@ -358,6 +385,8 @@
               </el-table-column>
               <el-table-column
                 prop="actualCity"
+                column-key="actualCity"
+                key="actualCity"
                 label="卸货城市"
                 width="120px"
                 show-overflow-tooltip
@@ -369,13 +398,22 @@
                 width="150px"
                 align="center"
                 column-key="saleAreaList"
+                key="saleAreaList"
                 :filters="filterSaleAreaList"
               >
               </el-table-column>
-              <el-table-column prop="unloadType" label="卸货类型" width="60px">
+              <el-table-column
+                prop="unloadType"
+                label="卸货类型"
+                width="60px"
+                column-key="unloadType"
+                key="unloadType"
+              >
               </el-table-column>
               <el-table-column
                 prop="saleOrderReceiveCustomer"
+                column-key="saleOrderReceiveCustomer"
+                key="saleOrderReceiveCustomer"
                 label="收款客户"
                 width="120px"
                 show-overflow-tooltip
@@ -392,6 +430,8 @@
               </el-table-column> -->
               <el-table-column
                 prop="materialWeight"
+                column-key="materialWeight"
+                key="materialWeight"
                 label="理重"
                 show-overflow-tooltip
               >
@@ -399,6 +439,8 @@
 
               <el-table-column
                 prop="paymentCustomer"
+                column-key="paymentCustomer"
+                key="paymentCustomer"
                 label="付款单位"
                 width="120px"
                 show-overflow-tooltip
@@ -406,6 +448,8 @@
               </el-table-column>
               <el-table-column
                 prop="consingneeSettlementMethod"
+                column-key="consingneeSettlementMethod"
+                key="consingneeSettlementMethod"
                 label="结算方式"
                 width="120px"
                 show-overflow-tooltip
@@ -414,6 +458,8 @@
 
               <el-table-column
                 prop="recordUserName"
+                column-key="recordUserName"
+                key="recordUserName"
                 label="操作人"
                 width="120px"
                 show-overflow-tooltip
@@ -421,6 +467,8 @@
               </el-table-column>
               <el-table-column
                 prop="detailsRemark"
+                column-key="detailsRemark"
+                key="detailsRemark"
                 label="直接修改备注"
                 width="120px"
                 show-overflow-tooltip
@@ -468,6 +516,8 @@
               </el-table-column>
               <el-table-column
                 prop="orderTime"
+                column-key="orderTime"
+                key="orderTime"
                 label="订单日期"
                 width="110px"
                 align="center"
@@ -476,6 +526,8 @@
               </el-table-column>
               <el-table-column
                 prop="saleMakeDate"
+                column-key="saleMakeDate"
+                key="saleMakeDate"
                 label="制单日期"
                 width="130px"
                 align="center"
@@ -484,6 +536,7 @@
               <el-table-column
                 prop="newCapacityNo"
                 column-key="newCapacityNo"
+                key="newCapacityNo"
                 label="车号"
                 align="center"
                 width="90px"
@@ -497,6 +550,7 @@
                 width="160px"
                 align="center"
                 column-key="consigneeName"
+                key="consigneeName"
                 :filters="filterConsigneeList"
                 show-overflow-tooltip
               >
@@ -504,6 +558,7 @@
               <el-table-column
                 prop="materialName"
                 column-key="materialNameList"
+                key="materialNameList"
                 label="物料名称"
                 align="center"
                 width="150px"
@@ -514,6 +569,7 @@
                 prop="materialSpe"
                 label="规格型号"
                 column-key="materialSpe"
+                key="materialSpe"
                 align="center"
                 :filters="filtermaterialSpe"
                 width="120px"
@@ -521,6 +577,8 @@
               </el-table-column>
               <el-table-column
                 prop="materialPlanNumber"
+                column-key="materialPlanNumber"
+                key="materialPlanNumber"
                 label="辅助数量"
                 align="center"
                 width="100px"
@@ -528,6 +586,8 @@
               </el-table-column>
               <el-table-column
                 prop="materialAcWeight"
+                column-key="materialAcWeight"
+                key="materialAcWeight"
                 label="累计出库数量"
                 align="center"
                 width="100px"
@@ -535,6 +595,8 @@
               </el-table-column>
               <el-table-column
                 prop="materialNum"
+                column-key="materialNum"
+                key="materialNum"
                 label="累计检斤通知单辅助数量"
                 align="center"
                 width="150px"
@@ -542,6 +604,8 @@
               </el-table-column>
               <el-table-column
                 prop="netWeight"
+                column-key="netWeight"
+                key="netWeight"
                 label="磅重"
                 show-overflow-tooltip
               >
@@ -549,6 +613,7 @@
               <el-table-column
                 prop="saleRemark"
                 column-key="saleRemark"
+                key="saleRemark"
                 label="摘要"
                 width="150px"
                 align="center"
@@ -562,6 +627,7 @@
                 align="center"
                 width="80px"
                 column-key="carrierList"
+                key="carrierList"
                 show-overflow-tooltip
                 :filters="filterCarrierList"
               >
@@ -571,18 +637,29 @@
                 label="下货地点"
                 width="300px"
                 column-key="actualAddress"
+                key="actualAddress"
                 show-overflow-tooltip
               >
               </el-table-column>
-              <el-table-column prop="priceValue" label="单价" width="100px">
+              <el-table-column
+                prop="priceValue"
+                label="单价"
+                width="100px"
+                column-key="priceValue"
+                key="priceValue"
+              >
               </el-table-column>
               <el-table-column
                 prop="detailsAmount"
+                column-key="detailsAmount"
+                key="detailsAmount"
                 label="运费"
                 width="100px"
               ></el-table-column>
               <el-table-column
                 prop="closeEntryId"
+                column-key="closeEntryId"
+                key="closeEntryId"
                 label="分录ID"
                 width="120px"
                 show-overflow-tooltip
@@ -590,6 +667,8 @@
               </el-table-column>
               <el-table-column
                 prop="actualCity"
+                column-key="actualCity"
+                key="actualCity"
                 label="卸货城市"
                 width="120px"
                 show-overflow-tooltip
@@ -601,13 +680,22 @@
                 width="150px"
                 align="center"
                 column-key="saleAreaList"
+                key="saleAreaList"
                 :filters="filterSaleAreaList"
               >
               </el-table-column>
-              <el-table-column prop="unloadType" label="卸货类型" width="60px">
+              <el-table-column
+                prop="unloadType"
+                label="卸货类型"
+                width="60px"
+                column-key="unloadType"
+                key="unloadType"
+              >
               </el-table-column>
               <el-table-column
                 prop="saleOrderReceiveCustomer"
+                column-key="saleOrderReceiveCustomer"
+                key="saleOrderReceiveCustomer"
                 label="收款客户"
                 width="120px"
                 show-overflow-tooltip
@@ -625,6 +713,8 @@
 
               <el-table-column
                 prop="materialWeight"
+                column-key="materialWeight"
+                key="materialWeight"
                 label="理重"
                 show-overflow-tooltip
               >
@@ -632,6 +722,8 @@
 
               <el-table-column
                 prop="paymentCustomer"
+                column-key="paymentCustomer"
+                key="paymentCustomer"
                 label="付款单位"
                 width="120px"
                 show-overflow-tooltip
@@ -639,6 +731,8 @@
               </el-table-column>
               <el-table-column
                 prop="consingneeSettlementMethod"
+                column-key="consingneeSettlementMethod"
+                key="consingneeSettlementMethod"
                 label="结算方式"
                 width="120px"
                 show-overflow-tooltip
@@ -657,6 +751,8 @@
                 label="直接修改备注"
                 width="120px"
                 show-overflow-tooltip
+                column-key="detailsRemark"
+                key="detailsRemark"
               >
                 <template slot-scope="scope">
                   <el-button
@@ -1255,6 +1351,7 @@ import PathView from './mapTest.vue'
 import currentLocation from './currentLocation.vue'
 import { downloadFile } from '@/utils/base64ToBlob.js'
 import { get } from 'http'
+import FileSaver from 'file-saver'
 export default {
   components: {
     PathView,
@@ -1453,7 +1550,7 @@ export default {
         '最终运价'
       ],
 
-      tableTitle: '销售钢材统计报表',
+      tableTitle: '销售钢材计费详单',
       //所有省
       provinceList: [],
       //选中的省
@@ -2033,8 +2130,38 @@ export default {
           )
         }
         console.log(data, 'data')
+        let noWeightBatchIdList = []
+        let weightBatchIdList = []
+        let arrNetAmount = []
+        let totalWeightList = []
+        let hash = {}
+        noWeightBatchIdList = data.reduce((prev, item) => {
+          if (!item.weightBatchId) {
+            prev.push(item)
+          }
+          return prev
+        }, [])
+        weightBatchIdList = data.reduce((prev, item) => {
+          if (item.weightBatchId) {
+            prev.push(item)
+          }
+          return prev
+        }, [])
+        arrNetAmount = weightBatchIdList.reduce(function(
+          prev,
+          item,
+          index,
+          arr
+        ) {
+          hash[item.weightBatchId]
+            ? null
+            : (hash[item.weightBatchId] = true && prev.push(item))
+          return prev
+        },
+        [])
+        totalWeightList = noWeightBatchIdList.concat(arrNetAmount)
         this.selecteddetailsOrderAmount =
-          data.reduce((prev, item) => {
+          totalWeightList.reduce((prev, item) => {
             return item.detailsAmount * 1000 + prev
           }, 0) / 1000
         this.selecteddetailsOrderAmount = this.selecteddetailsOrderAmount.toFixed(
@@ -3146,7 +3273,9 @@ export default {
           const {
             export_json_to_excel
           } = require('@/assets/excel/Export2Excel.js') //这里必须使用绝对路径,使用@/+存放export2Excel的路径
-          let data = this.tableData.map(v => filterVal.map(j => v[j])) //3.formatJson格式转换
+          let data = this.disposeDataToExcel(this.tableData).map(v =>
+            filterVal.map(j => v[j])
+          ) //3.formatJson格式转换
           export_json_to_excel(tHeader, data, title) // (title)导出的表格名称
         })
       } else if (this.activeName === 'second') {
@@ -3166,12 +3295,41 @@ export default {
           const {
             export_json_to_excel
           } = require('@/assets/excel/Export2Excel.js') //这里必须使用绝对路径,使用@/+存放export2Excel的路径
-          let data = this.tableData1.map(v => filterVal.map(j => v[j])) //3.formatJson格式转换
+          let data = this.disposeDataToExcel(this.tableData1).map(v =>
+            filterVal.map(j => v[j])
+          ) //3.formatJson格式转换
           export_json_to_excel(tHeader, data, title) // (title)导出的表格名称
         })
       }
       loading.close()
     },
+    disposeDataToExcel(data) {
+      //如果批次相同,只允许一条磅重和运费置为0
+      //首先找出批次相同的数组元素
+      data.reduce((prev, item) => {
+        if (item.weightBatchId) {
+          //如果有批次则走这个方法
+          if (prev.length > 0) {
+            let hash = prev[prev.length - 1]
+            //如果处理后的数组长度大于0,那么判断处理后的数组的最后一个元素里面的批次是否与当前批次相等,如果相等
+            if (
+              item.weightBatchId &&
+              hash.weightBatchId &&
+              item.weightBatchId == hash.weightBatchId
+            ) {
+              prev[prev.length - 1].netWeight = 0
+              prev[prev.length - 1].detailsAmount = 0
+            }
+          }
+          prev.push(item)
+          return prev
+        } else {
+          prev.push(item)
+          return prev
+        }
+      }, [])
+      return data
+    },
     changeScreen() {},
     //承运商弹出层
     handleSelectCarrier() {

+ 6 - 3
src/views/sale/components/transportFreight/saleTruckSettlement/bmsTruckStatementNew.vue

@@ -382,7 +382,7 @@ export default {
         '皮重时间',
         '皮重',
         '毛重时间',
-        '毛重',
+        '毛重'
       ]
     }
   },
@@ -530,8 +530,11 @@ export default {
           this.pos = 0
         } else {
           // 判断当前元素与上一个元素是否相同
-          if (data[i].saleOrderMaterialId === data[i - 1].saleOrderMaterialId
-              || ( data[i].weightBatchId && data[i].weightBatchId ===data[i - 1].weightBatchId)) {
+          if (
+            data[i].saleOrderMaterialId === data[i - 1].saleOrderMaterialId ||
+            (data[i].weightBatchId &&
+              data[i].weightBatchId === data[i - 1].weightBatchId)
+          ) {
             this.spanArr1[this.pos] += 1
             data[i].group = data[i - 1].group
             this.spanArr1.push(0)

+ 31 - 1
src/views/statisticalReport/components/salesLogisticsStatistics/saleSteelReports.vue

@@ -4224,15 +4224,45 @@ export default {
       this.downloadLoading = true
       tHeader.unshift('车序号')
       filterVal.unshift('saleOrderMaterialId')
+
       require.ensure([], () => {
         const {
           export_json_to_excel
         } = require('@/assets/excel/Export2Excel.js') //这里必须使用绝对路径,使用@/+存放export2Excel的路径
-        let data = this.tableData.map(v => filterVal.map(j => v[j])) //3.formatJson格式转换
+        let data = this.disposeDataToExcel(this.tableData).map(v =>
+          filterVal.map(j => v[j])
+        ) //3.formatJson格式转换
         export_json_to_excel(tHeader, data, title) // (title)导出的表格名称
       })
       loading.close()
     },
+    disposeDataToExcel(data) {
+      //如果批次相同,只允许一条磅重和运费置为0
+      //首先找出批次相同的数组元素
+      data.reduce((prev, item) => {
+        if (item.weightBatchId) {
+          //如果有批次则走这个方法
+          if (prev.length > 0) {
+            let hash = prev[prev.length - 1]
+            //如果处理后的数组长度大于0,那么判断处理后的数组的最后一个元素里面的批次是否与当前批次相等,如果相等
+            if (
+              item.weightBatchId &&
+              hash.weightBatchId &&
+              item.weightBatchId == hash.weightBatchId
+            ) {
+              prev[prev.length - 1].netWeight = 0
+              prev[prev.length - 1].detailsAmount = 0
+            }
+          }
+          prev.push(item)
+          return prev
+        } else {
+          prev.push(item)
+          return prev
+        }
+      }, [])
+      return data
+    },
     changeScreen() {},
     //承运商弹出层
     handleSelectCarrier() {