<!--拆单审核中的申请信息部分-->
<template>
    <div v-if="order">
        <el-descriptions :column="3" v-if="order" :colon="false">
            <el-descriptions-item :label="$t('订单号')">{{order.orderNo}}</el-descriptions-item>
            <el-descriptions-item :label="$t('运输方式')">
                <dict-tag class="mr-10" :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.transportId" />
            </el-descriptions-item>
            <el-descriptions-item :label="$t('出货方式')">
                {{channel ? channel.nameZh : '/'}}
            </el-descriptions-item>
            <el-descriptions-item :label="$t('唛头')">{{order.marks}}</el-descriptions-item>
            <el-descriptions-item :label="$t('始发仓')">
                {{order.logisticsInfoDto.startTitleZh}}
            </el-descriptions-item>
            <el-descriptions-item :label="$t('目的仓')" :span="2">
                {{order.logisticsInfoDto.destAddressZh}}
            </el-descriptions-item>
            <el-descriptions-item :label="$t('异常描述')+':'" :span="2">
                {{$l(orderExceptionData.orderExceptionDescVO, 'desc')}}
            </el-descriptions-item>
        </el-descriptions>
        <div v-for="(row,index) in orderItemData" :key="row.orderItemId">
            <div style="font-weight:600;font-size:14px;margin-bottom:10px">品名{{parseInt(index)+1}}：{{$l(row, 'prodTitle')}}</div>
            <div v-if="row.charging ==1"  class="price_list">

               <span>旧成交价：</span>
                 <div>
                   <div v-if="!row.freightFee">
                    <span>{{$t('全包价')}}:</span>
                    <span>{{$t('未报价')}}</span>
                   </div>
                   <div v-else>
                    <span>{{$t('全包价')}}:</span>
                    <span>【{{row.freightFee}} {{currencyMap[row.freightCurrencyId]}} / {{unitMap[row.freightUnitId]}} 】</span>
                  </div>
                 </div>
            </div>
            <div v-else class="price_list">
                 <span>旧成交价：</span>
                 <div>
                   <div v-if="!row.freightFee">
                     <span>{{$t('运费')}}:</span>
                     <span>{{$t('未报价')}}</span>
                    </div>
                    <div v-else>
                     <span>{{$t('运费')}}:</span>
                     <span>【{{row.freightFee}} {{currencyMap[row.freightCurrencyId]}} / {{unitMap[row.freightUnitId]}} 】</span>
                   </div>
                 </div>
                 <div>
                   <div v-if="!row.clearanceFee">
                     <span >{{$t('清关费')}}:</span>
                     <span>{{$t('未报价')}}</span>
                    </div>
                    <div v-else>
                     <span>{{$t('清关费')}}:</span>
                     <span>【{{row.clearanceFee}} {{currencyMap[row.clearanceCurrencyId]}} / {{unitMap[row.clearanceUnitId]}} 】</span>
                   </div>
                 </div>
              </div>
              <div v-if="loopOrderItem.length>index&&loopOrderItem[index].charging ==1"  class="price_list">
                 <span>新成交价：</span>
                   <div>
                     <div v-if="!loopOrderItem[index].freightFee">
                      <span >{{$t('全包价')}}:</span>
                      <span>{{$t('未报价')}}</span>
                     </div>
                     <div v-else>
                      <span >{{$t('全包价')}}:</span>
                      <span>【{{loopOrderItem[index].freightFee}} {{currencyMap[loopOrderItem[index].freightCurrencyId]}} / {{unitMap[loopOrderItem[index].freightUnitId]}} 】</span>
                    </div>
                   </div>
              </div>
              <div v-else-if="loopOrderItem.length>index"  class="price_list">
                   <span>新成交价：</span>
                   <div>
                     <div v-if="!loopOrderItem[index].freightFee">
                       <span>{{$t('运费')}}:</span>
                       <span>{{$t('未报价')}}</span>
                      </div>
                      <div v-else>
                       <span >{{$t('运费')}}:</span>
                       <span>【{{loopOrderItem[index].freightFee}} {{currencyMap[loopOrderItem[index].freightCurrencyId]}} / {{unitMap[loopOrderItem[index].freightUnitId]}} 】</span>
                     </div>
                   </div>
                   <div>
                     <div v-if="!loopOrderItem[index].clearanceFee">
                       <span >{{$t('清关费')}}:</span>
                       <span>{{$t('未报价')}}</span>
                      </div>
                      <div v-else>
                       <span>{{$t('清关费')}}:</span>
                       <span>【{{loopOrderItem[index].clearanceFee}} {{currencyMap[loopOrderItem[index].clearanceCurrencyId]}} / {{unitMap[loopOrderItem[index].clearanceUnitId]}} 】</span>
                     </div>
                   </div>
                </div>
          </div>
        <!-- <div v-for="row in loopOrderItem" :key="row.orderItemId"> -->

          <!-- </div> -->
          <el-descriptions :column="3" v-if="order" :colon="false">
              <el-descriptions-item :label="$t('备注')+':'" :span="2">
                  {{orderExceptionData.orderExceptionNotes||'/'}}
              </el-descriptions-item>
          </el-descriptions>
    </div>
