<template>
  <div class="app-container">
    <el-card>
     <div slot="header" class="header">
       <div class="card-title">查看</div>
       <el-button type="primary" icon="el-icon-arrow-left" @click="$router.back()">返回</el-button>
     </div>
     <el-form :model="orderData" ref="queryForm" size="small" :inline="true"  label-width="120px" class="card">
       <el-row>
          <el-form-item label="订单号:">
            {{orderData?orderData.orderNo:''}}
          </el-form-item>
       </el-row>
       <div v-if="orderExceptionData.orderExceptionType=='order_superfluous_box_exception'||orderExceptionData.orderExceptionType=='order_lack_box_exception'||orderExceptionData.orderExceptionType=='order_miss_exception'||orderExceptionData.orderExceptionType=='order_superfluous_goods_exception'||orderExceptionData.orderExceptionType=='order_in_water_exception'||orderExceptionData.orderExceptionType=='order_damage_exception'">
         <el-row>
            <el-form-item label="产品名称:" >
              {{shopData?shopData.prodTitleZh:''}}
            </el-form-item>
         </el-row>
         <el-row>
            <el-form-item label="产品英文名称:">
              {{shopData?shopData.prodTitleEn:''}}
            </el-form-item>
         </el-row>
       </div>
       <el-row>
           <el-form-item label="运输路线:" >
               <span v-if="orderData">【<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="orderData.transportId" />】</span>
                {{orderData?getRouterNameById():''}}
           </el-form-item>
       </el-row>
       <div v-if="orderExceptionData.orderExceptionType!='order_doc_exception'&&orderExceptionData.orderExceptionType!='order_consignor_exception'&&orderExceptionData.orderExceptionType!='order_other_exception'">
         <el-row>
            <el-form-item label="填单参数:">
               {{(shopData.num||0)+'箱 '+(shopData.volume||0)+'m³ '+(shopData.weight||0)+'kg'}}
            </el-form-item>
         </el-row>
         <el-row>
            <el-form-item label="入仓参数:">
              {{(shopData.warehouseInInfoVO?shopData.warehouseInInfoVO.cartonsNum:0)+'箱 '+(shopData.warehouseInInfoVO?shopData.warehouseInInfoVO.volume:0)+'m³ '+(shopData.warehouseInInfoVO?shopData.warehouseInInfoVO.weight:0)+'kg'}}
            </el-form-item>
         </el-row>
         <el-row :span="12">
            <el-form-item label="异常描述:">
               {{orderExceptionData.orderExceptionDescVO?orderExceptionData.orderExceptionDescVO.descZh:'无'}}
            </el-form-item>
            <el-button v-if="orderExceptionData.orderExceptionType=='order_pay_exception'" type="primary" plain icon="el-icon-plus" style="margin-left: 200px;"  @click="handleAdd">新增收款单</el-button>
         </el-row>
         <el-row>
            <el-form-item label="入仓参数:">
              <span>{{order.entryNum||0}}箱 {{order.entryWeight||0}}Kg {{order.entryVolume||0}}m³</span>
            </el-form-item>
         </el-row>
