Explorar o código

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

chenrui hai 1 ano
pai
achega
b3aac6c244

+ 27 - 21
src/api/salesDetailNew.js

@@ -42,7 +42,24 @@ export const salesDetailInsert = (params) => {
     method: 'post'
   })
 }
-
+// 批量新增销售明细
+export const salesBatchInsert = (params) => {
+  return axios({
+    url: `/salesn/detail/insertBatch`,
+    data: params,
+    method: 'post'
+  })
+}
+//  销售 导入产品 导出错误项
+export const salesFailExcel = (params) => {
+  const url = `/salesn/detail/downloadFailExcel`
+  return axios.request({
+    url: url,
+    method: 'post',
+    data: params.list,
+    responseType: 'blob'
+  })
+} 
 // 销售详情列表分页
 export const salesDetailList = (params) => {
   const url = `/salesn/detail/queryPage/${params.pageNo}/${params.pageSize}`
@@ -83,8 +100,16 @@ export const salesParseProducts = params => {
       method: 'post'
     })
   }
-
+// 禁用活动信息
+export const salesDisablePromo = params => {
+    return axios({
+      url: '/salesn/detail/disablePromo',
+      data: params,
+      method: 'post'
+    })
+  }
  
+
 // 缺货明细
 export const salesStockoutDetail = (params) => {
   const url = `/sales/detail/queryPageStock`
@@ -157,25 +182,6 @@ export const salesDetailPromoProductList = (params) => {
   })
 }
  
-// 销售  批量插入
-export const salesBatchInsert = params => {
-  return axios({
-    url: '/sales/detail/batchInsert',
-    data: params,
-    method: 'post'
-  })
-}
-//  销售 导入产品 导出错误项
-export const salesFailExcel = (params) => {
-  const url = `/sales/detail/downloadFailExcel`
-  return axios.request({
-    url: url,
-    method: 'post',
-    data: params.list,
-    responseType: 'blob'
-  })
-}
-
 // 导出缺货明细
 export const exportStockout = params => {
   const url = `/sales/detail/exportStockout`

+ 3 - 1
src/views/salesManagement/salesQueryNew/comps/activeQueryPart.vue

@@ -139,6 +139,7 @@ export default {
       defaultWarehouseSn: undefined, // 默认仓库sn
       tableHeight: 300,
       disabled: false, //  查询、重置按钮是否可操作
+      promoProductClz: null,
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
         this.disabled = true
@@ -202,6 +203,7 @@ export default {
     // 切换tab
     changeTab(e){
       console.log(e)
+      this.promoProductClz = e.key
     },
     // 双击列表
     handleClickRow (record) {
@@ -213,7 +215,7 @@ export default {
               _this.$message.info('该产品暂时不能添加')
             } else {
               event.stopPropagation()
-              _this.$emit('add', record, 0)
+              _this.$emit('add', record, this.promoProductClz)
             }
           }
         }

+ 4 - 3
src/views/salesManagement/salesQueryNew/comps/chooseImportModal.vue

@@ -15,7 +15,7 @@
         class="sTable"
         ref="table"
         size="small"
-        :rowKey="(record) => record.allocateSn"
+        :rowKey="(record) => record.productCode"
         :columns="nowColumns"
         :dataSource="loadData"
         :loading="loading"
@@ -30,7 +30,7 @@
         class="unTable"
         ref="unTable"
         size="small"
-        :rowKey="(record) => record.errorDesc"
+        :rowKey="(record) => record.productCode"
         :columns="nowUnColumns"
         :dataSource="unLoadData"
         :loading="loading"
@@ -117,7 +117,8 @@ export default {
       this.loading = true
       const params = {
         salesBillSn: this.paramsData.salesBillSn,
-        path: this.paramsData.path
+        path: this.paramsData.path,
+        salesPromoSn: this.paramsData.salesPromoSn
       }
       salesParseProducts(params).then(res => {
         this.loading = false

+ 2 - 2
src/views/salesManagement/salesQueryNew/comps/chooseProduct.vue

@@ -68,8 +68,8 @@ export default {
       this.$emit('close')
     },
     // 添加产品
-    insterProduct (row, promotionFlag) {
-      this.$emit('addProduct', row, promotionFlag, this.type)
+    insterProduct (row, promotionFlag, promoProductClz) {
+      this.$emit('addProduct', row, promotionFlag, promoProductClz)
     }
   },
   watch: {

+ 4 - 2
src/views/salesManagement/salesQueryNew/comps/importGuideModal.vue

@@ -4,7 +4,7 @@
     class="importGuide-modal"
     :footer="null"
     :maskClosable="false"
-    title="导入"
+    title="导入产品"
     v-model="isShow"
     @cancel="isShow=false"
     :width="750">
@@ -18,6 +18,7 @@
             <li>1) 导入的Excel文件中必须包含名为“产品编码”、“数量”、“出库仓库”的列,且名称必须相同</li>
             <li>2) 除了“产品编码”、“数量”、“出库仓库”三列,其他列可自定义,不影响数据导入</li>
             <li>3) 如果导入的产品已经存在,则不会导入该行</li>
+            <li v-if="params&&params.salesPromoSn">4) 导入的活动产品必须是活动规则中的产品 </li>
             <li>
               <a :href="filePath" style="margin: 5px 0 0;display: block;">
                 <a-icon type="download" style="padding-right: 5px;" />下载导入模板
@@ -112,6 +113,7 @@ export default {
       if (file) {
         this.paramsData = {
           salesBillSn: this.params.salesBillSn || '',
+          salesPromoSn: this.params.salesPromoSn,
           path: file
         }
       }
@@ -119,7 +121,7 @@ export default {
     // 导入
     hanldeOk (obj) {
       if (obj && obj.length > 0) {
-        this.$emit('ok', obj)
+        this.$emit('ok', obj, this.paramsData.salesPromoSn)
         this.isShow = false
       }
     },

+ 23 - 8
src/views/salesManagement/salesQueryNew/comps/productList.vue

@@ -229,7 +229,7 @@
     </s-table>
     
       <!-- 导入产品 -->
-      <importGuideModal :openModal="openGuideModal" :params="{salesBillSn: $route.params.sn}" @close="closeGuideModel" @ok="hanldeImportOk" />
+      <importGuideModal :openModal="openGuideModal" :params="{salesBillSn: $route.params.sn, salesPromoSn: promo.salesPromoSn}" @close="closeGuideModel" @ok="hanldeImportOk" />
       <!-- 仓库设置 -->
       <setWarehouse :show="openWarehouseModal" @ok="chooseWarehouseOk" @cancel="openWarehouseModal=false"></setWarehouse>
       <!-- 换促销 -->
@@ -334,7 +334,8 @@
         rowSelectionInfo: null,
         warehouseDataList: [],
         openUpActiveModal: false,
-        descDetail: null
+        descDetail: null,
+        promoProductClz: null, // 活动产品分类
       }
     },
     computed: {
@@ -566,15 +567,15 @@
         })
       },
       // 添加产品
