Переглянути джерело

Merge commit '5096a0c8afad2a22983f285adf9072cd3a5800a5' into HEAD

gitadmin 1 місяць тому
батько
коміт
d8605fc3ce

BIN
public/templ/批量修改产品价格模板.xlsx


+ 1 - 1
public/version.json

@@ -1,5 +1,5 @@
 {
   "message": "发现有新版本发布,确定更新系统?",
   "vendorJsVersion": "",
-  "version": 1745313898697
+  "version": 1745477411009
 }

+ 46 - 0
src/api/dealerProduct.js

@@ -131,3 +131,49 @@ export const dealerProductExportError = params => {
     }
   })
 }
+
+// 产品价格导入  下载模板
+export const downloadDealerPriceTemplateExcel = params => {
+  return axios.request({
+    url: '/dealerProduct/downloadDealerPriceExcel',
+    method: 'post',
+    responseType: 'blob'
+  })
+}
+
+// 产品价格导入解析文件
+export const parseDealerPriceExcel = params => {
+  return axios({
+    url: '/dealerProduct/parsePriceExcel',
+    data: params,
+    method: 'post',
+    headers: {
+      'module': encodeURIComponent('产品价格导入')
+    }
+  })
+}
+
+// 产品价格导出错误项
+export const dealerPriceErrorExcel = params => {
+  return axios({
+    url: '/dealerProduct/priceErrorExcel',
+    data: params,
+    method: 'post',
+    responseType: 'blob',
+    headers: {
+      'module': encodeURIComponent('自建产品导入错误项')
+    }
+  })
+}
+
+// 批量更新
+export const updateBatchById = params => {
+  return axios({
+    url: '/dealerProduct/updateBatchBySn',
+    data: params,
+    method: 'post',
+    headers: {
+      'module': encodeURIComponent('批量更新价格')
+    }
+  })
+}

+ 127 - 125
src/libs/JGPrint.js

@@ -16,60 +16,62 @@ export const JGPrintTag = function (width, height, data) {
       cancelText: '暂不打印',
       zIndex: 100000,
       onOk () {
-        var agent = navigator.userAgent.toLowerCase();
-        if (agent.indexOf("win32") >= 0 || agent.indexOf("wow32") >= 0) {
-            window.open('https://demo.lodop.net:8443/Lodop6.226_Clodop6.594.zip')
-        }else if (agent.indexOf("win64") >= 0 || agent.indexOf("wow64") >= 0) {
-            window.open('https://www.lodop.net/download/CLodop_Setup_for_Win64NT_6.611EN.zip')
+        var agent = navigator.userAgent.toLowerCase()
+        if (agent.indexOf('win32') >= 0 || agent.indexOf('wow32') >= 0) {
+          window.open('https://demo.lodop.net:8443/Lodop6.226_Clodop6.594.zip')
+        } else if (agent.indexOf('win64') >= 0 || agent.indexOf('wow64') >= 0) {
+          window.open('https://www.lodop.net/download/CLodop_Setup_for_Win64NT_6.611EN.zip')
         }
       }
     })
     return
   }
-  LODOP.PRINT_INITA("0mm","0mm",width,height,"标签");
+  LODOP.PRINT_INITA('0mm', '0mm', width, height, '标签')
   LODOP.SET_SHOW_MODE('HIDE_PAPER_BOARD', 1) //  隐藏底图上有模拟走纸板的条纹线
   LODOP.SET_PRINT_MODE('POS_BASEON_PAPER', true) // 可使输出以纸张边缘为基点
-  const top = 3;
-  const tline = (data.dealerName.length > 14 ? 2 : 1);
-  const tline1 = (data.shelfName.length > 17 ? 2 : 1);
-  const top0 = top + tline * 5;
-  const top1 = top0 + 5;
-  const top2 = top1 + 10;
-  const top3 = top2 + 6;
+  const top = 3
+  const tline = (data.dealerName.length > 14 ? 2 : 1)
+  const tline1 = (data.shelfName.length > 17 ? 2 : 1)
+  const top0 = top + tline * 5
+  const top1 = top0 + 5
+  const top2 = top1 + 10
+  const top3 = top2 + 6
   // 经销商名称
-  LODOP.SET_PRINT_STYLE("TextNeatRow",true);
-  LODOP.SET_PRINT_STYLE("FontSize",10);
-  LODOP.ADD_PRINT_TEXT(top+'mm',"3mm","54mm","10mm",data.dealerName);
-  LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
-  LODOP.SET_PRINT_STYLEA(0,"Horient",2);
+  LODOP.SET_PRINT_STYLE('TextNeatRow', true)
+  LODOP.SET_PRINT_STYLE('FontSize', 10)
+  LODOP.ADD_PRINT_TEXT(top + 'mm', '3mm', '54mm', '10mm', data.dealerName)
+  LODOP.SET_PRINT_STYLEA(0, 'Alignment', 2)
+  LODOP.SET_PRINT_STYLEA(0, 'Horient', 2)
   // 货架名称
-  LODOP.SET_PRINT_STYLE("TextNeatRow",true);
-  LODOP.SET_PRINT_STYLE("FontSize",9);
-  LODOP.ADD_PRINT_TEXT(top0+'mm',"3mm","54mm","10mm",tline1>1?data.shelfName.substring(0,14)+'...':data.shelfName);
-  LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
-  LODOP.SET_PRINT_STYLEA(0,"Horient",2);
+  LODOP.SET_PRINT_STYLE('TextNeatRow', true)
+  LODOP.SET_PRINT_STYLE('FontSize', 9)
+  LODOP.ADD_PRINT_TEXT(top0 + 'mm', '3mm', '54mm', '10mm', tline1 > 1 ? data.shelfName.substring(0, 14) + '...' : data.shelfName)
+  LODOP.SET_PRINT_STYLEA(0, 'Alignment', 2)
+  LODOP.SET_PRINT_STYLEA(0, 'Horient', 2)
   // 货位号
-  LODOP.SET_PRINT_STYLE("TextNeatRow",true);
-  LODOP.SET_PRINT_STYLE("FontSize",30);
-  LODOP.ADD_PRINT_TEXT(top1+'mm',"50%","28mm","15mm",data.shelfPlaceCode);
+  LODOP.SET_PRINT_STYLE('TextNeatRow', true)
+  LODOP.SET_PRINT_STYLE('FontSize', 30)
+  LODOP.ADD_PRINT_TEXT(top1 + 'mm', '50%', '28mm', '15mm', data.shelfPlaceCode)
   // 产品编码
