<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>下单时间：</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 style="margin-left: 15px">线下订单：</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">主播名称：</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-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=""
                  />
                  <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-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;
                              "
                              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%;
                          "
                        >
                          <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"
                        >
                          <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
                    "
                  >
                    <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 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('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>
        </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,
      },
      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,
    };
  },
  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.getList();
    this.getplat();
    this.getExpressInfo();
    this.getProvince();
    this.getDown();
    this.getOrderStatus();
    this.getDelivery();
    this.getOrderType();
  },
  mounted() {},
  methods: {
    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/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.apipost("/api/order/GetOrderStatusEnumList", {}, (res) => {
        this.orderStatusList = res.data.data;
      });
    },
    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>