-      insterProduct (row, promotionFlag) {
+      insterProduct (row, promotionFlag, promoProductClz) {
         console.log(row, promotionFlag)
         // 防止多次添加产品
         if (this.isInster) { return }
         const _this = this
-        _this.saveNewProduct(row, promotionFlag)
+        _this.saveNewProduct(row, promotionFlag, promoProductClz)
       },
       // 保存添加的产品到销售列表
-      saveNewProduct (row, promotionFlag) {
+      saveNewProduct (row, promotionFlag, promoProductClz) {
         this.$message.loading('正在添加产品...', 1)
         this.isInster = true
         this.spinning = true
@@ -582,7 +583,8 @@
           salesPromoDetailDTO:{
             salesPromoSn: this.promo.salesPromoSn,
             promoRuleSn: this.promo.promoRuleSn,
-            promoSn: this.promo.promoSn
+            promoSn: this.promo.promoSn,
+            promoProductClz: promoProductClz
           },
           packQty: row.productPackQty,
           productSn: row.productSn,
@@ -615,12 +617,25 @@
       // 导入产品
       handleImportClick(e){
         this.openGuideModal = true
+        this.promoProductClz = e.key
       },
       closeGuideModel () {
         this.openGuideModal = false
       },
-      hanldeImportOk (obj) {
-        salesBatchInsert(obj).then(res => {
+      // 批量导入产品
+      hanldeImportOk (data, salesPromoSn) {
+        const params = {
+          salesBillSn: this.detailData.salesBillSn,
+          salesBillDetailList: data
+        }
+        // 活动导入
+        if(salesPromoSn){
+          params.salesPromoSn = salesPromoSn
+          params.promoRuleSn = this.promo.promoRuleSn
+          params.promoProductClz = this.promoProductClz
+        }
+        
+        salesBatchInsert(params).then(res => {
           if (res.status == 200) {
             this.$refs.table.refresh(true)
             this.getOrderDetail(false)

+ 8 - 3
src/views/salesManagement/salesQueryNew/comps/productNormalList.vue

@@ -508,9 +508,14 @@
       closeGuideModel () {
         this.openGuideModal = false
       },
-      // 导入产品
-      hanldeOk (obj) {
-        salesBatchInsert(obj).then(res => {
+      // 批量导入产品
+      hanldeOk (data, salesPromoSn) {
+        const params = {
+          salesBillSn: this.detailData.salesBillSn,
+          salesBillDetailList: data
+        }
+       
+        salesBatchInsert(params).then(res => {
           if (res.status == 200) {
             this.$refs.table.refresh(true)
             this.getOrderDetail(false)

+ 1 - 1
src/views/salesManagement/salesQueryNew/edit.vue

@@ -226,7 +226,7 @@ export default {
         this.$refs.productNormalList.insterProduct(row, promotionFlag)
       }else{
         // 活动产品
-        this.$refs[this.cpCurRefId][0].insterProduct(row, promotionFlag)
+        this.$refs[this.cpCurRefId][0].insterProduct(row, promotionFlag, type)
       }
     },
     // 选择价格类型  并更新