/*
 * @Description  :
 * @Version      : 1.0
 * @Author       : Shiming
 * @Date         : 2022-02-24 20:19:51
 * @LastEditors  : Shiming
 * @LastEditTime : 2022-04-15 15:18:29
 * @FilePath     : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\tran-agreement\\tran-agreement.component.ts
 * Copyright (C) 2022 huzhenhong. All rights reserved.
 */
/*
 * @Description  :
 * @Version      : 1.0
 * @Author       : Shiming
 * @Date         : 2022-01-06 15:01:40
 * @LastEditors  : Shiming
 * @LastEditTime : 2022-02-28 20:55:07
 * @FilePath     : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\tran-agreement\\tran-agreement.component.ts
 * Copyright (C) 2022 huzhenhong. All rights reserved.
 */
import { Component } from '@angular/core';
import { NzModalRef } from 'ng-zorro-antd/modal';
import { SupplyManagementService } from '../../services/supply-management.service';

@Component({
  selector: 'publish-goods-tran-agreement',
  templateUrl: './tran-agreement.component.html',
  styleUrls: ['./tran-agreement.component.less']
})
export class TranAgreementComponent {
  enterpriseInfo: any; // 网络货运人
  type: any;
  object: any;
  agreement: any;
  envCache: any;
  shipperName: any;
  constructor(private modal: NzModalRef, public service: SupplyManagementService) {}

  ngOnInit() {
    console.log(this.object);
    // 获取托运人承运人信息
    this.service.request(this.service.$api_getContractAtr, { id: this.object?.shipperAppUserId }).subscribe(res => {
      if (res) {
        this.enterpriseInfo = res;
        this.getContent();
      }
    });
  }