</template>
<script>
import {getOrder} from '@/api/ecw/order'
import {getChannel} from '@/api/ecw/channel'
import {getUnitList} from "@/api/ecw/unit"
import { getCurrencyList } from '@/api/ecw/currency'
import {getProductAttrList} from '@/api/ecw/productAttr'
import Decimal from 'decimal.js'
import {getExceptionDetailByBusinessId,getOrderExceptionChannelPriceList} from '@/api/ecw/orderException'

export default {
    name: 'overweightException',
    props:{
        id: [String, Number],
        path: String
    },
    data(){
        return {
            orderExceptionData: null,
            order: null,
            channel: null,
            unitList:[],
            currencyList:[],
            detail:null,
            loopOrderItem:[],
            orderItemData:[]
        }
    },
    watch:{
        id(){
            this.getData()
        },
        order(){
            if(this.order.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
        }
    },
    async created(){
        await getUnitList().then(res => this.unitList = res.data)
        await getCurrencyList().then(res => this.currencyList = res.data)
        this.productAttrList = (await getProductAttrList()).data
        if(this.id){
            this.getData()
        }
    },
    methods:{
        Decimal,
        getData(){
            getExceptionDetailByBusinessId({businessId:this.id}).then(res => {
                this.orderExceptionData = res.data
                if(this.orderExceptionData.orderExceptionRemark){
                  this.orderExceptionData.orderExceptionRemark=JSON.parse(this.orderExceptionData.orderExceptionRemark)
                }
                if(res.data.oldPriceJson){
                  this.orderItemData = JSON.parse(res.data.oldPriceJson)
                }
                if(res.data.orderId){
                    getOrder(res.data.orderId).then(res => {
                        this.order = res.data
                        this.orderItemData.map(v=>{
                           let item = this.order.orderItemVOList.find(vs=>vs.orderItemId==v.orderItemId)
                           if(item){
                             v.prodTitleZh = item.prodTitleZh
                             v.prodTitleEn = item.prodTitleEn
                           }
                        })
                        this.getExceptionPriceList(res.data.orderId)
                    })
                }

            })
        },
        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(',')
        },
        getChannel(){
            getChannel(this.order.channelId).then(res => {
                this.channel = res.data
            })
        },
        getExceptionPriceList(orderId){
          let that = this
          that.loopOrderItem = []
          getOrderExceptionChannelPriceList({orderId:orderId,exceptionId:this.orderExceptionData.id,exceptionResultId:parseInt(that.id)}).then(res=>{
            if(res.code==0&&res.data.length>0){
              that.orderItemData.map(v=>{
               let item = res.data.find(vs=>vs.orderItemId==v.orderItemId)
               let orderItem = {}
               if(item){
                 // orderItem.oneSeaFreight = item.freightFee
                 // orderItem.seaFreightCurrency = item.freightCurrencyId
                 // orderItem.seaFreightVolume = item.freightUnitId
                 // orderItem.oneClearanceFreight = item.clearanceFee
                 // orderItem.clearanceFreightCurrency = item.clearanceCurrencyId
                 // orderItem.clearanceFreightVolume = item.clearanceUnitId
                 item.charging = v.charging
                 that.loopOrderItem.push(item)
                 console.log(that.loopOrderItem)
                 // that.orderItemData.push(v)
               }
              })
            }

          })
        }
    }
}
</script>
<style scoped lang="scss">
.title{
    padding: 10px 0;
    span{
        font-size: 14px;
        font-weight: bold;
    }
}
.bold{
    font-weight: bold;
}
::v-deep .prepay_exception_detail .el-form-item{
    margin-bottom: 0;
}
  .price_list{
    display: flex;
    align-items: center;
    margin-right:10px;
    font-weight: 700;
    font-size: 14px;
    color:#333;
    margin-bottom:10px;
  }
  .price_list div{

  }
</style>
