<template>
  <div class="orderList">
    <div class="head-title">
      订单列表
      <!-- <el-upload class="upload-demo" ref="upload" :action="importFileUrl" :multiple="true" :on-success="successUpload"
        :show-file-list="false" accept=".csv">
        <el-button :loading="btnLoad" size="small" type="primary">
          赞羊导入</el-button>
      </el-upload> -->
      <el-button @click="dialogVisible = true" style="float: right; margin-top: -5px" 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 style="font-size:14px">下单时间：</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;font-size:14px">所属平台：</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;font-size:14px">订单类型：</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;font-size:14px">配送方式：</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;font-size:14px; width: 400px" class="input-with-select" placeholder="请输入内容"
          v-model="msgVal" size="small">
          <el-select class="pendSelect" @change="ChangeId" v-model="msgId" slot="prepend" placeholder="请选择"
            style="width: 110px">
            <el-option v-for="item in typeOption" :key="item.Id" :label="item.name" :value="item.Id">
            </el-option>
          </el-select>
        </el-input>
        <span style="margin-left: 15px;font-size:14px">类型：</span>
        <el-select class="w120" @change="(msg.pageIndex = 1), getList()" v-model="msg.OrderEduType" size="small"
          placeholder="请选择">
          <el-option label="不限" :value="0"></el-option>
          <el-option label="咖啡劵" :value="1"></el-option>
          <el-option label="资产类" :value="2"></el-option>
          <el-option label="教室类" :value="3"></el-option>
        </el-select>
        <el-checkbox v-model="IsSelectPayMoney" true-label="1" false-label="0" style="margin-left: 15px;font-size:14px"
          @change="(msg.pageIndex = 1), getList()">只看已付款</el-checkbox>
      </div>
      <div style="
          display: flex;
          flex-direction: row;
          align-items: center;
          justify-content: space-between;
        ">
        <div>
          <!-- <span style="margin-left: 15px;font-size:14px">线下订单：</span>
          <el-select class="w120" @change="(msg.pageIndex = 1), getList()" v-model="msg.IsOffline" size="small"
            placeholder="请选择">
            <el-option label="不限" :value="-1"></el-option>
            <el-option label="是" :value="1"></el-option>
            <el-option label="否" :value="0"></el-option>
          </el-select> -->
          <!-- <span style="margin-left: 15px;font-size:14px">主播名称：</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> -->
        </div>
        <div style="
            display: flex;
            flex-direction: row;
            align-items: center;
            font-size: 12px;
            margin-top:10px;
          " v-if="TenantId == 1||TenantId == 15">
          <div class="fkbox">
            <div class="fkbox_item" style="background: #00ffff"></div>
            <span>暂存</span>
          </div>
          <div class="fkbox">
            <div class="fkbox_item" style="background: #E6A23C"></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-tab-pane :dataId="8" label="回收站" :key="8" name="8"></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>
                <el-tag style="margin-left: 30px" size="small" type="success" v-if="item.IsOffline === 1">线下订单</el-tag>
                <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="" />
                  <img v-if="item.OrderSource == 2" style="width:25px;height:25px;"
                    src="../../assets/img/userman/alipay.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">
                  <div v-if="
                      item.DeliveryMethodName && item.DeliveryMethodName != ''
                    " class="express-send-box">
                    <span class="el-tag el-tag--small el-tag--light">{{
                      item.DeliveryMethodName
                    }}</span>
                  </div>
                  <el-tag v-if="item.PaymentTime == ''" style="margin-left: 5px" size="small" type="warning">未付款
                  </el-tag>
                  <el-tag v-if="
                      item.PaymentTime != '' &&
                      item.DeliveryTime == '' &&
                      item.ReceivingTime == '' &&
                      item.FinishTime == ''
                    " style="margin-left: 5px" size="small" type="warning">已付款</el-tag>
                  <el-tag v-if="item.DeliveryTime == '' && item.ReceivingTime == ''" style="margin-left: 5px"
                    size="small" type="success">未发货</el-tag>
                  <el-tag v-if="item.DeliveryTime != '' && item.ReceivingTime == ''" style="margin-left: 5px"
                    size="small" type="success">已发货</el-tag>
                  <el-tag v-if="item.DeliveryTime != '' && item.ReceivingTime == ''" style="margin-left: 5px"
                    size="small" type="success">未收货</el-tag>
                  <el-tag v-if="item.ReceivingTime != '' && item.FinishTime == ''" style="margin-left: 5px" size="small"
                    type="success">已收货</el-tag>
                  <el-tag v-if="item.FinishTime != ''" 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-button type="primary" plain style="margin-left:50px;padding:8px 10px " size="mini"
                  @click="yunfeizhidan(item.OrderId)" v-if="isShowzhidan(item)">运费成本制单</el-button>
                <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">
                            规格：
                            <el-tag :key="index2" v-for="(msg, index2) in list.SpecificationList" style="
                                top: 5px;
                                position: relative;
                                margin-right: 5px;
                                max-width: 300px;
                                overflow: hidden;
                                white-space: nowrap;
                                text-overflow: ellipsis;
                                font-size:14px;
                              " size="mini">
                              {{ msg }}
                            </el-tag>
                          </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 style="
                            display: flex;
                            flex-direction: row;
                            align-items: center;
                          ">
                          <span>货号：{{
                              list.ProductCode != null && list.ProductCode != ""
                                ? list.ProductCode
                                : "无"
                            }}</span>
                          <span style="margin-left: 20px"
                            v-if="list.FreeShippingRemarks != null">{{ list.FreeShippingRemarks }}</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%;
                            font-size:14px;
                          ">
                          <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 @click="costBtn(list, 1)" src="../../assets/img/userman/edit1.png" alt="" />
                          </span>
                          <span style="cursor: pointer">运费成本：￥{{ list.FreightCostMoney }}
                            <img v-if="item.OrderStatus !== 7" @click="costBtn(list, 2)"
                              src="../../assets/img/userman/edit1.png" alt="" />
                          </span>
                          <span style="cursor: pointer">供应商：{{
                              list.SupplierName != null ? list.SupplierName : ""
                            }}
                            <img v-if="item.OrderStatus !== 7" @click="UpdateSuplier(list)"
                              src="../../assets/img/userman/edit1.png" alt="" />
                          </span>
                        </div>
                        <!--                      <div flex="cross:center main:center" style="width: 45px;">数量：x {{list.Number}}</div>-->
                        <div flex="cross:center main:center"
                          style="display: flex; flex-direction: column;font-size:14px;">
                          <div>数量：x {{ list.Number }}</div>
                          <el-tag v-if="
                              list.IsApplyForAfterSale &&
                              list.IsApplyForAfterSale == 1
                            " size="small" type="danger">已退货退款</el-tag>
                        </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||TenantId == 15)
                    ">
                    <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 class="billtext" v-if="item.Status == 5"
                          :style="{ color: '#E6A23C' }">{{ 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 class="billtext" v-if="item.Status == 5"
                          :style="{ color: '#E6A23C' }">{{ 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 class="express-price">
                    <span>
                      <span style="color: rgb(144, 147, 153)">(含运费￥{{ item.FreightMoney }})
                        <img v-if="item.PaymentTime == ''" @click="EditPrice(item, 2)"
                          src="../../assets/img/userman/edit1.png" alt="" />
                      </span>
                    </span>
                  </div>
                  <div>
                    <el-tag effect="dark" type="warning" size="mini">{{
                      item.PaymentWayName
                    }}</el-tag>
                  </div>
                  <div style="font-size: 12px; margin-top: 3px" v-if="
                      item.CouponMoney &&
                      item.CouponMoney != '' &&
                      item.CouponMoney > 0
                    ">
                    <span>优惠金额:￥{{ item.CouponMoney }}</span>
                  </div>
                  <div style="font-size: 12px; margin-top: 3px" v-if="
                      item.DepositMoney &&
                      item.DepositMoney != '' &&
                      item.DepositMoney > 0
                    ">
                    <span>储蓄卡抵扣:￥{{ item.DepositMoney }}</span>
                  </div>
                  <div style="font-size: 12px; margin-top: 3px" v-if="
                      item.IntegralMoney &&
                      item.IntegralMoney != '' &&
                      item.IntegralMoney > 0
                    ">
                    <span>积分抵用金额:￥{{ item.IntegralMoney }}</span>
                  </div>
                  <div style="font-size: 12px; margin-top: 3px" v-if="
                      item.DeductionCommission && item.DeductionCommission > 0
                    ">
                    <span>佣金抵用:￥{{ item.DeductionCommission }}</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>
              </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 class="app-order-icon" src="../../assets/img/userman/invoice.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('/coffeeManage/orderDetails', { 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.DistrictAddress }} {{ item.ShoppingAddress }}
                  </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-button slot="append"> 获取面单</el-button> -->
            </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>
          <div style="color: red;margin-top: 5px;"
            v-if="cosType == 1&& currentUserInfo && currentUserInfo.TenantId == 1 &&  currentUserInfo.MallBaseId ==1">
            *注：商品成本调高会触发重置订单商品返佣</div>
        </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,
          IsOffline: -1,
          OrderEduType: 0,
          Q_OrderEduType:1
        },
        IsSelectPayMoney: 0,
        platList: [],
        typeOption: [{
            Id: 0,
            name: "订单Id",
          },
          {
            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,
        currentUserInfo: {},
      };
    },
    created() {
      // this.currentUserInfo = JSON.parse(localStorage.mall_userInfo);
      // let currentUser = this.getLocalStorage();
      this.TenantId = JSON.parse(localStorage.getItem('iframeData')).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);
      }
    },
    mounted() {
      let that = this;
      if (localStorage.getItem("iframeData")) {
        that.getList();
        that.getplat();
        that.getExpressInfo();
        that.getProvince();
        that.getDown();
        that.getOrderStatus();
        that.getDelivery();
        that.getOrderType();
      }
      if (this.$route.query.orderId) {
        this.msgId = 0
        this.msg.OrderId = this.$route.query.orderId
        this.msgVal = this.$route.query.orderId
      }
      window.addEventListener("message", function (messageEvent) {
        let data = messageEvent.data || '';
        console.log("收到的数据：", data);
        if (data.indexOf('token') > -1) {
          window.localStorage.setItem("iframeData", data);
        }
        that.getList();
        that.getplat();
        that.getExpressInfo();
        that.getProvince();
        that.getDown();
        that.getOrderStatus();
        that.getDelivery();
        that.getOrderType();
      });
    },
    methods: {
      successUpload(file) {
        let path = file.data.Path;
        this.btnLoad = true;
        this.i_post(
          "/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.i_post(
              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 == 0) {
          this.msg.OrderId = 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 = "";
        } else 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 = "";
          this.msg.OrderId = 0
        } 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 = "";
          this.msg.OrderId = 0
        } 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 = "";
          this.msg.OrderId = 0
        } 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 = "";
          this.msg.OrderId = 0
        } 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 = "";
          this.msg.OrderId = 0
        } 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 = "";
          this.msg.OrderId = 0
        } 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 = "";
          this.msg.OrderId = 0
        } 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;
          this.msg.OrderId = 0
        }
      },
      hszOk() {
        this.i_post(
          "/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.i_post(
          "/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.i_post(
              "/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.i_post(
              "/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.i_post(
              "/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.i_post(
              "/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.i_post(
          "/api/order/GetOrderSendGoodsExpressIdByOrderId", {
            OrderId: item.OrderId,
          },
          (res) => {
            let Id = res.data.data;
            if (res.data.resultCode == 1) {
              this.i_post(
                "/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.i_post(
              "/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.i_post(
              "/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.i_post(
              "/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.i_post("/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.i_post(
              "/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.i_post(
            "/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.i_post("/api/order/GetGoodsOrderPageList", 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.i_post("/api/order/GetOrderStatusEnumList", {}, (res) => {
          this.orderStatusList = res.data.data;
        });
      },
      getDelivery() {
        this.i_post("/api/order/GetOrderDeliveryMethodEnumList", {}, (res) => {
          this.deliveryList = res.data.data;
        });
      },
      getOrderType() {
        this.i_post("/api/order/GetOrderTypeEnumList", {}, (res) => {
          this.orderTypeList = res.data.data;
        });
      },

      getplat() {
        this.i_post("/api/user/GetMemberUserSourceEnumList", {}, (res) => {
          this.platList = res.data.data;
        });
      },
      getArea(val) {
        this.i_post(
          "/api/Destination/GetChildList", {
            Id: val,
          },
          (res) => {
            this.areaList = res.data.data;
          }
        );
      },
      getCity(val) {
        this.i_post(
          "/api/Destination/GetChildList", {
            Id: val,
          },
          (res) => {
            this.cityList = res.data.data;
            if (this.cityList.length > 0) {
              this.getArea(this.cityList[0].ID);
            }
          }
        );
      },
      getProvince() {
        this.i_post(
          "/api/Destination/GetChildList", {
            Id: 1,
          },
          (res) => {
            this.provinceList = res.data.data;
            if (this.provinceList.length > 0) {
              this.getCity(this.provinceList[0].ID);
            }
          }
        );
      },
      // 快递公司
      getExpressInfo() {
        this.i_post("/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.i_post(
              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.i_post("/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.i_post("/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 ? -1 : 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 ? -1 : 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://localhost:8181/#/financial/financalDocument/FinancialDocumentsDetail?id='+item.FrID,"_blank")
        window.open('http://edu.oytour.com/#/financial/financalDocument/FinancialDocumentsDetail?id='+item.FrID,"_blank")
      },
      goZF(item) {
        //付款详情
        // window.open('http://localhost:8181/#/financial/financalDocument/FinancialDocumentsDetail?id='+item.FrID,"_blank")
        window.open('http://edu.oytour.com/#/financial/financalDocument/FinancialDocumentsDetail?id='+item.FrID,"_blank")
      },
      // 运费成本制单
      yunfeizhidan(id) {
        let that = this
        this.$confirm('确认一键生成订单运费成本单据？', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          const loading = that.$loading({
            lock: true,
            text: '单据生成中...',
            spinner: 'el-icon-loading',
          });
          that.i_post("/api/order/SetEduGoodsFreightCostFinance", {
            OrderId: id
          }, (res) => {
            loading.close()
            if (res.data.resultCode == 1) {
              that.$message({
                type: 'success',
                message: '操作成功'
              });
              that.getList()
            }
          },()=>{
            loading.close()
          });
        })
      },
      // 是否显示运费制单按钮
      isShowzhidan(item) {
        const flag = item.DetailList.some(e => {
          return e.FreightFinanceId == 0 && e.FreightCostMoney > 0
        })
        if (item.FreightMoney > 0 && flag) {
          return true
        } else {
          return false
        }

      }
    },
  };

</script>

<style scoped>
  .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;
    font-size: 14px;
  }

  .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;
    font-size: 14px;
  }

  .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;
    font-size: 14px;
  }

  .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: 16px;
    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;
    font-size: 14px;
  }

  .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;
    font-size: 14px;
  }

  .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;
    font-size: 14px;
  }

  .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;
    font-size: 14px;
  }

  .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;
  }

  /* /deep/.el-input__inner {
  width: 100px;
} */

</style>
