<!--
 * @Description  : 
 * @Version      : 1.0
 * @Author       : Shiming
 * @Date         : 2021-12-06 20:20:26
 * @LastEditors  : Shiming
 * @LastEditTime : 2022-04-21 15:33:15
 * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail\\bulk-detail.component.html
 * Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<page-header-wrapper [title]="'大宗订单详情'" [logo]="logo" [content]="headerContent">
  <ng-template #logo>
    <button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
      <i nz-icon nzType="left" nzTheme="outline"></i>
    </button>
  </ng-template>
  <ng-template #headerContent>
    <div nz-row>
      <button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.billStatusLabel }}</button>
      <h4 class="ml-md" style="font-size: 18px">订单号: {{ i?.billCode }}</h4>
    </div>
    <div nz-row style="display: flex; justify-content: end" class="mb-xs">
      <div nz-col>
        <button (click)="cancellation()" nz-button
          *ngIf="i?.billStatus !== '1'   && i?.billStatus !== '5'  && i?.billStatus !== '6' && i?.overallPaymentStatus != '2'"
          acl [acl-ability]="['ORDER-BULK-DETAIL-cancelAnOrder']">取消订单</button>
        <button nz-button
          *ngIf="i?.billStatus == '4' || i?.billStatus == '5' || i?.billStatus == '2' || i?.billStatus == '3'" acl
          [acl-ability]="['ORDER-BULK-DETAIL-modifyOrder']" (click)="changeOrder()">修改订单</button>
      </div>
    </div>
    <div>
      <div sv-container>
        <sv label="网络货运人">{{ i?.goodsResource?.enterpriseInfoName }} </sv>
        <sv label="货主">{{ i?.goodsResource?.shipperAppUserName }} </sv>
        <sv label="所属项目">{{ i?.goodsResource?.enterpriseProjectName }}</sv>
        <sv label="服务类型">{{ i?.goodsResource?.serviceTypeLabel }}</sv>
        <sv label="录单员">{{ i?.createUserName }} {{ i?.createUserPhone ? "/" + i?.createUserPhone : ''}} </sv>
        <sv label="调度员">{{ i?.goodsResource?.dispatchName }}{{ i?.goodsResource?.dispatchPhone ? "/" +
          i?.goodsResource?.dispatchPhone : ''}} </sv>
        <sv label="货源编号">{{ i?.goodsResource?.resourceCode }} </sv>
        <sv label="运单号">{{ i?.wayBill?.wayBillCode }}</sv>
        <sv label="承诺付款天数">{{ i?.goodsResource?.paymentDays }}</sv>
      </div>
      <nz-tabset style="margin-top: 15px">
        <nz-tab nzTitle="装卸货信息" (nzClick)="goDistance(distannce1)"> </nz-tab>
        <nz-tab nzTitle="基本信息" (nzClick)="goDistance(distannce2)"> </nz-tab>
        <nz-tab nzTitle="运费信息" (nzClick)="goDistance(distannce3)"> </nz-tab>
        <nz-tab nzTitle="附件信息" (nzClick)="goDistance(distannce4)"> </nz-tab>
        <nz-tab nzTitle="轨迹信息" (nzClick)="goDistance(distannce5)"> </nz-tab>
      </nz-tabset>
    </div>
  </ng-template>
