xdd hace 2 días
padre
commit
c94d9cd6cd
Se han modificado 2 ficheros con 935 adiciones y 0 borrados
  1. 534 0
      src/views/live/liveAfteraSales/myIndex.vue
  2. 401 0
      src/views/live/liveOrder/myIndex.vue

+ 534 - 0
src/views/live/liveAfteraSales/myIndex.vue

@@ -0,0 +1,534 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+
+      <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="orderCode">
+        <el-input
+          v-model="queryParams.orderCode"
+          placeholder="请输入订单单号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="员工姓名" prop="companyUserNickName">
+        <el-input
+          v-model="queryParams.companyUserNickName"
+          placeholder="请输入员工姓名"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="手机号" prop="consigneePhone">
+        <el-input
+          v-model="queryParams.consigneePhone"
+          placeholder="请输入手机号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+
+
+      <el-form-item label="退款类型" prop="serviceType">
+        <el-select  v-model="queryParams.serviceType" placeholder="请选择退款类型" clearable size="small" >
+          <el-option
+            v-for="item in serviceTypeOptions"
+            :key="item.dictValue"
+            :label="item.dictLabel"
+            :value="item.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+
+
+      <el-form-item label="状态" prop="status">
+        <el-select  v-model="queryParams.status" placeholder="请选择状态" clearable size="small" >
+          <el-option
+            v-for="item in statusOptions"
+            :key="item.dictValue"
+            :label="item.dictLabel"
+            :value="item.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="售后状态" prop="salesStatus">
+        <el-select   v-model="queryParams.salesStatus" placeholder="请选择状态" clearable size="small" >
+          <el-option
+            v-for="item in salesStatusOptions"
+            :key="item.dictValue"
+            :label="item.dictLabel"
+            :value="item.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="订单状态" prop="orderStatus">
+        <el-select   v-model="queryParams.orderStatus" placeholder="请选择订单状态" clearable size="small" >
+          <el-option
+            v-for="item in orderStatusOptions"
+            :key="item.dictValue"
+            :label="item.dictLabel"
+            :value="item.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+
+ <!--     <el-form-item label="物流状态" prop="deliveryStatus">
+        <el-select   v-model="queryParams.deliveryStatus" placeholder="请选择物流状态" clearable size="small" >
+          <el-option
+            v-for="item in deliveryStatusOptions"
+            :key="item.dictValue"
+            :label="item.dictLabel"
+            :value="item.dictValue"
+          />
+        </el-select>
+      </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-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="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">
+  <div class="filter-combobox">
+    <el-select
+        slot="prepend"
+        v-model="searchType"
+        placeholder="请选择"
+        clearable
+        @change="handleTypeChange"
+        style="width: 105px"
+      >
+        <el-option label="物流状态" value="deliveryStatus" />
+        <el-option label="物流单号" value="deliverySn" />
+      </el-select>
+      <el-select v-if="searchType=='deliveryStatus'"  style="flex: 1;"
+      v-model="queryParams.deliveryStatus" placeholder="请选择物流状态" clearable size="small" >
+          <el-option
+            v-for="item in deliveryStatusOptions"
+            :key="item.dictValue"
+            :label="item.dictLabel"
+            :value="item.dictValue"
+            />
+        </el-select>
+      <el-input
+      v-if="searchType=='deliverySn'|| searchType==''"  style="flex: 1;"
+        v-model.trim="searchKey"
+        :placeholder="searchType=='deliverySn'?'物流/退回物流单号':''"
+        clearable
+        size="small"
+        @keyup.enter.native="handleQuery"
+        @clear="handleQuery"
+      >
+      </el-input>
+
+    </div>
+</el-form-item>
+      <el-form-item label="提交时间" prop="createTime">
+        <el-date-picker
+          style="width:205.4px"
+          clearable size="small"
+          v-model="dateRange"
+          type="daterange"
+          value-format="yyyy-MM-dd"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期">
+        </el-date-picker>
+      </el-form-item>
+      </div>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          :disabled="exportLoading"
+          @click="handleExport"
+          v-hasPermi="['live:liveAfteraSales:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table border v-loading="loading" :data="liveAfterSalesList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="ID" align="center" prop="id" />
+      <el-table-column label="所属公司" align="center" prop="companyName" />
+      <el-table-column label="所属员工" align="center" prop="companyUserNickName" />
+      <el-table-column label="订单单号" align="center" prop="orderCode" />
+      <el-table-column label="会员手机号" align="center" prop="userPhone" />
+      <el-table-column label="退款金额" align="center" prop="refundAmount" />
+      <el-table-column label="退款类型" align="center" prop="serviceType" >
+        <template slot-scope="scope">
+          <div prop="serviceType" v-for="(item, index) in serviceTypeOptions"    v-if="scope.row.serviceType==item.dictValue">{{item.dictLabel}}</div>
+        </template>
+      </el-table-column>
+      <el-table-column label="申请原因" align="center" prop="reasons" />
+      <el-table-column label="说明" align="center" prop="explains" />
+      <el-table-column label="状态" align="center" prop="status" >
+        <template slot-scope="scope">
+          <div prop="status" v-for="(item, index) in statusOptions"    v-if="scope.row.status==item.dictValue">{{item.dictLabel}}</div>
+        </template>
+      </el-table-column>
+      <el-table-column label="售后状态" align="center" prop="salesStatus" >
+        <template slot-scope="scope">
+          <div prop="status" v-for="(item, index) in salesStatusOptions"    v-if="scope.row.salesStatus==item.dictValue">{{item.dictLabel}}</div>
+        </template>
+      </el-table-column>
+      <el-table-column label="订单状态" align="center" prop="orderStatus" >
+        <template slot-scope="scope">
+          <div prop="status" v-for="(item, index) in orderStatusOptions"    v-if="scope.row.orderStatus==item.dictValue">{{item.dictLabel}}</div>
+        </template>
+      </el-table-column>
+      <el-table-column label="物流状态" align="center" prop="deliveryStatus" >
+        <template slot-scope="scope">
+          <el-tag prop="status" v-for="(item, index) in deliveryStatusOptions"    v-if="scope.row.deliveryStatus==item.dictValue">{{item.dictLabel}}</el-tag>
+        </template>
+      </el-table-column>
+
+      <el-table-column label="物流单号" align="center" prop="deliveryId" />
+
+      <el-table-column label="客户退回物流单号" align="center" prop="deliverySn" />
+      <el-table-column label="客户退货物流名称" align="center" prop="deliveryName" />
+
+      <el-table-column label="提交时间" align="center" prop="createTime" />
+
+      <el-table-column label="操作" align="center" fixed="right" width="100px" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            @click="handleShow(scope.row)"
+            v-hasPermi="['store:storeAfterSales:query']"
+          >查看</el-button>
+
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+    <el-drawer
+      size="75%"
+      :title="title" :visible.sync="open"
+    >
+      <product-after-sales-order  ref="afterSalesOrder" />
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+import { listLiveAfterSales, getLiveAfterSales, delLiveAfterSales, addLiveAfterSales, updateLiveAfterSales, exportLiveAfterSales } from "@/api/live/liveAfterSales";
+import {getCompanyList} from "@/api/company/company";
+import Treeselect from "@riophae/vue-treeselect";
+import {treeselect} from "@/api/company/companyDept";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import productAfterSalesOrder from "../components/productAfterSalesOrder";
+
+export default {
+  name: "LiveAfterSales",
+  components: {productAfterSalesOrder, Treeselect},
+  data() {
+    return {
+      searchType:'',
+      searchKey:'',
+      isCollapsed:false,
+      dateRange:[],
+      // 遮罩层
+      loading: true,
+      // 导出遮罩层
+      exportLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 售后记录表格数据
+      liveAfterSalesList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        orderCode: null,
+        refundAmount: null,
+        serviceType: null,
+        reasons: null,
+        explains: null,
+        explainImg: null,
+        shipperCode: null,
+        deliverySn: null,
+        deliveryName: null,
+        status: null,
+        salesStatus: null,
+        isDel: null,
+        userId: null,
+        consignee: null,
+        phoneNumber: null,
+        address: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      },
+      orderStatusOptions:[],
+      deliveryStatusOptions:[],
+      serviceTypeOptions:[],
+      salesStatusOptions:[],
+      statusOptions:[],
+      deptOptions:[],
+    };
+  },
+  watch: {
+    // 根据名称筛选部门树
+    deptName(val) {
+      this.$refs.tree.filter(val);
+    },
+  },
+  created() {
+    this.getTreeselect();
+    this.getDicts("store_after_sales_sales_status").then((response) => {
+      this.salesStatusOptions = response.data;
+    });
+    this.getDicts("store_after_sales_status").then((response) => {
+      this.statusOptions = response.data;
+    });
+    this.getDicts("store_after_sales_service_type").then((response) => {
+      this.serviceTypeOptions = response.data;
+    });
+    this.getDicts("store_order_delivery_status").then((response) => {
+      this.deliveryStatusOptions = response.data;
+    });
+    this.getDicts("store_order_status").then((response) => {
+      this.orderStatusOptions = response.data;
+    });
+
+    this.getList();
+  },
+  methods: {
+    handleShow(row){
+      this.title="售后订单"
+      this.open=true;
+      setTimeout(() => {
+        this.$refs.afterSalesOrder.getLiveAfterSales(row.id);
+      }, 200);
+    },
+    /** 查询售后记录列表 */
+    getList() {
+      this.loading = true;
+      this.queryParams = {...this.queryParams,companyUserId: this.$store.state.user.user.userId}
+
+      listLiveAfterSales(this.queryParams).then(response => {
+        this.liveAfterSalesList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+         delete this.queryParams[this.searchType];
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        liveId: null,
+        storeId: null,
+        orderId: null,
+        refundAmount: null,
+        refundType: null,
+        reasons: null,
+        explains: null,
+        explainImg: null,
+        deliveryCode: null,
+        deliverySn: null,
+        deliveryName: null,
+        status: 0,
+        salesStatus: 0,
+        orderStatus: 0,
+        createTime: null,
+        isDel: null,
+        userId: null,
+        consignee: null,
+        phoneNumber: null,
+        address: null,
+        companyId: null,
+        companyUserId: null,
+        deptId: null
+      };
+      this.resetForm("form");
+    },
+   upDown() {
+        this.isCollapsed = !this.isCollapsed;
+      },
+   handleTypeChange(newType){
+     this.searchKey='';
+     this.searchType=newType
+   },
+   /** 搜索按钮操作 */
+   handleQuery() {
+     if(this.searchKey!=='' && this.searchType=='deliverySn'){
+      this.queryParams[this.searchType]=this.searchKey
+     }
+     this.queryParams.pageNum = 1;
+     this.getList();
+   },
+   /** 重置按钮操作 */
+   resetQuery() {
+     this.searchKey= '';
+     this.queryParams[this.searchType]=null;
+     this.resetForm("queryForm");
+     this.handleQuery();
+   },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加售后记录";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getLiveAfterSales(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改售后记录";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateLiveAfterSales(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addLiveAfterSales(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除售后记录编号为"' + ids + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delLiveAfterSales(ids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有售后记录数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          this.exportLoading = true;
+          return exportLiveAfterSales(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+          this.exportLoading = false;
+        }).catch(() => {
+        this.exportLoading = false;
+      });
+    },
+    getTreeselect() {
+      var param={companyId:this.companyId}
+      treeselect(param).then((response) => {
+        this.deptOptions = response.data;
+        console.log(this.deptOptions)
+        if(response.data!=null&&response.data.length>0){
+          //this.queryParams.deptId=response.data[0].id;
+        }
+      });
+    },
+    companyChange(val){
+      console.log(val);
+      this.companyId=val;
+      this.getTreeselect();
+    },
+    currDeptChange(val){
+      console.log(val)
+      this.queryParams.deptId=val;
+      this.getList();
+    },
+  }
+};
+</script>
+<style scoped>
+ .filter-combobox {
+   display: flex;
+   align-items: flex-start;
+   width: 100%;
+ }
+ .filter-combobox ::v-deep .el-input--medium .el-input__inner{
+   height: 32px !important;
+   line-height: 32px;
+}
+.filter-combobox ::v-deep.el-input__icon{
+   height: 32px !important;
+line-height: 32px;
+}
+::v-deep .vue-treeselect__control{
+  height: 30px !important;
+  line-height: 30px;
+}
+::v-deep .vue-treeselect__placeholder{
+  line-height: 32px;
+}
+</style>

