<template>
  <div class="app-container">
    <el-card>
      <div slot="header" class="header">
        <div class="card-title">{{ $t("查看") }}</div>
        <el-button
          type="primary"
          icon="el-icon-arrow-left"
          @click="$store.dispatch('tagsView/delCurrentView')"
          >{{ $t("返回") }}</el-button
        >
      </div>
      <el-form
        v-if="orderData"
        :model="orderData"
        ref="queryForm"
        size="small"
        :inline="true"
        label-width="120px"
        class="card"
      >
        <el-row>
          <el-form-item :label="$t('订单号') + ':'">
            <router-link
              :to="{
                path: '/order/detail',
                query: { orderId: orderData.orderId },
              }"
              class="link-type"
            >
              <span>{{ orderData.orderNo || "" }}</span>
            </router-link>
          </el-form-item>
        </el-row>
        <div
          v-if="
            shopData &&
            [
              'goods_add_exception',
              'line_loop_exception',
              'overweight_exception',
              'line_weight_exception',
              'stock_up_exception',
              'in_warehousing_diff_exception',
              'channel_exception',
              'not_shipping_channel_exception',
              'channel_packaging_overweight_exception',
            ].indexOf(orderExceptionData.orderExceptionType) == -1
          "
        >
          <el-row>
            <el-form-item :label="$t('产品名称') + ':'">
              {{ shopData.prodTitleZh || "" }}
            </el-form-item>
          </el-row>
          <el-row>
            <el-form-item :label="$t('产品英文名称') + ':'">
              {{ shopData.prodTitleEn || "" }}
            </el-form-item>
          </el-row>
        </div>
        <el-row>
          <el-form-item :label="$t('运输路线') + ':'">
            <span v-if="orderData"
              >{{ $t("【")
              }}<dict-tag
                :type="DICT_TYPE.ECW_TRANSPORT_TYPE"
                :value="orderData.transportId"
              />{{ $t("】") }}</span
            >
            <span
              v-if="
                getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, orderData.transportId)
                  .cssClass == 'channel'
              "
              >{{ $t("【") }}{{ orderData.channelName }}{{ $t("】") }}</span
            >
            {{ orderData ? getRouterNameById() : "" }}
          </el-form-item>
        </el-row>
        <el-row>
          <el-form-item
            :label="$t('异常类型') + ':'"
            v-if="
              [
                'overweight_exception',
                'channel_packaging_overweight_exception',
              ].indexOf(orderExceptionData.orderExceptionType) == -1
            "
          >
            <dict-tag
              :type="DICT_TYPE.ORDER_ERROR_TYPE"
              :value="orderExceptionData.orderExceptionType"
            />
          </el-form-item>
        </el-row>
        <el-row
          :span="12"
          v-if="
            [
              'overweight_exception',
              'channel_packaging_overweight_exception',
            ].indexOf(orderExceptionData.orderExceptionType) == -1
          "
        >
          <el-form-item :label="$t('异常描述') + ':'">
            <!-- <dict-tag :type="DICT_TYPE.ORDER_ERROR_TYPE" :value="orderExceptionData.orderExceptionType" /> -->
            <!-- {{orderExceptionData.orderExceptionDescVO?orderExceptionData.orderExceptionDescVO.descZh:'无'}} -->
            {{ $l(orderExceptionData.orderExceptionDescVO, "desc") }}
          </el-form-item>
        </el-row>
        <el-row
          :span="12"
          v-if="
            orderExceptionData.orderExceptionType == 'order_other_exception' &&
            orderExceptionData.orderExceptionRemark
          "
        >
          <el-form-item :label="$t('详细说明') + ':'">
            <!-- <dict-tag :type="DICT_TYPE.ORDER_ERROR_TYPE" :value="orderExceptionData.orderExceptionType" /> -->
            <!-- {{orderExceptionData.orderExceptionDescVO?orderExceptionData.orderExceptionDescVO.descZh:'无'}} -->
            {{ $l(orderExceptionData.orderExceptionRemark, "desc") }}
          </el-form-item>
        </el-row>

        <!-- 单证异常,发货人异常,其他异常 不显示这部分内容 -->
        <div
          v-if="
            [
              'order_doc_exception',
              'order_consignor_exception',
              'order_other_exception',
              'overweight_exception',
              'line_weight_exception',
              'channel_packaging_overweight_exception',
            ].indexOf(orderExceptionData.orderExceptionType) == -1
          "
        >
          <!-- 预付异常,提货异常,代收货款是针对整个订单的 -->
          <template
            v-if="
              [
                'order_pay_exception',
                'order_pick_up_exception',
                'order_cod_exception',
                'not_customer_service_exception',
              ].indexOf(orderExceptionData.orderExceptionType) > -1
            "
          >
            <el-row>
              <el-form-item :label="$t('填单参数') + ':'">
                <template v-if="orderData && orderData.costVO">
                  {{
                    (orderData.costVO.totalNum || 0) +
                    $t("箱 ") +
                    (orderData.costVO.totalVolume || 0) +
                    "m³ " +
                    (orderData.costVO.totalWeight || 0) +
                    "kg " +
                    (orderData.costVO.totalQuantity || 0) +
                    $t("个")
                  }}
                </template>
              </el-form-item>
              <el-form-item
                :label="$t('代收金额') + ':'"
                v-if="
                  orderExceptionData.orderExceptionType == 'order_cod_exception'
                "
              >
                <template v-if="orderData && orderData.costVO">
                  {{ orderExceptionData.orderExceptionAmount }}
                  {{
                    currencyMap[
                      orderExceptionData.orderExceptionAmountCurrencyId
                    ]
                  }}
                </template>
              </el-form-item>
            </el-row>
            <el-row>
              <el-form-item :label="$t('入仓参数') + ':'">
                <template v-if="orderData && orderData.costVO">
                  <span>{{
                    (orderData.sumNum || 0) +
                    $t("箱") +
                    (orderData.sumVolume || 0) +
                    "m³ " +
                    (orderData.sumWeight || 0) +
                    "kg " +
                    (orderData.sumQuantity || 0) +
                    $t("个")
                  }}</span>
                </template>
              </el-form-item>
            </el-row>
          </template>

          <template v-else>
            <el-row v-if="shopData">
              <el-form-item :label="$t('填单参数') + ':'">
                <template>
                  {{
                    $t("{num}箱 {volume}m³ {weight}kg {quantity}个", {
                      num: shopData.num || 0,
                      volume: shopData.volume || 0,
                      weight: shopData.weight || 0,
                      quantity: shopData.quantity || 0,
                    })
                  }}
                </template>
              </el-form-item>
            </el-row>
            <el-row v-if="shopData">
              <el-form-item :label="$t('入仓参数') + ':'"
                ><template v-if="shopData.warehouseInInfoVO">
                  {{
                    $t("{num}箱 {volume}m³ {weight}kg {quantity}个", {
                      num: shopData.warehouseInInfoVO.cartonsNum || 0,
                      volume: shopData.warehouseInInfoVO.volume || 0,
                      weight: shopData.warehouseInInfoVO.weight || 0,
                      quantity: shopData.warehouseInInfoVO.quantityAll || 0,
                    })
                  }}</template
                >
                <!-- <span>{{(orderData.sumNum||0)+$t('箱')+(orderData.sumVolume||0)+'m³ '+(orderData.sumWeight||0)+'kg '+(orderData.sumQuantity||0) +$t('个')}}</span> -->

                <template v-else>{{ $t("无入仓数据") }}</template>
              </el-form-item>
            </el-row>
          </template>

          <el-row :span="12">
            <el-form-item :label="$t('异常描述') + ':'">
              <!-- <dict-tag :type="DICT_TYPE.ORDER_ERROR_TYPE" :value="orderExceptionData.orderExceptionType" /> -->
              <!-- {{orderExceptionData.orderExceptionDescVO?orderExceptionData.orderExceptionDescVO.descZh:'无'}} -->
              {{ $l(orderExceptionData.orderExceptionDescVO, "desc") }}
            </el-form-item>
            <div
              style="display: inline-block; line-height: 32px; font-size: 14px"
              v-if="
                orderExceptionData.orderExceptionType == 'order_pay_exception'
              "
            >
              <span style="color: red">{{
                $t("注意:收款后无法修改备货信息,请先联系仓库确认订单备货完成")
              }}</span>
              <el-button
                v-if="orderExceptionData.orderExceptionStatus != 2"
                type="primary"
                plain
                icon="el-icon-plus"
                style="margin-left: 20px"
                @click="handleAdd"
                >{{ $t("新增收款单") }}</el-button
              >
            </div>
          </el-row>
          <el-row v-if="orderExceptionData.orderExceptionDetails">
            <el-form-item :label="$t('详细内容') + ':'">
              <span>{{ orderExceptionData.orderExceptionDetails }}</span>
            </el-form-item>
          </el-row>
          <el-row
            v-if="
              orderExceptionData.orderExceptionType == 'order_pay_exception' ||
              orderExceptionData.orderExceptionType != 'goods_add_exception'
            "
          >
            <el-form-item :label="$t('收费参数') + ':'">
              <div v-if="shopData">
                {{
                  $t("{num}箱 {volume}m³ {weight}kg {quantity}个", {
                    num: shopData.num || 0,
                    volume: shopData.wvolume || 0,
                    weight: shopData.vweight || 0,
                    quantity: shopData.quantity || 0,
                  })
                }}
              </div>
              <span v-else
                >{{ orderData.sumNum || 0 }}{{ $t("箱") }}
                {{ orderData.wvolume || 0 }}m³ {{ orderData.vweight || 0 }}Kg
                {{
                  orderData.warehouseInInfoVO
                    ? orderData.warehouseInInfoVO.quantityAll
                    : orderData.sumQuantity
                }}{{ $t("个") }}</span
              >
            </el-form-item>
          </el-row>
          <el-row>
            <el-form-item :label="$t('创建时间') + ':'">
              <span>{{ parseTime(orderExceptionData.createTime) }}</span>
            </el-form-item>
          </el-row>
          <el-row>
            <el-form-item :label="$t('处理时间') + ':'">
              <span>{{
                parseTime(orderExceptionData.handlerTime) || "/"
              }}</span>
            </el-form-item>
          </el-row>
        </div>
      </el-form>

      <!-- 预付异常的表格-->
      <el-table
        v-if="orderExceptionData.orderExceptionType == 'order_pay_exception'"
        v-loading="loading"
        border
        :data="preException"
      >
        <el-table-column :label="$t('品名')" align="center">
          <template slot-scope="scope">
            {{ scope.row.titleZh + "(" + scope.row.titleEn + ")" }}
          </template>
        </el-table-column>
        <el-table-column :label="$t('箱数')" prop="num" />
        <el-table-column :label="$t('体积/重量')">
          <template slot-scope="scope">
            {{ scope.row.volume + "/" + scope.row.weight }}
          </template>
        </el-table-column>
        <el-table-column :label="$t('收款类型')">
          <template>
            {{ $t("预付") }}
          </template>
        </el-table-column>
        <el-table-column :label="$t('收入类型')">
          <template slot-scope="scope">
            <dict-tag
              :type="DICT_TYPE.FEE_TYPE"
              :value="scope.row.feeType"
            ></dict-tag>
          </template>
        </el-table-column>
        <el-table-column :label="$t('应收金额')" prop="totalAmount">
          <template slot-scope="{ row }">
            {{ row.totalAmount }}
            {{ currencyMap[row.currencyId] }}
          </template>
        </el-table-column>

        <el-table-column :label="$t('付款人')">
          <template slot-scope="{ row }">
            <span>
              <dict-tag
                :type="DICT_TYPE.DRAWEE"
                :value="row.paymentUser"
              ></dict-tag>
            </span>
          </template>
        </el-table-column>
        <el-table-column :label="$t('付款状态')" prop="worth">
          <template slot-scope="scope">
            <dict-tag
              :type="DICT_TYPE.ECW_RECEIVABLE_STATE"
              :value="scope.row.state"
            ></dict-tag>
          </template>
        </el-table-column>
        <el-table-column :label="$t('付款状态')" prop="worth">
          <template slot-scope="scope">
            <dict-tag
              :type="DICT_TYPE.ECW_RECEIVABLE_STATE"
              :value="scope.row.state"
            ></dict-tag>
          </template>
        </el-table-column>
      </el-table>

      <!-- 单证异常,发货人异常,其他异常的表格 -->
      <el-table
        v-if="
          [
            'order_doc_exception',
            'order_consignor_exception',
            'order_other_exception',
            'fee_exception',
            'not_shipping_channel_exception',
          ].indexOf(orderExceptionData.orderExceptionType) > -1
        "
        v-loading="loading"
        border
        :data="orderData.orderItemVOList"
      >
        <el-table-column
          :label="$t('序号')"
          align="center"
          prop="id"
          type="index"
        >
          <template slot-scope="scope">
            <span>{{ scope.$index + 1 }}</span>
          </template>
        </el-table-column>
        <el-table-column
          :label="$t('中文名')"
          align="center"
          prop="prodTitleZh"
        />
        <el-table-column
          :label="$t('英文名')"
          align="center"
          prop="prodTitleEn"
        />
        <el-table-column :label="$t('品牌')" align="center" prop="brandType">
          <template slot-scope="scope">
            <dict-tag
              :type="DICT_TYPE.ECW_IS_BRAND"
              :value="scope.row.brandType"
            ></dict-tag>
          </template>
        </el-table-column>
        <el-table-column :label="$t('填单箱数')" prop="num" />
        <!-- v2.0  入仓特性异常 -->
        <el-table-column :label="$t('填单特性')" prop="prodAttrIds">
          <template slot-scope="scope">
            {{ getProdAtrr(scope.row.prodAttrIds) }}
          </template>
        </el-table-column>
        <el-table-column :label="$t('入仓箱数')">
          <template slot-scope="scope">
            {{
              scope.row.warehouseInInfoVO
                ? scope.row.warehouseInInfoVO.cartonsNum
                : 0
            }}
          </template>
        </el-table-column>
        <!-- v2.0  入仓特性异常 -->
        <el-table-column :label="$t('入仓特性')" prop="num">
          <template slot-scope="scope">
            {{ getProdAtrr(scope.row.warehouseInProdAttrIds) }}
          </template>
        </el-table-column>
        <el-table-column :label="$t('方数')" prop="volume">
          <template slot-scope="scope">
            {{
              scope.row.warehouseInInfoVO
                ? scope.row.warehouseInInfoVO.volume
                : 0
            }}
          </template>
        </el-table-column>
        <el-table-column :label="$t('重量')" prop="weight">
          <template slot-scope="scope">
            {{
              scope.row.warehouseInInfoVO
                ? scope.row.warehouseInInfoVO.weight
                : 0
            }}
          </template>
        </el-table-column>
        <el-table-column :label="$t('数量')" prop="quantity">
          <template slot-scope="scope">
            {{
              scope.row.warehouseInInfoVO
                ? scope.row.warehouseInInfoVO.quantityAll
                : 0
            }}
          </template>
        </el-table-column>
        <el-table-column :label="$t('货值')" prop="worth" />
      </el-table>
      <!-- 重量超限异常 -->
      <el-table
        v-if="
          ['line_weight_exception', 'overweight_exception'].indexOf(
            orderExceptionData.orderExceptionType
          ) > -1
        "
        border
        :data="loopOrderItem"
      >
        <el-table-column
          :label="$t('序号')"
          align="center"
          prop="id"
          type="index"
        >
          <template slot-scope="scope">
            <span>{{ scope.$index + 1 }}</span>
          </template>
        </el-table-column>
        <el-table-column
          :label="$t('中文名')"
          align="center"
          prop="prodTitleZh"
        />
        <el-table-column
          :label="$t('英文名')"
          align="center"
          prop="prodTitleEn"
        />
        <el-table-column :label="$t('品牌')" align="center" prop="brandType">
          <template slot-scope="scope">
            <dict-tag
              :type="DICT_TYPE.ECW_IS_BRAND"
              :value="scope.row.brandType"
            ></dict-tag>
          </template>
        </el-table-column>
        <el-table-column :label="$t('填单箱数')" prop="num" />
        <!-- v2.0  入仓特性异常 -->
        <el-table-column :label="$t('填单特性')" prop="prodAttrIds">
          <template slot-scope="scope">
            {{ getProdAtrr(scope.row.prodAttrIds) }}
          </template>
        </el-table-column>
        <el-table-column :label="$t('入仓箱数')">
          <template slot-scope="scope">
            {{
              scope.row.warehouseInInfoVO
                ? scope.row.warehouseInInfoVO.cartonsNum
                : 0
            }}
          </template>
        </el-table-column>
        <!-- v2.0  入仓特性异常 -->
        <el-table-column :label="$t('入仓特性')" prop="num">
          <template slot-scope="scope">
            {{ getProdAtrr(scope.row.warehouseInProdAttrIds) }}
          </template>
        </el-table-column>
        <el-table-column :label="$t('方数')" prop="volume">
          <template slot-scope="scope">
            {{
              scope.row.warehouseInInfoVO
                ? scope.row.warehouseInInfoVO.volume
                : 0
            }}
          </template>
        </el-table-column>
        <el-table-column :label="$t('重量')" prop="weight">
          <template slot-scope="scope">
            {{
              scope.row.warehouseInInfoVO
                ? scope.row.warehouseInInfoVO.weight
                : 0
            }}
          </template>
        </el-table-column>
        <el-table-column :label="$t('数量')" prop="quantity">
          <template slot-scope="scope">
            {{
              scope.row.warehouseInInfoVO
                ? scope.row.warehouseInInfoVO.quantityAll
                : 0
            }}
          </template>
        </el-table-column>
        <el-table-column :label="$t('货值')" prop="worth" />
      </el-table>
      <div
        class="overweight_order"
        v-if="
          ([
            'overweight_exception',
            'channel_packaging_overweight_exception',
          ].indexOf(orderExceptionData.orderExceptionType) > -1 &&
            handlerParams.orderExceptionHandlerResult ==
              'update_weight_limit') ||
          (['line_weight_exception'].indexOf(
            orderExceptionData.orderExceptionType
          ) > -1 &&
            handlerParams.orderExceptionHandlerResult == 'change_line_weight')
        "
      >
        <span
          v-if="
            orderExceptionData.orderExceptionType == 'line_weight_exception'
          "
          >{{ $t("路线重量上限") }}(kg)</span
        >
        <span v-else>{{ $t("空运订单重量上限") }}(kg)</span>
        <div style="width: 200px; margin-left: 20px">
          <el-input
            type="number"
            v-model="handlerParams.weightLimit"
          ></el-input>
        </div>
      </div>
      <!-- 未分配客户经理 -->
      <div
        v-if="
          orderExceptionData.orderExceptionType ==
          'not_customer_service_exception'
        "
      >
        <el-row :gutter="20">
          <el-col :span="8" v-if="orderData.consignorVO">
            <el-descriptions
              class="margin-top"
              border
              :title="$t('发货人')"
              :column="1"
              :labelStyle="{ width: '150px' }"
            >
              <el-descriptions-item :label="$t('发货人')">{{
                orderData.consignorVO.name
              }}</el-descriptions-item>
              <el-descriptions-item :label="$t('发货人电话')">
                +{{ orderData.consignorVO.countryCode }}
                {{ orderData.consignorVO.phone }}
              </el-descriptions-item>
              <el-descriptions-item :label="$t('发货人邮箱')">{{
                orderData.consignorVO.email
              }}</el-descriptions-item>
              <el-descriptions-item :label="$t('发货人公司名称')">
                {{ orderData.consignorVO.company }}
              </el-descriptions-item>
            </el-descriptions>
          </el-col>
          <el-col :span="16" v-if="orderData.consigneeVO">
            <el-descriptions
              class="margin-top"
              border
              :title="$t('收货人')"
              :column="2"
              :labelStyle="{ width: '150px' }"
            >
              <el-descriptions-item :label="$t('收货人')">{{
                orderData.consigneeVO.name
              }}</el-descriptions-item>
              <el-descriptions-item :label="$t('收货人电话')">
                +{{ orderData.consigneeVO.countryCode }}
                {{ orderData.consigneeVO.phone }}
              </el-descriptions-item>
              <el-descriptions-item :label="$t('收货人邮箱')">{{
                orderData.consigneeVO.email
              }}</el-descriptions-item>
              <el-descriptions-item :label="$t('收货人公司名称')">
                {{ orderData.consigneeVO.company }}
              </el-descriptions-item>
              <el-descriptions-item :label="$t('收货方式')">
                <dict-tag
                  :type="DICT_TYPE.ECW_HARVEST_METHOD"
                  :value="orderData.consigneeVO.harvestMethod"
                />
              </el-descriptions-item>
              <el-descriptions-item :label="$t('收货地区')">
                {{ region }}
              </el-descriptions-item>
              <el-descriptions-item :label="$t('收货地址')">
                {{ orderData.consigneeVO.address }}
              </el-descriptions-item>
            </el-descriptions>
          </el-col>
        </el-row>
        <div class="link-text">
          <router-link
            :to="{ path: '/customer/query/' + orderData.customerId }"
            class="link-type"
          >
            <span>{{ $t("归属客户") }}:{{ customerData.name || "" }} </span
            ><span>{{ $t("客户编号") }}:{{ customerData.number || "" }}</span>
          </router-link>
        </div>
      </div>
      <el-form
        :model="handlerParams"
        ref="queryForms"
        size="small"
        :inline="true"
        label-width="120px"
        class="card"
      >
        <el-row
          v-if="orderExceptionData.orderExceptionType == 'order_pay_exception'"
        >
          <el-form-item :label="$t('订单总金额') + ':'">
            <span
              style="margin-left: 8px"
              v-for="(item, key) of orderFee.totalAmountList"
              :key="key"
            >
              {{ item }}
              {{ currencyMap[key] }}
            </span>
          </el-form-item>
        </el-row>
        <el-row
          v-if="orderExceptionData.orderExceptionType == 'order_pay_exception'"
        >
          <el-form-item :label="$t('应付预付金额') + ':'">
            <span
              style="margin-left: 8px"
              v-for="(item, key) of orderFee.totalPaymentAmount"
              :key="key"
              >{{ item }}{{ currencyMap[key] }}</span
            >
          </el-form-item>
        </el-row>
        <el-row
          v-if="orderExceptionData.orderExceptionType == 'order_pay_exception'"
        >
          <el-col :span="6">
            <el-form-item :label="$t('已核销预付金额') + ':'">
              <span
                v-if="JSON.stringify(orderFee.writeOffAmount) != '{}'"
                style="margin-left: 8px"
                v-for="(item, key) of orderFee.writeOffAmount"
                :key="key"
                >{{ item }}{{ currencyMap[key] }}</span
              >
              <span v-if="JSON.stringify(orderFee.writeOffAmount) == '{}'"
                >0</span
              >
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item
              :label="$t('已核销预付金额占总金额比例') + ':'"
              label-width="320px"
            >
              {{ orderFee.writeOffAmountScale }}%
            </el-form-item>
          </el-col>
        </el-row>
        <el-row
          v-if="orderExceptionData.orderExceptionType == 'order_pay_exception'"
        >
          <el-col :span="6">
            <el-form-item :label="$t('预付商品货值') + ':'">
              {{ orderFee.paymentGoodsWorth }} {{ $t("人民币") }}
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item
              :label="$t('预付商品货值占总货值比例') + ':'"
              label-width="320px"
            >
              {{ orderFee.paymentGoodsWorthScale }}%
            </el-form-item>
          </el-col>
        </el-row>
        <el-row
          v-if="orderExceptionData.orderExceptionType == 'order_pay_exception'"
        >
          <el-col :span="6">
            <el-form-item :label="$t('预付商品方数') + ':'">
              {{ orderFee.paymentGoodsVolume }} {{ $t("立方米") }}
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item
              :label="$t('货值三分之一占运费和清关费总和比例') + ':'"
              label-width="320px"
            >
              {{ orderFee.needWorthScale }}%
            </el-form-item>
          </el-col>
        </el-row>
        <el-row
          v-if="orderExceptionData.orderExceptionType == 'order_pay_exception'"
        >
          <el-col :span="6">
            <el-form-item :label="$t('订单总方数') + ':'">
              {{ orderFee.totalVolume }} {{ $t("立方米") }}
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item
              :label="$t('预付商品方数占总方数比例') + ':'"
              label-width="320px"
            >
              {{ orderFee.paymentGoodsVolumeScale }}%
            </el-form-item>
          </el-col>
        </el-row>
        <el-row
          :span="12"
          v-if="orderExceptionData.orderExceptionType == 'order_doc_exception'"
        >
          <el-form-item
            v-if="orderExceptionData.orderExceptionStatus != 2"
            :label="$t('报关资料') + ':'"
            size="medium"
            :require="true"
          >
            <file-upload
              v-model="handlerParams.fileList"
              :value="orderExceptionData.orderExceptionAttr"
            ></file-upload>
          </el-form-item>
        </el-row>
        <el-form-item
          :label="$t('附件')"
          align="center"
          v-if="
            orderExceptionData.orderExceptionType == 'order_other_exception'
          "
        >
          <template slot-scope="scope">
            <div class="filelist">
              <span
                v-for="(item, index) in handlerParams.fileList"
                :key="index"
                @click="onClickOpenPreview(item, index)"
                >{{ "附件" + (index + 1) }}</span
              >
            </div>
          </template>
        </el-form-item>
        <!--货物重量异常-->
        <el-row
          :span="8"
          v-if="
            [
              'goods_weight_exception',
              'channel_exception',
              'not_shipping_channel_exception',
            ].indexOf(orderExceptionData.orderExceptionType) > -1
          "
        >
          <el-form-item :label="$t('备注') + ':'" size="medium">
            <el-input
              style="width: 500px"
              type="textarea"
              v-model="handlerParams.orderExceptionHandlerRemark"
              :disabled="orderExceptionData.orderExceptionStatus == 2"
            />
          </el-form-item>
        </el-row>
        <!-- 渠道超限异常 -->
        <div
          v-if="
            orderExceptionData.orderExceptionType ==
            'channel_packaging_overweight_exception'
          "
          class="card"
        >
          <div style="font-size: 18px; font-weight: 600">
            {{ $t("渠道包装超限品名列表") }}
          </div>
          <el-table
            v-loading="loading"
            border
            :data="orderData.orderItemVOList"
          >
            <el-table-column
              :label="$t('序号')"
              align="center"
              prop="id"
              type="index"
              min-width="30"
            >
              <template slot-scope="scope">
                <span>{{ scope.$index + 1 }}</span>
              </template>
            </el-table-column>
            <el-table-column
              :label="$t('中文名')"
              align="center"
              prop="prodTitleZh"
              min-width="50"
            />
            <el-table-column
              :label="$t('英文名')"
              align="center"
              prop="prodTitleEn"
              min-width="50"
            />
            <el-table-column
              :label="$t('品牌')"
              align="center"
              min-width="50"
              prop="brandType"
            >
              <template slot-scope="scope">
                <dict-tag
                  :type="DICT_TYPE.ECW_IS_BRAND"
                  :value="scope.row.brandType"
                ></dict-tag>
              </template>
            </el-table-column>
            <el-table-column
              :label="$t('填单箱数')"
              align="center"
              prop="num"
              min-width="60"
            />
            <!-- v2.0  入仓特性异常 -->
            <el-table-column
              :label="$t('填单特性')"
              align="center"
              prop="prodAttrIds"
              min-width="60"
            >
              <template slot-scope="scope">
                {{ getProdAtrr(scope.row.prodAttrIds) }}
              </template>
            </el-table-column>
            <el-table-column
              :label="$t('入仓箱数')"
              align="center"
              min-width="60"
            >
              <template slot-scope="scope">
                {{
                  scope.row.warehouseInInfoVO
                    ? scope.row.warehouseInInfoVO.cartonsNum
                    : 0
                }}
              </template>
            </el-table-column>
            <!-- v2.0  入仓特性异常 -->
            <el-table-column
              :label="$t('入仓特性')"
              align="center"
              prop="num"
              min-width="60"
            >
              <template slot-scope="scope">
                {{ getProdAtrr(scope.row.warehouseInProdAttrIds) }}
              </template>
            </el-table-column>
            <el-table-column
              :label="$t('方数')"
              align="center"
              prop="volume"
              min-width="30"
            >
              <template slot-scope="scope">
                {{
                  scope.row.warehouseInInfoVO
                    ? scope.row.warehouseInInfoVO.volume
                    : 0
                }}
              </template>
            </el-table-column>
            <el-table-column
              :label="$t('重量')"
              prop="weight"
              align="center"
              min-width="30"
            >
              <template slot-scope="scope">
                {{
                  scope.row.warehouseInInfoVO
                    ? scope.row.warehouseInInfoVO.weight
                    : 0
                }}
              </template>
            </el-table-column>
            <el-table-column
              :label="$t('数量')"
              prop="quantity"
              align="center"
              min-width="30"
            >
              <template slot-scope="scope">
                {{
                  scope.row.warehouseInInfoVO
                    ? scope.row.warehouseInInfoVO.quantityAll
                    : 0
                }}
              </template>
            </el-table-column>
            <el-table-column
              :label="$t('货值')"
              prop="worth"
              align="center"
              min-width="30"
            />
            <el-table-column
              :label="$t('运费/全包价')"
              prop="quantity"
              align="center"
              min-width="260"
            >
              <template slot-scope="scope">
                <div v-if="scope.row.charging == 1" class="channel">
                  <!-- <span v-if="!scope.row.oneSeaFreight">{{$t('全包价')}}:{{$t('未报价')}}</span> -->
                  <div class="channel">
                    <div style="width: 80px">{{ $t("全包价") }}:</div>
                    <div
                      style="width: 88%"
                      class="channel"
                      v-if="
                        orderExceptionData.orderExceptionStatus == 0 &&
                        handlerParams.orderExceptionHandlerResult ==
                          'allow_over'
                      "
                    >
                      <div
                        v-if="
                          !scope.row.seaFreightCurrency ||
                          !scope.row.seaFreightVolume
                        "
                      >
                        /
                      </div>
                      <div v-else>
                        <inputor
                          default2="0"
                          v-model.number="scope.row.oneSeaFreight"
                          type="number"
                          :placeholder="$t('整数或者两位小数')"
                          class="w100"
                        />
                        <span
                          >{{ currencyMap[scope.row.seaFreightCurrency] }} /
                          {{ unitMap[scope.row.seaFreightVolume] }}</span
                        >
                        <!--                          <selector v-model="scope.row.seaFreightCurrency" :options="currencyList" :label-field="$l('title')" value-field="id" defaultable2  class="w100" />
                          / <selector v-model="scope.row.seaFreightVolume" :options="unitList" :label-field="$l('title')" value-field="id" defaultable2  class="w100" /> -->
                      </div>
                    </div>
                    <div v-else class="channel">
                      <span v-if="!scope.row.oneSeaFreight">{{
                        $t("未报价")
                      }}</span>
                      <span v-else
                        >{{ scope.row.oneSeaFreight }}
                        {{ currencyMap[scope.row.seaFreightCurrency] }} /
                        {{ unitMap[scope.row.seaFreightVolume] }}</span
                      >
                    </div>
                  </div>
                </div>
                <div v-else>
                  <!-- <span v-if="!scope.row.oneSeaFreight">{{$t('运费')}}:{{$t('未报价')}}</span> -->
                  <div
                    class="channel"
                    v-if="
                      orderExceptionData.orderExceptionStatus == 0 &&
                      handlerParams.orderExceptionHandlerResult == 'allow_over'
                    "
                  >
                    <div style="width: 80px">{{ $t("运费") }}:</div>
                    <div
                      v-if="
                        !scope.row.seaFreightCurrency ||
                        !scope.row.seaFreightVolume
                      "
                    >
                      /
                    </div>
                    <div style="width: 88%" class="channel" v-else>
                      <inputor
                        default2="0"
                        v-model.number="scope.row.oneSeaFreight"
                        type="number"
                        :placeholder="$t('整数或者两位小数')"
                        class="w100"
                      />
                        {{ currencyMap[scope.row.seaFreightCurrency] }} /
                        {{ unitMap[scope.row.seaFreightVolume] }}
                      <!--template v-else>
                        <selector v-model="scope.row.seaFreightCurrency" :options="currencyList" :label-field="$l('title')" value-field="id"  class="w100" />
                        /
                        <selector v-model="scope.row.seaFreightVolume" :options="unitList" :label-field="$l('title')" value-field="id"  class="w100" />
                      </template-->
                    </div>
                  </div>
                  <div v-else class="channel">
                    <span v-if="!scope.row.oneSeaFreight">{{
                      $t("未报价")
                    }}</span>
                    <span v-else
                      >{{ scope.row.oneSeaFreight }}
                      {{ currencyMap[scope.row.seaFreightCurrency] }} /
                      {{ unitMap[scope.row.seaFreightVolume] }}</span
                    >
                  </div>
                </div>
              </template>
            </el-table-column>
            <el-table-column
              :label="$t('清关费')"
              prop="quantity"
              align="center"
              min-width="180"
            >
              <template slot-scope="scope">
                <div class="channel">
                  <!-- <span v-if="!scope.row.oneClearanceFreight">{{$t('未报价')}}</span> -->
                  <div
                    class="channel"
                    v-if="
                      orderExceptionData.orderExceptionStatus == 0 &&
                      handlerParams.orderExceptionHandlerResult == 'allow_over'
                    "
                  >
                    <div
                      v-if="
                        !scope.row.clearanceFreightCurrency ||
                        !scope.row.clearanceFreightVolume
                      "
                    >
                      /
                    </div>
                    <div v-else>
                      <inputor
                        default2="0"
                        v-model.number="scope.row.oneClearanceFreight"
                        type="number"
                        :placeholder="$t('整数或者两位小数')"
                        class="w100"
                      />
                        {{ currencyMap[scope.row.clearanceFreightCurrency] }} /
                        {{ unitMap[scope.row.clearanceFreightVolume] }}
                      <!--
                        <selector v-model="scope.row.clearanceFreightCurrency"  :options="currencyList" :label-field="$l('title')" value-field="id"  class="w100" />
                        / <selector v-model="scope.row.clearanceFreightVolume" :options="unitList" :label-field="$l('title')" value-field="id"  class="w100" />
                      -->
                    </div>
                  </div>
                  <div v-else>
                    <span v-if="!scope.row.oneClearanceFreight">{{
                      $t("未报价")
                    }}</span>
                    <span v-else
                      >{{ scope.row.oneClearanceFreight }}
                      {{ currencyMap[scope.row.clearanceFreightCurrency] }} /
                      {{ unitMap[scope.row.clearanceFreightVolume] }}</span
                    >
                  </div>
                </div>
              </template>
            </el-table-column>
          </el-table>
        </div>
        <!-- 线路单证异常,重量超限 -->
        <div
          v-if="
            orderExceptionData.orderExceptionType == 'line_loop_exception' ||
            ((orderExceptionData.orderExceptionType == 'overweight_exception' ||
              orderExceptionData.orderExceptionType ==
                'line_weight_exception') &&
              handlerParams.orderExceptionHandlerResult == 'allow_over')
          "
        >

          <div v-for="row in loopOrderItem" :key="row.orderItemId">

              <!-- <span v-if="!scope.row.oneSeaFreight">{{$t('运费')}}:{{$t('未报价')}}</span> -->
              <div v-if="orderExceptionData.orderExceptionStatus == 0">
                <div>
                  <el-form-item v-if="unitChangable && handlerParams.orderExceptionHandlerResult != 'confirmed_return'" :label="$t('是否预付')">
                    <el-radio-group v-model="row.needPay">
                      <el-radio :label="1">{{ $t("预付") }}</el-radio>
                      <el-radio :label="0">{{ $t("均可") }}</el-radio>
                    </el-radio-group>
                  </el-form-item>
                </div>
                <div>
                  <el-form-item v-if="unitChangable && handlerParams.orderExceptionHandlerResult != 'confirmed_return'" :label="$t('单价模式')">
                    <dict-selector
                      :type="DICT_TYPE.ECW_PRICE_TYPE"
                      v-model="row.charging"
                      form-type="radio"
                      formatter="number"
                    />
                  </el-form-item>
                </div>
                <div class="price_list" v-if="handlerParams.orderExceptionHandlerResult != 'confirmed_return'">
                  <div class="price_label">{{ row.charging == 1 ? $t('全包价') : $t("运费") }}:</div>
                  <div class="price_list">
                    <div
                      v-if="!row.seaFreightCurrency || !row.seaFreightVolume"
                    >
                      /
                    </div>
                    <div v-else>
                      <inputor
                        style="width: 100px"
                        default2="0"
                        v-model.number="row.oneSeaFreight"
                        type="number"
                        :placeholder="$t('整数或者两位小数')"
                      />
                      <span v-if="!unitChangable">
                        {{ currencyMap[row.seaFreightCurrency] }} /
                        {{ unitMap[row.seaFreightVolume] }}
                      </span>
                      <template v-else>
                        <selector style="width:100px" v-model="row.seaFreightCurrency" :options="currencyList" :label-field="$l('title')" value-field="id" defaultable2 />
                       / <selector style="width:100px" v-model="row.seaFreightVolume" :options="unitList" :label-field="$l('title')" value-field="id" defaultable2 />
                      </template>
                    </div>
                  </div>
                </div>
                <div class="price_list" v-if="(row.charging === 0 || row.charging === '0') && handlerParams.orderExceptionHandlerResult != 'confirmed_return'">
                  <div class="price_label">{{ $t("清关费") }}:</div>
                  <div class="price_list">
                    <div
                      v-if="
                        !row.clearanceFreightCurrency ||
                        !row.clearanceFreightVolume
                      "
                    >
                      /
                    </div>
                    <div v-else>
                      <inputor
                        style="width: 100px"
                        default2="0"
                        v-model.number="row.oneClearanceFreight"
                        type="number"
                        :placeholder="$t('整数或者两位小数')"
                      />
                      <span v-if="!unitChangable">
                        {{ currencyMap[row.clearanceFreightCurrency] }} /
                        {{ unitMap[row.clearanceFreightVolume] }}
                      </span>
                      <template v-else>
                        <selector style="width:100px" v-model="row.clearanceFreightCurrency" :options="currencyList" :label-field="$l('title')" value-field="id"  />
                       / <selector style="width:100px" v-model="row.clearanceFreightVolume" :options="unitList" :label-field="$l('title')" value-field="id"  />
                      </template>
                    </div>
                  </div>
                </div>
              </div>
              <div v-else>
                <div class="price_list">
                  <div v-if="!row.oneSeaFreight">
                    <span class="price_label">{{ $t("运费") }}:</span>
                    <span>{{ $t("未报价") }}</span>
                  </div>
                  <div v-else>
                    <span class="price_label">{{ $t("运费") }}:</span>
                    <span
                      >{{ row.oneSeaFreight }}
                      {{ currencyMap[row.seaFreightCurrency] }} /
                      {{ unitMap[row.seaFreightVolume] }}</span
                    >
                  </div>
                </div>
                <div class="price_list">
                  <div v-if="!row.oneClearanceFreight">
                    <span class="price_label">{{ $t("清关费") }}:</span>
                    <span>{{ $t("未报价") }}</span>
                  </div>
                  <div v-else>
                    <span class="price_label">{{ $t("清关费") }}:</span>
                    <span
                      >{{ row.oneClearanceFreight }}
                      {{ currencyMap[row.clearanceFreightCurrency] }} /
                      {{ unitMap[row.clearanceFreightVolume] }}</span
                    >
                  </div>
                </div>
              </div>
          </div>
        </div>
        <!--预付异常的备选需要根据接口数据过滤-->
        <el-row
          v-if="orderExceptionData.orderExceptionType == 'order_pay_exception'"
        >
          <el-form-item :label="$t('处理结果') + ':'" required>
            <el-select
              v-model="handlerParams.orderExceptionHandlerResult"
              :placeholder="$t('请选择')"
              clearable
              :disabled="orderExceptionData.orderExceptionStatus == 2"
            >
              <template
                v-for="dict in getDictDatas(
                  orderExceptionData.orderExceptionType + '_result'
                )"
              >
                <el-option
                  :disabled="
                    orderFee &&
                    orderFee.result &&
                    orderFee.result.indexOf(dict.value) == -1
                  "
                  :key="dict.value"
                  :label="$l(dict, 'label')"
                  :value="dict.value"
                />
              </template>
            </el-select>
          </el-form-item>
        </el-row>
        <el-row
          v-else-if="
            [
              'order_miss_exception',
              'order_superfluous_goods_exception',
              'order_in_water_exception',
              'order_damage_exception',
              'goods_weight_exception',
            ].indexOf(orderExceptionData.orderExceptionType) == -1
          "
        >
          <el-form-item :label="$t('处理结果') + ':'" required>
            <el-select
              v-model="handlerParams.orderExceptionHandlerResult"
              :placeholder="$t('请选择')"
              clearable
              @change="handlerResultChange"
              :disabled="orderExceptionData.orderExceptionStatus == 2"
            >
              <template
                v-for="dict in getDictDatas(
                  orderExceptionData.orderExceptionType + '_result'
                )"
              >
                <el-option
                  :disabled="dict.value == 'pending'"
                  :key="dict.value"
                  :label="$l(dict, 'label')"
                  :value="dict.value"
                />
              </template>
            </el-select>
          </el-form-item>
        </el-row>
        <!-- v1.7新增商品异常 -->
        <div
          v-if="
            shopData &&
            orderExceptionData.orderExceptionType == 'goods_add_exception' &&
            handlerParams.orderExceptionHandlerResult == 'goods_exists'
          "
        >
          <el-row :gutter="24">
            <el-col :span="6">
              <el-form-item :label="$t('新增品名中文') + ':'">
                {{ shopData.prodTitleZh || "" }}
              </el-form-item>
            </el-col>
            <el-form-item
              label="中文品名"
              :rules="{
                required: true,
                message: $t('请选择产品'),
                trigger: 'blur',
              }"
              class="mb-0 mr-0"
            >
              <product-selector
                :status="0"
                :disabled="orderExceptionData.orderExceptionStatus == 2"
                @hook:mounted="onTableMounted"
                v-model="productId2"
                @change="onProductChange($event)"
              />
            </el-form-item>
          </el-row>
          <el-row :gutter="24">
            <el-col :span="6">
              <el-form-item :label="$t('新增品名英文') + ':'">
                {{ shopData.prodTitleEn || "" }}
              </el-form-item>
            </el-col>
            <el-form-item
              label="英文品名"
              :rules="{
                required: true,
                message: $t('请选择产品'),
                trigger: 'blur',
              }"
              class="mb-0 mr-0"
            >
              <product-selector
                lang="En"
                :status="0"
                v-model="productId1"
                :disabled="orderExceptionData.orderExceptionStatus == 2"
                @change="onProductChange($event)"
              />
            </el-form-item>
          </el-row>
        </div>
        <el-row
          v-if="
            orderExceptionData.orderExceptionType ==
              'not_customer_service_exception' &&
            handlerParams.orderExceptionHandlerResult == 'allocate'
          "
        >
          <el-form-item :label="$t('移交客户经理') + ':'" required>
            <el-select
              v-model="handlerParams.customerService"
              :placeholder="$t('请选择客户经理')"
              clearable
              :disabled="orderExceptionData.orderExceptionStatus == 2"
            >
              <el-option
                v-for="dict in customerServiceList"
                :key="dict.id"
                :label="dict.nickname"
                :value="dict.id"
              />
            </el-select>
          </el-form-item>
        </el-row>
        <!-- 代收货款 时需要填写代收金额 -->
        <el-row v-if="handlerParams.orderExceptionHandlerResult == 'cod'">
          <el-form-item :label="$t('代收金额') + ':'" size="medium" required>
            <el-input
              class="w-100"
              type="text"
              v-model="handlerParams.amount"
              :disabled="orderExceptionData.orderExceptionStatus == 2"
            />
            <!-- <el-select v-model="handlerParams.currency"  clearable>
              <el-option  v-for="dict in getDictDatas('shipping_price_unit') "
                      :key="dict.value" :label="dict.label" :value="dict.value"/>
            </el-select> -->{{ getCurrencyLabel(handlerParams.currency) }}
            <!-- <dict-tag type="shipping_price_unit" v-model="handlerParams.currency" class="w-100 ml-10"  /> -->
          </el-form-item>
        </el-row>

        <el-row
          :span="8"
          v-if="
            orderExceptionData.orderExceptionType ==
              'order_pick_up_exception' &&
            handlerParams.orderExceptionHandlerResult == 'cost_required'
          "
        >
          <el-form-item :label="$t('送货费用') + ':'" size="medium">
            <el-input
              style="width: 100px"
              type="text"
              v-model="handlerParams.amount"
              :disabled="orderExceptionData.orderExceptionStatus == 2"
            />
            <el-select
              v-model="handlerParams.currency"
              style="width: 100px; margin-left: 10px"
              clearable
              :disabled="orderExceptionData.orderExceptionStatus == 2"
            >
              <el-option
                v-for="dict in currencyList"
                :key="dict.id"
                :label="dict.titleZh"
                :value="dict.id"
              />
            </el-select>
          </el-form-item>
        </el-row>
        <!--not_shipping_channel_exception 不可出渠道异常-->
        <el-row
          :span="8"
          v-if="
            [
              'not_customer_service_exception',
              'goods_add_exception',
              'goods_weight_exception',
              'channel_exception',
              'not_shipping_channel_exception',
            ].indexOf(orderExceptionData.orderExceptionType) == -1
          "
        >
          <el-form-item :label="$t('备注') + ':'" size="medium">
            <el-input
              style="width: 500px"
              type="textarea"
              v-model="handlerParams.orderExceptionHandlerRemark"
              :disabled="orderExceptionData.orderExceptionStatus == 2"
            />
          </el-form-item>
        </el-row>

        <div
          v-if="
            [
              'order_miss_exception',
              'order_superfluous_goods_exception',
              'order_in_water_exception',
              'order_damage_exception',
              'goods_weight_exception',
            ].indexOf(orderExceptionData.orderExceptionType) > -1
          "
        >
          <el-row>
            <el-form-item :label="$t('状态') + ':'">
              <el-radio-group
                v-model="handlerParams.orderExceptionStatus"
                @change="changeExceptionStatus"
                :disabled="orderExceptionData.orderExceptionStatus == 2"
              >
                <el-radio label="1">{{ $t("处理中") }}</el-radio>
                <el-radio label="2">{{ $t("已处理") }}</el-radio>
              </el-radio-group>
            </el-form-item>
          </el-row>
          <el-row>
            <el-form-item
              :label="$t('处理结果') + ':'"
              required
              v-if="handlerParams.orderExceptionStatus == 2"
            >
              <el-select
                v-model="handlerParams.orderExceptionHandlerResult"
                :placeholder="$t('请选择')"
                clearable
                :disabled="orderExceptionData.orderExceptionStatus == 2"
              >
                <el-option
                  v-for="dict in getDictDatas(
                    orderExceptionData.orderExceptionType + '_don_result'
                  )"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                />
              </el-select>
            </el-form-item>
          </el-row>
          <el-row>
            <el-form-item
              :label="$t('赔付金额') + ':'"
              size="medium"
              required
              v-if="
                orderExceptionData.orderExceptionType ==
                  'goods_weight_exception' &&
                handlerParams.orderExceptionStatus == 2 &&
                handlerParams.orderExceptionHandlerResult != 'customer_not_pay'
              "
            >
              <el-input
                style="width: 100px"
                type="text"
                v-model="handlerParams.amount"
                :disabled="orderExceptionData.orderExceptionStatus == 2"
              />
              <el-select
                v-model="handlerParams.currency"
                style="width: 100px; margin-left: 10px"
                clearable
                :disabled="orderExceptionData.orderExceptionStatus == 2"
              >
                <el-option
                  v-for="dict in currencyList"
                  :key="dict.id"
                  :label="dict.titleZh"
                  :value="dict.id"
                />
              </el-select>
            </el-form-item>
            <el-form-item
              :label="$t('赔付金额') + ':'"
              size="medium"
              required
              v-else-if="
                handlerParams.orderExceptionStatus == 2 &&
                orderExceptionData.orderExceptionType !=
                  'goods_weight_exception'
              "
            >
              <el-input
                style="width: 100px"
                type="text"
                v-model="handlerParams.amount"
                :disabled="orderExceptionData.orderExceptionStatus == 2"
              />
              <el-select
                v-model="handlerParams.currency"
                style="width: 100px; margin-left: 10px"
                clearable
                :disabled="orderExceptionData.orderExceptionStatus == 2"
              >
                <el-option
                  v-for="dict in currencyList"
                  :key="dict.id"
                  :label="dict.titleZh"
                  :value="dict.id"
                />
              </el-select>
            </el-form-item>
          </el-row>
          <div v-if="handlerParams.orderExceptionStatus == 1">
            <el-form-item :label="$t('查明原因') + ':'" required>
              <el-select
                v-model="handlerParams.orderExceptionHandlerResult"
                clearable
                :disabled="orderExceptionData.orderExceptionStatus == 2"
              >
                <el-option
                  v-for="dict in getDictDatas(
                    orderExceptionData.orderExceptionType + '_result'
                  )"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                />
              </el-select>
            </el-form-item>
          </div>
        </div>
        <!--            <el-form-item :label="$t('查明原因')+':'" required  v-if="orderExceptionData.orderExceptionType=='not_shipping_channel_exception'">
                <el-select v-model="handlerParams.orderExceptionHandlerResult" clearable :disabled="orderExceptionData.orderExceptionStatus==2">
                <el-option  v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')"
                          :key="dict.value" :label="dict.label" :value="dict.value"/>
                </el-select>
            </el-form-item> -->
        <!-- 不可出渠道异常,渠道异常 not_shipping_channel_exception-->
        <div
          v-if="
            (orderExceptionData.orderExceptionType ==
              'not_shipping_channel_exception' &&
              handlerParams.orderExceptionHandlerResult == 'change_channel') ||
            (orderExceptionData.orderExceptionType == 'channel_exception' &&
              handlerParams.orderExceptionHandlerResult ==
                'set_shipment_channel')
          "
        >
          <el-form-item
            :label="$t('出货渠道')"
            prop="channelId"
            v-if="
              getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, orderData.transportId)
                .cssClass == 'channel'
            "
          >
            <!--嵌套一个form来脱离disabled控制-->
            <el-form>
              <el-select
                v-model="handlerParams.channelId"
                :placeholder="$t('请选择出货渠道')"
                @change="calculationPrice"
              >
                <el-option
                  v-for="item in channelList"
                  :key="item.channelId"
                  :label="$i18n.locale == 'zh_CN' ? item.nameZh : item.nameEn"
                  :value="item.channelId"
                />
              </el-select>
              <!--<selector
                    v-model="handlerParams.channelId"
                    :options="channelList"
                    value-field="channelId"
                    :label-field="$l(null, 'name')"
                    ></selector> -->
            </el-form>
          </el-form-item>
          <el-form-item :label="$t('选择线路')" prop="lineId">
            <el-input
              :value="
                selectLine
                  ? $l(selectLine, 'startTitle') +
                    ' > ' +
                    $l(selectLine, 'destTitle')
                  : ''
              "
              disabled
              :placeholder="$t('请在右侧选择线路')"
            ></el-input>
          </el-form-item>
          <!--select是原生组件,不受el-form的disabled控制-->
          <select
            size="5"
            v-model="handlerParams.lineId"
            style="
              min-width: 300px;
              border: 1px solid #dcdfe6;
              border-radius: 4px;
            "
            @change="changeLined"
          >
            <option
              v-for="item in routerList"
              :value="item.id"
              :key="item.id"
              :disabled="orderExceptionData.orderExceptionStatus > 0"
            >
              {{ $l(item, "startTitle") }} >>
              {{ $l(item, "destTitle") }} (<dict-tag
                :type="DICT_TYPE.ECW_TRANSPORT_TYPE"
                :value="item.transportType"
              ></dict-tag
              >)
            </option>
          </select>
        </div>
        <!-- 不可出渠道异常 -->
        <div
          v-if="
            orderExceptionData.orderExceptionType ==
              'not_shipping_channel_exception' &&
            (handlerParams.orderExceptionHandlerResult == 'change_channel' ||
              handlerParams.orderExceptionHandlerResult == 'continue_channel')
          "
          class="card"
        >
          <el-table
            v-loading="loading"
            border
            :data="orderData.orderItemVOList"
          >
            <el-table-column
              :label="$t('序号')"
              align="center"
              prop="id"
              type="index"
              min-width="30"
            >
              <template slot-scope="scope">
                <span>{{ scope.$index + 1 }}</span>
              </template>
            </el-table-column>
            <el-table-column
              :label="$t('中文名')"
              align="center"
              prop="prodTitleZh"
              min-width="50"
            />
            <el-table-column
              :label="$t('英文名')"
              align="center"
              prop="prodTitleEn"
              min-width="50"
            />
            <el-table-column
              :label="$t('品牌')"
              align="center"
              min-width="50"
              prop="brandType"
            >
              <template slot-scope="scope">
                <dict-tag
                  :type="DICT_TYPE.ECW_IS_BRAND"
                  :value="scope.row.brandType"
                ></dict-tag>
              </template>
            </el-table-column>
            <el-table-column
              :label="$t('填单箱数')"
              align="center"
              prop="num"
              min-width="60"
            />
            <!-- v2.0  入仓特性异常 -->
            <el-table-column
              :label="$t('填单特性')"
              align="center"
              prop="prodAttrIds"
              min-width="60"
            >
              <template slot-scope="scope">
                {{ getProdAtrr(scope.row.prodAttrIds) }}
              </template>
            </el-table-column>
            <el-table-column
              :label="$t('入仓箱数')"
              align="center"
              min-width="60"
            >
              <template slot-scope="scope">
                {{
                  scope.row.warehouseInInfoVO
                    ? scope.row.warehouseInInfoVO.cartonsNum
                    : 0
                }}
              </template>
            </el-table-column>
            <!-- v2.0  入仓特性异常 -->
            <el-table-column
              :label="$t('入仓特性')"
              align="center"
              prop="num"
              min-width="60"
            >
              <template slot-scope="scope">
                {{ getProdAtrr(scope.row.warehouseInProdAttrIds) }}
              </template>
            </el-table-column>
            <el-table-column
              :label="$t('方数')"
              align="center"
              prop="volume"
              min-width="30"
            >
              <template slot-scope="scope">
                {{
                  scope.row.warehouseInInfoVO
                    ? scope.row.warehouseInInfoVO.volume
                    : 0
                }}
              </template>
            </el-table-column>
            <el-table-column
              :label="$t('重量')"
              prop="weight"
              align="center"
              min-width="30"
            >
              <template slot-scope="scope">
                {{
                  scope.row.warehouseInInfoVO
                    ? scope.row.warehouseInInfoVO.weight
                    : 0
                }}
              </template>
            </el-table-column>
            <el-table-column
              :label="$t('数量')"
              prop="quantity"
              align="center"
              min-width="30"
            >
              <template slot-scope="scope">
                {{
                  scope.row.warehouseInInfoVO
                    ? scope.row.warehouseInInfoVO.quantityAll
                    : 0
                }}
              </template>
            </el-table-column>
            <el-table-column
              :label="$t('货值')"
              prop="worth"
              align="center"
              min-width="30"
            />
            <el-table-column
              :label="$t('运费/全包价')"
              prop="quantity"
              align="center"
              min-width="260"
              v-if="
                handlerParams.orderExceptionHandlerResult == 'continue_channel'
              "
            >
              <template slot-scope="scope">
                <div v-if="scope.row.charging == 1" class="channel">
                  <!-- <span v-if="!scope.row.oneSeaFreight">{{$t('全包价')}}:{{$t('未报价')}}</span> -->
                  <div class="channel">
                    <div style="width: 80px">{{ $t("全包价") }}:</div>
                    <div
                      style="width: 88%"
                      class="channel"
                      v-if="orderExceptionData.orderExceptionStatus == 0"
                    >
                      <div
                        v-if="
                          !scope.row.seaFreightCurrency ||
                          !scope.row.seaFreightVolume
                        "
                      >
                        /
                      </div>
                      <div v-else>
                        <inputor
                          default2="0"
                          v-model.number="scope.row.oneSeaFreight"
                          type="number"
                          :placeholder="$t('整数或者两位小数')"
                          class="w100"
                        />
                        <span
                          >{{ currencyMap[scope.row.seaFreightCurrency] }} /
                          {{ unitMap[scope.row.seaFreightVolume] }}</span
                        >
                        <!--                        <selector v-model="scope.row.seaFreightCurrency" :options="currencyList" :label-field="$l('title')" value-field="id" defaultable2  class="w100" />
                              / <selector v-model="scope.row.seaFreightVolume" :options="unitList" :label-field="$l('title')" value-field="id" defaultable2  class="w100" /> -->
                      </div>
                    </div>
                    <div v-else class="channel">
                      <span v-if="!scope.row.oneSeaFreight">{{
                        $t("未报价")
                      }}</span>
                      <span v-else
                        >{{ scope.row.oneSeaFreight }}
                        {{ currencyMap[scope.row.seaFreightCurrency] }} /
                        {{ unitMap[scope.row.seaFreightVolume] }}</span
                      >
                    </div>
                  </div>
                </div>
                <div v-else>
                  <!-- <span v-if="!scope.row.oneSeaFreight">{{$t('运费')}}:{{$t('未报价')}}</span> -->
                  <div
                    class="channel"
                    v-if="orderExceptionData.orderExceptionStatus == 0"
                  >
                    <div style="width: 80px">{{ $t("运费") }}:</div>
                    <div style="width: 88%" class="channel">
                      <div
                        v-if="
                          !scope.row.seaFreightCurrency ||
                          !scope.row.seaFreightVolume
                        "
                      >
                        /
                      </div>
                      <div v-else>
                        <inputor
                          default2="0"
                          v-model.number="scope.row.oneSeaFreight"
                          type="number"
                          :placeholder="$t('整数或者两位小数')"
                          class="w100"
                        />
                        <span
                          >{{ $t("运费") }}:{{ scope.row.oneSeaFreight }}
                          {{ currencyMap[scope.row.seaFreightCurrency] }} /
                          {{ unitMap[scope.row.seaFreightVolume] }}</span
                        >
                        <!--                              <selector v-model="scope.row.seaFreightCurrency" :options="currencyList" :label-field="$l('title')" value-field="id" defaultable2  class="w100" />
                              / <selector v-model="scope.row.seaFreightVolume" :options="unitList" :label-field="$l('title')" value-field="id" defaultable2  class="w100" /> -->
                      </div>
                    </div>
                  </div>
                  <div v-else class="channel">
                    <span v-if="!scope.row.oneSeaFreight"
                      >{{ $t("运费") }}:{{ $t("未报价") }}</span
                    >
                    <span v-else
                      >{{ $t("运费") }}:{{ scope.row.oneSeaFreight }}
                      {{ currencyMap[scope.row.seaFreightCurrency] }} /
                      {{ unitMap[scope.row.seaFreightVolume] }}</span
                    >
                  </div>
                </div>
              </template>
            </el-table-column>
            <el-table-column
              :label="$t('清关费')"
              prop="quantity"
              align="center"
              min-width="180"
              v-if="
                handlerParams.orderExceptionHandlerResult == 'continue_channel'
              "
            >
              <template slot-scope="scope">
                <div class="channel">
                  <!-- <span v-if="!scope.row.oneClearanceFreight">{{$t('未报价')}}</span> -->
                  <div
                    class="channel"
                    v-if="orderExceptionData.orderExceptionStatus == 0"
                  >
                    <div
                      v-if="
                        !scope.row.clearanceFreightCurrency ||
                        !scope.row.clearanceFreightVolume
                      "
                    >
                      /
                    </div>
                    <div v-else>
                      <inputor
                        default2="0"
                        v-model.number="scope.row.oneClearanceFreight"
                        type="number"
                        :placeholder="$t('整数或者两位小数')"
                        class="w100"
                      />
                      <span
                        >{{ currencyMap[scope.row.clearanceFreightCurrency] }} /
                        {{ unitMap[scope.row.clearanceFreightVolume] }}</span
                      >
                    </div>
                  </div>
                  <div v-else>
                    <span v-if="!scope.row.oneClearanceFreight">{{
                      $t("未报价")
                    }}</span>
                    <span v-else
                      >{{ scope.row.oneClearanceFreight }}
                      {{ currencyMap[scope.row.clearanceFreightCurrency] }} /
                      {{ unitMap[scope.row.clearanceFreightVolume] }}</span
                    >
                  </div>
                </div>
              </template>
            </el-table-column>
            <el-table-column
              :label="$t('运费/全包价')"
              prop="quantity"
              align="center"
              min-width="220"
              v-if="
                handlerParams.orderExceptionHandlerResult == 'change_channel'
              "
            >
              <template slot-scope="scope">
                <div v-if="scope.row.charging == 1" class="channel">
                  <span v-if="!scope.row.oneSeaFreight"
                    >{{ $t("全包价") }}:{{ $t("未报价") }}</span
                  >
                  <span v-else
                    >{{ $t("全包价") }}:{{ scope.row.oneSeaFreight }}
                    {{ currencyMap[scope.row.seaFreightCurrency] }} /
                    {{ unitMap[scope.row.seaFreightVolume] }}</span
                  >
                  <!-- <el-button v-if="orderExceptionData.orderExceptionStatus==0" type="primary" plain @click="routeToPrice(scope.row,1)">{{!scope.row.oneSeaFreight?$t('报价'):$t('修改报价')}}</el-button> -->
                </div>
                <div v-else class="channel">
                  <span v-if="!scope.row.oneSeaFreight"
                    >{{ $t("运费") }}:{{ $t("未报价") }}</span
                  >
                  <span v-else
                    >{{ $t("运费") }}:{{ scope.row.oneSeaFreight }}
                    {{ currencyMap[scope.row.seaFreightCurrency] }} /
                    {{ unitMap[scope.row.seaFreightVolume] }}</span
                  >
                  <!-- <el-button v-if="orderExceptionData.orderExceptionStatus==0" type="primary" plain @click="routeToPrice(scope.row,1)">{{!scope.row.oneSeaFreight?$t('报价'):$t('修改报价')}}</el-button> -->
                </div>
              </template>
            </el-table-column>
            <el-table-column
              :label="$t('清关费')"
              prop="quantity"
              align="center"
              min-width="260"
              v-if="
                handlerParams.orderExceptionHandlerResult == 'change_channel'
              "
            >
              <template slot-scope="scope">
                <div class="channel">
                  <span v-if="!scope.row.oneClearanceFreight">{{
                    $t("未报价")
                  }}</span>
                  <span v-else
                    >{{ scope.row.oneClearanceFreight }}
                    {{ currencyMap[scope.row.clearanceFreightCurrency] }} /
                    {{ unitMap[scope.row.clearanceFreightVolume] }}</span
                  >
                  <!-- <el-button v-if="orderExceptionData.orderExceptionStatus==0"  type="primary" plain @click="routeToPrice(scope.row,2)">{{!scope.row.oneClearanceFreight?$t('报价'):$t('修改报价')}}</el-button> -->
                </div>
              </template>
            </el-table-column>
          </el-table>
        </div>
        <!-- 渠道异常 -->
        <div
          v-if="
            orderExceptionData.orderExceptionType == 'channel_exception' &&
            handlerParams.orderExceptionHandlerResult == 'set_shipment_channel'
          "
        >
          <div v-for="row in orderData.orderItemVOList" :key="row.orderItemId">
            <div v-if="row.charging == 1">
              <el-form-item
                style="margin-left: 40px"
                :label="$t('全包价成交单价') + ':'"
                size="medium"
              >
                <span v-if="!row.oneSeaFreight">{{ $t("未报价") }}</span>
                <span v-else
                  >{{ row.oneSeaFreight }}
                  {{ currencyMap[row.seaFreightCurrency] }} /
                  {{ unitMap[row.seaFreightVolume] }}</span
                >
              </el-form-item>
            </div>
            <div v-else class="feeList">
              <el-form-item :label="$t('运费成交单价') + ':'" size="medium">
                <span v-if="!row.oneSeaFreight">{{ $t("未报价") }}</span>
                <span v-else
                  >{{ row.oneSeaFreight }}
                  {{ currencyMap[row.seaFreightCurrency] }} /
                  {{ unitMap[row.seaFreightVolume] }}</span
                >
              </el-form-item>
              <el-form-item :label="$t('清关费成交单价') + ':'" size="medium">
                <span v-if="!row.oneClearanceFreight">{{ $t("未报价") }}</span>
                <span v-else
                  >{{ row.oneClearanceFreight }}
                  {{ currencyMap[row.clearanceFreightCurrency] }} /
                  {{ unitMap[row.clearanceFreightVolume] }}</span
                >
              </el-form-item>
            </div>
          </div>
        </div>
        <el-form-item
          v-if="
            orderExceptionData.orderExceptionType ==
              'not_shipping_channel_exception' &&
            handlerParams.orderExceptionHandlerResult == 'change_channel' &&
            orderExceptionData.reason
          "
          :label="$t('审核驳回原因') + ':'"
          size="medium"
        >
          <span>{{ orderExceptionData.orderExceptionNotes }}</span>
        </el-form-item>
      </el-form>
    </el-card>
    <!-- 只有不需要预付才需要审核 -->
    <template
      v-if="showWorkFlow && orderExceptionData.orderExceptionStatus != 2"
    >
      <div class="page-title">{{ $t("审批流程") }}</div>
      <work-flow xmlkey="commission_config" v-model="handlerParams.ccIds" />
    </template>
    <div slot="footer" class="dialog-footer">
      <!-- bpmStatus
      异常流程状态,1处理中2通过3不通过4已取消
      待审核可能没有bpmStatus字段
      -->
      <template
        v-if="
          orderExceptionData.bpmStatus == 1 ||
          (orderExceptionData.bpmId && !orderExceptionData.bpmStatus)
        "
      >
        <el-button
          v-if="
            [
              'channel_packaging_overweight_exception',
              'line_weight_exception',
              'overweight_exception',
            ].indexOf(orderExceptionData.orderExceptionType) > -1
          "
          type="primary"
          @click="
            $router.push(
              `/bpm/process-instance/detail?id=` + orderExceptionData.bpmId
            )
          "
          >{{ $t("重量超限改价审核中") }}</el-button
        >
        <el-button
          v-else
          type="primary"
          @click="
            $router.push(
              `/bpm/process-instance/detail?id=` + orderExceptionData.bpmId
            )
          "
          >{{ $t("审核中") }}</el-button
        >
        <el-button
          v-if="
            [
              'channel_packaging_overweight_exception',
              'line_weight_exception',
              'overweight_exception',
            ].indexOf(orderExceptionData.orderExceptionType) > -1
          "
          plain
          type="primary"
          @click="cancelAudit"
          >{{ $t("取消重量超限改价审核") }}</el-button
        >
        <el-button v-else plain type="primary" @click="cancelAudit">{{
          $t("取消审核")
        }}</el-button>
        <el-button
          plain
          type="primary"
          @click="$store.dispatch('tagsView/delCurrentView')"
          >{{ $t("返回") }}</el-button
        >
      </template>
      <template v-else-if="orderExceptionData.orderExceptionStatus == 2">
        <el-button
          plain
          type="primary"
          @click="$store.dispatch('tagsView/delCurrentView')"
          >{{ $t("返回") }}</el-button
        >
      </template>
      <template v-else>
        <el-button type="primary" @click="submitForm">{{
          $t("提交")
        }}</el-button>
        <el-button
          plain
          type="primary"
          @click="$store.dispatch('tagsView/delCurrentView')"
          >{{ $t("取消") }}</el-button
        >
      </template>
    </div>
    <div class="preview" v-if="IsPreview">
      <file-preview
        :key="timers"
        :TragetPic="TragetPic"
        :FilePreAll="FilePreAll"
        @Close="onClickClosePreview"
      ></file-preview>
    </div>
  </div>