  getContent() {
    let params: any;
    if (this.type === 'onecar') {
      params = {
        contractType: '1',
        resourceType: '1',
        signingObject: '1',
        templateType: 'MX',
        parametersDTO: {
          contractCode: '',
          shipperLegalPersonName: this.enterpriseInfo.legalPersonName || '', //托运法定代表人
          carrierLegalPersonName: this.enterpriseInfo.netLegalPersonName || '', //承运法定代表人
          shipperName: this?.shipperName || '', //托运人
          carrierName: this.object?.enterpriseInfoNamer ||  this.object?.enterpriseInfoName || '', //承运人
          consignorInfo: `${this.object?.unLoadingPlaceDTOList[0]?.appUserName || ''}  ${
            this.object?.unLoadingPlaceDTOList[0]?.contractTelephone || ''
          }`, // 发货信息
          consignorAddress: this.object?.unLoadingPlaceDTOList[0].detailedAddress || '', // 发货地址
          consignorDate: this.object?.loadingTime || '', // 发货时间
          consigneeInfo: `${this.object?.unLoadingPlaceDTOList[this.object?.unLoadingPlaceDTOList.length - 1].appUserName}  ${
            this.object?.unLoadingPlaceDTOList[this.object?.unLoadingPlaceDTOList.length - 1].contractTelephone
          }`, // 收货信息
          consigneeDate: this.object?.unloadingTime || '', // 收货时间
          consigneeAddress: this.object?.unLoadingPlaceDTOList[this.object?.unLoadingPlaceDTOList.length - 1].detailedAddress || '', // 收货地址
          goodsName: this.object?.goodsInfoDTOList[0].goodsName || '', // 货物名称
          shippingType: '整车运输',
          consignmentVolume: `${this.object?.goodsInfoDTOList[0]?.weight || '-'}吨/${this.object?.goodsInfoDTOList[0]?.volume || '-'}方/${
            this.object?.goodsInfoDTOList[0]?.number || '-'
          }件`, //托运量
          transporterInfo: '', //运输方信息
          freightAmount: this.object?.total || '', // 订单运费金额（元)
          pre: this.object?.expenseDTOList?.filter((item: any) => item.expenseCode === 'PRE')[0].price || '', //预付
          rece: this.object?.expenseDTOList?.filter((item: any) => item.expenseCode === 'RECE')[0].price || '', // 到付
          back: this.object?.expenseDTOList?.filter((item: any) => item.expenseCode === 'BACK')[0].price || '', // 回单付
          lunarKnot: 0,
          total: this.object?.subtotal || '', // 合计（元)
          paymentTime: `到货后${this.object?.paymentDays || ''}天`, // 承诺支付运费时间
          year: new Date().getFullYear() || '', // 签约年份
          month: new Date().getMonth() + 1 || '', // 签约月份
          day: new Date().getDate() || '' // 签约日期
        }
      };
    } else if (this.type === 'bulk') {
      params = {
        contractType: '1',
        resourceType: '2',
        signingObject: '1',
        templateType: 'MX',
        parametersDTO: {
          contractCode: '',
          shipperName: this?.shipperName || '', //托运人
          carrierName: this.object?.enterpriseInfoNamer ||  this.object?.enterpriseInfoName || '', //承运人
          shipperLegalPersonName: this.enterpriseInfo.legalPersonName || '', //托运法定代表人
          carrierLegalPersonName: this.enterpriseInfo.netLegalPersonName || '', //承运法定代表人
          consignorInfo: `${this.object.unLoadingPlaceDTOList[0]?.appUserName || ''}  ${
            this.object.unLoadingPlaceDTOList[0]?.contractTelephone || ''
          }`, // 发货信息
          consignorAddress: this.object.unLoadingPlaceDTOList[0].detailedAddress, // 发货地址
          consignorDate: '', // 发货时间
          consigneeInfo: `${this.object.unLoadingPlaceDTOList[this.object.unLoadingPlaceDTOList.length - 1]?.appUserName || ''}  ${
            this.object.unLoadingPlaceDTOList[this.object.unLoadingPlaceDTOList.length - 1]?.contractTelephone || ''
          }`, // 收货信息
          consigneeDate: '', // 收货时间
          consigneeAddress: this.object.unLoadingPlaceDTOList[this.object.unLoadingPlaceDTOList.length - 1]?.detailedAddress || '', // 收货地址
          goodsName: this.object.goodsInfoDTOList[0]?.goodsName || '', // 货物名称
          shippingType: '大宗运输',
          consignmentVolume: `${this.object?.goodsInfoDTOList?.[0]?.weight || '-'}吨/${
            this.object?.goodsInfoDTOList?.[0]?.volume || '-'
          }方/${this.object.goodsInfoDTOList?.[0]?.number || '-'}车`, //托运量
          transporterInfo: '', //运输方信息
          freightAmount: '', // 订单运费金额（元)
          pre: '', //预付
          rece: '', // 到付
          back: '', // 回单付
          lunarKnot: '',
          total: '', // 合计（元)
          paymentTime: `到货后${this.object?.paymentDays || ''}天`, // 承诺支付运费时间
          year: new Date().getFullYear() || '', // 签约年份
          month: new Date().getMonth() + 1 || '', // 签约月份
          day: new Date().getDate() || '' // 签约日期
        }
      };
    }
    if (params.parametersDTO.freightAmount) {
      params.parametersDTO.freightAmount = this.toThousands(params.parametersDTO.freightAmount);
    }
    if (params.parametersDTO.pre) {
      params.parametersDTO.pre = this.toThousands(params.parametersDTO.pre);
    }
    if (params.parametersDTO.rece) {
      params.parametersDTO.rece = this.toThousands(params.parametersDTO.rece);
    }
    if (params.parametersDTO.back) {
      params.parametersDTO.back = this.toThousands(params.parametersDTO.back);
    }
    if (params.parametersDTO.total) {
      params.parametersDTO.total = this.toThousands(params.parametersDTO.total);
    }
    console.log(params);
    this.service.request(this.service.$api_getContractContent, params).subscribe(res => {
      if (res) {
        this.agreement = res.contractContent;
      }
    });
  }

  toThousands(num: any) {
    let str = num.toString();
    return '￥' + str.replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');
  }
  handleOk() {
    this.modal.close(true);
  }
}