</page-header-wrapper>
<nz-card nzTitle="运单进度" #distannce1>
  <div class="approval-status">
    <div style="width: 60%; margin: 0 auto">
       
      <nz-steps [nzCurrent]="i?.scheduleVOList?.length + 1" nzLabelPlacement="vertical">
        <nz-step *ngFor="let item of i?.scheduleVOList" [nzTitle]="item.state" [nzSubtitle]="item.stateTime"
          [nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'"></nz-step>
      </nz-steps>
    </div>
  </div>
</nz-card>

<nz-card nzTitle="基本信息" #distannce2>
  <sv-container col="1">
    <sv label="货物名称">
      {{i?.goodsInfoList?.[0]?.goodsName}}
    </sv>
  </sv-container>
  <sv-container col="2">
    <sv label="货物数量">
      {{i?.goodsInfoList?.[0]?.weight}}吨,{{i?.goodsInfoList?.[0]?.volume}}方,{{i?.goodsInfoList?.[0]?.number}}件 </sv>
    <sv label="用车需求">{{ i?.carModel }}{{ i?.carLength ? "/" + i?.carLength : ''}} </sv>
    <sv label="承运司机"> {{ i?.driverName }}{{i?.driverPhone ? "/" + i?.driverPhone : ''}}{{ i?.carNo ? "/" + i?.carNo :
      ''}} </sv>
    <sv label="车型车长载重"> {{ i?.driverCarModelLabel }},{{ i?.driverCarLengthLabel }}米,{{ i?.driverCarWeight }}吨 </sv>
    <!-- <sv label="计划装货时间">
      {{ i?.loadPlanTime }}
    </sv>
    <sv label="计划卸货时间">
      {{ i?.unloadPlanTime }}
    </sv> -->
    <sv label="接单数量"> {{ i?.acceptWeight }}吨,{{ i?.acceptVolume }}方 </sv>
    <sv *ngIf="i?.billStatus =='3' || i?.billStatus =='4' || i?.billStatus =='5'" label="装货数量"> {{ i?.loadWeight }}吨，{{
      i?.loadVolume }}方</sv>
    <sv *ngIf="i?.billStatus =='4' || i?.billStatus =='5'" label="卸货数量"> {{ i?.settlementWeight }}吨,{{
      i?.settlementVolume }}方</sv>
  </sv-container>
  <div class="mt-md">
    <h4 class="text-md">装货卸货信息
      <span class="ml-sm text-sm">(
        <label>{{ i?.loadingCount || '一' }}装</label>
        <label>{{ i?.unloadingCount || '一' }}卸</label>
      </span>
      )
    </h4>
    <div nz-row [nzGutter]="24">
      <div nz-col [nzSpan]="12">
        <div class="handling-info p-md">
          <div class="flex" *ngFor="let item of i?.unLoadingPlaceList">
            <div *ngIf="item.type === '1'" class="loading-row">
              <div class="handling-info-icon loading-bg">装</div>
              <div class="info">
                <h4>装货地：{{ item?.province }}{{ item.city }}{{ item.area }}{{ item.detailedAddress }}</h4>
                <p>联系人：{{ item.appUserName }}{{ item.contractTelephone ? "/" + item.contractTelephone : '' }}</p>
              </div>
            </div>
          </div>
        </div>
      </div>
      <div nz-col [nzSpan]="12">
        <div class="handling-info p-md">
          <div class="flex" *ngFor="let item of i?.unLoadingPlaceList">
            <div *ngIf="item.type === '2'" class="loading-row">
              <div class="handling-info-icon unloaing-bg">卸</div>
              <div class="info">
                <h4>卸货地：{{ item?.province }}{{ item.city }}{{ item.area }}{{ item.detailedAddress }}</h4>
                <p>联系人：{{ item.appUserName }}{{ item.contractTelephone ? "/" + item.contractTelephone : ''}}</p>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</nz-card>
<!--
结算依据为1时，卸货时间不为空，显示运费信息，否则隐藏
结算依据为2时，装货时间不为空，显示运费信息，否则隐藏
 -->
 <nz-card [nzTitle]="priceTitel" #distannce3
 [hidden]="!(i?.settlementBasis ==='1' && i?.unloadTime) && !(i?.settlementBasis ==='2' && i?.loadTime)">
 <ng-template #priceTitel>
   <span>运费信息</span><span
     style="padding-left: 24px; color: #f59a23;font-size: small;">到货后{{i?.goodsResource.paymentDays}}天内支付运费</span>
 </ng-template>
 <div style="margin-bottom: 18px">
   <span style="color: #da001b; font-size: 18px"> {{ i?.freightPrice }}{{ i?.freightTypeLabel }} </span>（{{
   i?.settlementBasisLabel }}，{{
   i?.ruleLabel
   }}）
 </div>
 <st #st [data]="billExpenses" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
  <ng-template st-row="prices" let-item let-index="index">
    {{ item.price + item.surcharge | currency }}
  </ng-template>
   <ng-template st-row="PriceType" let-item let-index="index"> 到付 </ng-template>
   <ng-template st-row="price" let-item let-index="index"> {{item.price | currency}} </ng-template>
   <ng-template st-row="surcharge" let-item let-index="index"> {{item.surcharge | currency}} </ng-template>
 </st>
 <div>
   总计：<span style="color: #da001b; font-size: 18px">{{ i?.totalAmount | currency }}</span> （运费{{ i?.totalFreight |
   currency }}，
   附加费{{ i?.totalSurcharge | currency }}，附加费率{{ i?.totalRate * 100 | number: '0.2-2' }}%）
 </div>
 <div *ngIf=" i?.payeeId !== i?.driverId" class="mt-xs">车队长：{{ i?.payeeName }}/{{ i?.payeePhone }}/{{ i?.payeeIdNo }}</div>
</nz-card>

<nz-card nzTitle="附件信息" #distannce4>
  <sv-container>
    <sv label="协议附件">
      <a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a> &nbsp;&nbsp;&nbsp;&nbsp;
      <a *ngIf="i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a>
    </sv>
  </sv-container>
  <sv-container col="2" class="mt-md">
    <sv label="装货凭证">
      <app-imagelist *ngIf="i?.loadingLadingBillFilePath || i?.loadingPeopleVehiclesGoodsFilePath"
        [imgList]="[i?.loadingLadingBillFilePath, i?.loadingPeopleVehiclesGoodsFilePath]"> </app-imagelist>
    </sv>
    <sv label="卸货凭证">
      <app-imagelist *ngIf="i?.unloadingLadingBillFilePath || i?.unloadingPeopleVehiclesGoodsFilePath "
        [imgList]="[i?.unloadingLadingBillFilePath, i?.unloadingPeopleVehiclesGoodsFilePath]"> </app-imagelist>
    </sv>
  </sv-container>
</nz-card>
<nz-card nzTitle="补充信息">
  <sv-container>
    <sv label="是否回单">
      {{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }}
    </sv>
    <sv label="回单类型" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
      {{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }}
    </sv>
    <sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> {{
      i?.supplementaryInformationVO?.receiptUserName }} / {{ i?.supplementaryInformationVO?.phon }} </sv>
    <sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
      {{ i?.supplementaryInformationVO?.area }}
    </sv>
    <sv label="详细地址" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
      {{ i?.supplementaryInformationVO?.address }}
    </sv>
  </sv-container>
  <sv-container col="1" class="mt-md">
    <sv label="回单凭证" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
      <app-imagelist [imgList]="i?.receiptFilePath"></app-imagelist>
    </sv>
    <sv label="备注">
      {{ i?.goodsResource?.remarks }}
    </sv>
  </sv-container>
</nz-card>

<nz-card #distannce5>
  <p class="detail_title" ><span>|</span> 轨迹信息</p>
  <div nz-row>
    <div nz-col [nzSpan]="24">
      <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList" [pois]="pois">
      </amap-path-simplifier>
      <st [scroll]="{ y: '350px' }" #st [data]="addressItems" [columns]="logColumns2" [ps]="0"
        [page]="{ show: false, showSize: false }" size="small" class="map_st">
      </st>
      <nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)" class="map_radio">
        <label nz-radio-button nzValue="car">车辆轨迹</label>
        <label nz-radio-button nzValue="driver">司机轨迹</label>
      </nz-radio-group>
    </div>
  </div>
