<template>
  <div class="orderList">
    <div class="head-title">
      订单列表
      <el-button @click="dialogVisible=true" style="float:right;margin-top: -5px; display:none;" size="small"
        type="primary">批量导出
      </el-button>
      <el-button @click="ClearHsz" style="float:right;margin-top: -5px;margin-right:20px" size="small" type="primary">
        清空回收站</el-button>
    </div>
    <div class="content">
      <div>
        <span>下单时间：</span>
        <el-date-picker v-model="dateList" @change="msg.pageIndex=1,getList()" size="small" type="datetimerange"
          range-separator="至" value-format="yyyy-MM-dd HH:mm:ss" start-placeholder="开始日期" end-placeholder="结束日期">
        </el-date-picker>
        <span style="margin-left:15px">所属平台：</span>
        <el-select class="w120" @change="msg.pageIndex=1,getList()" v-model="msg.OrderSource" size="small"
          placeholder="请选择">
          <el-option label="全部平台" :value="0"></el-option>
          <el-option v-for="item in platList" :key="item.Id" :label="item.Name" :value="item.Id">
          </el-option>
        </el-select>
        <span style="margin-left:15px">订单类型：</span>
        <el-select class="w120" @change="msg.pageIndex=1,getList()" v-model="msg.OrderType" size="small"
          placeholder="请选择">
          <el-option label="全部订单" :value="0"></el-option>
          <el-option v-for="item in orderTypeList" :key="item.Id" :label="item.Name" :value="item.Id">
          </el-option>
        </el-select>
        <span style="margin-left:15px">配送方式：</span>
        <el-select class="w120" @change="msg.pageIndex=1,getList()" v-model="msg.DeliveryMethod" size="small"
          placeholder="请选择">
          <el-option label="全部订单" :value="0"></el-option>
          <el-option v-for="item in deliveryList" :key="item.Id" :label="item.Name" :value="item.Id">
          </el-option>
        </el-select>
        <el-input @clear="msg.pageIndex=1,getList()" @keyup.enter.native="msg.pageIndex=1,getList()" clearable
          style="margin-left:15px;width:300px" class="input-with-select" placeholder="请输入内容" v-model="msgVal"
          size="small">
          <el-select class="pendSelect" @change="ChangeId" v-model="msgId" slot="prepend" placeholder="请选择">
            <el-option v-for="item in option" :key="item.Id" :label="item.name" :value="item.Id">
            </el-option>
          </el-select>
        </el-input>
      </div>
      <div style="display: flex;flex-direction: row;align-items: center;justify-content: space-between">
        <div>
          <span>主播名称：</span>
          <el-input @clear="msg.pageIndex=1,getList()" @keyup.enter.native="msg.pageIndex=1,getList()" clearable
            style="margin-top:10px;width:200px" class="input-with-select" placeholder="请输入主播名称" v-model="msg.AnchorName"
            size="small">
          </el-input>
          <el-checkbox v-model="IsSelectPayMoney" true-label="1" false-label="0" style="margin-left: 15px"
            @change="msg.pageIndex=1,getList()">只看已付款</el-checkbox>
        </div>
        <div style="display: flex;flex-direction: row;align-items: center;font-size: 12px" v-if="TenantId==1">
          <div class="fkbox">
            <div class="fkbox_item" style="background: #00FFFF"></div>
            <span>暂存</span>
          </div>
          <div class="fkbox">
            <div class="fkbox_item" style="background: #0080FF"></div>
            <span>审核中</span>
          </div>
          <div class="fkbox">
            <div class="fkbox_item" style="background: #000"></div>
            <span>通过</span>
          </div>
          <div class="fkbox">
            <div class="fkbox_item" style="background: #FF4048"></div>
            <span>出纳审核通过</span>
          </div>
          <div class="fkbox">
            <div class="fkbox_item" style="background: #FFF100"></div>
            <span>驳回</span>
          </div>
        </div>
      </div>
      <div>
        <el-tabs style="margin-top:20px" v-model="activeName" @tab-click="handleClick">
          <el-tab-pane :dataId="0" label="全部" name="first" :key="0"></el-tab-pane>     
          <el-tab-pane v-for="item in orderStatusList" :key="item.Id" :dataId="item.Id" :name="item.Id.toString()" :label="item.Name">
          </el-tab-pane>
        </el-tabs>
        <div class="app-order-title">
          <div style="width: 55%;">订单信息</div>
          <div style="width: 20%;">实付金额</div>
          <div style="width: 20%;">操作</div>
        </div>
        <div v-loading="loading" class="app-order-list">
          <el-card v-for="(item,index) in tableData" :key="index" class="app-order-item" shadow="never">
            <div slot="header" class="clearfix">
              <div flex="cross:center" class="app-order-head">
                <div class="app-order-time">{{item.CreateDate}}</div>
                <div class="app-order-user">
                  <span class="app-order-time" style="margin-right: 5px">订单号：</span>{{item.OrderNo}}({{item.OrderId}})
                  <el-tag v-if="item.OrderSource==1" size="small">{{item.OrderSourceName}}</el-tag>
                  <el-tag v-if="item.OrderSource==2" size="small" type="success">{{item.OrderSourceName}}</el-tag>
                  <el-tag v-if="item.OrderSource==3" size="small" type="info">{{item.OrderSourceName}}</el-tag>
                  <el-tag v-if="item.OrderSource==4" size="small" type="warning">{{item.OrderSourceName}}</el-tag>
                  <el-tag v-if="item.OrderSource==5" size="small" type="danger">{{item.OrderSourceName}}</el-tag>
                  <el-tag v-if="item.OrderSource==6" size="small" type="danger">{{item.OrderSourceName}}</el-tag>
                </div>
                <div class="app-order-user"
                  v-if="item.SmallShopsName!=''&& item.SmallShopsName!=null&& item.SmallShopsId!=0 ">
                  <span class="app-order-time">微店名称：</span>{{item.SmallShopsName}}
                </div>
                <div flex="cross:center" class="app-order-user">
                  <img v-if="item.OrderSource==1" src="../../assets/img/userman/wx.png" alt="">
                  <span>{{item.UserName}}({{item.UserId}})</span>
                </div>
                <div v-if="item.BuyerMessage && item.BuyerMessage!=''" flex="cross:center" class="remark-box">
                  <el-tooltip class="item" effect="dark" :content="item.BuyerMessage" placement="top">
                    <img src="../../assets/img/userman/remark.png" alt="">
                  </el-tooltip>
                </div>
                <div flex="dir:left wrap:wrap" class="app-order-offline">
                  <el-tag v-if="item.PaymentTime==''" style="margin-left:5px" size="small" type="warning">未付款</el-tag>
                  <el-tag v-if="item.PaymentTime!='' && item.PaymentWay!=4 " style="margin-left:5px" size="small"
                    type="warning">已付款</el-tag>
                  <el-tag v-if="item.OrderStatus==2||item.OrderStatus==3" style="margin-left:5px" size="small"
                    type="success">未使用</el-tag>
                  <el-tag v-if="item.OrderStatus==4" style="margin-left:5px" size="small" type="success">已使用</el-tag>
                  <el-tag v-if="item.OrderStatus==5" style="margin-left:5px" size="small" type="success">已完成</el-tag>
                  <el-tag v-if="item.OrderStatus==7" style="margin-left:5px" size="small" type="danger">已取消</el-tag>
                </div>
                <el-tooltip class="item" effect="dark" content="强制取消" placement="top-start">
                  <img v-if="item.OrderStatus==1 || item.OrderStatus==2" @click="OrderExit2(item)" style="right:60px"
                    class="app-order-btnimg" src="../../assets/img/userman/force.png" alt="">
                </el-tooltip>
                <el-tooltip class="item" effect="dark" content="加入回收站" placement="top-start">
                  <img v-if="msg.Recycled!=1" @click="fRhsz(item,4)" class="app-order-btnimg"
                    src="../../assets/img/userman/del1.png" alt="">
                </el-tooltip>
              </div>
            </div>
            <div class="app-order-body">
              <div class="goods-item" style="width: 65%;">
                <div v-for="(list,index2) in item.DetailList" :key="index2" class="goods">
                  <div>
                    <el-image :src="list.CoverImagePath" class="goods-image" :preview-src-list="[list.CoverImagePath]">
                    </el-image>
                    <div flex="dir:left">
                      <div class="goods-info">
                        <div class="goods-name">
                          <div class="app-ellipsis">
                            <div class="vue-line-clamp" style="word-break: break-all; -webkit-line-clamp: 2;">
                              <span class="el-tag el-tag--warning el-tag--mini el-tag--light is-hit"
                                style="margin-right: 5px;">
                                {{list.OrderTypeName}}
                              </span>
                              {{list.GoodsName}}
                            </div>
                          </div>
                        </div>
                        <div style="margin-bottom: 5px;">
                          <span style="margin-right: 10px;">
                            服务时间：{{list.ServiceDate}} {{list.ServiceTime}}
                          </span>
                          <br />
                          <span style="margin-right: 10px;">
                            服务人员：
                            <template v-if="list.ServicepersonalName&&list.ServicepersonalName!=''">
                              <el-tag size="mini" type="success">{{list.ServicepersonalName}}</el-tag>
                            </template>
                            <template v-else>
                              <el-tag size="mini">到店分配</el-tag>
                            </template>
                            <el-popover placement="right" popper-class="piliangPop" width="350" trigger="click" >
                              <table border="0" cellspacing="0" cellpadding="0">
                                <tr>
                                  <td>服务人员</td>
                                  <td>
                                    &nbsp;&nbsp;
                                    <el-select class="w200" size="small" v-model="ServicePersionId" placeholder="请选择">
                                      <el-option :key="0" label="请选择服务人员" :value="0">
                                      </el-option>
                                      <el-option v-for="item in ServicePersionList" :key="item.ServiceId"
                                        :label="item.Name" :value="item.ServiceId">
                                      </el-option>
                                    </el-select>
                                  </td>
                                </tr>
                                <tr>
                                  <td colspan="2">
                                    &nbsp;
                                  </td>
                                </tr>
                                <tr>
                                  <td colspan="2" style="text-align:center;">
                                    <el-button @click="SavePersion(item.OrderId)" size="small" type="primary">保存
                                    </el-button>
                                  </td>
                                </tr>
                                <tr>
                                  <td colspan="2">
                                    &nbsp;
                                  </td>
                                </tr>
                              </table>
                              <img slot="reference" @click="getServerPersion(item.StoresId,list)"
                                src="../../assets/img/userman/edit1.png" alt="" style="cursor:pointer;" />
                            </el-popover>
                          </span>
                        </div>
                        <div style="margin-bottom: 5px;" v-if="list.MemberEducationCouponList.length>0">
                          套餐卡信息: <span v-for="(childItem,childIndex) in list.MemberEducationCouponList"
                            :key="childIndex">
                            {{childItem.Name}}
                          </span>
                        </div>
                        <div style=" display: flex;flex-direction: row;align-items: center;"
                          v-if="list.SmallShopsCostPrice!=null && list.SmallShopsCostPrice!=''&& list.SmallShopsCostPrice>0&& item.SmallShopsId!=0">
                          <span>赞羊小计：￥{{list.SmallShopsCostPrice}}</span>
                        </div>
                      </div>
                      <div flex="dir:left box:mean" style="width: 350px;">
                        <div flex="cross:center main:center"
                          style="display: flex;flex-direction: column;align-items: flex-start;width: 55%;">
                          <span style="cursor:pointer">小计：￥{{list.Final_Price}}
                            <img v-if="item.PaymentTime==''" @click="EditPrice(item,1,list)"
                              src="../../assets/img/userman/edit1.png" alt="">
                          </span>
                          <span style="cursor:pointer">商品成本：￥{{ list.CostMoney}}
                            <img v-if="item.OrderStatus!==7" @click="costBtn(list,1)"
                              src="../../assets/img/userman/edit1.png" alt="">
                          </span>
                        </div>
                        <div flex="cross:center main:center" style="width: 45px;">数量：x {{list.Number}}</div>
                      </div>
                      <div style="width: 200px; display: flex;flex-direction:column;justify-content: center"
                        v-if="TenantId==1">
                        <el-dropdown trigger="click" style="margin-left: 50px">
                          <span class="el-dropdown-link">制单</span>
                          <el-dropdown-menu slot="dropdown" class="TC-dropdown">
                            <el-dropdown-item @click.native="goCollection(item,list)">
                              收入制单
                            </el-dropdown-item>
                            <el-dropdown-item @click.native="goPayment(item,list)">
                              付款制单
                            </el-dropdown-item>
                          </el-dropdown-menu>
                        </el-dropdown>
                        <div style="margin-top: 10px;font-size: 12px"
                          v-if="list.YSMoney!=0 || list.RealMoney!=0 || list.YFMoney!=0 || list.PayMoney!=0">
                          其他费用：
                        </div>
                        <div style="font-size: 12px" v-if="list.YSMoney!=0 || list.RealMoney!=0">
                          <span>应收：￥{{list.YSMoney}}</span>
                          <span style="margin-left: 10px">实收：￥{{list.RealMoney}}</span>
                        </div>
                        <div style="font-size: 12px" v-if="list.YFMoney!=0 || list.PayMoney!=0">
                          <span>应付：￥{{list.YFMoney}}</span>
                          <span style="margin-left: 10px">实付：￥{{list.PayMoney}}</span>
                        </div>
                      </div>
                    </div>
                  </div>
                  <div class="billStyle"
                    v-if="(list.SFinanceList.length>0|| list.ZFinanceList.length >0) && TenantId==1">
                    <div class="billStyle_item" style="border-right: 1px solid #EBEEF5">
                      收入单据:
                      <span v-for="(item,index2) in list.SFinanceList" :key="index2" @click="goSF(item)">
                        <span class="billtext" v-if="item.Status == 0" :style="{color:'#00FFFF'}">{{item.FrID}}</span>
                        <span class="billtext" v-if="item.Status == 1&& item.Is_Cashier!=1"
                          :style="{color:'#0080FF'}">{{item.FrID}}</span>
                        <span class="billtext" v-if="item.Status == 1&&item.Is_Cashier==1"
                          :style="{color:'#FF4048'}">{{item.FrID}}</span>
                        <span class="billtext" v-if="item.Status == 2">{{item.FrID}}</span>
                        <span class="billtext" v-if="item.Status == 3" :style="{color:'#FFF100'}">{{item.FrID}}</span>
                        <span class="billtext" v-if="item.Status == 4" :style="{color:'#800080'}">{{item.FrID}}</span>
                      </span>
                    </div>
                    <div class="billStyle_item">
                      支出单据:
                      <span v-for="(item,index2) in list.ZFinanceList" :key="index2" @click="goZF(item)">
                        <span class="billtext" v-if="item.Status == 0" :style="{color:'#00FFFF'}">{{item.FrID}}</span>
                        <span class="billtext" v-if="item.Status == 1 && item.Is_Cashier!=1"
                          :style="{color:'#0080FF'}">{{item.FrID}}</span>
                        <span class="billtext" v-if="item.Status == 1&&item.Is_Cashier==1"
                          :style="{color:'#FF4048'}">{{item.FrID}}</span>
                        <span class="billtext" v-if="item.Status == 2">{{item.FrID}}</span>
                        <span class="billtext" v-if="item.Status == 3" :style="{color:'#FFF100'}">{{item.FrID}}</span>
                        <span class="billtext" v-if="item.Status == 4" :style="{color:'#800080'}">{{item.FrID}}</span>
                      </span>
                    </div>
                  </div>
                </div>
              </div>
              <div flex="cross:center" class="app-order-info" style="width: 15%;">
                <div flex="dir:top">
                  <div>
                    <span style="font-size: 16px;">￥{{item.Income}}</span>
                    <el-popover placement="bottom" width="200" trigger="hover" :content="'商品小计 '+  item.Income +'元'">
                      <img slot="reference" src="../../assets/img/userman/price.png" alt="">
                    </el-popover>
                  </div>
                  <div>
                    <el-tag effect="dark" type="warning" size="mini">{{item.PaymentWayName}}</el-tag>
                  </div>
                  <div style="font-size: 12px" v-if="item.CouponMoney&& item.CouponMoney!=''&& item.CouponMoney>0">
                    <span>优惠金额:￥{{item.CouponMoney}}</span>
                  </div>
                  <div style="font-size: 12px"
                    v-if="item.IntegralMoney&& item.IntegralMoney!=''&& item.IntegralMoney>0">
                    <span>积分抵用金额:￥{{item.IntegralMoney}}</span>
                  </div>
                  <div style="font-size: 12px"
                    v-if="item.IntegralNumber&& item.IntegralNumber!=''&& item.IntegralNumber>0">
                    <span>积分数:￥{{item.IntegralNumber}}</span>
                  </div>
                  <div style="font-size: 12px"
                    v-if="item.MemberDiscountCouponList && item.MemberDiscountCouponList.length>0">
                    <span>优惠券信息:</span>
                    <span v-for="(MItem,Mindex) in item.MemberDiscountCouponList" :key="Mindex">
                      {{MItem.Name}}券,{{MItem.CouponType==1?'满'+MItem.MinConsumePrice+'元减'+MItem.DiscountsPrice+'元':'满'+MItem.MinConsumePrice+'元打'+MItem.DiscountsPrice+'折'}}
                    </span>
                  </div>
                  <div style="font-size: 12px"
                    v-if="item.EducationMoney&& item.EducationMoney!=''&& item.EducationMoney>0">
                    <span>套餐卡抵扣金额:{{item.EducationMoney}}</span>
                  </div>
                </div>
              </div>
              <div class="app-order-info" style="padding: 10px; border-right: 0px; width: 20%;">
                <div flex="wrap:wrap cross:center">
                  <template v-if="msg.Recycled==2">
                    <!-- 未发货 -->
                    <el-tooltip class="item" effect="dark" content="发货" placement="top" v-if="item.OrderStatus==2">
                      <img v-if="item.OrderStatus==2" @click="fhBtn(item)" class="app-order-icon"
                        src="../../assets/img/userman/send.png" alt="">
                    </el-tooltip>
                    <!-- 待收货 -->
                    <el-tooltip class="item" effect="dark" content="确认收货" placement="top" v-if="item.OrderStatus==3">
                      <img @click="ConfirmSh(item)" v-if="item.OrderStatus==3" class="app-order-icon"
                        src="../../assets/img/userman/confirm.png" alt="">
                    </el-tooltip>
                    <!-- 已收货 -->
                    <el-tooltip class="item" effect="dark" content="确认完成" placement="top" v-if="item.OrderStatus==4">
                      <img @click="qrEnd(item,6)" v-if="item.OrderStatus==4" class="app-order-icon"
                        src="../../assets/img/userman/sale.png" alt="">
                    </el-tooltip>
                    <!--待处理-->
                    <el-tooltip class="item" effect="dark" content="同意" placement="top" v-if="item.OrderStatus==6">
                      <img @click="pending(item,1)" v-if="item.OrderStatus==6" class="app-order-icon"
                        src="../../assets/img/userman/pass.png" alt="">
                    </el-tooltip>
                    <el-tooltip class="item" effect="dark" content="拒绝" placement="top" v-if="item.OrderStatus==6">
                      <img @click="pending(item,2)" v-if="item.OrderStatus==6" class="app-order-icon"
                        src="../../assets/img/userman/nopass.png" alt="">
                    </el-tooltip>
                  </template>
                  <!-- 回收站 -->
                  <el-tooltip class="item" effect="dark" content="恢复订单" placement="top">
                    <img @click="fRhsz(item,7)" v-if="msg.Recycled==1" class="app-order-icon"
                      src="../../assets/img/userman/renew.png" alt="">
                  </el-tooltip>
                  <el-tooltip class="item" effect="dark" content="删除订单" placement="top">
                    <img @click="DeleteOrder(item)" v-if="msg.Recycled==1" class="app-order-icon"
                      src="../../assets/img/userman/del.png" alt="">
                  </el-tooltip>
                  <template v-if="msg.Recycled==2">
                    <el-tooltip class="item" effect="dark" content="打印小票" placement="top">
                      <img class="app-order-icon" src="../../assets/img/userman/print.png" alt="">
                    </el-tooltip>
                    <el-tooltip class="item" effect="dark" content="添加备注" placement="top">
                      <img @click="OrderExit(item,1)" class="app-order-icon"
                        src="../../assets/img/userman/add_remark.png" alt="">
                    </el-tooltip>
                    <el-tooltip class="item" effect="dark" content="修改快递单号" v-if="item.OrderStatus==3" placement="top">
                      <img @click="getOrderSend(item)" v-if="item.OrderStatus==3" class="app-order-icon"
                        src="../../assets/img/userman/change.png" alt="">
                    </el-tooltip>
                    <el-tooltip class="item" effect="dark" content="线下付款"
                      v-if="item.OrderStatus==1 || item.OrderStatus==7" placement="top">
                      <img @click="Offpayment(item)" v-if="item.OrderStatus==1 || item.OrderStatus==7"
                        class="app-order-icon" src="../../assets/img/userman/OfflinePayment.png" alt="">
                    </el-tooltip>
                  </template>
                  <el-tooltip class="item" effect="dark" content="查看订单详情" placement="top">
                    <img @click="CommonJump('osOrderDetails',{OrderId:item.OrderId})" class="app-order-icon"
                      src="../../assets/img/userman/detail.png" alt="">
                  </el-tooltip>
                </div>
              </div>
            </div>
            <div class="card-footer">
              <div>
                <div flex="dir:left">
                  <div class="address-box">下单人: {{item.Consignee}} 电话：{{item.Mobile}}
                    门店：{{item.StoreName}}
                    门店地址：{{item.StoresAddress}}
                  </div>
                  <button v-if="item.OrderStatus==2" @click="ExitshAdress(item)" type="button"
                    class="el-button el-button--text is-circle"><i class="el-icon-edit"></i></button>
                </div>
              </div>
              <div v-if="item.Remark && item.Remark!=''" class="seller-remark">商家备注：{{item.Remark}}</div>
            </div>
          </el-card>
          <el-card v-if="tableData.length==0" class="app-order-item" shadow="never">
            <div style="height:100px;line-height:100px;text-align:center">
              暂无订单信息
            </div>
          </el-card>
        </div>
        <el-pagination style="text-align:right" background @current-change="handleCurrentChange"
          :current-page.sync="msg.pageIndex" :page-size="msg.pageSize" layout="prev, pager, next" :total="total">
        </el-pagination>
      </div>
    </div>
    <!-- 订单取消 -->
    <el-dialog title="修改" :visible.sync="exitDig" width="600px">
      <el-form :model="exitMsg" ref="exitMsg" label-width="0">
        <p style="padding:10px 0" v-if="exitMsg.Type==3">填写取消理由：</p>
        <p style="padding:10px 0" v-if="exitMsg.Type==1">添加备注：</p>
        <template v-if="exitMsg.Type==2">
          <el-form-item label-width="80px" label="商品总价">
            <el-input size="small" v-model="exitMsg.Income"></el-input>
          </el-form-item>
          <el-form-item v-if="exitMsg.moneyType==2" label-width="80px" label="运费">
            <el-input size="small" v-model="exitMsg.Remark"></el-input>
          </el-form-item>
        </template>
        <el-form-item v-if="exitMsg.Type!=2">
          <el-input type="textarea" row="2" size="small" v-model="exitMsg.Remark"></el-input>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button size="small" @click="exitDig = false">取 消</el-button>
        <el-button size="small" type="primary" @click="submitForm('exitMsg')">确 定</el-button>
      </span>
    </el-dialog>
    <!--待处理-->
    <el-dialog custom-class="app-send" :title="pendMgs.Type==1?'同意':'拒绝'" :visible.sync="pendD" width="15%" class="tyi">
      <el-input v-if="pendMgs.Type==2" type="textarea" size="small" v-model="pendMgs.Remark" placeholder="拒绝理由">
      </el-input>
      <span slot="footer" class="dialog-footer">
        <el-button size="small" @click="pendD = false">取 消</el-button>
        <el-button size="small" type="primary" @click="pendingForm()">确 定</el-button>
      </span>
    </el-dialog>
    <!-- 发货 -->
    <el-dialog custom-class="app-send" title="发货" :visible.sync="fhDig" width="35%">
      <div class="title-box">
        <span class="text">选择发货商品</span>
        <span>(默认全选)</span>
      </div>
      <el-table ref="fahuoTable" :data="fahuoList" @selection-change="TableSelectChange" style="width: 100%">
        <el-table-column :selectable="selectable" type="selection" width="55">
        </el-table-column>
        <el-table-column prop="id" label="图片" width="60">
          <template slot-scope="scope">
            <img style="width:30px;height:30px" :src="getIconLink(scope.row.CoverImagePath)" alt="">
          </template>
        </el-table-column>
        <el-table-column prop="GoodsName" label="名称" width="314">
          <template slot-scope="scope">
            <el-tag v-if="scope.row.IsBindExpress==1" style="margin-left:5px" size="small" type="success">已发货</el-tag>
            <span>{{scope.row.GoodsName}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="Number" label="数量" width="80">
        </el-table-column>
        <el-table-column prop="SpecificationList" label="规格">
          <template slot-scope="scope">
            <span :key="index2"
              v-for="(msg,index2) in scope.row.SpecificationList">{{msg}}{{scope.row.SpecificationList.length == index2+1?'':','}}</span>
          </template>
        </el-table-column>
      </el-table>
      <div class="title-box"><span class="text">物流信息</span></div>
      <el-form :model="fhMsg" ref="fhMsg" :rules="fhrules" label-width="130px">
        <el-form-item label="物流快递">
          <el-radio v-model="fhMsg.Type" :label="1">快递</el-radio>
          <el-radio v-model="fhMsg.Type" :label="2">其他方式</el-radio>
        </el-form-item>
        <template v-if="fhMsg.Type==1">
          <el-form-item label="快递公司" prop="ExpressId">
            <el-select class="w200" size="small" v-model="fhMsg.ExpressId" filterable placeholder="请选择">
              <el-option v-for="item in ExpressList" :key="item.ID" :label="item.Name" :value="item.ID">
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="收件人邮编">
            <el-input type="number" min="1" size="small" v-model="fhMsg.PostCode"></el-input>
          </el-form-item>
          <el-form-item label="快递单号" prop="ExpressNumber">
            <el-input size="small" v-model="fhMsg.ExpressNumber">
            </el-input>
          </el-form-item>
          <el-form-item label="商家留言">
            <el-input type="textarea" row="2" size="small" v-model="fhMsg.Remark"></el-input>
          </el-form-item>
        </template>
        <template v-if="fhMsg.Type==2">
          <el-form-item label="物流内容">
            <el-input type="textarea" row="2" size="small" v-model="fhMsg.Remark"></el-input>
          </el-form-item>
        </template>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button size="small" @click="fhDig = false">取 消</el-button>
        <el-button size="small" type="primary" @click="FhsubmitForm('fhMsg')">确 定</el-button>
      </span>
    </el-dialog>
    <!-- 修改收货地址 -->
    <el-dialog title="修改收货地址" :visible.sync="shDig" width="600px">
      <el-form :model="shMsg" :rules="shMsgrule" ref="shMsg" label-width="80px">
        <el-form-item label="收件人" prop="Consignee">
          <el-input size="small" v-model="shMsg.Consignee"></el-input>
        </el-form-item>
        <el-form-item label="电话" prop="Mobile">
          <el-input type="number" size="small" v-model="shMsg.Mobile"></el-input>
        </el-form-item>
        <el-form-item label="所在区域" prop="Province">
          <el-select size="small" @change="shMsg.City='',getCity(shMsg.Province)" v-model="shMsg.Province"
            style="width:144px" filterable placeholder="请选择">
            <el-option v-for="item in provinceList" :key="item.ID" :label="item.Name" :value="item.ID">
            </el-option>
          </el-select>
          <el-select size="small" @change="shMsg.District='',getArea(shMsg.City)" v-model="shMsg.City"
            style="width:144px" filterable placeholder="请选择">
            <el-option v-for="item in cityList" :key="item.ID" :label="item.Name" :value="item.ID">
            </el-option>
          </el-select>
          <el-select size="small" v-model="shMsg.District" style="width:144px" filterable placeholder="请选择">
            <el-option v-for="item in areaList" :key="item.ID" :label="item.Name" :value="item.ID">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="详细地址" prop="ShoppingAddress">
          <el-input size="small" v-model="shMsg.ShoppingAddress"></el-input>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button size="small" @click="shDig = false">取 消</el-button>
        <el-button size="small" type="primary" @click="shsubmitForm('shMsg')">确 定</el-button>
      </span>
    </el-dialog>
    <!-- 选择导出信息 -->
    <el-dialog title="选择导出信息" :visible.sync="dialogVisible" width="960px">
      <el-form style="border: 1px solid #F0F2F7;" :model="addMsg" ref="addMsg" label-width="100px">
        <div
          style="box-sizing: border-box;background-color: #F3F5F6;width: 100%;padding-left: 20px;height: 50px;line-height: 50px;">
          <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选
          </el-checkbox>
        </div>
        <div style="margin: 15px 0;"></div>
        <div style="padding: 10px 25px 20px;">
          <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
            <el-checkbox style="margin-bottom:10px;width:135px" v-for="city in cities" :label="city.Id"
              :key="city.Name">
              {{city.Name}}</el-checkbox>
          </el-checkbox-group>
        </div>
      </el-form>
      <div style="text-align:right;margin-top:20px">
        <el-button size="small" type="primary" @click="Export">导出</el-button>
      </div>
    </el-dialog>
    <!-- 多个物流信息 -->
    <el-dialog custom-class="sendDigClass" title="提示" :visible.sync="moresendDig" width="420px">
      <p style="padding: 10px 15px;">{{moresendtips}}</p>
      <div style="text-align:right;margin-top:20px">
        <el-button size="small" type="primary" @click="moresendDig=fasle">确定</el-button>
      </div>
    </el-dialog>
    <!-- 放入回收站 -->
    <el-dialog custom-class="hszDigClass" :visible.sync="hszDig" width="420px">
      <p style="padding: 10px 15px;" class="center">
        <i class="el-icon-warning" style="color:#E6A23C;font-size:24px"></i>
        <span style="font-size:20px">提示</span>
      </p>
      <p class="center" style="padding: 10px 15px;">{{hstips}}</p>
      <div style="text-align:center;margin-top:20px">
        <el-button size="small" @click="hszDig=fasle">取消</el-button>
        <el-button size="small" type="primary" @click="hszOk">确定</el-button>
      </div>
    </el-dialog>
    <!-- 订单取消 -->
    <el-dialog title="修改价格" :visible.sync="priceDig" width="600px">
      <el-form :model="priceMsg" ref="priceMsg" label-width="80px">
        <el-form-item label="商品总价">
          <el-input size="small" v-model="priceMsg.Income"></el-input>
        </el-form-item>
        <el-form-item v-if="priceType==2" label="运费">
          <el-input size="small" v-model="priceMsg.FreightMoney"></el-input>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button size="small" @click="priceDig = false">取 消</el-button>
        <el-button size="small" type="primary" @click="priceForm('priceMsg')">确 定</el-button>
      </span>
    </el-dialog>
    <!-- 商品、运费成本的修改 -->
    <el-dialog :title="cosType==1?'商品成本修改':'运费成本修改'" :visible.sync="costDig" width="600px">
      <el-form :model="costMsg" ref="costMsg" label-width="80px">
        <el-form-item :label="cosType==1?'商品成本':'运费成本'">
          <el-input size="small" v-model="costMsg.Money" step="1" min="0"
            onkeyup="this.value= this.value.match(/\d+(\.\d{0,3})?/) ? this.value.match(/\d+(\.\d{0,3})?/)[0] : ''">
          </el-input>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button size="small" @click="costDig = false">取 消</el-button>
        <el-button size="small" type="primary" @click="costForm('costMsg')">确 定</el-button>
      </span>
    </el-dialog>
    <!-- 商品 供应商修改 -->
    <el-dialog title="修改供应商" :visible.sync="upSupliDilog" width="400px">
      <el-form label-width="90px">
        <el-form-item label="供应商">
          <el-select filterable v-model="SupplierId" size="small" placeholder="请选择">
            <el-option v-for="item in SuplierList" :key="item.ID" :label="item.Name" :value="item.ID">
            </el-option>
          </el-select>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button size="small" @click="upSupliDilog = false">取 消</el-button>
        <el-button size="small" type="primary" @click="SaveSuplier">确 定</el-button>
      </span>
    </el-dialog>
  </div>
</template>

<script>
  export default {
    name: "orderList",
    data() {
      return {
        importFileUrl: this.domainManager().UploadFileUrl,
        priceType: 1,
        priceMsg: {
          Income: '',
          FreightMoney: '',
        },
        priceDig: false,
        costDig: false, //商品、运费成本的修改
        cosType: 1,
        costMsg: {
          Id: 0,
          Money: 0,
        },
        hstips: '是否放入回收站(可在回收站中恢复)?',
        orderStatusList: [],
        checkAll: false,
        checkedCities: [],
        cities: [],
        cityOptions: [],
        isIndeterminate: true,
        addMsg: {},
        dialogVisible: false,
        shDig: false,
        shMsg: {
          OrderId: 0,
          Consignee: '',
          Mobile: '',
          Province: '',
          City: '',
          District: '',
          ShoppingAddress: '',
        },
        shMsgrule: {
          Province: [{
            required: true,
            message: '请选择省',
            trigger: 'change'
          }],
          ShoppingAddress: [{
            required: true,
            message: '请输入详细地址',
            trigger: 'blur'
          }],
          Mobile: [{
            required: true,
            message: '请输入手机号',
            trigger: 'blur'
          }],
          Consignee: [{
            required: true,
            message: '请输入收件人',
            trigger: 'blur'
          }],
        },
        fhrules: {
          ExpressId: [{
            required: true,
            message: '请选择快递公司',
            trigger: 'change'
          }],
          ExpressNumber: [{
            required: true,
            message: '请输入快递单号',
            trigger: 'blur'
          }],
        },
        fhMsg: {
          Id: 0,
          OrderId: '',
          Type: 1,
          ExpressId: '',
          PostCode: '',
          ExpressNumber: '',
          Remark: '',
          OrderDetailIdList: [],
        },
        // 待处理
        pendMgs: {
          OrderId: 0,
          Type: 1,
          Remark: 0,
        },
        fahuoList: [],
        fhDig: false,
        pendD: false,
        exitMsg: {
          OrderId: 0,
          Type: 1,
          Remark: '',
          Income: '',
        },
        exitDig: false,
        activeName: 'first',
        msgVal: '',
        dateList: [],
        msg: {
          pageIndex: 1,
          pageSize: 15,
          Name: '',
          OrderSource: 0,
          OrderType: 0,
          DeliveryMethod: 0,
          OrderId: 0,
          StartTime: '',
          EndTime: '',
          OrderStatus: 0,
          OrderNo: '',
          MerchantsNo: '',
          UserName: '',
          UserId: '',
          GoodsName: '',
          Consignee: '',
          Mobile: '',
          ProductCode: '',
          Recycled: 2,
          AnchorName: '',
          IsSelectPayMoney: 0,
        },
        IsSelectPayMoney: 0,
        platList: [],
        option: [{
            Id: 1,
            name: '订单号'
          },
          {
            Id: 2,
            name: '商户单号'
          },
          {
            Id: 3,
            name: '用户名'
          },
          {
            Id: 4,
            name: '用户ID'
          },
          {
            Id: 5,
            name: '商品名称'
          },
          {
            Id: 6,
            name: '收货人'
          },
          {
            Id: 7,
            name: '收货人电话'
          },
          {
            Id: 8,
            name: '商品货号'
          },
        ],
        msgId: 1,
        ExpressList: [],
        provinceList: [],
        cityList: [],
        areaList: [],
        tableData: [],
        total: 0,
        deliveryList: [],
        orderTypeList: [],
        loading: false,
        checkfhList: [],
        moresendDig: false,
        moresendtips: '',
        hszDig: false,
        hszMsg: {},
        btnLoad: false,
        upSupliDilog: false, // 修改供应商弹窗
        SuplierList: [], // 供应商下拉数据
        SupplierId: 0, //公用供应商id 给弹窗用
        CommonId: 0, //公用id 给弹窗用
        TenantId: 0,
        OrderStateList: [], //配置订单状态
        ServicePersionList: [], //服务人员列表
        ServicePersionId: 0, //服务人员Id
        IsShowPersion: false, //是否显示服务人员弹窗
      }
    },
    created() {
      let currentUser = this.getLocalStorage()
      this.TenantId = currentUser.TenantId
      if (this.$route.query.TypeId) {
        this.msgId = Number(this.$route.query.TypeId)
      }
      if (this.$route.query.UserId) {
        this.msgVal = Number(this.$route.query.UserId);
        this.msg.UserId = Number(this.$route.query.UserId)
      }
      this.getConfig();
      this.getList();
      this.getplat();
      this.getExpressInfo();
      this.getProvince();
      this.getDown();
      this.getOrderStatus();
      this.getDelivery();
      this.getOrderType();
    },
    mounted() {},
    methods: {
      //保存服务人员
      SavePersion(orderId) {
        var msg = {
          OrderId: orderId,
          ServicepersonalId: this.ServicePersionId
        }
        this.apipost(
          "/api/AppletOrder/SetOfflineOrderServicepersion", msg,
          res => {
            if (res.data.resultCode == 1) {
              this.ServicePersionId = 0;
              this.ServicePersionList = [];
              this.Success(res.data.message);
              this.getList();
              this.IsShowPersion = false;
            } else {
              this.Info(res.data.message);
            }
          }
        );
      },
      //获取服务人员列表
      getServerPersion(StoresId, item) {

        var qMsg = {
          StoreId: StoresId,
          GoodsId: item.GoodsId,
          chooseDate: item.ServiceDate,
          servicePersionId: 0,
        };
        this.ServicePersionId = 0;
        this.ServicePersionList = [];
        this.apipost(
          "/api/AppletGoods/GetServerpersionListInfo", qMsg,
          res => {
            if (res.data.resultCode == 1) {
              var jsonData = res.data.data;
              if (jsonData && jsonData.persionList) {
                this.ServicePersionList = jsonData.persionList;
              }
            }
          }
        );
      },
      //获取基础配置
      getConfig() {
        this.apipost(
          "/api/Reserve/GetReserveBaseInfo", {},
          res => {
            if (res.data.resultCode == 1) {
              var jsonData = res.data.data;
              this.OrderStateList = jsonData.OrderStateList;
            }
          }
        );
      },
      successUpload(file) {
        let path = file.data.Path;
        this.btnLoad = true;
        this.apipost("/api/order/SetGoodsOrderBatchImport", {
          FilePath: path
        }, res => {
          this.btnLoad = false;
          if (res.data.resultCode == 1) {
            this.Success(res.data.message)
            this.getList();
          } else {
            this.Error(res.data.message)
          }
        })
      },
      // 订单操作
      priceForm(formName) {
        this.$refs[formName].validate((valid) => {
          if (valid) {
            let cmd = '';
            if (this.priceType == 1) {
              cmd = '/api/order/SetOrderDetialMoneyInfo';
            } else {
              cmd = '/api/order/SetOrderMoneyOrFreightInfo';
            }
            this.apipost(cmd, this.priceMsg,
              res => {
                if (res.data.resultCode === 1) {
                  this.getList();
                  this.Success(res.data.message)
                  this.priceDig = false;
                } else {
                  this.Error(res.data.message);
                }
              },
              null
            );
          } else {
            return false;
          }
        });
      },
      // 修改价格
      EditPrice(item, num, list) {
        this.priceType = num;
        if (num == 1) {
          this.priceMsg = {
            OrderDetailId: list.Id,
            Income: list.Final_Price,
          }
        } else {
          this.priceMsg = {
            OrderId: item.OrderId,
            Income: item.Income,
            FreightMoney: item.FreightMoney
          }
        }
        this.priceDig = true;
      },
      ChangeId(val) {
        let msgVal = this.msgVal;
        if (val == 1) {
          this.msg.OrderNo = msgVal;
          this.msg.MerchantsNo = '';
          this.msg.UserName = '';
          this.msg.UserId = '';
          this.msg.GoodsName = '';
          this.msg.Consignee = '';
          this.msg.Mobile = '';
          this.msg.ProductCode = '';
        } else if (val == 2) {
          this.msg.OrderNo = '';
          this.msg.MerchantsNo = msgVal;
          this.msg.UserName = '';
          this.msg.UserId = '';
          this.msg.GoodsName = '';
          this.msg.Consignee = '';
          this.msg.Mobile = '';
          this.msg.ProductCode = '';
        } else if (val == 3) {
          this.msg.OrderNo = '';
          this.msg.MerchantsNo = '';
          this.msg.UserName = msgVal;
          this.msg.UserId = '';
          this.msg.GoodsName = '';
          this.msg.Consignee = '';
          this.msg.Mobile = '';
          this.msg.ProductCode = '';
        } else if (val == 4) {
          this.msg.OrderNo = '';
          this.msg.MerchantsNo = '';
          this.msg.UserName = '';
          this.msg.UserId = msgVal;
          this.msg.GoodsName = '';
          this.msg.Consignee = '';
          this.msg.Mobile = '';
          this.msg.ProductCode = '';
        } else if (val == 5) {
          this.msg.OrderNo = '';
          this.msg.MerchantsNo = '';
          this.msg.UserName = '';
          this.msg.UserId = '';
          this.msg.GoodsName = msgVal;
          this.msg.Consignee = '';
          this.msg.Mobile = '';
          this.msg.ProductCode = '';
        } else if (val == 6) {
          this.msg.OrderNo = '';
          this.msg.MerchantsNo = '';
          this.msg.UserName = '';
          this.msg.UserId = '';
          this.msg.GoodsName = '';
          this.msg.Consignee = msgVal;
          this.msg.Mobile = '';
          this.msg.ProductCode = '';
        } else if (val == 7) {
          this.msg.OrderNo = '';
          this.msg.MerchantsNo = '';
          this.msg.UserName = '';
          this.msg.UserId = '';
          this.msg.GoodsName = '';
          this.msg.Consignee = '';
          this.msg.Mobile = msgVal;
          this.msg.ProductCode = '';
        } else if (val == 8) {
          this.msg.OrderNo = '';
          this.msg.MerchantsNo = '';
          this.msg.UserName = '';
          this.msg.UserId = '';
          this.msg.GoodsName = '';
          this.msg.Consignee = '';
          this.msg.Mobile = '';
          this.msg.ProductCode = msgVal;
        }
      },
      hszOk() {
        this.apipost('/api/order/SetOrderOperation', this.hszMsg,
          res => {
            if (res.data.resultCode === 1) {
              this.getList();
              this.Success(res.data.message)
              this.hszDig = false;
            } else {
              this.Error(res.data.message);
            }
          },
          null
        );
      },
      pending(item, type) {
        this.pendD = true;
        this.pendMgs.OrderId = item.OrderId;
        this.pendMgs.Type = type;
        this.pendMgs.Remark = '';
      },
      // 待处理调用接口
      pendingForm() {
        this.loading = true;
        this.apipost('/api/order/SetOrderApplyForCancelAudit', this.pendMgs,
          res => {
            if (res.data.resultCode === 1) {
              this.pendD = false;
              this.loading = false;
              this.getList();
              this.Success(res.data.message)
            } else {
              this.Error(res.data.message);
              this.loading = false;
            }
          },
        );
      },
      // 确认完成
      qrEnd(item, num) {
        let msg = {
          OrderId: item.OrderId,
          Type: num
        };
        let that = this;
        that.$confirm('是否完成该订单?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          this.apipost('/api/order/SetOrderOperation', msg,
            res => {
              if (res.data.resultCode === 1) {
                this.getList();
                this.Success(res.data.message)
              } else {
                this.Error(res.data.message);
              }
            },
            null
          );
        }).catch(() => {});
      },
      // 放入回收站
      fRhsz(item, num) {
        if (num == 4) {
          this.hstips = "是否放入回收站(可在回收站中恢复)?"
        }
        if (num == 7) {
          this.hstips = "是否移出回收站?"
        }
        this.hszMsg = {
          OrderId: item.OrderId,
          Type: num
        };
        this.hszDig = true;
      },
      DeleteOrder(item) {
        let msg = {
          OrderId: item.OrderId,
          Type: 8
        };
        let that = this;
        that.$confirm('是否删除订单?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          this.apipost('/api/order/SetOrderOperation', msg,
            res => {
              if (res.data.resultCode === 1) {
                this.getList();
                this.Success(res.data.message)
              } else {
                this.Error(res.data.message);
              }
            },
            null
          );
        }).catch(() => {});
      },
      // 修改收货地址
      ExitshAdress(item) {
        this.shDig = true;
        this.shMsg = {
          OrderId: item.OrderId,
          Consignee: item.Consignee,
          Mobile: item.Mobile,
          Province: item.Province,
          City: item.City,
          District: item.District,
          ShoppingAddress: item.ShoppingAddress,
        }
        this.getCity(item.Province);
        this.getArea(item.City);
      },
      // 确认收货
      ConfirmSh(item) {
        let msg = {
          OrderId: item.OrderId,
          Type: 5
        };
        let that = this;
        that.$confirm('是否确认收货?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          this.apipost('/api/order/SetOrderOperation', msg,
            res => {
              if (res.data.resultCode === 1) {
                this.getList();
                this.Success(res.data.message)
              } else {
                this.Error(res.data.message);
              }
            },
            null
          );
        }).catch(() => {});
      },
      Offpayment(item) { //线下付款
        let that = this;
        that.$confirm('确认转为线下付款，转后无法恢复!', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          this.apipost('/api/order/SetOrderOfflinePayment', {
              OrderId: item.OrderId
            },
            res => {
              if (res.data.resultCode === 1) {
                this.getList();
                this.Success(res.data.message)
              } else {
                this.Error(res.data.message);
              }
            },
            null
          );
        }).catch(() => {});
      },
      // 判断是否有多个物流
      getOrderSend(item) {
        this.apipost("/api/order/GetOrderSendGoodsExpressIdByOrderId", {
          OrderId: item.OrderId
        }, res => {
          let Id = res.data.data;
          if (res.data.resultCode == 1) {
            this.apipost("/api/order/GetOrderSendGoodsInfo", {
              OrderExpressId: Id
            }, res => {
              if (res.data.resultCode == 1) {
                let data = res.data.data;
                this.fhDig = true;
                this.fhMsg = {
                  Id: Id,
                  OrderId: item.OrderId,
                  Type: data.Type,
                  ExpressId: data.ExpressId,
                  PostCode: data.PostCode,
                  ExpressNumber: data.ExpressNumber,
                  Remark: data.Remark,
                  OrderDetailIdList: [],
                }
                this.fahuoList = data.DetailList;
                this.$nextTick(() => {
                  for (let i = 0; i < this.fahuoList.length; i++) {
                    this.$refs.fahuoTable.toggleRowSelection(
                      this.fahuoList[i],
                      true
                    );
                  }
                });
              } else {
                this.moresendDig = true;
                this.moresendtips = res.data.message;
              }
            })
          } else {
            this.moresendDig = true;
            this.moresendtips = res.data.message;
          }
        })
      },
      FhsubmitForm(formName) {
        this.$refs[formName].validate((valid) => {
          if (valid) {
            this.fhMsg.OrderDetailIdList = [];
            if (this.checkfhList.length == 0) {
              this.Error("至少选择一项！");
              return;
            }
            this.checkfhList.forEach(item => {
              this.fhMsg.OrderDetailIdList.push(item.Id);
            })
            if (this.fhMsg.Type == 2) {
              this.fhMsg.ExpressId = "";
              this.fhMsg.PostCode = "";
              this.fhMsg.ExpressNumber = "";
            }
            this.apipost('/api/order/SetOrderSendGoods', this.fhMsg,
              res => {
                if (res.data.resultCode === 1) {
                  this.getList();
                  this.fhDig = false;
                  this.Success(res.data.message)
                } else {
                  this.Error(res.data.message);
                }
              },
              null
            );
          } else {
            return false;
          }
        });
      },
      TableSelectChange(val) {
        this.checkfhList = val;
      },
      selectable(row, index) {
        return row.IsBindExpress === 2
      },
      // 发货
      fhBtn(item) {
        this.fhDig = true;
        this.fhMsg = {
          Id: 0,
          OrderId: item.OrderId,
          Type: 1,
          ExpressId: '',
          PostCode: '',
          ExpressNumber: '',
          Remark: '',
          OrderDetailIdList: [],
        }
        this.fahuoList = item.DetailList;
      },
      // 修改收货地址
      shsubmitForm(formName) {
        this.$refs[formName].validate((valid) => {
          if (valid) {
            this.apipost('/api/order/SetOrderShopingAddress', this.shMsg,
              res => {
                if (res.data.resultCode === 1) {
                  this.getList();
                  this.Success(res.data.message)
                  this.shDig = false;
                } else {
                  this.Error(res.data.message);
                }
              },
              null
            );
          } else {
            return false;
          }
        });
      },
      // 清空回收站
      ClearHsz() {
        let that = this;
        that.$confirm('此操作将清空回收站，是否继续?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          this.apipost('/api/order/SetOrderEmptyRecycleBin',
            res => {
              if (res.data.resultCode === 1) {
                this.getList();
                this.Success(res.data.message)
              } else {
                this.Error(res.data.message);
              }
            },
            null
          );
        }).catch(() => {});
      },
      Export() {
        this.msg.ExcelEnumIds = this.checkedCities;
        let msg = JSON.parse(JSON.stringify(this.msg));
        this.GetLocalFile(
          "/api/order/GetMemberUserListToExcel",
          msg,
          "订单列表.xls"
        );
      },
      getDown() {
        this.cityOptions = [];
        this.apipost("/api/order/GetOrderListExportEnumList", {}, res => {
          this.cities = res.data.data;
          let data = res.data.data;
          data.forEach(item => {
            this.cityOptions.push(item.Id)
          })
        })
      },
      handleCheckAllChange(val) {
        this.checkedCities = val ? this.cityOptions : [];
        this.isIndeterminate = false;
      },
      handleCheckedCitiesChange(value) {
        let checkedCount = value.length;
        this.checkAll = checkedCount === this.cities.length;
        this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length;
      },
      // 订单操作
      submitForm(formName) {
        this.$refs[formName].validate((valid) => {
          if (valid) {
            this.apipost('/api/order/SetOrderOperation', this.exitMsg,
              res => {
                if (res.data.resultCode === 1) {
                  this.getList();
                  this.Success(res.data.message)
                  this.exitDig = false;
                } else {
                  this.Error(res.data.message);
                }
              },
              null
            );
          } else {
            return false;
          }
        });
      },
      OrderExit(item, type) {
        this.exitMsg.OrderId = item.OrderId;
        this.exitMsg.Type = type;
        this.exitMsg.Remark = item.Remark;
        if (type == 3) {
          this.exitMsg.Remark = '';
        }
        this.exitDig = true;
      },
      // 强制取消
      OrderExit2(item) {
        let that = this;
        let text = '';
        if (item.OrderStatus == 1) {
          text = '确认取消?'
        } else if (item.OrderStatus == 2) {
          text = '确认取消?客人付款金额将原路退回。'
        }
        that.Confirm(text, function () {
          that.loading = true
          that.apipost(
            "/api/order/SetOrderForcedToCancel", {
              OrderId: item.OrderId
            },
            res => {
              if (res.data.resultCode == 1) {
                that.loading = false
                that.Success(res.data.message);
                that.getList();
              } else {
                that.Error(res.data.message);
                that.loading = false
              }
            },
          );
        });
      },
      handleClick(val) {
        let dataId = val.$attrs.dataId;
        this.msg.OrderStatus = dataId;
        this.msg.Recycled = 2;
        if (dataId == 8) {
          this.msg.OrderStatus = 0;
          this.msg.Recycled = 1;
        }
        this.msg.pageIndex = 1
        this.getList();
      },
      getList() {
        let that = this;
        that.ChangeId(that.msgId);
        if (!this.msgVal || this.msgVal == '') {
          this.msg.OrderNo = '';
          this.msg.MerchantsNo = '';
          this.msg.UserName = '';
          this.msg.UserId = '';
          this.msg.GoodsName = '';
          this.msg.Consignee = '';
          this.msg.Mobile = '';
          this.msg.ProductCode = '';
        }
        this.msg.IsSelectPayMoney = Number(this.IsSelectPayMoney)
        if (this.dateList && this.dateList.length > 0) {
          this.msg.StartTime = this.dateList[0];
          this.msg.EndTime = this.dateList[1];
        } else {
          this.msg.StartTime = '';
          this.msg.EndTime = '';
        }
        this.loading = true;
        this.apipost("/api/order/GetOfflineServiceOrderPage", this.msg, res => {
          this.loading = false;
          if (res.data.resultCode == 1) {
            this.total = res.data.data.count;
            let pageData = res.data.data.pageData;
            this.tableData = pageData;
          }
        })
      },
      handleCurrentChange(val) {
        this.msg.pageIndex = val;
        this.getList();
      },
      getOrderStatus() {
        this.apipost("/api/Reserve/GetReserveBaseInfo", {}, res => {
          if (res.data.resultCode == 1) {
            this.orderStatusList = res.data.data.OrderStateList;
          }
        })
      },
      getDelivery() {
        this.apipost("/api/order/GetOrderDeliveryMethodEnumList", {}, res => {
          this.deliveryList = res.data.data;
        })
      },
      getOrderType() {
        this.apipost("/api/order/GetOrderTypeEnumList", {}, res => {
          this.orderTypeList = res.data.data;
        })
      },
      getplat() {
        this.apipost("/api/user/GetMemberUserSourceEnumList", {}, res => {
          this.platList = res.data.data;
        })
      },
      getArea(val) {
        this.apipost("/api/Destination/GetChildList", {
          Id: val
        }, res => {
          this.areaList = res.data.data;
        })
      },
      getCity(val) {
        this.apipost("/api/Destination/GetChildList", {
          Id: val
        }, res => {
          this.cityList = res.data.data;
          if (this.cityList.length > 0) {
            this.getArea(this.cityList[0].ID)
          }
        })
      },
      getProvince() {
        this.apipost("/api/Destination/GetChildList", {
          Id: 1
        }, res => {
          this.provinceList = res.data.data;
          if (this.provinceList.length > 0) {
            this.getCity(this.provinceList[0].ID)
          }
        })
      },
      // 快递公司
      getExpressInfo() {
        this.apipost("/api/MallBase/GetExpressInfo", {}, res => {
          if (res.data.resultCode == 1) {
            this.ExpressList = res.data.data;
          } else {
            this.Info(res.data.message);
          }
        })
      },
      costBtn(list, type) {
        this.cosType = type;
        if (type == 1) {
          this.costMsg.Id = list.Id;
          this.costMsg.Money = list.CostMoney;
        } else if (type == 2) {
          this.costMsg.Id = list.Id;
          this.costMsg.Money = list.FreightCostMoney > 0 ? list.FreightCostMoney : list.FreightMoney;
        }
        this.costDig = true;
      },
      costForm(formName) {
        this.$refs[formName].validate((valid) => {
          if (valid) {
            let cmd = '';
            let msg = {}
            if (this.cosType == 1) {
              cmd = '/api/order/SetOrderCostMoney';
              msg = {
                Id: this.costMsg.Id,
                CostMoney: Number(this.costMsg.Money),
                EmpId:this.getLocalStorage().EmpId
              }
            } else if (this.cosType == 2) {
              cmd = '/api/order/SetOrderFreightCostMoney';
              msg = {
                Id: this.costMsg.Id,
                FreightCostMoney: Number(this.costMsg.Money),
                EmpId:this.getLocalStorage().EmpId
              }
            }
            this.apipost(cmd, msg,
              res => {
                if (res.data.resultCode === 1) {
                  this.getList();
                  this.Success(res.data.message)
                  this.costDig = false;
                } else {
                  this.Error(res.data.message);
                }
              },
              null
            );
          } else {
            return false;
          }
        });
      },
      //获取供应商下拉值
      getSupplierList() {
        this.apipost("/api/Supplier/GetSupplierAllList", {}, res => {
          this.loading = false;
          if (res.data.resultCode == 1) {
            this.SuplierList = res.data.data;
          }
        });
      },
      //修改供应商
      UpdateSuplier(item) {
        this.upSupliDilog = true;
        this.SupplierId = item.SupplierId;
        this.CommonId = item.Id;
        this.getSupplierList();
      },
      //保存供应商
      SaveSuplier() {
        let msg = {
          Id: this.CommonId,
          SupplierId: this.SupplierId
        }
        this.apipost("/api/Order/SetOrderSupplierId", msg, res => {
          this.loading = false;
          if (res.data.resultCode == 1) {
            this.upSupliDilog = false;
            this.getList();
          }
        });
      },
      goCollection(item, list) { //跳到erp收款单
        let currentUser = this.getLocalStorage()
        let companyID = currentUser.ERPBranchId != 0 ? currentUser.ERPBranchId : 1224;
        let orderObj = {
          OrderSource: 16,
          OtherType: 21,
          ReFinanceId: item.OrderId, //订单id
          ReFinanceId2: list.Id, //订单商品id
          ECOrderList: [{
            ECOrderId: item.OrderId,
            ECOrderDetailId: list.Id
          }]
        }
        // window.open('http://www.test.com:8081/#/ChoiceAddFinancialDocuments?Type=1&companyID='+companyID+'&orderObj='+JSON.stringify(orderObj))
        window.open('http://yx.oytour.com/#/ChoiceAddFinancialDocuments?Type=1&companyID=' + companyID + '&orderObj=' +
          JSON.stringify(orderObj))
      },
      goPayment(item, list) { //跳到erp付款单
        let currentUser = this.getLocalStorage()
        let companyID = currentUser.ERPBranchId != 0 ? currentUser.ERPBranchId : 1224;
        let orderObj = {
          OrderSource: 16,
          OtherType: 22,
          ReFinanceId: item.OrderId,
          ReFinanceId2: list.Id,
          ECOrderList: [{
            ECOrderId: item.OrderId,
            ECOrderDetailId: list.Id
          }]
        }
        // window.open('http://www.test.com:8081/#/ChoiceAddFinancialDocuments?Type=2&companyID='+companyID+'&orderObj='+JSON.stringify(orderObj))
        window.open('http://yx.oytour.com/#/ChoiceAddFinancialDocuments?Type=2&companyID=' + companyID + '&orderObj=' +
          JSON.stringify(orderObj))
      },
      goSF(item) { //收入详情
        // window.open('http://www.test.com:8081/#/FinancialDocumentsDetail?id='+item.FrID+'&Conditon=1&tab=%E5%8D%95%E6%8D%AE%E8%AF%A6%E6%83%85')
        window.open('http://yx.oytour.com/#/FinancialDocumentsDetail?id=' + item.FrID +
          '&Conditon=1&tab=%E5%8D%95%E6%8D%AE%E8%AF%A6%E6%83%85')
      },
      goZF(item) { //付款详情
        // window.open('http://www.test.com:8081/#/FinancialDocumentsDetail?id='+item.FrID+'&Conditon=1&tab=%E5%8D%95%E6%8D%AE%E8%AF%A6%E6%83%85')
        window.open('http://yx.oytour.com/#/FinancialDocumentsDetail?id=' + item.FrID +
          '&Conditon=1&tab=%E5%8D%95%E6%8D%AE%E8%AF%A6%E6%83%85')
      }
    },
  };