<!--         <el-row :span="12">
            <el-form-item label="详细内容:">
               {{orderData.totalMoney||'无'}}
            </el-form-item>
            <el-button v-if="orderExceptionData.orderExceptionStatus==3" type="primary" plain icon="el-icon-plus" style="margin-left: 200px;"  @click="handleAdd">新增收款单</el-button>
         </el-row> -->
       </div>
     </el-form>    {{order.entryNum}}箱 {{order.entryWeight}}Kg {{order.entryVolume}}m³
      <el-table v-if="orderExceptionData.orderExceptionType=='order_pay_exception'" v-loading="loading" border :data="preException">
            <el-table-column label="品名" align="center">
              <template slot-scope="scope">
                {{scope.row.titleZh+'('+scope.row.titleEn+')'}}
              </template>
            </el-table-column>
            <el-table-column label="箱数" prop="num" />
            <el-table-column label="体积/重量">
              <template slot-scope="scope">
                  {{scope.row.volume+'/'+scope.row.weight}}
                </template>
              </el-table-column>
              <el-table-column label="收款类型">
                 <template >
                    '预付'
                 </template>
              </el-table-column>
            <el-table-column label="收入类型">
               <template slot-scope="scope">
                  <dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.feeType"></dict-tag>
               </template>
            </el-table-column>
            <el-table-column label="应收金额" prop="totalAmount" />
      <!--      <el-table-column label="总金额美元" align="center" prop="totalAmount">
              <template slot-scope="{row}">
                   {{row.totalAmount}}({{row.exchangeRate}})
              </template>
            </el-table-column>
            <el-table-column label="总金额RMB" align="center" prop="totalAmount">
             <template slot-scope="{row}">
                   {{row.totalAmount}}({{row.exchangeRate}})
              </template>
            </el-table-column>
            <el-table-column label="实收金额" prop="volume" /> -->
            <el-table-column label="付款人">
              <template slot-scope="scope">
               <span>{{srope.row.consigneeName}}(收货人)</span>
              </template>
            </el-table-column>
            <el-table-column label="付款状态" prop="worth">
              <template slot-scope="scope">
                  <dict-tag :type="DICT_TYPE.ECW_RECEIPT_STATE" :value="scope.row.state"></dict-tag>
                </template>
              </el-table-column>
          </el-table>
          <el-table v-if="orderExceptionData.orderExceptionType=='order_doc_exception'||orderExceptionData.orderExceptionType=='order_consignor_exception'||orderExceptionData.orderExceptionType=='order_other_exception'" v-loading="loading" border :data="orderData.orderItemVOList">
                <el-table-column label="序号" align="center" prop="id" type="index">
                   <template slot-scope="scope">
                       <span>{{scope.$index + 1}}</span>
                   </template>
                 </el-table-column>
                <el-table-column label="中文名" align="center"  prop="prodTitleZh" />
                <el-table-column label="英文名" align="center"  prop="prodTitleEn" />
                <el-table-column label="品牌" align="center" prop="brand" />
                <el-table-column label="填单箱数" prop="num" />
                <el-table-column label="入仓箱数">
                  <template slot-scope="scope">
                      {{scope.row.warehouseInInfoVO.cartonsNum}}
                    </template>
                  </el-table-column>
                  <el-table-column label="方数" prop="volume" />
                <el-table-column label="重量" prop="weight" />
                <el-table-column label="数量" prop="quantity" />
                <el-table-column label="货值" prop="worth" />
              </el-table>
          <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="订单总金额:">
                  {{orderData.totalMoney}}
               </el-form-item>
            </el-row>
            <el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
               <el-form-item label="应付预付金额:">
                  {{orderData.totalMoney}}
               </el-form-item>
            </el-row>
            <el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
              <el-col :span="6">
               <el-form-item label="已核销预付金额:">
                  {{orderData.totalMoney}}
               </el-form-item>
               </el-col>
               <el-col :span="8">
               <el-form-item label="已核销预付金额占总金额比例:" label-width="200px">
                  {{orderData.totalMoney}}
               </el-form-item>
               </el-col>
            </el-row>
            <el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'" >
              <el-col :span="6">
               <el-form-item label="预付商品货值:">
                  {{orderData.totalMoney}}
               </el-form-item>
               </el-col>
               <el-col :span="8">
               <el-form-item label="预付商品货值占佣金额比例:" label-width="200px">
                  {{orderData.totalMoney}}
               </el-form-item>
               </el-col>
            </el-row>
            <el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
               <el-form-item label="预付商品方数:">
                  {{orderData.totalMoney}}
               </el-form-item>
            </el-row>
            <el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
              <el-col :span="6">
                 <el-form-item label="订单总方数:">
                    {{orderData.totalMoney}}
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="预付商品方数占总方数比例:" label-width="200px">
                    {{orderData.totalMoney}}
                 </el-form-item>
                 </el-col>
            </el-row>
            <el-row :span="8" v-if="orderExceptionData.orderExceptionType=='order_doc_exception'">
               <el-form-item label="报关资料:" size="medium">
                 <file-upload v-model="handlerParams.fileList" :value="orderExceptionData.file" ></file-upload>
               </el-form-item>
            </el-row>
            <el-row v-if="orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'">
                <el-form-item label="*处理结果:" >
                  <el-select v-model="handlerParams.orderExceptionHandlerResult" placeholder="请选择">
                  <el-option  v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')"
                             :key="dict.value" :label="dict.label" :value="dict.value"/>
                  </el-select>
                </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="送货费用:" size="medium">
                 <el-input style="width: 100px;"  type="text" v-model="handlerParams.amount"  />
                 <el-select v-model="handlerParams.currency" style="width: 100px;margin-left: 10px;">
                 <el-option  v-for="dict in getDictDatas('shipping_price_unit')"
                            :key="dict.value" :label="dict.label" :value="dict.value"/>
                 </el-select>
               </el-form-item>
            </el-row>
            <el-row :span="8" v-if="orderExceptionData.orderExceptionType!='order_lack_box_exception'&&orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'&&orderExceptionData.orderExceptionType!='order_other_exception'&&orderExceptionData.orderExceptionType!='order_lack_box_exception'">
               <el-form-item label="备注:" size="medium">
                 <el-input style="width: 500px;"  type="textarea" v-model="handlerParams.orderExceptionHandlerRemark"  />
               </el-form-item>
            </el-row>

            <div v-if="orderExceptionData.orderExceptionType=='order_miss_exception'||orderExceptionData.orderExceptionType=='order_superfluous_goods_exception'||orderExceptionData.orderExceptionType=='order_in_water_exception'||orderExceptionData.orderExceptionType=='order_damage_exception'">
              <el-row>
                 <el-form-item label="详细内容:">
                    {{orderExceptionData.orderExceptionDetails||'无'}}
                 </el-form-item>
              </el-row>
              <el-row >
                 <el-form-item label="状态:">
                      <el-radio v-model="handlerParams.orderExceptionStatus" label="1">处理中</el-radio>
                      <el-radio v-model="handlerParams.orderExceptionStatus" label="2">已处理</el-radio>
                 </el-form-item>
              </el-row>
              <el-row>
                 <el-form-item label="*查明原因:">
                    <el-select v-model="handlerParams.orderExceptionHandlerResult">
                    <el-option  v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')"
                               :key="dict.value" :label="dict.label" :value="dict.value"/>
                    </el-select>
                 </el-form-item>
              </el-row>
            </div>
          </el-form>
          </el-card>
          <div slot="footer" class="dialog-footer">
            <div>
              <el-button  type="primary" @click="submitForm">提交</el-button>
              <el-button plain type="primary" @click="$router.back()">取消</el-button>
            </div>
            <el-button v-if="orderExceptionData.orderExceptionStatus=='order_pay_exception'"  type="primary" @click="submitForm">转交</el-button>
          </div>
  </div>