</template>

<script>
import FileUpload from "@/components/FileUpload";
import { getDictData, getDictDatas } from "@/utils/dict";
import { getOrder } from "@/api/ecw/order";
import FilePreview from "@/components/FilePreview";
import { getCurrencyList } from "@/api/ecw/currency";
import {
  getExceptionById,
  handlerExceptionByExceptionId,
  getOrderItemById,
  getOrderFeeById,
  getOrderExcptionResult,
  getOrderExceptionChannelPriceList,
} from "@/api/ecw/orderException";
import { getFirstReceivableListByOrderId } from "@/api/ecw/financial";
import WorkFlow from "@/components/WorkFlow";
import { listByIds } from "@/api/ecw/region";
import { listServiceUser } from "@/api/system/user";
import { cancelProcessInstance } from "@/api/bpm/processInstance";
import { getCustomer } from "@/api/ecw/customer";
import ProductSelector from "@/components/ProductSelector";
import { getProductAttrList } from "@/api/ecw/productAttr";
import { getChannelList } from "@/api/ecw/channel";
import Selector from "@/components/Selector";
import { openedRouterList as getOpenedRouterList } from "@/api/ecw/warehouse";
import { getTradeCityList } from "@/api/ecw/region";
import { getUnitList } from "@/api/ecw/unit";
import { getProduct, calculationPrice } from "@/api/ecw/product";
import { getProductPriceGetPrice } from "@/api/ecw/productPrice";
import Inputor from "@/components/Inputor";