-  LODOP.SET_PRINT_STYLE("TextNeatRow",true);
-  LODOP.SET_PRINT_STYLE("FontSize",12);
-  LODOP.ADD_PRINT_TEXT(top2+'mm',"50%","30mm","15mm",data.productCode);
+  LODOP.SET_PRINT_STYLE('TextNeatRow', true)
+  LODOP.SET_PRINT_STYLE('FontSize', 12)
+  LODOP.ADD_PRINT_TEXT(top2 + 'mm', '50%', '30mm', '15mm', data.productCode)
   // 二维码
-  LODOP.ADD_PRINT_BARCODE(top1+'mm','6mm',80,80,"QRCode",data.qrCodeContent)
-  LODOP.SET_PRINT_STYLE("QRCodeVersion",5)
+  LODOP.ADD_PRINT_BARCODE(top1 + 'mm', '6mm', 80, 80, 'QRCode', data.qrCodeContent)
+  LODOP.SET_PRINT_STYLE('QRCodeVersion', 5)
   // 时间
-  LODOP.SET_PRINT_STYLE("TextNeatRow",true);
-  LODOP.SET_PRINT_STYLE("FontSize",9);
-  LODOP.ADD_PRINT_TEXT(top3+'mm',"50%","30mm","15mm",data.printTime);
+  LODOP.SET_PRINT_STYLE('TextNeatRow', true)
+  LODOP.SET_PRINT_STYLE('FontSize', 9)
+  LODOP.ADD_PRINT_TEXT(top3 + 'mm', '50%', '30mm', '15mm', data.printTime)
   // LODOP.SET_PRINT_STYLE("QRCodeErrorLevel",'H')
+  // 指定打印机
+  LODOP.SET_PRINTER_INDEX(store.state.app.printDefNeedle)
   LODOP.SET_PRINT_COPIES(data.printQty)// 指定份数
   LODOP.SET_PRINT_PAGESIZE(1, width, height)
   // LODOP.PREVIEW()
   LODOP.PRINT()
 }
