UI
This commit is contained in:
		| @ -4,7 +4,7 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2022-01-18 09:51:21 |  * @Date         : 2022-01-18 09:51:21 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-05-06 16:05:45 |  * @LastEditTime : 2022-05-07 10:35:23 | ||||||
|  * @FilePath     : \\tms-obc-web\\proxy.conf.js |  * @FilePath     : \\tms-obc-web\\proxy.conf.js | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
|  */ |  */ | ||||||
|  | |||||||
| @ -116,6 +116,10 @@ | |||||||
|     // .text-truncate { |     // .text-truncate { | ||||||
|     //   white-space: normal; |     //   white-space: normal; | ||||||
|     // } |     // } | ||||||
|  |     // 强制头部居中 | ||||||
|  |     .ant-table-container table>thead>tr>.options { | ||||||
|  |       text-align: center !important; | ||||||
|  |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,3 +1,13 @@ | |||||||
|  | /* | ||||||
|  |  * @Description  :  | ||||||
|  |  * @Version      : 1.0 | ||||||
|  |  * @Author       : Shiming | ||||||
|  |  * @Date         : 2022-04-28 20:27:07 | ||||||
|  |  * @LastEditors  : Shiming | ||||||
|  |  * @LastEditTime : 2022-05-07 10:16:08 | ||||||
|  |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\compliance\\index\\curve\\curve.component.ts | ||||||
|  |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
|  |  */ | ||||||
| import { Component, ElementRef, Input, NgZone, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core'; | import { Component, ElementRef, Input, NgZone, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core'; | ||||||
| import { G2MiniAreaClickItem } from '@delon/chart/mini-area'; | import { G2MiniAreaClickItem } from '@delon/chart/mini-area'; | ||||||
|  |  | ||||||
| @ -69,7 +79,7 @@ export class ComplianceCurveComponent implements OnInit,OnChanges { | |||||||
|     this.chart.axis('proportion', { |     this.chart.axis('proportion', { | ||||||
|       label: { |       label: { | ||||||
|         formatter: (val: any) => { |         formatter: (val: any) => { | ||||||
|           return val*100+ ' %'; |           return (val*100).toFixed(0)+ ' %'; | ||||||
|         }, |         }, | ||||||
|       }, |       }, | ||||||
|     }); |     }); | ||||||
|  | |||||||
| @ -4,7 +4,7 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2022-04-07 17:57:23 |  * @Date         : 2022-04-07 17:57:23 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-04-13 10:22:35 |  * @LastEditTime : 2022-05-07 09:46:55 | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\datascreen\\curve\\curve.component.ts |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\datascreen\\curve\\curve.component.ts | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
|  */ |  */ | ||||||
| @ -108,7 +108,7 @@ export class DatatableCustomindexCurveMinComponent implements OnInit,OnChanges { | |||||||
|     this.chart.axis('temperature', { |     this.chart.axis('temperature', { | ||||||
|       label: { |       label: { | ||||||
|         formatter: (val: any) => { |         formatter: (val: any) => { | ||||||
|           return val + '万'; |           return val; | ||||||
|         }, |         }, | ||||||
|       }, |       }, | ||||||
|     }); |     }); | ||||||
|  | |||||||
| @ -4,7 +4,7 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2022-04-06 10:57:56 |  * @Date         : 2022-04-06 10:57:56 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-04-19 14:01:38 |  * @LastEditTime : 2022-05-07 09:43:16 | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\datascreen\\datascreen.component.html |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\datascreen\\datascreen.component.html | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
| --> | --> | ||||||
| @ -30,7 +30,7 @@ | |||||||
|     <nz-card nzTitle="2022全年交易情况"> |     <nz-card nzTitle="2022全年交易情况"> | ||||||
|       <nz-row [nzGutter]="16"> |       <nz-row [nzGutter]="16"> | ||||||
|         <nz-col [nzSpan]="12"> |         <nz-col [nzSpan]="12"> | ||||||
|           <nz-statistic [nzValue]="(allDeal?.dealAmount | currency)!" [nzTitle]="'成交额'"></nz-statistic> |           <nz-statistic [nzValue]="(allDeal?.dealAmount | currency)! || 0" [nzTitle]="'成交额'"></nz-statistic> | ||||||
|         </nz-col> |         </nz-col> | ||||||
|         <nz-col [nzSpan]="12"> |         <nz-col [nzSpan]="12"> | ||||||
|           <nz-statistic [nzValue]="(allDeal?.settlementAmount | currency)!" [nzTitle]="'结算额'"></nz-statistic> |           <nz-statistic [nzValue]="(allDeal?.settlementAmount | currency)!" [nzTitle]="'结算额'"></nz-statistic> | ||||||
| @ -45,7 +45,7 @@ | |||||||
|         </nz-col> |         </nz-col> | ||||||
|       </nz-row> |       </nz-row> | ||||||
|     </nz-card> |     </nz-card> | ||||||
|     <nz-card nzTitle="本月交易趋势"> |     <nz-card nzTitle="本年交易趋势"> | ||||||
|       <app-financetable-curve-min #curve [chartData]="chartData2"></app-financetable-curve-min> |       <app-financetable-curve-min #curve [chartData]="chartData2"></app-financetable-curve-min> | ||||||
|     </nz-card> |     </nz-card> | ||||||
|     <nz-card nzTitle="实时货源" style="height: 400px"> |     <nz-card nzTitle="实时货源" style="height: 400px"> | ||||||
|  | |||||||
| @ -83,6 +83,12 @@ export class WithdrawalsRecordComponent extends BasicTableComponent { | |||||||
|     if (item) { |     if (item) { | ||||||
|       params = [item.id]; |       params = [item.id]; | ||||||
|     } else { |     } else { | ||||||
|  |       console.log(this.selectedRows); | ||||||
|  |        | ||||||
|  |       if (this.selectedRows.length <= 0) { | ||||||
|  |         this.service.msgSrv.error('请选择提现单!'); | ||||||
|  |         return; | ||||||
|  |       } | ||||||
|       params = this.selectedRows.map(node => node.id); |       params = this.selectedRows.map(node => node.id); | ||||||
|     } |     } | ||||||
|     const modal = this.nzModalService.create({ |     const modal = this.nzModalService.create({ | ||||||
|  | |||||||
| @ -297,7 +297,7 @@ export class OrderManagementBulkComponent extends BasicTableComponent implements | |||||||
|             widget: 'select', |             widget: 'select', | ||||||
|             placeholder: '请选择', |             placeholder: '请选择', | ||||||
|             allowClear: true, |             allowClear: true, | ||||||
|             asyncData: () => this.shipperservice.getNetworkEnterpriseName() |             asyncData: () => this.shipperservice.getNetworkFreightForwarder() | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         serviceType: { |         serviceType: { | ||||||
|  | |||||||
| @ -304,7 +304,7 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme | |||||||
|             widget: 'select', |             widget: 'select', | ||||||
|             placeholder: '请选择', |             placeholder: '请选择', | ||||||
|             allowClear: true, |             allowClear: true, | ||||||
|             asyncData: () => this.shipperservice.getNetworkEnterpriseName() |             asyncData: () => this.shipperservice.getNetworkFreightForwarder() | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         // goodsNameId: { |         // goodsNameId: { | ||||||
|  | |||||||
| @ -1,3 +1,13 @@ | |||||||
|  | <!-- | ||||||
|  |  * @Description  :  | ||||||
|  |  * @Version      : 1.0 | ||||||
|  |  * @Author       : Shiming | ||||||
|  |  * @Date         : 2022-04-29 17:28:23 | ||||||
|  |  * @LastEditors  : Shiming | ||||||
|  |  * @LastEditTime : 2022-05-06 17:38:09 | ||||||
|  |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\partner\\account-management\\components\\withdrawals-record\\withdrawals-record.component.html | ||||||
|  |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
|  | --> | ||||||
| <page-header-wrapper [title]="''"></page-header-wrapper> | <page-header-wrapper [title]="''"></page-header-wrapper> | ||||||
| <nz-card class="search-box" nzBordered> | <nz-card class="search-box" nzBordered> | ||||||
|   <div nz-row nzGutter="8"> |   <div nz-row nzGutter="8"> | ||||||
| @ -34,7 +44,7 @@ | |||||||
|       <div class="mr-md"> |       <div class="mr-md"> | ||||||
|         已选择 |         已选择 | ||||||
|         <strong class="text-red">{{ selectedRows.length }}</strong> 条数据   累计提现 <strong class="text-red">{{ |         <strong class="text-red">{{ selectedRows.length }}</strong> 条数据   累计提现 <strong class="text-red">{{ | ||||||
|           totalCallNo }}</strong> |           totalCallNo | currency }}</strong> | ||||||
|         <!-- <a *ngIf="totalCallNo > 0" (click)="st.clearCheck()" class="ml-lg">清空</a> --> |         <!-- <a *ngIf="totalCallNo > 0" (click)="st.clearCheck()" class="ml-lg">清空</a> --> | ||||||
|       </div> |       </div> | ||||||
|       <button nz-button (click)="this.auditAction(null)"  acl  [acl-ability]="['AM-WITHDRAW-RECORD-audit']">审核</button> |       <button nz-button (click)="this.auditAction(null)"  acl  [acl-ability]="['AM-WITHDRAW-RECORD-audit']">审核</button> | ||||||
|  | |||||||
| @ -107,6 +107,11 @@ export class PartnerAccountManagementWithdrawalsRecordComponent implements OnIni | |||||||
|     if (item) { |     if (item) { | ||||||
|       params = [item.id]; |       params = [item.id]; | ||||||
|     } else { |     } else { | ||||||
|  |          | ||||||
|  |       if (this.selectedRows.length <= 0) { | ||||||
|  |         this.service.msgSrv.error('请选择提现单!'); | ||||||
|  |         return; | ||||||
|  |       } | ||||||
|       params = this.selectedRows.map(node => node.id); |       params = this.selectedRows.map(node => node.id); | ||||||
|     } |     } | ||||||
|     const modal = this.nzModalService.create({ |     const modal = this.nzModalService.create({ | ||||||
| @ -117,6 +122,10 @@ export class PartnerAccountManagementWithdrawalsRecordComponent implements OnIni | |||||||
|           label: '拒绝', |           label: '拒绝', | ||||||
|           type: 'default', |           type: 'default', | ||||||
|           onClick: () => { |           onClick: () => { | ||||||
|  |             if (!this.msg || this.msg.trim().length === 0) { | ||||||
|  |               this.service.msgSrv.warning('请填写拒绝原因 '); | ||||||
|  |               return false; | ||||||
|  |             } | ||||||
|             this.service |             this.service | ||||||
|               .request(this.service.$api_disagree_refund, { |               .request(this.service.$api_disagree_refund, { | ||||||
|                 refundApplicationId: params, |                 refundApplicationId: params, | ||||||
| @ -129,6 +138,8 @@ export class PartnerAccountManagementWithdrawalsRecordComponent implements OnIni | |||||||
|                   this.st.load(1); |                   this.st.load(1); | ||||||
|                 } |                 } | ||||||
|               }); |               }); | ||||||
|  |             return false; | ||||||
|  |  | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
| @ -236,18 +247,14 @@ export class PartnerAccountManagementWithdrawalsRecordComponent implements OnIni | |||||||
|         accountType: { |         accountType: { | ||||||
|           type: 'string', |           type: 'string', | ||||||
|           title: '账户类型', |           title: '账户类型', | ||||||
|           enum: [ |             ui: { | ||||||
|             {label: '全部', value: ''}, |               widget: 'dict-select', | ||||||
|             {label: '个人合伙人', value: '4'}, |               params: { dictKey: 'bank:type' }, | ||||||
|             {label: '企业合伙人', value: '5'} |               placeholder: '请选择', | ||||||
|           ], |               visibleIf: { | ||||||
|           ui: { |                 expand: (value: boolean) => value | ||||||
|             widget: 'select', |               } | ||||||
|             placeholder: '请选择', |  | ||||||
|             visibleIf: { |  | ||||||
|               expand: (value: boolean) => value |  | ||||||
|             } |             } | ||||||
|           } |  | ||||||
|         }, |         }, | ||||||
|         ltdId: { |         ltdId: { | ||||||
|           type: 'string', |           type: 'string', | ||||||
|  | |||||||
| @ -55,7 +55,7 @@ export class PartnerListComponent { | |||||||
|   }; |   }; | ||||||
|  |  | ||||||
|   loadSelectOptions() { |   loadSelectOptions() { | ||||||
|     this.service.getRebateConfig().subscribe(res => { |     this.service.getRebateConfig({stateLocked: 1}).subscribe(res => { | ||||||
|       if (res) { |       if (res) { | ||||||
|         console.log(res); |         console.log(res); | ||||||
|          |          | ||||||
| @ -468,7 +468,7 @@ export class PartnerListComponent { | |||||||
|         width: 140, |         width: 140, | ||||||
|         type: 'badge', |         type: 'badge', | ||||||
|         badge: { |         badge: { | ||||||
|           0: { text: '启用', color: 'success' }, |           0: { text: '正常', color: 'success' }, | ||||||
|           1: { text: '冻结', color: 'error' } |           1: { text: '冻结', color: 'error' } | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
|  | |||||||
| @ -2,6 +2,7 @@ import { Component, Input, OnInit, ViewChild } from '@angular/core'; | |||||||
| import { SFComponent, SFSchema, SFValue } from '@delon/form'; | import { SFComponent, SFSchema, SFValue } from '@delon/form'; | ||||||
| import { ModalHelper } from '@delon/theme'; | import { ModalHelper } from '@delon/theme'; | ||||||
| import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal'; | import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal'; | ||||||
|  | import { map } from 'rxjs/operators'; | ||||||
| import { PartnerListService } from '../../services/partner-list.service'; | import { PartnerListService } from '../../services/partner-list.service'; | ||||||
|  |  | ||||||
| @Component({ | @Component({ | ||||||
| @ -22,6 +23,7 @@ export class PartnerAuditModalComponent implements OnInit { | |||||||
|   ngOnInit(): void { |   ngOnInit(): void { | ||||||
|     console.log(this.info); |     console.log(this.info); | ||||||
|     this.initSF(this.info); |     this.initSF(this.info); | ||||||
|  |     // asyncData: () => this.service.getChannel(), | ||||||
|  |  | ||||||
|     if(this.info.channelId) { |     if(this.info.channelId) { | ||||||
|       const value = [{ |       const value = [{ | ||||||
| @ -30,14 +32,30 @@ export class PartnerAuditModalComponent implements OnInit { | |||||||
|       }] |       }] | ||||||
|       setTimeout(() => { |       setTimeout(() => { | ||||||
|         if(this.sf) { |         if(this.sf) { | ||||||
|           console.log('888'); |           this.sf.getProperty('/channelId')!.schema.enum = value; | ||||||
|            |           this.sf.getProperty('/channelId')!.widget.reset(value); | ||||||
|           // this.sf.getProperty('/channelId')!.schema.enum = value; |  | ||||||
|           // this.sf.getProperty('/channelId')!.widget.reset(value); |  | ||||||
|           this.sf.setValue('/channelId', this.info.channelId); |           this.sf.setValue('/channelId', this.info.channelId); | ||||||
|          } |          } | ||||||
|       }) |       }) | ||||||
|  |  | ||||||
|  |     } else { | ||||||
|  |       console.log() | ||||||
|  |       this.service.getChannel().pipe(map(data => { | ||||||
|  |         console.log(data); | ||||||
|  |          | ||||||
|  |       })) | ||||||
|  |       this.service.getChannel().subscribe((res) => { | ||||||
|  |         console.log(res); | ||||||
|  |         const value :any= res; | ||||||
|  |         setTimeout(() => { | ||||||
|  |           if(this.sf) { | ||||||
|  |             this.sf.getProperty('/channelId')!.schema.enum = value; | ||||||
|  |             this.sf.getProperty('/channelId')!.widget.reset(value); | ||||||
|  |             this.sf.setValue('/channelId', value); | ||||||
|  |            } | ||||||
|  |         }) | ||||||
|  |       }) | ||||||
|  |      | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @ -49,13 +67,13 @@ export class PartnerAuditModalComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             hidden: true |             hidden: true | ||||||
|           }, |           }, | ||||||
|           // default: this.info.isPass |           default: this.info.isPass | ||||||
|         }, |         }, | ||||||
|         staffName: { |         staffName: { | ||||||
|           title: '合伙人名称', |           title: '合伙人名称', | ||||||
|           type: 'string', |           type: 'string', | ||||||
|           ui: { widget: 'text' }, |           ui: { widget: 'text' }, | ||||||
|           // default: user.enterpriseName |           default: user.enterpriseName | ||||||
|         }, |         }, | ||||||
|         status: { |         status: { | ||||||
|           title: '审核结果', |           title: '审核结果', | ||||||
| @ -78,7 +96,6 @@ export class PartnerAuditModalComponent implements OnInit { | |||||||
|             widget: 'select', |             widget: 'select', | ||||||
|             placeholder: '请选择', |             placeholder: '请选择', | ||||||
|             allowClear: true, |             allowClear: true, | ||||||
|             asyncData: () => this.service.getChannel(), |  | ||||||
|             hidden: this.info.isPass === false, |             hidden: this.info.isPass === false, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               status: value => value |               status: value => value | ||||||
|  | |||||||
| @ -4,7 +4,7 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2022-02-24 20:09:49 |  * @Date         : 2022-02-24 20:09:49 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-03-29 11:14:08 |  * @LastEditTime : 2022-05-06 16:37:06 | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\rebate-setting.component.html |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\rebate-setting.component.html | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
| --> | --> | ||||||
| @ -23,7 +23,7 @@ | |||||||
|       ></sf> |       ></sf> | ||||||
|       <div nz-col [nzSpan]="_$expand ? 24 : 6" class="text-right"> |       <div nz-col [nzSpan]="_$expand ? 24 : 6" class="text-right"> | ||||||
|       <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1);">查询</button> |       <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1);">查询</button> | ||||||
|       <button nz-button nzType="primary" [disabled]="service.http.loading"  acl  [acl-ability]="['REBATE-SETTING-export']">导出</button> |       <!-- <button nz-button nzType="primary" [disabled]="service.http.loading"  acl  [acl-ability]="['REBATE-SETTING-export']">导出</button> --> | ||||||
|       <button nz-button [disabled]="service.http.loading" (click)="resetSF()">重置</button> |       <button nz-button [disabled]="service.http.loading" (click)="resetSF()">重置</button> | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </div> | ||||||
|  | |||||||
| @ -5,179 +5,187 @@ | |||||||
|     </button> |     </button> | ||||||
|   </ng-template> |   </ng-template> | ||||||
| </page-header-wrapper> | </page-header-wrapper> | ||||||
| <nz-card> | <div class="custom-style"> | ||||||
|   <div class="card-title">货源单设置</div> |   <nz-card> | ||||||
|   <sf #sf1 [schema]="schema1" [formData]="sf1data" [button]="'none'" [ui]="ui1"></sf> |     <div class="card-title">货源单设置</div> | ||||||
| </nz-card> |     <sf #sf1 [schema]="schema1" [formData]="sf1data" [button]="'none'" [ui]="ui1"></sf> | ||||||
|  |   </nz-card> | ||||||
|  |  | ||||||
| <nz-card> |   <nz-card> | ||||||
|   <div class="card-title">装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div> |     <div class="card-title">装卸货信息<span class="tip-font">预计公里数:<em>{{ totalDistance }}km</em>,预计行程耗时:<em>{{ totalTime }}小时</em></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 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> |  | ||||||
|     </div> |     </div> | ||||||
|     <ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template> |  | ||||||
|   </form> |  | ||||||
| </nz-card> |  | ||||||
|  |  | ||||||
| <nz-card> |     <form nz-form [formGroup]="validateForm1" role="form"> | ||||||
|   <div class="card-title">货物信息</div> |       <div nz-row [nzGutter]="24"> | ||||||
|   <div nz-row> |         <div nz-col [nzSpan]="10"> | ||||||
|     <div nz-col nzSpan="24"> |           <div *ngFor="let data1 of startInfo; let idx = index"> | ||||||
|       <sf #sf3 [schema]="schema3" class="sf3" [formData]="sf3data" [button]="'none'" [ui]="ui3"> |             <nz-form-item> | ||||||
|         <ng-template class="1" sf-template="goodsTips" let-i let-ui="ui"> |               <nz-form-label [nzSpan]="4" nzRequired>装货地</nz-form-label> | ||||||
|           <nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert> |               <nz-form-control [nzErrorTip]="'请输入装货地'"> | ||||||
|         </ng-template> |                 <div class="align-center"> | ||||||
|         <ng-template #tpl> |                   <nz-input-group [nzSuffix]="endInconTemp1"> | ||||||
|           <span style="font-size: 12px;"> 国家法规及行政命令禁限运货物不能托运 |                     <input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)" | ||||||
|             <a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a> |                       formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" /> | ||||||
|           </span> |                   </nz-input-group> | ||||||
|         </ng-template> |                 </div> | ||||||
|       </sf> |               </nz-form-control> | ||||||
|       <sf #sf4 [schema]="schema4" [formData]="sf4data" [button]="'none'" [ui]="ui4"> |             </nz-form-item> | ||||||
|         <ng-template sf-template="freightPrice" let-i let-ui="ui"> |             <nz-form-item> | ||||||
|           <nz-input-group [nzAddOnAfter]="addOnAfterTemplate"> |               <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label> | ||||||
|             <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="请输入" type="number" [ngModel]="i.value" |               <div nz-col [nzSpan]="20"> | ||||||
|               (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> |                 <div nz-row [nzGutter]="12"> | ||||||
|           </nz-input-group> |                   <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'"> | ||||||
|           <ng-template #addOnAfterTemplate> |                     <input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}" | ||||||
|             <nz-select [ngModel]="sf4.value.freightType" (ngModelChange)="sf4.setValue('/freightType', $event)"> |                       name="loadName{{ idx }}" maxlength="30" placeholder="请输入联系人姓名" /> | ||||||
|               <nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of freightTypeOptions"> |                   </nz-form-control> | ||||||
|               </nz-option> |                   <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'"> | ||||||
|             </nz-select> |                     <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> |           <ng-template #tpl> | ||||||
|         <ng-template sf-template="rule" let-i let-ui="ui"> |             <span style="font-size: 14px;"> 国家法规及行政命令禁限运货物不能托运 | ||||||
|           <div class="align-center"> |               <a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a> | ||||||
|             <nz-select [ngModel]="i.value" (ngModelChange)="i.setValue($event)" nzPlaceHolder="运费取整规则"> |             </span> | ||||||
|               <nz-option nzLabel="保留小数" nzValue="1"></nz-option> |           </ng-template> | ||||||
|               <nz-option nzLabel="抹除小数" nzValue="2"></nz-option> |         </sf> | ||||||
|               <nz-option nzLabel="抹除个数" nzValue="3"></nz-option> |         <sf #sf4 [schema]="schema4" [formData]="sf4data" [button]="'none'" [ui]="ui4"> | ||||||
|             </nz-select> |           <ng-template sf-template="freightPrice" let-i let-ui="ui"> | ||||||
|             <span style="padding: 0 12px" nz-tooltip [nzTooltipTitle]="template2" nzTooltipPlacement="bottom"><i nz-icon |             <nz-input-group [nzAddOnAfter]="addOnAfterTemplate"> | ||||||
|                 nzType="exclamation-circle" nzTheme="outline" style="color: #1890ff"></i></span> |               <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="请输入" type="number" [ngModel]="i.value" | ||||||
|             <ng-template #template2> |                 (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number> | ||||||
|               <p>例如 付司机运费 = 重量*单价 = 999.99</p> |             </nz-input-group> | ||||||
|               <p>保留小数,即 999.99</p> |             <ng-template #addOnAfterTemplate> | ||||||
|               <p>抹除小数,即 999.00</p> |               <nz-select [ngModel]="sf4.value.freightType" (ngModelChange)="sf4.setValue('/freightType', $event)"> | ||||||
|               <p>抹除个位,即 990.00</p> |                 <nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of freightTypeOptions"> | ||||||
|  |                 </nz-option> | ||||||
|  |               </nz-select> | ||||||
|             </ng-template> |             </ng-template> | ||||||
|           </div> |           </ng-template> | ||||||
|         </ng-template> |           <ng-template sf-template="rule" let-i let-ui="ui"> | ||||||
|         <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> |  | ||||||
|             <div class="align-center"> |             <div class="align-center"> | ||||||
|               <div nz-col nzSpan="12"> |               <nz-select [ngModel]="i.value" (ngModelChange)="i.setValue($event)" nzPlaceHolder="运费取整规则"> | ||||||
|                 <nz-input-number [(ngModel)]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" [nzMax]="30" |                 <nz-option nzLabel="保留小数" nzValue="1"></nz-option> | ||||||
|                   [nzStep]="1"></nz-input-number> |                 <nz-option nzLabel="抹除小数" nzValue="2"></nz-option> | ||||||
|               </div> |                 <nz-option nzLabel="抹除个数" nzValue="3"></nz-option> | ||||||
|               <div nz-col nzSpan="12"> |               </nz-select> | ||||||
|                 <span> 天内支付运费</span> |               <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%;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 placeholder="总体积" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" | ||||||
|  |                 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 placeholder="总车次" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" | ||||||
|  |                 style="width: 100%;border-radius: 4px 0 0 4px;"></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> |             </div> | ||||||
|           </div> |           </ng-template> | ||||||
|         </ng-template> |         </sf> | ||||||
|       </sf> |       </div> | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </nz-card> | ||||||
| </nz-card> |   <nz-card class="btn-wrap"> | ||||||
| <nz-card> |     <div class="align-center"> | ||||||
|   <div class="align-center"> |       <button nz-button nzType="primary" (click)="submitConfirm('qrcode')" acl | ||||||
|     <button nz-button nzType="primary" (click)="submitConfirm('qrcode')" acl |         [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER- QRCode']">生成二维码</button> | ||||||
|       [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER- QRCode']">生成二维码</button> |       <button nz-button nzType="primary" style="margin-left: 24px" (click)="submitConfirm('assign')" acl | ||||||
|     <button nz-button nzType="primary" style="margin-left: 48px" (click)="submitConfirm('assign')" acl |         [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-bulkDesignate']">指派熟车</button> | ||||||
|       [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-bulkDesignate']">指派熟车</button> |       <!-- <button nz-button nzType="primary"    (click)="choose()">取消</button> --> | ||||||
|     <!-- <button nz-button nzType="primary"    (click)="choose()">取消</button> --> |       <button nz-button nzType="primary" style="margin-left: 24px" (click)="submitConfirm('publish')" acl | ||||||
|     <button nz-button nzType="primary" style="margin-left: 48px" (click)="submitConfirm('publish')" acl |         [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-bulkAnotherOrder']">司机抢单</button> | ||||||
|       [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-bulkAnotherOrder']">司机抢单</button> |     </div> | ||||||
|   </div> |   </nz-card> | ||||||
| </nz-card> | </div> | ||||||
| @ -11,10 +11,10 @@ | |||||||
|     .sf3 { |     .sf3 { | ||||||
|       .goods_Tips_item { |       .goods_Tips_item { | ||||||
|         .goods_tips { |         .goods_tips { | ||||||
|           width: calc(50% - 45px); |           width: calc(50% - 57px); | ||||||
|  |  | ||||||
|           .ant-alert { |           .ant-alert { | ||||||
|             padding: 0 0 0 2px; |             margin-bottom: 5px; | ||||||
|           } |           } | ||||||
|  |  | ||||||
|         } |         } | ||||||
| @ -79,3 +79,100 @@ input[type='number']::-webkit-outer-spin-button { | |||||||
|   margin: 0; |   margin: 0; | ||||||
|   -webkit-appearance: none; |   -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 = { |     this.ui1 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 115, |         spanLabelFixed: 115, | ||||||
|         grid: { span: 12 } |         grid: { span: 8 } | ||||||
|       } |       } | ||||||
|     }; |     }; | ||||||
|   } |   } | ||||||
| @ -293,9 +293,12 @@ export class SupplyManagementBulkPublishComponent implements OnInit { | |||||||
|     }; |     }; | ||||||
|     this.ui3 = { |     this.ui3 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 90, |         spanLabelFixed: 115, | ||||||
|         grid: { span: 12 } |         grid: { span: 12 } | ||||||
|       }, |       }, | ||||||
|  |       $goodsNameId: { | ||||||
|  |         spanLabelFixed: 10 | ||||||
|  |       }, | ||||||
|       $goodsTips: { |       $goodsTips: { | ||||||
|         grid: { span: 24 } |         grid: { span: 24 } | ||||||
|       } |       } | ||||||
| @ -406,33 +409,37 @@ export class SupplyManagementBulkPublishComponent implements OnInit { | |||||||
|     }; |     }; | ||||||
|     this.ui4 = { |     this.ui4 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 90, |         spanLabelFixed: 115, | ||||||
|         grid: { span: 24 } |         grid: { span: 12 } | ||||||
|       }, |       }, | ||||||
|       $freightPrice: { |       $freightPrice: { | ||||||
|         grid: { span: 8 } |         grid: { span: 8 } | ||||||
|       }, |       }, | ||||||
|       $rule: { |       $rule: { | ||||||
|  |         spanLabelFixed: 10, | ||||||
|         grid: { span: 8 } |         grid: { span: 8 } | ||||||
|       }, |       }, | ||||||
|       $settlementBasis: { |       $settlementBasis: { | ||||||
|  |         spanLabelFixed: 10, | ||||||
|         grid: { span: 8 } |         grid: { span: 8 } | ||||||
|       }, |       }, | ||||||
|       $weight: { |       $weight: { | ||||||
|         grid: { lg: 8, md: 12, sm: 12, xs: 24 } |         grid: { span: 4 } | ||||||
|       }, |       }, | ||||||
|       $volume: { |       $volume: { | ||||||
|         grid: { lg: 8, md: 12, sm: 12, xs: 24 } |         spanLabelFixed: 10, | ||||||
|  |         grid: { span: 4 } | ||||||
|       }, |       }, | ||||||
|       $number: { |       $number: { | ||||||
|         grid: { lg: 8, md: 12, sm: 12, xs: 24 } |         spanLabelFixed: 10, | ||||||
|  |         grid: { span: 4 } | ||||||
|       }, |       }, | ||||||
|       $carModel: { |       $carModel: { | ||||||
|         spanLabelFixed: 120, |         grid: { span: 6 } | ||||||
|         grid: { span: 8 } |  | ||||||
|       }, |       }, | ||||||
|       $carLength: { |       $carLength: { | ||||||
|         grid: { span: 8 } |         spanLabelFixed: 10, | ||||||
|  |         grid: { span: 6 } | ||||||
|       } |       } | ||||||
|     }; |     }; | ||||||
|   } |   } | ||||||
| @ -522,7 +529,7 @@ export class SupplyManagementBulkPublishComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'textarea', |             widget: 'textarea', | ||||||
|             placeholder: '请输入', |             placeholder: '请输入', | ||||||
|             autosize: { minRows: 3, maxRows: 3 } |             autosize: { minRows: 1, maxRows: 1 } | ||||||
|           } as SFTextareaWidgetSchema |           } as SFTextareaWidgetSchema | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
| @ -538,7 +545,10 @@ export class SupplyManagementBulkPublishComponent implements OnInit { | |||||||
|     }; |     }; | ||||||
|     this.ui7 = { |     this.ui7 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 90, |         spanLabelFixed: 115, | ||||||
|  |         grid: { span: 8 } | ||||||
|  |       }, | ||||||
|  |       $remarks: { | ||||||
|         grid: { span: 24 } |         grid: { span: 24 } | ||||||
|       } |       } | ||||||
|     }; |     }; | ||||||
|  | |||||||
| @ -5,233 +5,182 @@ | |||||||
|     </button> |     </button> | ||||||
|   </ng-template> |   </ng-template> | ||||||
| </page-header-wrapper> | </page-header-wrapper> | ||||||
| <nz-card> | <div class="custom-style"> | ||||||
|   <div class="card-title">货源单设置</div> |   <nz-card> | ||||||
|       <sf #sf1 [schema]="schema1" [button]="'none'" [ui]="ui1" [formData]="sf1data"> |     <div class="card-title">货源单设置</div> | ||||||
|         <ng-template sf-template="enterpriseInfoName" let-i let-ui="ui"> {{ i.value }} </ng-template> |     <sf #sf1 [schema]="schema1" [button]="'none'" [ui]="ui1" [formData]="sf1data"> | ||||||
|       </sf> |       <ng-template sf-template="enterpriseInfoName" let-i let-ui="ui"> {{ i.value }} </ng-template> | ||||||
| </nz-card> |     </sf> | ||||||
|  |   </nz-card> | ||||||
|  |  | ||||||
| <nz-card> |   <nz-card> | ||||||
|   <div class="card-title">装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div |     <div class="card-title">装卸货信息<span class="tip-font">预计公里数:<em>{{ totalDistance }}km</em>,预计行程耗时:<em>{{ totalTime }}小时</em></span> | ||||||
|   > |  | ||||||
|  |  | ||||||
|   <form #ngForm="ngForm" nz-form 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)" |  | ||||||
|                     name="startDetailedAddress{{ idx }}" |  | ||||||
|                     placeholder="请输入装货地" |  | ||||||
|                     required |  | ||||||
|                     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" |  | ||||||
|                   name="startAppUserName{{ idx }}" |  | ||||||
|                   maxlength="30" |  | ||||||
|                   placeholder="请输入联系人姓名" |  | ||||||
|                   required |  | ||||||
|                 /> |  | ||||||
|               </nz-form-control> |  | ||||||
|               <nz-form-control [nzErrorTip]="'请输入联系人电话'"> |  | ||||||
|                 <input |  | ||||||
|                   style="margin-left: 12px" |  | ||||||
|                   nz-input |  | ||||||
|                   [(ngModel)]="data1.contractTelephone" |  | ||||||
|                   maxlength="11" |  | ||||||
|                   name="startContractTelephone{{ idx }}" |  | ||||||
|                   placeholder="请输入联系人电话" |  | ||||||
|                   required |  | ||||||
|                 /> |  | ||||||
|               </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)" |  | ||||||
|                     name="endDetailedAddress{{ idx }}" |  | ||||||
|                     placeholder="请输入卸货地" |  | ||||||
|                     required |  | ||||||
|                     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" |  | ||||||
|                   name="endAppUserName{{ idx }}" |  | ||||||
|                   placeholder="请输入联系人姓名" |  | ||||||
|                   required |  | ||||||
|                 /> |  | ||||||
|               </nz-form-control> |  | ||||||
|               <nz-form-control [nzErrorTip]="'请输入联系人电话'"> |  | ||||||
|                 <input |  | ||||||
|                   style="margin-left: 12px" |  | ||||||
|                   nz-input |  | ||||||
|                   [(ngModel)]="data2.contractTelephone" |  | ||||||
|                   name="endUnloadPhone{{ idx }}" |  | ||||||
|                   maxlength="11" |  | ||||||
|                   placeholder="请输入联系人电话" |  | ||||||
|                   required |  | ||||||
|                 /> |  | ||||||
|               </nz-form-control> |  | ||||||
|             </div> |  | ||||||
|           </nz-form-item> |  | ||||||
|         </div> |  | ||||||
|       </div> |  | ||||||
|     </div> |     </div> | ||||||
|     <ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template> |  | ||||||
|   </form> |  | ||||||
| </nz-card> |  | ||||||
|  |  | ||||||
| <nz-card> |     <form #ngForm="ngForm" nz-form role="form"> | ||||||
|   <div class="card-title">货物信息</div> |       <div nz-row [nzGutter]="24"> | ||||||
|   <div nz-row> |         <div nz-col [nzSpan]="10"> | ||||||
|     <div nz-col nzSpan="24"> |           <div *ngFor="let data1 of startInfo; let idx = index"> | ||||||
|       <sf #sf3 [schema]="schema3" [button]="'none'" [ui]="ui3" [formData]="sf3data"></sf> |             <nz-form-item> | ||||||
|       <sf #sf4 [schema]="schema4" [button]="'none'" [ui]="ui4" [formData]="sf4data"> |               <nz-form-label [nzSpan]="4" nzRequired>装货地</nz-form-label> | ||||||
|         <ng-template sf-template="freightPrice" let-i let-ui="ui"> |               <nz-form-control [nzErrorTip]="'请输入装货地'"> | ||||||
|           <nz-input-group [nzAddOnAfter]="addOnAfterTemplate"> |                 <div class="align-center"> | ||||||
|             <nz-input-number [nzMax]="99999" [nzMin] ="0" nzPlaceHolder="请输入" type="number" [ngModel]="i.value" |                   <nz-input-group [nzSuffix]="endInconTemp1"> | ||||||
|             (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> |                     <input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)" | ||||||
|           </nz-input-group> |                       name="startDetailedAddress{{ idx }}" placeholder="请输入装货地" required readonly="true" /> | ||||||
|           <ng-template #addOnAfterTemplate> |                   </nz-input-group> | ||||||
|             <nz-select [ngModel]="sf4.value.freightType" (ngModelChange)="sf4.setValue('/freightType', $event)"> |                 </div> | ||||||
|               <nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of freightTypeOptions"> </nz-option> |               </nz-form-control> | ||||||
|             </nz-select> |             </nz-form-item> | ||||||
|           </ng-template> |             <nz-form-item> | ||||||
|         </ng-template> |               <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label> | ||||||
|         <ng-template sf-template="rule" let-i let-ui="ui"> |               <div nz-col [nzSpan]="20"> | ||||||
|           <div class="align-center"> |                 <div nz-row [nzGutter]="12"> | ||||||
|             <nz-select [ngModel]="i.value" (ngModelChange)="i.setValue($event)" nzPlaceHolder="运费取整规则"> |                   <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'"> | ||||||
|               <nz-option nzLabel="保留小数" nzValue="1"></nz-option> |                     <input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}" | ||||||
|               <nz-option nzLabel="抹除小数" nzValue="2"></nz-option> |                       name="loadName{{ idx }}" maxlength="30" placeholder="请输入联系人姓名" /> | ||||||
|               <nz-option nzLabel="抹除个数" nzValue="3"></nz-option> |                   </nz-form-control> | ||||||
|             </nz-select> |                   <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'"> | ||||||
|             <span style="padding: 0 12px" nz-tooltip [nzTooltipTitle]="template2" nzTooltipPlacement="bottom" |                     <input nz-input [(ngModel)]="data1.contractTelephone" maxlength="11" | ||||||
|               ><i nz-icon nzType="exclamation-circle" nzTheme="outline" style="color: #1890ff"></i |                       formControlName="loadPhone{{ idx }}" name="loadPhone{{ idx }}" placeholder="请输入联系人电话" /> | ||||||
|             ></span> |                   </nz-form-control> | ||||||
|             <ng-template #template2> |                 </div> | ||||||
|               <p>例如 付司机运费 = 重量*单价 = 999.99</p> |               </div> | ||||||
|               <p>保留小数,即 999.99</p> |             </nz-form-item> | ||||||
|               <p>抹除小数,即 999.00</p> |              | ||||||
|               <p>抹除个位,即 990.00</p> |           </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)" | ||||||
|  |                       name="endDetailedAddress{{ idx }}" placeholder="请输入卸货地" required 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" [button]="'none'" [ui]="ui3" [formData]="sf3data"></sf> | ||||||
|  |         <sf #sf4 [schema]="schema4" [button]="'none'" [ui]="ui4" [formData]="sf4data"> | ||||||
|  |           <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%;border-radius: 4px 0 0 4px;"></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> |             </ng-template> | ||||||
|           </div> |           </ng-template> | ||||||
|         </ng-template> |           <ng-template sf-template="rule" let-i let-ui="ui"> | ||||||
|         <ng-template sf-template="weight" let-i let-ui="ui"> |             <div class="align-center"> | ||||||
|           <nz-input-group [nzAddOnAfter]="'吨'"> |               <nz-select [ngModel]="i.value" (ngModelChange)="i.setValue($event)" nzPlaceHolder="运费取整规则"> | ||||||
|             <nz-input-number |                 <nz-option nzLabel="保留小数" nzValue="1"></nz-option> | ||||||
|               placeholder="总重量,必填" |                 <nz-option nzLabel="抹除小数" nzValue="2"></nz-option> | ||||||
|               [ngModel]="i.value" |                 <nz-option nzLabel="抹除个数" nzValue="3"></nz-option> | ||||||
|               (ngModelChange)="i.setValue($event)" |               </nz-select> | ||||||
|               [nzMin]="1" |               <span style="padding: 0 12px" nz-tooltip [nzTooltipTitle]="template2" nzTooltipPlacement="bottom"><i | ||||||
|               style="width: 100%" |                   nz-icon nzType="exclamation-circle" nzTheme="outline" style="color: #1890ff"></i></span> | ||||||
|             ></nz-input-number> |               <ng-template #template2> | ||||||
|           </nz-input-group> |                 <p>例如 付司机运费 = 重量*单价 = 999.99</p> | ||||||
|         </ng-template> |                 <p>保留小数,即 999.99</p> | ||||||
|         <ng-template sf-template="volume" let-i let-ui="ui"> |                 <p>抹除小数,即 999.00</p> | ||||||
|           <nz-input-group [nzAddOnAfter]="'方'"> |                 <p>抹除个位,即 990.00</p> | ||||||
|             <nz-input-number |               </ng-template> | ||||||
|               placeholder="总体积" |             </div> | ||||||
|               [ngModel]="i.value" |           </ng-template> | ||||||
|               (ngModelChange)="i.setValue($event)" |           <ng-template sf-template="weight" let-i let-ui="ui"> | ||||||
|               [nzMin]="1" |             <nz-input-group [nzAddOnAfter]="'吨'"> | ||||||
|               style="width: 100%" |               <nz-input-number placeholder="总重量,必填" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" | ||||||
|             ></nz-input-number> |                 style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number> | ||||||
|           </nz-input-group> |             </nz-input-group> | ||||||
|         </ng-template> |           </ng-template> | ||||||
|         <ng-template sf-template="number" let-i let-ui="ui"> |           <ng-template sf-template="volume" let-i let-ui="ui"> | ||||||
|           <nz-input-group [nzAddOnAfter]="'车'"> |             <nz-input-group [nzAddOnAfter]="'方'"> | ||||||
|             <nz-input-number |               <nz-input-number placeholder="总体积" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" | ||||||
|               placeholder="总车次" |                 style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number> | ||||||
|               [ngModel]="i.value" |             </nz-input-group> | ||||||
|               (ngModelChange)="i.setValue($event)" |           </ng-template> | ||||||
|               [nzMin]="1" |           <ng-template sf-template="number" let-i let-ui="ui"> | ||||||
|               style="width: 100%" |             <nz-input-group [nzAddOnAfter]="'车'"> | ||||||
|             ></nz-input-number> |               <nz-input-number placeholder="总车次" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" | ||||||
|           </nz-input-group> |                 style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number> | ||||||
|         </ng-template> |             </nz-input-group> | ||||||
|       </sf> |           </ng-template> | ||||||
|  |         </sf> | ||||||
|  |       </div> | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </nz-card> | ||||||
| </nz-card> |  | ||||||
|  |  | ||||||
| <nz-card> |   <nz-card> | ||||||
|   <div class="card-title">补充信息</div> |     <div class="card-title">补充信息</div> | ||||||
|   <div nz-row> |     <div nz-row> | ||||||
|     <div nz-col nzSpan="12"> |       <div nz-col nzSpan="24"> | ||||||
|       <sf #sf6 [schema]="schema6" [button]="'none'" [ui]="ui6" [formData]="sf6data"> |         <sf #sf6 [schema]="schema6" [button]="'none'" [ui]="ui6" [formData]="sf6data"> | ||||||
|         <ng-template sf-template="paymentDays" let-i let-ui="ui"> |           <ng-template sf-template="paymentDays" let-i let-ui="ui"> | ||||||
|           <div nz-row> |             <div nz-row> | ||||||
|             <div class="align-center" > |               <div class="align-center"> | ||||||
|               <div nz-col nzSpan="12"> |                 <div nz-col nzSpan="14"> | ||||||
|                 <nz-input-number |                   <nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1" | ||||||
|                   [ngModel]="i.value" |                     (ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30"></nz-input-number> | ||||||
|                   [nzMin]="1" |                 </div> | ||||||
|                   [nzMax]="30" |                 <div nz-col nzSpan="10"> | ||||||
|                   [nzStep]="1" |                   <span> 天内支付运费</span> | ||||||
|                   (ngModelChange)="i.setValue($event)" |                 </div> | ||||||
|                   nzPlaceHolder="请输入1-30" |  | ||||||
|                 ></nz-input-number> |  | ||||||
|               </div> |  | ||||||
|               <div nz-col nzSpan="12"> |  | ||||||
|                 <span> 天内支付运费</span> |  | ||||||
|               </div> |               </div> | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </ng-template> | ||||||
|         </ng-template> |         </sf> | ||||||
|       </sf> |       </div> | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </nz-card> | ||||||
| </nz-card> |  | ||||||
|  |  | ||||||
| <nz-card> |   <nz-card class="btn-wrap"> | ||||||
|   <div class="align-center"> |     <div class="align-center"> | ||||||
|     <!-- <button nz-button nzType="primary" (click)="choose()">取消</button> --> |       <!-- <button nz-button nzType="primary" (click)="choose()">取消</button> --> | ||||||
|     <button nz-button nzType="primary"  (click)="submitConfirm('qrcode')"  acl  [acl-ability]="['SUPPLY-BULK-RELEASE-QRCode ']">生成二维码</button> |       <button nz-button nzType="primary" (click)="submitConfirm('qrcode')" acl | ||||||
|     <button nz-button nzType="primary"  style="margin-left: 48px" (click)="submitConfirm('assign')"  acl  [acl-ability]="['SUPPLY-BULK-RELEASE-consignBulkAssign']">指派熟车</button> |         [acl-ability]="['SUPPLY-BULK-RELEASE-QRCode ']">生成二维码</button> | ||||||
|     <button nz-button nzType="primary" style="margin-left: 48px" (click)="submitConfirm('publish')"  acl  [acl-ability]="['SUPPLY-BULK-RELEASE-consignBulk']">司机抢单</button> |       <button nz-button nzType="primary" style="margin-left: 24px" (click)="submitConfirm('assign')" acl | ||||||
|   </div> |         [acl-ability]="['SUPPLY-BULK-RELEASE-consignBulkAssign']">指派熟车</button> | ||||||
| </nz-card> |       <button nz-button nzType="primary" style="margin-left: 24px" (click)="submitConfirm('publish')" acl | ||||||
|  |         [acl-ability]="['SUPPLY-BULK-RELEASE-consignBulk']">司机抢单</button> | ||||||
|  |     </div> | ||||||
|  |   </nz-card> | ||||||
|  | </div> | ||||||
| @ -46,3 +46,100 @@ input[type='number']::-webkit-outer-spin-button { | |||||||
|   margin: 0; |   margin: 0; | ||||||
|   -webkit-appearance: none; |   -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; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | |||||||
| @ -223,11 +223,8 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit { | |||||||
|     }; |     }; | ||||||
|     this.ui1 = { |     this.ui1 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 110, |         spanLabelFixed: 115, | ||||||
|         grid: { span: 12 } |         grid: { span: 8 } | ||||||
|       }, |  | ||||||
|       $enterpriseInfoName: { |  | ||||||
|         grid: { span: 24 } |  | ||||||
|       } |       } | ||||||
|     }; |     }; | ||||||
|   } |   } | ||||||
| @ -303,8 +300,14 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit { | |||||||
|     }; |     }; | ||||||
|     this.ui3 = { |     this.ui3 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 90, |         spanLabelFixed: 115, | ||||||
|         grid: { span: 12 } |         grid: { span: 12 } | ||||||
|  |       }, | ||||||
|  |       $goodsNameId: { | ||||||
|  |         spanLabelFixed: 10 | ||||||
|  |       }, | ||||||
|  |       $goodsTips: { | ||||||
|  |         grid: { span: 24 } | ||||||
|       } |       } | ||||||
|     }; |     }; | ||||||
|   } |   } | ||||||
| @ -411,33 +414,37 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit { | |||||||
|     }; |     }; | ||||||
|     this.ui4 = { |     this.ui4 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 90, |         spanLabelFixed: 115, | ||||||
|         grid: { span: 24 } |         grid: { span: 12 } | ||||||
|       }, |       }, | ||||||
|       $freightPrice: { |       $freightPrice: { | ||||||
|         grid: { span: 8 } |         grid: { span: 8 } | ||||||
|       }, |       }, | ||||||
|       $rule: { |       $rule: { | ||||||
|  |         spanLabelFixed: 10, | ||||||
|         grid: { span: 8 } |         grid: { span: 8 } | ||||||
|       }, |       }, | ||||||
|       $settlementBasis: { |       $settlementBasis: { | ||||||
|  |         spanLabelFixed: 10, | ||||||
|         grid: { span: 8 } |         grid: { span: 8 } | ||||||
|       }, |       }, | ||||||
|       $weight: { |       $weight: { | ||||||
|         grid: { lg: 8, md: 12, sm: 12, xs: 24 } |         grid: { span: 4 } | ||||||
|       }, |       }, | ||||||
|       $volume: { |       $volume: { | ||||||
|         grid: { lg: 8, md: 12, sm: 12, xs: 24 } |         spanLabelFixed: 10, | ||||||
|  |         grid: { span: 4 } | ||||||
|       }, |       }, | ||||||
|       $number: { |       $number: { | ||||||
|         grid: { lg: 8, md: 12, sm: 12, xs: 24 } |         spanLabelFixed: 10, | ||||||
|  |         grid: { span: 4 } | ||||||
|       }, |       }, | ||||||
|       $carModel: { |       $carModel: { | ||||||
|         spanLabelFixed: 120, |         grid: { span: 6 } | ||||||
|         grid: { span: 8 } |  | ||||||
|       }, |       }, | ||||||
|       $carLength: { |       $carLength: { | ||||||
|         grid: { span: 8 } |         spanLabelFixed: 10, | ||||||
|  |         grid: { span: 6 } | ||||||
|       } |       } | ||||||
|     }; |     }; | ||||||
|   } |   } | ||||||
| @ -527,7 +534,7 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'textarea', |             widget: 'textarea', | ||||||
|             placeholder: '请输入', |             placeholder: '请输入', | ||||||
|             autosize: { minRows: 3, maxRows: 3 } |             autosize: { minRows: 1, maxRows: 1 } | ||||||
|           } as SFTextareaWidgetSchema |           } as SFTextareaWidgetSchema | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
| @ -535,7 +542,10 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit { | |||||||
|     }; |     }; | ||||||
|     this.ui6 = { |     this.ui6 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 90, |         spanLabelFixed: 115, | ||||||
|  |         grid: { span: 8 } | ||||||
|  |       }, | ||||||
|  |       $remarks: { | ||||||
|         grid: { span: 24 } |         grid: { span: 24 } | ||||||
|       } |       } | ||||||
|     }; |     }; | ||||||
|  | |||||||
| @ -5,264 +5,271 @@ | |||||||
|     </button> |     </button> | ||||||
|   </ng-template> |   </ng-template> | ||||||
| </page-header-wrapper> | </page-header-wrapper> | ||||||
| <nz-card> | <div class="custom-style"> | ||||||
|   <div class="card-title">货源单设置</div> |   <nz-card> | ||||||
|   <sf #sf1 [schema]="schema1" [formData]="sf1data" [button]="'none'" [ui]="ui1"></sf> |     <div class="card-title">货源单设置</div> | ||||||
| </nz-card> |     <sf #sf1 [schema]="schema1" [formData]="sf1data" [button]="'none'" [ui]="ui1"></sf> | ||||||
|  |   </nz-card> | ||||||
|  |  | ||||||
| <nz-card> |   <nz-card> | ||||||
|   <div class="card-title">装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div> |     <div class="card-title">装卸货信息<span class="tip-font">预计公里数:<em>{{ totalDistance }}km</em>,预计行程耗时:<em>{{ totalTime }}小时</em></span> | ||||||
|  |     </div> | ||||||
|  |  | ||||||
|   <form nz-form [formGroup]="validateForm1" role="form"> |     <form nz-form [formGroup]="validateForm1" role="form"> | ||||||
|     <div nz-row [nzGutter]="24"> |       <div nz-row [nzGutter]="24"> | ||||||
|       <div nz-col [nzSpan]="10"> |         <div nz-col [nzSpan]="10"> | ||||||
|         <div *ngFor="let data1 of startInfo; let idx = index"> |           <div *ngFor="let data1 of startInfo; let idx = index"> | ||||||
|           <nz-form-item> |             <nz-form-item> | ||||||
|             <nz-form-label nzRequired>装货地</nz-form-label> |               <nz-form-label [nzSpan]="4" nzRequired>装货地</nz-form-label> | ||||||
|             <nz-form-control [nzErrorTip]="'请输入装货地'"> |               <nz-form-control [nzErrorTip]="'请输入装货地'"> | ||||||
|               <div class="align-center"> |                 <div class="align-center"> | ||||||
|                 <nz-input-group [nzSuffix]="endInconTemp1"> |                   <nz-input-group [nzSuffix]="endInconTemp1"> | ||||||
|                   <input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)" |                     <input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)" | ||||||
|                     formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" /> |                       formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" /> | ||||||
|                 </nz-input-group> |                   </nz-input-group> | ||||||
|                 <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline" |                   <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle-o" nzTheme="outline" | ||||||
|                     style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> |                       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" |                   <!-- <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> |                       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> |               </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-control> | ||||||
|           </nz-form-item> |           </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-item> | ||||||
|             <nz-form-label nzRequired>联系人</nz-form-label> |             <nz-form-label [nzSpan]="4" nzRequired>卸货时间</nz-form-label> | ||||||
|             <div style="display: flex; width: 80.7%"> |             <nz-form-control [nzErrorTip]="'请输入卸货时间'"> | ||||||
|               <nz-form-control [nzErrorTip]="'请输入联系人姓名'"> |               <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" | ||||||
|                 <input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}" |                 formControlName="unloadingTime"></nz-date-picker> | ||||||
|                   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-control> |             </nz-form-control> | ||||||
|           </nz-form-item> |           </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> | ||||||
|     </div> |       <ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template> | ||||||
|     <div nz-row [nzGutter]="24" style="margin-top: 24px"> |     </form> | ||||||
|       <div nz-col nzXs="2" nzSm="4" nzMd="8" nzLg="8" nzXl="10"> |   </nz-card> | ||||||
|         <nz-form-item> |  | ||||||
|           <nz-form-label nzRequired>装货时间</nz-form-label> |   <nz-card> | ||||||
|           <nz-form-control [nzErrorTip]="'请输入装货时间'"> |     <div class="card-title">货物信息</div> | ||||||
|             <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" formControlName="loadingTime" |     <div nz-row> | ||||||
|               [nzDisabledDate]="disabledDateStart"></nz-date-picker> |       <div nz-col nzSpan="24"> | ||||||
|           </nz-form-control> |         <sf #sf3 class="sf3" [schema]="schema3" [button]="'none'" [ui]="ui3" [formData]="sf3data"> | ||||||
|         </nz-form-item> |           <ng-template sf-template="goodsTips" let-i let-ui="ui"> | ||||||
|       </div> |             <nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert> | ||||||
|       <div nz-col nzXs="20" nzSm="16" nzMd="12" nzLg="8" nzXl="4"></div> |           </ng-template> | ||||||
|       <div nz-col nzXs="2" nzSm="4" nzMd="8" nzLg="8" nzXl="10"> |           <ng-template #tpl> | ||||||
|         <nz-form-item> |             <span style="font-size: 14px;"> 国家法规及行政命令禁限运货物不能托运 | ||||||
|           <nz-form-label nzRequired>卸货时间</nz-form-label> |               <a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a> | ||||||
|           <nz-form-control [nzErrorTip]="'请输入卸货时间'"> |             </span> | ||||||
|             <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" |           </ng-template> | ||||||
|               formControlName="unloadingTime"></nz-date-picker> |         </sf> | ||||||
|           </nz-form-control> |  | ||||||
|         </nz-form-item> |  | ||||||
|       </div> |       </div> | ||||||
|     </div> |     </div> | ||||||
|     <ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template> |     <sf #sf4 [schema]="schema4" [button]="'none'" [ui]="ui4" [formData]="sf4data"> | ||||||
|   </form> |       <ng-template sf-template="weight" let-i let-ui="ui"> | ||||||
| </nz-card> |         <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> |   <nz-card> | ||||||
|   <div class="card-title">货物信息</div> |     <div class="card-title">服务信息</div> | ||||||
|   <div nz-row> |     <div nz-row> | ||||||
|     <div nz-col nzSpan="16"> |       <div nz-col nzSpan="24"> | ||||||
|       <sf #sf3 [schema]="schema3" class="sf3" [button]="'none'" [ui]="ui3" [formData]="sf3data"> |         <sf #sf5 [schema]="schema5" [button]="'none'" [ui]="ui5" [formData]="sf5data"> | ||||||
|         <ng-template class="1" sf-template="goodsTips" let-i let-ui="ui"> |           <ng-template sf-template="type1" let-i let-ui="ui"> | ||||||
|           <nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert> |             <label nz-checkbox [ngModel]="true" nzDisabled></label>  货源曝光率 <span class="fc">+10</span>   | ||||||
|         </ng-template> |             <label nz-checkbox [ngModel]="true" nzDisabled></label> 车源匹配率 <span class="fc">+10</span> | ||||||
|         <ng-template #tpl> |           </ng-template> | ||||||
|           <span style="font-size: 12px;"> 国家法规及行政命令禁限运货物不能托运 |           <ng-template sf-template="type2" let-i let-ui="ui"> | ||||||
|             <a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a> |             <label nz-checkbox [ngModel]="true" nzDisabled></label>  货源曝光率 <span class="fc">+20</span>   | ||||||
|           </span> |             <label nz-checkbox [ngModel]="true" nzDisabled></label> 车源匹配率 <span class="fc">+20</span> | ||||||
|         </ng-template> |           </ng-template> | ||||||
|       </sf> |           <ng-template sf-template="freeInsurance1" let-i let-ui="ui"> | ||||||
|     </div> |             <nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert> | ||||||
|   </div> |           </ng-template> | ||||||
|   <sf #sf4 [schema]="schema4" [button]="'none'" [ui]="ui4" [formData]="sf4data"> |           <ng-template sf-template="freeInsurance2" let-i let-ui="ui"> | ||||||
|     <ng-template sf-template="weight" let-i let-ui="ui"> |             <nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert> | ||||||
|       <nz-input-group [nzAddOnAfter]="'吨'"> |           </ng-template> | ||||||
|         <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="总重量,必填" type="number" [ngModel]="i.value" |           <ng-template #template1>①香港、澳门、台湾、西藏、新疆不予承保,②单次运输保额仅限200万元以内,③保险详细内容及注意事项请见<a target="_blank" | ||||||
|           (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> |               [queryParams]="{ type: 10 }" [routerLink]="['/agreement']">《保险告知函》</a></ng-template> | ||||||
|       </nz-input-group> |         </sf> | ||||||
|     </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> |  | ||||||
|       </div> |       </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> | ||||||
|   </div> |   </nz-card> | ||||||
| </nz-card> |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <nz-card> |   <nz-card> | ||||||
|   <div class="card-title">补充信息</div> |     <div class="card-title">补充信息</div> | ||||||
|   <div nz-row> |     <div nz-row> | ||||||
|     <div nz-col nzSpan="9"> |       <div nz-col nzSpan="24"> | ||||||
|       <sf #sf6 [schema]="schema6" [formData]="sf6data" [button]="'none'" [ui]="ui6"> </sf> |         <sf #sf6 [schema]="schema6" [formData]="sf6data" [button]="'none'" [ui]="ui6"> </sf> | ||||||
|  |       </div> | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </nz-card> | ||||||
| </nz-card> |  | ||||||
|  |  | ||||||
| <nz-card> |   <nz-card> | ||||||
|   <div class="card-title">运费信息</div> |     <div class="card-title">运费信息</div> | ||||||
|   <div nz-row> |     <div nz-row> | ||||||
|     <div nz-col nzSpan="8"> |       <div nz-col nzSpan="24"> | ||||||
|       <sf #sf7 [schema]="schema7" [button]="'none'" [ui]="ui7" [formData]="sf7data"> |         <sf #sf7 [schema]="schema7" [button]="'none'" [ui]="ui7" [formData]="sf7data"> | ||||||
|         <ng-template sf-template="prePay" let-i let-ui="ui"> |           <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" |             <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" | ||||||
|             nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" |               nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" | ||||||
|             [nzParser]="parserRmb"> |               [nzParser]="parserRmb"> | ||||||
|           </nz-input-number> |             </nz-input-number> | ||||||
|         </ng-template> |           </ng-template> | ||||||
|         <ng-template sf-template="toPay" let-i let-ui="ui"> |           <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" |             <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" | ||||||
|             nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" |               nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" | ||||||
|             [nzParser]="parserRmb"> |               [nzParser]="parserRmb"> | ||||||
|           </nz-input-number> |             </nz-input-number> | ||||||
|         </ng-template> |           </ng-template> | ||||||
|         <ng-template sf-template="receiptPay" let-i let-ui="ui"> |           <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" |             <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" | ||||||
|             nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" |               nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" | ||||||
|             [nzParser]="parserRmb"> |               [nzParser]="parserRmb"> | ||||||
|           </nz-input-number> |             </nz-input-number> | ||||||
|         </ng-template> |           </ng-template> | ||||||
|         <ng-template sf-template="subtotal" let-i let-ui="ui">{{ i.value | currency }}</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: |           <ng-template sf-template="appendFee" let-i let-ui="ui">{{ i.value | currency }}(费率:{{ currentRate | number: | ||||||
|           '0.2-4' }}%)</ng-template> |             '0.2-4' }}%)</ng-template> | ||||||
|         <ng-template sf-template="total" let-i let-ui="ui">{{ i.value | currency }}</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"> |           <ng-template sf-template="paymentDays" let-i let-ui="ui"> | ||||||
|           <div nz-row class="align-center"> |             <div nz-row class="align-center"> | ||||||
|             <div nz-col nzSpan="16"> |               <div nz-col nzSpan="6"> | ||||||
|               <nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1" |                 <nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1" | ||||||
|                 (ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30" [nzPrecision]="0" |                   (ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30" [nzPrecision]="0" | ||||||
|                 [nzPrecisionMode]="'cut'"></nz-input-number> |                   [nzPrecisionMode]="'cut'"></nz-input-number> | ||||||
|  |               </div> | ||||||
|  |               <div nz-col nzSpan="18"> | ||||||
|  |                 <span> 天内支付运费</span> | ||||||
|  |               </div> | ||||||
|             </div> |             </div> | ||||||
|             <div nz-col nzSpan="8"> |           </ng-template> | ||||||
|               <span> 天内支付运费</span> |         </sf> | ||||||
|             </div> |       </div> | ||||||
|           </div> |  | ||||||
|         </ng-template> |  | ||||||
|       </sf> |  | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </nz-card> | ||||||
| </nz-card> |   <nz-card class="btn-wrap"> | ||||||
| <nz-card> |     <div class="align-center"> | ||||||
|   <div class="align-center"> |       <button nz-button nzType="primary" *ngIf="this.PageStatus == '整车修改'" (click)="goBack()">取消</button> | ||||||
|     <button nz-button nzType="primary" *ngIf="this.PageStatus == '整车修改'" (click)="goBack()">取消</button> |       <button *ngIf="this.PageStatus == '整车修改'" nz-button nzType="primary" style="margin-left: 24px" | ||||||
|     <button *ngIf="this.PageStatus == '整车修改'" nz-button nzType="primary" style="margin-left: 48px" |         (click)="submitConfirm()" acl [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交修改</button> | ||||||
|       (click)="submitConfirm()" acl [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交修改</button> |       <button nz-button nzType="primary" *ngIf="this.PageStatus == '整车下一单'" (click)="submitConfirm('assign')" acl | ||||||
|     <button nz-button nzType="primary" *ngIf="this.PageStatus == '整车下一单'" (click)="submitConfirm('assign')" acl |         [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleDesignate']">指派熟车</button> | ||||||
|       [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleDesignate']">指派熟车</button> |       <button *ngIf="this.PageStatus == '整车下一单'" nz-button nzType="primary" style="margin-left: 24px" | ||||||
|     <button *ngIf="this.PageStatus == '整车下一单'" nz-button nzType="primary" style="margin-left: 48px" |         (click)="submitConfirm('publish')" acl | ||||||
|       (click)="submitConfirm('publish')" acl |         [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleAnotherOrder']">司机抢单</button> | ||||||
|       [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleAnotherOrder']">司机抢单</button> |     </div> | ||||||
|   </div> |   </nz-card> | ||||||
| </nz-card> | </div> | ||||||
| @ -5,16 +5,16 @@ | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     nz-date-picker { |     nz-date-picker { | ||||||
|       width: 94.3%; |       width: 100%; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     .sf3 { |     .sf3 { | ||||||
|       .goods_Tips_item { |       .goods_Tips_item { | ||||||
|         .goods_tips { |         .goods_tips { | ||||||
|           width: calc(50% - 45px); |           width: calc(50% - 57px); | ||||||
|  |  | ||||||
|           .ant-alert { |           .ant-alert { | ||||||
|             padding: 0 0 0 2px; |             margin-bottom: 5px; | ||||||
|           } |           } | ||||||
|  |  | ||||||
|         } |         } | ||||||
| @ -84,3 +84,99 @@ input[type='number']::-webkit-outer-spin-button { | |||||||
|   margin-left: 10px; |   margin-left: 10px; | ||||||
|   color: aqua; |   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 = { |     this.ui1 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 115, |         spanLabelFixed: 115, | ||||||
|         grid: { span: 12 } |         grid: { span: 8 } | ||||||
|       }, |       }, | ||||||
|       $enterpriseInfoName: { |       $enterpriseInfoName: { | ||||||
|         grid: { span: 12 } |         grid: { span: 8 } | ||||||
|       }, |  | ||||||
|       $shipperAppUserId: { |  | ||||||
|         grid: { span: 12 } |  | ||||||
|       }, |  | ||||||
|       $enterpriseProjectId: { |  | ||||||
|         grid: { span: 12 } |  | ||||||
|       } |       } | ||||||
|     }; |     }; | ||||||
|   } |   } | ||||||
| @ -345,9 +339,12 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | |||||||
|     }; |     }; | ||||||
|     this.ui3 = { |     this.ui3 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 90, |         spanLabelFixed: 115, | ||||||
|         grid: { span: 12 } |         grid: { span: 12 } | ||||||
|       }, |       }, | ||||||
|  |       $goodsNameId: { | ||||||
|  |         spanLabelFixed: 10 | ||||||
|  |       }, | ||||||
|       $goodsTips: { |       $goodsTips: { | ||||||
|         grid: { span: 24 } |         grid: { span: 24 } | ||||||
|       } |       } | ||||||
| @ -416,14 +413,14 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | |||||||
|             } |             } | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         hidenField: { |         // hidenField: { | ||||||
|           type: 'string', |         //   type: 'string', | ||||||
|           title: '', |         //   title: '', | ||||||
|           default: ' ', |         //   default: ' ', | ||||||
|           ui: { |         //   ui: { | ||||||
|             widget: 'text' |         //     widget: 'text' | ||||||
|           } |         //   } | ||||||
|         }, |         // }, | ||||||
|         insurancePackagedGoods: { |         insurancePackagedGoods: { | ||||||
|           type: 'string', |           type: 'string', | ||||||
|           title: '货物包装', |           title: '货物包装', | ||||||
| @ -460,7 +457,25 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | |||||||
|     this.ui4 = { |     this.ui4 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 115, |         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 = { |     this.ui5 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 115, |         spanLabelFixed: 115, | ||||||
|         grid: { span: 12 } |         grid: { span: 8 } | ||||||
|       }, |       }, | ||||||
|       $type1: { |       $type1: { | ||||||
|         grid: { span: 24 } |         grid: { span: 8 } | ||||||
|       }, |       }, | ||||||
|       $type2: { |       $type2: { | ||||||
|         grid: { span: 24 } |         grid: { span: 8 } | ||||||
|       }, |       }, | ||||||
|       $freeInsurance1: { |       $freeInsurance1: { | ||||||
|         grid: { span: 24 } |         grid: { span: 24} | ||||||
|       }, |       }, | ||||||
|       $freeInsurance2: { |       $freeInsurance2: { | ||||||
|         grid: { span: 24 } |         grid: { span: 24 } | ||||||
| @ -656,7 +671,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'textarea', |             widget: 'textarea', | ||||||
|             placeholder: '请输入', |             placeholder: '请输入', | ||||||
|             autosize: { minRows: 3, maxRows: 3 } |             autosize: { minRows: 1, maxRows: 1 } | ||||||
|           } as SFTextareaWidgetSchema |           } as SFTextareaWidgetSchema | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
| @ -664,7 +679,10 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | |||||||
|     }; |     }; | ||||||
|     this.ui6 = { |     this.ui6 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 90, |         spanLabelFixed: 125, | ||||||
|  |         grid: { span: 8 } | ||||||
|  |       }, | ||||||
|  |       $remarks: { | ||||||
|         grid: { span: 24 } |         grid: { span: 24 } | ||||||
|       } |       } | ||||||
|     }; |     }; | ||||||
| @ -705,6 +723,9 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | |||||||
|     this.ui7 = { |     this.ui7 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 115, |         spanLabelFixed: 115, | ||||||
|  |         grid: { span: 8 } | ||||||
|  |       }, | ||||||
|  |       $paymentDays: { | ||||||
|         grid: { span: 24 } |         grid: { span: 24 } | ||||||
|       } |       } | ||||||
|     }; |     }; | ||||||
|  | |||||||
| @ -5,261 +5,265 @@ | |||||||
|     </button> |     </button> | ||||||
|   </ng-template> |   </ng-template> | ||||||
| </page-header-wrapper> | </page-header-wrapper> | ||||||
| <nz-card> | <div class="custom-style"> | ||||||
|   <div class="card-title">货源单设置</div> |   <nz-card> | ||||||
|   <sf #sf1 [schema]="schema1" [button]="'none'" [ui]="ui1" [formData]="sf1data"> |     <div class="card-title">货源单设置</div> | ||||||
|     <ng-template sf-template="enterpriseInfoName" let-i let-ui="ui"> {{ i.value }} </ng-template> |     <sf #sf1 [schema]="schema1" [button]="'none'" [ui]="ui1" [formData]="sf1data"> | ||||||
|   </sf> |       <ng-template sf-template="enterpriseInfoName" let-i let-ui="ui"> {{ i.value }} </ng-template> | ||||||
| </nz-card> |     </sf> | ||||||
|  |   </nz-card> | ||||||
|  |  | ||||||
| <nz-card> |   <nz-card> | ||||||
|   <div class="card-title">装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div> |     <div class="card-title">装卸货信息<span class="tip-font">预计公里数:<em>{{ totalDistance }}km</em>,预计行程耗时:<em>{{ totalTime | ||||||
|  |           }}小时</em></span> | ||||||
|  |     </div> | ||||||
|  |  | ||||||
|   <form nz-form [formGroup]="validateForm1" role="form"> |     <form nz-form [formGroup]="validateForm1" role="form"> | ||||||
|     <div nz-row [nzGutter]="24"> |       <div nz-row [nzGutter]="24"> | ||||||
|       <div nz-col [nzSpan]="10"> |         <div nz-col [nzSpan]="10"> | ||||||
|         <div *ngFor="let data1 of startInfo; let idx = index"> |           <div *ngFor="let data1 of startInfo; let idx = index"> | ||||||
|           <nz-form-item> |             <nz-form-item> | ||||||
|             <nz-form-label nzRequired>装货地</nz-form-label> |               <nz-form-label [nzSpan]="4" nzRequired>装货地</nz-form-label> | ||||||
|             <nz-form-control [nzErrorTip]="'请输入装货地'"> |               <nz-form-control [nzErrorTip]="'请输入装货地'"> | ||||||
|               <div class="align-center"> |                 <div class="align-center"> | ||||||
|                 <nz-input-group [nzSuffix]="endInconTemp1"> |                   <nz-input-group [nzSuffix]="endInconTemp1"> | ||||||
|                   <input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)" |                     <input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)" | ||||||
|                     formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" /> |                       formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" /> | ||||||
|                 </nz-input-group> |                   </nz-input-group> | ||||||
|                 <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline" |                   <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle-o" nzTheme="outline" | ||||||
|                     style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> |                       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" |                   <!-- <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> |                       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> |               </div> | ||||||
|             </nz-form-control> |             </nz-form-item> | ||||||
|           </nz-form-item> |           </div> | ||||||
|           <nz-form-item> |           <div nz-row> | ||||||
|             <nz-form-label nzRequired>联系人</nz-form-label> |             <div nz-col [nzSpan]="4"></div> | ||||||
|             <div style="display: flex; width: 80.7%"> |             <button nz-button (click)="addStartInfo()" nzDanger> | ||||||
|               <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> |               <i nz-icon nzType="plus"></i> | ||||||
|               添加装货地 |               添加装货地 | ||||||
|             </button> |             </button> | ||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|       </div> |         <div nz-col [nzSpan]="4"> | ||||||
|       <div nz-col [nzSpan]="4"> |           <div class="icon-wrap"> | ||||||
|         <div style="display: flex; justify-content: center"> |             <span class="swap-icon" (click)="swapAddress()"></span> | ||||||
|           <span class="swap-icon" (click)="swapAddress()"><i nz-icon nzType="swap" nzTheme="outline"></i></span> |           </div> | ||||||
|         </div> |         </div> | ||||||
|       </div> |         <div nz-col [nzSpan]="10"> | ||||||
|       <div nz-col [nzSpan]="10"> |           <div *ngFor="let data2 of endInfo; let idx = index"> | ||||||
|         <div *ngFor="let data2 of endInfo; let idx = index"> |             <nz-form-item> | ||||||
|           <nz-form-item> |               <nz-form-label [nzSpan]="4" nzRequired>卸货地</nz-form-label> | ||||||
|             <nz-form-label nzRequired>卸货地</nz-form-label> |               <nz-form-control [nzErrorTip]="'请输入卸货地'"> | ||||||
|             <nz-form-control [nzErrorTip]="'请输入卸货地'"> |                 <div class="align-center"> | ||||||
|               <div class="align-center"> |                   <nz-input-group [nzSuffix]="endInconTemp1"> | ||||||
|                 <nz-input-group [nzSuffix]="endInconTemp1"> |                     <input nz-input [(ngModel)]="data2.detailedAddress" (click)="openMap('end', idx)" | ||||||
|                   <input nz-input [(ngModel)]="data2.detailedAddress" (click)="openMap('end', idx)" |                       formControlName="unloadAddress{{ idx }}" placeholder="请输入卸货地" name="unloadAddress{{ idx }}" | ||||||
|                     formControlName="unloadAddress{{ idx }}" placeholder="请输入卸货地" name="unloadAddress{{ idx }}" |                       readonly="true" /> | ||||||
|                     readonly="true" /> |                   </nz-input-group> | ||||||
|                 </nz-input-group> |                   <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline" | ||||||
|                 <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> | ||||||
|                     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" | ||||||
|                 <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> --> | ||||||
|                     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> |               </div> | ||||||
|             </nz-form-control> |             </nz-form-item> | ||||||
|           </nz-form-item> |           </div> | ||||||
|           <nz-form-item> |           <div nz-row> | ||||||
|             <nz-form-label nzRequired>联系人</nz-form-label> |             <div nz-col [nzSpan]="4"></div> | ||||||
|             <div style="display: flex; width: 80.7%"> |             <button nz-button (click)="addEndInfo()" nzDanger> | ||||||
|               <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> |               <i nz-icon nzType="plus"></i> | ||||||
|               添加卸货地 |               添加卸货地 | ||||||
|             </button> |             </button> | ||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|       </div> |       </div> | ||||||
|     </div> |       <div nz-row [nzGutter]="24" style="margin-top: 24px"> | ||||||
|     <div nz-row [nzGutter]="24" style="margin-top: 24px"> |         <div nz-col [nzSpan]="10"> | ||||||
|       <div nz-col [nzSpan]="10"> |           <nz-form-item> | ||||||
|         <nz-form-item> |             <nz-form-label nzRequired [nzSpan]="4">装货时间</nz-form-label> | ||||||
|           <nz-form-label nzRequired>装货时间</nz-form-label> |             <nz-form-control [nzErrorTip]="'请输入装货时间'"> | ||||||
|           <nz-form-control [nzErrorTip]="'请输入装货时间'"> |               <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" | ||||||
|             <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" formControlName="loadingTime" |                 formControlName="loadingTime" [nzDisabledDate]="disabledDateStart"></nz-date-picker> | ||||||
|               [nzDisabledDate]="disabledDateStart"></nz-date-picker> |             </nz-form-control> | ||||||
|           </nz-form-control> |           </nz-form-item> | ||||||
|         </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> | ||||||
|       <div nz-col [nzSpan]="4"></div> |       <ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template> | ||||||
|       <div nz-col [nzSpan]="10"> |     </form> | ||||||
|         <nz-form-item> |   </nz-card> | ||||||
|           <nz-form-label nzRequired>卸货时间</nz-form-label> |  | ||||||
|           <nz-form-control [nzErrorTip]="'请输入卸货时间'"> |   <nz-card> | ||||||
|             <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" |     <div class="card-title">货物信息</div> | ||||||
|               formControlName="unloadingTime"></nz-date-picker> |     <div nz-row> | ||||||
|           </nz-form-control> |       <div nz-col nzSpan="24"> | ||||||
|         </nz-form-item> |         <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> | ||||||
|     </div> |     </div> | ||||||
|     <ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template> |     <sf #sf4 [schema]="schema4" [button]="'none'" [ui]="ui4" [formData]="sf4data"> | ||||||
|   </form> |       <ng-template sf-template="weight" let-i let-ui="ui"> | ||||||
| </nz-card> |         <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> |   <nz-card> | ||||||
|   <div class="card-title">货物信息</div> |     <div class="card-title">服务信息</div> | ||||||
|   <div nz-row> |     <div nz-row> | ||||||
|     <div nz-col nzSpan="16"> |       <div nz-col nzSpan="24"> | ||||||
|       <sf #sf3 class="sf3" [schema]="schema3" [button]="'none'" [ui]="ui3" [formData]="sf3data"> |         <sf #sf5 [schema]="schema5" [button]="'none'" [ui]="ui5" [formData]="sf5data"> | ||||||
|         <ng-template class="1" sf-template="goodsTips" let-i let-ui="ui"> |           <ng-template sf-template="type1" let-i let-ui="ui"> | ||||||
|           <nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert> |             <label nz-checkbox [ngModel]="true" nzDisabled></label>  货源曝光率 <span class="fc">+10</span>   | ||||||
|         </ng-template> |             <label nz-checkbox [ngModel]="true" nzDisabled></label> 车源匹配率 <span class="fc">+10</span> | ||||||
|         <ng-template #tpl> |           </ng-template> | ||||||
|           <span style="font-size: 12px;"> 国家法规及行政命令禁限运货物不能托运 |           <ng-template sf-template="type2" let-i let-ui="ui"> | ||||||
|             <a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a> |             <label nz-checkbox [ngModel]="true" nzDisabled></label>  货源曝光率 <span class="fc">+20</span>   | ||||||
|           </span> |             <label nz-checkbox [ngModel]="true" nzDisabled></label> 车源匹配率 <span class="fc">+20</span> | ||||||
|         </ng-template> |           </ng-template> | ||||||
|       </sf> |           <ng-template sf-template="freeInsurance1" let-i let-ui="ui"> | ||||||
|     </div> |             <nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert> | ||||||
|   </div> |           </ng-template> | ||||||
|   <sf #sf4 [schema]="schema4" [button]="'none'" [ui]="ui4" [formData]="sf4data"> |           <ng-template sf-template="freeInsurance2" let-i let-ui="ui"> | ||||||
|     <ng-template sf-template="weight" let-i let-ui="ui"> |             <nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert> | ||||||
|       <nz-input-group [nzAddOnAfter]="'吨'"> |           </ng-template> | ||||||
|         <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="总重量,必填" type="number" [ngModel]="i.value" |           <ng-template #template1>①香港、澳门、台湾、西藏、新疆不予承保,②单次运输保额仅限200万元以内,③保险详细内容及注意事项请见<a target="_blank" | ||||||
|           (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> |               [queryParams]="{ type: 10 }" [routerLink]="['/agreement']">《保险告知函》</a></ng-template> | ||||||
|       </nz-input-group> |         </sf> | ||||||
|     </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> |  | ||||||
|       </div> |       </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> | ||||||
|   </div> |   </nz-card> | ||||||
| </nz-card> |   <nz-card> | ||||||
| <nz-card> |     <div class="card-title">补充信息</div> | ||||||
|   <div class="card-title">补充信息</div> |     <div nz-row> | ||||||
|   <div nz-row> |       <div nz-col nzSpan="24"> | ||||||
|     <div nz-col nzSpan="12"> |         <sf #sf6 [schema]="schema6" [button]="'none'" [ui]="ui6" [formData]="sf6data"> | ||||||
|       <sf #sf6 [schema]="schema6" [button]="'none'" [ui]="ui6" [formData]="sf6data"> |         </sf> | ||||||
|       </sf> |       </div> | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </nz-card> | ||||||
| </nz-card> |  | ||||||
|  |  | ||||||
| <nz-card> |   <nz-card> | ||||||
|   <div class="card-title">运费信息</div> |     <div class="card-title">运费信息</div> | ||||||
|   <div nz-row> |     <div nz-row> | ||||||
|     <div nz-col nzSpan="8"> |       <div nz-col nzSpan="24"> | ||||||
|       <sf #sf7 [schema]="schema7" [button]="'none'" [ui]="ui7" [formData]="sf7data"> |         <sf #sf7 [schema]="schema7" [button]="'none'" [ui]="ui7" [formData]="sf7data"> | ||||||
|         <ng-template sf-template="prePay" let-i let-ui="ui"> |           <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" |             <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" | ||||||
|             nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" |               nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" | ||||||
|             [nzParser]="parserRmb"> |               [nzParser]="parserRmb"> | ||||||
|           </nz-input-number> |             </nz-input-number> | ||||||
|         </ng-template> |           </ng-template> | ||||||
|         <ng-template sf-template="toPay" let-i let-ui="ui"> |           <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" |             <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" | ||||||
|             nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" |               nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" | ||||||
|             [nzParser]="parserRmb"> |               [nzParser]="parserRmb"> | ||||||
|           </nz-input-number> |             </nz-input-number> | ||||||
|         </ng-template> |           </ng-template> | ||||||
|         <ng-template sf-template="receiptPay" let-i let-ui="ui"> |           <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" |             <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" | ||||||
|             nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" |               nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" | ||||||
|             [nzParser]="parserRmb"> |               [nzParser]="parserRmb"> | ||||||
|           </nz-input-number> |             </nz-input-number> | ||||||
|         </ng-template> |           </ng-template> | ||||||
|         <ng-template sf-template="subtotal" let-i let-ui="ui">{{ i.value | currency }}</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: |           <ng-template sf-template="appendFee" let-i let-ui="ui">{{ i.value | currency }}(费率:{{ currentRate | number: | ||||||
|           '0.2-4' }}%)</ng-template> |             '0.2-4' }}%)</ng-template> | ||||||
|         <ng-template sf-template="total" let-i let-ui="ui">{{ i.value | currency }}</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"> |           <ng-template sf-template="paymentDays" let-i let-ui="ui"> | ||||||
|           <div nz-row class="align-center"> |             <div nz-row class="align-center"> | ||||||
|             <div nz-col nzSpan="16"> |               <div nz-col nzSpan="6"> | ||||||
|               <nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1" |                 <nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1" | ||||||
|                 (ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30" [nzPrecision]="0" |                   (ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30" [nzPrecision]="0" | ||||||
|                 [nzPrecisionMode]="'cut'"></nz-input-number> |                   [nzPrecisionMode]="'cut'"></nz-input-number> | ||||||
|  |               </div> | ||||||
|  |               <div nz-col nzSpan="18"> | ||||||
|  |                 <span> 天内支付运费</span> | ||||||
|  |               </div> | ||||||
|             </div> |             </div> | ||||||
|             <div nz-col nzSpan="8"> |           </ng-template> | ||||||
|               <span> 天内支付运费</span> |         </sf> | ||||||
|             </div> |       </div> | ||||||
|           </div> |  | ||||||
|         </ng-template> |  | ||||||
|       </sf> |  | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </nz-card> | ||||||
| </nz-card> |   <nz-card class="btn-wrap"> | ||||||
| <nz-card> |     <div class="align-center"> | ||||||
|   <div class="align-center"> |       <button nz-button nzType="primary" (click)="submitConfirm('assign')" acl | ||||||
|     <button nz-button nzType="primary" (click)="submitConfirm('assign')" acl |         [acl-ability]="['SUPPLY-VEHICLE-RELEASE-bulkDesignate']">指派熟车</button> | ||||||
|       [acl-ability]="['SUPPLY-VEHICLE-RELEASE-bulkDesignate']">指派熟车</button> |       <button nz-button nzType="primary" style="margin-left: 24px" (click)="submitConfirm('publish')" | ||||||
|     <button nz-button nzType="primary" style="margin-left: 48px" (click)="submitConfirm('publish')" |         *ngIf="type === 'add'" acl [acl-ability]="['SUPPLY-VEHICLE-RELEASE-bulkDriverOrder']">司机抢单</button> | ||||||
|       *ngIf="type === 'add'" acl [acl-ability]="['SUPPLY-VEHICLE-RELEASE-bulkDriverOrder']">司机抢单</button> |     </div> | ||||||
|   </div> |   </nz-card> | ||||||
| </nz-card> | </div> | ||||||
| @ -5,16 +5,16 @@ | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     nz-date-picker { |     nz-date-picker { | ||||||
|       width: 94.3%; |       width: 100%; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     .sf3 { |     .sf3 { | ||||||
|       .goods_Tips_item { |       .goods_Tips_item { | ||||||
|         .goods_tips { |         .goods_tips { | ||||||
|           width: calc(50% - 45px); |           width: calc(50% - 57px); | ||||||
|  |  | ||||||
|           .ant-alert { |           .ant-alert { | ||||||
|             padding: 0 0 0 2px; |             margin-bottom: 5px; | ||||||
|           } |           } | ||||||
|  |  | ||||||
|         } |         } | ||||||
| @ -78,3 +78,100 @@ input[type='number']::-webkit-outer-spin-button { | |||||||
|   margin: 0; |   margin: 0; | ||||||
|   -webkit-appearance: none; |   -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 = { |     this.ui1 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 115, |         spanLabelFixed: 115, | ||||||
|         grid: { span: 12 } |         grid: { span: 8 } | ||||||
|       }, |       }, | ||||||
|       $enterpriseInfoName: { |       $enterpriseInfoName: { | ||||||
|         grid: { span: 12 } |         grid: { span: 8 } | ||||||
|       }, |       }, | ||||||
|       $shipperAppUserId: { |       $shipperAppUserId: { | ||||||
|         grid: { span: 12 } |         grid: { span: 8 } | ||||||
|       }, |       }, | ||||||
|       $enterpriseProjectId: { |       $enterpriseProjectId: { | ||||||
|         grid: { span: 12 } |         grid: { span: 8 } | ||||||
|       }, |       }, | ||||||
|       $dispatchId: { |       $dispatchId: { | ||||||
|         grid: { span: 12 } |         grid: { span: 8 } | ||||||
|       } |       } | ||||||
|     }; |     }; | ||||||
|   } |   } | ||||||
| @ -332,6 +332,9 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | |||||||
|         spanLabelFixed: 115, |         spanLabelFixed: 115, | ||||||
|         grid: { span: 12 } |         grid: { span: 12 } | ||||||
|       }, |       }, | ||||||
|  |       $goodsNameId: { | ||||||
|  |         spanLabelFixed: 10 | ||||||
|  |       }, | ||||||
|       $goodsTips: { |       $goodsTips: { | ||||||
|         grid: { span: 24 } |         grid: { span: 24 } | ||||||
|       } |       } | ||||||
| @ -400,14 +403,14 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | |||||||
|             } |             } | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         hidenField: { |         // hidenField: { | ||||||
|           type: 'string', |         //   type: 'string', | ||||||
|           title: '', |         //   title: '', | ||||||
|           default: ' ', |         //   default: ' ', | ||||||
|           ui: { |         //   ui: { | ||||||
|             widget: 'text' |         //     widget: 'text' | ||||||
|           } |         //   } | ||||||
|         }, |         // }, | ||||||
|         insurancePackagedGoods: { |         insurancePackagedGoods: { | ||||||
|           type: 'string', |           type: 'string', | ||||||
|           title: '货物包装', |           title: '货物包装', | ||||||
| @ -444,7 +447,25 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | |||||||
|     this.ui4 = { |     this.ui4 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 115, |         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 = { |     this.ui5 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 115, |         spanLabelFixed: 115, | ||||||
|         grid: { span: 12 } |         grid: { span: 8 } | ||||||
|       }, |       }, | ||||||
|       $type1: { |       $type1: { | ||||||
|         grid: { span: 24 } |         grid: { span: 8 } | ||||||
|       }, |       }, | ||||||
|       $type2: { |       $type2: { | ||||||
|         grid: { span: 24 } |         grid: { span: 8 } | ||||||
|       }, |       }, | ||||||
|       $freeInsurance1: { |       $freeInsurance1: { | ||||||
|         grid: { span: 24 } |         grid: { span: 24} | ||||||
|       }, |       }, | ||||||
|       $freeInsurance2: { |       $freeInsurance2: { | ||||||
|         grid: { span: 24 } |         grid: { span: 24 } | ||||||
| @ -626,7 +647,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'textarea', |             widget: 'textarea', | ||||||
|             placeholder: '请输入', |             placeholder: '请输入', | ||||||
|             autosize: { minRows: 3, maxRows: 3 } |             autosize: { minRows: 1, maxRows: 1 } | ||||||
|           } as SFTextareaWidgetSchema |           } as SFTextareaWidgetSchema | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
| @ -634,7 +655,10 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | |||||||
|     }; |     }; | ||||||
|     this.ui6 = { |     this.ui6 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 90, |         spanLabelFixed: 125, | ||||||
|  |         grid: { span: 8 } | ||||||
|  |       }, | ||||||
|  |       $remarks: { | ||||||
|         grid: { span: 24 } |         grid: { span: 24 } | ||||||
|       } |       } | ||||||
|     }; |     }; | ||||||
| @ -675,6 +699,9 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | |||||||
|     this.ui7 = { |     this.ui7 = { | ||||||
|       '*': { |       '*': { | ||||||
|         spanLabelFixed: 115, |         spanLabelFixed: 115, | ||||||
|  |         grid: { span: 8 } | ||||||
|  |       }, | ||||||
|  |       $paymentDays: { | ||||||
|         grid: { span: 24 } |         grid: { span: 24 } | ||||||
|       } |       } | ||||||
|     }; |     }; | ||||||
|  | |||||||
| @ -350,13 +350,11 @@ export class NetworkFreightNewComponent implements OnInit { | |||||||
|             } |             } | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         certificateType2: { |         industry: { | ||||||
|           type: 'string', |           type: 'string', | ||||||
|           title: '行业', |           title: '行业', | ||||||
|           enum: [ |           enum: [ | ||||||
|             { label: '大陆身份证', value: 0 }, |             { label: '道路运输业', value: 54}, | ||||||
|             { label: '港澳居民通行证', value: 1 }, |  | ||||||
|             { label: '香港居民通行证', value: 2 } |  | ||||||
|           ], |           ], | ||||||
|           default: 0, |           default: 0, | ||||||
|           ui: { |           ui: { | ||||||
| @ -668,6 +666,7 @@ export class NetworkFreightNewComponent implements OnInit { | |||||||
|         'unifiedSocialCreditCode', |         'unifiedSocialCreditCode', | ||||||
|         'enterpriseName', |         'enterpriseName', | ||||||
|         'enterpriseAddressCode', |         'enterpriseAddressCode', | ||||||
|  |         'industry', | ||||||
|         'enterpriseAddress', |         'enterpriseAddress', | ||||||
|         'registrationCapital', |         'registrationCapital', | ||||||
|         'enterpriseRegistrationTime', |         'enterpriseRegistrationTime', | ||||||
|  | |||||||
| @ -31,15 +31,7 @@ | |||||||
|         </div> |         </div> | ||||||
|     </div> |     </div> | ||||||
|     <st #st [data]="service.$api_invoicedBillInfo_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}" |     <st #st [data]="service.$api_invoicedBillInfo_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}" | ||||||
|         [loading]="false" [scroll]="{ x:'1200px',y:scrollY }"> |         [loading]="false" [scroll]="{ x:'1200px' }"> | ||||||
|         <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> |  | ||||||
|         <ng-template st-row="serviceType" let-item let-index="index"> |         <ng-template st-row="serviceType" let-item let-index="index"> | ||||||
|             <span>{{item.billTypeLabel + item.serviceTypeLabel}}</span> |             <span>{{item.billTypeLabel + item.serviceTypeLabel}}</span> | ||||||
|         </ng-template> |         </ng-template> | ||||||
|  | |||||||
| @ -246,7 +246,7 @@ export class BillingOrderComponent extends BasicTableComponent { | |||||||
|       { title: '卸货时间', index: 'unloadTime', type: 'date', width: '150px', className: 'text-center' }, |       { title: '卸货时间', index: 'unloadTime', type: 'date', width: '150px', className: 'text-center' }, | ||||||
|       { title: '订单完成时间', index: 'orderReceivingTime', type: 'date', width: 150, 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: '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: 'vatappdate', type: 'date', className: 'text-center', width: 180 }, | ||||||
|       { title: '申请开票编号', index: 'vatappcode', className: 'text-center', width: 190 }, |       { title: '申请开票编号', index: 'vatappcode', className: 'text-center', width: 190 }, | ||||||
|       { title: '分票编号', index: 'vatinvcode', width: '200px', className: 'text-center' }, |       { title: '分票编号', index: 'vatinvcode', width: '200px', className: 'text-center' }, | ||||||
|  | |||||||
| @ -46,12 +46,12 @@ | |||||||
|           <li nz-menu-item (click)="creat()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-save']"> |           <li nz-menu-item (click)="creat()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-save']"> | ||||||
|             新增企业 |             新增企业 | ||||||
|           </li> |           </li> | ||||||
|           <!-- <li nz-menu-item (click)="editPartner()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-partner']"> |           <li nz-menu-item (click)="editPartner()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-partner']"> | ||||||
|             修改合伙人 |             修改合伙人 | ||||||
|           </li> |           </li> | ||||||
|           <li nz-menu-item (click)="editSale()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-sale']"> |           <li nz-menu-item (click)="editSale()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-sale']"> | ||||||
|             修改渠道销售 |             修改渠道销售 | ||||||
|           </li> --> |           </li> | ||||||
|         </ul> |         </ul> | ||||||
|       </nz-dropdown-menu> |       </nz-dropdown-menu> | ||||||
|     </div> |     </div> | ||||||
|  | |||||||
| @ -446,8 +446,8 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen | |||||||
|       }, |       }, | ||||||
|       { |       { | ||||||
|         title: '操作', |         title: '操作', | ||||||
|         width: '180px', |         width: '220px', | ||||||
|         className: 'text-center ', |         className: 'text-left options', | ||||||
|         fixed: 'right', |         fixed: 'right', | ||||||
|         buttons: [ |         buttons: [ | ||||||
|           // { |           // { | ||||||
| @ -463,23 +463,24 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen | |||||||
|           //   text: '基础设置', |           //   text: '基础设置', | ||||||
|           //   click: item => this.settingAction(item) |           //   click: item => this.settingAction(item) | ||||||
|           // }, |           // }, | ||||||
|  |           { type: 'divider' }, | ||||||
|           { |           { | ||||||
|             acl: { ability: ['USERCENTER-FREIGHT-LIST-balance'] }, |             acl: { ability: ['USERCENTER-FREIGHT-LIST-balance'] }, | ||||||
|             text: '资金账户', |             text: '资金账户', | ||||||
|             click: item => this.showAccountDetail(item) |             click: item => this.showAccountDetail(item) | ||||||
|           }, |           }, | ||||||
|           { |           { | ||||||
|             text: '分配客服', |             text: '分配客服<br>', | ||||||
|             click: item => this.showService(item) |             click: item => this.showService(item) | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             text: '修改合伙人', | ||||||
|  |             click: item => this.editPartner(item) | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             text: '修改渠道销售', | ||||||
|  |             click: item => this.editSale(item) | ||||||
|           } |           } | ||||||
|           // { |  | ||||||
|           //   text: '修改合伙人', |  | ||||||
|           //   click: item => this.editPartner(item) |  | ||||||
|           // }, |  | ||||||
|           // { |  | ||||||
|           //   text: '修改渠道销售', |  | ||||||
|           //   click: item => this.editSale(item) |  | ||||||
|           // } |  | ||||||
|         ] |         ] | ||||||
|       } |       } | ||||||
|     ]; |     ]; | ||||||
|  | |||||||
| @ -70,7 +70,23 @@ | |||||||
|   <div class="mb-lg"> |   <div class="mb-lg"> | ||||||
|     <div class="font-weight-blod text-md detail-title"> |     <div class="font-weight-blod text-md detail-title"> | ||||||
|       <a class="sign"></a> |       <a class="sign"></a> | ||||||
|       <span>车辆基础信息</span> |       <p style="margin-bottom: 0"> | ||||||
|  |         车辆基础信息 | ||||||
|  |         <label *ngIf="detailData?.carInfoVerifyResult" style="color: #ff4d4f"><i nz-icon nzType="info-circle" | ||||||
|  |             nzTheme="fill" class="mr-xs"></i>验证不通过:<span nz-popover [nzPopoverTitle]="titleTemplate1" [nzPopoverContent]="contentTemplate1"> | ||||||
|  |               查看原因 | ||||||
|  |               <ng-template #titleTemplate1> | ||||||
|  |                 原因 | ||||||
|  |               </ng-template> | ||||||
|  |               <ng-template #contentTemplate1> | ||||||
|  |                 {{detailData?.carInfoVerifyResult}} | ||||||
|  |               </ng-template> | ||||||
|  |             </span> | ||||||
|  |         </label> | ||||||
|  |         <label *ngIf="!detailData?.carInfoVerifyResult" style="color: #52c41a"><i nz-icon nzType="check-circle" | ||||||
|  |           nzTheme="fill" class="mr-xs"></i>验证通过 | ||||||
|  |       </label> | ||||||
|  |       </p> | ||||||
|     </div> |     </div> | ||||||
|     <sv-container col="3" labelWidth="140"> |     <sv-container col="3" labelWidth="140"> | ||||||
|       <sv label="车牌颜色"> |       <sv label="车牌颜色"> | ||||||
| @ -147,7 +163,23 @@ | |||||||
|   <div class="mb-lg"> |   <div class="mb-lg"> | ||||||
|     <div class="font-weight-blod text-md detail-title"> |     <div class="font-weight-blod text-md detail-title"> | ||||||
|       <a class="sign"></a> |       <a class="sign"></a> | ||||||
|       <span>行驶证信息</span> |       <p style="margin-bottom: 0"> | ||||||
|  |         行驶证信息 | ||||||
|  |         <label *ngIf="detailData?.driverLicenseVerifyResult" style="color: #ff4d4f"><i nz-icon nzType="info-circle"  | ||||||
|  |             nzTheme="fill" class="mr-xs"></i>验证不通过:<span nz-popover [nzPopoverTitle]="titleTemplate2" [nzPopoverContent]="contentTemplate2"> | ||||||
|  |               查看原因 | ||||||
|  |               <ng-template #titleTemplate2> | ||||||
|  |                 原因 | ||||||
|  |               </ng-template> | ||||||
|  |               <ng-template #contentTemplate2> | ||||||
|  |                 {{detailData?.driverLicenseVerifyResult}} | ||||||
|  |               </ng-template> | ||||||
|  |             </span> | ||||||
|  |         </label> | ||||||
|  |         <label *ngIf="!detailData?.driverLicenseVerifyResult" style="color: #52c41a"><i nz-icon nzType="check-circle" | ||||||
|  |           nzTheme="fill" class="mr-xs"></i>验证通过 | ||||||
|  |       </label> | ||||||
|  |       </p> | ||||||
|     </div> |     </div> | ||||||
|     <sv-container col="3" class="new-sv-container" labelWidth="140"> |     <sv-container col="3" class="new-sv-container" labelWidth="140"> | ||||||
|       <sv label="发动机号码"> |       <sv label="发动机号码"> | ||||||
| @ -243,7 +275,15 @@ | |||||||
|       <p style="margin-bottom: 0"> |       <p style="margin-bottom: 0"> | ||||||
|         道路运输证信息 |         道路运输证信息 | ||||||
|         <label *ngIf="!detailData?.roadTransportVerificationStatus" style="color: #ff4d4f"><i nz-icon nzType="info-circle" |         <label *ngIf="!detailData?.roadTransportVerificationStatus" style="color: #ff4d4f"><i nz-icon nzType="info-circle" | ||||||
|             nzTheme="fill" class="mr-xs"></i>验证不通过 |             nzTheme="fill" class="mr-xs"></i>验证不通过:<span nz-popover [nzPopoverTitle]="titleTemplate3" [nzPopoverContent]="contentTemplate3"> | ||||||
|  |               查看原因 | ||||||
|  |               <ng-template #titleTemplate3> | ||||||
|  |                 原因 | ||||||
|  |               </ng-template> | ||||||
|  |               <ng-template #contentTemplate3> | ||||||
|  |                 {{detailData?.roadTransportVerifyResult}} | ||||||
|  |               </ng-template> | ||||||
|  |             </span> | ||||||
|         </label> |         </label> | ||||||
|         <label *ngIf="detailData?.roadTransportVerificationStatus" style="color: #52c41a"><i nz-icon nzType="check-circle" |         <label *ngIf="detailData?.roadTransportVerificationStatus" style="color: #52c41a"><i nz-icon nzType="check-circle" | ||||||
|             nzTheme="fill" class="mr-xs"></i>验证通过 |             nzTheme="fill" class="mr-xs"></i>验证通过 | ||||||
|  | |||||||
| @ -203,14 +203,18 @@ export class VehicleComponentsListDetailComponent implements OnInit { | |||||||
|    *查看评价 |    *查看评价 | ||||||
|    */ |    */ | ||||||
|   viewEvaluate(item: any) { |   viewEvaluate(item: any) { | ||||||
|     console.log(item); |     // console.log(item); | ||||||
|     this.st.reload(); |     // this.st.reload(); | ||||||
|     this.getDetailList(); |     // this.getDetailList(); | ||||||
|     const params = { |     // const params = { | ||||||
|       imgList: [item.carProtocal], |     //   imgList: [item.carProtocal], | ||||||
|       index: 0 |     //   index: 0 | ||||||
|     }; |     // }; | ||||||
|     this.nzImageService.preview([{ src: item.carProtocal}]); |     // this.nzImageService.preview([{ src: item.carProtocal}]); | ||||||
|  |     this.modal.createStatic(VehicleImgViewComponent, { i: item }).subscribe(() => { | ||||||
|  |       this.st.reload(); | ||||||
|  |       this.getDetailList(); | ||||||
|  |     }); | ||||||
|   } |   } | ||||||
|   /** |   /** | ||||||
|    *查看评价 |    *查看评价 | ||||||
|  | |||||||
| @ -383,8 +383,13 @@ export class ShipperBaseService extends BaseService { | |||||||
|    * 获取全部返佣配置 |    * 获取全部返佣配置 | ||||||
|    * @returns |    * @returns | ||||||
|    */ |    */ | ||||||
|   getRebateConfig() { |   getRebateConfig(value?: any) { | ||||||
|     const params = {}; |     const params:any = {}; | ||||||
|  |     if(value) { | ||||||
|  |       params.stateLocked = 1 | ||||||
|  |     } | ||||||
|  |     console.log(params); | ||||||
|  |      | ||||||
|     return this.request(this.$api_get_rebate_config, params, 'POST').pipe( |     return this.request(this.$api_get_rebate_config, params, 'POST').pipe( | ||||||
|       map(res => { |       map(res => { | ||||||
|         if (res) { |         if (res) { | ||||||
|  | |||||||
							
								
								
									
										
											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