export default {
  name: "EcwOrderPrepaydeal",
  components: {
    FileUpload,
    WorkFlow,
    FilePreview,
    ProductSelector,
    Selector,
    Inputor,
  },
  data() {
    return {
      // 遮罩层
      loading: false,
      orderExceptionData: {},
      types: "package,bag",
      importance: 1,
      orderData: {},
      orderId: 0,
      orderExceptionId: 0,
      handlerParams: {
        orderExceptionId: 0,
        orderExceptionStatus: "1",
        orderExceptionHandlerResult: "",
      },

      //发货/收货人信息
      consigneeData: [],
      routerList: [],
      multipleSelection: [],
      preException: [],
      orderFee: [],
      currencyList: [],
      showWorkFlow: false, // 是否显示工作流
      IsPreview: false, // 控制预览弹窗字段
      timers: "", //时间戳
      FilePreAll: [], // 预览数组
      TragetPic: {},
      region: "",
      customerData: {}, //归属客户
      customerServiceList: [], //客户经理
      productId1: null,
      productId2: null,
      productAttrList: [], // 商品属性
      channelName: "/",
      channelList: [], // 出货取到
      tradeCityList: [],
      unitList: [],
      selectLine: null,
      calculating: false, // 是否正在计算费用,防止频繁重新请求,
      loopOrderItem: [], //线路单询异常清关费,
      // 単询异常是否可以更改单位
      unitChangable: false
    };
  },
  activated() {
    this.handlerParams = {
      orderExceptionId: 0,
      orderExceptionStatus: "1",
      orderExceptionHandlerResult: "",
    };
    if (this.$route.query.id) {
      console.log(this.$route.query.id);
      this.orderExceptionId = this.$route.query.id;
      this.handlerParams.orderExceptionId = this.$route.query.id;
      this.getList();
    }
  },
  async created() {
    getUnitList().then((res) => (this.unitList = res.data));
    this.channelList = (await getChannelList()).data;
    this.productAttrList = (await getProductAttrList()).data;
    listServiceUser().then((r) => {
      this.customerServiceList = r.data;
    });

    await getCurrencyList().then((res) => (this.currencyList = res.data));
    this.tradeCityList = (await getTradeCityList()).data;
    if (this.$route.query.id) {
      this.orderExceptionId = this.$route.query.id;
      this.handlerParams.orderExceptionId = this.$route.query.id;
      this.getList();
    }
  },
  watch: {
    "handlerParams.orderExceptionHandlerResult"(val) {
      console.log(val);
      if (val == "no_pay" || val == "allow_over") {
        this.showWorkFlow = true;
      } else if (val == "continue_channel") {
        this.showWorkFlow = true;
      } else this.showWorkFlow = false;

      // 如果是代收货款,则给默认单位
      if (
        val == "cod" &&
        this.orderExceptionData.orderExceptionAmountCurrencyId
      ) {
        this.$set(
          this.handlerParams,
          "currency",
          this.orderExceptionData.orderExceptionAmountCurrencyId
        );
      }

      if (
        this.orderExceptionData.orderExceptionType ==
        "not_shipping_channel_exception"
      ) {
        //初始话渠道数据
        this.calculationPrice();
      }
    },
    "orderData.consigneeVO"(val) {
      if (!val) return "-";
      listByIds({ ids: [val.country, val.province, val.city].join(",") }).then(
        (res) => {
          console.log("listById", res);
          let region = "";
          res.data.forEach((item) => {
            region +=
              " " +
              (this.$i18n.locale == "zh_CN" ? item.titleZh : item.titleEn);
          });
          this.region = region;
        }
      );
    },
    "orderData.channelId"() {
      this.getChannel();
    },
  },
  computed: {
    currencyMap() {
      let map = {};
      this.currencyList.forEach((item) => {
        map[item.id] = this.$l(item, "title");
      });
      return map;
    },
    unitMap() {
      let map = {};
      this.unitList.forEach((item) => {
        map[item.id] = this.$l(item, "title");
      });
      return map;
    },
    // 是否已完成入仓
    inWarehouse() {
      return (
        (!!this.orderData.inWarehouseState &&
          this.orderData.inWarehouseState > 201) ||
        this.orderData.shipmentState > 0
      );
    },
    selectedRouter() {
      console.log(this.handlerParams.lineId);
      // otherService 1 集运服务  2 送货上门  3 非控货订单代收货款  4 海外仓  5 提货异常
      if (!this.handlerParams.lineId) return null;
      return this.routerList.find(
        (item) => item.id == this.handlerParams.lineId
      );
    },
    shopData() {
      if (
        this.orderExceptionData.orderItemId &&
        this.orderData &&
        this.orderData.orderItemVOList
      ) {
        if (
          this.orderExceptionData.orderExceptionType == "goods_add_exception" &&
          !this.handlerParams.productId
        ) {
          this.handlerParams.productId = this.orderData.orderItemVOList.find(
            (item) => item.orderItemId == this.orderExceptionData.orderItemId
          ).prodId;
          // this.productId1 = this.handlerParams.productId
          // this.productId2 = this.handlerParams.productId
        }
        return this.orderData.orderItemVOList.find(
          (item) => item.orderItemId == this.orderExceptionData.orderItemId
        );
      }
    },

    getDictData() {
      return (type, value) => getDictData(type, value) || {};
    },
    exportCityList() {
      return this.tradeCityList.filter(
        (item) => item.type == 2 || item.type == 3
      );
    },
    importCityList() {
      return this.tradeCityList.filter(
        (item) => item.type == 1 || item.type == 3
      );
    },
    exportCityIds() {
      let ids = [];
      this.exportCityList.forEach((item) => {
        ids.push(item.id);
      });
      return ids;
    },
    importCityIds() {
      let ids = [];
      this.importCityList.forEach((item) => {
        ids.push(item.id);
      });
      return ids;
    },
  },
  methods: {
    changeLined(e) {
      this.selectLine = this.routerList.find(
        (item) => item.id == this.handlerParams.lineId
      );
      this.calculationPrice();
    },
    //getDictData,
    onTableMounted(e) {
      // console.warn('onTableMounted', e)
    },
    getProdAtrr(ids) {
      if (!ids) return "";
      let attr = [];

      let attrIds = ids.split(",");
      this.productAttrList.forEach((item) => {
        if (
          attrIds.indexOf(item.id) > -1 ||
          attrIds.indexOf(item.id + "") > -1
        ) {
          attr.push(this.$l(item, "attrName"));
        }
      });
      return attr.join(",");
    },
    /** 查询列表 */
    getCurrencyLabel(id) {
      var label = this.currencyList.filter((item) => item.id == id);
      if (label.length > 0)
        return this.$i18n.locale == "zh_CN"
          ? label[0].titleZh
          : label[0].titleEn;
      return "";
    },
    getChannel() {
      if (
        !this.order ||
        !this.order.channelId ||
        this.order.transportId == 1 ||
        this.order.transportId == 2
      )
        return;
      getChannel(this.order.channelId).then((res) => {
        this.channelName =
          this.$i18n.locale == "zh_CN" ? res.data.nameZh : res.data.nameEn;
      });
    },
    getList() {
      let that = this;
      that.loading = true;
      getExceptionById(that.orderExceptionId).then((response) => {
        that.orderExceptionData = response.data;

        that.loading = false;
        that.orderId = response.data.orderId;
        that.getOrderData();
        if (that.orderExceptionData.orderExceptionAttr) {
          that.handlerParams.fileList =
            that.orderExceptionData.orderExceptionAttr.split(",");
        }
        if (that.orderExceptionData.orderExceptionRemark) {
          that.orderExceptionData.orderExceptionRemark = JSON.parse(
            that.orderExceptionData.orderExceptionRemark
          );
        }
        if (that.orderExceptionData.additionalJson) {
          that.orderExceptionData.additionalJson = JSON.parse(
            that.orderExceptionData.additionalJson
          );
        }
        // if(response.data.hasOwnProperty('orderItemId')){
        //   that.getShopData(response.data.orderItemId)
        // }

        if (
          that.orderExceptionData.orderExceptionType == "order_pay_exception"
        ) {
          that.getOrderFeeByIdData();
          that.getPreExceptionData();
        }
        if (that.orderExceptionData.orderExceptionStatus > 0) {
          that.getOrderExcptionResult();
          that.$set(
            that.handlerParams,
            "orderExceptionStatus",
            that.orderExceptionData.orderExceptionStatus
          );
        }
      });
    },
    // 获取路线
    getOpenedRouterList() {
      let params = {};
      if (
        this.orderData.departureVO &&
        this.orderData.departureVO.departureId
      ) {
        params.startCityId = this.orderData.departureVO.departureId;
      }
      if (
        this.orderData.objectiveVO &&
        this.orderData.objectiveVO.objectiveId
      ) {
        params.destCityId = this.orderData.objectiveVO.objectiveId;
      }
      if (this.orderData.transportId) {
        params.transportType = this.orderData.transportId;
      }
      // 始发,目的和运输方式都没有的时候不获取
      if (!params.startCityId && !params.destCityId && !params.transportType)
        return false;
      getOpenedRouterList(params).then((res) => {
        this.routerList = res.data.filter((item) => {
          return (
            this.exportCityIds.indexOf(item.startCityId) > -1 &&
            this.importCityIds.indexOf(item.destCityId) > -1
          );
        });
        if (
          this.orderExceptionData.orderExceptionType == "channel_exception" ||
          this.orderExceptionData.orderExceptionType ==
            "not_shipping_channel_exception"
        ) {
          //not_shipping_channel_exception 不可出渠道异常
          this.selectLine = this.routerList.find(
            (item) => item.id == this.handlerParams.lineId
          );
        }
      });
    },
    changeExceptionStatus() {
      this.$set(this.handlerParams, "orderExceptionHandlerResult", "");
    },
    //订单详情
    getOrderData() {
      //not_shipping_channel_exception 不可出渠道异常
      getOrder(this.orderId).then((response) => {
        this.orderData = response.data;
        const orderItem = this.orderData.orderItemVOList.find(item => item.orderItemId === this.orderExceptionData.orderItemId)
        console.log("uniChangable", this.orderExceptionData.orderExceptionStatus,
          this.orderExceptionData.orderExceptionType,
          orderItem?.oneSeaFreight, orderItem?.oneClearanceFreight)
        // 待处理 且 単询异常 且 清关费和运费为0则可以修改单位
        if(
          this.orderExceptionData.orderExceptionStatus == 0 &&
          this.orderExceptionData.orderExceptionType === "line_loop_exception" &&
          orderItem && orderItem.oneSeaFreight === 0 && orderItem.oneClearanceFreight === 0
        ){
          this.unitChangable = true
        }else this.unitChangable = false

        if (this.orderData.channelId != 0) {
          this.channelList.map((v) => {
            if (v.channelId == this.orderData.channelId) {
              this.handlerParams.channelId = this.orderData.channelId;
            }
          });
        }

        this.handlerParams.lineId = this.orderData.lineId;
        if (response.data.customerId) {
          this.getCustomerData(response.data.customerId);
        }
        if (
          [
            "overweight_exception",
            "line_weight_exception",
            "not_shipping_channel_exception",
            "channel_packaging_overweight_exception",
            "channel_exception",
          ].indexOf(this.orderExceptionData.orderExceptionType) > -1
        ) {
          // this.handlerParams.channelPriceList = []
          this.getOpenedRouterList();
          // if(this.orderExceptionData.orderExceptionStatus==0){
          //   this.orderData.orderItemVOList.map(v=>{
          //     if(!v.oneSeaFreight){
          //       v.seaFreightCurrency = this.currencyList[0]['id']
          //       v.seaFreightVolume = this.unitList[1]['id']
          //     }
          //     if(!v.oneClearanceFreight){
          //       v.clearanceFreightCurrency = this.currencyList[0]['id']
          //       v.clearanceFreightVolume = this.unitList[1]['id']
          //     }
          //   })
          // }
        }
        if (
          this.orderExceptionData.orderExceptionType == "line_loop_exception"
        ) {
          this.getExceptionPriceList("line_loop_exception", 1);
        }
        if (
          this.handlerParams.orderExceptionHandlerResult == "continue_channel"
        ) {
          this.getExceptionPriceList("continue_channel", 1);
        }
        if (
          [
            "overweight_exception",
            "line_weight_exception",
            "channel_packaging_overweight_exception",
          ].indexOf(this.orderExceptionData.orderExceptionType) > -1
        ) {
          if (
            this.orderExceptionData.orderExceptionStatus != "0" &&
            this.handlerParams.orderExceptionHandlerResult == "allow_over"
          ) {
            this.getExceptionPriceList("continue_channel", 2);
          } else {
            this.getExceptionPriceList("line_loop_exception", 1);
          }
        }
      });
    },
    getCustomerData(id) {
      getCustomer(id).then((res) => {
        this.customerData = res.data;
      });
    },
    //获取异常结果
    getOrderExcptionResult() {
      getOrderExcptionResult({ orderExceptionId: this.orderExceptionId }).then(
        (res) => {
          this.handlerParams = Object.assign(
            this.handlerParams,
            res.data.list[0]
          );

          if (!this.orderExceptionData.handlerTime) {
            this.orderExceptionData.handlerTime =
              this.handlerParams.handlerTime;
          }
          if (this.handlerParams.handlerRemark) {
            this.$set(
              this.handlerParams,
              "orderExceptionHandlerRemark",
              this.handlerParams.handlerRemark
            );
          }
          if (this.handlerParams.handlerResult) {
            this.$set(
              this.handlerParams,
              "orderExceptionHandlerResult",
              this.handlerParams.handlerResult
            );
          }
          if (this.handlerParams.productId) {
            this.productId2 = this.productId1 = this.handlerParams.productId;
          }
          if (this.orderExceptionData.orderExceptionStatus == 0) {
            if (
              (this.orderExceptionData.orderExceptionType ==
                "overweight_exception" ||
                this.orderExceptionData.orderException ==
                  "line_weight_exception") &&
              this.orderExceptionData.additionalJson &&
              this.orderExceptionData.additionalJson.weightSum
            ) {
              this.$set(
                this.handlerParams,
                "weightLimit",
                this.orderExceptionData.additionalJson.weightSum
              );
            }
            if (
              this.orderExceptionData.orderExceptionType ==
                "channel_packaging_overweight_exception" &&
              this.orderExceptionData.additionalJson &&
              this.orderExceptionData.additionalJson.packagingWeightSum
            ) {
              this.$set(
                this.handlerParams,
                "weightLimit",
                this.orderExceptionData.additionalJson.packagingWeightSum
              );
            }
          } else {
            this.$set(
              this.handlerParams,
              "weightLimit",
              this.handlerParams.weightLimit
            );
          }
        }
      );
    },
    getOrderFeeByIdData() {
      getOrderFeeById({ id: this.orderId }).then((response) => {
        this.orderFee = response.data;
        this.handlerParams.orderExceptionHandlerResult =
          this.orderFee.result[0];
        // if(this.orderExceptionData.orderExceptionStatus==2){
        //   this.getOrderExcptionResult()
        // }
      });
    },
    getPreExceptionData() {
      getFirstReceivableListByOrderId({ id: this.orderId }).then((response) => {
        this.preException = response.data;
        // this.preException.forEach(item=>{
        //   var curr = getDictData('shipping_price_unit', item.currencyId)
        //   if(curr.label == this.$t('美元')){
        //     item.doller = item.totalAmount
        //   }
        // })
      });
    },
    /* getShopData(id){
        getOrderItemById(id).then(res=>{
          this.shopData = res.data
        })
      }, */
    handleSelectionChange(val) {
      this.multipleSelection = val;
    },
    // 根据线路id显示线路名称
    getRouterNameById() {
      if (this.orderData.logisticsInfoDto) {
        return (
          this.$t("从") +
          this.$t("【") +
          this.orderData.logisticsInfoDto.startTitleZh +
          this.$t("】") +
          this.$t("发往") +
          this.$t("【") +
          this.orderData.logisticsInfoDto.destTitleZh +
          this.$t("】")
        );
      }
      return this.$t("无");
    },
    //新增异常处理结果切换
    handlerResultChange() {
      // if(this.orderExceptionData.orderExceptionType=='goods_add_exception'){
      //   this.productId1 = this.handlerParams.productId
      //   this.productId2 = this.handlerParams.productId
      // }
      if (
        this.orderExceptionData.orderExceptionType ==
          "not_shipping_channel_exception" ||
        this.orderExceptionData.orderExceptionType == "channel_exception"
      ) {
        this.getOpenedRouterList();
      }
    },
    submitForm() {
      if (!this.handlerParams.orderExceptionHandlerResult) {
        this.$modal.msgError(this.$t("请选择处理结果"));
        return;
      }
      if (
        this.orderExceptionData.orderExceptionType == "order_doc_exception" &&
        this.handlerParams.fileList &&
        this.handlerParams.fileList.length > 0
      ) {
        // if(!this.handlerParams.fileList||this.handlerParams.fileList.length==0){
        //   this.$modal.msgError(this.$t('请上传报关资料'));
        //   return
        // }
        this.handlerParams.files = Array.isArray(this.handlerParams.fileList)
          ? this.handlerParams.fileList.join(",")
          : this.handlerParams.fileList;
      }
      if (
        this.orderExceptionData.orderExceptionType == "goods_add_exception" &&
        this.handlerParams.orderExceptionHandlerResult == "goods_absent"
      ) {
        this.$redirect(
          "/product/product-list?prodId=" + this.handlerParams.productId
        );
        return;
      }
      if (
        this.orderExceptionData.orderExceptionType == "goods_add_exception" &&
        this.handlerParams.orderExceptionHandlerResult == "goods_exists"
      ) {
        if (this.productId1) {
          this.handlerParams.productId = this.productId1;
        } else {
          this.$modal.msgError(this.$t("请选择产品"));
          return;
        }
      }

      if (
        (this.orderExceptionData.orderExceptionType ==
          "not_shipping_channel_exception" &&
          this.handlerParams.orderExceptionHandlerResult == "change_channel") ||
        (this.orderExceptionData.orderExceptionType == "channel_exception" &&
          this.handlerParams.orderExceptionHandlerResult ==
            "set_shipment_channel")
      ) {
        if (
          !this.handlerParams.channelId ||
          this.handlerParams.channelId == 0
        ) {
          this.$modal.msgError(this.$t("请选择出货渠道"));
          return;
        }
        if (!this.handlerParams.lineId || this.handlerParams.lineId == 0) {
          this.$modal.msgError(this.$t("请选择线路"));
          return;
        }
      }
      if (
        ([
          "channel_packaging_overweight_exception",
          "line_weight_exception",
          "overweight_exception",
        ].indexOf(this.orderExceptionData.orderExceptionType) > -1 &&
          this.handlerParams.orderExceptionHandlerResult ==
            "update_weight_limit") ||
        (["line_weight_exception"].indexOf(
          this.orderExceptionData.orderExceptionType
        ) > -1 &&
          this.handlerParams.orderExceptionHandlerResult ==
            "change_line_weight")
      ) {
        if (!this.handlerParams.weightLimit) {
          if (
            this.orderExceptionData.orderExceptionType ==
            "line_weight_exception"
          ) {
            this.$modal.msgError(this.$t("请输入路线重量上限"));
          } else {
            this.$modal.msgError(this.$t("请输入空运订单上限"));
          }
          return;
        }
      }
      if (
        [
          "line_loop_exception",
          "channel_packaging_overweight_exception",
          "line_weight_exception",
          "overweight_exception",
          "not_shipping_channel_exception",
        ].indexOf(this.orderExceptionData.orderExceptionType) > -1
      ) {
        if (
          this.orderExceptionData.orderExceptionType == "line_loop_exception" ||
          ((this.orderExceptionData.orderExceptionType ==
            "channel_packaging_overweight_exception" ||
            this.orderExceptionData.orderExceptionType ==
              "overweight_exception") &&
            this.handlerParams.orderExceptionHandlerResult == "allow_over")
        ) {
          this.handlerParams.orderItemVOList = this.loopOrderItem;
        } else {
          this.handlerParams.orderItemVOList = this.orderData.orderItemVOList;
        }
        this.handlerParams.channelPriceList = [];
        let priceUnit = false;

        this.handlerParams.orderItemVOList.map((v) => {
          if (v.charging == 1) {
            if (!v.seaFreightCurrency || !v.seaFreightVolume) {
              priceUnit = true;
            }
          } else {
            if (
              !v.seaFreightCurrency ||
              !v.seaFreightVolume ||
              !v.clearanceFreightCurrency ||
              !v.clearanceFreightVolume
            ) {
              priceUnit = true;
            }
          }
          var listItem = {
            orderId: v.orderId,
            orderItemId: v.orderItemId,
            charging: v.charging,
            freightFee: v.oneSeaFreight,
            isPayAdvance: v.isPayAdvance || 0,
            freightCurrencyId: v.seaFreightCurrency,
            freightUnitId: v.seaFreightVolume,
            clearanceFee: v.oneClearanceFreight,
            clearanceCurrencyId: v.clearanceFreightCurrency,
            clearanceUnitId: v.clearanceFreightVolume,
          };
          this.handlerParams.channelPriceList.push(listItem);
        });

        if (priceUnit) {
          this.$modal.msgError(
            this.$t("请先去设置运费或清关费本身的货币单位、计价单位")
          );
          return;
        }
      }
      handlerExceptionByExceptionId(this.handlerParams).then((res) => {
        this.$modal.msgSuccess(this.$t("提交成功"));
        this.$redirect("/order/pending?id=" + this.orderData.orderId);
      });
    },
    /** 跟进按钮操作 */
    handleAdd() {
      this.$router.push({
        path: "/financial/creatCollection?receiptId=0",
        query: {
          orderId: this.orderId,
        },
      });
    },
    // 取消审核
    cancelAudit() {
      this.$prompt("请输入取消原因", {
        inputPattern: /[\S]+/,
        inputErrorMessage: this.$t("不能为空"),
      })
        .then(({ value }) => {
          return cancelProcessInstance(this.orderExceptionData.bpmId, value);
        })
        .then((res) => {
          this.getList();
        });
    },
    getFileName(fileName) {
      var fileArr = fileName.split("/");
      return fileArr[fileArr.length - 1];
    },
    getFileFormat(fileName) {
      var fileArr = this.getFileName(fileName).split(".");
      return fileArr[fileArr.length - 1];
    },
    // 打开预览
    onClickOpenPreview(val, index) {
      this.TragetPic = {
        // 当前点击的文件
        FileName: this.getFileName(val), // 文件名称
        name: this.getFileName(val), // 文件名称(可以不传)
        format: this.getFileFormat(val), // 文件格式
        url: val, // 预览地址
        downUrl: "", // 下载地址
      }; // 目标对象
      var fileArr = this.handlerParams.fileList;

      fileArr.forEach((item) => {
        // 需要预览的文件数组(可以传空数组就是单张预览)
        let obj = {
          FileName: this.getFileName(item),
          name: this.getFileName(item),
          format: this.getFileFormat(item),
          url: item,
          downUrl: "",
        };
        this.FilePreAll.push(obj);
      });
      console.log(this.FilePreAll);
      this.IsPreview = true; // 打开预览弹窗
      this.timers = new Date().getTime(); // 刷新预览地址
    },
    // 关闭预览
    onClickClosePreview(val) {
      this.IsPreview = val; // 由组件内部传入的关闭数据赋值关闭
    },
    onProductChange(product) {
      if (!product) {
        this.productId1 = null;
        this.productId2 = null;
        return false;
      }
      this.productId1 = product.id;
      this.productId2 = product.id;
    },
    //不可出渠道异常 ,未报价跳转
    routeToPrice(row, index) {
      if (index == 2) {
        this.$router.push("/product/product-list?prodId=" + row.prodId);
        return;
      }
      // 未报价异常lk  ,
      if (row.orderItemId) {
        var productData = this.orderData.orderItemVOList.find(
          (item) => item.orderItemId == row.orderItemId
        );
        if (productData) {
          getProduct(productData.prodId).then((res) => {
            let params = {
              product_id: productData.prodId,
              product_type: res.data.typeId,
              transportId: this.orderData.transportId,
              exportCity: this.orderData.logisticsInfoDto.startCityId,
              importCity: this.orderData.logisticsInfoDto.destCityId,
              startWarehouseId:
                this.orderData.logisticsInfoDto.startWarehouseId,
              destWarehouseId: this.orderData.logisticsInfoDto.destWarehouseId,
              lineId: this.orderData.logisticsInfoDto.lineId,
              channelId: this.orderData.logisticsInfoDto.channelId,
            };
            let queryParams = {
              productId: productData.prodId,
              lineId: this.orderData.logisticsInfoDto.lineId,
              channelId: this.orderData.logisticsInfoDto.channelId,
            };
            let url = "";
            if ([3, 4].indexOf(this.orderData.transportId) > -1) {
              url =
                "../../lineProject/product-price/edit-air?" +
                new URLSearchParams(params).toString();
            } else {
              url =
                "../../lineProject/product-price/edit-sea?" +
                new URLSearchParams(params).toString();
            }

            getProductPriceGetPrice(queryParams).then((res) => {
              console.log(res);
              if (res.data) {
                if ([3, 4].indexOf(+this.orderData.transportId) > -1) {
                  url =
                    "../../lineProject/product-price/edit-air?action=update&id=" +
                    res.data.id;
                } else {
                  url =
                    "../../lineProject/product-price/edit-sea?action=update&id=" +
                    res.data.id;
                }
              }
              return this.$router.push(url);
            });

            /* +productData.prodId
                    +'&product_type='+res.data.typeId
                    +'&transportId='+this.orderData.transportId
                    +'&exportCity='+this.orderData.logisticsInfoDto.startCityId+'&importCity='+this.orderData.logisticsInfoDto.destCityId */
          });
        }
      } else {
        return this.$confirm(
          this.$t("数据缺少orderItemId参数,确定要跳转设置路线价格么?")
        ).then((res) => {
          let url = "";
          if ([3, 4].indexOf(this.orderData.transportId) > -1) {
            url = "../../lineProject/product-price/edit-air?";
          } else {
            url = "../../lineProject/product-price/edit-sea?";
          }
          this.$router.push(url);
        });
      }
    },
    // 计算商品运费(根据货值计算保费)
    calculationPrice() {
      this.$forceUpdate();
      let calcable = true;
      if (!this.orderData.orderItemVOList.length) return false;
      this.orderData.orderItemVOList.forEach((item) => {
        if (!item.prodId) {
          calcable = false;
        }
        //alert(item.oneClearanceFreight);
      });
      console.log("calculationPrice", this.handlerParams.channelId);
      if (this.calculating || !calcable) return false;
      this.calculating = true;
      //console.log("calculating ---> ");
      const params = {
        lineId: this.handlerParams.lineId,
        transportId: this.orderData.transportId,
        channelId:
          [3, 4].indexOf(this.orderData.transportId) > -1
            ? this.handlerParams.channelId
            : undefined,
        prodConditionParamList: this.getProductListWithDefaultValue(),
        orderType: this.orderData.orderType,
      };
      // if(this.handlerParams.channelId){
      //   params.channelId = this.handlerParams.channelId
      // }
      this.$set(this.handlerParams, "channelId", this.handlerParams.channelId);
      calculationPrice(params)
        .then((res) => {
          this.orderData.orderItemVOList.map((item, index) => {
            //清关价问题关键点在这,后台获取的值的变量名称换了
            item.oneClearanceFreight =
              res.data.prodCostDtoList[index].oneClearanceFee;
            //alert( item.oneClearanceFreight);
            item.clearanceFreightCurrency =
              res.data.prodCostDtoList[index].clearanceFeeCurrency;
            item.clearanceFreightVolume =
              res.data.prodCostDtoList[index].clearanceFeeVolume;
            item.oneSeaFreight = res.data.prodCostDtoList[index].oneFreight;
            item.seaFreightCurrency =
              res.data.prodCostDtoList[index].freightCurrency;
            item.seaFreightVolume =
              res.data.prodCostDtoList[index].freightVolume;
          });
        })
        .finally(() => {
          this.calculating = false;
        });
    },
    // 体积。件数,数量,重量为选填,但是接口确实必填,所以生成一个副本并赋予默认值
    getProductListWithDefaultValue() {
      let arr = [];
      this.orderData.orderItemVOList.forEach((item) => {
        let tmp = { ...item };
        if (!tmp.volume) tmp.volume = 1;
        if (!tmp.weight) tmp.weight = 1;
        if (!tmp.quantity) tmp.quantity = 1;
        if (!tmp.num) tmp.num = 1;
        tmp.orderType = item.orderItemType;
        //包装类型
        tmp.packaging = item.unit;
        arr.push(tmp);
      });
      return arr;
    },
    //获取提交的不可出渠道异常商品清关费
    getExceptionPriceList(type, index) {
      let that = this;
      that.loopOrderItem = [];
      if (type == "line_loop_exception") {
        that.orderData.orderItemVOList.map((v, i) => {
          if (
            that.orderExceptionData.orderExceptionType ==
            "channel_packaging_overweight_exception"
          ) {
            if (
              that.orderExceptionData.additionalJson &&
              that.orderExceptionData.additionalJson.orderItemIdList.indexOf(
                v.orderItemId
              ) > -1
            ) {
              that.loopOrderItem.push(v);
            }
          } else {
            if (v.orderItemId == that.orderExceptionData.orderItemId) {
              that.loopOrderItem.push(v);
            }
          }
        });
        console.log(that.loopOrderItem);
      } else {
        getOrderExceptionChannelPriceList({
          orderId: that.orderId,
          exceptionId: parseInt(that.orderExceptionId),
          exceptionResultId: that.handlerParams.id,
        }).then((res) => {
          if (res.code == 0) {
            if (res.data.length > 0) {
              that.orderData.orderItemVOList.map((v) => {
                var item = res.data.find(
                  (vs) => vs.orderItemId == v.orderItemId
                );
                if (item) {
                  v.oneSeaFreight = item.freightFee;
                  v.seaFreightCurrency = item.freightCurrencyId;
                  v.seaFreightVolume = item.freightUnitId;
                  v.oneClearanceFreight = item.clearanceFee;
                  v.clearanceFreightCurrency = item.clearanceCurrencyId;
                  v.clearanceFreightVolume = item.clearanceUnitId;
                }
                if (item && index == 2) {
                  that.loopOrderItem.push(v);
                }
              });
            }
          }
        });
      }
    },
  },
};
</script>