- 
+
 export const demoGetBASE64 = function (dataArray) {
   var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
   var strData = ''
@@ -134,7 +136,7 @@ export const hdPrint = function (printerType, type, url, params, fileName, callb
       if (type == 'export') { //  导出
         downloadExcel(res, fileName)
       } else { // 打印
-        const taskName = fileName+'-'+(params.sn||params.checkWarehouseSn||params.settleClientSn)+'-'
+        const taskName = fileName + '-' + (params.sn || params.checkWarehouseSn || params.settleClientSn) + '-'
         jGPrint(res, type, printerType, taskName)
       }
     }
@@ -143,7 +145,7 @@ export const hdPrint = function (printerType, type, url, params, fileName, callb
 }
 
 // pdf blob 转 base64
-export const blobToBaseByPdf = function(data,callback){
+export const blobToBaseByPdf = function (data, callback) {
   const reader = new FileReader()
   reader.readAsDataURL(new Blob([data], { type: 'application/pdf' }))
   reader.addEventListener('load', () => {
@@ -151,124 +153,124 @@ export const blobToBaseByPdf = function(data,callback){
   })
 }
 // lodop 打印预览
-export const lodopPrintView = function(data){
+export const lodopPrintView = function (data) {
   const LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'))
   LODOP.SET_SHOW_MODE('HIDE_PAPER_BOARD', 1) //  隐藏底图上有模拟走纸板的条纹线
   // LODOP.SET_PRINT_MODE('POS_BASEON_PAPER', true) // 可使输出以纸张边缘为基点
   // 预览
   const dlen = data.length
   LODOP.PRINT_INIT('')
-  if(dlen > 1){
-    LODOP.SET_SHOW_MODE("HIDE_PBUTTIN_PREVIEW",1);//隐藏打印按钮
+  if (dlen > 1) {
+    LODOP.SET_SHOW_MODE('HIDE_PBUTTIN_PREVIEW', 1)// 隐藏打印按钮
   }
   LODOP.SET_PRINTER_INDEX(store.state.app.printDefNeedle)
   LODOP.ADD_PRINT_PDF(0, 0, '100%', '100%', data[0])
-  LODOP.SET_PRINT_PAGESIZE(3,2090,dlen>1?0:50,"");
+  LODOP.SET_PRINT_PAGESIZE(3, 2090, dlen > 1 ? 0 : 50, '')
   LODOP.PREVIEW()
 }
 // 获取打印机列表
-export const getPrintList = function(){
+export const getPrintList = function () {
   const LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'))
   const printCount = LODOP.GET_PRINTER_COUNT()
   const printList = []
-  for(let i=0;i<printCount;i++){
+  for (let i = 0; i < printCount; i++) {
     const pname = LODOP.GET_PRINTER_NAME(i)
-    if(pname.indexOf('Microsoft')<0&&pname.indexOf('OneNote')<0&&pname.indexOf('Fax')<0&&pname.indexOf('导出')<0){
-      printList.push({name:pname,value:i})
+    if (pname.indexOf('Microsoft') < 0 && pname.indexOf('OneNote') < 0 && pname.indexOf('Fax') < 0 && pname.indexOf('导出') < 0) {
+      printList.push({ name: pname, value: i })
     }
   }
   // store.state.app.printDefNeedle = LODOP.GET_PRINTER_NAME(-1)
   return printList
 }
 // 获取打印机状态
-export const getStatusValue = function (ValueType,ValueIndex,callback){
-		const LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'))
-		if (LODOP.CVERSION) {
-      LODOP.On_Return=function(TaskID,Value){
-        callback(Value)
-      };
+export const getStatusValue = function (ValueType, ValueIndex, callback) {
+  const LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'))
+  if (LODOP.CVERSION) {
+    LODOP.On_Return = function (TaskID, Value) {
+      callback(Value)
     }
-		var strResult=LODOP.GET_VALUE(ValueType,ValueIndex);
-		if (!LODOP.CVERSION) return callback(strResult); else return callback('');
-	}
+  }
+  var strResult = LODOP.GET_VALUE(ValueType, ValueIndex)
+  if (!LODOP.CVERSION) return callback(strResult); else return callback('')
+}
 // pdf 直接打印
-export const pdfPrint = function (data,index){
+export const pdfPrint = function (data, index) {
   const LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'))
   LODOP.SET_SHOW_MODE('HIDE_PAPER_BOARD', 1) //  隐藏底图上有模拟走纸板的条纹线
   // LODOP.SET_PRINT_MODE('POS_BASEON_PAPER', true) // 可使输出以纸张边缘为基点
   // 开始打印
   const dlen = data.length
   // 打印进入队列开始
-  store.commit('SET_printLoading',true)
+  store.commit('SET_printLoading', true)
   console.log(store.state.app.printTaskName)
-  LODOP.PRINT_INIT(store.state.app.printTaskName + (dlen>1 ? ('第'+(index+1)+'页') : ''))
-  //这个语句设置网络共享打印机连接不通时是否提示一下
-  LODOP.SET_PRINT_MODE("TRYLINKPRINTER_NOALERT",true);
-  //执行该语句之后,PRINT指令不再返回那个所谓“打印成功”,才能获取到打印状态
-  LODOP.SET_PRINT_MODE("CATCH_PRINT_STATUS",true);
-  //TaskID:任务id,Value:job代码
-  LODOP.On_Return=function(TaskID,Value){
-     console.log(TaskID,Value)
-     store.commit('SET_printTaskID',Value)
-     if(index+1 < dlen){
-       pdfPrint(data,index+1)
-     }else{
-       // 打印进入队列结束
-       store.commit('SET_printLoading',false)
-     }
-  };
+  LODOP.PRINT_INIT(store.state.app.printTaskName + (dlen > 1 ? ('第' + (index + 1) + '页') : ''))
+  // 这个语句设置网络共享打印机连接不通时是否提示一下
+  LODOP.SET_PRINT_MODE('TRYLINKPRINTER_NOALERT', true)
+  // 执行该语句之后,PRINT指令不再返回那个所谓“打印成功”,才能获取到打印状态
+  LODOP.SET_PRINT_MODE('CATCH_PRINT_STATUS', true)
+  // TaskID:任务id,Value:job代码
+  LODOP.On_Return = function (TaskID, Value) {
+    console.log(TaskID, Value)
+    store.commit('SET_printTaskID', Value)
+    if (index + 1 < dlen) {
+      pdfPrint(data, index + 1)
+    } else {
+      // 打印进入队列结束
+      store.commit('SET_printLoading', false)
+    }
+  }
   // 指定打印机
   LODOP.SET_PRINTER_INDEX(store.state.app.printDefNeedle)
   LODOP.ADD_PRINT_PDF(0, 0, '100%', '100%', data[index])
   // store.state.app.printDefPageSize
-  LODOP.SET_PRINT_PAGESIZE(3, 2090, (index==dlen-1)?50:0, '')
+  LODOP.SET_PRINT_PAGESIZE(3, 2090, (index == dlen - 1) ? 50 : 0, '')
   LODOP.PRINT()
 }
 // 判断当前单据是否已存在打印任务列表中
- export const hasExitTaskByName = function(noCallback){
-   const printTaskID = store.state.app.printTaskID
-   const printLoading = store.state.app.printLoading
-   if(printLoading){
-     Modal.info({
-       title: '提示',
-       content: '打印机正在打印中...',
-       okText: '知道了',
-       okType: 'danger',
-       centered: true,
-       zIndex: 100000
-     })
-   }else{
-     noCallback()
-     // if(printTaskID){
-     //   getStatusValue('PRINT_STATUS_BUSY',printTaskID,function(isExist){
-     //     console.log(isExist)
-     //     if(isExist.length){
-     //       if(isExist != '0'){
-     //         confirm({
-     //           title: '提示',
-     //           content: h => <div style='font-size:14px;'><div>打印机正在打印中或有未完成的打印任务</div><div>是否继续添加打印任务?</div></div>,
-     //           okText: '继续打印',
-     //           okType: 'danger',
-     //           cancelText: '取消',
-     //           centered: true,
-     //           zIndex: 100000,
-     //           onOk () {
-     //             noCallback()
-     //           }
-     //         })
-     //       }else{
-     //         noCallback()
-     //       }
-     //     }
-     //   })
-     // }else{
-     //   noCallback()
-     // }
-   }
- }
+export const hasExitTaskByName = function (noCallback) {
+  const printTaskID = store.state.app.printTaskID
+  const printLoading = store.state.app.printLoading
+  if (printLoading) {
+    Modal.info({
+      title: '提示',
+      content: '打印机正在打印中...',
+      okText: '知道了',
+      okType: 'danger',
+      centered: true,
+      zIndex: 100000
+    })
+  } else {
+    noCallback()
+    // if(printTaskID){
+    //   getStatusValue('PRINT_STATUS_BUSY',printTaskID,function(isExist){
+    //     console.log(isExist)
+    //     if(isExist.length){
+    //       if(isExist != '0'){
+    //         confirm({
+    //           title: '提示',
+    //           content: h => <div style='font-size:14px;'><div>打印机正在打印中或有未完成的打印任务</div><div>是否继续添加打印任务?</div></div>,
+    //           okText: '继续打印',
+    //           okType: 'danger',
+    //           cancelText: '取消',
+    //           centered: true,
+    //           zIndex: 100000,
+    //           onOk () {
+    //             noCallback()
+    //           }
+    //         })
+    //       }else{
+    //         noCallback()
+    //       }
+    //     }
+    //   })
+    // }else{
+    //   noCallback()
+    // }
+  }
+}
 // 打印控件
 export const jGPrint = function (data, type, printerType, taskName) {
-  console.log(data,taskName)
+  console.log(data, taskName)
   if (!data) {
     return
   }
@@ -283,11 +285,11 @@ export const jGPrint = function (data, type, printerType, taskName) {
         okType: 'danger',
         cancelText: '暂不打印',
         onOk () {
-          var agent = navigator.userAgent.toLowerCase();
-          if (agent.indexOf("win32") >= 0 || agent.indexOf("wow32") >= 0) {
-              window.open('https://demo.lodop.net:8443/Lodop6.226_Clodop6.594.zip')
-          }else if (agent.indexOf("win64") >= 0 || agent.indexOf("wow64") >= 0) {
-              window.open('https://www.lodop.net/download/CLodop_Setup_for_Win64NT_6.594EN.zip')
+          var agent = navigator.userAgent.toLowerCase()
+          if (agent.indexOf('win32') >= 0 || agent.indexOf('wow32') >= 0) {
+            window.open('https://demo.lodop.net:8443/Lodop6.226_Clodop6.594.zip')
+          } else if (agent.indexOf('win64') >= 0 || agent.indexOf('wow64') >= 0) {
+            window.open('https://www.lodop.net/download/CLodop_Setup_for_Win64NT_6.594EN.zip')
           }
         }
       })
@@ -295,20 +297,20 @@ export const jGPrint = function (data, type, printerType, taskName) {
     }
     store.commit('SET_printTaskName', taskName)
     // pdf 打印预览
-    if (type == 'preview') { 
+    if (type == 'preview') {
       store.commit('SET_pdfPrintList', data.data)
       store.commit('SET_showPdfPrint', data.data)
     } else if (type == 'print') { //  pdf 打印
       // 选择打印机
       const printDefNeedle = store.state.app.printDefNeedle
       const hasPrint = getPrintList().find(item => item.name == printDefNeedle)
-      console.log(printDefNeedle,hasPrint)
+      console.log(printDefNeedle, hasPrint)
       // 已经设置默认打印机
-      if(hasPrint){
+      if (hasPrint) {
         hasExitTaskByName(function () {
           pdfPrint(data.data, 0)
         })
-      }else{
+      } else {
         // 没有设置默认打印机时,请选择打印机
         store.commit('SET_pdfPrintList', data.data)
         store.commit('SET_printUseing', 1)
@@ -326,4 +328,4 @@ export const jGPrint = function (data, type, printerType, taskName) {
       window.frames['printfsqd'].print()
     }
   }
-}
+}

+ 19 - 3
src/views/numsGoodsShelves/replenishmentManagement/printView.vue

@@ -19,7 +19,7 @@
           {{ nowData.dealerName }}
         </div>
         <div class="storeName" style="text-align: center;margin: 0pt 0 10pt;">
-          {{ nowData.shelfInfo.shelfName }}
+          {{ nowData.shelfInfo?nowData.shelfInfo.shelfName: nowData.shelfName }}
         </div>
         <div style="overflow: hidden;">
           <div style="float: left;">
@@ -33,6 +33,17 @@
             <div style="margin: 2pt 0;">{{ moment().format('YYYY-MM-DD HH:mm') }}</div>
           </div>
         </div>
+        <div style="margin-top:10px;" v-if="!(nowData&&nowData.shelfInfo)">
+          <span style="margin-left:16px;">打印数量:</span>
+          <a-input-number
+            size="small"
+            id="replenishmentManagement-printNum"
+            v-model="printQtyNum"
+            :min="1"
+            :max="999999"
+            :precision="0"
+            style="width:63%;"/>
+        </div>
       </div>
     </div>
     <div class="btn-cont">
@@ -62,7 +73,8 @@ export default {
     return {
       isShow: false,
       nowData: null, // 当前数据
-      list: [] // 打印明细列表
+      list: [], // 打印明细列表
+      printQtyNum: 1// 默认打印数量
     }
   },
   methods: {
@@ -73,8 +85,11 @@ export default {
         const item = this.list[i]
         item.dealerName = this.nowData.dealerName
         item.qrCodeContent = `${item.shelfSn}&${item.productCode}&${item.productSn}&${item.shelfPlaceSn}`
-        item.shelfName = this.nowData.shelfInfo.shelfName
+        item.shelfName = this.nowData.shelfInfo ? this.nowData.shelfInfo.shelfName : this.nowData.shelfName
         item.printTime = moment().format('YYYY-MM-DD HH:mm')
+        if (!(this.nowData && this.nowData.shelfInfo)) {
+          item.printQty = this.printQtyNum
+        }
         JGPrintTag('60mm', '40mm', item)
       }
     },
@@ -98,6 +113,7 @@ export default {
       if (!newValue) {
         this.nowData = null
         this.list = []
+        this.printQtyNum = 1
         this.$emit('close')
       }
     }

+ 1 - 1
src/views/numsGoodsShelves/shelfSet/chooseShelfImportModal.vue

@@ -27,7 +27,7 @@
       <!-- 不可导入数据 -->
       <p class="red">不可导入数据{{ unLoadData.length }}条</p>
       <a-table
-        class="unTable"
+        class="sTable unTable"
         ref="unTable"
         size="small"
         :rowKey="(record) => record.errorDesc"

+ 21 - 5
src/views/numsGoodsShelves/shelfSet/set.vue

@@ -89,11 +89,11 @@
         <!-- 操作按钮 -->
         <div class="table-operator" v-if="basicInfoData&&basicInfoData.state!='WRITE_OFF'&&basicInfoData.state!='SUSPEND'">
           <a-button id="shelfSet-addHW" type="primary" class="button-error" @click="addHW(1)">新增货位</a-button>
-          <a-button id="shelfSet-imports" type="primary" class="button-info" @click="addHW(0)">批量导入货位</a-button>
-          <a-button id="shelfSet-importProduct" type="primary" class="button-error" @click="openGuideModal=true">导入绑定产品</a-button>
+          <a-button id="shelfSet-imports" type="primary" class="button-info" @click="addHW(0)">批量新增</a-button>
+          <a-button id="shelfSet-importProduct" type="primary" class="button-error" @click="openGuideModal=true">批量修改</a-button>
           <a-tooltip placement="top">
             <template slot="title">
-              <span>如果货位还没有绑定产品,可使用此功能通过Excel批量导入</span>
+              <span>货位未绑定产品,可使用此功能通过Excel批量导入;货位已绑定产品,可使用此功能批量修改(注:库存为0时才可修改产品编码)。</span>
             </template>
             <a-icon type="question-circle" style="color: rgba(0,0,0,.45);font-size: 16px;margin-left: 5px;vertical-align: middle;cursor: pointer;" />
           </a-tooltip>
@@ -169,6 +169,7 @@
               v-if="!(record.shelfProductApiEntity&&record.shelfProductApiEntity.productSn)"
               @click="handleDel(record)"
             >删除</a-button>
+            <a-button size="small" type="link" :id="'shelfSet-print-'+record.id" class="button-primary" @click.stop="handlePrintSticker(record)">打印贴签</a-button>
           </template>
         </s-table>
       </a-card>
@@ -195,12 +196,15 @@
     <commonModal modalTit="导入货架模板" :openModal="showTplModal" @close="closeTplModal" @ok="saveTpl">
       <shelfTemplate v-if="showTplModal" style="width:100%" v-model="tplSn"></shelfTemplate>
     </commonModal>
+    <!-- 打印标签 -->
+    <printView ref="printView" :openModal="showPrintView" @close="showPrintView=false"></printView>
   </div>
 </template>
 
 <script>
 import { commonMixin } from '@/utils/mixin'
 import { downloadExcel } from '@/libs/JGPrint.js'
+// 组件
 import { STable, VSelect } from '@/components'
 import commonModal from '@/views/common/commonModal.vue' // 公共提示弹框
 import addHwModal from './addHwModal.vue' // 新增货位弹框
@@ -209,10 +213,12 @@ import ImportGuideModal from './importGuideModal.vue' // 导入产品弹框
 import basicInfoModal from './basicInfoModal.vue' // 基本信息弹框
 import importHuoweiModal from './importHuoweiModal.vue' // 导入货位模板
 import shelfTemplate from '@/views/common/shelfTemplate' // 货架模板下拉组件
+import printView from '../replenishmentManagement/printView.vue' // 打印贴签组件
+// 接口
 import { shelfDetail, shelfProductList, shelfProductBatchInsert, delShelfPlaceSn, shelfProductEnable, getShelfPriceShow, shelfProductExport, importShelfTemplate } from '@/api/shelf'
 export default {
   name: 'ShelfMonitoringWarehousing',
-  components: { STable, VSelect, commonModal, bindProductModal, addHwModal, ImportGuideModal, basicInfoModal, importHuoweiModal, shelfTemplate },
+  components: { STable, VSelect, commonModal, bindProductModal, addHwModal, ImportGuideModal, basicInfoModal, importHuoweiModal, shelfTemplate, printView },
   mixins: [commonMixin],
   data () {
     return {
@@ -258,7 +264,8 @@ export default {
       openHwModal: false, // 新增编辑货位弹框
       openImportModal: false, // 导入货位模板弹框
       showPriceStr: [], // 货架产品价格权限
-      showNoShelfPriceStr: [] // 非货架产品价格权限
+      showNoShelfPriceStr: [], // 非货架产品价格权限
+      showPrintView: false// 打开  打印标签弹窗
     }
   },
   computed: {
@@ -480,6 +487,15 @@ export default {
     // 返回列表
     handleBack () {
       this.$router.push({ path: '/numsGoodsShelves/shelfSet/list' })
+    },
+    // 打印贴签
+    handlePrintSticker (row) {
+      const nowData = this.basicInfoData
+      const list = []
+      list.push(row)
+      // 打开预览弹框
+      this.showPrintView = true
+      this.$refs.printView.setData(nowData, list)
     }
   },
   mounted () {

+ 2 - 2
src/views/power/user/userList.vue

@@ -53,13 +53,13 @@
             v-if="$hasPermissions('B_powerMD_user_edit') && record.superAdmin!=1"
             @click="handleEdit(record)"
           />
-          <a-icon
+          <!-- <a-icon
             type="unlock"
             :id="'userList-resetpws-'+record.id"
             title="重置密码"
             v-if="record.loginFlag==1 && record.ownerOrgFlag==1 && $hasPermissions('B_powerMD_user_restPwd')"
             :style="{fontSize: '20px',color:' #ffaa00',padding: '0 10px'}"
-            @click="resetPassword(record)" />
+            @click="resetPassword(record)" /> -->
           <a-icon
             type="delete"
             :id="'userList-del-'+record.id"

+ 17 - 3
src/views/power/user/userModal.vue

@@ -37,9 +37,20 @@
             </a-col>
           </a-row>
           <a-row :gutter="20">
-            <a-col :span="24">
-              <a-form-model-item label="用户账号" prop="loginName" :label-col="{span: 3}" :wrapper-col="{span: 20}">
-                <a-input id="userEdit-loginName" v-model.trim="form.loginName":maxLength="50" allowClear placeholder="请输入用户账号(最多50个字符)"/>
+            <a-col :span="12">
+              <a-form-model-item label="用户账号" prop="loginName">
+                <a-input id="userEdit-loginName" v-model.trim="form.loginName" :maxLength="50" allowClear placeholder="请输入用户账号(最多50个字符)"/>
+              </a-form-model-item>
+            </a-col>
+            <a-col :span="12">
+              <a-form-model-item label="账号密码" prop="password">
+                <a-input
+                  id="userEdit-password"
+                  v-model.trim="form.password"
+                  :maxLength="50"
+                  :minLength="6"
+                  allowClear
+                  placeholder="请输入账号密码(6-50个字符)"/>
               </a-form-model-item>
             </a-col>
           </a-row>
@@ -131,6 +142,7 @@ export default {
         name: '', // 用户名称
         phone: '', // 手机号码
         loginName: '', // 用户账号
+        password: undefined, // 账号密码
         sex: undefined, // 性别
         loginFlag: '', // 状态
         roleNames: undefined, // 角色
@@ -140,6 +152,7 @@ export default {
         name: [ { required: true, message: '请输入用户名称', trigger: 'blur' }, { pattern: '^[^<|>]{1,30}$', message: '请输入不含<或>的字符,最多30个字符' } ],
         phone: [ { required: true, message: '请输入手机号码', trigger: 'blur' }, { pattern: /^[1][0-9]{10}$/, message: '请输入正确的手机号码!' } ],
         loginName: [ { required: true, message: '请输入用户账号', trigger: 'blur' }, { pattern: /^[0-9A-Za-z]+$/, message: '用户账号为数字或大小写字母组成!' } ],
+        password: [ { message: '请输入账号密码', trigger: 'blur' }, { pattern: '^.{6,50}$', message: '请输入6~50位密码' } ],
         sex: [ { required: true, message: '请选择性别', trigger: 'change' } ],
         loginFlag: [ { required: true, message: '请选择状态', trigger: 'change' } ],
         roleNames: [ { required: true, message: '请选择角色', trigger: 'change' } ]
@@ -204,6 +217,7 @@ export default {
         this.$refs.ruleForm.resetFields()
         this.form.name = ''
         this.form.phone = ''
+        this.form.password = undefined
         this.form.loginName = ''
         this.form.sex = undefined
         this.form.loginFlag = ''

+ 224 - 0
src/views/productManagement/productInfo/chooseImportPriceModal.vue

@@ -0,0 +1,224 @@
+<template>
+  <a-modal
+    centered
+    class="chooseImport-modal"
+    :footer="null"
+    :maskClosable="false"
+    title="导入"
+    v-model="isShow"
+    @cancel="isShow=false"
+    width="75%">
+    <div class="chooseImport-con">
+      <!-- 可导入数据 -->
+      <p class="">可导入数据{{ loadData.length }}条</p>
+      <a-table
+        class="sTable"
+        ref="table"
+        size="small"
+        :rowKey="(record) => record.shelfSn"
+        :columns="nowColumns"
+        :dataSource="loadData"
+        :loading="loading"
+        :scroll="{ y: 200 }"
+        :pagination="false"
+        bordered>
+      </a-table>
+      <a-divider />
+      <!-- 不可导入数据 -->
+      <p class="red">不可导入数据{{ unLoadData.length }}条</p>
+      <a-table
+        class="sTable unTable"
+        ref="unTable"
+        size="small"
+        :rowKey="(record) => record.errorDesc"
+        :columns="nowUnColumns"
+        :dataSource="unLoadData"
+        :loading="loading"
+        :scroll="{ y: 200 }"
+        :pagination="false"
+        bordered>
+        <!-- 导入错误项 -->
+        <!-- 经销商批发价 -->
+        <template slot="errorMsg" slot-scope="text,record">
+          <div v-if="record.importErrorMsgSet&&record.importErrorMsgSet.length>0">
+            <p v-for="(con,i) in record.importErrorMsgSet" :key="i">{{ i*1+1 }}、{{ con }};</p>
+          </div>
+        </template>
+        <!-- 终端价 -->
+        <template slot="errorMsg" slot-scope="text,record">
+          <div v-if="record.importErrorMsgSet&&record.importErrorMsgSet.length>0">
+            <p v-for="(con,i) in record.importErrorMsgSet" :key="i">{{ i*1+1 }}、{{ con }};</p>
+          </div>
+        </template>
+        <!-- 车主价 -->
+        <template slot="errorMsg" slot-scope="text,record">
+          <div v-if="record.importErrorMsgSet&&record.importErrorMsgSet.length>0">
+            <p v-for="(con,i) in record.importErrorMsgSet" :key="i">{{ i*1+1 }}、{{ con }};</p>
+          </div>
+        </template>
+        <!-- 备注 -->
+        <template slot="errorMsg" slot-scope="text,record">
+          <span>{{ record.remark ||'--' }}</span>
+        </template>
+      </a-table>
+      <!-- 按钮 -->
+      <div class="btn-con">
+        <a-button
+          type="primary"
+          id="chooseImport-submit"
+          size="large"
+          :class="loadData.length==0?'button-grey':'button-primary'"
+          @click="handleSubmit"
+          style="padding: 0 40px;">确认导入</a-button>
+        <a-button
+          id="chooseImport-cancel"
+          size="large"
+          class="button-cancel"
+          @click="isShow=false"
+          style="padding: 0 40px;margin-left: 15px;">取消</a-button>
+        <a-button
+          type="primary"
+          id="chooseImport-error"
+          size="large"
+          class="button-error"
+          @click="handleError"
+          style="padding: 0 40px;margin-left: 15px;">导出错误项</a-button>
+      </div>
+    </div>
+  </a-modal>
+</template>
+
+<script>
+import { commonMixin } from '@/utils/mixin'
+import { parseDealerPriceExcel, dealerPriceErrorExcel, updateBatchById } from '@/api/dealerProduct'
+import { hdExportExcel } from '@/libs/exportExcel'
+export default {
+  name: 'ChooseImportModal',
+  mixins: [commonMixin],
+  props: {
+    openModal: { //  弹框显示状态
+      type: Boolean,
+      default: false
+    },
+    paramsData: {
+      type: Object,
+      default: () => {
+        return {}
+      }
+    }
+  },
+  data () {
+    const _this = this
+    return {
+      isShow: this.openModal, //  是否打开弹框
+      nowColumns: [ //  可导入
+        { title: '序号', dataIndex: 'no', width: '6%', align: 'center' },
+        { title: '产品名称', dataIndex: 'name', width: '20%', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '产品编码', dataIndex: 'code', width: '13%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '经销商批发价', dataIndex: 'specialPrice', width: '13%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
+        { title: '终端价', dataIndex: 'terminalPrice', width: '10%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
+        { title: '车主价', dataIndex: 'carOwnersPrice', width: '10%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } }
+      ],
+      nowUnColumns: [ //  不可导入
+        { title: '序号', dataIndex: 'no', width: '6%', align: 'center' },
+        { title: '产品名称', dataIndex: 'name', width: '20%', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '产品编码', dataIndex: 'code', width: '12%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '经销商批发价', dataIndex: 'specialPrice', width: '13%', align: 'right', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '终端价', dataIndex: 'terminalPrice', width: '11%', align: 'right', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '车主价', dataIndex: 'carOwnersPrice', width: '11%', align: 'right', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '备注', width: '20%', align: 'center', scopedSlots: { customRender: 'errorMsg' } }
+      ],
+      loadData: [],
+      unLoadData: [],
+      loading: false
+    }
+  },
+  methods: {
+    // 获取导入数据
+    getData () {
+      const _this = this
+      this.loading = true
+      const params = JSON.parse(JSON.stringify(this.paramsData))
+      parseDealerPriceExcel(params).then(res => {
+        this.loading = false
+        if (res.status == 200) {
+          // 正确列表数据
+          if (res.data.rightList && res.data.rightList.length > 0) {
+            res.data.rightList.map((item, index) => {
+              item.no = index + 1
+            })
+          }
+          // 错误数据
+          if (res.data.errorList && res.data.errorList.length > 0) {
+            res.data.errorList.map((item, index) => {
+              item.no = index + 1
+            })
+          }
+          _this.loadData = res.data.rightList || []
+          _this.unLoadData = res.data.errorList || []
+        }
+      })
+    },
+    // 确认导入
+    handleSubmit () {
+      if (this.loadData.length == 0) {
+        this.$message.warning('暂无可导入产品!')
+      } else {
+        this.spinning = true
+        updateBatchById(this.loadData).then(res => {
+          if (res.status == 200) {
+            this.$emit('ok', this.loadData)
+            this.isShow = false
+          }
+          this.spinning = false
+        })
+      }
+    },
+    // 导出错误项
+    handleError () {
+      const _this = this
+      if (_this.unLoadData.length < 1) {
+        _this.$message.info('暂无可导出错误项~')
+        return
+      }
+      _this.spinning = true
+      hdExportExcel(dealerPriceErrorExcel, _this.unLoadData, '批量修改产品价格错误项', function () {
+        _this.spinning = false
+      })
+    }
+  },
+  watch: {
+    //  父页面传过来的弹框状态
+    openModal (newValue, oldValue) {
+      this.isShow = newValue
+    },
+    //  重定义的弹框状态
+    isShow (newValue, oldValue) {
+      if (!newValue) {
+        this.$emit('close')
+        this.loadData = []
+        this.unLoadData = []
+      } else {
+        this.getData()
+      }
+    }
+  }
+}
+</script>
+
+<style lang="less" scoped>
+  .chooseImport-modal{
+    .chooseImport-con{
+      .red{
+        color: #f30;
+      }
+      .btn-con{
+        text-align: center;
+        margin: 30px 0 20px;
+        .button-cancel,.button-error{
+          font-size: 12px;
+        }
+      }
+    }
+  }
+</style>

+ 193 - 0
src/views/productManagement/productInfo/importPriceModal.vue

@@ -0,0 +1,193 @@
+<template>
+  <a-modal
+    centered
+    class="importGuide-modal"
+    :footer="null"
+    :maskClosable="false"
+    title="导入产品"
+    v-model="isShow"
+    @cancel="isShow=false"
+    :width="750">
+    <div class="importGuide-con">
+      <div class="explain-con">
+        <div class="explain-item">
+          <div class="explain-tit">
+            <span>1</span>准备导入
+          </div>
+          <ul>
+            <li>1)必填项为"产品编码"、"经销商批发价"、"终端价"和"车主价"。</li>
+            <li>2)产品编码必须是已存在的产品(注:若已存在的产品已有价格,最新导入价格会替换原有价格)。</li>
+            <li>3)支持上传文件格式:.xls、.xlsx。</li>
+            <li><a :href="templUrl" id="importGuide-tpl-link"><a-icon type="download" />下载导入模板</a></li>
+          </ul>
+        </div>
+        <div class="explain-item">
+          <div class="explain-tit">
+            <span>2</span>上传数据文件
+          </div>
+          <p>目前支持的文件类型*.xls,*.xlsx.</p>
+          <div style="overflow: hidden;padding-left: 23px;">
+            <Upload
+              id="importGuide-attachList"
+              ref="importUpload"
+              :maxNums="1"
+              fileType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel"
+              uploadType="import"
+              :action="attachAction"
+              :uploadParams="uploadParams"
+              upText="选择导入文件"
+              @change="changeImport"></Upload>
+          </div>
+        </div>
+      </div>
+      <!-- 按钮 -->
+      <div class="btn-con">
+        <a-button
+          type="primary"
+          id="importGuide-nextStep"
+          size="large"
+          class="button-primary"
+          @click="handlerNextStep"
+          style="padding: 0 60px;">下一步</a-button>
+        <a-button
+          id="importGuide-cancel"
+          size="large"
+          class="button-cancel"
+          @click="isShow=false"
+          style="padding: 0 60px;margin-left: 15px;">取消</a-button>
+      </div>
+    </div>
+    <!-- 导入 -->
+    <chooseImportPriceModal :openModal="openImportModal" :paramsData="paramsData" @close="handleClose" @ok="hanldeOk" />
+  </a-modal>
+</template>
+
+<script>
+// 组件
+import { Upload } from '@/components'
+import chooseImportPriceModal from './chooseImportPriceModal.vue'
+export default {
+  name: 'ChooseImportPriceModal',
+  components: { chooseImportPriceModal, Upload },
+  props: {
+    openModal: { //  弹框显示状态
+      type: Boolean,
+      default: false
+    },
+    params: {
+      type: Object,
+      default: null
+    }
+  },
+  data () {
+    return {
+      isShow: this.openModal, //  是否打开弹框
+      openImportModal: false, //  导入
+      attachAction: process.env.VUE_APP_API_BASE_URL + '/upload',
+      paramsData: null,
+      uploadParams: {
+        savePathType: 'local'
+      },
+      templUrl: location.protocol + '//' + location.host + '/templ/批量修改产品价格模板.xlsx'
+    }
+  },
+  methods: {
+    // 清空数据
+    resetSearchForm () {
+      this.$refs.importUpload.setFileList() //  清空导入文件
+      this.paramsData = null //  清空上传数据
+    },
+    // 下一步
+    handlerNextStep () {
+      if (this.paramsData) {
+        this.openImportModal = true
+      } else {
+        this.$message.warning('添加文件后再进行下一步操作!')
+      }
+    },
+    // 上传文件  change
+    changeImport (file) {
+      console.log(file)
+      if (file) {
+        this.paramsData = {
+          path: file
+        }
+      }
+    },
+    // 导入
+    hanldeOk (obj) {
+      if (obj && obj.length > 0) {
+        this.$emit('ok', obj)
+        this.isShow = false
+      }
+    },
+    // 关闭
+    handleClose () {
+      this.openImportModal = false
+      this.isShow = false
+    }
+  },
+  watch: {
+    //  父页面传过来的弹框状态
+    openModal (newValue, oldValue) {
+      this.isShow = newValue
+    },
+    //  重定义的弹框状态
+    isShow (newValue, oldValue) {
+      if (!newValue) {
+        this.$emit('close')
+        this.paramsData = null
+        this.$refs.importUpload.setFileList('')
+      }
+    }
+  }
+}
+</script>
+
+<style lang="less" scoped>
+  .importGuide-modal{
+    .importGuide-con{
+      .explain-con{
+        .explain-item{
+          margin-bottom: 10px;
+          .explain-tit{
+            font-weight: bold;
+            span{
+              display: inline-block;
+              width: 18px;
+              height: 18px;
+              line-height: 16px;
+              text-align: center;
+              margin-right: 5px;
+              border-radius: 50%;
+              border: 1px solid rgba(0, 0, 0, 0.3);
+            }
+          }
+          p{
+            margin: 8px 0;
+            padding-left: 23px;
+          }
+          ul{
+            list-style: none;
+            padding: 0;
+            padding-left: 23px;
+            margin: 0;
+            li{
+              line-height: 26px;
+            }
+          }
+        }
+        #importGuide-attachList{
+          width: 100%;
+        }
+      }
+      .btn-con{
+        margin: 10px 0 20px;
+        text-align: center;
+        .button-cancel{
+          font-size: 12px;
+        }
+      }
+    }
+  }
+</style>

+ 21 - 3
src/views/productManagement/productInfo/list.vue

@@ -46,6 +46,15 @@
             <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
               <a-button type="primary" @click="searchForm()" :disabled="disabled" id="productInfoList-refresh">查询</a-button>
               <a-button style="margin-left: 5px" @click="resetSearchForm()" :disabled="disabled" id="productInfoList-reset">重置</a-button>
+              <a-button
+                style="margin-left: 5px"
+                type="primary"
+                class="button-warning"
+                @click="handleExport"
+                :disabled="disabled"
+                :loading="exportLoading"
+                v-if="$hasPermissions('B_product_dealerProduct_export')"
+                id="productInfoList-export">导出</a-button>
               <a @click="advanced = !advanced" style="margin-left: 5px" id="productInfoList-advanced">
                 {{ advanced ? '收起' : '展开' }}
                 <a-icon :type="advanced ? 'up' : 'down'" />
@@ -57,7 +66,8 @@
       <!-- 操作按钮 -->
       <div class="table-operator">
         <a-button v-if="$hasPermissions('B_product_dealerProduct_add')" id="productInfoList-add" type="primary" class="button-error" @click="handleEdit()">新增</a-button>
-        <a-button class="button-primary"  type="primary" v-if="$hasPermissions('B_product_dealerProduct_Export')" @click="importProduct">导入</a-button>
+        <a-button class="button-primary" id="productInfoList-import" type="primary" v-if="$hasPermissions('B_product_dealerProduct_import')" @click="importProduct">导入</a-button>
+        <a-button class="button-primary" v-if="$hasPermissions('B_product_dealerProduct_importPrice')" id="productInfoList-importPrice" type="primary" @click="importProductPrice">批量导入价格</a-button>
         <a-dropdown v-if="$hasPermissions('B_product_dealerProduct_enable')">
           <a-menu slot="overlay" @click="handleMenuClick" id="productInfoList-menus">
             <a-menu-item key="1" id="productInfoList-menus-1"> 批量启用</a-menu-item>
@@ -134,6 +144,8 @@
     <product-info-detail-modal :openModal="openModal" :itemId="itemId" @close="closeModal" />
     <!-- 导入产品 -->
     <importGuideModal :openModal="openGuideModal" @close="openGuideModal=false" @ok="resetSearchForm" />
+    <!-- 批量导入价格 -->
+    <importPriceModal :openModal="openEditPriceModal" @close="openEditPriceModal=false" @ok="resetSearchForm" />
   </a-card>
 </template>
 
@@ -145,10 +157,11 @@ import { dealerProductList, dealerProductUpdate, dealerProductExport } from '@/a
 import { STable, VSelect } from '@/components'
 import productInfoDetailModal from './detailModal.vue'
 import importGuideModal from './importGuideModal.vue'
+import importPriceModal from './importPriceModal.vue'
 import { downloadExcel } from '@/libs/JGPrint.js'
 export default {
   name: 'ProductList',
-  components: { STable, VSelect, productInfoDetailModal, ProductType, ProductBrand, importGuideModal },
+  components: { STable, VSelect, productInfoDetailModal, ProductType, ProductBrand, importGuideModal, importPriceModal },
   mixins: [commonMixin],
   data () {
     const _this = this
@@ -172,7 +185,8 @@ export default {
       },
       disabled: false, //  查询、重置按钮是否可操作
       exportLoading: false, // 导出loading
-      openGuideModal: false,
+      openGuideModal: false, // 打开导入弹窗
+      openEditPriceModal: false, // 打开修改价格弹窗
       columns: [
         { title: '序号', dataIndex: 'no', width: '4%', align: 'center' },
         {
@@ -400,6 +414,10 @@ export default {
     importProduct () {
       this.openGuideModal = true
     },
+    // 导入产品  修改价格
+    importProductPrice () {
+      this.openEditPriceModal = true
+    },
     // 表格选中项
     rowSelectionFun (obj) {
       this.rowSelectionInfo = obj || null

+ 10 - 10
src/views/reportData/salesDetailReport/list.vue

@@ -335,14 +335,6 @@ export default {
     },
     //  重置
     resetSearchForm () {
-      this.$refs.rangeDate.resetDate()
-      this.queryParam.time = []
-      this.queryParam.beginDate = ''
-      this.queryParam.endDate = ''
-      this.$refs.outWareRangeDate.resetDate('')
-      this.outWareTime = []
-      this.queryParam.outWarehouseBeginDate = ''
-      this.queryParam.outWarehouseEndDate = ''
       this.$refs.creatDate.resetDate()
       this.creatTime = []
       this.queryParam.createBeginDate = ''
@@ -367,13 +359,21 @@ export default {
       this.queryParam.salesBillNo = ''
       this.queryParam.salesManName = ''
       this.productType = []
-      this.$refs.ruleForm.resetFields()
       this.totalData = null
-      this.$refs.table.clearTable()
       if (this.advanced) {
+        this.$refs.rangeDate.resetDate()
+        this.queryParam.time = []
+        this.queryParam.beginDate = ''
+        this.queryParam.endDate = ''
+        this.$refs.outWareRangeDate.resetDate('')
+        this.outWareTime = []
+        this.queryParam.outWarehouseBeginDate = ''
+        this.queryParam.outWarehouseEndDate = ''
         this.$refs.custSatelliteList.resetForm()
         this.$refs.areaList.clearData()
       }
+      this.$refs.ruleForm.resetFields()
+      this.$refs.table.clearTable()
     },
     // 导出
     handleExport () {

+ 8 - 9
src/views/reportData/salesReport/list.vue

@@ -278,19 +278,10 @@ export default {
     },
     //  重置
     resetSearchForm () {
-      this.$refs.rangeDate.resetDate()
-      this.time = []
-      this.queryParam.beginDate = ''
-      this.queryParam.endDate = ''
-      this.$refs.outWareRangeDate.resetDate('')
-      this.outWareTime = []
-      this.queryParam.outWarehouseBeginDate = ''
-      this.queryParam.outWarehouseEndDate = ''
       this.$refs.creatDate.resetDate()
       this.creatTime = []
       this.queryParam.createBeginDate = ''
       this.queryParam.createEndDate = ''
-
       this.queryParam.buyerNameCurrent = undefined
       this.queryParam.buyerSnCurrent = undefined
       this.queryParam.salesTargetType = undefined
@@ -305,6 +296,14 @@ export default {
       this.$refs.ruleForm.resetFields()
       this.totalData = null
       if (this.advanced) {
+        this.$refs.rangeDate.resetDate()
+        this.time = []
+        this.queryParam.beginDate = ''
+        this.queryParam.endDate = ''
+        this.$refs.outWareRangeDate.resetDate('')
+        this.outWareTime = []
+        this.queryParam.outWarehouseBeginDate = ''
+        this.queryParam.outWarehouseEndDate = ''
         this.$refs.custSatelliteList.resetForm()
         this.$refs.areaList.clearData()
       }