</script>
<style>
  .orderList .remark-box {
    padding-top: 3px;
    margin-left: 7px;
  }

  .orderList .upload-demo {
    float: right;
    margin-top: -5px;
    margin-left: 20px;
  }

  .orderList .pendSelect .el-input {
    width: 100px;
  }

  .hszDigClass .el-dialog__body {
    padding: 0 10px 20px 0;
  }

  .orderList .tyi .el-dialog__body {
    padding: 0 20px
  }

  .sendDigClass .el-dialog__body {
    padding: 0 10px 10px 0;
  }

  .app-order-list .card-footer .seller-remark {
    margin-top: 10px;
    color: #E6A23C;
  }

  .app-send .el-table__header-wrapper th {
    background-color: #f5f7fa;
  }

  .app-send .title-box .text {
    background-color: #FEFAEF;
    color: #E6A23C;
    padding: 6px;
  }

  .app-send .title-box {
    margin: 15px 0;
  }

  .app-order-list .app-order-item .el-button {
    padding: 0;
  }

  .app-order-list .card-footer .address-box {
    margin-right: 10px;
  }

  .app-order-list .card-footer {
    background: #F3F5F6;
    padding: 10px 20px;
  }

  .app-order-list .app-order-info>div {
    width: 100%;
  }

  .app-order-icon {
    margin-right: 5%;
    margin-bottom: 10px;
    cursor: pointer;
  }

  .app-order-body {
    display: flex;
    flex-wrap: nowrap;
  }

  .app-order-list .app-order-info {
    display: flex;
    align-items: center;
    width: 15%;
    text-align: center;
    border-right: 1px solid #EBEEF5;
    justify-content: center;
  }

  .app-order-list .el-card__body {
    padding: 0;
  }

  .app-order-list .express-price {
    height: 30px;
    line-height: 30px;
  }

  .app-order-list .goods-item {
    border-right: 1px solid #EBEEF5;
  }

  .app-order-list .app-order-info {
    display: flex;
    align-items: center;
    width: 15%;
    text-align: center;
    border-right: 1px solid #EBEEF5;

  }

  .app-order-list .goods-item .goods .app-order-goods-price {
    height: 24px;
    margin-top: 3px;
    position: absolute;
    bottom: 20px;
    left: 125px;
  }

  .app-order-list .goods-item .goods-info .goods-name {
    margin-bottom: 5px;
    word-break: break-all;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }

  .app-order-list .goods-item .goods-info {
    width: 50%;
    margin-top: 5px;
  }

  .app-order-list .goods-image {
    height: 90px;
    width: 90px;
    margin-right: 15px;
    float: left;
  }

  .app-order-list .goods-item .goods {
    position: relative;
    padding: 20px;
    min-height: 130px;
    border-top: 1px solid #EBEEF5;
  }

  .app-order-list .goods-item .goods:first-of-type {
    border-top: 0;
  }

  .orderList .app-order-list .app-order-item:hover .app-order-btnimg {
    display: block;
  }

  .orderList .app-order-list .app-order-item:hover {
    border: 1px solid #3399FF;
  }

  .orderList .app-order-btnimg {
    position: absolute;
    top: 20px;
    right: 25px;
    color: #7C868D;
    font-size: 18px;
    padding: 0;
    display: none;
  }

  .orderList .app-order-offline {
    margin-left: 30px;
    margin-top: -2px;
  }

  .orderList .app-order-user img {
    height: 20px;
    width: 20px;
    display: block;
    float: left;
    border-radius: 50%;
    margin-right: 10px;
  }

  .orderList .app-order-list .app-order-time {
    color: #909399;
  }

  .orderList .app-order-user {
    margin-left: 30px;
  }

  .orderList .app-order-list .app-order-time {
    color: #909399;
  }

  .orderList .app-order-list .app-order-item .el-card__header {
    padding: 0;
  }

  .orderList .app-order-list .app-order-item {
    margin-top: 20px;
    min-width: 750px;
  }

  .orderList .app-order-list .app-order-head {
    padding: 20px;
    background-color: #F3F5F6;
    color: #303133;
    min-width: 750px;
    display: flex;
    position: relative;
  }

  .orderList .app-order-title div {
    text-align: center;
  }

  .orderList .app-order-title {
    background-color: #F3F5F6;
    height: 40px;
    line-height: 40px;
    display: flex;
    min-width: 750px;
  }

  .orderList .content {
    background: #fff;
    margin-top: 10px;
    padding: 20px;
    box-sizing: border-box;
  }

  .orderList .billStyle {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    border: 1px solid #EBEEF5;
    margin-top: 20px;
  }

  .orderList .billStyle .billStyle_item {
    width: 50%;
    padding: 5px;
  }

  .orderList .billStyle .billtext {
    font-size: 14px;
    cursor: pointer;
    margin-right: 5px;
    text-decoration: underline;
  }

  .orderList .el-dropdown-link {
    height: 30px;
    line-height: 30px;
    background-color: #409EFF;
    color: #fff;
    font-size: 12px;
    width: 60px;
    text-align: center;
    border-radius: 4px;
    cursor: pointer;
    display: inline-block;
  }

  .orderList .fkbox {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-right: 15px;
  }

  .orderList .fkbox .fkbox_item {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    margin-right: 4px;
  }

</style>