</nz-card>

<nz-card>
  <nz-tabset>
    <nz-tab nzTitle="风险异常检测">
     <div  *ngIf="abnormalList.length > 0">
      <div>
        您的订单可能存在交易风险，请及时提交申诉材料，提交成功后，平台将及时完成审核并通知您!
      </div>
      <div>如果您的运单没有问题，可以提出申诉，并提供相关资料，我们将24小时内审核反馈</div>
      <ul *ngFor="let item of abnormalList">
        <li style="color: red;">系统识别:{{item?.complianceName}}</li>
        <li style="color: red;">{{item?.determineDetails}}</li>
      </ul>
     </div>
    </nz-tab>
    <nz-tab nzTitle="异常预警">
      <st #st [data]="service.$api_get_order_abnormalWarning" [columns]="logColumns3"
        [res]="{ reName: { list: 'data' } }" [req]="{params:{id:route.snapshot.params.id}}"
        [page]="{ show: false, showSize: false }"> </st>
    </nz-tab>
    <nz-tab nzTitle="操作日志">
      <!-- <st #logSt [data]="service.$api_get_log_list" [columns]="operateLogColums"
      [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: logParams ,lazyLoad:true}"
      [res]="{ reName: { list: 'data.records', total: 'data.total' } }">
      <ng-template st-row="operator" let-item>
        {{item?.operator}}/{{item.telephone}}
      </ng-template>
    </st> -->
    <app-logistics-time-line [data]="operationList"></app-logistics-time-line>
    </nz-tab>
  </nz-tabset>
</nz-card>

<nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" (nzOnOk)="handleOK()"
  nzWidth="1000px" (nzOnCancel)="handleCancel()">
  <ng-container *nzModalContent>
    <div *ngIf="!modalcontent">暂无附件信息</div>
    <div [innerHTML]="modalcontent"></div>
  </ng-container>
  <ng-template #nzModalFooter>
    <button nz-button nzType="primary" (click)="handleOK()" [disabled]="">取消</button>
    <button nz-button nzType="default" (click)="handleCancel()">确定 </button>
  </ng-template>
</nz-modal>