xdd 17 часов назад
Родитель
Сommit
997f70c6da
2 измененных файлов с 462 добавлено и 319 удалено
  1. 232 162
      src/views/live/liveOrder/index.vue
  2. 230 157
      src/views/live/liveOrder/myIndex.vue

+ 232 - 162
src/views/live/liveOrder/index.vue

@@ -4,7 +4,7 @@
       <el-form-item label="所属部门" prop="deptId">
         <treeselect style="width:220px" v-model="queryParams.deptId" :options="deptOptions" :show-count="true" placeholder="请选择所属部门" />
       </el-form-item>
-      <el-form-item label="订单号" prop="orderSn">
+      <el-form-item label="订单号" prop="orderCode">
         <el-input
           v-model="queryParams.orderCode"
           placeholder="请输入订单号"
@@ -58,7 +58,7 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="订单金额" prop="orderMoney">
+      <el-form-item label="订单金额" prop="totalPrice">
         <el-input
           v-model="queryParams.totalPrice"
           placeholder="请输入订单金额"
@@ -68,84 +68,82 @@
         />
       </el-form-item>
       <el-form-item style="margin-left: 20px;">
-        <el-button type="text"  :icon="isCollapsed ? 'el-icon-arrow-down' : 'el-icon-arrow-up'"  @click="upDown">{{ isCollapsed ? '展开' : '收起' }} </el-button>
+        <el-button type="text" :icon="isCollapsed ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" @click="upDown">{{ isCollapsed ? '展开' : '收起' }}</el-button>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
       </el-form-item>
       <div v-if="!isCollapsed">
         <el-form-item label="物流信息" prop="searchKey">
-                      <el-input
-                       v-model.trim="searchKey"
-                        :placeholder="searchType=='deliveryCode'?'请输入物流编号':searchType=='deliveryName'?'请输入物流名称':searchType=='deliverySn'?'请输入物流单号':''"
-                        clearable
-                        size="small"
-                        @keyup.enter.native="handleQuery"
-                        clearable
-                      >
-                      <el-select
-                      slot="prepend"
-                        v-model="searchType"
-                        placeholder="请选择"
-                        clearable
-                         @change="handleTypeChange"
-                         class="select-box"
-                      >
-                        <el-option label="物流编号" value="deliveryCode" />
-                        <el-option label="物流名称" value="deliveryName" />
-                        <el-option label="物流单号" value="deliverySn" />
-                      </el-select>
-                      </el-input>
-                     </el-form-item>
- <el-form-item label="支付时间" prop="payTime">
-        <el-date-picker clearable size="small"
-          v-model="queryParams.payTime"
-          type="date"
-          value-format="yyyy-MM-dd"
-          placeholder="选择支付时间">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label="完成时间" prop="finishTime">
-        <el-date-picker clearable size="small"
-          v-model="queryParams.finishTime"
-          type="date"
-          value-format="yyyy-MM-dd"
-          placeholder="选择完成时间">
-        </el-date-picker>
-      </el-form-item>
-        </div>
- <!--     <el-form-item label="物流编号" prop="deliveryCode">
-        <el-input
-          v-model="queryParams.deliveryCode"
-          placeholder="请输入物流编号"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="物流名称" prop="deliveryName">
-        <el-input
-          v-model="queryParams.deliveryName"
-          placeholder="请输入物流名称"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="物流单号" prop="deliverySn">
-        <el-input
-          v-model="queryParams.deliverySn"
-          placeholder="请输入物流单号"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item> -->
-
-
+          <el-input
+            v-model.trim="searchKey"
+            :placeholder="searchType=='deliveryCode'?'请输入物流编号':searchType=='deliveryName'?'请输入物流名称':searchType=='deliverySn'?'请输入物流单号':'请先选择搜索类型'"
+            clearable
+            size="small"
+            @keyup.enter.native="handleQuery"
+          >
+            <el-select
+              slot="prepend"
+              v-model="searchType"
+              placeholder="请选择"
+              clearable
+              @change="handleTypeChange"
+              class="select-box"
+            >
+              <el-option label="物流编号" value="deliveryCode" />
+              <el-option label="物流名称" value="deliveryName" />
+              <el-option label="物流单号" value="deliverySn" />
+            </el-select>
+          </el-input>
+        </el-form-item>
+        <el-form-item label="支付时间" prop="payTimeStart">
+          <el-date-picker
+            v-model="payTimeRange"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            size="small"
+            @change="handlePayTimeChange"
+          />
+        </el-form-item>
+        <el-form-item label="完成时间" prop="finishTimeStart">
+          <el-date-picker
+            v-model="finishTimeRange"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            size="small"
+            @change="handleFinishTimeChange"
+          />
+        </el-form-item>
+        <el-form-item label="员工姓名" prop="companyUserName">
+          <el-input
+            v-model="queryParams.companyUserName"
+            placeholder="请输入员工姓名"
+            clearable
+            size="small"
+            @keyup.enter.native="handleQuery"
+          />
+        </el-form-item>
+        <el-form-item label="发货时间" prop="deliverySendTime">
+          <el-date-picker
+            v-model="deliveryTimeRange"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            size="small"
+            @change="handleDateChange"
+          />
+        </el-form-item>
+      </div>
     </el-form>
 
     <el-row :gutter="10" class="mb8">