+ 401 - 0
src/views/live/liveOrder/myIndex.vue

@@ -0,0 +1,401 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <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-input
+          v-model="queryParams.orderCode"
+          placeholder="请输入订单号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="用户ID" prop="userId">
+        <el-input
+          v-model="queryParams.userId"
+          placeholder="请输入用户ID"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="收货人" prop="userName">
+        <el-input
+          v-model="queryParams.userName"
+          placeholder="请输入收货人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="手机号" prop="userPhone">
+        <el-input
+          v-model="queryParams.userPhone"
+          placeholder="请输入手机号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="地址" prop="userAddress">
+        <el-input
+          v-model="queryParams.userAddress"
+          placeholder="请输入地址"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="支付金额" prop="payMoney">
+        <el-input
+          v-model="queryParams.payMoney"
+          placeholder="请输入支付金额"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="订单金额" prop="orderMoney">
+        <el-input
+          v-model="queryParams.totalPrice"
+          placeholder="请输入订单金额"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </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="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-form>
+
+    <el-row :gutter="10" class="mb8">
+
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          :loading="exportLoading"
+          @click="handleExport"
+          v-hasPermi="['live:liveOrder:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </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-tabs>
+    <el-table border v-loading="loading" :data="liveOrderList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="订单ID" align="center" prop="orderId"/>
+      <el-table-column label="订单号" align="center" prop="orderCode" />
+      <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="payTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.payTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="完成时间" align="center" prop="finishTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.finishTime, '{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"-
+            icon="el-icon-edit"
+            @click="handledetails(scope.row)"
+            v-hasPermi="['live:liveOrder:edit']"
+          >查看</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+    <el-drawer
+      :with-header="false"
+      size="75%"
+      :title="show.title" :visible.sync="show.open">
+      <liveOrderDetails  ref="Details" />
+    </el-drawer>
+
+  </div>
+</template>
+
+<script>
+import { listLiveOrder, exportLiveOrder } from "@/api/live/liveOrder";
+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";
+
+export default {
+  name: "LiveOrder",
+  components: {Treeselect, liveOrderDetails },
+  data() {
+    return {
+      searchType:'',
+      searchKey:'',
+      isCollapsed:false,
+      //字典
+      orderStatusOptions: [],
+      // 遮罩层
+      loading: true,
+      // 导出遮罩层
+      exportLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 订单表格数据
+      liveOrderList: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        liveId: null,
+        pageSize: 10,
+        orderSn: null,
+        userId: null,
+        userName: null,
+        mobile: null,
+        address: null,
+        payMoney: null,
+        orderMoney: null,
+        deliveryCode: null,
+        deliveryName: null,
+        deliverySn: null,
+        payTime: null,
+        finishTime: null,
+        status: null,
+      },
+      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.getList();
+    this.getDicts("sys_live_order_status").then(response => {
+      this.orderStatusOptions = response.data;
+    });
+    this.getDicts("sys_order_status").then(response => {
+      this.orderOptions = response.data;
+    });
+  },
+  methods: {
+    // 查看详情
+    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);
+    },
+    // 订单tab切换
+    handleClickX(tab, event) {
+      this.orderStatus = tab.name;
+      if(tab.name=="10"){
+        this.queryParams.status=null;
+      }else{
+        this.queryParams.status=tab.name;
+      }
+      this.handleQuery();
+    },
+    /** 查询订单列表 */
+    getList() {
+      this.loading = true;
+      this.queryParams = {...this.queryParams,companyUserId: this.$store.state.user.user.userId}
+      listLiveOrder(this.queryParams).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();
+   },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.searchKey= '';
+      this.queryParams[this.searchType]=null;
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.orderId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      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(() => {});
+    }
+  }
+};
+</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>