</template>

<script>
  import FileUpload from '@/components/FileUpload'
  import {getDictData, getDictDatas} from  '@/utils/dict'
  import {getOrder} from '@/api/ecw/order'
  import {getExceptionById,handlerExceptionByExceptionId,getOrderItemById} from "@/api/ecw/orderException"
  import {getFirstReceivableListByOrderId} from '@/api/ecw/financial'

  export default {
    name: "PrepayDeal",
    components: {
      FileUpload
    },
    data() {
      return {
        // 遮罩层
        loading: false,
        orderExceptionData: {},
        types:'package,bag',
        importance:1,
        orderData:{
        },
        orderId:0,
        orderExceptionId:0,
        handlerParams:{
          orderExceptionId:0,
          orderExceptionStatus:"1"
        },
        shopData:{},
        //发货/收货人信息
        consigneeData:[],
        routerList:[],
        multipleSelection:[],
        preException:[]
      };
    },
    created() {
      if(this.$route.query.id){
        this.orderExceptionId = this.$route.query.id
        this.handlerParams.orderExceptionId = this.$route.query.id
        this.getList()
      }
    },
    methods: {
      /** 查询列表 */
      getList() {
        let that = this
        that.loading = true;
        getExceptionById(that.orderExceptionId).then(response => {
          that.orderExceptionData = response.data;
          // that.orderExceptionData.orderExceptionType = 'order_other_exception'
          // that.orderExceptionData.orderExceptionType = 'order_pick_up_exception'
          that.orderExceptionData.orderExceptionType = 'order_pay_exception'
          that.loading = false;
          that.orderId = response.data.orderId
          that.getOrderData()
          if(response.data.hasOwnProperty('orderItemId')){
            that.getShopData(response.data.orderItemId)
          }
          that.getPreExceptionData()
        });
      },
      getOrderData(){
        getOrder(this.orderId).then(response => {
          this.orderData = response.data
        });
      },

      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 == '美元'){
              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.orderData.logisticsInfoDto.startTitleZh + '】发往【' + this.orderData.logisticsInfoDto.destTitleZh+'】'
              }
              return '无'
      },
      submitForm(){
          if(!this.handlerParams.orderExceptionHandlerResult){
            this.$modal.msgError("请选择处理结果");
          }
          handlerExceptionByExceptionId(this.handlerParams).then(res=>{
              this.$modal.msgSuccess("提交成功");
              this.$router.back()
          })
      },
      /** 跟进按钮操作 */
      handleAdd() {
        this.$router.push({
          path: "/financial/creatCollection?receiptId=0",
          query:{
            orderId:this.orderId,
          }
        });
      },

    }
  };
</script>

<style>
  .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-top: 20px;
  }
  .dialog-footer{
    padding: 40px;
    width: 60%;
    align-items: center;
    display: flex;
    justify-content: space-between;
  }
</style>
