zangbin vor 3 Jahren
Ursprung
Commit
3b5e65eaab

+ 15 - 0
lb-module/src/main/java/com/ydd/module/service/impl/AgentServiceImpl.java

@@ -215,6 +215,13 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
                     agent1.setPackageDiscountName(discount.getName());
                 }
             }
+            if(agent1.getPid() != null && agent1.getPackageDiscountId() == null) {
+              Agent superAgent = baseMapper.selectById(agent1.getPid());
+              PackageDiscount superDiscount = iPackageDiscountService.getById(superAgent.getPackageDiscountId());
+              if (superDiscount != null) {
+                agent1.setPackageDiscountName(superDiscount.getName());
+              }
+            }
 
             if (agent1.getPackageCommissionId() != null) {
                 PackageCommission commission = iPackageCommissionService.getById(agent1.getPackageCommissionId());
@@ -222,6 +229,14 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
                     agent1.setPackageCommissionName(commission.getName());
                 }
             }
+            if(agent1.getPid() != null && agent1.getPackageCommissionId() == null) {
+              Agent superAgent = baseMapper.selectById(agent1.getPid());
+              PackageCommission superCommission = iPackageCommissionService.getById(superAgent.getPackageCommissionId());
+              if (superCommission != null) {
+                agent1.setPackageCommissionName(superCommission.getName());
+              }
+            }
+
         });
         return list;
     }

+ 22 - 18
lb-module/src/main/resources/mapper/module/orderMapper.xml