-
       <el-col :span="1.5">
         <el-button
           type="warning"
@@ -161,7 +159,7 @@
     </el-row>
     <el-tabs type="card" v-model="actName" @tab-click="handleClickX">
       <el-tab-pane label="全部订单" name="10"></el-tab-pane>
-      <el-tab-pane v-for="(item,index) in orderOptions" :label="item.dictLabel" :name="item.dictValue"></el-tab-pane>
+      <el-tab-pane v-for="(item,index) in orderOptions" :key="item.dictValue" :label="item.dictLabel" :name="item.dictValue"></el-tab-pane>
     </el-tabs>
     <el-table border v-loading="loading" :data="liveOrderList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
@@ -170,12 +168,12 @@
       <el-table-column label="用户ID" align="center" prop="userId" />
       <el-table-column label="收货人" align="center" prop="userName" />
       <el-table-column label="手机号" align="center" prop="userPhone" />
-<!--      <el-table-column label="地址" align="center" prop="userAddress" />-->
       <el-table-column label="支付金额" align="center" prop="payMoney" />
       <el-table-column label="订单金额" align="center" prop="totalPrice" />
       <el-table-column label="物流编号" align="center" prop="deliveryCode" />
       <el-table-column label="物流名称" align="center" prop="deliveryName" />
       <el-table-column label="物流单号" align="center" prop="deliverySn" />
+      <el-table-column label="员工名称" align="center" prop="companyUserName" />
       <el-table-column label="支付时间" align="center" prop="payTime" width="180">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.payTime, '{y}-{m}-{d}') }}</span>
