Quellcode durchsuchen

存在文化发货单导出功能

yjwang vor 2 Monaten
Ursprung
Commit
abe472d4df

+ 18 - 0
src/api/hisStore/storeOrder.js

@@ -194,6 +194,24 @@ export function exportStoreOrderItemsDetails(query) {
   })
 }
 
+// 导出发货单
+export function exportShippingOrder(query) {
+  return request({
+    url: '/store/store/storeOrder/exportShippingOrder',
+    method: 'get',
+    params: query
+  })
+}
+
+// 导出发货单
+export function healthExportShippingOrder(query) {
+  return request({
+    url: '/store/store/storeOrder/healthExportShippingOrder',
+    method: 'get',
+    params: query
+  })
+}
+
 // 导出订单
 export function exportHealthStoreOrderItems(query) {
   return request({

+ 85 - 4
src/views/hisStore/storeOrder/healthStoreList.vue

@@ -150,6 +150,23 @@
         >
         </el-date-picker>
       </el-form-item>
+      <el-form-item label="发货商品" prop="product">
+        <el-select
+          v-model="queryParams.productId"
+          filterable
+          remote
+          reserve-keyword
+          placeholder="请输入关键词"
+          :remote-method="getProduct"
+          :loading="loading">
+          <el-option
+            v-for="item in options"
+            :key="item.productId"
+            :label="item.productName"
+            :value="item.productId">
+          </el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item>
         <el-button icon="el-icon-search" size="mini" type="cyan" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -220,6 +237,16 @@
         >批量导入物流单号
         </el-button>
       </el-col>
+      <el-col :span="1.5">
+        <el-button
+          v-hasPermi="['store:storeOrder:healthExportShippingOrder']"
+          icon="el-icon-tickets"
+          size="mini"
+          type="success"
+          @click="handleExportShippingOrder"
+        >导出发货单
+        </el-button>
+      </el-col>
       <el-col :span="1.5">
         <el-button
           type="danger"
@@ -584,7 +611,7 @@ import {
   delStoreOrder,
   addStoreOrder,
   updateStoreOrder,
-  exportHealthStoreOrder, exportHealthStoreOrderDetails, exportHealthStoreOrderItemsDetails
+  exportHealthStoreOrder, exportHealthStoreOrderDetails, exportHealthStoreOrderItemsDetails, healthExportShippingOrder
 } from '@/api/hisStore/storeOrder'
 import { getUserList } from '@/api/hisStore/user'
 import { getAddressList } from '@/api/hisStore/userAddress'
@@ -600,6 +627,7 @@ import { treeselect } from '@/api/company/companyDept'
 import Treeselect from '@riophae/vue-treeselect'
 import '@riophae/vue-treeselect/dist/vue-treeselect.css'
 import { getConfigByKey } from '@/api/system/config'
+import { listStoreProduct } from '@/api/hisStore/storeProduct'
 
 export default {
   components: { productOrder, productSelect, addUser, addUserAddress, Treeselect },
@@ -721,8 +749,8 @@ export default {
         isChannel: null,
         isRemind: null,
         isSysDel: null,
-        deptId: null
-
+        deptId: null,
+        productId:null,
       },
       // 表单参数
       form: {
@@ -772,6 +800,12 @@ export default {
       ruleForm:{
         miniAppId: null,
       },
+      productQuery: {
+        pageNum:1,
+        pageSize:10,
+        productName:null,
+      },
+      options:[],
     }
   },
   computed: {
@@ -809,6 +843,7 @@ export default {
     })
 
     this.getList()
+    this.getProduct()
   },
   methods: {
     handleGenPayUrl(row) {
@@ -971,6 +1006,7 @@ export default {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm('queryForm')
+      this.queryParams.productId=null;
       this.handleQuery()
     },
     // 多选框选中数据
@@ -1284,7 +1320,52 @@ export default {
     cancelResetDeliveryNote(){
       this.deliveryNoteOpen = false;
       this.resetForm('ruleForm')
-    }
+    },
+    getProduct(value){
+      //获取商品列表
+      this.productQuery.productName = value;
+      listStoreProduct(this.productQuery).then(response => {
+        if(response.code === 200){
+          this.options=response.rows;
+        }
+      })
+    },
+    handleExportShippingOrder() {
+      if (this.queryParams.status == '00') {
+        this.queryParams.status = null
+      }
+      if (this.createTimeRange != null && this.createTimeRange.length == 2) {
+        this.queryParams.createTimeRange = this.createTimeRange[0] + '--' + this.createTimeRange[1]
+      } else {
+        this.queryParams.createTimeRange = null
+      }
+      if (this.payTimeRange != null && this.payTimeRange.length == 2) {
+        this.queryParams.payTimeRange = this.payTimeRange[0] + '--' + this.payTimeRange[1]
+      } else {
+        this.queryParams.payTimeRange = null
+      }
+      if (this.deliveryImportTimeRange != null && this.deliveryImportTimeRange.length == 2) {
+        this.queryParams.deliveryImportTimeRange = this.deliveryImportTimeRange[0] + '--' + this.deliveryImportTimeRange[1]
+      } else {
+        this.queryParams.deliveryImportTimeRange = null
+      }
+      if (this.deliverySendTimeRange != null && this.deliverySendTimeRange.length == 2) {
+        this.queryParams.deliverySendTimeRange = this.deliverySendTimeRange[0] + '--' + this.deliverySendTimeRange[1]
+      } else {
+        this.queryParams.deliverySendTimeRange = null
+      }
+      const queryParams = this.addDateRange(this.queryParams, this.dateRange)
+      this.$confirm('是否确认导出所有订单明细数据项?', '警告', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(function() {
+        return healthExportShippingOrder(queryParams)
+      }).then(response => {
+        this.download(response.msg)
+      }).catch(function() {
+      })
+    },
   }
 }
 </script>

+ 86 - 6
src/views/hisStore/storeOrder/index.vue

@@ -178,6 +178,23 @@
           />
         </el-select>
       </el-form-item>
+      <el-form-item label="发货商品" prop="product">
+        <el-select
+          v-model="queryParams.productId"
+          filterable
+          remote
+          reserve-keyword
+          placeholder="请输入关键词"
+          :remote-method="getProduct"
+          :loading="loading">
+          <el-option
+            v-for="item in options"
+            :key="item.productId"
+            :label="item.productName"
+            :value="item.productId">
+          </el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item>
         <el-button icon="el-icon-search" size="mini" type="cyan" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -248,6 +265,16 @@
         >导出订单明细(明文)
         </el-button>
       </el-col>
+      <el-col :span="1.5">
+        <el-button
+          v-hasPermi="['store:storeOrder:exportShippingOrder']"
+          icon="el-icon-tickets"
+          size="mini"
+          type="success"
+          @click="handleExportShippingOrder"
+        >导出发货单
+        </el-button>
+      </el-col>
       <el-col :span="1.5">
         <el-button
           v-hasPermi="['store:storeOrder:remove']"
@@ -655,11 +682,9 @@ import {
   listStoreOrder,
   getStoreOrder,
   delStoreOrder,
-  addStoreOrder,
-  updateStoreOrder,
   exportStoreOrder,
   getOrderItemsNum,
-  importDeliveryNoteExpressTemplate, exportStoreOrderDetails, exportStoreOrderItemsDetails
+  importDeliveryNoteExpressTemplate, exportStoreOrderDetails, exportStoreOrderItemsDetails, exportShippingOrder
 } from '@/api/hisStore/storeOrder'
 import { getUserList } from '@/api/hisStore/user'
 import { getAddressList } from '@/api/hisStore/userAddress'
@@ -675,6 +700,8 @@ import { treeselect } from '@/api/company/companyDept'
 import Treeselect from '@riophae/vue-treeselect'
 import '@riophae/vue-treeselect/dist/vue-treeselect.css'
 import { getConfigByKey } from '@/api/system/config'
+import { listStoreProduct } from "@/api/hisStore/storeProduct";
+import log from '@/views/monitor/job/log.vue'
 
 export default {
   components: { productOrder, productSelect, addUser, addUserAddress, Treeselect },
@@ -801,8 +828,8 @@ export default {
         isRemind: null,
         isSysDel: null,
         deptId: null,
-        isUpload: null
-
+        isUpload: null,
+        productId:null
       },
       // 表单参数
       form: {
@@ -851,7 +878,13 @@ export default {
       miniAppList: [],
       ruleForm: {
         miniAppId: null
-      }
+      },
+      productQuery: {
+        pageNum:1,
+        pageSize:10,
+        productName:null,
+      },
+      options:[],
     }
   },
   computed: {
@@ -895,6 +928,7 @@ export default {
     })
     this.getList()
     this.getItemsNum()
+    this.getProduct()
   },
   methods: {
     handleGenPayUrl(row) {
@@ -1091,6 +1125,7 @@ export default {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm('queryForm')
+      this.queryParams.productId=null;
       this.handleQuery()
     },
     // 多选框选中数据
@@ -1299,6 +1334,42 @@ export default {
       }).catch(function() {
       })
     },
+    handleExportShippingOrder() {
+      if (this.queryParams.status == '00') {
+        this.queryParams.status = null
+      }
+      if (this.createTimeRange != null && this.createTimeRange.length == 2) {
+        this.queryParams.createTimeRange = this.createTimeRange[0] + '--' + this.createTimeRange[1]
+      } else {
+        this.queryParams.createTimeRange = null
+      }
+      if (this.payTimeRange != null && this.payTimeRange.length == 2) {
+        this.queryParams.payTimeRange = this.payTimeRange[0] + '--' + this.payTimeRange[1]
+      } else {
+        this.queryParams.payTimeRange = null
+      }
+      if (this.deliveryImportTimeRange != null && this.deliveryImportTimeRange.length == 2) {
+        this.queryParams.deliveryImportTimeRange = this.deliveryImportTimeRange[0] + '--' + this.deliveryImportTimeRange[1]
+      } else {
+        this.queryParams.deliveryImportTimeRange = null
+      }
+      if (this.deliverySendTimeRange != null && this.deliverySendTimeRange.length == 2) {
+        this.queryParams.deliverySendTimeRange = this.deliverySendTimeRange[0] + '--' + this.deliverySendTimeRange[1]
+      } else {
+        this.queryParams.deliverySendTimeRange = null
+      }
+      const queryParams = this.addDateRange(this.queryParams, this.dateRange)
+      this.$confirm('是否确认导出所有订单明细数据项?', '警告', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(function() {
+        return exportShippingOrder(queryParams)
+      }).then(response => {
+        this.download(response.msg)
+      }).catch(function() {
+      })
+    },
     handleImport() {
       this.upload.title = '导入银行回单'
       this.upload.open = true
@@ -1408,6 +1479,15 @@ export default {
     cancelResetDeliveryNote(){
       this.deliveryNoteOpen = false;
       this.resetForm('ruleForm')
+    },
+    getProduct(value){
+      //获取商品列表
+      this.productQuery.productName = value;
+      listStoreProduct(this.productQuery).then(response => {
+        if(response.code === 200){
+          this.options=response.rows;
+        }
+      })
     }
   }
 }