@@ -545,12 +545,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="params.paymentType != null">
             AND (o.payment_type = #{params.paymentType} and o.status != 0)
         </if>
-        <if test="params.shopIds != null and params.shopIds > 0">
-             and o.shop_id in
-             <foreach collection="params.shopIds" index="index" item="shopId" open="(" separator="," close=")">
-                 #{shopId}
-             </foreach>
-         </if>
+        <if test="params.shopIds != null and params.shopIds.size > 0">
+            AND
+            o.shop_id in
+            <foreach collection="params.shopIds" index="index" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
         ORDER BY o.create_time DESC
     </select>
 
@@ -1003,12 +1004,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="params.paymentType != null">
             AND (o.payment_type = #{params.paymentType} and o.status != 0)
         </if>
-        <if test="params.shopIds != null and params.shopIds > 0">
-             and o.shop_id in
-             <foreach collection="params.shopIds" index="index" item="shopId" open="(" separator="," close=")">
-                 #{shopId}
-             </foreach>
-         </if>
+        <if test="params.shopIds != null and params.shopIds.size > 0">
+            AND
+            o.shop_id in
+            <foreach collection="params.shopIds" index="index" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
     </select>
 
     <select id="selectExportOrder" resultType="com.ydd.module.dto.OrderExportDto">
@@ -1192,12 +1194,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="params.paymentType != null">
             AND (o.payment_type = #{params.paymentType} and o.status != 0)
         </if>
-        <if test="params.shopIds != null and params.shopIds > 0">
-             and o.shop_id in
-             <foreach collection="params.shopIds" index="index" item="shopId" open="(" separator="," close=")">
-                 #{shopId}
-             </foreach>
-         </if>
+         <if test="params.shopIds != null and params.shopIds.size > 0">
+            AND
+            o.shop_id in
+            <foreach collection="params.shopIds" index="index" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
         ORDER BY o.create_time DESC
     </select>
 
@@ -2219,6 +2222,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         o.delivery_name,
         DATE_FORMAT(o.create_time, '%Y-%m-%d')
         ) t
+        ORDER BY date DESC
     </select>
 
     <select id="countPersonalOrder" resultType="java.lang.Integer">

+ 123 - 7
web-ui/src/views/module/agent/index.vue

@@ -39,14 +39,14 @@
           <OldSend :sendAreaProp="sendAreaProp" @changeArea="changeSendArea" ref="sendArea"/>
       </el-form-item>、
       <el-form-item label="创建时间" prop="createTime">
-        <el-date-picker 
-          v-model="date" 
-          type="datetimerange" 
+        <el-date-picker
+          v-model="date"
+          type="datetimerange"
           start-placeholder="开始时间"
           range-separator="至"
           end-placeholder="结束时间"
           :default-time="['00:00:00', '23:59:59']"
-          value-format="yyyy-MM-dd HH:mm:ss" 
+          value-format="yyyy-MM-dd HH:mm:ss"
           format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
       </el-form-item>
       <el-form-item>
@@ -77,7 +77,7 @@
       <el-table-column label="代理商名称" align="center" prop="name" />
       <el-table-column label="联系人" align="center" prop="contactName" />
       <el-table-column label="联系手机" align="center" prop="mobile" />
-      <el-table-column label="上级代理" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="上级代理" align="center" class-name="small-padding fixed-width" show-overflow-tooltip>
         <template slot-scope="scope">
           <el-button v-if="scope.row.pid"
             type="text"
@@ -119,6 +119,16 @@
           </template>
       </el-table-column>
       <el-table-column label="备注" align="center" prop="remark" />
+      <el-table-column label="优惠包名称" align="center" v-if="user.type != 2">
+        <template slot-scope="scope">
+          <span>{{ scope.row.packageDiscountName || '- -' }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="佣金包名称" align="center" v-if="user.type != 2">
+        <template slot-scope="scope">
+          <span>{{ scope.row.packageCommissionName || '- -' }}</span>
+        </template>
+      </el-table-column>
       <el-table-column label="创建时间" align="center" prop="createTime" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
@@ -135,6 +145,18 @@
             v-if="scope.row.isEdit == 1"
             v-hasPermi="['module:agent:edit']"
           >修改</el-button>
+          <el-button
+            v-if="user.type != 2"
+            size="mini"
+            type="text"
+            @click="handleDiscount(scope.row.id, 1)"
+          >绑定优惠包</el-button>
+          <el-button
+            v-if="user.type != 2"
+            size="mini"
+            type="text"
+            @click="handleCommission(scope.row.id, 2)"
+          >绑定佣金包</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -221,13 +243,32 @@
         </el-form-item>
         <el-form-item label="备注" prop="remark">
           <el-input v-model="form.remark" placeholder="请输入备注" maxlength="50" style="width:450px" />
-        </el-form-item> 
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
+
+    <el-dialog title="绑定包配置" :visible.sync="packageRequestOpen" width="700px" append-to-body>
+      <el-form ref="packageRequest" :model="packageRequest" :rules="packageRequestRules" label-width="130px">
+        <el-form-item label="选择包" prop="packageId">
+
+            <el-select v-model="packageRequest.packageId" placeholder="请选择优惠包" v-if="packageRequest.packageType == 1" clearable>
+                <el-option v-for="item in this.packageDiscountList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+            </el-select>
+
+            <el-select v-model="packageRequest.packageId" placeholder="请选择佣金包" v-if="packageRequest.packageType == 2" clearable>
+                <el-option v-for="item in this.packageCommissionList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+            </el-select>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFormPackage">确 定</el-button>
+        <el-button @click="cancelPackage">取 消</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -326,6 +367,16 @@ export default {
         startTime: undefined,
         endTime: undefined
       },
+      packageRequest: {
+        packageType: undefined,
+        packageId: undefined,
+        agentId: undefined
+      },
+      packageRequestRules: {},
+      packageRequestOpen: false,
+      packageDeliveryList: [],
+      packageCommissionList: [],
+      packageDiscountList: [],
       // 表单参数
       form: {},
       // 表单校验
@@ -392,8 +443,38 @@ export default {
     this.getList();
     this.getMaxRate()
     this.getLevelList()
+
+    this.$http.get("/module/packageDelivery/getDeliveryList").then(({ data }) => {
+      this.packageDeliveryList = data
+    })
+
+    this.$http.get("/module/packageDiscount/getDiscountList").then(({ data }) => {
+      this.packageDiscountList = data
+    })
+
+    this.$http.get("/module/packageCommission/getCommissionList").then(({ data }) => {
+      this.packageCommissionList = data
+    })
   },
   methods: {
+    handleCommission(agentId, packageType) {
+      this.packageRequest.agentId = agentId;
+      this.packageRequest.packageType = packageType;
+      getAgent(agentId).then(response => {
+        this.packageRequest.packageId = response.data.packageCommissionId
+      });
+      this.packageRequestOpen = true;
+    },
+
+    handleDiscount(agentId, packageType) {
+      this.packageRequest.agentId = agentId;
+      this.packageRequest.packageType = packageType;
+      getAgent(agentId).then(response => {
+        this.packageRequest.packageId = response.data.packageDiscountId
+      });
+      this.packageRequestOpen = true;
+    },
+
     changeSendArea(e) {
       this.sendStartArea = e
     },
@@ -457,6 +538,14 @@ export default {
       this.open = false;
       this.reset();
     },
+    cancelPackage() {
+      this.packageRequestOpen = false;
+      this.packageRequest = {
+        packageType: undefined,
+        packageId: undefined,
+        agentId: undefined
+      };
+    },
     // 表单重置
     reset() {
       this.form = {
@@ -480,7 +569,9 @@ export default {
         remark: undefined,
         type: 0,
         huolalaCommission: undefined,
-        bindingThirdCommission: undefined
+        bindingThirdCommission: undefined,
+        packageDiscountId: undefined,
+        packageCommissionid: undefined
       };
       this.resetForm("form");
       this.startArea = {
@@ -605,6 +696,31 @@ export default {
         }
       });
     },
+    submitFormPackage() {
+      this.$refs["packageRequest"].validate(valid => {
+        if (valid) {
+          if(this.packageRequest.packageType == 1) {
+            this.$http.post('/module/agent/bindDiscountPackage', this.packageRequest).then(( { data }) => {
+              if(data) {
+                this.$message.success('绑定成功!');
+                this.packageRequestOpen = false;
+                this.getList();
+              }
+            })
+          }
+
+          if(this.packageRequest.packageType == 2) {
+            this.$http.post('/module/agent/bindCommissionPackage', this.packageRequest).then(( { data }) => {
+              if(data) {
+                this.$message.success('绑定成功!');
+                this.packageRequestOpen = false;
+                this.getList();
+              }
+            })
+          }
+        }
+      })
+    },
     /** 删除按钮操作 */
     handleDelete(row) {
       const ids = row.id || this.ids;

+ 327 - 290
web-ui/src/views/module/order/index.vue

@@ -23,12 +23,6 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item> -->
-      <!-- <el-form-item label="支付类型" prop="paymentType">
-        <el-select v-model="queryParams.paymentType" placeholder="支付类型" clearable >
-          <el-option v-for="item in paymentTypeOption" :key="item.value" :label="item.label"  :value="item.value" />
-        </el-select>
-      </el-form-item> -->
-
       <!-- <el-form-item label="优惠券ID" prop="couponId">
         <el-input
           v-model="queryParams.couponId"
@@ -135,7 +129,7 @@
           type="warning"
           plain
           icon="el-icon-download"
-          @click="handleExport"
+          @click="handleExport" v-hasPermi="['module:order:export']"
         >导出</el-button>
       </el-form-item>
       <!-- <el-form-item label="商家名称" prop="merchantId" v-if="user.type == 2">
@@ -279,13 +273,28 @@
               ></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="员工名称" prop="personnelName">
+          <!-- <el-form-item label="员工名称" prop="personnelName">
             <el-input
               v-model="queryParams.personnelName"
               placeholder="请输入员工名称"
               clearable
               @keyup.enter.native="handleQuery"
             />
+          </el-form-item> -->
+          <el-form-item label="员工名称" prop="personnelId">
+            <el-select v-model="queryParams.personnelId" filterable clearable placeholder="请选择 / 输入员工">
+              <el-option
+                v-for="item in personnelList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id">
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="支付类型" prop="paymentType">
+            <el-select v-model="queryParams.paymentType" placeholder="支付类型" clearable >
+              <el-option v-for="item in paymentTypeOption" :key="item.value" :label="item.label"  :value="item.value" />
+            </el-select>
           </el-form-item>
           <el-form-item label="发件人联系电话" prop="sendPhone">
             <el-input
@@ -300,7 +309,7 @@
     </el-form>
 
     <el-tabs v-model="activeName" @tab-click="handleClick" type="card">
-      <el-tab-pane :label="lablZero" name="1"></el-tab-pane>
+      <el-tab-pane :label="lableZero" name="1"></el-tab-pane>
       <el-tab-pane :label="lableOne" name="2"></el-tab-pane>
       <el-tab-pane :label="lableTwo" name="3"></el-tab-pane>
       <el-tab-pane :label="lableThree" name="4"></el-tab-pane>
@@ -323,12 +332,14 @@
         <template slot-scope="scope">
           <div style="margin-bottom: 10px; padding: 3px">
             <el-row>
-              <el-col :span="9">
+              <el-col :span="11">
                 <el-tag type="success">
                   <span
                     v-if="
-                      scope.row.waimaiOrderId != null &&
-                      scope.row.waimaiOrderId != ''
+                      (scope.row.waimaiOrderId != null &&
+                      scope.row.waimaiOrderId != '') ||
+                      (scope.row.platformType != null &&
+                      scope.row.platformType != 0)
                     "
                   >
                     {{ scope.row.dspWaimaiName }}
@@ -350,34 +361,33 @@
                   <span v-if="scope.row.takeType == 1 || scope.row.takeType == 2"> 预约 </span>
                 </el-tag>
                 <span  style="margin-left: 20px">订单号:
-                  <div v-if="scope.row.platformType != null">
-                    <span class="serial_text" v-if="scope.row.platformType == 0">猎豹 &nbsp;</span>
-                    <span class="serial_text" v-if="scope.row.platformType == 1">美团 &nbsp;</span>
-                    <span class="serial_text" v-if="scope.row.platformType == 2">饿了么 &nbsp;</span>
-                    <span class="serial_text" v-if="scope.row.platformType == 3">饿百零售 &nbsp;</span>
-                    <span class="serial_text" v-if="scope.row.platformType == 5">美团闪购 &nbsp;</span>
-                  </div>
-                  <div class="serial" v-if="scope.row.daySeq != null">
-                    <span class="serial_text">{{scope.row.daySeq}} &nbsp; #</span>
+                  <div class="serial">
+                    <span class="serial_text" v-if="scope.row.platformType != null && scope.row.platformType == 0">猎豹 </span>
+                    <span class="serial_text" v-if="scope.row.platformType != null && scope.row.platformType == 1">美团 </span>
+                    <span class="serial_text" v-if="scope.row.platformType != null && scope.row.platformType == 2">饿了么 </span>
+                    <span class="serial_text" v-if="scope.row.platformType != null && scope.row.platformType == 3">饿百零售 </span>
+                    <span class="serial_text" v-if="scope.row.platformType != null && scope.row.platformType == 5">美团闪购 </span>
+                    <span class="serial_text" v-if="scope.row.daySeq != null">{{scope.row.daySeq}} &nbsp; #</span>
                   </div>
                   <el-button style="user-select: unset" type="text" @click="deliveryInfo(scope.row.orderSn)" v-if="type != 2">
                     {{ scope.row.orderSn }}
                   </el-button>
                   <span v-if="type == 2">{{ scope.row.orderSn }}</span>
-
-                  <el-button style="user-select: unset;background-color:#F08080;height:27px" 
+                </span
+                >
+                <div style="margin-top:10px">
+                  <el-button style="user-select: unset;background-color:#F08080;height:27px"
                       size="mini" type="danger" round icon="el-icon-close" @click="cancelOrder(scope.row.id)"
                       v-if="type != 2 && scope.row.deliveryStatus == 3 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">
                     取消
                   </el-button>
 
-                  <el-button style="user-select: unset;background-color:#90EE90;height:27px" 
+                  <el-button style="user-select: unset;background-color:#90EE90;height:27px"
                       size="mini" type="success" round icon="el-icon-check" @click="finishOrder(scope.row.id)"
                       v-if="type != 2 && scope.row.deliveryStatus == 3 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">
                     手动完成
                   </el-button>
-                </span
-                >
+                </div>
               </el-col>
               <el-col :span="4">
                  <div style="margin-bottom: 10px; text-align: center">
@@ -395,13 +405,13 @@
                   </div>
                 </div>
               </el-col>
-              <el-col :span="9">
+              <el-col :span="7">
                 <div style="margin-bottom: 10px; text-align: left" v-if="
                       scope.row.waimaiOrderId != null &&
                       scope.row.waimaiOrderId != ''
                     ">
                   <span>外卖下单时间:{{ scope.row.orderTime }}</span>
-                  <span style="margin-left:39px" 
+                  <span style="margin-left:39px"
                     v-if="scope.row.deleted == 0 && !(scope.row.wmstatus == 4 && scope.row.deliveryStatus != 4) &&
                     !(scope.row.deliveryStatus == 0 && scope.row.waimaiOrderId != null &&
                           (scope.row.wmstatus == null || scope.row.wmstatus == 0))">
@@ -435,7 +445,7 @@
                   </div>
                   <div
                       v-if="
-                          scope.row.deliveryStatus == 0 && scope.row.waimaiOrderId != null &&
+                          scope.row.deliveryStatus == 0 &&
                           (scope.row.wmstatus == null || scope.row.wmstatus != 4)
                         "
                       >
@@ -483,6 +493,12 @@
                     其它平台完成
                   </div>
                   <div v-if="scope.row.deliveryStatus == 4">本平台完成</div>
+                  <div v-if="type != 2 && scope.row.deliveryStatus == 4 && scope.row.paymentType != 5 && scope.row.refundMoney == 0">
+                      <el-button style="user-select: unset;background-color:#F08080;height:27px"
+                        size="mini" type="info" round  @click="refundDia(scope.row.id)">
+                        退款
+                      </el-button>
+                  </div>
                 </div>
                 <div style="margin-bottom: 10px; text-align: right" v-if="scope.row.deleted == 1">
                   <div>撤回</div>
@@ -561,7 +577,7 @@
                     <el-tag type="success" v-if="scope.row.paymentType == 2 && scope.row.status != 0">微信</el-tag>
                     <el-tag type="warning" v-if="scope.row.paymentType == 3 && scope.row.status != 0">银联</el-tag>
                     <el-tag type="danger" v-if="scope.row.paymentType == 4 && scope.row.status != 0">余额支付</el-tag>
-                    <el-tag type="info" v-if="scope.row.paymentType == 5 && scope.row.status != 0">三方平台支付</el-tag>
+                    <el-tag type="info" v-if="scope.row.paymentType == 5 && scope.row.status != 0">三方平台支付</el-tag>
                 </span
                 ><br />
                 <span>配送类型:{{ scope.row.productName }}</span
@@ -703,11 +719,21 @@
               <div style="margin-top: 10px; text-align: right">
                 <span> 商户名称:{{ scope.row.merchantName == null ? ' -- ' : scope.row.merchantName }} </span><br />
                 <span> 门店名称:{{ scope.row.shopName == null ? ' -- ' : scope.row.shopName }} </span><br />
-                <span>代理商:{{ scope.row.agentName == null ? ' -- ' : scope.row.agentName }}</span
+                <span v-if="scope.row.dadaDspType == null">代理商:{{ scope.row.agentName == null ? ' -- ' : scope.row.agentName }}</span
                 ><br />
-                <span>所属员工:{{ scope.row.personnelName == null ? ' -- ' : scope.row.personnelName }}</span
+                <span v-if="scope.row.dadaDspType != null">配送商:{{ scope.row.dadaDspName == null ? ' -- ' : scope.row.dadaDspName }}</span
                 ><br />
-                <span>
+                <!-- <span>所属员工:{{ scope.row.personnelName == null ? ' -- ' : scope.row.personnelName }}</span
+                ><br /> -->
+                <span
+                    v-if="
+                      scope.row.personnelName != null &&
+                      scope.row.personnelName != ''
+                    "
+                    >所属员工:{{ scope.row.personnelName }}<br /></span
+                  >
+
+                <span v-if="scope.row.dadaDspType == null">
                   佣金:
                   <span
                     v-if="
@@ -718,6 +744,7 @@
                   >
                   <span v-else> -- </span> </span
                 ><br />
+                <span v-if="scope.row.dadaDspType != null">服务费:{{ scope.row.getCommission == null ? ' -- ' : scope.row.getCommission}} </span><br />
                 <span> 下单人:{{ scope.row.memberName }} </span><br />
                 <span>手机号:{{ scope.row.memberMobile }}</span
                 ><br />
@@ -726,198 +753,6 @@
           </el-row>
         </template>
       </el-table-column>
-
-      <!-- <template slot-scope="scope">
-            <div style="margin-bottom: 10px;">
-              <span>下单时间:{{ scope.row.createTime }}</span>
-            </div>
-
-            <div style="margin-top: 10px;">
-              <span>
-                支付金额:¥{{scope.row.payAmount}}
-                <i class="el-icon-info" @click="amountInfoOpen(scope.row)"></i>
-              </span><br />
-              <span>配送类型:{{scope.row.productName}}</span><br />
-              <span>物品信息:{{scope.row.productName}}/{{scope.row.weight}}公斤</span><br />
-              <div v-if="scope.row.waimaiOrderId != null && scope.row.waimaiOrderId != ''">
-                <span>商品金额:¥{{scope.row.puductMoney}}</span><br />
-                <span>商品详情:
-                  <el-button type="text" @click="productInfoOpen(scope.row.waimaiOrderId)">点击查看</el-button>
-                </span><br />
-              </div>
-              <div>
-                备注:
-                <span v-if="scope.row.waimaiOrderId != null && scope.row.waimaiOrderId != ''">{{scope.row.wmCaution}}</span>
-                <span v-else>{{scope.row.takeRemark}}</span>
-              </div>
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column align="left" width="400">
-          <template slot-scope="scope">
-            <div style="margin-top: 10px;">
-                <div>
-                  接单平台:
-                  <span v-if="scope.row.deliveryId != null">
-                    <span v-text="getName(scope.row.deliveryId)"></span>
-                  </span>
-                  <span v-if="scope.row.deliveryId == null && scope.row.wmstatus == 4 && scope.row.deliveryStatus != 4"> 其它平台</span>
-                </div>
-                <div>
-                  骑手姓名:
-                  <span v-if="scope.row.shipperName != null">{{scope.row.shipperName}}</span>
-                  <span v-else> -- </span>
-                </div>
-                <div>
-                  骑手电话:
-                  <span v-if="scope.row.shipperPhone != null">{{scope.row.shipperPhone}}</span>
-                  <span v-else> -- </span>
-                </div>
-                <div>
-                  三方订单号:
-                  <span v-if="scope.row.outTradeNo != null">{{scope.row.outTradeNo}}</span>
-                  <span v-else> -- </span>
-                </div>
-                <div>
-                  接单时间:
-                  <span v-if="scope.row.deliveryStatus != 0 && scope.row.deliveryStatus != 1">{{scope.row.deliveryTime}}</span>
-                  <span v-else>--</span>
-                </div>
-                <div>
-                  取货时间:
-                  <span v-if="scope.row.shipperName != null">{{scope.row.shipperName}}</span>
-                  <span v-else> -- </span>
-                </div>
-                <div>
-                  送到时间:
-                  <span v-if="scope.row.deliveryStatus == 4">{{scope.row.updateTime}}</span>
-                  <span v-else>--</span>
-                </div>
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column header-align="right" align="right">
-          <template slot-scope="scope">
-            <div style="display: flex; margin-bottom: 10px; padding: 3px;">
-              <div v-if="scope.row.deliveryStatus == -1 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">已取消</div>
-              <div v-if="scope.row.deliveryStatus == 0 && (scope.row.wmstatus == null || scope.row.wmstatus == 0)">待发单</div>
-              <div v-if="scope.row.deliveryStatus == 1 && scope.row.status == 1  && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">待接单</div>
-              <div v-if="scope.row.deliveryStatus == 1 && scope.row.status == 0 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">待支付</div>
-              <div v-if="scope.row.deliveryStatus == 2 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">待配送</div>
-              <div v-if="scope.row.deliveryStatus == 3 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">配送中</div>
-              <div v-if="scope.row.wmstatus == 4 && scope.row.deliveryStatus != 4">其它平台完成</div>
-              <div v-if="scope.row.deliveryStatus == 4">本平台完成</div>
-            </div>
-
-
-          </template>
-        </el-table-column> -->
-      <!-- <el-table-column label="订单编号" align="center" prop="orderSn" />
-      <el-table-column label="订单流水号" align="center" prop="outTradeNo" />
-      <el-table-column label="物品名称" align="center" prop="productName" />
-      <el-table-column label="物品重量(kg)" align="center" prop="weight" /> -->
-      <!-- <el-table-column label="取件时间" align="center" prop="takeTime" width="100">
-        <template slot-scope="scope">
-          <div>{{ parseTime(scope.row.takeDate, '{y}-{m}-{d}') }}</div>
-          <div>{{ parseTime(scope.row.takeTime, '{h}:{i}:{s}') }}</div>
-        </template>
-      </el-table-column> -->
-      <!-- <el-table-column label="发单时间" align="center" prop="createTime"></el-table-column>
-      <el-table-column label="接单时间" align="center" prop="deliveryTime">
-        <template slot-scope="scope">
-          <span v-if="scope.row.deliveryStatus != 0 && scope.row.deliveryStatus != 1 && scope.row.deliveryStatus != -1">{{scope.row.deliveryTime}}</span>
-          <span v-else>--</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="完成时间" align="center" prop="updateTime">
-        <template slot-scope="scope">
-          <span v-if="scope.row.deliveryStatus == 4">{{scope.row.updateTime}}</span>
-          <span v-else>--</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="支付类型" align="center" prop="paymentType">
-        <template slot-scope="scope">
-          <el-tag v-if="scope.row.paymentType == 1 && scope.row.status != 0">支付宝</el-tag>
-          <el-tag type="success" v-if="scope.row.paymentType == 2 && scope.row.status != 0">微信</el-tag>
-          <el-tag type="warning" v-if="scope.row.paymentType == 3 && scope.row.status != 0">银联</el-tag>
-          <el-tag type="danger" v-if="scope.row.paymentType == 4 && scope.row.status != 0">余额支付</el-tag>
-          <el-tag type="info" v-if="scope.row.paymentType == 5 && scope.row.status != 0">第三方平台支付</el-tag>
-          <span v-if="scope.row.status == 0"> - </span>
-        </template>
-      </el-table-column>
-      <el-table-column label="配送金额" align="center" prop="totalAmount">
-        <template slot-scope="scope">
-          {{ scope.row.totalAmount + scope.row.couponAmount }}
-        </template>
-      </el-table-column>
-      <el-table-column label="优惠金额" align="center" prop="couponAmount" />
-      <el-table-column label="配送实付" align="center" prop="payAmount" />
-      <el-table-column label="小费金额" align="center" prop="tipAmount" />
-      <el-table-column label="我的佣金" align="center" prop="getCommission">
-        <template slot-scope="scope">
-          <span v-if="scope.row.getCommission">¥{{scope.row.getCommission}}</span>
-          <span v-else>--</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="登录人/电话" align="center" prop="contactName">
-        <template slot-scope="scope">
-          <div v-if="scope.row.memberName">{{scope.row.memberName}}</div>
-          <div v-if="scope.row.memberMobile">{{scope.row.memberMobile}}</div>
-        </template>
-      </el-table-column>
-      <el-table-column label="优惠券" align="center" prop="couponId">
-        <template slot-scope="scope">
-          <div v-if="scope.row.coupon">{{scope.row.coupon.couponName}}</div>
-          <div v-else>- -</div>
-        </template>
-      </el-table-column>
-      <el-table-column label="发件地区" align="center" prop="sendProvinceName">
-        <template slot-scope="scope">
-          <div>{{scope.row.sendProvinceName}} {{scope.row.sendCityName}} {{scope.row.sendDistrictName}}</div>
-        </template>
-      </el-table-column>
-      <el-table-column label="发件地址" align="center" prop="sendAddress" />
-      <el-table-column label="发件联系人/联系电话" align="center" prop="sendContactName">
-        <template slot-scope="scope">
-          <div v-if="scope.row.sendContactName">{{scope.row.sendContactName}}</div>
-          <div v-if="scope.row.sendPhone">{{scope.row.sendPhone}}</div>
-        </template>
-      </el-table-column>
-      <el-table-column label="收件地区" align="center" prop="receiptProvinceName">
-        <template slot-scope="scope">
-          <div>{{scope.row.receiptProvinceName}} {{scope.row.receiptCityName}} {{scope.row.receiptDistrictName}}</div>
-        </template>
-      </el-table-column>
-      <el-table-column label="收件地址" align="center" prop="receiptAddress" />
-      <el-table-column label="收件联系人/联系电话" align="center" prop="receiptContactName">
-        <template slot-scope="scope">
-          <div v-if="scope.row.receiptContactName">{{scope.row.receiptContactName}}</div>
-          <div v-if="scope.row.receiptPhone">{{scope.row.receiptPhone}}</div>
-        </template>
-      </el-table-column>
-      <el-table-column label="订单状态" align="center" prop="deliveryStatus">
-        <template slot-scope="scope">
-          <div v-if="scope.row.deliveryStatus == -1 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">已取消</div>
-          <div v-if="scope.row.deliveryStatus == 0 && (scope.row.wmstatus == null || scope.row.wmstatus == 0)">待发单</div>
-          <div v-if="scope.row.deliveryStatus == 1 && scope.row.status == 1  && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">待接单</div>
-          <div v-if="scope.row.deliveryStatus == 1 && scope.row.status == 0 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">待支付</div>
-          <div v-if="scope.row.deliveryStatus == 2 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">待配送</div>
-          <div v-if="scope.row.deliveryStatus == 3 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">配送中</div>
-          <div v-if="scope.row.wmstatus == 4 && scope.row.deliveryStatus != 4">其它平台完成</div>
-          <div v-if="scope.row.deliveryStatus == 4">本平台完成</div> -->
-      <!-- <div v-if="(scope.row.wmstatus == 4 && scope.row.deliveryStatus == 4) || (scope.row.deliveryStatus == 4 && scope.row.wmstatus == null)">本平台完成</div> -->
-      <!-- </template>
-      </el-table-column>
-      <el-table-column label="商家名称" align="center" prop="merchantName" />
-      <el-table-column label="代理商名称" align="center" prop="agentName" />
-      <el-table-column label="配送平台名称" align="center" prop="deliveryName">
-        <template slot-scope="scope">
-          <div v-if="scope.row.waimaiOrderId == null">
-            <span v-text="getName(scope.row.deliveryId)"></span>
-          </div>
-          <div v-if="scope.row.waimaiOrderId != null && scope.row.wmstatus == 4 && scope.row.deliveryStatus != 4"> 其它平台 </div>
-        </template>
-      </el-table-column> -->
     </Pagination>
 
     <el-dialog
@@ -1021,6 +856,19 @@
       </el-table>
     </el-dialog>
 
+    <el-dialog title="退款理由" :visible.sync="refundOpen" width="700px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="140px">
+        <el-form-item label="理由:" prop="refundReason">
+          <el-input maxlength="20" placeholder="请输入理由" v-model="form.refundReason" type="textarea" :rows="2" style="width:450px">
+          </el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="refund" :loading="this.refundConfir">确 定</el-button>
+        <el-button @click="refundOpen = false">取 消</el-button>
+      </div>
+    </el-dialog>
+
   </div>
 </template>
 
@@ -1045,6 +893,9 @@ export default {
   },
   data() {
     return {
+      flag: true,
+      refundConfir: false,
+      refundOpen: false,
       orderReasonOption: [],
       msg: undefined,
       type: '',
@@ -1067,13 +918,40 @@ export default {
       productInfoWaimaiId: '',
       user: {},
       agentList: [],
+      personnelList: [],
       deliveryDate: [],
       createDate: [],
       completeDate: [],
       merchantOption: [],
+      deliveryStatusList:[
+				{
+					"deliveryStatus": 1,
+					"label": "待接单"
+				},
+				{
+					"deliveryStatus": 2,
+					"label": "取货中"
+				},
+				{
+					"deliveryStatus": 3,
+					"label": "配送中"
+				},
+				{
+					"deliveryStatus":4,
+					"label": "平台完成"
+				},
+				{
+					"deliveryStatus": -2,
+					"label": "异常"
+				},
+				{
+					"deliveryStatus": 0,
+					"label": "待发单"
+				}
+			],
       dspDeliveryOption: [],
       activeName: "all",
-      lablZero: "待接单",
+      lableZero: "待接单",
       lableOne: "取货中",
       lableTwo: "配送中",
       lableThree: "平台完成",
@@ -1097,6 +975,14 @@ export default {
         {
           value: 4,
           label: "猎豹",
+        },
+        {
+          value: 5,
+          label: "美团闪购",
+        },
+        {
+          value: 6,
+          label: "京东到家",
         }
       ],
       paymentTypeOption: [
@@ -1116,6 +1002,10 @@ export default {
           value: 4,
           label: "余额支付",
         },
+        {
+          value: 5,
+          label: "三方平台支付",
+        },
       ],
       deliveryStatusOption: [
         {
@@ -1238,7 +1128,8 @@ export default {
         memberName: undefined,
         memberMobile: undefined,
         waimaiOrderType: undefined,
-        personnelName: undefined
+        personnelName: undefined,
+        personnelId: undefined
       },
       // 表单参数
       form: {},
@@ -1333,6 +1224,14 @@ export default {
             trigger: "blur",
           },
         ],
+        refundReason: [
+          {
+            required: true,
+            message:
+              "退款理由不能为空",
+            trigger: "blur",
+          },
+        ],
       },
       dataForm: {
         id: '',
@@ -1349,6 +1248,13 @@ export default {
     // this.getList();
     this.user = user.actions.getSysUser();
 
+    this.$http.get(`/module/personnel/personnelList`).then(({data}) => {
+      console.log('data2', data)
+      if (data) {
+        console.log('data', data)
+        this.personnelList = data
+      }
+    });
     // 获取商户列表
     this.$http.get(`/module/agent/list/agent`).then(({ data }) => {
       if (data) {
@@ -1357,7 +1263,7 @@ export default {
       }
     });
 
-    this.getMerchantOption();
+    // this.getMerchantOption();
     this.getDspDeliveryOption();
 
     this.createDate[0] =
@@ -1395,33 +1301,102 @@ export default {
     },
 
     getStatusNum() {
+      this.deliveryStatusList = [
+				{
+					"deliveryStatus": 1,
+					"label": "待接单"
+				},
+				{
+					"deliveryStatus": 2,
+					"label": "取货中"
+				},
+				{
+					"deliveryStatus": 3,
+					"label": "配送中"
+				},
+				{
+					"deliveryStatus":4,
+					"label": "平台完成"
+				},
+				{
+					"deliveryStatus": -2,
+					"label": "异常"
+				},
+				{
+					"deliveryStatus": 0,
+					"label": "待发单"
+				}
+			];
+
       this.$http({
-        url: this.$http.adornUrl("/module/order/sumByStatus/1"),
-        method: "get",
-        params: this.$http.adornParams(this.queryParams)
-      }).then(({ data }) => {
-        if (data != null) {
-          this.lablZero = "待接单 " + data;
-        }
-      });
-      this.$http({
-        url: this.$http.adornUrl("/module/order/sumByStatus/2"),
-        method: "get",
-        params: this.$http.adornParams(this.queryParams)
-      }).then(({ data }) => {
-        if (data != null) {
-          this.lableOne = "取货中 " + data;
-        }
-      });
-      this.$http({
-        url: this.$http.adornUrl("/module/order/sumByStatus/3"),
-        method: "get",
-        params: this.$http.adornParams(this.queryParams)
-      }).then(({ data }) => {
-        if (data != null) {
-          this.lableTwo = "配送中 " + data;
-        }
-      });
+				url: this.$http.adornUrl("/module/order/sumByStatus"),
+				method: "post",
+        data: JSON.stringify(this.deliveryStatusList),
+				params: this.$http.adornParams(this.queryParams)
+			}).then(({ data }) => {
+				if (data != null) {
+           console.log('data', data)
+           this.deliveryStatusList = data
+					 // this.lablZero = "待接单 " + data;
+           this.deliveryStatusList.filter(item => {
+             if(item.deliveryStatus == 1) {
+               this.lableZero = item.label
+             }
+
+             if(item.deliveryStatus == 2) {
+               this.lableOne = item.label
+             }
+
+             if(item.deliveryStatus == 3) {
+               this.lableTwo = item.label
+             }
+
+             if(item.deliveryStatus == -1) {
+               this.lableFour = item.label
+             }
+
+             if(item.deliveryStatus == 4) {
+               this.lableThree = item.label
+             }
+
+             if(item.deliveryStatus == -2) {
+               this.lableFive = item.label
+             }
+
+             if(item.deliveryStatus == 0) {
+               this.lableSix = item.label
+             }
+           })
+					}
+			});
+
+      // this.$http({
+      //   url: this.$http.adornUrl("/module/order/sumByStatus/1"),
+      //   method: "get",
+      //   params: this.$http.adornParams(this.queryParams)
+      // }).then(({ data }) => {
+      //   if (data != null) {
+      //     this.lablZero = "待接单 " + data;
+      //   }
+      // });
+      // this.$http({
+      //   url: this.$http.adornUrl("/module/order/sumByStatus/2"),
+      //   method: "get",
+      //   params: this.$http.adornParams(this.queryParams)
+      // }).then(({ data }) => {
+      //   if (data != null) {
+      //     this.lableOne = "取货中 " + data;
+      //   }
+      // });
+      // this.$http({
+      //   url: this.$http.adornUrl("/module/order/sumByStatus/3"),
+      //   method: "get",
+      //   params: this.$http.adornParams(this.queryParams)
+      // }).then(({ data }) => {
+      //   if (data != null) {
+      //     this.lableTwo = "配送中 " + data;
+      //   }
+      // });
       // this.$http({
       //   url: this.$http.adornUrl("/module/order/sumByStatus/-1"),
       //   method: "get",
@@ -1431,24 +1406,24 @@ export default {
       //     this.lableFour = "已取消 " + data;
       //   }
       // });
-      this.$http({
-        url: this.$http.adornUrl("/module/order/sumByStatus/-2"),
-        method: "get",
-        params: this.$http.adornParams(this.queryParams)
-      }).then(({ data }) => {
-        if (data != null) {
-          this.lableFive = "异常 " + data;
-        }
-      });
-      this.$http({
-        url: this.$http.adornUrl("/module/order/sumByStatus/0"),
-        method: "get",
-        params: this.$http.adornParams(this.queryParams)
-      }).then(({ data }) => {
-        if (data != null) {
-          this.lableSix = "待发单 " + data;
-        }
-      });
+      // this.$http({
+      //   url: this.$http.adornUrl("/module/order/sumByStatus/-2"),
+      //   method: "get",
+      //   params: this.$http.adornParams(this.queryParams)
+      // }).then(({ data }) => {
+      //   if (data != null) {
+      //     this.lableFive = "异常 " + data;
+      //   }
+      // });
+      // this.$http({
+      //   url: this.$http.adornUrl("/module/order/sumByStatus/0"),
+      //   method: "get",
+      //   params: this.$http.adornParams(this.queryParams)
+      // }).then(({ data }) => {
+      //   if (data != null) {
+      //     this.lableSix = "待发单 " + data;
+      //   }
+      // });
       // this.$http({
       //   url: this.$http.adornUrl("/module/order/sumByStatus/100"),
       //   method: "get",
@@ -1458,15 +1433,15 @@ export default {
       //     this.lableSeven = "其它平台完成 " + data;
       //   }
       // });
-      this.$http({
-        url: this.$http.adornUrl("/module/order/sumByStatus/4"),
-        method: "get",
-        params: this.$http.adornParams(this.queryParams)
-      }).then(({ data }) => {
-        if (data != null) {
-          this.lableThree = "平台完成 " + data;
-        }
-      });
+      // this.$http({
+      //   url: this.$http.adornUrl("/module/order/sumByStatus/4"),
+      //   method: "get",
+      //   params: this.$http.adornParams(this.queryParams)
+      // }).then(({ data }) => {
+      //   if (data != null) {
+      //     this.lableThree = "平台完成 " + data;
+      //   }
+      // });
       // console.log('deliveryStatusSum', this.queryParams.deliveryStatus)
     },
 
@@ -1554,7 +1529,7 @@ export default {
       this.$http.get('/module/order/getOrderReason').then(({ data }) => {
         console.log('data', data)
         this.orderReasonOption = data.map(v => ({ value: Object.keys(v)[0], label: v[Object.keys(v)[0]] }))
-        
+
         // 此方法效率更高,少一次Object.keys()方法执行和数组寻址
         // this.orderReasonOption = data.map(v => {
         //   // 获取数组每个对象的key
@@ -1562,7 +1537,7 @@ export default {
         //   // 返回新数组
         //   return ({value:key, label:v[key]});
         // })
-        
+
         console.log('orderReason', this.orderReasonOption)
       })
       this.cancelOrderVisible = true
@@ -1585,7 +1560,7 @@ export default {
                   message: '操作成功!'
                 });
                 this.handleQuery();
-              }, 1000)  
+              }, 1000)
             } else {
               this.$message.error(data.msg);
             }
@@ -1598,6 +1573,43 @@ export default {
           })
     },
 
+    refundDia(orderId) {
+      this.refundOpen = true
+      this.form.refundId = orderId
+      console.log("refundId1", this.form.refundId)
+    },
+
+    // 订单退款
+    refund() {
+      this.$confirm('此操作将退款该订单,是否继续?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        console.log("refundId2", this.form.refundId)
+        this.refundConfir = true
+        this.$http.post("/module/order/orderRefund", this.form).then(({ data }) => {
+        if (data) {
+            setTimeout(() => {
+                this.$message({
+                  type: 'success',
+                  message: '操作成功!'
+                });
+                this.refundOpen = false;
+                this.handleQuery();
+              }, 1000)
+        } else {
+          this.$message.error(data.msg);
+        }
+      });
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消操作'
+        })
+      })
+    },
+
     submite() {
       this.$refs["dataForm"].validate((valid) => {
         if (valid) {
@@ -1615,7 +1627,7 @@ export default {
                   message: '操作成功!'
                 });
                 this.handleQuery();
-              }, 1000)  
+              }, 1000)
             } else {
               this.$message.error(data.msg);
             }