@@ -186,6 +184,11 @@
           <span>{{ parseTime(scope.row.finishTime, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
+      <el-table-column label="发货时间" align="center" prop="deliverySendTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.deliverySendTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
       <el-table-column label="状态" align="center" prop="status" :formatter="orderStatusFormatter"/>
       <el-table-column label="备注" align="center" prop="remark" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
@@ -212,9 +215,8 @@
       :with-header="false"
       size="75%"
       :title="show.title" :visible.sync="show.open">
-      <liveOrderDetails  ref="Details" />
+      <liveOrderDetails ref="Details" />
     </el-drawer>
-
   </div>
 </template>
 
@@ -224,73 +226,74 @@ import liveOrderDetails from './liveOrderDetails.vue';
 import { treeselect } from "@/api/company/companyDept";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import {parseTime} from "../../../utils/common";
 
 export default {
   name: "LiveOrder",
-  components: {Treeselect, liveOrderDetails },
+  components: { Treeselect, liveOrderDetails },
   data() {
     return {
-      searchType:'',
-      searchKey:'',
-      isCollapsed:false,
+      searchType: '',
+      searchKey: '',
+      isCollapsed: true,
+      // 发货时间范围
+      deliveryTimeRange: [],
+      // 支付时间范围
+      payTimeRange: [],
+      // 完成时间范围
+      finishTimeRange: [],
       //字典
       orderStatusOptions: [],
-      // 遮罩层
       loading: true,
-      // 导出遮罩层
       exportLoading: false,
-      // 选中数组
       ids: [],
-      // 非单个禁用
       single: true,
-      // 非多个禁用
       multiple: true,
-      // 显示搜索条件
       showSearch: true,
-      // 总条数
       total: 0,
-      // 订单表格数据
       liveOrderList: [],
-      // 查询参数
       queryParams: {
         pageNum: 1,
         liveId: null,
         pageSize: 10,
-        orderSn: null,
+        deptId: null,
+        orderCode: null,
         userId: null,
         userName: null,
-        mobile: null,
-        address: null,
+        userPhone: null,
+        userAddress: null,
         payMoney: null,
-        orderMoney: null,
+        totalPrice: null,
         deliveryCode: null,
         deliveryName: null,
         deliverySn: null,
-        payTime: null,
-        finishTime: null,
+        payTimeStart: null,
+        payTimeEnd: null,
+        finishTimeStart: null,
+        finishTimeEnd: null,
         status: null,
+        companyUserName: null,
+        deliverySendTimeStart: null,
+        deliverySendTimeEnd: null,
       },
-      orderOptions:[],
-      actName:"10",
-      show:{
-        title:"订单详情",
-        open:false,
+      orderOptions: [],
+      actName: "10",
+      show: {
+        title: "订单详情",
+        open: false,
       },
-
-      // 部门树选项
       deptOptions: undefined,
       deptName: undefined,
     };
   },
   watch: {
-    // 根据名称筛选部门树
     deptName(val) {
       this.$refs.tree.filter(val);
     },
   },
   created() {
     this.getTreeselect();
-    this.queryParams.liveId = this.$route.query.liveId
+    this.queryParams.liveId = this.$route.query.liveId;
     this.getList();
     this.getDicts("sys_live_order_status").then(response => {
       this.orderStatusOptions = response.data;
@@ -300,101 +303,168 @@ export default {
     });
   },
   methods: {
-    // 查看详情
+    parseTime,
+    // 发货时间范围处理
+    handleDateChange(val) {
+      if (val && val.length === 2) {
+        this.queryParams.deliverySendTimeStart = val[0];
+        this.queryParams.deliverySendTimeEnd = val[1];
+      } else {
+        this.queryParams.deliverySendTimeStart = null;
+        this.queryParams.deliverySendTimeEnd = null;
+      }
+    },
+    // 支付时间范围处理
+    handlePayTimeChange(val) {
+      if (val && val.length === 2) {
+        this.queryParams.payTimeStart = val[0];
+        this.queryParams.payTimeEnd = val[1];
+      } else {
+        this.queryParams.payTimeStart = null;
+        this.queryParams.payTimeEnd = null;
+      }
+    },
+    // 完成时间范围处理
+    handleFinishTimeChange(val) {
+      if (val && val.length === 2) {
+        this.queryParams.finishTimeStart = val[0];
+        this.queryParams.finishTimeEnd = val[1];
+      } else {
+        this.queryParams.finishTimeStart = null;
+        this.queryParams.finishTimeEnd = null;
+      }
+    },
+    // 获取部门树
     getTreeselect() {
       treeselect().then((response) => {
         this.deptOptions = response.data;
       });
     },
-    handledetails(row){
-      this.show.open=true;
-      setTimeout(() => {
-        this.$refs.Details.getDetails(row.orderId,row.nickName,row.storeName);
-      }, 1);
+    // 查看详情
+    handledetails(row) {
+      this.show.open = true;
+      this.$nextTick(() => {
+        this.$refs.Details.getDetails(row.orderId, row.nickName, row.storeName);
+      });
     },
     // 订单tab切换
     handleClickX(tab, event) {
       this.orderStatus = tab.name;
-      if(tab.name=="10"){
-        this.queryParams.status=null;
-      }else{
-        this.queryParams.status=tab.name;
+      if (tab.name == "10") {
+        this.queryParams.status = null;
+      } else {
+        this.queryParams.status = tab.name;
       }
       this.handleQuery();
     },
     /** 查询订单列表 */
     getList() {
       this.loading = true;
-      listLiveOrder(this.queryParams).then(response => {
+      const params = { ...this.queryParams };
+      listLiveOrder(params).then(response => {
         this.liveOrderList = response.rows;
         this.total = response.total;
         this.loading = false;
-        delete this.queryParams[this.searchType];
       });
     },
     orderStatusFormatter(row, column) {
       return this.selectDictLabel(this.orderStatusOptions, row.status);
     },
-   upDown() {
-         this.isCollapsed = !this.isCollapsed;
-       },
-   handleTypeChange(newType){
-     this.searchKey='';
-     this.searchType=newType
-   },
-   /** 搜索按钮操作 */
-   handleQuery() {
-     if(this.searchKey!=='' && this.searchType!==''){
-      this.queryParams[this.searchType]=this.searchKey
-     }
-     this.queryParams.pageNum = 1;
-     this.getList();
-   },
+    upDown() {
+      this.isCollapsed = !this.isCollapsed;
+    },
+    handleTypeChange(newType) {
+      this.searchKey = '';
+      this.searchType = newType;
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.queryParams.deliveryCode = null;
+      this.queryParams.deliveryName = null;
+      this.queryParams.deliverySn = null;
+      if (this.searchKey !== '' && this.searchType !== '') {
+        this.queryParams[this.searchType] = this.searchKey;
+      }
+      this.getList();
+    },
     /** 重置按钮操作 */
     resetQuery() {
-      this.searchKey= '';
-      this.queryParams[this.searchType]=null;
+      this.searchKey = '';
+      this.searchType = '';
+      this.deliveryTimeRange = [];
+      this.payTimeRange = [];
+      this.finishTimeRange = [];
       this.resetForm("queryForm");
+      this.queryParams = {
+        pageNum: 1,
+        liveId: this.$route.query.liveId,
+        pageSize: 10,
+        deptId: null,
+        orderCode: null,
+        userId: null,
+        userName: null,
+        userPhone: null,
+        userAddress: null,
+        payMoney: null,
+        totalPrice: null,
+        deliveryCode: null,
+        deliveryName: null,
+        deliverySn: null,
+        payTimeStart: null,
+        payTimeEnd: null,
+        finishTimeStart: null,
+        finishTimeEnd: null,
+        status: null,
+        companyUserName: null,
+        deliverySendTimeStart: null,
+        deliverySendTimeEnd: null,
+      };
+      if (this.actName !== "10") {
+        this.queryParams.status = this.actName;
+      }
       this.handleQuery();
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.orderId)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
+      this.ids = selection.map(item => item.orderId);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
+      const queryParams = { ...this.queryParams };
       this.$confirm('是否确认导出所有订单数据项?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(() => {
-          this.exportLoading = true;
-          return exportLiveOrder(queryParams);
-        }).then(response => {
-          this.download(response.msg);
-          this.exportLoading = false;
-        }).catch(() => {});
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        this.exportLoading = true;
+        return exportLiveOrder(queryParams);
+      }).then(response => {
+        this.download(response.msg);
+        this.exportLoading = false;
+      }).catch(() => {
+        this.exportLoading = false;
+      });
     }
   }
 };
 </script>
-<style scoped>
-   ::v-deep .el-input-group__prepend{
-      background-color: #fff !important;
-      width: 100px;
 
-  }
-  ::v-deep .el-input-group--prepend{
-     vertical-align: middle;
-  }
-  ::v-deep .vue-treeselect__control{
-    height: 30px !important;
-    line-height: 30px;
-  }
-  ::v-deep .vue-treeselect__placeholder{
-    line-height: 32px;
-  }
+<style scoped>
+::v-deep .el-input-group__prepend {
+  background-color: #fff !important;
+  width: 100px;
+}
+::v-deep .el-input-group--prepend {
+  vertical-align: middle;
+}
+::v-deep .vue-treeselect__control {
+  height: 30px !important;
+  line-height: 30px;
+}
+::v-deep .vue-treeselect__placeholder {
+  line-height: 32px;
+}
 </style>

+ 230 - 157
src/views/live/liveOrder/myIndex.vue

@@ -4,7 +4,7 @@
       <el-form-item label="所属部门" prop="deptId">
         <treeselect style="width:220px" v-model="queryParams.deptId" :options="deptOptions" :show-count="true" placeholder="请选择所属部门" />
       </el-form-item>
-      <el-form-item label="订单号" prop="orderSn">
+      <el-form-item label="订单号" prop="orderCode">
         <el-input
           v-model="queryParams.orderCode"
           placeholder="请输入订单号"
@@ -58,7 +58,7 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="订单金额" prop="orderMoney">
+      <el-form-item label="订单金额" prop="totalPrice">
         <el-input
           v-model="queryParams.totalPrice"
           placeholder="请输入订单金额"
@@ -68,80 +68,79 @@
         />
       </el-form-item>
       <el-form-item style="margin-left: 20px;">
-        <el-button type="text"  :icon="isCollapsed ? 'el-icon-arrow-down' : 'el-icon-arrow-up'"  @click="upDown">{{ isCollapsed ? '展开' : '收起' }} </el-button>
+        <el-button type="text" :icon="isCollapsed ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" @click="upDown">{{ isCollapsed ? '展开' : '收起' }}</el-button>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
       </el-form-item>
       <div v-if="!isCollapsed">
         <el-form-item label="物流信息" prop="searchKey">
-                      <el-input
-                       v-model.trim="searchKey"
-                        :placeholder="searchType=='deliveryCode'?'请输入物流编号':searchType=='deliveryName'?'请输入物流名称':searchType=='deliverySn'?'请输入物流单号':''"
-                        clearable
-                        size="small"
-                        @keyup.enter.native="handleQuery"
-                        clearable
-                      >
-                      <el-select
-                      slot="prepend"
-                        v-model="searchType"
-                        placeholder="请选择"
-                        clearable
-                         @change="handleTypeChange"
-                         class="select-box"
-                      >
-                        <el-option label="物流编号" value="deliveryCode" />
-                        <el-option label="物流名称" value="deliveryName" />
-                        <el-option label="物流单号" value="deliverySn" />
-                      </el-select>
-                      </el-input>
-                     </el-form-item>
- <el-form-item label="支付时间" prop="payTime">
-        <el-date-picker clearable size="small"
-          v-model="queryParams.payTime"
-          type="date"
-          value-format="yyyy-MM-dd"
-          placeholder="选择支付时间">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label="完成时间" prop="finishTime">
-        <el-date-picker clearable size="small"
-          v-model="queryParams.finishTime"
-          type="date"
-          value-format="yyyy-MM-dd"
-          placeholder="选择完成时间">
-        </el-date-picker>
-      </el-form-item>
-        </div>
- <!--     <el-form-item label="物流编号" prop="deliveryCode">
-        <el-input
-          v-model="queryParams.deliveryCode"
-          placeholder="请输入物流编号"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="物流名称" prop="deliveryName">
-        <el-input
-          v-model="queryParams.deliveryName"
-          placeholder="请输入物流名称"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="物流单号" prop="deliverySn">
-        <el-input
-          v-model="queryParams.deliverySn"
-          placeholder="请输入物流单号"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item> -->
-
-
+          <el-input
+            v-model.trim="searchKey"
+            :placeholder="searchType=='deliveryCode'?'请输入物流编号':searchType=='deliveryName'?'请输入物流名称':searchType=='deliverySn'?'请输入物流单号':'请先选择搜索类型'"
+            clearable
+            size="small"
+            @keyup.enter.native="handleQuery"
+          >
+            <el-select
+              slot="prepend"
+              v-model="searchType"
+              placeholder="请选择"
+              clearable
+              @change="handleTypeChange"
+              class="select-box"
+            >
+              <el-option label="物流编号" value="deliveryCode" />
+              <el-option label="物流名称" value="deliveryName" />
+              <el-option label="物流单号" value="deliverySn" />
+            </el-select>
+          </el-input>
+        </el-form-item>
+        <el-form-item label="支付时间" prop="payTimeStart">
+          <el-date-picker
+            v-model="payTimeRange"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            size="small"
+            @change="handlePayTimeChange"
+          />
+        </el-form-item>
+        <el-form-item label="完成时间" prop="finishTimeStart">
+          <el-date-picker
+            v-model="finishTimeRange"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            size="small"
+            @change="handleFinishTimeChange"
+          />
+        </el-form-item>
+        <el-form-item label="员工姓名" prop="companyUserName">
+          <el-input
+            v-model="queryParams.companyUserName"
+            placeholder="请输入员工姓名"
+            clearable
+            size="small"
+            @keyup.enter.native="handleQuery"
+          />
+        </el-form-item>
+        <el-form-item label="发货时间" prop="deliverySendTime">
+          <el-date-picker
+            v-model="deliveryTimeRange"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            size="small"
+            @change="handleDateChange"
+          />
+        </el-form-item>
+      </div>
     </el-form>
 
     <el-row :gutter="10" class="mb8">
@@ -161,7 +160,7 @@
     </el-row>
     <el-tabs type="card" v-model="actName" @tab-click="handleClickX">
       <el-tab-pane label="全部订单" name="10"></el-tab-pane>
-      <el-tab-pane v-for="(item,index) in orderOptions" :label="item.dictLabel" :name="item.dictValue"></el-tab-pane>
+      <el-tab-pane v-for="(item,index) in orderOptions" :key="item.dictValue" :label="item.dictLabel" :name="item.dictValue"></el-tab-pane>
     </el-tabs>
     <el-table border v-loading="loading" :data="liveOrderList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
@@ -176,6 +175,7 @@
       <el-table-column label="物流编号" align="center" prop="deliveryCode" />
       <el-table-column label="物流名称" align="center" prop="deliveryName" />
       <el-table-column label="物流单号" align="center" prop="deliverySn" />
+      <el-table-column label="员工名称" align="center" prop="companyUserName" />
       <el-table-column label="支付时间" align="center" prop="payTime" width="180">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.payTime, '{y}-{m}-{d}') }}</span>
@@ -186,13 +186,18 @@
           <span>{{ parseTime(scope.row.finishTime, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
+      <el-table-column label="发货时间" align="center" prop="deliverySendTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.deliverySendTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
       <el-table-column label="状态" align="center" prop="status" :formatter="orderStatusFormatter"/>
       <el-table-column label="备注" align="center" prop="remark" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
             size="mini"
-            type="text"-
+            type="text"
             icon="el-icon-edit"
             @click="handledetails(scope.row)"
             v-hasPermi="['live:liveOrder:edit']"
@@ -224,73 +229,74 @@ import liveOrderDetails from './liveOrderDetails.vue';
 import { treeselect } from "@/api/company/companyDept";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import {parseTime} from "../../../utils/common";
 
 export default {
   name: "LiveOrder",
-  components: {Treeselect, liveOrderDetails },
+  components: { Treeselect, liveOrderDetails },
   data() {
     return {
-      searchType:'',
-      searchKey:'',
-      isCollapsed:false,
+      searchType: '',
+      searchKey: '',
+      isCollapsed: true,
+      // 发货时间范围
+      deliveryTimeRange: [],
+      // 支付时间范围
+      payTimeRange: [],
+      // 完成时间范围
+      finishTimeRange: [],
       //字典
       orderStatusOptions: [],
-      // 遮罩层
       loading: true,
-      // 导出遮罩层
       exportLoading: false,
-      // 选中数组
       ids: [],
-      // 非单个禁用
       single: true,
-      // 非多个禁用
       multiple: true,
-      // 显示搜索条件
       showSearch: true,
-      // 总条数
       total: 0,
-      // 订单表格数据
       liveOrderList: [],
-      // 查询参数
       queryParams: {
         pageNum: 1,
         liveId: null,
         pageSize: 10,
-        orderSn: null,
+        deptId: null,
+        orderCode: null,
         userId: null,
         userName: null,
-        mobile: null,
-        address: null,
+        userPhone: null,
+        userAddress: null,
         payMoney: null,
-        orderMoney: null,
+        totalPrice: null,
         deliveryCode: null,
         deliveryName: null,
         deliverySn: null,
-        payTime: null,
-        finishTime: null,
+        payTimeStart: null,
+        payTimeEnd: null,
+        finishTimeStart: null,
+        finishTimeEnd: null,
         status: null,
+        companyUserName: null,
+        deliverySendTimeStart: null,
+        deliverySendTimeEnd: null,
       },
-      orderOptions:[],
-      actName:"10",
-      show:{
-        title:"订单详情",
-        open:false,
+      orderOptions: [],
+      actName: "10",
+      show: {
+        title: "订单详情",
+        open: false,
       },
-
-      // 部门树选项
       deptOptions: undefined,
       deptName: undefined,
     };
   },
   watch: {
-    // 根据名称筛选部门树
     deptName(val) {
       this.$refs.tree.filter(val);
     },
   },
   created() {
     this.getTreeselect();
-    this.queryParams.liveId = this.$route.query.liveId
+    this.queryParams.liveId = this.$route.query.liveId;
     this.getList();
     this.getDicts("sys_live_order_status").then(response => {
       this.orderStatusOptions = response.data;
@@ -300,25 +306,57 @@ export default {
     });
   },
   methods: {
-    // 查看详情
+    parseTime,
+    // 发货时间范围处理
+    handleDateChange(val) {
+      if (val && val.length === 2) {
+        this.queryParams.deliverySendTimeStart = val[0];
+        this.queryParams.deliverySendTimeEnd = val[1];
+      } else {
+        this.queryParams.deliverySendTimeStart = null;
+        this.queryParams.deliverySendTimeEnd = null;
+      }
+    },
+    // 支付时间范围处理
+    handlePayTimeChange(val) {
+      if (val && val.length === 2) {
+        this.queryParams.payTimeStart = val[0];
+        this.queryParams.payTimeEnd = val[1];
+      } else {
+        this.queryParams.payTimeStart = null;
+        this.queryParams.payTimeEnd = null;
+      }
+    },
+    // 完成时间范围处理
+    handleFinishTimeChange(val) {
+      if (val && val.length === 2) {
+        this.queryParams.finishTimeStart = val[0];
+        this.queryParams.finishTimeEnd = val[1];
+      } else {
+        this.queryParams.finishTimeStart = null;
+        this.queryParams.finishTimeEnd = null;
+      }
+    },
+    // 获取部门树
     getTreeselect() {
       treeselect().then((response) => {
         this.deptOptions = response.data;
       });
     },
-    handledetails(row){
-      this.show.open=true;
-      setTimeout(() => {
-        this.$refs.Details.getDetails(row.orderId,row.nickName,row.storeName);
-      }, 1);
+    // 查看详情
+    handledetails(row) {
+      this.show.open = true;
+      this.$nextTick(() => {
+        this.$refs.Details.getDetails(row.orderId, row.nickName, row.storeName);
+      });
     },
     // 订单tab切换
     handleClickX(tab, event) {
       this.orderStatus = tab.name;
-      if(tab.name=="10"){
-        this.queryParams.status=null;
-      }else{
-        this.queryParams.status=tab.name;
+      if (tab.name == "10") {
+        this.queryParams.status = null;
+      } else {
+        this.queryParams.status = tab.name;
       }
       this.handleQuery();
     },
@@ -336,66 +374,101 @@ export default {
     orderStatusFormatter(row, column) {
       return this.selectDictLabel(this.orderStatusOptions, row.status);
     },
-   upDown() {
-         this.isCollapsed = !this.isCollapsed;
-       },
-   handleTypeChange(newType){
-     this.searchKey='';
-     this.searchType=newType
-   },
-   /** 搜索按钮操作 */
-   handleQuery() {
-     if(this.searchKey!=='' && this.searchType!==''){
-      this.queryParams[this.searchType]=this.searchKey
-     }
-     this.queryParams.pageNum = 1;
-     this.getList();
-   },
+    upDown() {
+      this.isCollapsed = !this.isCollapsed;
+    },
+    handleTypeChange(newType) {
+      this.searchKey = '';
+      this.searchType = newType;
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.queryParams.deliveryCode = null;
+      this.queryParams.deliveryName = null;
+      this.queryParams.deliverySn = null;
+      if (this.searchKey !== '' && this.searchType !== '') {
+        this.queryParams[this.searchType] = this.searchKey;
+      }
+      this.getList();
+    },
     /** 重置按钮操作 */
     resetQuery() {
-      this.searchKey= '';
-      this.queryParams[this.searchType]=null;
+      this.searchKey = '';
+      this.searchType = '';
+      this.deliveryTimeRange = [];
+      this.payTimeRange = [];
+      this.finishTimeRange = [];
       this.resetForm("queryForm");
+      this.queryParams = {
+        pageNum: 1,
+        liveId: this.$route.query.liveId,
+        pageSize: 10,
+        deptId: null,
+        orderCode: null,
+        userId: null,
+        userName: null,
+        userPhone: null,
+        userAddress: null,
+        payMoney: null,
+        totalPrice: null,
+        deliveryCode: null,
+        deliveryName: null,
+        deliverySn: null,
+        payTimeStart: null,
+        payTimeEnd: null,
+        finishTimeStart: null,
+        finishTimeEnd: null,
+        status: null,
+        companyUserName: null,
+        deliverySendTimeStart: null,
+        deliverySendTimeEnd: null,
+      };
+      if (this.actName !== "10") {
+        this.queryParams.status = this.actName;
+      }
       this.handleQuery();
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.orderId)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
+      this.ids = selection.map(item => item.orderId);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
+      const queryParams = { ...this.queryParams };
       this.$confirm('是否确认导出所有订单数据项?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(() => {
-          this.exportLoading = true;
-          return exportLiveOrder(queryParams);
-        }).then(response => {
-          this.download(response.msg);
-          this.exportLoading = false;
-        }).catch(() => {});
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        this.exportLoading = true;
+        return exportLiveOrder(queryParams);
+      }).then(response => {
+        this.download(response.msg);
+        this.exportLoading = false;
+      }).catch(() => {
+        this.exportLoading = false;
+      });
     }
   }
 };
 </script>
-<style scoped>
-   ::v-deep .el-input-group__prepend{
-      background-color: #fff !important;
-      width: 100px;
 
-  }
-  ::v-deep .el-input-group--prepend{
-     vertical-align: middle;
-  }
-  ::v-deep .vue-treeselect__control{
-    height: 30px !important;
-    line-height: 30px;
-  }
-  ::v-deep .vue-treeselect__placeholder{
-    line-height: 32px;
-  }
+<style scoped>
+::v-deep .el-input-group__prepend {
+  background-color: #fff !important;
+  width: 100px;
+}
+::v-deep .el-input-group--prepend {
+  vertical-align: middle;
+}
+::v-deep .vue-treeselect__control {
+  height: 30px !important;
+  line-height: 30px;
+}
+::v-deep .vue-treeselect__placeholder {
+  line-height: 32px;
+}
 </style>