<style scoped>
.link-text {
  margin-top: 20px;
}
.link-text span {
  font-size: 16px;
  font-weight: 600;
  margin-right: 20px;
}
.card-title {
  font-size: 18px;
  font-weight: bold;
  margin-top: 10px;
}
.header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.card {
  margin: 20px 0;
}
.price_list {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.price_label {
  width: 112px;
  font-weight: 700;
  text-align: right;
  margin-right: 6px;
  font-size: 14px;
  color: #606266;
}
.channel {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
}
.dialog-footer {
  padding: 40px;
  width: 60%;
  align-items: center;
  display: flex;
  /* justify-content: space-between; */
}
.filelist {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-direction: column;
}
.filelist span {
  color: #1e98d7;
}
.red {
  color: red;
}
.button {
  margin-left: 40px;
}
.feeList {
  display: flex;
  flex-direction: column;
}
::v-deep .el-input--medium .el-input__inner {
  padding: 0 4px;
}
::v-deep .el-table th.el-table__cell > .cell {
  padding: 0 2px !important;
}
::v-deep .el-table td.el-table__cell div {
  padding: 0 2px !important;
}
.w100 {
  width: 100px;
}
.overweight_order {
  display: flex;
  align-items: center;
  margin-top: 20px;
}
.overweight_order span {
  font-size: 14px;
}
</style>