Jelajahi Sumber

Merge branch 'develop_yh50' of http://git.chelingzhu.com/jianguan-web/jg-ocs-html into develop_yh50

chenrui 6 bulan lalu
induk
melakukan
d9ec5eba6a

+ 11 - 9
src/views/salesManagement/salesQueryNew/comps/activeStatisticsList.vue

@@ -153,15 +153,6 @@ export default {
         }
       }
       const cols = [
-        {
-          field: '',
-          key: '0',
-          type: 'checkbox',
-          title: '',
-          width: 23,
-          align: 'center',
-          fixed: 'left'
-        },
         {
           field: '',
           key: '1',
@@ -384,6 +375,17 @@ export default {
         { field: 'totalCategory', key: '21', title: '款数', width: 50, align: 'center', fixed: 'right' },
         { field: 'totalQty', key: '22', title: '数量', width: 50, align: 'center', fixed: 'right' }
       ]
+      if (type == 'edit') {
+        cols.unshift({
+          field: '',
+          key: '0',
+          type: 'checkbox',
+          title: '',
+          width: 23,
+          align: 'center',
+          fixed: 'left'
+        })
+      }
       // 销售价权限
       if (this.type == 'view' && this.$hasPermissions('B_salesDetail_salesPrice') || this.type == 'edit' && this.$hasPermissions('B_salesEdit_salesPrice')) {
         cols.push({ field: 'totalAmount', key: '23', title: '总金额', width: 60, align: 'center', fixed: 'right', renderBodyCell: ({ row, column, rowIndex }, h) => { return this.toThousands(row[column.field]) } })

+ 48 - 29
src/views/salesManagement/salesQueryNew/comps/detailProductList.vue

@@ -1,13 +1,14 @@
 <template>
   <!-- 已选配件列表 -->
   <a-spin :spinning="spinning" tip="Loading...">
-    <!-- 总计 -->
-    <div style="padding:0 0 5px 0;" v-if="countData">
-      总款数:<strong>{{ countData&&(countData.totalCategory || countData.totalCategory==0) ? countData.totalCategory : 0 }}</strong>;
-      总数量:<strong>{{ countData&&(countData.totalQty || countData.totalQty==0) ? countData.totalQty : 0 }}</strong>;
-      <span v-if="$hasPermissions('B_salesDetail_salesPrice')">总金额:<strong>{{ countData&&(countData.totalAmount || countData.totalAmount==0) ? toThousands(countData.totalAmount) : '0.00' }}</strong>;</span>
-    </div>
-    <div :style="{marginTop:type=='normal'?'0px':'10px'}">
+    <div :style="{position:'relative'}">
+      <!-- 总计 -->
+      <div style="padding:5px 0;" v-if="activeList.length && countData">
+        总款数:<strong>{{ countData&&(countData.totalCategory || countData.totalCategory==0) ? countData.totalCategory : 0 }}</strong>;
+        总数量:<strong>{{ countData&&(countData.totalQty || countData.totalQty==0) ? countData.totalQty : 0 }}</strong>;
+        <span v-if="$hasPermissions('B_salesDetail_salesPrice')">总金额:<strong>{{ countData&&(countData.totalAmount || countData.totalAmount==0) ? toThousands(countData.totalAmount) : '0.00' }}</strong>;</span>
+      </div>
+      <div else style="padding:5px 0;"></div>
       <ve-table
         border-y
         :scroll-width="0"
@@ -86,7 +87,7 @@ export default {
     // 最大高度
     maxHeight: {
       type: [String, Number],
-      default: '302'
+      default: '300'
     },
     // 是否显示表格头部
     showHeader: {
@@ -165,7 +166,12 @@ export default {
         { title: '序号', field: 'no', key: 'a', width: 50, align: 'center', operationColumn: false, renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--' } },
         { title: '产品编码', field: 'productCode', key: 'b', width: 150, align: 'left', operationColumn: false, renderBodyCell: ({ row, column, rowIndex }, h) => { return codeFormat(row, row[column.field], h) } },
         { title: '产品名称', field: 'productName', key: 'c', width: 250, align: 'left', operationColumn: false, ellipsis: { showTitle: true }, renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--' } },
-        {
+        { title: '原厂编码', field: 'productOrigCode', key: 'd', width: 150, align: 'left', operationColumn: false, ellipsis: { showTitle: true }, renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--' } },
+        { title: '出库仓库', field: 'warehouseName', key: 'e', width: 100, align: 'center', operationColumn: false, renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--' } }
+      ]
+      // 如果是活动产品列表
+      if (this.type == 'active') {
+        arr.splice(3, 0, {
           title: '规则数量',
           field: 'rulesNums',
           key: '4',
@@ -174,27 +180,26 @@ export default {
           operationColumn: false,
           renderBodyCell: ({ row, column, rowIndex }, h) => {
             return (
-              <a-popover placement="right">
-                <template slot="content">
-                  {row.promoRuleSnList.map(item => {
-                    return (
-                      <div
-                        id={'dispacth-ruleDetail-' + row.productSn}
-                        title="点击查看详情"
-                        style="padding:5px 0;cursor: pointer;"
-                        onClick={() => _this.showRuleDetail(item)}
-                      >{ _this.activeRuleFilter(item) }</div>
-                    )
-                  })}
-                </template>
-                <a-button type="link" id={'dispacth-ruleSn-' + row.productSn} size="small" class="button-info">{row.promoRuleNum}<span style="zoom:0.6;color: #666;">个∨</span></a-button>
-              </a-popover>
+              row.promoRuleSnList
+                ? <a-popover placement="right">
+                  <template slot="content">
+                    {row.promoRuleSnList.map(item => {
+                      return (
+                        <div
+                          id={'dispacth-ruleDetail-' + row.productSn}
+                          title="点击查看详情"
+                          style="padding:5px 0;cursor: pointer;"
+                          onClick={() => _this.showRuleDetail(item)}
+                        >{ _this.activeRuleFilter(item) }</div>
+                      )
+                    })}
+                  </template>
+                  <a-button type="link" id={'dispacth-ruleSn-' + row.productSn} size="small" class="button-info">{row.promoRuleNum}<span style="zoom:0.6;color: #666;">个∨</span></a-button>
+                </a-popover> : '--'
             )
           }
-        },
-        { title: '原厂编码', field: 'productOrigCode', key: 'd', width: 150, align: 'left', operationColumn: false, ellipsis: { showTitle: true }, renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--' } },
-        { title: '出库仓库', field: 'warehouseName', key: 'e', width: 100, align: 'center', operationColumn: false, renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--' } }
-      ]
+        })
+      }
       // 计算可合并单元格数
       if (this.$hasPermissions(this.authCode + '_costPrice')) { //  成本价权限
         arr.push({ title: '成本价', field: 'showCost', width: 80, key: 'f', align: 'right', operationColumn: false, renderBodyCell: ({ row, column, rowIndex }, h) => { return priceFormat(row[column.field]) } })
@@ -293,6 +298,11 @@ export default {
       // 赋值
       this.dataSource = this.type == 'normal' ? normalList : activeList
 
+      // 没用数据,则不显示当前表格
+      if (this.dataSource.length == 0) {
+        this.$emit('hideTable', true)
+      }
+
       // 格式化数据
       let f = 0
       let str = ''
@@ -333,7 +343,13 @@ export default {
 
       const listLen = this.dataSource.length
       this.showEmpty = listLen <= 0
-      this.tableHeight = (this.showEmpty ? 0 : (listLen > 10 ? this.maxHeight : ((listLen + 1) * 30 + 2))) + 'px'
+      // 高度自适应
+      if (this.maxHeight == 'auto') {
+        this.tableHeight = (listLen + 1) * 30
+        this.tableHeight = this.tableHeight > 300 ? 300 : this.tableHeight
+      } else {
+        this.tableHeight = this.maxHeight
+      }
       this.spinning = false
       this.disabled = false
     }
@@ -346,6 +362,9 @@ export default {
         color: #999;
         text-align: center;
         padding: 20px;
+        position: absolute;
+        bottom: 50px;
+        width: 100%;
     }
     .ve-table-body-td{
       .active-title{

+ 29 - 12
src/views/salesManagement/salesQueryNew/detail.vue

@@ -97,12 +97,12 @@
               <a-form layout="inline" @keyup.enter.native="searchTable">
                 <a-row :gutter="15" type="flex">
                   <a-col flex="300px">
-                    <a-form-item label="出库仓库">
+                    <a-form-item label="出库仓库" style="margin-bottom: 0!important;">
                       <chooseWarehouse id="salesDetail-warehouse" ref="warehouse" v-model="warehouseSn"></chooseWarehouse>
                     </a-form-item>
                   </a-col>
                   <a-col flex="300px" v-if="hasPrompActive">
-                    <a-form-item label="产品类型">
+                    <a-form-item label="产品类型" style="margin-bottom: 0!important;">
                       <a-select v-model.trim="promoFlag" id="salesDetail-promoFlag" allowClear :dropdownMatchSelectWidth="false" placeholder="请选择产品类型">
                         <a-select-option value="0">
                           正常产品
@@ -140,7 +140,7 @@
           </div>
         </div>
         <!-- 正常产品列表 -->
-        <div>
+        <div v-if="!hideNormalTable">
           <detailProductList
             ref="productList"
             :maxHeight="pageHeight"
@@ -149,9 +149,11 @@
             :promoFlag="promoFlag"
             :salesBillSn="$route.params.sn || bizSn"
             :authCode="authCode"
-            :showCityPrice="isCityPrice">
+            :showCityPrice="isCityPrice"
+            @hideTable="v=>hideNormalTable=v">
           </detailProductList>
         </div>
+        <div v-if="hideNormalTable&&hideActiveTable" :style="{height:pageHeight+30+'px'}" class="empty-data-box"><a-empty description="暂无产品" :image="simpleImage"/></div>
       </a-card>
       <!-- 活动产品列表 -->
       <a-card
@@ -159,7 +161,7 @@
         :bordered="false"
         title="活动产品"
         class="salesEdit-cont"
-        v-if="activeList.length"
+        v-if="activeList.length&&!hideActiveTable"
       >
         <activeStatisticsList
           ref="activeTjList"
@@ -171,12 +173,14 @@
         <detailProductList
           ref="productActiveList"
           type="active"
+          :maxHeight="pageHeight"
           :detailData="detailData"
           :warehouseSn="warehouseSn"
           :promoFlag="promoFlag"
           :salesBillSn="$route.params.sn || bizSn"
           :authCode="authCode"
-          :showCityPrice="isCityPrice">
+          :showCityPrice="isCityPrice"
+          @hideTable="v=>hideActiveTable=v">
         </detailProductList>
       </a-card>
     </a-spin>
@@ -263,6 +267,7 @@
 import { printFun, exportExcel } from '@/libs/JGPrint.js'
 import { commonMixin } from '@/utils/mixin'
 import moment from 'moment'
+import { Empty } from 'ant-design-vue'
 import { VSelect } from '@/components'
 import printModal from './printModal.vue'
 import auditModal from '@/views/common/auditModal.vue'
@@ -303,6 +308,9 @@ export default {
     return {
       spinning: false,
       disabled: false,
+      simpleImage: Empty.PRESENTED_IMAGE_SIMPLE, // 空图片
+      hideNormalTable: false, // 是否隐藏表格
+      hideActiveTable: false, // 是否隐藏活动表格
       showDsModal: false, // 一键审核弹框
       showStockOut: false, // 缺货明细弹框
       activeList: [], // 参与活动列表
@@ -361,7 +369,10 @@ export default {
     },
     // 表格高度计算
     pageHeight () {
-      return this.activeList.length == 0 ? window.innerHeight - 315 + (this.hideFooter ? 45 : 0) : 302
+      if (this.hideNormalTable || this.hideActiveTable || this.activeList.length == 0) {
+        return window.innerHeight - 330 + (this.hideFooter ? 45 : 0)
+      }
+      return 'auto'
     }
   },
   methods: {
@@ -457,14 +468,16 @@ export default {
     resetSearchForm () {
       this.warehouseSn = undefined
       this.promoFlag = undefined
-      setTimeout(() => {
-        this.searchTable()
-      }, 100)
+      this.searchTable()
     },
     // 查询数据
     searchTable () {
-      this.$refs.productList.searchTable()
-      if (this.activeList.length) this.$refs.productActiveList.searchTable()
+      this.hideNormalTable = false
+      this.hideActiveTable = false
+      this.$nextTick(() => {
+        this.$refs.productList.searchTable()
+        if (this.activeList.length) this.$refs.productActiveList.searchTable()
+      })
     },
     // 详情
     getDetail () {
@@ -724,6 +737,10 @@ export default {
     height: 100%;
     padding-bottom: 45px;
     box-sizing: border-box;
+    .empty-data-box{
+      width: 100%;
+      padding: 10% 30px;
+    }
     >.ant-spin-nested-loading{
       overflow-y: auto;
       height: 100%;

+ 45 - 31
src/views/salesManagement/waitDispatchNew/detailProductList.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="productInfoList-wrap">
+  <div class="productInfoList-wrap" style="position: relative;">
     <!-- alert -->
     <div style="margin-bottom: 10px;display: flex;align-items: center;" v-if="!showEmpty">
       <div style="display: flex;align-items: center;">
@@ -14,7 +14,6 @@
     <a-spin :spinning="spinning" tip="Loading...">
       <ve-table
         border-y
-        v-show="!showEmpty"
         :scroll-width="0"
         :max-height="tableHeight"
         :show-header="showTableHead"
@@ -24,8 +23,6 @@
         :columns="columns"
         :table-data="dataSource"
         row-key-field-name="id"
-        :cell-style-option="cellStyleOption"
-        :cell-span-option="cellSpanOption"
         :checkbox-option="checkboxOption"
       />
       <div v-show="showEmpty" class="empty-data"><a-empty description="暂无产品" :image="simpleImage"/></div>
@@ -68,21 +65,11 @@ export default {
       simpleImage: Empty.PRESENTED_IMAGE_SIMPLE, // 无数据图片
       dataSource: [], // 原始数据
       tableHeight: this.maxHeight, // 表格高度
-      cellStyleOption: {
-        bodyCellClass: ({ row, column, rowIndex }) => {
-          if (row.id.indexOf('promo-') >= 0 && column.field === 'no') {
-            return 'table-body-cell-no'
-          }
-        }
-      },
       // 可拖曳调整列宽
       columnWidthResizeOption: {
         enable: true,
         minWidth: 50
       },
-      cellSpanOption: {
-        bodyCellSpan: this.bodyCellSpan
-      },
       showEmpty: false, // 是否显示暂无数据
       showTableHead: true, // 是否显示表格头部
       disableSelectedRowKeys: [], // 禁用的行
@@ -181,7 +168,36 @@ export default {
       ]
 
       if (this.detailData && this.detailData.promoFlag == 1) {
-        arr.splice(2, 0, { title: '活动规则', field: 'prompName', key: 'm', align: 'center', operationColumn: false })
+        arr.splice(2, 0, {
+          title: '活动规则',
+          field: 'prompName',
+          key: 'm',
+          align: 'center',
+          operationColumn: false,
+          ellipsis: { showTitle: false },
+          renderBodyCell: ({ row, column, rowIndex }, h) => {
+            return (
+              row.promoRuleSnList && row.promoRuleSnList.length > 1
+                ? <a-popover placement="right">
+                  <template slot="content">
+                    {row.promoRuleSnList.map(item => {
+                      return (
+                        <div
+                          id={'ruleDetail-' + row.productSn}
+                          style="padding:5px 0;cursor: pointer;"
+                        >{ _this.activeRuleFilter(item) }</div>
+                      )
+                    })}
+                  </template>
+                  <a-button type="link" id={'ruleSn-' + row.productSn} size="small" class="button-info">
+                    { _this.activeRuleFilter(row.promoRuleSnList[0]) }
+                  </a-button>
+                </a-popover>
+                : <div>
+                  {row.promoRuleSnList.map(item => <span>{_this.activeRuleFilter(item)}</span>)}
+                </div>
+            )
+          } })
         arr.splice(3, 0, { title: '产品名称', field: 'productName', key: 'c', align: 'left', operationColumn: false, ellipsis: { showTitle: true }, renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--' } })
       } else {
         arr.splice(2, 0, { title: '产品名称', field: 'productName', key: 'c', align: 'left', operationColumn: false, ellipsis: { showTitle: true }, renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--' } })
@@ -191,21 +207,10 @@ export default {
     }
   },
   methods: {
-    // 合并活动分类单元格
-    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
-          }
-        }
-      }
+    // 参与规则名称
+    activeRuleFilter (val) {
+      const row = this.activeList.length && this.activeList.find(item => item.promoRuleSn == val)
+      return row ? row.promotionRule.description + '-' + row.promotion.description : ''
     },
     // 选择单元格
     selectedRowChange ({ row, isSelected, selectedRowKeys }) {
@@ -243,11 +248,17 @@ export default {
         item.productOrigCode = productOrigCode == ' ' ? '--' : productOrigCode
         item.productOrigUnit = productOrigUnit || '--'
         item.warehouseName = warehouseName || '--'
+        item.promoRuleSnList = item.promotionRuleList && item.promotionRuleList.map(item => item.promotionRuleSn) // 规则sn
         item.qtyBackups = item.qty
         item.prompName = prompName || '--'
       })
       this.showEmpty = this.dataSource.length <= 0
-      this.tableHeight = (this.showEmpty ? 300 : this.maxHeight) + 'px'
+      const len = this.dataSource.length
+      if (len < 8) {
+        this.tableHeight = (len + 1) * 34
+      } else {
+        this.tableHeight = (this.showEmpty ? 300 : this.maxHeight) + 'px'
+      }
       this.spinning = false
       this.disabled = false
     },
@@ -356,6 +367,9 @@ export default {
         color: #999;
         text-align: center;
         padding: 20px;
+        position: absolute;
+        bottom: 50px;
+        width: 100%;
     }
     .ve-table-body-td{
       .active-title{

+ 8 - 16
src/views/salesManagement/waitDispatchNew/edit.vue

@@ -26,7 +26,6 @@
             待下推产品
           </div>
         </div>
-
         <!-- 已选配件列表 -->
         <detailProductList ref="waitProduct" @refashTable="refashTable">
           <!-- 统计数据 -->
@@ -91,18 +90,6 @@ export default {
     handleBack () {
       this.$router.push({ name: 'salesQueryNewList', query: { closeLastOldTab: true } })
     },
-    // 获取销售单参与的活动列表
-    async getActiveList () {
-      // 已参与活动列表
-      const list = await salesPromoQueryList({ salesBillSn: this.$route.params.sn || this.bizSn }).then(res => res.data || [])
-      this.activeList = list.filter(item => item.promotion && item.promotionRule)
-      // 触发活动统计查询变量
-      this.$nextTick(() => {
-        if (this.activeList.length) {
-          this.$refs.activeTjList.hasInit = false
-        }
-      })
-    },
     // 统计查询
     getTotalData (flag) {
       findBySalesBillSn({ salesBillSn: this.$route.params.salesBillSn }).then(res => {
@@ -112,7 +99,7 @@ export default {
             this.productForm.dispatchBillSn = res.data.dispatchBillSn
             const _this = this
             if (flag) {
-              _this.$refs.waitProduct.pageInit(this.productForm, this.detailData, this.$refs.partQuery.activeList)
+              _this.$refs.waitProduct.pageInit(this.productForm, this.detailData, this.activeList)
             } else {
               _this.$refs.waitProduct.resetSearchForm()
             }
@@ -251,10 +238,15 @@ export default {
       })
     },
     // 页面初始化
-    pageInit () {
+    async pageInit () {
+      // 已参与活动列表
+      this.spinning = true
+      const list = await salesPromoQueryList({ salesBillSn: this.$route.params.sn || this.bizSn }).then(res => res.data || [])
+      this.activeList = list.filter(item => item.promotion && item.promotionRule)
+      this.spinning = false
+      // 查询表格数据
       this.$refs.partQuery.clearSelectTable()
       this.salesBillSn = this.$route.params.salesBillSn
-      this.getActiveList()
       this.getOrderDetail(true)
       this.getTotalData(true)
     }

+ 28 - 24
src/views/salesManagement/waitDispatchNew/queryPart.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="productInfoList-wrap">
+  <div class="productInfoList-wrap" style="position: relative;">
     <!-- 搜索条件 -->
     <div class="table-page-search-wrapper">
       <a-form layout="inline" @keyup.enter.native="searchTable">
@@ -129,7 +129,6 @@
     <a-spin :spinning="spinning" tip="Loading...">
       <ve-table
         border-y
-        v-show="!showEmpty"
         :scroll-width="0"
         :max-height="tableHeight"
         :show-header="showTableHead"
@@ -144,7 +143,7 @@
         :column-width-resize-option="columnWidthResizeOption"
         :checkbox-option="checkboxOption"
       />
-      <div v-show="showEmpty" class="empty-data"><a-empty description="暂无产品" :image="simpleImage"/></div>
+      <div v-show="showEmpty" class="empty-data-0"><a-empty description="暂无数据" :image="simpleImage"/></div>
       <!-- 活动规则详情 -->
       <detailModal :openModal="openDetailModal" :itemSn="detailSn" @close="closeDetailModal"></detailModal>
       <!-- 转采购单 -->
@@ -395,21 +394,22 @@ export default {
           operationColumn: false,
           renderBodyCell: ({ row, column, rowIndex }, h) => {
             return (
-              <a-popover placement="right">
-                <template slot="content">
-                  {row.promoRuleSnList.map(item => {
-                    return (
-                      <div
-                        id={'dispacth-ruleDetail-' + row.productSn}
-                        title="点击查看详情"
-                        style="padding:5px 0;cursor: pointer;"
-                        onClick={() => _this.showRuleDetail(item)}
-                      >{ _this.activeRuleFilter(item) }</div>
-                    )
-                  })}
-                </template>
-                <a-button type="link" id={'dispacth-ruleSn-' + row.productSn} size="small" class="button-info">{row.promoRuleNum}<span style="zoom:0.6;color: #666;">个∨</span></a-button>
-              </a-popover>
+              row.promoRuleSnList
+                ? <a-popover placement="right">
+                  <template slot="content">
+                    {row.promoRuleSnList.map(item => {
+                      return (
+                        <div
+                          id={'dispacth-ruleDetail-' + row.productSn}
+                          title="点击查看详情"
+                          style="padding:5px 0;cursor: pointer;"
+                          onClick={() => _this.showRuleDetail(item)}
+                        >{ _this.activeRuleFilter(item) }</div>
+                      )
+                    })}
+                  </template>
+                  <a-button type="link" id={'dispacth-ruleSn-' + row.productSn} size="small" class="button-info">{row.useRuleQty}<span style="zoom:0.6;color: #666;">个</span></a-button>
+                </a-popover> : '--'
             )
           }
         },
@@ -417,7 +417,7 @@ export default {
         { title: '出库仓库', field: 'warehouseName', key: 'e', width: 100, align: 'center', operationColumn: false, renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--' } }
       ]
       // 单元格合并数量
-      this.colspanNums = this.showConvertPromoGifts ? 7 : 6
+      this.colspanNums = this.showConvertPromoGifts ? 8 : 7
       if (this.$hasPermissions('B_salesDispatch_salesPrice')) { //  售价权限
         this.colspanNums = this.colspanNums + 1
         arr.push({ title: '销售价', field: 'price', width: 80, key: 'f', align: 'right', operationColumn: false, renderBodyCell: ({ row, column, rowIndex }, h) => { return priceFormat(row, row[column.field], h) } })
@@ -469,7 +469,7 @@ export default {
     // 参与规则名称
     activeRuleFilter (val) {
       const row = this.activeList.length && this.activeList.find(item => item.promoRuleSn == val)
-      return row ? row.promotion.description + '-' + row.promotionRule.description : ''
+      return row ? row.promotionRule.description + '-' + row.promotion.description : ''
     },
     // 查看参与规则详情
     showRuleDetail (promoRuleSn) {
@@ -565,8 +565,9 @@ export default {
         item.productName = productName || '--'
         item.productOrigCode = productOrigCode == ' ' ? '--' : productOrigCode
         item.productOrigUnit = productOrigUnit || '--'
-        item.cancelNums = item.unpushedQty
-
+        item.promoRuleSnList = item.promotionRuleList && item.promotionRuleList.map(item => item.promotionRuleSn) // 规则sn
+        item.cancelNums = item.unpushedQty // 取消数量
+        // 转采购额最大数量
         if (item.convertPromoGiftsFlag == 1) {
           item.maxConvertNums = item.unpushedQty + item.convertPromoGiftsQty
         } else {
@@ -801,10 +802,13 @@ export default {
 }
 </script>
 <style lang="less">
-    .empty-data{
+    .empty-data-0{
         color: #999;
         text-align: center;
-        padding: 20px;
+        padding: 10px;
+        position: absolute;
+        bottom: 0;
+        width: 100%;
     }
   .ve-table-body-td{
     .active-title{