lilei hai 1 ano
pai
achega
a82002465a

+ 9 - 0
src/api/salesNew.js

@@ -106,6 +106,15 @@ export const queryMatchPromoProduct = (params) => {
   })
 }
 
+// 提交时活动规则校验
+export const salesPromoValidaSubmit = (params) => {
+  return axios({
+      url: `/salesPromo/validationSubmit/${params.salesBillSn}`,
+      data: params,
+      method: 'post'
+  })
+}
+
 //  销售 审核通过
 export const salesWriteAuditPass = (params) => {
   return axios({

+ 164 - 67
src/views/salesManagement/salesQueryNew/comps/detailProductList.vue

@@ -1,28 +1,30 @@
 <template>
     <!-- 已选配件列表 -->
     <a-spin :spinning="spinning" tip="Loading...">
-        <ve-table
-              border-y
-              v-show="!showEmpty"
-              :scroll-width="0"
-              :max-height="tableHeight"
-              :show-header="showTableHead"
-              :row-style-option="{clickHighlight: true}"
-              :cellSelectionOption="{enable: false}"
-              :virtual-scroll-option="{enable: true}"
-              :columns="columns"
-              :table-data="dataSource"
-              row-key-field-name="id"
-              :cell-style-option="cellStyleOption"
-              :column-width-resize-option="columnWidthResizeOption"
-            />
+          <ve-table
+            border-y
+            v-show="!showEmpty"
+            :scroll-width="0"
+            :max-height="tableHeight"
+            :show-header="showTableHead"
+            :row-style-option="{clickHighlight: true}"
+            :cellSelectionOption="{enable: false}"
+            :virtual-scroll-option="{enable: true}"
+            :columns="columns"
+            :table-data="dataSource"
+            row-key-field-name="id"
+            :cell-style-option="cellStyleOption"
+            :cell-span-option="cellSpanOption"
+            :column-width-resize-option="columnWidthResizeOption"
+          />
         <div v-show="showEmpty" class="empty-data">暂无数据</div>
     </a-spin>
   </template>
   
   <script>
     import { commonMixin } from '@/utils/mixin'
-    import { salesDetailAllList } from '@/api/salesDetailNew'
+    import { salesPromoQueryList } from '@/api/salesNew'
+    import { salesDetailAllList, salesPromoDetailCount, salesDetaiCount } from '@/api/salesDetailNew'
     export default {
       name: 'DetailProductList',
       mixins: [commonMixin],
@@ -69,15 +71,25 @@
       data () {
         return {
           spinning: false,
+          activeList: [], // 活动列表
           dataSource: [],
           tableHeight: this.maxHeight,
-          cellStyleOption: {},
+          cellStyleOption: {
+            bodyCellClass: ({ row, column, rowIndex }) => {
+                if (row.id.indexOf('promo-')>=0 && column.field === "no") {
+                    return "table-body-cell-no";
+                }
+            },
+          },
           columnWidthResizeOption: {
               // default false
               enable: true,
               // column resize min width
               minWidth: 50
           },
+          cellSpanOption: {
+              bodyCellSpan: this.bodyCellSpan,
+          },
           isCityPrice: false,
           outStockStr: '',
           showEmpty: false,
@@ -100,10 +112,10 @@
               ftext = '促'
               fcolor = '#52c41a'
             }
-            if(record.promotionFlag == 'REGULAR'){
-              ftext = '正'
-              fcolor = '#108ee9'
-            }
+            // if(record.promotionFlag == 'REGULAR'){
+            //   ftext = '正'
+            //   fcolor = '#108ee9'
+            // }
             if(record.promotionFlag == 'DISCOUNT'){
               ftext = '特'
               fcolor = '#faad14'
@@ -116,9 +128,32 @@
                     </div>
                 )
           }
-
+          // 编号,并且格式化活动分类行
+          const noFormat = function(record,data,h){
+            return (
+              <div>
+                {record.id.indexOf('promo-')>=0 ? (
+                  <div class="active-title">
+                    {record.promo?(
+                      <div>
+                        <strong style="margin-right:10px;font-size:14px;">{record.promo.promotion.title} ({record.promo.promotionRule.description})</strong>
+                        <span style="margin-left:10px;color:#00aaff;cursor: pointer;" onClick={()=>_this.showDesc(record)}>
+                          <a-icon title="查看活动详情" type="eye"/> 活动详情
+                        </span>
+                      </div>
+                    ):(<div></div>)}
+                    <div>
+                        {_this.$hasPermissions('B_salesEdit_salesPrice') ? (<span>总售价:<strong>{record.total&&record.total.totalAmount||'--'}</strong>;</span>):('')}
+                        总款数:<strong>{record.total&&record.total.totalCategory||'--'}</strong>;
+                        总数量:<strong>{record.total&&record.total.totalQty||'--'}</strong>;
+                    </div>
+                  </div>
+                ):(<span>{data}</span>)}
+              </div>
+            )
+          }
           let arr= [
-                { title: '序号', field: 'no',key: "a", width: 50, align: 'center', fixed: 'left',operationColumn: false },
+                { title: '序号', field: 'no',key: "a", width: 50, align: 'center', fixed: 'left',operationColumn: false, renderBodyCell: ({ row, column, rowIndex }, h) => { return noFormat(row,row[column.field],h)} },
                 { title: '产品编码', field: 'productCode',key: "b", width: 150, align: 'center',operationColumn: false,renderBodyCell: ({ row, column, rowIndex }, h) => { return codeFormat(row,row[column.field],h)} },
                 { title: '产品名称', field: 'productName',key: "c", width: 250, align: 'center',operationColumn: false , ellipsis: { showTitle: true },renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--'}},
                 { title: '原厂编码', field: 'productOrigCode',key: "d", width: 150, align: 'center',operationColumn: false,ellipsis: { showTitle: true },renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--'} },
@@ -165,62 +200,111 @@
       watch: {
         showCityPrice(newValue, oldValue){
             this.isCityPrice = newValue
-        },
-        salesBillSn(newValue, oldValue){
-             
         }
       },
       methods: {
-         // 获取表格数据
-         getTableData(){
+         // 合并活动分类单元格
+        bodyCellSpan({ row, column, rowIndex }) {
+          if (row.id.indexOf('promo-')>=0) {
+            if(column.field=='no'){
+              return {
+                        rowspan: 1,
+                        colspan: 17,
+                    };
+            }else{
+              return {
+                    rowspan: 0,
+                    colspan: 0,
+                }
+            }
+          }
+        },
+         // 查看活动详情
+        showDesc(e,item){
+
+        },
+        // 获取销售单参与的活动列表
+        pageInit(){
+          salesPromoQueryList({ salesBillSn: this.salesBillSn }).then(res => {
+            if(res.status == 200){
+              this.activeList = res.data || []
+            }
+            this.$nextTick(()=>{
+              this.searchTable()
+            })
+          })
+        },
+        async searchTable(){
+            this.dataSource = []
+            this.disabled = true
             this.spinning = true
+            // 参数
             const params = {
                 salesBillSn: this.salesBillSn,
                 showStock: this.showStock,
                 warehouseSn: this.warehouseSn
             }
-            // 活动列表
-            if(this.promo){
-                params.promoRuleSn = this.promo.promoRuleSn
-                params.promoSn = this.promo.promoSn
-                params.salesPromoSn = this.promo.salesPromoSn
+            // 正常产品
+            const proList = await salesDetailAllList(params).then(res => res.data)
+            const norTotal = await salesDetaiCount(params).then(res => res.data)
+            let listData = [{
+                id: 'promo-normal',
+                total: norTotal
+              },...proList]
+            
+            // 循环获取活动产品
+            const active = this.activeList
+            for(let i=0;i<active.length;i++){
+              const promo = active[i]
+              const activeParams = {
+                promoRuleSn: promo.promoRuleSn,
+                promoSn: promo.promoSn,
+                salesPromoSn: promo.salesPromoSn,
+                ...params
+              }
+              
+              // 获取活动产品列表
+              const aclist = await salesDetailAllList(activeParams).then(res => res.data)
+              // 获取活动产品统计
+              const acTotal = await salesPromoDetailCount(activeParams).then(res => res.data)
+              const retList = [{
+                id: 'promo-'+i,
+                promo: promo,
+                total: acTotal
+              },...aclist]
+              listData = aclist&&aclist.length ? listData.concat(retList) : listData
             }
-            salesDetailAllList(params).then(res => {
-              let data
-              if (res.status == 200) {
-                data = res.data
-                const no = 0
-                this.outStockStr = ''
-                let str = ''
-                for (var i = 0; i < data.length; i++) {
-                    data[i].no = no + i + 1
-                    const productCode = (data[i].productEntity && data[i].productEntity.code) || (data[i].dealerProductEntity && data[i].dealerProductEntity.code)
-                    const productName = (data[i].productEntity && data[i].productEntity.name) || (data[i].dealerProductEntity && data[i].dealerProductEntity.name)
-                    const productOrigCode = (data[i].productEntity && data[i].productEntity.origCode) || (data[i].dealerProductEntity && data[i].dealerProductEntity.origCode)
-                    const productOrigUnit = (data[i].productEntity && data[i].productEntity.unit) || (data[i].dealerProductEntity && data[i].dealerProductEntity.unit)
-                    data[i].productCode = productCode || '--'
-                    data[i].productName = productName || '--'
-                    data[i].productOrigCode = productOrigCode == ' ' ? '--' : productOrigCode
-                    data[i].productOrigUnit = productOrigUnit || '--'
-                    if (data[i].unpushedQty && (Number(data[i].stockQty) < Number(data[i].unpushedQty))) {
-                        str += data[i].productCode + '、'
-                    }
-                }
-                if (str.length > 0) {
-                    str = str.substr(0, str.length - 1)
-                    this.outStockStr = '产品编号为:' + str + '的产品库存不足;'
-                }
-                this.showEmpty = data.length <= 0
-                this.tableHeight = (this.showEmpty ? 30 : this.maxHeight) + 'px'
-                if(!this.showEmpty && data.length < 10){
-                  this.tableHeight = 'auto'
-                }
-                this.spinning = false
-                this.dataSource = data
-                this.showTableHead = this.showHeader
+
+            console.log(listData)
+            this.dataSource = listData
+
+            // 格式化数据
+            let f = 0
+            this.outStockStr = ''
+            let str = ''
+            this.dataSource.map((item,i) => {
+              if(item.id.indexOf('promo-')>=0){f = f - 1}
+              item.no = i + 1 + f
+              const productCode = (item.productEntity && item.productEntity.code) || (item.dealerProductEntity && item.dealerProductEntity.code)
+              const productName = (item.productEntity && item.productEntity.name) || (item.dealerProductEntity && item.dealerProductEntity.name)
+              const productOrigCode = (item.productEntity && item.productEntity.origCode) || (item.dealerProductEntity && item.dealerProductEntity.origCode)
+              const productOrigUnit = (item.productEntity && item.productEntity.unit) || (item.dealerProductEntity && item.dealerProductEntity.unit)
+              item.productCode = productCode || '--'
+              item.productName = productName || '--'
+              item.productOrigCode = productOrigCode == ' ' ? '--' : productOrigCode
+              item.productOrigUnit = productOrigUnit || '--'
+              if (item.unpushedQty && (Number(item.stockQty) < Number(item.unpushedQty))) {
+                  str += item.productCode + '、'
               }
             })
-         }
+            if (str.length > 0) {
+                str = str.substr(0, str.length - 1)
+                this.outStockStr = '产品编号为:' + str + '的产品库存不足;'
+            }
+            this.tableHeight = (this.showEmpty ? 200 : this.maxHeight) + 'px'
+            this.spinning = false
+            this.disabled = false
+        },
       }
     }
   </script>
@@ -231,4 +315,17 @@
         text-align: center;
         padding: 20px;
     }
+    .ve-table-body-td{
+      .active-title{
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+        padding: 10px;
+        background: #f3f8fa;
+      }
+    }
+    .ve-table .ve-table-container .ve-table-content-wrapper table.ve-table-content tbody.ve-table-body tr.ve-table-body-tr td.table-body-cell-no, 
+    .ve-table .ve-table-container .ve-table-content-wrapper table.ve-table-content tbody.ve-table-body tr.ve-table-expand-tr td.table-body-cell-no{
+      padding: 0;
+    } 
   </style>

+ 1 - 1
src/views/salesManagement/salesQueryNew/comps/productList.vue

@@ -145,7 +145,7 @@
       <template slot="productCode" slot-scope="text, record">
         <span style="padding-right: 15px;">{{ text }}</span>
         <a-badge count="促" v-if="record.promotionFlag=='GIFT'" :number-style="{ backgroundColor: '#52c41a', zoom:'80%' }"></a-badge>
-        <a-badge count="正" v-if="record.promotionFlag=='REGULAR'" :number-style="{ backgroundColor: '#108ee9', zoom:'80%' }"></a-badge>
+        <!-- <a-badge count="正" v-if="record.promotionFlag=='REGULAR'" :number-style="{ backgroundColor: '#108ee9', zoom:'80%' }"></a-badge> -->
         <a-badge count="特" v-if="record.promotionFlag=='DISCOUNT'" :number-style="{ backgroundColor: '#faad14', zoom:'80%' }"></a-badge>
         <a-badge count="缺" v-if="Number(record.stockQty||0) < Number(record.unpushedQty||0)" :number-style="{ zoom:'80%' }"></a-badge>
       </template>

+ 11 - 59
src/views/salesManagement/salesQueryNew/detail.vue

@@ -107,44 +107,17 @@
             </a-row>
           </a-form>
         </div>
-        <!-- 正常产品列表 -->
-        <div style="margin-bottom: 10px;">
+        <!-- 产品列表 -->
+        <div>
           <detailProductList 
-          ref="normalProduct" 
+          ref="productList" 
           :detailData="detailData" 
           :warehouseSn="warehouseSn"
           :salesBillSn="$route.params.sn || bizSn" 
           :authCode="authCode"
-          :maxHeight="activeList.length?'300':pageHeight"
-          :showCityPrice="isCityPrice"></detailProductList> 
-        </div>
-        <!-- 活动列表 -->
-        <div 
-        v-for="item in activeList" 
-        :key="item.promoRuleSn" 
-        >
-        <div class="active-title">
-          <div>
-            <strong style="margin-right:10px;font-size:14px;">{{item.promotion.title}} ({{item.promotionRule.description}})</strong>
-            <span style="margin-left:10px;color:#00aaff;cursor: pointer;"  @click="(event) => {showDesc(event, item)}">
-              <a-icon title="查看活动详情" type="eye"/> 活动详情
-            </span>
-          </div>
-          <div>
-            <span v-if="$hasPermissions('B_salesEdit_salesPrice')">总售价:<strong>{{ detailData&&(detailData.totalCommonAmount || detailData.totalCommonAmount==0) ? toThousands(detailData.totalCommonAmount) : '--' }}</strong>;</span>
-              总款数:<strong>{{ detailData&&(detailData.totalCommonCategory || detailData.totalCommonCategory==0) ? detailData.totalCommonCategory : '--' }}</strong>;
-              总数量:<strong>{{ detailData&&(detailData.totalCommonQty || detailData.totalCommonQty==0) ? detailData.totalCommonQty : '--' }}</strong>;
-          </div>
-        </div>
-        <detailProductList 
-        :ref="'active-'+item.promoRuleSn" 
-        :promo="item"
-        :showHeader="false"
-        :detailData="detailData" 
-        :warehouseSn="warehouseSn"
-        :salesBillSn="$route.params.sn || bizSn" 
-        :authCode="authCode"
-        :showCityPrice="isCityPrice"></detailProductList> 
+          :maxHeight="pageHeight"
+          :showCityPrice="isCityPrice">
+        </detailProductList> 
         </div>
       </a-card>
     </a-spin>
@@ -219,7 +192,7 @@
 import { printFun, exportExcel } from '@/libs/JGPrint.js'
 import { commonMixin } from '@/utils/mixin'
 import moment from 'moment'
-import { STable, VSelect } from '@/components'
+import { VSelect } from '@/components'
 import printModal from './printModal.vue'
 import auditModal from '@/views/common/auditModal.vue'
 import dsModal from '@/views/salesManagement/waitDispatchNew/dsModal.vue'
@@ -229,7 +202,6 @@ import detailProductList from './comps/detailProductList.vue'
 // 接口
 import { 
   salesDetailBySn, 
-  salesPromoQueryList, 
   salesDetailPrint, 
   salesDetailExcel, 
   salesDetailTypeExcel, 
@@ -241,7 +213,7 @@ import {
 export default {
   name: 'SalesDetailNew',
   mixins: [commonMixin],
-  components: { STable, VSelect, printModal, auditModal, dsModal, stockOutDetail, chooseWarehouse, detailProductList },
+  components: { VSelect, printModal, auditModal, dsModal, stockOutDetail, chooseWarehouse, detailProductList },
   props: {
     bizSn: { //  有值则为弹框,无值则为页面
       type: [Number, String],
@@ -304,11 +276,9 @@ export default {
         this.searchTable()
       },100)
     },
+    // 查询数据
     searchTable(){
-      this.$refs.normalProduct.getTableData()
-      this.activeList.map(item => {
-        this.$refs['active-'+item.promoRuleSn][0].getTableData()
-      })
+      this.$refs.productList.pageInit()
     },
     //  详情
     getDetail () {
@@ -316,25 +286,7 @@ export default {
         if (res.status == 200) {
           this.detailData = res.data || null
         }
-        this.getActiveList()
-      })
-    },
-    // 查看活动详情
-    showDesc(e,item){
-
-    },
-    // 获取销售单参与的活动列表
-    getActiveList(){
-      salesPromoQueryList({ salesBillSn: this.bizSn || this.$route.params.sn }).then(res => {
-        if(res.status == 200){
-          this.activeList = res.data || []
-          this.activeList.map(item => {
-            item.isActive = true
-          })
-        }
-        this.$nextTick(()=>{
-          this.searchTable()
-        })
+        this.resetSearchForm()
       })
     },
     // 打开缺货明细

+ 71 - 21
src/views/salesManagement/salesQueryNew/edit.vue

@@ -120,12 +120,17 @@
     </div>
     <!-- 添加产品 -->
     <chooseProduct
-        ref="chooseProduct"
-        :openModal="showCpModal"
-        @close="closeProductModal"
-        @addProduct="insterProduct"></chooseProduct>
+    ref="chooseProduct"
+    :openModal="showCpModal"
+    @close="closeProductModal"
+    @addProduct="insterProduct"></chooseProduct>
     <!-- 价格更新弹窗 -->
-    <setPriceModal :show="priceUpdateModal" :totalRealAmount="updataData.totalRealAmount" :totalAmount="updataData.totalAmount" @ok="updatePrice" @cancel="priceUpdateModal=false"></setPriceModal>
+    <setPriceModal 
+    :show="priceUpdateModal" 
+    :totalRealAmount="updataData.totalRealAmount" 
+    :totalAmount="updataData.totalAmount" 
+    @ok="updatePrice" 
+    @cancel="priceUpdateModal=false"></setPriceModal>
  </div>
 </template>
 
@@ -136,7 +141,7 @@ import productNormalList from './comps/productNormalList.vue'
 import chooseProduct from './comps/chooseProduct.vue'
 import setPriceModal from './setPriceModal.vue'
 import { salesDisablePromo } from '@/api/salesDetailNew'
-import { salesDetailBySn,salesPromoQueryCount, salesWriteSubmit, submitCheck, updateBatch, salesPromoQueryList, salesQueryUnPartPromo } from '@/api/salesNew'
+import { salesDetailBySn,salesPromoQueryCount, salesWriteSubmit, submitCheck, updateBatch, salesPromoQueryList, salesQueryUnPartPromo,salesPromoValidaSubmit } from '@/api/salesNew'
 export default {
   name: 'SalesNewEdit',
   mixins: [commonMixin],
@@ -312,28 +317,73 @@ export default {
                 _this.priceUpdateModal = true
               })
             } else {
-              const ajax_data = { salesBillSn: this.salesBillSn }
-              this.submitResult(ajax_data)
+              this.submitResult({ salesBillSn: this.salesBillSn })
             }
           }
         })
       } else {
-        const ajax_data = { salesBillSn: this.salesBillSn }
-        this.submitResult(ajax_data)
+        this.submitResult({ salesBillSn: this.salesBillSn })
       }
     },
-    // 提交
-    submitResult (data) {
-      this.spinning = true
-      salesWriteSubmit(data).then(res => {
-        if (res.status == 200) {
-          this.handleBack()
-          this.$message.success(res.message)
-          this.spinning = false
-        } else {
-          this.spinning = false
+    // 提交销售单
+    async submitResult (data) {
+      const _this = this
+      // 校验活动规则
+      const vaildActive = await salesPromoValidaSubmit({salesBillSn: this.salesBillSn}).then(res => res.data)
+      // console.log(vaildActive)
+      const a = vaildActive.filter(item => item.type == 1) // 不可提交
+      const b = vaildActive.filter(item => item.type == 0) // 可跳过继续提交
+      // 弹出不符合规则弹框,不可提交
+      if(a.length){
+        this.$info({
+          title: '提示',
+          centered: true,
+          class:'confirm-center',
+          okText:'关闭',
+          width: 600,
+          content: <div style="padding-top:15px;">
+            <ol>
+            {a.map(item => (
+              <li style="padding:3px 0;">{item.message}</li>
+            ))}
+            </ol>
+            <div style="padding:10px 0;text-align:center"><strong>请按照以上提示修改后再提交</strong></div>
+          </div>
+        });
+      }else{
+        // 弹出确认提示信息,可跳过继续提交
+        if(b.length){
+          this.$confirm({
+            title: '提示',
+            centered: true,
+            class:'confirm-center',
+            okText:'提交',
+            width: 600,
+            content: <div style="padding-top:15px;">
+              <ol>
+              {b.map(item => (
+                <li style="padding:3px 0;">{item.message}</li>
+              ))}
+              </ol>
+              <div style="padding:10px 0;text-align:center"><strong>继续提交将无法享受优惠</strong></div>
+            </div>,
+            onOk() {
+              _this.submitOrder(data)
+            }
+          });
+        }else{
+          _this.submitOrder(data)
         }
-      })
+      }
+    },
+    async submitOrder(data){
+      this.spinning = true
+      const res = await salesWriteSubmit(data)
+      if (res.status == 200) {
+        this.handleBack()
+        this.$message.success(res.message)
+      }
+      this.spinning = false
     },
     // 展开收缩活动详情
     showDesc(e,item){

+ 8 - 9
src/views/salesManagement/waitDispatchNew/queryPart.vue

@@ -200,10 +200,10 @@ export default {
               ftext = '促'
               fcolor = '#52c41a'
             }
-            if(record.promotionFlag == 'REGULAR'){
-              ftext = '正'
-              fcolor = '#108ee9'
-            }
+            // if(record.promotionFlag == 'REGULAR'){
+            //   ftext = '正'
+            //   fcolor = '#108ee9'
+            // }
             if(record.promotionFlag == 'DISCOUNT'){
               ftext = '特'
               fcolor = '#faad14'
@@ -260,13 +260,13 @@ export default {
                 {record.promo?(
                   <div>
                     <strong style="margin-right:10px;font-size:14px;">{record.promo.promotion.title} ({record.promo.promotionRule.description})</strong>
-                    <span style="margin-left:10px;color:#00aaff;cursor: pointer;" onClick={()=>this.showDesc(record)}>
+                    <span style="margin-left:10px;color:#00aaff;cursor: pointer;" onClick={()=>_this.showDesc(record)}>
                       <a-icon title="查看活动详情" type="eye"/> 活动详情
                     </span>
                   </div>
                 ):(<div></div>)}
                 <div>
-                    总售价:<strong>{record.total&&record.total.totalAmount||'--'}</strong>;
+                    {_this.$hasPermissions('B_salesEdit_salesPrice') ? (<span>总售价:<strong>{record.total&&record.total.totalAmount||'--'}</strong>;</span>):('')}
                     总款数:<strong>{record.total&&record.total.totalCategory||'--'}</strong>;
                     总数量:<strong>{record.total&&record.total.totalQty||'--'}</strong>;
                 </div>
@@ -291,7 +291,6 @@ export default {
         arr.push({ title: '成本价', field: 'showCost', width: 80,key: "g", align: 'center',operationColumn: false, renderBodyCell: ({ row, column, rowIndex }, h) => { return priceFormat(row[column.field])} })
       }    
       arr = arr.concat([
-          { title: '出库仓库', field: 'warehouseName',key: "h", width: 100, align: 'center',operationColumn: false,renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--'}},
           { title: '单位', field: 'productOrigUnit',key: "i", width: 80, align: 'center',operationColumn: false, renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--'}},
           { title: '可用库存', field: 'stockQty', width: 80,key: "j", align: 'center',operationColumn: false, renderBodyCell: ({ row, column, rowIndex }, h) => { return numsFormat(row[column.field])} },
           { title: '销售数量', field: 'qty', width: 80,key: "k", align: 'center',operationColumn: false, renderBodyCell: ({ row, column, rowIndex }, h) => { return numsFormat(row[column.field])} },
@@ -384,11 +383,11 @@ export default {
           // 获取活动产品列表
           const aclist = await salesDetailAllList(activeParams).then(res => res.data)
           // 获取活动产品统计
-          // const acTotal = await salesPromoDetailCount(activeParams).then(res => res.data)
+          const acTotal = await salesPromoDetailCount(activeParams).then(res => res.data)
           const retList = [{
             id: 'promo-'+i,
             promo: promo,
-            // total: acTotal
+            total: acTotal
           },...aclist]
           listData = aclist&&aclist.length ? listData.concat(retList) : listData
         }