@@ -1625,11 +1637,11 @@ export default {
               type: 'info',
               message: '已取消操作'
             })
-          })      
+          })
         }
       });
     },
-    
+
     cancel() {
       this.open = false;
       this.reset();
@@ -1671,6 +1683,8 @@ export default {
         tipAmount: undefined,
         status: 0,
         deliveryStatus: 0,
+        refundReason: undefined,
+        refundId: undefined
       };
       this.resetForm("form");
     },
@@ -1716,6 +1730,24 @@ export default {
 
       // console.log("startArea", this.startArea);
       // console.log("sendStartArea", this.sendStartArea);
+
+      if(this.queryParams.createStartTime == '' || this.queryParams.createEndTime == '') {
+        this.flag = false;
+        this.$message.error("下单时间查询条件不能为空!");
+        return;
+      }
+
+      var dateStart = new Date(this.queryParams.createStartTime);
+      var dateEnd = new Date(this.queryParams.createEndTime);
+      var dateDiff = dateEnd.getTime() - dateStart.getTime();
+      var subDay = Math.ceil(dateDiff / (24 * 3600 * 1000))
+      if(subDay > 31) {
+        this.flag = false;
+        this.$message.error("下单时间查询条件不能大于31天!");
+        return;
+      }
+
+
       this.getStatusNum();
       this.$refs.pagination.handleSearch(true);
     },
@@ -1752,6 +1784,11 @@ export default {
 
     /** 导出按钮操作 */
     handleExport() {
+      this.handleQuery();
+      if(this.flag == false) {
+        return;
+      }
+
       const queryParams = this.queryParams;
       this.$confirm("是否确认导出配送订单数据?", "警告", {
         confirmButtonText: "确定",
@@ -1900,9 +1937,9 @@ i.receiptLogo::before {
 .serial {
   background-color: RGB(50,122,244);
   border-radius: 50px 50px;
-  height: 25px;
-  width: 45px;
-  line-height: 25px;
+  height: 29px;
+  width: 115px;
+  line-height: 29px;
   text-align: center;
   display: inline-block;
   margin-right: 5px;