Browse Source

Merge branch 'sit'

xiaodai2022 2 years ago
parent
commit
3bb12f7612

+ 7 - 0
.env.prodJiesuan

@@ -0,0 +1,7 @@
+NODE_ENV = prodJiesuan
+
+# just a flag
+ENV = 'prodJiesuan'
+
+# base api
+VUE_APP_BASE_API = '/prodJiesuan-api'

File diff suppressed because it is too large
+ 10 - 0
dist/static/js/0.js


File diff suppressed because it is too large
+ 10 - 0
dist/static/js/app.js


File diff suppressed because it is too large
+ 160 - 0
dist/static/js/chunk-libs.js


+ 64 - 49
src/apis/service/reportQuery/saleReport/index.js

@@ -14,60 +14,79 @@ export default {
   update: (data, params) => http(api + "cgdedit", data, "post", params),
 
   //日报
-  saleexportconsultday: (data, params) => http(api + "saleexportconsultday", data, "post", params),
+  saleexportconsultday: (data, params) =>
+    http(api + "saleexportconsultday", data, "post", params),
   //日报导出
-  saleexportconsultdayexport: (data, params) => http(api + "saleexportconsultdayexport", data, "post", params),
+  saleexportconsultdayexport: (data, params) =>
+    http(api + "saleexportconsultdayexport", data, "post", params),
   //竞价单报表
-  saleexportconsultinfo: (data, params) => http(api + "saleexportconsultinfo", data, "post", params),
+  saleexportconsultinfo: (data, params) =>
+    http(api + "saleexportconsultinfo", data, "post", params),
   //竞价单报表导出
-  saleexportconsultinfoexport: (data, params) => http(api + "saleexportconsultinfoexport", data, "post", params),
+  saleexportconsultinfoexport: (data, params) =>
+    http(api + "saleexportconsultinfoexport", data, "post", params),
   //订单报表
-  saleexportlist: (data, params) => http(api + "saleexportlist", data, "post", params),
+  saleexportlist: (data, params) =>
+    http(api + "saleexportlist", data, "post", params),
   //订单报表导出
   saleexport: (data, params) => http(api + "saleexport", data, "post", params),
   //未发货报表
-  saleexportnotout: (data, params) => http(api + "saleexportnotout", data, "post", params),
+  saleexportnotout: (data, params) =>
+    http(api + "saleexportnotout", data, "post", params),
   //未发货报表导出
-  saleexportnotoutexport: (data, params) => http(api + "saleexportnotoutexport", data, "post", params),
+  saleexportnotoutexport: (data, params) =>
+    http(api + "saleexportnotoutexport", data, "post", params),
   //未签收报表
-  saleexportnotsigned: (data, params) => http(api + "saleexportnotsigned", data, "post", params),
+  saleexportnotsigned: (data, params) =>
+    http(api + "saleexportnotsigned", data, "post", params),
   //未签收报表导出
-  saleexportnotsignedexport: (data, params) => http(api + "saleexportnotsignedexport", data, "post", params),
+  saleexportnotsignedexport: (data, params) =>
+    http(api + "saleexportnotsignedexport", data, "post", params),
   //售后报表
-  saleexportorderreturn: (data, params) => http(api + "saleexportorderreturn", data, "post", params),
+  saleexportorderreturn: (data, params) =>
+    http(api + "saleexportorderreturn", data, "post", params),
   //售后报表导出
-  saleexportorderreturnexport: (data, params) => http(api + "saleexportorderreturnexport", data, "post", params),
+  saleexportorderreturnexport: (data, params) =>
+    http(api + "saleexportorderreturnexport", data, "post", params),
   //产品热销排行
-  saleexportgoodrankinglist: (data, params) => http(api + "saleexportgoodrankinglist", data, "post", params),
+  saleexportgoodrankinglist: (data, params) =>
+    http(api + "saleexportgoodrankinglist", data, "post", params),
   //产品热销排行导出
-  saleexportgoodrankinglistexport: (data, params) => http(api + "saleexportgoodrankinglistexport", data, "post", params),
-
+  saleexportgoodrankinglistexport: (data, params) =>
+    http(api + "saleexportgoodrankinglistexport", data, "post", params),
 
   // 暂无数据____________________________________________
   //未开票报表
-  reportorderlistdetailed: (data, params) => http(api + "reportorderlistdetailed", data, "post", params),
+  reportorderlistdetailed: (data, params) =>
+    http(api + "reportorderlistdetailed", data, "post", params),
   //未开票报表导出
-  reportorderlistdetailedexport: (data, params) => http(api + "reportorderlistdetailedexport", data, "post", params),
-
-
-
+  reportorderlistdetailedexport: (data, params) =>
+    http(api + "reportorderlistdetailedexport", data, "post", params),
 
   //订单导出表
-  saleexportsaledetailed: (data, params) => http(api + "saleexportsaledetailed", data, "post", params),
+  saleexportsaledetailed: (data, params) =>
+    http(api + "saleexportsaledetailed", data, "post", params),
   //订单导出表导出
-  saleexportsaledetailedexport: (data, params) => http(api + "saleexportsaledetailedexport", data, "post", params),
+  saleexportsaledetailedexport: (data, params) =>
+    http(api + "saleexportsaledetailedexport", data, "post", params),
   //竞价单导出明细
-  saleexportconsultdetailed: (data, params) => http(api + "saleexportconsultdetailed", data, "post", params),
+  saleexportconsultdetailed: (data, params) =>
+    http(api + "saleexportconsultdetailed", data, "post", params),
   //竞价单导出明细导出
-  saleexportconsultdetailedexport: (data, params) => http(api + "saleexportconsultdetailedexport", data, "post", params),
+  saleexportconsultdetailedexport: (data, params) =>
+    http(api + "saleexportconsultdetailedexport", data, "post", params),
   //工差明细表
-  saleexportsalediff: (data, params) => http(api + "saleexportsalediff", data, "post", params),
+  saleexportsalediff: (data, params) =>
+    http(api + "saleexportsalediff", data, "post", params),
   //工差明细表导出
-  saleexportsalediffexport: (data, params) => http(api + "saleexportsalediffexport", data, "post", params),
+  saleexportsalediffexport: (data, params) =>
+    http(api + "saleexportsalediffexport", data, "post", params),
   //退货明细表
-  saleexportthdata: (data, params) => http(api + "saleexportthdata", data, "post", params),
+  saleexportthdata: (data, params) =>
+    http(api + "saleexportthdata", data, "post", params),
   //退货明细表导出
-  saleexportthdataexport: (data, params) => http(api + "saleexportthdataexport", data, "post", params),
+  saleexportthdataexport: (data, params) =>
+    http(api + "saleexportthdataexport", data, "post", params),
   //售后明细表
   seord: (data, params) => http(api + "seord", data, "post", params),
   //售后明细表导出
@@ -76,37 +95,33 @@ export default {
   sebo: (data, params) => http(api + "sebo", data, "post", params),
   //议价明细表导出
   seboe: (data, params) => http(api + "seboe", data, "post", params),
-  //无地址待发货订
+  //延时发货申请
   seoona: (data, params) => http(api + "seoona", data, "post", params),
-  //无地址待发货订单导出
+  //延时发货申请单导出
   seoonae: (data, params) => http(api + "seoonae", data, "post", params),
-  //有地址待发货订
+  //直接发货申请
   seooa: (data, params) => http(api + "seooa", data, "post", params),
-  //有地址待发货订单导出
+  //直接发货申请单导出
   seooae: (data, params) => http(api + "seooae", data, "post", params),
+  //无地址销售订单统计
+  sna: (data, params) => http(api + "sna", data, "post", params),
 
-
-
-
-  
   //开票明细表
-  reportchangeloglist: (data, params) => http(api + "reportchangeloglist", data, "post", params),
+  reportchangeloglist: (data, params) =>
+    http(api + "reportchangeloglist", data, "post", params),
   //开票明细表导出
-  reportchangelogeexport: (data, params) => http(api + "reportchangelogeexport", data, "post", params),
+  reportchangelogeexport: (data, params) =>
+    http(api + "reportchangelogeexport", data, "post", params),
   //待开票列表
-  reportchangeloglist: (data, params) => http(api + "reportchangeloglist", data, "post", params),
+  reportchangeloglist: (data, params) =>
+    http(api + "reportchangeloglist", data, "post", params),
   //待开票列表导出
-  reportchangelogeexport: (data, params) => http(api + "reportchangelogeexport", data, "post", params),
+  reportchangelogeexport: (data, params) =>
+    http(api + "reportchangelogeexport", data, "post", params),
   //待回款列表
-  reportchangeloglist: (data, params) => http(api + "reportchangeloglist", data, "post", params),
+  reportchangeloglist: (data, params) =>
+    http(api + "reportchangeloglist", data, "post", params),
   //待回款列表导出
-  reportchangelogeexport: (data, params) => http(api + "reportchangelogeexport", data, "post", params),
-
+  reportchangelogeexport: (data, params) =>
+    http(api + "reportchangelogeexport", data, "post", params),
 };
-
-
-
-
-
-
-

+ 2 - 5
src/config/env.jiesuan.js

@@ -3,12 +3,9 @@ module.exports = {
   title: '采销平台',
   baseUrl: 'http://wx.wxhr.sit.futurelab.tv',
   api: {
-    //web域名 stock.sitw.wanyuhengtong.com
-    // baseApi: 'http://inv.sitw.wanyuhengtong.com/',
-    // tableApi: 'http://inv.sit.wanyuhengtong.com/',
-
     userApi: 'http://inv.sitw.wanyuhengtong.com/',
-    baseApi: 'http://stock.caixiao.wanyuhengtong.cn/',
+    // baseApi: 'http://stock.caixiao.wanyuhengtong.cn/',
+    baseApi: 'http://stock.api.caixiao365.com/',
   },
   webUrl:'http://share.sitw.wanyuhengtong.com/#/good-share?id=',
   fileURL: `https://api2.edu.futurelab.tv`,

+ 98 - 4
src/views/reportQuery/saleReport/components/columns.js

@@ -1367,7 +1367,7 @@ const table14 = [
 
 ]
 
-//无地址待发货订
+//延时发货申请
 const table15 = [
   // {
   //   type: "expand",
@@ -1390,6 +1390,12 @@ const table15 = [
     label: "订单编号",
     minWidth: "155px",
   },
+  {
+    prop: "order_type",
+    label: "商品类型",
+    width: "100px",
+    _slot_: "order_type",
+  },
   {
     prop: "cgdNo",
     label: "采购单编号",
@@ -1465,7 +1471,7 @@ const table15 = [
 
 
 
-//有地址待发货订
+//直接发货申请
 const table16 = [
   // {
   //   type: "expand",
@@ -1488,6 +1494,12 @@ const table16 = [
     label: "订单编号",
     minWidth: "155px",
   },
+  {
+    prop: "order_type",
+    label: "商品类型",
+    width: "100px",
+    _slot_: "order_type",
+  },
   {
     prop: "sendtime",
     label: "发货时间",
@@ -1914,7 +1926,89 @@ const table19 = [
 ]
 
 
-
+//直接发货申请单
+const table20 = [
+  // {
+  //   type: "expand",
+  //   _slot_: "expand",
+  //   fixed: "left",
+  //   _noset_: true,
+  // },
+  // {
+  //   type: "selection",
+  //   fixed: "left",
+  //   _noset_: true
+  // },
+  // {
+  //   prop: "addtime",
+  //   label: "下单日期",
+  //   minWidth: "155px",
+  // },
+  {
+    prop: "orderCode",
+    label: "订单编号",
+    minWidth: "155px",
+  },
+  {
+    prop: "order_type",
+    label: "商品类型",
+    width: "100px",
+    _slot_: "order_type",
+  },
+  {
+    prop: "status",
+    label: "订单状态",
+    width: "110px",
+    _slot_: "status",
+  },
+ 
+  {
+    prop: "good_code",
+    label: "商品成本编号",
+    width: "160px",
+  },
+  {
+    prop: "skuCode",
+    label: "上线商品编号",
+    width: "155px",
+  },
+  {
+    prop: "good_name",
+    label: "商品名称",
+    minWidth: "155px",
+  },
+  {
+    prop: "good_num",
+    label: "购买数量",
+    width: "110px",
+  },
+  {
+    prop: "send_num",
+    label: "已发数量",
+    width: "110px",
+  },
+  {
+    prop: "wsend_num",
+    label: "未发数量",
+    width: "110px",
+  },
+  {
+    prop: "not_addr_address_good_num",
+    label: "无地址数量",
+    width: "110px",
+  },
+ 
+  {
+    prop: "nickname",
+    label: "申请人",
+    width: "70px",
+  },
+  {
+    prop: "name",
+    label: "所属部门",
+    width: "90px",
+  },
+]
 
 
 
@@ -1939,5 +2033,5 @@ export {
   table17,
   table18,
   table19,
-
+  table20,
 }

+ 144 - 97
src/views/reportQuery/saleReport/components/table15.vue

@@ -1,67 +1,110 @@
 <template>
-    <div>
-      <ex-table
-        v-loading="loading"
-        :table="table"
-        :data="tableData"
-        :columns="table15"
-        :page="pageInfo"
-        :size="size"
-        @page-curr-change="handlePageChange"
-        @page-size-change="handleSizeChange"
-        @screen-reset="
-          pageInfo.curr = 1;
-          parmValue.page = 1;
-          searchList();
-        "
-        @screen-submit="
-          pageInfo.curr = 1;
-          parmValue.page = 1;
-          searchList();
-        "
-        @selection="selection_change"
-      >
-        <template #table-header="{}">
-          <div style="width: 100%">
-            <el-row style="padding: 0 0 0 80px">
-             
-               <el-col :span="6" style="width: 363px;">
-                <periodDatePickerActive
-                      :start="parmValue.start_date"
-                      :end="parmValue.end_date"
-                      :placeholder="'下单'"
-                      :width="'165px'"
-                      :size="searchSize"
-                      @timeReturned="time"
-                    />
-              </el-col>  
-              <el-col :span="4" style="width: 66px; float: right">       
-                <el-button type="primary" style="margin-left:30px;" @click="download" :size="searchSize"  class="fr">
-                    导出
-                </el-button>
-              </el-col>
-              <el-col :span="3" style="width: 66px; float: right">
-                <el-button
-                  :size="searchSize"
-                  type="primary"
-                  style="float: right; margin-left: 5px"
-                  @click="searchList"
-                >
-                  刷新
-                </el-button>
-              </el-col>
-              <el-col :span="4" style="width: 66px; float: right">
-                <el-button
-                  type="warning"
-                  class="fr"
-                  :size="searchSize"
-                  @click="restSearch"
-                >
-                  重置
-                </el-button>
-              </el-col>  
-            </el-row>
-            <!-- <el-row style="padding: 10px 0 0 0">
+  <div>
+    <ex-table
+      v-loading="loading"
+      :table="table"
+      :data="tableData"
+      :columns="table15"
+      :page="pageInfo"
+      :size="size"
+      @page-curr-change="handlePageChange"
+      @page-size-change="handleSizeChange"
+      @screen-reset="
+        pageInfo.curr = 1;
+        parmValue.page = 1;
+        searchList();
+      "
+      @screen-submit="
+        pageInfo.curr = 1;
+        parmValue.page = 1;
+        searchList();
+      "
+      @selection="selection_change"
+    >
+      <template #table-header="{}">
+        <div style="width: 100%">
+          <el-row style="padding: 0 0 0 80px">
+            <el-col :span="6" style="width: 363px">
+              <periodDatePickerActive
+                :start="parmValue.start_date"
+                :end="parmValue.end_date"
+                :placeholder="'下单'"
+                :width="'165px'"
+                :size="searchSize"
+                @timeReturned="time"
+              />
+            </el-col>
+            <el-col :span="6" style="width: 200px">
+              <el-select
+                :size="searchSize"
+                v-model="parmValue.status"
+                filterable
+                clearable
+                placeholder="发货申请单状态"
+                style="width: 100%"
+                @change="
+                  pageInfo.curr = 1;
+                  parmValue.page = 1;
+                  searchList();
+                "
+              >
+                <el-option label="待发货" value="0"></el-option>
+                <el-option label="待库管发货" value="1"></el-option>
+                <el-option label="已发货待收货" value="2"></el-option>
+                <el-option label="已收货" value="3"></el-option>
+                <el-option label="已全部退货" value="4"></el-option>
+              </el-select>
+            </el-col>
+            <el-col :span="6" style="width: 200px; padding: 0 0 0 10px">
+              <el-select
+                :size="searchSize"
+                v-model="parmValue.order_type"
+                filterable
+                clearable
+                placeholder="商品类型"
+                style="width: 100%"
+                @change="
+                  pageInfo.curr = 1;
+                  parmValue.page = 1;
+                  searchList();
+                "
+              >
+                <el-option
+                  v-for="(item, index) in xs_order_type_options"
+                  :key="item.id + index"
+                  :label="item.label"
+                  :value="item.id"
+                />
+              </el-select>
+            </el-col>
+            <el-col :span="4" style="width: 66px; float: right">
+              <el-button
+                type="primary"
+                style="margin-left: 30px"
+                @click="download"
+                :size="searchSize"
+                class="fr"
+              >
+                导出
+              </el-button>
+            </el-col>
+            <el-col :span="3" style="width: 66px; float: right">
+              <el-button
+                :size="searchSize"
+                type="primary"
+                style="float: right; margin-left: 5px"
+                @click="searchList"
+              >
+                刷新
+              </el-button>
+            </el-col>
+            <el-col :span="4" style="width: 66px; float: right">
+              <el-button type="warning" class="fr" :size="searchSize" @click="restSearch">
+                重置
+              </el-button>
+            </el-col>
+          </el-row>
+          <!-- <el-row style="padding: 10px 0 0 0">
               
               <el-col :span="6" style="width: 363px;">
                 <periodDatePickerActive
@@ -99,33 +142,37 @@
                 </el-button>
               </el-col>     
             </el-row> -->
-          </div>
-       </template>
-
-        
-      </ex-table>
-    </div>
-
-  
+        </div>
+      </template>
+      <template #order_type="{ scope }">
+        <el-tag
+          :size="tablebtnSize"
+          v-text="
+            (xs_order_type_options.find((item) => item.id == scope.row.order_type) || {})
+              .label || '--'
+          "
+        ></el-tag>
+      </template>
+    </ex-table>
+  </div>
 </template>
-   <script>
+<script>
 import mixinPage from "@/mixins/elPaginationHandle";
 import resToken from "@/mixins/resToken";
 import urlConfig from "@/apis/url-config";
 import asyncRequest from "@/apis/service/reportQuery/saleReport";
 import periodDatePickerActive from "../period-date-picker/main.vue";
-import { table15} from "./columns";
+import { table15 } from "./columns";
 import { mapGetters } from "vuex";
-
+import { xs_order_type_options } from "@/assets/js/statusList";
 export default {
   name: "saleReport",
   mixins: [mixinPage, resToken],
   components: {
-    periodDatePickerActive
+    periodDatePickerActive,
   },
   computed: {
     ...mapGetters(["tablebtnSize", "searchSize", "size"]),
-    
   },
   data() {
     return {
@@ -135,16 +182,16 @@ export default {
       fileUrl: urlConfig.baseURL,
       //loading
       loading: false,
+      xs_order_type_options,
       //请求参数集合
       parmValue: {
-        
         start_date: "", //起始时间
         end_date: "", // 结束时间
+        status: "", //状态
         // is_export:0,//是否导出0/1
-
+        order_type: "",
         page: 1, // 页码
         size: 15, // 每页显示条数
-       
       },
       // 表格 - 数据集合
       tableData: [],
@@ -161,11 +208,10 @@ export default {
         total: 0,
       },
       // 表格表头 - 列参数
-      table15: table15,
+      table15,
     };
   },
   mounted() {
-
     this.searchList();
   },
 
@@ -180,7 +226,7 @@ export default {
         return;
       }
       this.loading = true;
-      
+
       const res = await asyncRequest.seoona(this.parmValue);
       if (res && res.code === 0 && res.data) {
         this.tableData = res.data.list;
@@ -188,18 +234,20 @@ export default {
       } else if (res && res.code >= 100 && res.code <= 104) {
         await this.logout();
       } else {
-        this.$message.warning(res.message)
+        this.$message.warning(res.message);
         this.tableData = [];
         this.pageInfo.total = 0;
       }
       this.loading = false;
     },
-   
+
     //重置
     restSearch() {
       this.parmValue = {
         start_date: "", //新建起始时间
         end_date: "", // 新建结束时间
+        order_type: "",
+        status: "", //状态
         // is_export:0,//是否导出0/1
         page: 1, // 页码
         size: 15, // 每页显示条数
@@ -212,7 +260,7 @@ export default {
       };
       this.searchList();
     },
-    
+
     // 时间函数
     async time(e) {
       this.parmValue.start_date = e.startTime || "";
@@ -229,30 +277,30 @@ export default {
       await this.searchList();
     },
 
-     //选中触发函数
+    //选中触发函数
     selection_change(e) {
       const { list } = e;
       //选中的数组集合
       this.changeList = list.length > 0 ? JSON.parse(JSON.stringify(list)) : [];
     },
-    //导出文件 
+    //导出文件
     async download() {
       // if(this.changeList.length<=0){
       //   this.$message.warning("请选择有效数据")
       //   return;
       // }
-      let model = JSON.parse(JSON.stringify(this.parmValue))
+      let model = JSON.parse(JSON.stringify(this.parmValue));
       // model.is_export = 1;
       let start_date = new Date(this.parmValue.start_date).valueOf();
       let end_date = new Date(this.parmValue.end_date).valueOf();
       let flag = end_date - start_date > 30 * 24 * 60 * 60 * 1000;
-      if(this.parmValue.start_date != "" && this.parmValue.end_date != ""){
-        if(flag){
-          this.$message.warning("导出文件的时间区间不能超过30天")
+      if (this.parmValue.start_date != "" && this.parmValue.end_date != "") {
+        if (flag) {
+          this.$message.warning("导出文件的时间区间不能超过30天");
           return;
         }
-      }else{
-        this.$message.warning("请选择导出文件的时间区间")
+      } else {
+        this.$message.warning("请选择导出文件的时间区间");
         return;
       }
       if (!this.loading) {
@@ -277,13 +325,13 @@ export default {
               let url = window.URL.createObjectURL(
                 new Blob([res.data], {
                   // type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8",
-                  type: httpType
+                  type: httpType,
                 })
               );
               let link = document.createElement("a");
               link.style.display = "none";
               link.href = url;
-              let excelName = "无地址待发货订单.zip";
+              let excelName = "延时发货申请单.zip";
               link.setAttribute("download", excelName);
               document.body.appendChild(link);
               link.click();
@@ -309,9 +357,8 @@ export default {
   },
 };
 </script>
-   <style lang="scss" scoped>
+<style lang="scss" scoped>
 .purchaseOrder {
   // text-align: right;
 }
 </style>
-   

+ 187 - 155
src/views/reportQuery/saleReport/components/table16.vue

@@ -1,144 +1,167 @@
 <template>
-    <div>
-      <ex-table
-        v-loading="loading"
-        :table="table"
-        :data="tableData"
-        :columns="table16"
-        :page="pageInfo"
-        :size="size"
-        @page-curr-change="handlePageChange"
-        @page-size-change="handleSizeChange"
-        @screen-reset="
-          pageInfo.curr = 1;
-          parmValue.page = 1;
-          searchList();
-        "
-        @screen-submit="
-          pageInfo.curr = 1;
-          parmValue.page = 1;
-          searchList();
-        "
-        @selection="selection_change"
-      >
-        <template #table-header="{}">
-          <div style="width: 100%">
-            <el-row style="padding: 0 0 0 80px">
-             
-               <el-col :span="6" style="width: 363px;">
-                <periodDatePickerActive
-                      :start="parmValue.start_date"
-                      :end="parmValue.end_date"
-                      :placeholder="'下单'"
-                      :width="'165px'"
-                      :size="searchSize"
-                      @timeReturned="time"
-                    />
-              </el-col>  
-              <el-col :span="6" style="width: 200px">
-                
+  <div>
+    <ex-table
+      v-loading="loading"
+      :table="table"
+      :data="tableData"
+      :columns="table16"
+      :page="pageInfo"
+      :size="size"
+      @page-curr-change="handlePageChange"
+      @page-size-change="handleSizeChange"
+      @screen-reset="
+        pageInfo.curr = 1;
+        parmValue.page = 1;
+        searchList();
+      "
+      @screen-submit="
+        pageInfo.curr = 1;
+        parmValue.page = 1;
+        searchList();
+      "
+      @selection="selection_change"
+    >
+      <template #table-header="{}">
+        <div style="width: 100%">
+          <el-row style="padding: 0 0 0 80px">
+            <el-col :span="6" style="width: 363px">
+              <periodDatePickerActive
+                :start="parmValue.start_date"
+                :end="parmValue.end_date"
+                :placeholder="'下单'"
+                :width="'165px'"
+                :size="searchSize"
+                @timeReturned="time"
+              />
+            </el-col>
+            <el-col :span="6" style="width: 200px">
+              <el-select
+                :size="searchSize"
+                v-model="parmValue.status"
+                filterable
+                clearable
+                placeholder="发货申请单状态"
+                style="width: 100%"
+                @change="
+                  pageInfo.curr = 1;
+                  parmValue.page = 1;
+                  searchList();
+                "
+              >
+                <el-option label="待发货" value="0"></el-option>
+                <el-option label="待库管发货" value="1"></el-option>
+                <el-option label="已发货待收货" value="2"></el-option>
+                <el-option label="已收货" value="3"></el-option>
+                <el-option label="已全部退货" value="4"></el-option>
+              </el-select>
+            </el-col>
+            <el-col :span="6" style="width: 200px; padding: 0 0 0 10px">
+              <el-select
+                :size="searchSize"
+                v-model="parmValue.order_type"
+                filterable
+                clearable
+                placeholder="商品类型"
+                style="width: 100%"
+                @change="
+                  pageInfo.curr = 1;
+                  parmValue.page = 1;
+                  searchList();
+                "
+              >
+                <el-option
+                  v-for="(item, index) in xs_order_type_options"
+                  :key="item.id + index"
+                  :label="item.label"
+                  :value="item.id"
+                />
+              </el-select>
+            </el-col>
+            <el-col :span="4" style="width: 66px; float: right">
+              <el-button
+                type="primary"
+                style="margin-left: 30px"
+                @click="download"
+                :size="searchSize"
+                class="fr"
+              >
+                导出
+              </el-button>
+            </el-col>
+            <el-col :span="3" style="width: 66px; float: right">
+              <el-button
+                :size="searchSize"
+                type="primary"
+                style="float: right; margin-left: 5px"
+                @click="searchList"
+              >
+                刷新
+              </el-button>
+            </el-col>
+          </el-row>
+          <el-row style="padding: 10px 0 0 0">
+            <el-col :span="6" style="width: 353px">
+              <periodDatePickerActive
+                :start="parmValue.start_date22"
+                :end="parmValue.end_date22"
+                :placeholder="'发货'"
+                :width="'165px'"
+                :size="searchSize"
+                @timeReturned="time2"
+              />
+            </el-col>
+            <el-col :span="4" style="width: 170px; padding: 0 0 0 10px">
+              <el-input
+                placeholder="申请人部门"
+                v-model="parmValue.apply_company"
+                :size="searchSize"
+                maxlength="100"
+                @blur="
+                  pageInfo.curr = 1;
+                  parmValue.page = 1;
+                  searchList();
+                "
+              >
+              </el-input>
+            </el-col>
 
-                <el-select
-                  :size="searchSize"
-                  v-model="parmValue.status"
-                  filterable
-                  clearable
-                  placeholder="发货申请单状态"
-                  style="width: 100%"
-                  @change="
-                    pageInfo.curr = 1;
-                    parmValue.page = 1;
-                    searchList();
-                  "
-                >
-                    <el-option label="待发货" value="0"></el-option>
-                    <el-option label="待库管发货" value="1"></el-option>
-                    <el-option label="已发货待收货" value="2"></el-option>
-                    <el-option label="已收货" value="3"></el-option>
-                    <el-option label="已全部退货" value="4"></el-option>
-                </el-select>
-              </el-col>
-              <el-col :span="4" style="width: 66px; float: right">       
-                <el-button type="primary" style="margin-left:30px;" @click="download" :size="searchSize"  class="fr">
-                    导出
-                </el-button>
-              </el-col>
-              <el-col :span="3" style="width: 66px; float: right">
-                <el-button
-                  :size="searchSize"
-                  type="primary"
-                  style="float: right; margin-left: 5px"
-                  @click="searchList"
-                >
-                  刷新
-                </el-button>
-              </el-col>
-              
-            </el-row>
-            <el-row style="padding: 10px 0 0 0">
-              <el-col :span="6" style="width: 353px;">
-                <periodDatePickerActive
-                      :start="parmValue.start_date22"
-                      :end="parmValue.end_date22"
-                      :placeholder="'发货'"
-                      :width="'165px'"
-                      :size="searchSize"
-                      @timeReturned="time2"
-                    />
-              </el-col>  
-              <el-col :span="4" style="width: 170px; padding: 0 0 0 10px">
-                  <el-input
-                    placeholder="申请人部门"
-                    v-model="parmValue.apply_company"
-                    :size="searchSize"
-                    maxlength="100"
-                    @blur="
-                      pageInfo.curr = 1;
-                      parmValue.page = 1;
-                      searchList();
-                    "
-                  >
-                  </el-input>
-                </el-col>
-              
-              <el-col :span="4" style="width: 66px; float: right">
-                <el-button
-                  type="warning"
-                  class="fr"
-                  :size="searchSize"
-                  @click="restSearch"
-                >
-                  重置
-                </el-button>
-              </el-col>     
-            </el-row>
-          </div>
-       </template>
-
-        
-      </ex-table>
-    </div>
-
-  
+            <el-col :span="4" style="width: 66px; float: right">
+              <el-button type="warning" class="fr" :size="searchSize" @click="restSearch">
+                重置
+              </el-button>
+            </el-col>
+          </el-row>
+        </div>
+      </template>
+      <template #order_type="{ scope }">
+        <el-tag
+          :size="tablebtnSize"
+          v-text="
+            (xs_order_type_options.find((item) => item.id == scope.row.order_type) || {})
+              .label || '--'
+          "
+        ></el-tag>
+      </template>
+    </ex-table>
+  </div>
 </template>
-   <script>
+<script>
 import mixinPage from "@/mixins/elPaginationHandle";
 import resToken from "@/mixins/resToken";
 import urlConfig from "@/apis/url-config";
 import asyncRequest from "@/apis/service/reportQuery/saleReport";
 import periodDatePickerActive from "../period-date-picker/main.vue";
-import { table16} from "./columns";
+import { table16 } from "./columns";
 import { mapGetters } from "vuex";
-
+import { xs_order_type_options } from "@/assets/js/statusList";
 export default {
   name: "saleReport",
   mixins: [mixinPage, resToken],
   components: {
-    periodDatePickerActive
+    periodDatePickerActive,
   },
   computed: {
     ...mapGetters(["tablebtnSize", "searchSize", "size"]),
-    
   },
   data() {
     return {
@@ -148,17 +171,18 @@ export default {
       fileUrl: urlConfig.baseURL,
       //loading
       loading: false,
+      xs_order_type_options,
       //请求参数集合
       parmValue: {
-          start_date: "", //起始时间
-          end_date: "", // 结束时间
+        start_date: "", //起始时间
+        end_date: "", // 结束时间
         start_sendtime: "", //起始时间22
         end_sendtime: "", // 结束时间22
-        status:"", //状态
-        apply_company:"",//部门
+        status: "", //状态
+        apply_company: "", //部门
         page: 1, // 页码
         size: 15, // 每页显示条数
-       
+        order_type: "",
       },
       // 表格 - 数据集合
       tableData: [],
@@ -179,7 +203,6 @@ export default {
     };
   },
   mounted() {
-
     this.searchList();
   },
 
@@ -203,7 +226,7 @@ export default {
       }
       // return;
       this.loading = true;
-      
+
       const res = await asyncRequest.seooa(this.parmValue);
       if (res && res.code === 0 && res.data) {
         this.tableData = res.data.list;
@@ -216,16 +239,17 @@ export default {
       }
       this.loading = false;
     },
-   
+
     //重置
     restSearch() {
       this.parmValue = {
         start_date: "", //起始时间
-          end_date: "", // 结束时间
+        end_date: "", // 结束时间
         start_sendtime: "", //起始时间22
         end_sendtime: "", // 结束时间22
-        status:"", //状态
-        apply_company:"",//部门
+        status: "", //状态
+        apply_company: "", //部门
+        order_type: "",
         page: 1, // 页码
         size: 15, // 每页显示条数
       };
@@ -237,7 +261,7 @@ export default {
       };
       this.searchList();
     },
-    
+
     // 时间函数
     async time(e) {
       this.parmValue.start_date = e.startTime || "";
@@ -268,13 +292,13 @@ export default {
       this.parmValue.page = 1;
       await this.searchList();
     },
-     //选中触发函数
+    //选中触发函数
     selection_change(e) {
       const { list } = e;
       //选中的数组集合
       this.changeList = list.length > 0 ? JSON.parse(JSON.stringify(list)) : [];
     },
-     //导出文件 
+    //导出文件
     async download() {
       // if(this.changeList.length<=0){
       //   this.$message.warning("请选择有效数据")
@@ -295,22 +319,31 @@ export default {
         this.$message.warning("时间区间不完整!");
         return;
       }
-      
-      if((this.parmValue.start_date != "" && this.parmValue.end_date != "") || (this.parmValue.start_sendtime != "" && this.parmValue.end_sendtime != "")){
-        let start_date = new Date(this.parmValue.start_date).valueOf() || new Date(this.parmValue.start_sendtime).valueOf() ;
-        let end_date = new Date(this.parmValue.end_date).valueOf() || new Date(this.parmValue.end_sendtime).valueOf() ;
-        let start_date2 = new Date(this.parmValue.start_sendtime).valueOf() ;
-        let end_date2 = new Date(this.parmValue.end_sendtime).valueOf() ;
-        let flag = (end_date - start_date > 30 * 24 * 60 * 60 * 1000) || (end_date2 - start_date2 > 30 * 24 * 60 * 60 * 1000) ;
-        if(flag){
-          this.$message.warning("导出文件的时间区间不能超过30天")
+
+      if (
+        (this.parmValue.start_date != "" && this.parmValue.end_date != "") ||
+        (this.parmValue.start_sendtime != "" && this.parmValue.end_sendtime != "")
+      ) {
+        let start_date =
+          new Date(this.parmValue.start_date).valueOf() ||
+          new Date(this.parmValue.start_sendtime).valueOf();
+        let end_date =
+          new Date(this.parmValue.end_date).valueOf() ||
+          new Date(this.parmValue.end_sendtime).valueOf();
+        let start_date2 = new Date(this.parmValue.start_sendtime).valueOf();
+        let end_date2 = new Date(this.parmValue.end_sendtime).valueOf();
+        let flag =
+          end_date - start_date > 30 * 24 * 60 * 60 * 1000 ||
+          end_date2 - start_date2 > 30 * 24 * 60 * 60 * 1000;
+        if (flag) {
+          this.$message.warning("导出文件的时间区间不能超过30天");
           return;
         }
-      }else{
-        this.$message.warning("请选择至少一种导出文件的时间区间")
+      } else {
+        this.$message.warning("请选择至少一种导出文件的时间区间");
         return;
       }
-      let model = JSON.parse(JSON.stringify(this.parmValue))
+      let model = JSON.parse(JSON.stringify(this.parmValue));
       // model.is_export = 1;
       if (!this.loading) {
         this.loading = true;
@@ -334,13 +367,13 @@ export default {
               let url = window.URL.createObjectURL(
                 new Blob([res.data], {
                   // type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8",
-                  type: httpType
+                  type: httpType,
                 })
               );
               let link = document.createElement("a");
               link.style.display = "none";
               link.href = url;
-              let excelName = "有地址待发货订单.zip";
+              let excelName = "直接发货申请单.zip";
               link.setAttribute("download", excelName);
               document.body.appendChild(link);
               link.click();
@@ -366,9 +399,8 @@ export default {
   },
 };
 </script>
-   <style lang="scss" scoped>
+<style lang="scss" scoped>
 .purchaseOrder {
   // text-align: right;
 }
 </style>
-   

+ 379 - 0
src/views/reportQuery/saleReport/components/table20.vue

@@ -0,0 +1,379 @@
+<template>
+  <div>
+    <ex-table
+      v-loading="loading"
+      :table="table"
+      :data="tableData"
+      :columns="table20"
+      :page="pageInfo"
+      :size="size"
+      @page-curr-change="handlePageChange"
+      @page-size-change="handleSizeChange"
+      @screen-reset="
+        pageInfo.curr = 1;
+        parmValue.page = 1;
+        searchList();
+      "
+      @screen-submit="
+        pageInfo.curr = 1;
+        parmValue.page = 1;
+        searchList();
+      "
+      @selection="selection_change"
+    >
+      <template #table-header="{}">
+        <div style="width: 100%">
+          <el-row style="padding: 0 0 0 80px">
+            <el-col :span="6" style="width: 442px">
+              <periodDatePickerActive
+                :start="parmValue.start_date"
+                :end="parmValue.end_date"
+                :placeholder="'产品下线'"
+                :width="'205px'"
+                :size="searchSize"
+                @timeReturned="time"
+              />
+            </el-col>
+            <el-col :span="6" style="width: 200px">
+              <el-select
+                :size="searchSize"
+                v-model="parmValue.status"
+                filterable
+                clearable
+                placeholder="订单状态"
+                style="width: 100%"
+                @change="
+                  pageInfo.curr = 1;
+                  parmValue.page = 1;
+                  searchList();
+                "
+              >
+                <el-option
+                  v-for="(item, index) in statusOptions"
+                  :key="item.id + index"
+                  :label="item.label"
+                  :value="item.id"
+                />
+              </el-select>
+            </el-col>
+            <el-col :span="6" style="width: 200px; padding: 0 0 0 10px">
+              <el-select
+                :size="searchSize"
+                v-model="parmValue.order_type"
+                filterable
+                clearable
+                placeholder="商品类型"
+                style="width: 100%"
+                @change="
+                  pageInfo.curr = 1;
+                  parmValue.page = 1;
+                  searchList();
+                "
+              >
+                <el-option
+                  v-for="(item, index) in xs_order_type_options"
+                  :key="item.id + index"
+                  :label="item.label"
+                  :value="item.id"
+                />
+              </el-select>
+            </el-col>
+            <!-- <el-col :span="4" style="width: 66px; float: right">
+              <el-button
+                type="primary"
+                style="margin-left: 30px"
+                @click="download"
+                :size="searchSize"
+                class="fr"
+              >
+                导出
+              </el-button>
+            </el-col> -->
+            <el-col :span="3" style="width: 66px; float: right">
+              <el-button
+                :size="searchSize"
+                type="primary"
+                style="float: right; margin-left: 5px"
+                @click="searchList"
+              >
+                刷新
+              </el-button>
+            </el-col>
+            <el-col :span="4" style="width: 66px; float: right">
+              <el-button type="warning" class="fr" :size="searchSize" @click="restSearch">
+                重置
+              </el-button>
+            </el-col>
+          </el-row>
+          <!-- <el-row style="padding: 10px 0 0 0" gutter="10">
+            <el-col :span="6" style="width: 240px">
+              <el-input
+                clearable
+                placeholder="采购维护人"
+                v-model="parmValue.creater"
+                maxlength="40"
+                :size="searchSize"
+                @blur="
+                  pageInfo.curr = 1;
+                  parmValue.page = 1;
+                  searchList();
+                "
+              >
+              </el-input>
+            </el-col>
+            <el-col :span="6" style="width: 240px">
+              <el-input
+                clearable
+                placeholder="供应商名称"
+                v-model="parmValue.supplier_name"
+                maxlength="40"
+                :size="searchSize"
+                @blur="
+                  pageInfo.curr = 1;
+                  parmValue.page = 1;
+                  searchList();
+                "
+              >
+              </el-input>
+            </el-col>
+
+          
+          </el-row> -->
+        </div>
+      </template>
+      <template #order_type="{ scope }">
+        <el-tag
+          :size="tablebtnSize"
+          v-text="
+            (xs_order_type_options.find((item) => item.id == scope.row.order_type) || {})
+              .label || '--'
+          "
+        ></el-tag>
+      </template>
+      <template #status="{ scope }">
+        <el-tag
+          :size="tablebtnSize"
+          :type="scope.row.status == '0' ? 'warning' : ''"
+          v-text="
+            (statusOptions.find((item) => item.id == scope.row.status) || {}).label ||
+            '--'
+          "
+        ></el-tag>
+      </template>
+    </ex-table>
+  </div>
+</template>
+<script>
+import mixinPage from "@/mixins/elPaginationHandle";
+import resToken from "@/mixins/resToken";
+import urlConfig from "@/apis/url-config";
+import asyncRequest from "@/apis/service/reportQuery/saleReport";
+import periodDatePickerActive from "../period-date-picker/main.vue";
+import { table20 } from "./columns";
+import { mapGetters } from "vuex";
+import { xs_order_type_options } from "@/assets/js/statusList";
+export default {
+  name: "purchaseOrder",
+  mixins: [mixinPage, resToken],
+  components: {
+    periodDatePickerActive,
+  },
+  computed: {
+    ...mapGetters(["tablebtnSize", "searchSize", "size"]),
+  },
+  data() {
+    return {
+      statusOptions: [
+        { id: "0", label: "待发货" },
+        { id: "1", label: "待发货完成" },
+        { id: "2", label: "发货已完成" },
+        { id: "3", label: "订单已取消" },
+      ],
+      //选中数组
+      changeList: [],
+      //全局url
+      fileUrl: urlConfig.baseURL,
+      //loading
+      loading: false,
+      //请求参数集合
+      parmValue: {
+        supplier_name: "", //要搜索的供应商名称
+        creater: "", // 要搜索的采购维护人
+        start_date: "", //起始时间
+        end_date: "", // 结束时间
+        order_type: "",
+        status: "",
+        page: 1, // 页码
+        size: 15, // 每页显示条数
+      },
+      // 表格 - 数据集合
+      tableData: [],
+      xs_order_type_options,
+      // 表格 - 参数
+      table: {
+        stripe: true,
+        border: true,
+        _defaultHeader_: ["setcol"],
+      },
+      // 表格 - 分页
+      pageInfo: {
+        size: 15,
+        curr: 1,
+        total: 0,
+      },
+      // 表格表头 - 列参数
+      table20,
+    };
+  },
+  mounted() {
+    this.searchList();
+  },
+
+  methods: {
+    //初始化http请求
+    async searchList() {
+      if (
+        (this.parmValue.start_date !== "" && this.parmValue.end_date === "") ||
+        (this.parmValue.start_date === "" && this.parmValue.end_date !== "")
+      ) {
+        this.$message.warning("时间区间不完整!");
+        return;
+      }
+      // return;
+      this.loading = true;
+
+      const { code, data, message } = await asyncRequest.sna(this.parmValue);
+      if (code === 0) {
+        const { list, count } = data;
+        this.tableData = list;
+        this.pageInfo.total = Number(count);
+      } else if (code >= 100 && code <= 104) {
+        await this.logout();
+      } else {
+        this.tableData = [];
+        this.pageInfo.total = 0;
+      }
+      this.loading = false;
+    },
+
+    //重置
+    restSearch() {
+      this.parmValue = {
+        supplier_name: "", //要搜索的供应商名称
+        creater: "", // 要搜索的采购维护人
+        start_date: "", //起始时间
+        end_date: "", // 结束时间
+        page: 1, // 页码
+        size: 15, // 每页显示条数
+        order_type: "",
+      };
+      // 表格 - 分页
+      this.pageInfo = {
+        size: 15,
+        curr: 1,
+        total: 0,
+      };
+      this.searchList();
+    },
+
+    // 时间函数
+    async time(e) {
+      this.parmValue.start_date = e.startTime || "";
+      this.parmValue.end_date = e.endTime || "";
+      if (
+        (this.parmValue.start_date !== "" && this.parmValue.end_date === "") ||
+        (this.parmValue.start_date === "" && this.parmValue.end_date !== "")
+      ) {
+        this.$message.warning("时间区间不完整!");
+        return;
+      }
+      this.pageInfo.curr = 1;
+      this.parmValue.page = 1;
+      await this.searchList();
+    },
+
+    //选中触发函数
+    selection_change(e) {
+      const { list } = e;
+      //选中的数组集合
+      this.changeList = list.length > 0 ? JSON.parse(JSON.stringify(list)) : [];
+    },
+    //导出文件
+    async download() {
+      // if(this.changeList.length<=0){
+      //   this.$message.warning("请选择有效数据")
+      //   return;
+      // }
+      let start_date = new Date(this.parmValue.start_date).valueOf();
+      let end_date = new Date(this.parmValue.end_date).valueOf();
+      let flag = end_date - start_date > 30 * 24 * 60 * 60 * 1000;
+      if (this.parmValue.start_date != "" && this.parmValue.end_date != "") {
+        if (flag) {
+          this.$message.warning("导出文件的时间区间不能超过30天");
+          return;
+        }
+      } else {
+        this.$message.warning("请选择导出文件的时间区间");
+        return;
+      }
+      let model = JSON.parse(JSON.stringify(this.parmValue));
+      // model.is_export = 1;
+      if (!this.loading) {
+        this.loading = true;
+        let httpType = `aplication/zip`;
+        axios({
+          method: "post",
+          url: this.fileUrl + "admin/reportgoodofflineexport",
+          responseType: "blob",
+          data: model,
+          headers: {
+            // 'Content-Type': 'multipart/form-data',
+            // Accept: "application/vnd.ms-excel"
+            Accept: httpType,
+          },
+        })
+          .then((res) => {
+            // console.log(res)
+            // console.log(this.fileUrl)
+            // return;
+            if (res && res.status == 200 && res.data) {
+              let url = window.URL.createObjectURL(
+                new Blob([res.data], {
+                  // type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8",
+                  type: httpType,
+                })
+              );
+              let link = document.createElement("a");
+              link.style.display = "none";
+              link.href = url;
+              let excelName = "产品下线报表.zip";
+              link.setAttribute("download", excelName);
+              document.body.appendChild(link);
+              link.click();
+              link.remove();
+              window.URL.revokeObjectURL(url); //释放掉blob对象
+              this.$message.success(`导出成功!`);
+              setTimeout(() => {
+                this.loading = false;
+              }, 500);
+            } else {
+              this.$message.error(res.data.message);
+              setTimeout(() => {
+                this.loading = false;
+              }, 500);
+            }
+          })
+          .catch((error) => {
+            console.log(error);
+            this.loading = false;
+          });
+      }
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.purchaseOrder {
+  // text-align: right;
+}
+</style>

+ 88 - 66
src/views/reportQuery/saleReport/index.vue

@@ -1,34 +1,60 @@
 <template>
-    <div class="pagePadding">
-    <div
-      v-if=" powers.some((i) => i == '001')"
-    >
-        <!-- <el-tabs v-model="activeName" @tab-click="handleClick"> -->
-        <el-tabs v-model="activeName">
-            <el-tab-pane label="日报" name="table1"><table1 v-if="activeName == 'table1'"></table1></el-tab-pane>
+  <div class="pagePadding">
+    <div v-if="powers.some((i) => i == '001')">
+      <!-- <el-tabs v-model="activeName" @tab-click="handleClick"> -->
+      <el-tabs v-model="activeName">
+        <el-tab-pane label="日报" name="table1"
+          ><table1 v-if="activeName == 'table1'"></table1
+        ></el-tab-pane>
 
-            <el-tab-pane label="竞价单报表" name="table2"><table2 v-if="activeName == 'table2'"></table2></el-tab-pane>
-            <el-tab-pane label="订单报表" name="table3"><table3 v-if="activeName == 'table3'"></table3></el-tab-pane>
-            <el-tab-pane label="未发货报表" name="table4"><table4 v-if="activeName == 'table4'"></table4></el-tab-pane>
-            <el-tab-pane label="未签收报表" name="table5"><table5 v-if="activeName == 'table5'"></table5></el-tab-pane>
-            <el-tab-pane label="售后报表" name="table6"><table6 v-if="activeName == 'table6'"></table6></el-tab-pane>
-            <el-tab-pane label="产品热销排行" name="table7"><table7 v-if="activeName == 'table7'"></table7></el-tab-pane>
-            <!-- <el-tab-pane label="未开票报表" name="table8"><table8 v-if="activeName == 'table8'"></table8></el-tab-pane> -->
-            <!-- <el-tab-pane label="订单导出表" name="table9"><table9 v-if="activeName == 'table9'"></table9></el-tab-pane> -->
-            <el-tab-pane label="竞价单导出明细" name="table10"><table10 v-if="activeName == 'table10'"></table10></el-tab-pane>
-            <el-tab-pane label="工差明细表" name="table11"><table11 v-if="activeName == 'table11'"></table11></el-tab-pane>
-            <el-tab-pane label="退货明细表" name="table12"><table12 v-if="activeName == 'table12'"></table12></el-tab-pane>
-            <el-tab-pane label="售后明细表" name="table13"><table13 v-if="activeName == 'table13'"></table13></el-tab-pane>
-            <el-tab-pane label="议价明细表" name="table14"><table14 v-if="activeName == 'table14'"></table14></el-tab-pane>
-            <el-tab-pane label="无地址待发货订单" name="table15"><table15 v-if="activeName == 'table15'"></table15></el-tab-pane>
-            <el-tab-pane label="有地址待发货订单" name="table16"><table16 v-if="activeName == 'table16'"></table16></el-tab-pane>
-            <!-- <el-tab-pane label="开票明细表" name="table17"><table17 v-if="activeName == 'table17'"></table17></el-tab-pane> -->
-            <!-- <el-tab-pane label="待开票列表" name="table18"><table18 v-if="activeName == 'table18'"></table18></el-tab-pane> -->
-            <!-- <el-tab-pane label="待回款列表" name="table19"><table19 v-if="activeName == 'table19'"></table19></el-tab-pane> -->
-          
-          
-        </el-tabs>
-      
+        <el-tab-pane label="竞价单报表" name="table2"
+          ><table2 v-if="activeName == 'table2'"></table2
+        ></el-tab-pane>
+        <el-tab-pane label="订单报表" name="table3"
+          ><table3 v-if="activeName == 'table3'"></table3
+        ></el-tab-pane>
+        <el-tab-pane label="未发货报表" name="table4"
+          ><table4 v-if="activeName == 'table4'"></table4
+        ></el-tab-pane>
+        <el-tab-pane label="未签收报表" name="table5"
+          ><table5 v-if="activeName == 'table5'"></table5
+        ></el-tab-pane>
+        <el-tab-pane label="售后报表" name="table6"
+          ><table6 v-if="activeName == 'table6'"></table6
+        ></el-tab-pane>
+        <el-tab-pane label="产品热销排行" name="table7"
+          ><table7 v-if="activeName == 'table7'"></table7
+        ></el-tab-pane>
+        <!-- <el-tab-pane label="未开票报表" name="table8"><table8 v-if="activeName == 'table8'"></table8></el-tab-pane> -->
+        <!-- <el-tab-pane label="订单导出表" name="table9"><table9 v-if="activeName == 'table9'"></table9></el-tab-pane> -->
+        <el-tab-pane label="竞价单导出明细" name="table10"
+          ><table10 v-if="activeName == 'table10'"></table10
+        ></el-tab-pane>
+        <el-tab-pane label="工差明细表" name="table11"
+          ><table11 v-if="activeName == 'table11'"></table11
+        ></el-tab-pane>
+        <el-tab-pane label="退货明细表" name="table12"
+          ><table12 v-if="activeName == 'table12'"></table12
+        ></el-tab-pane>
+        <el-tab-pane label="售后明细表" name="table13"
+          ><table13 v-if="activeName == 'table13'"></table13
+        ></el-tab-pane>
+        <el-tab-pane label="议价明细表" name="table14"
+          ><table14 v-if="activeName == 'table14'"></table14
+        ></el-tab-pane>
+        <el-tab-pane label="延时发货申请单" name="table15"
+          ><table15 v-if="activeName == 'table15'"></table15
+        ></el-tab-pane>
+        <el-tab-pane label="直接发货申请单" name="table16"
+          ><table16 v-if="activeName == 'table16'"></table16
+        ></el-tab-pane>
+        <!-- <el-tab-pane label="开票明细表" name="table17"><table17 v-if="activeName == 'table17'"></table17></el-tab-pane> -->
+        <!-- <el-tab-pane label="待开票列表" name="table18"><table18 v-if="activeName == 'table18'"></table18></el-tab-pane> -->
+        <!-- <el-tab-pane label="待回款列表" name="table19"><table19 v-if="activeName == 'table19'"></table19></el-tab-pane> -->
+        <el-tab-pane label="无地址销售订单" name="table20"
+          ><table20 v-if="activeName == 'table20'"></table20
+        ></el-tab-pane>
+      </el-tabs>
     </div>
     <div v-else>
       <no-auth></no-auth>
@@ -41,32 +67,31 @@ import mixinPage from "@/mixins/elPaginationHandle";
 import resToken from "@/mixins/resToken";
 import { mapGetters } from "vuex";
 //标签页组件引入
-const table1 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table1")
-const table2 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table2")
-const table3 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table3")
-const table4 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table4")
-const table5 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table5")
-const table6 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table6")
-const table7 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table7")
-const table8 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table8")
-const table9 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table9")
-const table10 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table10")
-const table11 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table11")
-const table12 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table12")
-const table13 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table13")
-const table14 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table14")
-
-const table15 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table15")
-const table16 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table16")
-const table17 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table17")
-const table18 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table18")
-const table19 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table19")
-
+const table1 = () => import(/* webpackChunkName:'mycomp' */ "./components/table1");
+const table2 = () => import(/* webpackChunkName:'mycomp' */ "./components/table2");
+const table3 = () => import(/* webpackChunkName:'mycomp' */ "./components/table3");
+const table4 = () => import(/* webpackChunkName:'mycomp' */ "./components/table4");
+const table5 = () => import(/* webpackChunkName:'mycomp' */ "./components/table5");
+const table6 = () => import(/* webpackChunkName:'mycomp' */ "./components/table6");
+const table7 = () => import(/* webpackChunkName:'mycomp' */ "./components/table7");
+const table8 = () => import(/* webpackChunkName:'mycomp' */ "./components/table8");
+const table9 = () => import(/* webpackChunkName:'mycomp' */ "./components/table9");
+const table10 = () => import(/* webpackChunkName:'mycomp' */ "./components/table10");
+const table11 = () => import(/* webpackChunkName:'mycomp' */ "./components/table11");
+const table12 = () => import(/* webpackChunkName:'mycomp' */ "./components/table12");
+const table13 = () => import(/* webpackChunkName:'mycomp' */ "./components/table13");
+const table14 = () => import(/* webpackChunkName:'mycomp' */ "./components/table14");
 
+const table15 = () => import(/* webpackChunkName:'mycomp' */ "./components/table15");
+const table16 = () => import(/* webpackChunkName:'mycomp' */ "./components/table16");
+const table17 = () => import(/* webpackChunkName:'mycomp' */ "./components/table17");
+const table18 = () => import(/* webpackChunkName:'mycomp' */ "./components/table18");
+const table19 = () => import(/* webpackChunkName:'mycomp' */ "./components/table19");
+const table20 = () => import(/* webpackChunkName:'mycomp' */ "./components/table20");
 
 export default {
-mixins: [mixinPage, resToken],
-components:{
+  mixins: [mixinPage, resToken],
+  components: {
     table1,
     table2,
     table3,
@@ -86,32 +111,29 @@ components:{
     table17,
     table18,
     table19,
-},
+    table20,
+  },
 
   computed: {
     ...mapGetters(["tablebtnSize", "searchSize", "size"]),
     powers() {
       const tran =
-        this.$store.getters.btnList.find(
-          (item) => item.menu_route == "saleReport"
-        ) || {};
+        this.$store.getters.btnList.find((item) => item.menu_route == "saleReport") || {};
       const { action } = tran ?? {};
       return action ?? [];
     },
   },
-  data(){
-      return {
-          activeName: 'table1'
-      }
+  data() {
+    return {
+      activeName: "table20",
+    };
   },
-  methods:{
+  methods: {
     //   handleClick(tab, event) {
     //     console.log(tab, event);
     //   }
-  }
-}
+  },
+};
 </script>
 
-<style lang="scss" scoped>
-
-</style>
+<style lang="scss" scoped></style>

Some files were not shown because too many files changed in this diff