Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
		| @ -5,179 +5,187 @@ | ||||
|     </button> | ||||
|   </ng-template> | ||||
| </page-header-wrapper> | ||||
| <nz-card> | ||||
|   <div class="card-title">货源单设置</div> | ||||
|   <sf #sf1 [schema]="schema1" [formData]="sf1data" [button]="'none'" [ui]="ui1"></sf> | ||||
| </nz-card> | ||||
| <div class="custom-style"> | ||||
|   <nz-card> | ||||
|     <div class="card-title">货源单设置</div> | ||||
|     <sf #sf1 [schema]="schema1" [formData]="sf1data" [button]="'none'" [ui]="ui1"></sf> | ||||
|   </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="card-title">装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div> | ||||
|  | ||||
|   <form nz-form [formGroup]="validateForm1" role="form"> | ||||
|     <div nz-row [nzGutter]="24"> | ||||
|       <div nz-col [nzSpan]="10"> | ||||
|         <div *ngFor="let data1 of startInfo; let idx = index"> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label nzRequired>装货地</nz-form-label> | ||||
|             <nz-form-control [nzErrorTip]="'请输入装货地'"> | ||||
|               <div class="align-center"> | ||||
|                 <nz-input-group [nzSuffix]="endInconTemp1"> | ||||
|                   <input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)" | ||||
|                     formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" /> | ||||
|                 </nz-input-group> | ||||
|               </div> | ||||
|             </nz-form-control> | ||||
|           </nz-form-item> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label nzRequired>联系人</nz-form-label> | ||||
|             <div style="display: flex ;width: 86%"> | ||||
|               <nz-form-control [nzErrorTip]="'请输入联系人姓名'"> | ||||
|                 <input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}" maxlength="30" | ||||
|                   placeholder="请输入联系人姓名" /> | ||||
|               </nz-form-control> | ||||
|               <nz-form-control [nzErrorTip]="'请输入联系人电话'"> | ||||
|                 <input style="margin-left: 12px" nz-input [(ngModel)]="data1.contractTelephone" maxlength="11" | ||||
|                   formControlName="loadPhone{{ idx }}" placeholder="请输入联系人电话" /> | ||||
|               </nz-form-control> | ||||
|             </div> | ||||
|           </nz-form-item> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div nz-col [nzSpan]="4"> | ||||
|         <div style="display: flex; justify-content: center"> | ||||
|           <span class="swap-icon" (click)="swapAddress()"><i nz-icon nzType="swap" nzTheme="outline"></i></span> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div nz-col [nzSpan]="10"> | ||||
|         <div *ngFor="let data2 of endInfo; let idx = index"> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label nzRequired>卸货地</nz-form-label> | ||||
|             <nz-form-control [nzErrorTip]="'请输入卸货地'"> | ||||
|               <div class="align-center"> | ||||
|                 <nz-input-group [nzSuffix]="endInconTemp1"> | ||||
|                   <input nz-input [(ngModel)]="data2.detailedAddress" (click)="openMap('end', idx)" | ||||
|                     formControlName="unloadAddress{{ idx }}" placeholder="请输入卸货地" readonly="true" /> | ||||
|                 </nz-input-group> | ||||
|               </div> | ||||
|             </nz-form-control> | ||||
|           </nz-form-item> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label nzRequired>联系人</nz-form-label> | ||||
|             <div style="display: flex;width: 86%"> | ||||
|               <nz-form-control [nzErrorTip]="'请输入联系人姓名'"> | ||||
|                 <input nz-input [(ngModel)]="data2.appUserName" maxlength="30" formControlName="unloadName{{ idx }}" | ||||
|                   placeholder="请输入联系人姓名" /> | ||||
|               </nz-form-control> | ||||
|               <nz-form-control [nzErrorTip]="'请输入联系人电话'"> | ||||
|                 <input style="margin-left: 12px" nz-input [(ngModel)]="data2.contractTelephone" | ||||
|                   formControlName="unloadPhone{{ idx }}" maxlength="11" placeholder="请输入联系人电话" /> | ||||
|               </nz-form-control> | ||||
|             </div> | ||||
|           </nz-form-item> | ||||
|         </div> | ||||
|       </div> | ||||
|   <nz-card> | ||||
|     <div class="card-title">装卸货信息<span class="tip-font">预计公里数:<em>{{ totalDistance }}km</em>,预计行程耗时:<em>{{ totalTime }}小时</em></span> | ||||
|     </div> | ||||
|     <ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template> | ||||
|   </form> | ||||
| </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="card-title">货物信息</div> | ||||
|   <div nz-row> | ||||
|     <div nz-col nzSpan="24"> | ||||
|       <sf #sf3 [schema]="schema3" class="sf3" [formData]="sf3data" [button]="'none'" [ui]="ui3"> | ||||
|         <ng-template class="1" sf-template="goodsTips" let-i let-ui="ui"> | ||||
|           <nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert> | ||||
|         </ng-template> | ||||
|         <ng-template #tpl> | ||||
|           <span style="font-size: 12px;"> 国家法规及行政命令禁限运货物不能托运 | ||||
|             <a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a> | ||||
|           </span> | ||||
|         </ng-template> | ||||
|       </sf> | ||||
|       <sf #sf4 [schema]="schema4" [formData]="sf4data" [button]="'none'" [ui]="ui4"> | ||||
|         <ng-template sf-template="freightPrice" let-i let-ui="ui"> | ||||
|           <nz-input-group [nzAddOnAfter]="addOnAfterTemplate"> | ||||
|             <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="请输入" type="number" [ngModel]="i.value" | ||||
|               (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> | ||||
|           </nz-input-group> | ||||
|           <ng-template #addOnAfterTemplate> | ||||
|             <nz-select [ngModel]="sf4.value.freightType" (ngModelChange)="sf4.setValue('/freightType', $event)"> | ||||
|               <nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of freightTypeOptions"> | ||||
|               </nz-option> | ||||
|             </nz-select> | ||||
|     <form nz-form [formGroup]="validateForm1" role="form"> | ||||
|       <div nz-row [nzGutter]="24"> | ||||
|         <div nz-col [nzSpan]="10"> | ||||
|           <div *ngFor="let data1 of startInfo; let idx = index"> | ||||
|             <nz-form-item> | ||||
|               <nz-form-label [nzSpan]="4" nzRequired>装货地</nz-form-label> | ||||
|               <nz-form-control [nzErrorTip]="'请输入装货地'"> | ||||
|                 <div class="align-center"> | ||||
|                   <nz-input-group [nzSuffix]="endInconTemp1"> | ||||
|                     <input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)" | ||||
|                       formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" /> | ||||
|                   </nz-input-group> | ||||
|                 </div> | ||||
|               </nz-form-control> | ||||
|             </nz-form-item> | ||||
|             <nz-form-item> | ||||
|               <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label> | ||||
|               <div nz-col [nzSpan]="20"> | ||||
|                 <div nz-row [nzGutter]="12"> | ||||
|                   <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'"> | ||||
|                     <input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}" | ||||
|                       name="loadName{{ idx }}" maxlength="30" placeholder="请输入联系人姓名" /> | ||||
|                   </nz-form-control> | ||||
|                   <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'"> | ||||
|                     <input nz-input [(ngModel)]="data1.contractTelephone" maxlength="11" | ||||
|                       formControlName="loadPhone{{ idx }}" name="loadPhone{{ idx }}" placeholder="请输入联系人电话" /> | ||||
|                   </nz-form-control> | ||||
|                 </div> | ||||
|               </div> | ||||
|             </nz-form-item> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div nz-col [nzSpan]="4"> | ||||
|           <div class="icon-wrap"> | ||||
|             <span class="swap-icon" (click)="swapAddress()"></span> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div nz-col [nzSpan]="10"> | ||||
|           <div *ngFor="let data2 of endInfo; let idx = index"> | ||||
|             <nz-form-item> | ||||
|               <nz-form-label [nzSpan]="4" nzRequired>卸货地</nz-form-label> | ||||
|               <nz-form-control [nzErrorTip]="'请输入卸货地'"> | ||||
|                 <div class="align-center"> | ||||
|                   <nz-input-group [nzSuffix]="endInconTemp1"> | ||||
|                     <input nz-input [(ngModel)]="data2.detailedAddress" (click)="openMap('end', idx)" | ||||
|                       formControlName="unloadAddress{{ idx }}" placeholder="请输入卸货地" readonly="true" /> | ||||
|                   </nz-input-group> | ||||
|                 </div> | ||||
|               </nz-form-control> | ||||
|             </nz-form-item> | ||||
|             <nz-form-item> | ||||
|               <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label> | ||||
|               <div nz-col [nzSpan]="20"> | ||||
|                 <div nz-row [nzGutter]="12"> | ||||
|                   <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'"> | ||||
|                     <input nz-input [(ngModel)]="data2.appUserName" maxlength="30" formControlName="unloadName{{ idx }}" | ||||
|                       name="unloadAddress{{ idx }}" placeholder="请输入联系人姓名" /> | ||||
|                   </nz-form-control> | ||||
|                   <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'"> | ||||
|                     <input nz-input [(ngModel)]="data2.contractTelephone" | ||||
|                       formControlName="unloadPhone{{ idx }}" name="unloadAddress{{ idx }}" maxlength="11" | ||||
|                       placeholder="请输入联系人电话" /> | ||||
|                   </nz-form-control> | ||||
|                 </div> | ||||
|               </div> | ||||
|             </nz-form-item> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template> | ||||
|     </form> | ||||
|   </nz-card> | ||||
|  | ||||
|   <nz-card> | ||||
|     <div class="card-title">货物信息</div> | ||||
|     <div nz-row> | ||||
|       <div nz-col nzSpan="24"> | ||||
|         <sf #sf3 [schema]="schema3" class="sf3" [formData]="sf3data" [button]="'none'" [ui]="ui3"> | ||||
|           <ng-template class="1" sf-template="goodsTips" let-i let-ui="ui"> | ||||
|             <nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert> | ||||
|           </ng-template> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="rule" let-i let-ui="ui"> | ||||
|           <div class="align-center"> | ||||
|             <nz-select [ngModel]="i.value" (ngModelChange)="i.setValue($event)" nzPlaceHolder="运费取整规则"> | ||||
|               <nz-option nzLabel="保留小数" nzValue="1"></nz-option> | ||||
|               <nz-option nzLabel="抹除小数" nzValue="2"></nz-option> | ||||
|               <nz-option nzLabel="抹除个数" nzValue="3"></nz-option> | ||||
|             </nz-select> | ||||
|             <span style="padding: 0 12px" nz-tooltip [nzTooltipTitle]="template2" nzTooltipPlacement="bottom"><i nz-icon | ||||
|                 nzType="exclamation-circle" nzTheme="outline" style="color: #1890ff"></i></span> | ||||
|             <ng-template #template2> | ||||
|               <p>例如 付司机运费 = 重量*单价 = 999.99</p> | ||||
|               <p>保留小数,即 999.99</p> | ||||
|               <p>抹除小数,即 999.00</p> | ||||
|               <p>抹除个位,即 990.00</p> | ||||
|           <ng-template #tpl> | ||||
|             <span style="font-size: 14px;"> 国家法规及行政命令禁限运货物不能托运 | ||||
|               <a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a> | ||||
|             </span> | ||||
|           </ng-template> | ||||
|         </sf> | ||||
|         <sf #sf4 [schema]="schema4" [formData]="sf4data" [button]="'none'" [ui]="ui4"> | ||||
|           <ng-template sf-template="freightPrice" let-i let-ui="ui"> | ||||
|             <nz-input-group [nzAddOnAfter]="addOnAfterTemplate"> | ||||
|               <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="请输入" type="number" [ngModel]="i.value" | ||||
|                 (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> | ||||
|             </nz-input-group> | ||||
|             <ng-template #addOnAfterTemplate> | ||||
|               <nz-select [ngModel]="sf4.value.freightType" (ngModelChange)="sf4.setValue('/freightType', $event)"> | ||||
|                 <nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of freightTypeOptions"> | ||||
|                 </nz-option> | ||||
|               </nz-select> | ||||
|             </ng-template> | ||||
|           </div> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="weight" let-i let-ui="ui"> | ||||
|           <nz-input-group [nzAddOnAfter]="'吨'"> | ||||
|             <nz-input-number placeholder="总重量,必填" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" | ||||
|               style="width: 100%"></nz-input-number> | ||||
|           </nz-input-group> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="volume" let-i let-ui="ui"> | ||||
|           <nz-input-group [nzAddOnAfter]="'方'"> | ||||
|             <nz-input-number placeholder="总体积" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" | ||||
|               style="width: 100%"></nz-input-number> | ||||
|           </nz-input-group> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="number" let-i let-ui="ui"> | ||||
|           <nz-input-group [nzAddOnAfter]="'车'"> | ||||
|             <nz-input-number placeholder="总车次" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" | ||||
|               style="width: 100%"></nz-input-number> | ||||
|           </nz-input-group> | ||||
|         </ng-template> | ||||
|       </sf> | ||||
|     </div> | ||||
|   </div> | ||||
| </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="card-title">补充信息</div> | ||||
|   <div nz-row> | ||||
|     <div nz-col nzSpan="12"> | ||||
|       <sf #sf7 [schema]="schema7" [formData]="sf7data" [button]="'none'" [ui]="ui7"> | ||||
|         <ng-template sf-template="paymentDays" let-i let-ui="ui"> | ||||
|           <div nz-row> | ||||
|           </ng-template> | ||||
|           <ng-template sf-template="rule" let-i let-ui="ui"> | ||||
|             <div class="align-center"> | ||||
|               <div nz-col nzSpan="12"> | ||||
|                 <nz-input-number [(ngModel)]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" [nzMax]="30" | ||||
|                   [nzStep]="1"></nz-input-number> | ||||
|               </div> | ||||
|               <div nz-col nzSpan="12"> | ||||
|                 <span> 天内支付运费</span> | ||||
|               <nz-select [ngModel]="i.value" (ngModelChange)="i.setValue($event)" nzPlaceHolder="运费取整规则"> | ||||
|                 <nz-option nzLabel="保留小数" nzValue="1"></nz-option> | ||||
|                 <nz-option nzLabel="抹除小数" nzValue="2"></nz-option> | ||||
|                 <nz-option nzLabel="抹除个数" nzValue="3"></nz-option> | ||||
|               </nz-select> | ||||
|               <span style="padding: 0 12px" nz-tooltip [nzTooltipTitle]="template2" nzTooltipPlacement="bottom"><i | ||||
|                   nz-icon nzType="exclamation-circle" nzTheme="outline" style="color: #1890ff"></i></span> | ||||
|               <ng-template #template2> | ||||
|                 <p>例如 付司机运费 = 重量*单价 = 999.99</p> | ||||
|                 <p>保留小数,即 999.99</p> | ||||
|                 <p>抹除小数,即 999.00</p> | ||||
|                 <p>抹除个位,即 990.00</p> | ||||
|               </ng-template> | ||||
|             </div> | ||||
|           </ng-template> | ||||
|           <ng-template sf-template="weight" let-i let-ui="ui"> | ||||
|             <nz-input-group [nzAddOnAfter]="'吨'"> | ||||
|               <nz-input-number placeholder="总重量,必填" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" | ||||
|                 style="width: 100%"></nz-input-number> | ||||
|             </nz-input-group> | ||||
|           </ng-template> | ||||
|           <ng-template sf-template="volume" let-i let-ui="ui"> | ||||
|             <nz-input-group [nzAddOnAfter]="'方'"> | ||||
|               <nz-input-number placeholder="总体积" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" | ||||
|                 style="width: 100%"></nz-input-number> | ||||
|             </nz-input-group> | ||||
|           </ng-template> | ||||
|           <ng-template sf-template="number" let-i let-ui="ui"> | ||||
|             <nz-input-group [nzAddOnAfter]="'车'"> | ||||
|               <nz-input-number placeholder="总车次" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" | ||||
|                 style="width: 100%"></nz-input-number> | ||||
|             </nz-input-group> | ||||
|           </ng-template> | ||||
|         </sf> | ||||
|       </div> | ||||
|     </div> | ||||
|   </nz-card> | ||||
|  | ||||
|   <nz-card> | ||||
|     <div class="card-title">补充信息</div> | ||||
|     <div nz-row> | ||||
|       <div nz-col nzSpan="24"> | ||||
|         <sf #sf7 [schema]="schema7" [formData]="sf7data" [button]="'none'" [ui]="ui7"> | ||||
|           <ng-template sf-template="paymentDays" let-i let-ui="ui"> | ||||
|             <div nz-row> | ||||
|               <div class="align-center"> | ||||
|                 <div nz-col nzSpan="14"> | ||||
|                   <nz-input-number [(ngModel)]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" [nzMax]="30" | ||||
|                     [nzStep]="1"></nz-input-number> | ||||
|                 </div> | ||||
|                 <div nz-col nzSpan="10"> | ||||
|                   <span> 天内支付运费</span> | ||||
|                 </div> | ||||
|               </div> | ||||
|             </div> | ||||
|           </div> | ||||
|         </ng-template> | ||||
|       </sf> | ||||
|           </ng-template> | ||||
|         </sf> | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
| </nz-card> | ||||
| <nz-card> | ||||
|   <div class="align-center"> | ||||
|     <button nz-button nzType="primary" (click)="submitConfirm('qrcode')" acl | ||||
|       [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER- QRCode']">生成二维码</button> | ||||
|     <button nz-button nzType="primary" style="margin-left: 48px" (click)="submitConfirm('assign')" acl | ||||
|       [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-bulkDesignate']">指派熟车</button> | ||||
|     <!-- <button nz-button nzType="primary"    (click)="choose()">取消</button> --> | ||||
|     <button nz-button nzType="primary" style="margin-left: 48px" (click)="submitConfirm('publish')" acl | ||||
|       [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-bulkAnotherOrder']">司机抢单</button> | ||||
|   </div> | ||||
| </nz-card> | ||||
|   </nz-card> | ||||
|   <nz-card class="btn-wrap"> | ||||
|     <div class="align-center"> | ||||
|       <button nz-button nzType="primary" (click)="submitConfirm('qrcode')" acl | ||||
|         [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER- QRCode']">生成二维码</button> | ||||
|       <button nz-button nzType="primary" style="margin-left: 24px" (click)="submitConfirm('assign')" acl | ||||
|         [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-bulkDesignate']">指派熟车</button> | ||||
|       <!-- <button nz-button nzType="primary"    (click)="choose()">取消</button> --> | ||||
|       <button nz-button nzType="primary" style="margin-left: 24px" (click)="submitConfirm('publish')" acl | ||||
|         [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-bulkAnotherOrder']">司机抢单</button> | ||||
|     </div> | ||||
|   </nz-card> | ||||
| </div> | ||||
| @ -11,10 +11,10 @@ | ||||
|     .sf3 { | ||||
|       .goods_Tips_item { | ||||
|         .goods_tips { | ||||
|           width: calc(50% - 45px); | ||||
|           width: calc(50% - 57px); | ||||
|  | ||||
|           .ant-alert { | ||||
|             padding: 0 0 0 2px; | ||||
|             margin-bottom: 5px; | ||||
|           } | ||||
|  | ||||
|         } | ||||
| @ -79,3 +79,100 @@ input[type='number']::-webkit-outer-spin-button { | ||||
|   margin: 0; | ||||
|   -webkit-appearance: none; | ||||
| } | ||||
|  | ||||
| .custom-style { | ||||
|   ::ng-deep { | ||||
|     .ant-card { | ||||
|       margin-bottom: 0; | ||||
|     } | ||||
|  | ||||
|     .ant-card-body { | ||||
|       padding-bottom: 0; | ||||
|     } | ||||
|  | ||||
|     .ant-card-bordered { | ||||
|       border: 0 none; | ||||
|     } | ||||
|  | ||||
|     .card-title { | ||||
|       display: flex; | ||||
|       align-items: center; | ||||
|  | ||||
|       >span { | ||||
|         margin-left: 8px; | ||||
|         font-size: 14px; | ||||
|  | ||||
|         em { | ||||
|           font-style: normal; | ||||
|           color: #E60012; | ||||
|         } | ||||
|       } | ||||
|  | ||||
|       &::before { | ||||
|         content: ''; | ||||
|         display: inline-block; | ||||
|         width: 2px; | ||||
|         height: 16px; | ||||
|         margin-right: 10px; | ||||
|         background: #E60012; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     .ant-btn-dangerous { | ||||
|       border-radius: 4px; | ||||
|       color: #CF3834; | ||||
|       border-color: rgba(207, 56, 52, 0.5); | ||||
|     } | ||||
|  | ||||
|     .icon-wrap { | ||||
|       display: flex; | ||||
|       justify-content: center; | ||||
|       height: 100%; | ||||
|     } | ||||
|  | ||||
|     .swap-icon { | ||||
|       background: url('/assets/images/frame.png') no-repeat 50% 50%; | ||||
|       cursor: pointer; | ||||
|     } | ||||
|  | ||||
|     .ant-input-affix-wrapper, | ||||
|     .ant-input, | ||||
|     .ant-picker, | ||||
|     .ant-select-selector, | ||||
|     .ant-input-number-input, | ||||
|     .ant-input-number { | ||||
|       border-radius: 4px ; | ||||
|     } | ||||
|     .ant-input-group-addon { | ||||
|       border-radius: 0 4px 4px 0; | ||||
|     } | ||||
|     .align-center { | ||||
|       .ant-btn { | ||||
|         height: 40px; | ||||
|         padding: 0 23px; | ||||
|         font-size: 16px; | ||||
|         border-radius: 3px; | ||||
|       } | ||||
|     } | ||||
|     .ant-select-arrow { | ||||
|       transform: scaleX(1.5) translateY(2px); | ||||
|       color: rgb(153,153,153); | ||||
|       font-size: 8px; | ||||
|     } | ||||
|     .ant-picker-suffix { | ||||
|       color: #333; | ||||
|     } | ||||
|     .btn-wrap { | ||||
|       margin-top: 20px; | ||||
|       padding-bottom: 20px; | ||||
|     } | ||||
|     .ant-alert { | ||||
|       padding: 6px 16px; | ||||
|       border-radius: 2px; | ||||
|       font-size: 14px; | ||||
|     } | ||||
|     .fc { | ||||
|       color: #f5222d; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -203,7 +203,7 @@ export class SupplyManagementBulkPublishComponent implements OnInit { | ||||
|     this.ui1 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 115, | ||||
|         grid: { span: 12 } | ||||
|         grid: { span: 8 } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
| @ -293,9 +293,12 @@ export class SupplyManagementBulkPublishComponent implements OnInit { | ||||
|     }; | ||||
|     this.ui3 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 90, | ||||
|         spanLabelFixed: 115, | ||||
|         grid: { span: 12 } | ||||
|       }, | ||||
|       $goodsNameId: { | ||||
|         spanLabelFixed: 10 | ||||
|       }, | ||||
|       $goodsTips: { | ||||
|         grid: { span: 24 } | ||||
|       } | ||||
| @ -406,33 +409,37 @@ export class SupplyManagementBulkPublishComponent implements OnInit { | ||||
|     }; | ||||
|     this.ui4 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 90, | ||||
|         grid: { span: 24 } | ||||
|         spanLabelFixed: 115, | ||||
|         grid: { span: 12 } | ||||
|       }, | ||||
|       $freightPrice: { | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $rule: { | ||||
|         spanLabelFixed: 10, | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $settlementBasis: { | ||||
|         spanLabelFixed: 10, | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $weight: { | ||||
|         grid: { lg: 8, md: 12, sm: 12, xs: 24 } | ||||
|         grid: { span: 4 } | ||||
|       }, | ||||
|       $volume: { | ||||
|         grid: { lg: 8, md: 12, sm: 12, xs: 24 } | ||||
|         spanLabelFixed: 10, | ||||
|         grid: { span: 4 } | ||||
|       }, | ||||
|       $number: { | ||||
|         grid: { lg: 8, md: 12, sm: 12, xs: 24 } | ||||
|         spanLabelFixed: 10, | ||||
|         grid: { span: 4 } | ||||
|       }, | ||||
|       $carModel: { | ||||
|         spanLabelFixed: 120, | ||||
|         grid: { span: 8 } | ||||
|         grid: { span: 6 } | ||||
|       }, | ||||
|       $carLength: { | ||||
|         grid: { span: 8 } | ||||
|         spanLabelFixed: 10, | ||||
|         grid: { span: 6 } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
| @ -522,7 +529,7 @@ export class SupplyManagementBulkPublishComponent implements OnInit { | ||||
|           ui: { | ||||
|             widget: 'textarea', | ||||
|             placeholder: '请输入', | ||||
|             autosize: { minRows: 3, maxRows: 3 } | ||||
|             autosize: { minRows: 1, maxRows: 1 } | ||||
|           } as SFTextareaWidgetSchema | ||||
|         } | ||||
|       }, | ||||
| @ -538,7 +545,10 @@ export class SupplyManagementBulkPublishComponent implements OnInit { | ||||
|     }; | ||||
|     this.ui7 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 90, | ||||
|         spanLabelFixed: 115, | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $remarks: { | ||||
|         grid: { span: 24 } | ||||
|       } | ||||
|     }; | ||||
|  | ||||
| @ -5,264 +5,271 @@ | ||||
|     </button> | ||||
|   </ng-template> | ||||
| </page-header-wrapper> | ||||
| <nz-card> | ||||
|   <div class="card-title">货源单设置</div> | ||||
|   <sf #sf1 [schema]="schema1" [formData]="sf1data" [button]="'none'" [ui]="ui1"></sf> | ||||
| </nz-card> | ||||
| <div class="custom-style"> | ||||
|   <nz-card> | ||||
|     <div class="card-title">货源单设置</div> | ||||
|     <sf #sf1 [schema]="schema1" [formData]="sf1data" [button]="'none'" [ui]="ui1"></sf> | ||||
|   </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="card-title">装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div> | ||||
|   <nz-card> | ||||
|     <div class="card-title">装卸货信息<span class="tip-font">预计公里数:<em>{{ totalDistance }}km</em>,预计行程耗时:<em>{{ totalTime }}小时</em></span> | ||||
|     </div> | ||||
|  | ||||
|   <form nz-form [formGroup]="validateForm1" role="form"> | ||||
|     <div nz-row [nzGutter]="24"> | ||||
|       <div nz-col [nzSpan]="10"> | ||||
|         <div *ngFor="let data1 of startInfo; let idx = index"> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label nzRequired>装货地</nz-form-label> | ||||
|             <nz-form-control [nzErrorTip]="'请输入装货地'"> | ||||
|               <div class="align-center"> | ||||
|                 <nz-input-group [nzSuffix]="endInconTemp1"> | ||||
|                   <input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)" | ||||
|                     formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" /> | ||||
|                 </nz-input-group> | ||||
|                 <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline" | ||||
|                     style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> | ||||
|                 <span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle" | ||||
|                     nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> | ||||
|     <form nz-form [formGroup]="validateForm1" role="form"> | ||||
|       <div nz-row [nzGutter]="24"> | ||||
|         <div nz-col [nzSpan]="10"> | ||||
|           <div *ngFor="let data1 of startInfo; let idx = index"> | ||||
|             <nz-form-item> | ||||
|               <nz-form-label [nzSpan]="4" nzRequired>装货地</nz-form-label> | ||||
|               <nz-form-control [nzErrorTip]="'请输入装货地'"> | ||||
|                 <div class="align-center"> | ||||
|                   <nz-input-group [nzSuffix]="endInconTemp1"> | ||||
|                     <input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)" | ||||
|                       formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" /> | ||||
|                   </nz-input-group> | ||||
|                   <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle-o" nzTheme="outline" | ||||
|                       style="color: #1890ff" (click)="subStartInfo($event, idx)"></i></span> | ||||
|                   <!-- <span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle" | ||||
|                       nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> --> | ||||
|                 </div> | ||||
|               </nz-form-control> | ||||
|             </nz-form-item> | ||||
|             <nz-form-item> | ||||
|               <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label> | ||||
|               <div nz-col [nzSpan]="20"> | ||||
|                 <div nz-row [nzGutter]="12"> | ||||
|                   <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'"> | ||||
|                     <input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}" | ||||
|                       name="loadName{{ idx }}" maxlength="30" placeholder="请输入联系人姓名" /> | ||||
|                   </nz-form-control> | ||||
|                   <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'"> | ||||
|                     <input nz-input [(ngModel)]="data1.contractTelephone" maxlength="11" | ||||
|                       formControlName="loadPhone{{ idx }}" name="loadPhone{{ idx }}" placeholder="请输入联系人电话" /> | ||||
|                   </nz-form-control> | ||||
|                 </div> | ||||
|               </div> | ||||
|             </nz-form-item> | ||||
|           </div> | ||||
|           <div nz-row> | ||||
|             <div nz-col [nzSpan]="4"></div> | ||||
|             <div style="display: flex; justify-content: center"> | ||||
|               <button nz-button (click)="addStartInfo()" nzDanger> | ||||
|                 <i nz-icon nzType="plus"></i> | ||||
|                 添加装货地 | ||||
|               </button> | ||||
|             </div> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div nz-col [nzSpan]="4"> | ||||
|           <div class="icon-wrap"> | ||||
|             <span class="swap-icon" (click)="swapAddress()"></span> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div nz-col [nzSpan]="10"> | ||||
|           <div *ngFor="let data2 of endInfo; let idx = index"> | ||||
|             <nz-form-item> | ||||
|               <nz-form-label nzRequired [nzSpan]="4">卸货地</nz-form-label> | ||||
|               <nz-form-control [nzErrorTip]="'请输入卸货地'"> | ||||
|                 <div class="align-center"> | ||||
|                   <nz-input-group [nzSuffix]="endInconTemp1"> | ||||
|                     <input nz-input [(ngModel)]="data2.detailedAddress" (click)="openMap('end', idx)" | ||||
|                       formControlName="unloadAddress{{ idx }}" placeholder="请输入卸货地" name="unloadAddress{{ idx }}" | ||||
|                       readonly="true" /> | ||||
|                   </nz-input-group> | ||||
|                   <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle-o" nzTheme="outline" | ||||
|                       style="color: #1890ff" (click)="subEndInfo($event, idx)"></i></span> | ||||
|                   <!-- <span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle" | ||||
|                       nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> --> | ||||
|                 </div> | ||||
|               </nz-form-control> | ||||
|             </nz-form-item> | ||||
|             <nz-form-item> | ||||
|               <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label> | ||||
|               <div nz-col [nzSpan]="20"> | ||||
|                 <div nz-row [nzGutter]="12"> | ||||
|                   <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'"> | ||||
|                     <input nz-input [(ngModel)]="data2.appUserName" maxlength="30" formControlName="unloadName{{ idx }}" | ||||
|                       name="unloadAddress{{ idx }}" placeholder="请输入联系人姓名" /> | ||||
|                   </nz-form-control> | ||||
|                   <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'"> | ||||
|                     <input nz-input [(ngModel)]="data2.contractTelephone" | ||||
|                       formControlName="unloadPhone{{ idx }}" name="unloadAddress{{ idx }}" maxlength="11" | ||||
|                       placeholder="请输入联系人电话" /> | ||||
|                   </nz-form-control> | ||||
|                 </div> | ||||
|               </div> | ||||
|             </nz-form-item> | ||||
|           </div> | ||||
|           <div nz-row> | ||||
|             <div nz-col [nzSpan]="4"></div> | ||||
|             <div style="display: flex; justify-content: center"> | ||||
|               <button nz-button (click)="addEndInfo()" nzDanger> | ||||
|                 <i nz-icon nzType="plus"></i> | ||||
|                 添加卸货地 | ||||
|               </button> | ||||
|             </div> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div nz-row [nzGutter]="24" style="margin-top: 24px"> | ||||
|         <div nz-col nzXs="2" nzSm="4" nzMd="8" nzLg="8" nzXl="10"> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label nzRequired [nzSpan]="4">装货时间</nz-form-label> | ||||
|             <nz-form-control [nzErrorTip]="'请输入装货时间'"> | ||||
|               <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" | ||||
|                 formControlName="loadingTime" [nzDisabledDate]="disabledDateStart"></nz-date-picker> | ||||
|             </nz-form-control> | ||||
|           </nz-form-item> | ||||
|         </div> | ||||
|         <div nz-col nzXs="20" nzSm="16" nzMd="12" nzLg="8" nzXl="4"></div> | ||||
|         <div nz-col nzXs="2" nzSm="4" nzMd="8" nzLg="8" nzXl="10"> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label nzRequired>联系人</nz-form-label> | ||||
|             <div style="display: flex; width: 80.7%"> | ||||
|               <nz-form-control [nzErrorTip]="'请输入联系人姓名'"> | ||||
|                 <input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}" | ||||
|                   name="loadName{{ idx }}" maxlength="30" placeholder="请输入联系人姓名" /> | ||||
|               </nz-form-control> | ||||
|               <nz-form-control [nzErrorTip]="'请输入联系人电话'"> | ||||
|                 <input style="margin-left: 12px" nz-input [(ngModel)]="data1.contractTelephone" maxlength="11" | ||||
|                   formControlName="loadPhone{{ idx }}" name="loadPhone{{ idx }}" placeholder="请输入联系人电话" /> | ||||
|               </nz-form-control> | ||||
|             </div> | ||||
|           </nz-form-item> | ||||
|         </div> | ||||
|         <div nz-row> | ||||
|           <div nz-col [nzSpan]="4"></div> | ||||
|           <div style="display: flex; justify-content: center"> | ||||
|             <button nz-button nzType="primary" (click)="addStartInfo()"> | ||||
|               <i nz-icon nzType="plus"></i> | ||||
|               添加装货地 | ||||
|             </button> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div nz-col [nzSpan]="4"> | ||||
|         <div style="display: flex; justify-content: center"> | ||||
|           <span class="swap-icon" (click)="swapAddress()"><i nz-icon nzType="swap" nzTheme="outline"></i></span> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div nz-col [nzSpan]="10"> | ||||
|         <div *ngFor="let data2 of endInfo; let idx = index"> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label nzRequired>卸货地</nz-form-label> | ||||
|             <nz-form-control [nzErrorTip]="'请输入卸货地'"> | ||||
|               <div class="align-center"> | ||||
|                 <nz-input-group [nzSuffix]="endInconTemp1"> | ||||
|                   <input nz-input [(ngModel)]="data2.detailedAddress" (click)="openMap('end', idx)" | ||||
|                     formControlName="unloadAddress{{ idx }}" placeholder="请输入卸货地" name="unloadAddress{{ idx }}" | ||||
|                     readonly="true" /> | ||||
|                 </nz-input-group> | ||||
|                 <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline" | ||||
|                     style="color: #d9001b" (click)="subEndInfo($event, idx)"></i></span> | ||||
|                 <span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle" | ||||
|                     nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> | ||||
|               </div> | ||||
|             <nz-form-label [nzSpan]="4" nzRequired>卸货时间</nz-form-label> | ||||
|             <nz-form-control [nzErrorTip]="'请输入卸货时间'"> | ||||
|               <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" | ||||
|                 formControlName="unloadingTime"></nz-date-picker> | ||||
|             </nz-form-control> | ||||
|           </nz-form-item> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label nzRequired>联系人</nz-form-label> | ||||
|             <div style="display: flex; width: 80.7%"> | ||||
|               <nz-form-control [nzErrorTip]="'请输入联系人姓名'"> | ||||
|                 <input nz-input [(ngModel)]="data2.appUserName" maxlength="30" formControlName="unloadName{{ idx }}" | ||||
|                   name="unloadAddress{{ idx }}" placeholder="请输入联系人姓名" /> | ||||
|               </nz-form-control> | ||||
|               <nz-form-control [nzErrorTip]="'请输入联系人电话'"> | ||||
|                 <input style="margin-left: 12px" nz-input [(ngModel)]="data2.contractTelephone" | ||||
|                   formControlName="unloadPhone{{ idx }}" name="unloadAddress{{ idx }}" maxlength="11" | ||||
|                   placeholder="请输入联系人电话" /> | ||||
|               </nz-form-control> | ||||
|             </div> | ||||
|           </nz-form-item> | ||||
|         </div> | ||||
|         <div nz-row> | ||||
|           <div nz-col [nzSpan]="4"></div> | ||||
|           <div style="display: flex; justify-content: center"> | ||||
|             <button nz-button nzType="primary" (click)="addEndInfo()"> | ||||
|               <i nz-icon nzType="plus"></i> | ||||
|               添加卸货地 | ||||
|             </button> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|     </div> | ||||
|     <div nz-row [nzGutter]="24" style="margin-top: 24px"> | ||||
|       <div nz-col nzXs="2" nzSm="4" nzMd="8" nzLg="8" nzXl="10"> | ||||
|         <nz-form-item> | ||||
|           <nz-form-label nzRequired>装货时间</nz-form-label> | ||||
|           <nz-form-control [nzErrorTip]="'请输入装货时间'"> | ||||
|             <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" formControlName="loadingTime" | ||||
|               [nzDisabledDate]="disabledDateStart"></nz-date-picker> | ||||
|           </nz-form-control> | ||||
|         </nz-form-item> | ||||
|       </div> | ||||
|       <div nz-col nzXs="20" nzSm="16" nzMd="12" nzLg="8" nzXl="4"></div> | ||||
|       <div nz-col nzXs="2" nzSm="4" nzMd="8" nzLg="8" nzXl="10"> | ||||
|         <nz-form-item> | ||||
|           <nz-form-label nzRequired>卸货时间</nz-form-label> | ||||
|           <nz-form-control [nzErrorTip]="'请输入卸货时间'"> | ||||
|             <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" | ||||
|               formControlName="unloadingTime"></nz-date-picker> | ||||
|           </nz-form-control> | ||||
|         </nz-form-item> | ||||
|       <ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template> | ||||
|     </form> | ||||
|   </nz-card> | ||||
|  | ||||
|   <nz-card> | ||||
|     <div class="card-title">货物信息</div> | ||||
|     <div nz-row> | ||||
|       <div nz-col nzSpan="24"> | ||||
|         <sf #sf3 class="sf3" [schema]="schema3" [button]="'none'" [ui]="ui3" [formData]="sf3data"> | ||||
|           <ng-template sf-template="goodsTips" let-i let-ui="ui"> | ||||
|             <nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert> | ||||
|           </ng-template> | ||||
|           <ng-template #tpl> | ||||
|             <span style="font-size: 14px;"> 国家法规及行政命令禁限运货物不能托运 | ||||
|               <a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a> | ||||
|             </span> | ||||
|           </ng-template> | ||||
|         </sf> | ||||
|       </div> | ||||
|     </div> | ||||
|     <ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template> | ||||
|   </form> | ||||
| </nz-card> | ||||
|     <sf #sf4 [schema]="schema4" [button]="'none'" [ui]="ui4" [formData]="sf4data"> | ||||
|       <ng-template sf-template="weight" let-i let-ui="ui"> | ||||
|         <nz-input-group [nzAddOnAfter]="'吨'"> | ||||
|           <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="总重量,必填" type="number" [ngModel]="i.value" | ||||
|             (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%; border-radius: 4px 0 0 4px;"></nz-input-number> | ||||
|         </nz-input-group> | ||||
|       </ng-template> | ||||
|       <ng-template sf-template="volume" let-i let-ui="ui"> | ||||
|         <nz-input-group [nzAddOnAfter]="'方'"> | ||||
|           <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="体积" type="number" [ngModel]="i.value" | ||||
|             (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number> | ||||
|         </nz-input-group> | ||||
|       </ng-template> | ||||
|       <ng-template sf-template="number" let-i let-ui="ui"> | ||||
|         <nz-input-group [nzAddOnAfter]="'件'"> | ||||
|           <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="件数" type="number" [ngModel]="i.value" | ||||
|             (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number> | ||||
|         </nz-input-group> | ||||
|       </ng-template> | ||||
|       <ng-template sf-template="goodsValue" let-i let-ui="ui"> | ||||
|         <div class="align-center"> | ||||
|           <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="2000000" [nzStep]="0.01" | ||||
|             (ngModelChange)="i.setValue($event);getInsurersPrice()" nzPlaceHolder="请输入0-2000000之间数值"> | ||||
|           </nz-input-number> | ||||
|         </div> | ||||
|       </ng-template> | ||||
|     </sf> | ||||
|   </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="card-title">货物信息</div> | ||||
|   <div nz-row> | ||||
|     <div nz-col nzSpan="16"> | ||||
|       <sf #sf3 [schema]="schema3" class="sf3" [button]="'none'" [ui]="ui3" [formData]="sf3data"> | ||||
|         <ng-template class="1" sf-template="goodsTips" let-i let-ui="ui"> | ||||
|           <nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert> | ||||
|         </ng-template> | ||||
|         <ng-template #tpl> | ||||
|           <span style="font-size: 12px;"> 国家法规及行政命令禁限运货物不能托运 | ||||
|             <a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a> | ||||
|           </span> | ||||
|         </ng-template> | ||||
|       </sf> | ||||
|     </div> | ||||
|   </div> | ||||
|   <sf #sf4 [schema]="schema4" [button]="'none'" [ui]="ui4" [formData]="sf4data"> | ||||
|     <ng-template sf-template="weight" let-i let-ui="ui"> | ||||
|       <nz-input-group [nzAddOnAfter]="'吨'"> | ||||
|         <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="总重量,必填" type="number" [ngModel]="i.value" | ||||
|           (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> | ||||
|       </nz-input-group> | ||||
|     </ng-template> | ||||
|     <ng-template sf-template="volume" let-i let-ui="ui"> | ||||
|       <nz-input-group [nzAddOnAfter]="'方'"> | ||||
|         <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="体积" type="number" [ngModel]="i.value" | ||||
|           (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> | ||||
|       </nz-input-group> | ||||
|     </ng-template> | ||||
|     <ng-template sf-template="number" let-i let-ui="ui"> | ||||
|       <nz-input-group [nzAddOnAfter]="'件'"> | ||||
|         <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="件数" type="number" [ngModel]="i.value" | ||||
|           (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> | ||||
|       </nz-input-group> | ||||
|     </ng-template> | ||||
|     <ng-template sf-template="goodsValue" let-i let-ui="ui"> | ||||
|       <div class="align-center"> | ||||
|         <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="2000000" [nzStep]="0.01" | ||||
|           (ngModelChange)="i.setValue($event);getInsurersPrice()" nzPlaceHolder="请输入0-2000000之间数值"> | ||||
|         </nz-input-number> | ||||
|   <nz-card> | ||||
|     <div class="card-title">服务信息</div> | ||||
|     <div nz-row> | ||||
|       <div nz-col nzSpan="24"> | ||||
|         <sf #sf5 [schema]="schema5" [button]="'none'" [ui]="ui5" [formData]="sf5data"> | ||||
|           <ng-template sf-template="type1" let-i let-ui="ui"> | ||||
|             <label nz-checkbox [ngModel]="true" nzDisabled></label>  货源曝光率 <span class="fc">+10</span>   | ||||
|             <label nz-checkbox [ngModel]="true" nzDisabled></label> 车源匹配率 <span class="fc">+10</span> | ||||
|           </ng-template> | ||||
|           <ng-template sf-template="type2" let-i let-ui="ui"> | ||||
|             <label nz-checkbox [ngModel]="true" nzDisabled></label>  货源曝光率 <span class="fc">+20</span>   | ||||
|             <label nz-checkbox [ngModel]="true" nzDisabled></label> 车源匹配率 <span class="fc">+20</span> | ||||
|           </ng-template> | ||||
|           <ng-template sf-template="freeInsurance1" let-i let-ui="ui"> | ||||
|             <nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert> | ||||
|           </ng-template> | ||||
|           <ng-template sf-template="freeInsurance2" let-i let-ui="ui"> | ||||
|             <nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert> | ||||
|           </ng-template> | ||||
|           <ng-template #template1>①香港、澳门、台湾、西藏、新疆不予承保,②单次运输保额仅限200万元以内,③保险详细内容及注意事项请见<a target="_blank" | ||||
|               [queryParams]="{ type: 10 }" [routerLink]="['/agreement']">《保险告知函》</a></ng-template> | ||||
|         </sf> | ||||
|       </div> | ||||
|     </ng-template> | ||||
|   </sf> | ||||
| </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="card-title">服务信息</div> | ||||
|   <div nz-row> | ||||
|     <div nz-col nzSpan="16"> | ||||
|       <sf #sf5 [schema]="schema5" [button]="'none'" [ui]="ui5" [formData]="sf5data"> | ||||
|         <ng-template sf-template="type1" let-i let-ui="ui"> | ||||
|           <label nz-checkbox [ngModel]="true" nzDisabled></label>  货源曝光率 <span class="fc">+10</span>   | ||||
|           <label nz-checkbox [ngModel]="true" nzDisabled></label> 车源匹配率 <span class="fc">+10</span> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="type2" let-i let-ui="ui"> | ||||
|           <label nz-checkbox [ngModel]="true" nzDisabled></label>  货源曝光率 <span class="fc">+20</span>   | ||||
|           <label nz-checkbox [ngModel]="true" nzDisabled></label> 车源匹配率 <span class="fc">+20</span> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="freeInsurance1" let-i let-ui="ui"> | ||||
|           <nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="freeInsurance2" let-i let-ui="ui"> | ||||
|           <nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert> | ||||
|         </ng-template> | ||||
|         <ng-template #template1>①香港、澳门、台湾、西藏、新疆不予承保,②单次运输保额仅限200万元以内,③保险详细内容及注意事项请见<a target="_blank" | ||||
|             [queryParams]="{ type: 10 }" [routerLink]="['/agreement']">《保险告知函》</a></ng-template> | ||||
|       </sf> | ||||
|     </div> | ||||
|   </div> | ||||
| </nz-card> | ||||
|   </nz-card> | ||||
|  | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="card-title">补充信息</div> | ||||
|   <div nz-row> | ||||
|     <div nz-col nzSpan="9"> | ||||
|       <sf #sf6 [schema]="schema6" [formData]="sf6data" [button]="'none'" [ui]="ui6"> </sf> | ||||
|   <nz-card> | ||||
|     <div class="card-title">补充信息</div> | ||||
|     <div nz-row> | ||||
|       <div nz-col nzSpan="24"> | ||||
|         <sf #sf6 [schema]="schema6" [formData]="sf6data" [button]="'none'" [ui]="ui6"> </sf> | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
| </nz-card> | ||||
|   </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="card-title">运费信息</div> | ||||
|   <div nz-row> | ||||
|     <div nz-col nzSpan="8"> | ||||
|       <sf #sf7 [schema]="schema7" [button]="'none'" [ui]="ui7" [formData]="sf7data"> | ||||
|         <ng-template sf-template="prePay" let-i let-ui="ui"> | ||||
|           <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" | ||||
|             nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" | ||||
|             [nzParser]="parserRmb"> | ||||
|           </nz-input-number> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="toPay" let-i let-ui="ui"> | ||||
|           <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" | ||||
|             nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" | ||||
|             [nzParser]="parserRmb"> | ||||
|           </nz-input-number> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="receiptPay" let-i let-ui="ui"> | ||||
|           <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" | ||||
|             nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" | ||||
|             [nzParser]="parserRmb"> | ||||
|           </nz-input-number> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="subtotal" let-i let-ui="ui">{{ i.value | currency }}</ng-template> | ||||
|         <ng-template sf-template="appendFee" let-i let-ui="ui">{{ i.value | currency }}(费率:{{ currentRate | number: | ||||
|           '0.2-4' }}%)</ng-template> | ||||
|         <ng-template sf-template="total" let-i let-ui="ui">{{ i.value | currency }}</ng-template> | ||||
|         <ng-template sf-template="paymentDays" let-i let-ui="ui"> | ||||
|           <div nz-row class="align-center"> | ||||
|             <div nz-col nzSpan="16"> | ||||
|               <nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1" | ||||
|                 (ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30" [nzPrecision]="0" | ||||
|                 [nzPrecisionMode]="'cut'"></nz-input-number> | ||||
|   <nz-card> | ||||
|     <div class="card-title">运费信息</div> | ||||
|     <div nz-row> | ||||
|       <div nz-col nzSpan="24"> | ||||
|         <sf #sf7 [schema]="schema7" [button]="'none'" [ui]="ui7" [formData]="sf7data"> | ||||
|           <ng-template sf-template="prePay" let-i let-ui="ui"> | ||||
|             <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" | ||||
|               nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" | ||||
|               [nzParser]="parserRmb"> | ||||
|             </nz-input-number> | ||||
|           </ng-template> | ||||
|           <ng-template sf-template="toPay" let-i let-ui="ui"> | ||||
|             <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" | ||||
|               nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" | ||||
|               [nzParser]="parserRmb"> | ||||
|             </nz-input-number> | ||||
|           </ng-template> | ||||
|           <ng-template sf-template="receiptPay" let-i let-ui="ui"> | ||||
|             <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" | ||||
|               nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" | ||||
|               [nzParser]="parserRmb"> | ||||
|             </nz-input-number> | ||||
|           </ng-template> | ||||
|           <ng-template sf-template="subtotal" let-i let-ui="ui">{{ i.value | currency }}</ng-template> | ||||
|           <ng-template sf-template="appendFee" let-i let-ui="ui">{{ i.value | currency }}(费率:{{ currentRate | number: | ||||
|             '0.2-4' }}%)</ng-template> | ||||
|           <ng-template sf-template="total" let-i let-ui="ui">{{ i.value | currency }}</ng-template> | ||||
|           <ng-template sf-template="paymentDays" let-i let-ui="ui"> | ||||
|             <div nz-row class="align-center"> | ||||
|               <div nz-col nzSpan="6"> | ||||
|                 <nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1" | ||||
|                   (ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30" [nzPrecision]="0" | ||||
|                   [nzPrecisionMode]="'cut'"></nz-input-number> | ||||
|               </div> | ||||
|               <div nz-col nzSpan="18"> | ||||
|                 <span> 天内支付运费</span> | ||||
|               </div> | ||||
|             </div> | ||||
|             <div nz-col nzSpan="8"> | ||||
|               <span> 天内支付运费</span> | ||||
|             </div> | ||||
|           </div> | ||||
|         </ng-template> | ||||
|       </sf> | ||||
|           </ng-template> | ||||
|         </sf> | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
| </nz-card> | ||||
| <nz-card> | ||||
|   <div class="align-center"> | ||||
|     <button nz-button nzType="primary" *ngIf="this.PageStatus == '整车修改'" (click)="goBack()">取消</button> | ||||
|     <button *ngIf="this.PageStatus == '整车修改'" nz-button nzType="primary" style="margin-left: 48px" | ||||
|       (click)="submitConfirm()" acl [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交修改</button> | ||||
|     <button nz-button nzType="primary" *ngIf="this.PageStatus == '整车下一单'" (click)="submitConfirm('assign')" acl | ||||
|       [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleDesignate']">指派熟车</button> | ||||
|     <button *ngIf="this.PageStatus == '整车下一单'" nz-button nzType="primary" style="margin-left: 48px" | ||||
|       (click)="submitConfirm('publish')" acl | ||||
|       [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleAnotherOrder']">司机抢单</button> | ||||
|   </div> | ||||
| </nz-card> | ||||
|   </nz-card> | ||||
|   <nz-card class="btn-wrap"> | ||||
|     <div class="align-center"> | ||||
|       <button nz-button nzType="primary" *ngIf="this.PageStatus == '整车修改'" (click)="goBack()">取消</button> | ||||
|       <button *ngIf="this.PageStatus == '整车修改'" nz-button nzType="primary" style="margin-left: 24px" | ||||
|         (click)="submitConfirm()" acl [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交修改</button> | ||||
|       <button nz-button nzType="primary" *ngIf="this.PageStatus == '整车下一单'" (click)="submitConfirm('assign')" acl | ||||
|         [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleDesignate']">指派熟车</button> | ||||
|       <button *ngIf="this.PageStatus == '整车下一单'" nz-button nzType="primary" style="margin-left: 24px" | ||||
|         (click)="submitConfirm('publish')" acl | ||||
|         [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleAnotherOrder']">司机抢单</button> | ||||
|     </div> | ||||
|   </nz-card> | ||||
| </div> | ||||
| @ -5,16 +5,16 @@ | ||||
|     } | ||||
|  | ||||
|     nz-date-picker { | ||||
|       width: 94.3%; | ||||
|       width: 100%; | ||||
|     } | ||||
|  | ||||
|     .sf3 { | ||||
|       .goods_Tips_item { | ||||
|         .goods_tips { | ||||
|           width: calc(50% - 45px); | ||||
|           width: calc(50% - 57px); | ||||
|  | ||||
|           .ant-alert { | ||||
|             padding: 0 0 0 2px; | ||||
|             margin-bottom: 5px; | ||||
|           } | ||||
|  | ||||
|         } | ||||
| @ -84,3 +84,99 @@ input[type='number']::-webkit-outer-spin-button { | ||||
|   margin-left: 10px; | ||||
|   color: aqua; | ||||
| } | ||||
| .custom-style { | ||||
|   ::ng-deep { | ||||
|     .ant-card { | ||||
|       margin-bottom: 0; | ||||
|     } | ||||
|  | ||||
|     .ant-card-body { | ||||
|       padding-bottom: 0; | ||||
|     } | ||||
|  | ||||
|     .ant-card-bordered { | ||||
|       border: 0 none; | ||||
|     } | ||||
|  | ||||
|     .card-title { | ||||
|       display: flex; | ||||
|       align-items: center; | ||||
|  | ||||
|       >span { | ||||
|         margin-left: 8px; | ||||
|         font-size: 14px; | ||||
|  | ||||
|         em { | ||||
|           font-style: normal; | ||||
|           color: #E60012; | ||||
|         } | ||||
|       } | ||||
|  | ||||
|       &::before { | ||||
|         content: ''; | ||||
|         display: inline-block; | ||||
|         width: 2px; | ||||
|         height: 16px; | ||||
|         margin-right: 10px; | ||||
|         background: #E60012; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     .ant-btn-dangerous { | ||||
|       border-radius: 4px; | ||||
|       color: #CF3834; | ||||
|       border-color: rgba(207, 56, 52, 0.5); | ||||
|     } | ||||
|  | ||||
|     .icon-wrap { | ||||
|       display: flex; | ||||
|       justify-content: center; | ||||
|       height: 100%; | ||||
|     } | ||||
|  | ||||
|     .swap-icon { | ||||
|       background: url('/assets/images/frame.png') no-repeat 50% 50%; | ||||
|       cursor: pointer; | ||||
|     } | ||||
|  | ||||
|     .ant-input-affix-wrapper, | ||||
|     .ant-input, | ||||
|     .ant-picker, | ||||
|     .ant-select-selector, | ||||
|     .ant-input-number-input, | ||||
|     .ant-input-number { | ||||
|       border-radius: 4px ; | ||||
|     } | ||||
|     .ant-input-group-addon { | ||||
|       border-radius: 0 4px 4px 0; | ||||
|     } | ||||
|     .align-center { | ||||
|       .ant-btn { | ||||
|         height: 40px; | ||||
|         padding: 0 23px; | ||||
|         font-size: 16px; | ||||
|         border-radius: 3px; | ||||
|       } | ||||
|     } | ||||
|     .ant-select-arrow { | ||||
|       transform: scaleX(1.5) translateY(2px); | ||||
|       color: rgb(153,153,153); | ||||
|       font-size: 8px; | ||||
|     } | ||||
|     .ant-picker-suffix { | ||||
|       color: #333; | ||||
|     } | ||||
|     .btn-wrap { | ||||
|       margin-top: 20px; | ||||
|       padding-bottom: 20px; | ||||
|     } | ||||
|     .ant-alert { | ||||
|       padding: 6px 16px; | ||||
|       border-radius: 2px; | ||||
|       font-size: 14px; | ||||
|     } | ||||
|     .fc { | ||||
|       color: #f5222d; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @ -246,16 +246,10 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|     this.ui1 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 115, | ||||
|         grid: { span: 12 } | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $enterpriseInfoName: { | ||||
|         grid: { span: 12 } | ||||
|       }, | ||||
|       $shipperAppUserId: { | ||||
|         grid: { span: 12 } | ||||
|       }, | ||||
|       $enterpriseProjectId: { | ||||
|         grid: { span: 12 } | ||||
|         grid: { span: 8 } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
| @ -345,9 +339,12 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|     }; | ||||
|     this.ui3 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 90, | ||||
|         spanLabelFixed: 115, | ||||
|         grid: { span: 12 } | ||||
|       }, | ||||
|       $goodsNameId: { | ||||
|         spanLabelFixed: 10 | ||||
|       }, | ||||
|       $goodsTips: { | ||||
|         grid: { span: 24 } | ||||
|       } | ||||
| @ -416,14 +413,14 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         hidenField: { | ||||
|           type: 'string', | ||||
|           title: '', | ||||
|           default: ' ', | ||||
|           ui: { | ||||
|             widget: 'text' | ||||
|           } | ||||
|         }, | ||||
|         // hidenField: { | ||||
|         //   type: 'string', | ||||
|         //   title: '', | ||||
|         //   default: ' ', | ||||
|         //   ui: { | ||||
|         //     widget: 'text' | ||||
|         //   } | ||||
|         // }, | ||||
|         insurancePackagedGoods: { | ||||
|           type: 'string', | ||||
|           title: '货物包装', | ||||
| @ -460,7 +457,25 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|     this.ui4 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 115, | ||||
|         grid: { span: 8 } | ||||
|         grid: { span: 12 } | ||||
|       }, | ||||
|       $weight: { | ||||
|         grid: { span: 4 } | ||||
|       }, | ||||
|       $volume: { | ||||
|         spanLabelFixed: 10, | ||||
|         grid: { span: 4 } | ||||
|       }, | ||||
|       $number: { | ||||
|         spanLabelFixed: 10, | ||||
|         grid: { span: 4 } | ||||
|       }, | ||||
|       $carModel: { | ||||
|         grid: { span: 6 } | ||||
|       }, | ||||
|       $carLength: { | ||||
|         spanLabelFixed: 10, | ||||
|         grid: { span: 6 } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
| @ -545,16 +560,16 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|     this.ui5 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 115, | ||||
|         grid: { span: 12 } | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $type1: { | ||||
|         grid: { span: 24 } | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $type2: { | ||||
|         grid: { span: 24 } | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $freeInsurance1: { | ||||
|         grid: { span: 24 } | ||||
|         grid: { span: 24} | ||||
|       }, | ||||
|       $freeInsurance2: { | ||||
|         grid: { span: 24 } | ||||
| @ -656,7 +671,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|           ui: { | ||||
|             widget: 'textarea', | ||||
|             placeholder: '请输入', | ||||
|             autosize: { minRows: 3, maxRows: 3 } | ||||
|             autosize: { minRows: 1, maxRows: 1 } | ||||
|           } as SFTextareaWidgetSchema | ||||
|         } | ||||
|       }, | ||||
| @ -664,7 +679,10 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|     }; | ||||
|     this.ui6 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 90, | ||||
|         spanLabelFixed: 125, | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $remarks: { | ||||
|         grid: { span: 24 } | ||||
|       } | ||||
|     }; | ||||
| @ -705,6 +723,9 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|     this.ui7 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 115, | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $paymentDays: { | ||||
|         grid: { span: 24 } | ||||
|       } | ||||
|     }; | ||||
|  | ||||
| @ -5,261 +5,265 @@ | ||||
|     </button> | ||||
|   </ng-template> | ||||
| </page-header-wrapper> | ||||
| <nz-card> | ||||
|   <div class="card-title">货源单设置</div> | ||||
|   <sf #sf1 [schema]="schema1" [button]="'none'" [ui]="ui1" [formData]="sf1data"> | ||||
|     <ng-template sf-template="enterpriseInfoName" let-i let-ui="ui"> {{ i.value }} </ng-template> | ||||
|   </sf> | ||||
| </nz-card> | ||||
| <div class="custom-style"> | ||||
|   <nz-card> | ||||
|     <div class="card-title">货源单设置</div> | ||||
|     <sf #sf1 [schema]="schema1" [button]="'none'" [ui]="ui1" [formData]="sf1data"> | ||||
|       <ng-template sf-template="enterpriseInfoName" let-i let-ui="ui"> {{ i.value }} </ng-template> | ||||
|     </sf> | ||||
|   </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="card-title">装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div> | ||||
|   <nz-card> | ||||
|     <div class="card-title">装卸货信息<span class="tip-font">预计公里数:<em>{{ totalDistance }}km</em>,预计行程耗时:<em>{{ totalTime | ||||
|           }}小时</em></span> | ||||
|     </div> | ||||
|  | ||||
|   <form nz-form [formGroup]="validateForm1" role="form"> | ||||
|     <div nz-row [nzGutter]="24"> | ||||
|       <div nz-col [nzSpan]="10"> | ||||
|         <div *ngFor="let data1 of startInfo; let idx = index"> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label nzRequired>装货地</nz-form-label> | ||||
|             <nz-form-control [nzErrorTip]="'请输入装货地'"> | ||||
|               <div class="align-center"> | ||||
|                 <nz-input-group [nzSuffix]="endInconTemp1"> | ||||
|                   <input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)" | ||||
|                     formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" /> | ||||
|                 </nz-input-group> | ||||
|                 <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline" | ||||
|                     style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> | ||||
|                 <span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle" | ||||
|                     nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> | ||||
|     <form nz-form [formGroup]="validateForm1" role="form"> | ||||
|       <div nz-row [nzGutter]="24"> | ||||
|         <div nz-col [nzSpan]="10"> | ||||
|           <div *ngFor="let data1 of startInfo; let idx = index"> | ||||
|             <nz-form-item> | ||||
|               <nz-form-label [nzSpan]="4" nzRequired>装货地</nz-form-label> | ||||
|               <nz-form-control [nzErrorTip]="'请输入装货地'"> | ||||
|                 <div class="align-center"> | ||||
|                   <nz-input-group [nzSuffix]="endInconTemp1"> | ||||
|                     <input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)" | ||||
|                       formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" /> | ||||
|                   </nz-input-group> | ||||
|                   <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle-o" nzTheme="outline" | ||||
|                       style="color: #1890ff" (click)="subStartInfo($event, idx)"></i></span> | ||||
|                   <!-- <span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle" | ||||
|                       nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> --> | ||||
|                 </div> | ||||
|               </nz-form-control> | ||||
|             </nz-form-item> | ||||
|             <nz-form-item> | ||||
|               <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label> | ||||
|               <div nz-col [nzSpan]="20"> | ||||
|                 <div nz-row [nzGutter]="12"> | ||||
|                   <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'"> | ||||
|                     <input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}" | ||||
|                       name="loadName{{ idx }}" maxlength="30" placeholder="请输入联系人姓名" /> | ||||
|                   </nz-form-control> | ||||
|                   <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'"> | ||||
|                     <input nz-input [(ngModel)]="data1.contractTelephone" maxlength="11" | ||||
|                       formControlName="loadPhone{{ idx }}" name="loadPhone{{ idx }}" placeholder="请输入联系人电话" /> | ||||
|                   </nz-form-control> | ||||
|                 </div> | ||||
|               </div> | ||||
|             </nz-form-control> | ||||
|           </nz-form-item> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label nzRequired>联系人</nz-form-label> | ||||
|             <div style="display: flex; width: 80.7%"> | ||||
|               <nz-form-control [nzErrorTip]="'请输入联系人姓名'"> | ||||
|                 <input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}" | ||||
|                   name="loadName{{ idx }}" maxlength="30" placeholder="请输入联系人姓名" /> | ||||
|               </nz-form-control> | ||||
|               <nz-form-control [nzErrorTip]="'请输入联系人电话'"> | ||||
|                 <input style="margin-left: 12px" nz-input [(ngModel)]="data1.contractTelephone" maxlength="11" | ||||
|                   formControlName="loadPhone{{ idx }}" name="loadPhone{{ idx }}" placeholder="请输入联系人电话" /> | ||||
|               </nz-form-control> | ||||
|             </div> | ||||
|           </nz-form-item> | ||||
|         </div> | ||||
|         <div nz-row> | ||||
|           <div nz-col [nzSpan]="4"></div> | ||||
|           <div style="display: flex; justify-content: center"> | ||||
|             <button nz-button nzType="primary" (click)="addStartInfo()"> | ||||
|             </nz-form-item> | ||||
|           </div> | ||||
|           <div nz-row> | ||||
|             <div nz-col [nzSpan]="4"></div> | ||||
|             <button nz-button (click)="addStartInfo()" nzDanger> | ||||
|               <i nz-icon nzType="plus"></i> | ||||
|               添加装货地 | ||||
|             </button> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div nz-col [nzSpan]="4"> | ||||
|         <div style="display: flex; justify-content: center"> | ||||
|           <span class="swap-icon" (click)="swapAddress()"><i nz-icon nzType="swap" nzTheme="outline"></i></span> | ||||
|         <div nz-col [nzSpan]="4"> | ||||
|           <div class="icon-wrap"> | ||||
|             <span class="swap-icon" (click)="swapAddress()"></span> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div nz-col [nzSpan]="10"> | ||||
|         <div *ngFor="let data2 of endInfo; let idx = index"> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label nzRequired>卸货地</nz-form-label> | ||||
|             <nz-form-control [nzErrorTip]="'请输入卸货地'"> | ||||
|               <div class="align-center"> | ||||
|                 <nz-input-group [nzSuffix]="endInconTemp1"> | ||||
|                   <input nz-input [(ngModel)]="data2.detailedAddress" (click)="openMap('end', idx)" | ||||
|                     formControlName="unloadAddress{{ idx }}" placeholder="请输入卸货地" name="unloadAddress{{ idx }}" | ||||
|                     readonly="true" /> | ||||
|                 </nz-input-group> | ||||
|                 <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline" | ||||
|                     style="color: #d9001b" (click)="subEndInfo($event, idx)"></i></span> | ||||
|                 <span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle" | ||||
|                     nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> | ||||
|         <div nz-col [nzSpan]="10"> | ||||
|           <div *ngFor="let data2 of endInfo; let idx = index"> | ||||
|             <nz-form-item> | ||||
|               <nz-form-label [nzSpan]="4" nzRequired>卸货地</nz-form-label> | ||||
|               <nz-form-control [nzErrorTip]="'请输入卸货地'"> | ||||
|                 <div class="align-center"> | ||||
|                   <nz-input-group [nzSuffix]="endInconTemp1"> | ||||
|                     <input nz-input [(ngModel)]="data2.detailedAddress" (click)="openMap('end', idx)" | ||||
|                       formControlName="unloadAddress{{ idx }}" placeholder="请输入卸货地" name="unloadAddress{{ idx }}" | ||||
|                       readonly="true" /> | ||||
|                   </nz-input-group> | ||||
|                   <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline" | ||||
|                       style="color: #1890ff" (click)="subEndInfo($event, idx)"></i></span> | ||||
|                   <!-- <span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle" | ||||
|                       nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> --> | ||||
|                 </div> | ||||
|               </nz-form-control> | ||||
|             </nz-form-item> | ||||
|             <nz-form-item> | ||||
|               <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label> | ||||
|               <div nz-col [nzSpan]="20"> | ||||
|                 <div nz-row [nzGutter]="12"> | ||||
|                   <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'"> | ||||
|                     <input nz-input [(ngModel)]="data2.appUserName" maxlength="30" formControlName="unloadName{{ idx }}" | ||||
|                       name="unloadAddress{{ idx }}" placeholder="请输入联系人姓名" /> | ||||
|                   </nz-form-control> | ||||
|                   <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'"> | ||||
|                     <input nz-input [(ngModel)]="data2.contractTelephone" | ||||
|                       formControlName="unloadPhone{{ idx }}" name="unloadAddress{{ idx }}" maxlength="11" | ||||
|                       placeholder="请输入联系人电话" /> | ||||
|                   </nz-form-control> | ||||
|                 </div> | ||||
|               </div> | ||||
|             </nz-form-control> | ||||
|           </nz-form-item> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label nzRequired>联系人</nz-form-label> | ||||
|             <div style="display: flex; width: 80.7%"> | ||||
|               <nz-form-control [nzErrorTip]="'请输入联系人姓名'"> | ||||
|                 <input nz-input [(ngModel)]="data2.appUserName" maxlength="30" formControlName="unloadName{{ idx }}" | ||||
|                   name="unloadAddress{{ idx }}" placeholder="请输入联系人姓名" /> | ||||
|               </nz-form-control> | ||||
|               <nz-form-control [nzErrorTip]="'请输入联系人电话'"> | ||||
|                 <input style="margin-left: 12px" nz-input [(ngModel)]="data2.contractTelephone" | ||||
|                   formControlName="unloadPhone{{ idx }}" name="unloadAddress{{ idx }}" maxlength="11" | ||||
|                   placeholder="请输入联系人电话" /> | ||||
|               </nz-form-control> | ||||
|             </div> | ||||
|           </nz-form-item> | ||||
|         </div> | ||||
|         <div nz-row> | ||||
|           <div nz-col [nzSpan]="4"></div> | ||||
|           <div style="display: flex; justify-content: center"> | ||||
|             <button nz-button nzType="primary" (click)="addEndInfo()"> | ||||
|             </nz-form-item> | ||||
|           </div> | ||||
|           <div nz-row> | ||||
|             <div nz-col [nzSpan]="4"></div> | ||||
|             <button nz-button (click)="addEndInfo()" nzDanger> | ||||
|               <i nz-icon nzType="plus"></i> | ||||
|               添加卸货地 | ||||
|             </button> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|     </div> | ||||
|     <div nz-row [nzGutter]="24" style="margin-top: 24px"> | ||||
|       <div nz-col [nzSpan]="10"> | ||||
|         <nz-form-item> | ||||
|           <nz-form-label nzRequired>装货时间</nz-form-label> | ||||
|           <nz-form-control [nzErrorTip]="'请输入装货时间'"> | ||||
|             <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" formControlName="loadingTime" | ||||
|               [nzDisabledDate]="disabledDateStart"></nz-date-picker> | ||||
|           </nz-form-control> | ||||
|         </nz-form-item> | ||||
|       <div nz-row [nzGutter]="24" style="margin-top: 24px"> | ||||
|         <div nz-col [nzSpan]="10"> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label nzRequired [nzSpan]="4">装货时间</nz-form-label> | ||||
|             <nz-form-control [nzErrorTip]="'请输入装货时间'"> | ||||
|               <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" | ||||
|                 formControlName="loadingTime" [nzDisabledDate]="disabledDateStart"></nz-date-picker> | ||||
|             </nz-form-control> | ||||
|           </nz-form-item> | ||||
|         </div> | ||||
|         <div nz-col [nzSpan]="4"></div> | ||||
|         <div nz-col [nzSpan]="10"> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label nzRequired [nzSpan]="4">卸货时间</nz-form-label> | ||||
|             <nz-form-control [nzErrorTip]="'请输入卸货时间'"> | ||||
|               <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" | ||||
|                 formControlName="unloadingTime"></nz-date-picker> | ||||
|             </nz-form-control> | ||||
|           </nz-form-item> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div nz-col [nzSpan]="4"></div> | ||||
|       <div nz-col [nzSpan]="10"> | ||||
|         <nz-form-item> | ||||
|           <nz-form-label nzRequired>卸货时间</nz-form-label> | ||||
|           <nz-form-control [nzErrorTip]="'请输入卸货时间'"> | ||||
|             <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" | ||||
|               formControlName="unloadingTime"></nz-date-picker> | ||||
|           </nz-form-control> | ||||
|         </nz-form-item> | ||||
|       <ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template> | ||||
|     </form> | ||||
|   </nz-card> | ||||
|  | ||||
|   <nz-card> | ||||
|     <div class="card-title">货物信息</div> | ||||
|     <div nz-row> | ||||
|       <div nz-col nzSpan="24"> | ||||
|         <sf #sf3 class="sf3" [schema]="schema3" [button]="'none'" [ui]="ui3" [formData]="sf3data"> | ||||
|           <ng-template sf-template="goodsTips" let-i let-ui="ui"> | ||||
|             <nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert> | ||||
|           </ng-template> | ||||
|           <ng-template #tpl> | ||||
|             <span style="font-size: 14px;"> 国家法规及行政命令禁限运货物不能托运 | ||||
|               <a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a> | ||||
|             </span> | ||||
|           </ng-template> | ||||
|         </sf> | ||||
|       </div> | ||||
|     </div> | ||||
|     <ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template> | ||||
|   </form> | ||||
| </nz-card> | ||||
|     <sf #sf4 [schema]="schema4" [button]="'none'" [ui]="ui4" [formData]="sf4data"> | ||||
|       <ng-template sf-template="weight" let-i let-ui="ui"> | ||||
|         <nz-input-group [nzAddOnAfter]="'吨'"> | ||||
|           <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="总重量,必填" type="number" [ngModel]="i.value" | ||||
|             (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number> | ||||
|         </nz-input-group> | ||||
|       </ng-template> | ||||
|       <ng-template sf-template="volume" let-i let-ui="ui"> | ||||
|         <nz-input-group [nzAddOnAfter]="'方'"> | ||||
|           <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="体积" type="number" [ngModel]="i.value" | ||||
|             (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number> | ||||
|         </nz-input-group> | ||||
|       </ng-template> | ||||
|       <ng-template sf-template="number" let-i let-ui="ui"> | ||||
|         <nz-input-group [nzAddOnAfter]="'件'"> | ||||
|           <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="件数" type="number" [ngModel]="i.value" | ||||
|             (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number> | ||||
|         </nz-input-group> | ||||
|       </ng-template> | ||||
|       <ng-template sf-template="goodsValue" let-i let-ui="ui"> | ||||
|         <div class="align-center"> | ||||
|           <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="2000000" [nzStep]="0.01" | ||||
|             (ngModelChange)="i.setValue($event);getInsurersPrice()" nzPlaceHolder="请输入0-2000000之间数值"> | ||||
|           </nz-input-number> | ||||
|         </div> | ||||
|       </ng-template> | ||||
|     </sf> | ||||
|   </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="card-title">货物信息</div> | ||||
|   <div nz-row> | ||||
|     <div nz-col nzSpan="16"> | ||||
|       <sf #sf3 class="sf3" [schema]="schema3" [button]="'none'" [ui]="ui3" [formData]="sf3data"> | ||||
|         <ng-template class="1" sf-template="goodsTips" let-i let-ui="ui"> | ||||
|           <nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert> | ||||
|         </ng-template> | ||||
|         <ng-template #tpl> | ||||
|           <span style="font-size: 12px;"> 国家法规及行政命令禁限运货物不能托运 | ||||
|             <a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a> | ||||
|           </span> | ||||
|         </ng-template> | ||||
|       </sf> | ||||
|     </div> | ||||
|   </div> | ||||
|   <sf #sf4 [schema]="schema4" [button]="'none'" [ui]="ui4" [formData]="sf4data"> | ||||
|     <ng-template sf-template="weight" let-i let-ui="ui"> | ||||
|       <nz-input-group [nzAddOnAfter]="'吨'"> | ||||
|         <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="总重量,必填" type="number" [ngModel]="i.value" | ||||
|           (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> | ||||
|       </nz-input-group> | ||||
|     </ng-template> | ||||
|     <ng-template sf-template="volume" let-i let-ui="ui"> | ||||
|       <nz-input-group [nzAddOnAfter]="'方'"> | ||||
|         <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="体积" type="number" [ngModel]="i.value" | ||||
|           (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> | ||||
|       </nz-input-group> | ||||
|     </ng-template> | ||||
|     <ng-template sf-template="number" let-i let-ui="ui"> | ||||
|       <nz-input-group [nzAddOnAfter]="'件'"> | ||||
|         <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="件数" type="number" [ngModel]="i.value" | ||||
|           (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> | ||||
|       </nz-input-group> | ||||
|     </ng-template> | ||||
|     <ng-template sf-template="goodsValue" let-i let-ui="ui"> | ||||
|       <div class="align-center"> | ||||
|         <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="2000000" [nzStep]="0.01" | ||||
|           (ngModelChange)="i.setValue($event);getInsurersPrice()" nzPlaceHolder="请输入0-2000000之间数值"> | ||||
|         </nz-input-number> | ||||
|   <nz-card> | ||||
|     <div class="card-title">服务信息</div> | ||||
|     <div nz-row> | ||||
|       <div nz-col nzSpan="24"> | ||||
|         <sf #sf5 [schema]="schema5" [button]="'none'" [ui]="ui5" [formData]="sf5data"> | ||||
|           <ng-template sf-template="type1" let-i let-ui="ui"> | ||||
|             <label nz-checkbox [ngModel]="true" nzDisabled></label>  货源曝光率 <span class="fc">+10</span>   | ||||
|             <label nz-checkbox [ngModel]="true" nzDisabled></label> 车源匹配率 <span class="fc">+10</span> | ||||
|           </ng-template> | ||||
|           <ng-template sf-template="type2" let-i let-ui="ui"> | ||||
|             <label nz-checkbox [ngModel]="true" nzDisabled></label>  货源曝光率 <span class="fc">+20</span>   | ||||
|             <label nz-checkbox [ngModel]="true" nzDisabled></label> 车源匹配率 <span class="fc">+20</span> | ||||
|           </ng-template> | ||||
|           <ng-template sf-template="freeInsurance1" let-i let-ui="ui"> | ||||
|             <nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert> | ||||
|           </ng-template> | ||||
|           <ng-template sf-template="freeInsurance2" let-i let-ui="ui"> | ||||
|             <nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert> | ||||
|           </ng-template> | ||||
|           <ng-template #template1>①香港、澳门、台湾、西藏、新疆不予承保,②单次运输保额仅限200万元以内,③保险详细内容及注意事项请见<a target="_blank" | ||||
|               [queryParams]="{ type: 10 }" [routerLink]="['/agreement']">《保险告知函》</a></ng-template> | ||||
|         </sf> | ||||
|       </div> | ||||
|     </ng-template> | ||||
|   </sf> | ||||
| </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="card-title">服务信息</div> | ||||
|   <div nz-row> | ||||
|     <div nz-col nzSpan="16"> | ||||
|       <sf #sf5 [schema]="schema5" [button]="'none'" [ui]="ui5" [formData]="sf5data"> | ||||
|         <ng-template sf-template="type1" let-i let-ui="ui"> | ||||
|           <label nz-checkbox [ngModel]="true" nzDisabled></label>  货源曝光率 <span class="fc">+10</span>   | ||||
|           <label nz-checkbox [ngModel]="true" nzDisabled></label> 车源匹配率 <span class="fc">+10</span> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="type2" let-i let-ui="ui"> | ||||
|           <label nz-checkbox [ngModel]="true" nzDisabled></label>  货源曝光率 <span class="fc">+20</span>   | ||||
|           <label nz-checkbox [ngModel]="true" nzDisabled></label> 车源匹配率 <span class="fc">+20</span> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="freeInsurance1" let-i let-ui="ui"> | ||||
|           <nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="freeInsurance2" let-i let-ui="ui"> | ||||
|           <nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert> | ||||
|         </ng-template> | ||||
|         <ng-template #template1>①香港、澳门、台湾、西藏、新疆不予承保,②单次运输保额仅限200万元以内,③保险详细内容及注意事项请见<a target="_blank" | ||||
|             [queryParams]="{ type: 10 }" [routerLink]="['/agreement']">《保险告知函》</a></ng-template> | ||||
|       </sf> | ||||
|     </div> | ||||
|   </div> | ||||
| </nz-card> | ||||
| <nz-card> | ||||
|   <div class="card-title">补充信息</div> | ||||
|   <div nz-row> | ||||
|     <div nz-col nzSpan="12"> | ||||
|       <sf #sf6 [schema]="schema6" [button]="'none'" [ui]="ui6" [formData]="sf6data"> | ||||
|       </sf> | ||||
|   </nz-card> | ||||
|   <nz-card> | ||||
|     <div class="card-title">补充信息</div> | ||||
|     <div nz-row> | ||||
|       <div nz-col nzSpan="24"> | ||||
|         <sf #sf6 [schema]="schema6" [button]="'none'" [ui]="ui6" [formData]="sf6data"> | ||||
|         </sf> | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
| </nz-card> | ||||
|   </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="card-title">运费信息</div> | ||||
|   <div nz-row> | ||||
|     <div nz-col nzSpan="8"> | ||||
|       <sf #sf7 [schema]="schema7" [button]="'none'" [ui]="ui7" [formData]="sf7data"> | ||||
|         <ng-template sf-template="prePay" let-i let-ui="ui"> | ||||
|           <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" | ||||
|             nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" | ||||
|             [nzParser]="parserRmb"> | ||||
|           </nz-input-number> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="toPay" let-i let-ui="ui"> | ||||
|           <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" | ||||
|             nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" | ||||
|             [nzParser]="parserRmb"> | ||||
|           </nz-input-number> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="receiptPay" let-i let-ui="ui"> | ||||
|           <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" | ||||
|             nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" | ||||
|             [nzParser]="parserRmb"> | ||||
|           </nz-input-number> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="subtotal" let-i let-ui="ui">{{ i.value | currency }}</ng-template> | ||||
|         <ng-template sf-template="appendFee" let-i let-ui="ui">{{ i.value | currency }}(费率:{{ currentRate | number: | ||||
|           '0.2-4' }}%)</ng-template> | ||||
|         <ng-template sf-template="total" let-i let-ui="ui">{{ i.value | currency }}</ng-template> | ||||
|         <ng-template sf-template="paymentDays" let-i let-ui="ui"> | ||||
|           <div nz-row class="align-center"> | ||||
|             <div nz-col nzSpan="16"> | ||||
|               <nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1" | ||||
|                 (ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30" [nzPrecision]="0" | ||||
|                 [nzPrecisionMode]="'cut'"></nz-input-number> | ||||
|   <nz-card> | ||||
|     <div class="card-title">运费信息</div> | ||||
|     <div nz-row> | ||||
|       <div nz-col nzSpan="24"> | ||||
|         <sf #sf7 [schema]="schema7" [button]="'none'" [ui]="ui7" [formData]="sf7data"> | ||||
|           <ng-template sf-template="prePay" let-i let-ui="ui"> | ||||
|             <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" | ||||
|               nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" | ||||
|               [nzParser]="parserRmb"> | ||||
|             </nz-input-number> | ||||
|           </ng-template> | ||||
|           <ng-template sf-template="toPay" let-i let-ui="ui"> | ||||
|             <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" | ||||
|               nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" | ||||
|               [nzParser]="parserRmb"> | ||||
|             </nz-input-number> | ||||
|           </ng-template> | ||||
|           <ng-template sf-template="receiptPay" let-i let-ui="ui"> | ||||
|             <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" | ||||
|               nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" | ||||
|               [nzParser]="parserRmb"> | ||||
|             </nz-input-number> | ||||
|           </ng-template> | ||||
|           <ng-template sf-template="subtotal" let-i let-ui="ui">{{ i.value | currency }}</ng-template> | ||||
|           <ng-template sf-template="appendFee" let-i let-ui="ui">{{ i.value | currency }}(费率:{{ currentRate | number: | ||||
|             '0.2-4' }}%)</ng-template> | ||||
|           <ng-template sf-template="total" let-i let-ui="ui">{{ i.value | currency }}</ng-template> | ||||
|           <ng-template sf-template="paymentDays" let-i let-ui="ui"> | ||||
|             <div nz-row class="align-center"> | ||||
|               <div nz-col nzSpan="6"> | ||||
|                 <nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1" | ||||
|                   (ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30" [nzPrecision]="0" | ||||
|                   [nzPrecisionMode]="'cut'"></nz-input-number> | ||||
|               </div> | ||||
|               <div nz-col nzSpan="18"> | ||||
|                 <span> 天内支付运费</span> | ||||
|               </div> | ||||
|             </div> | ||||
|             <div nz-col nzSpan="8"> | ||||
|               <span> 天内支付运费</span> | ||||
|             </div> | ||||
|           </div> | ||||
|         </ng-template> | ||||
|       </sf> | ||||
|           </ng-template> | ||||
|         </sf> | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
| </nz-card> | ||||
| <nz-card> | ||||
|   <div class="align-center"> | ||||
|     <button nz-button nzType="primary" (click)="submitConfirm('assign')" acl | ||||
|       [acl-ability]="['SUPPLY-VEHICLE-RELEASE-bulkDesignate']">指派熟车</button> | ||||
|     <button nz-button nzType="primary" style="margin-left: 48px" (click)="submitConfirm('publish')" | ||||
|       *ngIf="type === 'add'" acl [acl-ability]="['SUPPLY-VEHICLE-RELEASE-bulkDriverOrder']">司机抢单</button> | ||||
|   </div> | ||||
| </nz-card> | ||||
|   </nz-card> | ||||
|   <nz-card class="btn-wrap"> | ||||
|     <div class="align-center"> | ||||
|       <button nz-button nzType="primary" (click)="submitConfirm('assign')" acl | ||||
|         [acl-ability]="['SUPPLY-VEHICLE-RELEASE-bulkDesignate']">指派熟车</button> | ||||
|       <button nz-button nzType="primary" style="margin-left: 24px" (click)="submitConfirm('publish')" | ||||
|         *ngIf="type === 'add'" acl [acl-ability]="['SUPPLY-VEHICLE-RELEASE-bulkDriverOrder']">司机抢单</button> | ||||
|     </div> | ||||
|   </nz-card> | ||||
| </div> | ||||
| @ -5,16 +5,16 @@ | ||||
|     } | ||||
|  | ||||
|     nz-date-picker { | ||||
|       width: 94.3%; | ||||
|       width: 100%; | ||||
|     } | ||||
|  | ||||
|     .sf3 { | ||||
|       .goods_Tips_item { | ||||
|         .goods_tips { | ||||
|           width: calc(50% - 45px); | ||||
|           width: calc(50% - 57px); | ||||
|  | ||||
|           .ant-alert { | ||||
|             padding: 0 0 0 2px; | ||||
|             margin-bottom: 5px; | ||||
|           } | ||||
|  | ||||
|         } | ||||
| @ -78,3 +78,100 @@ input[type='number']::-webkit-outer-spin-button { | ||||
|   margin: 0; | ||||
|   -webkit-appearance: none; | ||||
| } | ||||
|  | ||||
| .custom-style { | ||||
|   ::ng-deep { | ||||
|     .ant-card { | ||||
|       margin-bottom: 0; | ||||
|     } | ||||
|  | ||||
|     .ant-card-body { | ||||
|       padding-bottom: 0; | ||||
|     } | ||||
|  | ||||
|     .ant-card-bordered { | ||||
|       border: 0 none; | ||||
|     } | ||||
|  | ||||
|     .card-title { | ||||
|       display: flex; | ||||
|       align-items: center; | ||||
|  | ||||
|       >span { | ||||
|         margin-left: 8px; | ||||
|         font-size: 14px; | ||||
|  | ||||
|         em { | ||||
|           font-style: normal; | ||||
|           color: #E60012; | ||||
|         } | ||||
|       } | ||||
|  | ||||
|       &::before { | ||||
|         content: ''; | ||||
|         display: inline-block; | ||||
|         width: 2px; | ||||
|         height: 16px; | ||||
|         margin-right: 10px; | ||||
|         background: #E60012; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     .ant-btn-dangerous { | ||||
|       border-radius: 4px; | ||||
|       color: #CF3834; | ||||
|       border-color: rgba(207, 56, 52, 0.5); | ||||
|     } | ||||
|  | ||||
|     .icon-wrap { | ||||
|       display: flex; | ||||
|       justify-content: center; | ||||
|       height: 100%; | ||||
|     } | ||||
|  | ||||
|     .swap-icon { | ||||
|       background: url('/assets/images/frame.png') no-repeat 50% 50%; | ||||
|       cursor: pointer; | ||||
|     } | ||||
|  | ||||
|     .ant-input-affix-wrapper, | ||||
|     .ant-input, | ||||
|     .ant-picker, | ||||
|     .ant-select-selector, | ||||
|     .ant-input-number-input, | ||||
|     .ant-input-number { | ||||
|       border-radius: 4px ; | ||||
|     } | ||||
|     .ant-input-group-addon { | ||||
|       border-radius: 0 4px 4px 0; | ||||
|     } | ||||
|     .align-center { | ||||
|       .ant-btn { | ||||
|         height: 40px; | ||||
|         padding: 0 23px; | ||||
|         font-size: 16px; | ||||
|         border-radius: 3px; | ||||
|       } | ||||
|     } | ||||
|     .ant-select-arrow { | ||||
|       transform: scaleX(1.5) translateY(2px); | ||||
|       color: rgb(153,153,153); | ||||
|       font-size: 8px; | ||||
|     } | ||||
|     .ant-picker-suffix { | ||||
|       color: #333; | ||||
|     } | ||||
|     .btn-wrap { | ||||
|       margin-top: 20px; | ||||
|       padding-bottom: 20px; | ||||
|     } | ||||
|     .ant-alert { | ||||
|       padding: 6px 16px; | ||||
|       border-radius: 2px; | ||||
|       font-size: 14px; | ||||
|     } | ||||
|     .fc { | ||||
|       color: #f5222d; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @ -227,19 +227,19 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|     this.ui1 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 115, | ||||
|         grid: { span: 12 } | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $enterpriseInfoName: { | ||||
|         grid: { span: 12 } | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $shipperAppUserId: { | ||||
|         grid: { span: 12 } | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $enterpriseProjectId: { | ||||
|         grid: { span: 12 } | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $dispatchId: { | ||||
|         grid: { span: 12 } | ||||
|         grid: { span: 8 } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
| @ -332,6 +332,9 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|         spanLabelFixed: 115, | ||||
|         grid: { span: 12 } | ||||
|       }, | ||||
|       $goodsNameId: { | ||||
|         spanLabelFixed: 10 | ||||
|       }, | ||||
|       $goodsTips: { | ||||
|         grid: { span: 24 } | ||||
|       } | ||||
| @ -400,14 +403,14 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         hidenField: { | ||||
|           type: 'string', | ||||
|           title: '', | ||||
|           default: ' ', | ||||
|           ui: { | ||||
|             widget: 'text' | ||||
|           } | ||||
|         }, | ||||
|         // hidenField: { | ||||
|         //   type: 'string', | ||||
|         //   title: '', | ||||
|         //   default: ' ', | ||||
|         //   ui: { | ||||
|         //     widget: 'text' | ||||
|         //   } | ||||
|         // }, | ||||
|         insurancePackagedGoods: { | ||||
|           type: 'string', | ||||
|           title: '货物包装', | ||||
| @ -444,7 +447,25 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|     this.ui4 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 115, | ||||
|         grid: { span: 8 } | ||||
|         grid: { span: 12 } | ||||
|       }, | ||||
|       $weight: { | ||||
|         grid: { span: 4 } | ||||
|       }, | ||||
|       $volume: { | ||||
|         spanLabelFixed: 10, | ||||
|         grid: { span: 4 } | ||||
|       }, | ||||
|       $number: { | ||||
|         spanLabelFixed: 10, | ||||
|         grid: { span: 4 } | ||||
|       }, | ||||
|       $carModel: { | ||||
|         grid: { span: 6 } | ||||
|       }, | ||||
|       $carLength: { | ||||
|         spanLabelFixed: 10, | ||||
|         grid: { span: 6 } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
| @ -528,16 +549,16 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|     this.ui5 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 115, | ||||
|         grid: { span: 12 } | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $type1: { | ||||
|         grid: { span: 24 } | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $type2: { | ||||
|         grid: { span: 24 } | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $freeInsurance1: { | ||||
|         grid: { span: 24 } | ||||
|         grid: { span: 24} | ||||
|       }, | ||||
|       $freeInsurance2: { | ||||
|         grid: { span: 24 } | ||||
| @ -626,7 +647,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|           ui: { | ||||
|             widget: 'textarea', | ||||
|             placeholder: '请输入', | ||||
|             autosize: { minRows: 3, maxRows: 3 } | ||||
|             autosize: { minRows: 1, maxRows: 1 } | ||||
|           } as SFTextareaWidgetSchema | ||||
|         } | ||||
|       }, | ||||
| @ -634,7 +655,10 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|     }; | ||||
|     this.ui6 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 90, | ||||
|         spanLabelFixed: 125, | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $remarks: { | ||||
|         grid: { span: 24 } | ||||
|       } | ||||
|     }; | ||||
| @ -675,6 +699,9 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|     this.ui7 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 115, | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $paymentDays: { | ||||
|         grid: { span: 24 } | ||||
|       } | ||||
|     }; | ||||
|  | ||||
| @ -31,15 +31,7 @@ | ||||
|         </div> | ||||
|     </div> | ||||
|     <st #st [data]="service.$api_invoicedBillInfo_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}" | ||||
|         [loading]="false" [scroll]="{ x:'1200px',y:scrollY }"> | ||||
|         <ng-template st-row="sts" let-item let-index="index"> | ||||
|             <span *ngIf="item.sts === '1'">待受理</span> | ||||
|             <span *ngIf="item.sts === '2'">处理中</span> | ||||
|             <span *ngIf="item.sts === '3'">已完成</span> | ||||
|             <span *ngIf="item.sts === '5'">已拒绝</span> | ||||
|             <span *ngIf="item.sts === '6'">已撤销</span> | ||||
|             <span *ngIf="item.sts === '7'">已作废</span> | ||||
|         </ng-template> | ||||
|         [loading]="false" [scroll]="{ x:'1200px' }"> | ||||
|         <ng-template st-row="serviceType" let-item let-index="index"> | ||||
|             <span>{{item.billTypeLabel + item.serviceTypeLabel}}</span> | ||||
|         </ng-template> | ||||
|  | ||||
| @ -246,7 +246,7 @@ export class BillingOrderComponent extends BasicTableComponent { | ||||
|       { title: '卸货时间', index: 'unloadTime', type: 'date', width: '150px', className: 'text-center' }, | ||||
|       { title: '订单完成时间', index: 'orderReceivingTime', type: 'date', width: 150, className: 'text-center' }, | ||||
|       { title: '支付完成时间', index: 'overallPaymentTime', type: 'date', width: 150, className: 'text-center' }, | ||||
|       { title: '开票状态', index: 'sts', render: 'sts', className: 'text-center', width: 120 }, | ||||
|       { title: '开票状态', index: 'stsLabel', className: 'text-center', width: 120 }, | ||||
|       { title: '申请开票时间', index: 'vatappdate', type: 'date', className: 'text-center', width: 180 }, | ||||
|       { title: '申请开票编号', index: 'vatappcode', className: 'text-center', width: 190 }, | ||||
|       { title: '分票编号', index: 'vatinvcode', width: '200px', className: 'text-center' }, | ||||
|  | ||||
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/frame.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/assets/images/frame.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 710 B | 
		Reference in New Issue
	
	Block a user