Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
		| @ -12,6 +12,7 @@ import { environment } from '@env/environment'; | ||||
|  | ||||
| const alainConfig: AlainConfig = { | ||||
|   st: { | ||||
|     bordered: true, | ||||
|     req: { method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' } }, | ||||
|     res: { reName: { list: 'data.records', total: 'data.total' } }, | ||||
|     page: { show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000], toTop: false }, | ||||
|  | ||||
| @ -113,8 +113,12 @@ | ||||
|       line-height: 21px; | ||||
|     } | ||||
|  | ||||
|     .text-truncate { | ||||
|       white-space: normal; | ||||
|     // .text-truncate { | ||||
|     //   white-space: normal; | ||||
|     // } | ||||
|     // 强制头部居中 | ||||
|     .ant-table-container table>thead>tr>.options { | ||||
|       text-align: center !important; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @ -138,4 +142,4 @@ | ||||
|   } | ||||
| } | ||||
|  | ||||
| .height_box{} | ||||
| .height_box {} | ||||
| @ -1,5 +0,0 @@ | ||||
| :host { | ||||
|   .text-black { | ||||
|     color: #000; | ||||
|   } | ||||
| } | ||||
| @ -1,24 +0,0 @@ | ||||
| import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; | ||||
| import { DatatableFundReportingComponent } from './fund-reporting.component'; | ||||
|  | ||||
| describe('DatatableFundReportingComponent', () => { | ||||
|   let component: DatatableFundReportingComponent; | ||||
|   let fixture: ComponentFixture<DatatableFundReportingComponent>; | ||||
|  | ||||
|   beforeEach(waitForAsync(() => { | ||||
|     TestBed.configureTestingModule({ | ||||
|       declarations: [DatatableFundReportingComponent] | ||||
|     }) | ||||
|       .compileComponents(); | ||||
|   })); | ||||
|  | ||||
|   beforeEach(() => { | ||||
|     fixture = TestBed.createComponent(DatatableFundReportingComponent); | ||||
|     component = fixture.componentInstance; | ||||
|     fixture.detectChanges(); | ||||
|   }); | ||||
|  | ||||
|   it('should create', () => { | ||||
|     expect(component).toBeTruthy(); | ||||
|   }); | ||||
| }); | ||||
| @ -106,7 +106,7 @@ | ||||
|           <ng-template sf-template="freightPrice" let-i let-ui="ui"> | ||||
|             <nz-input-group [nzAddOnAfter]="addOnAfterTemplate"> | ||||
|               <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="请输入" type="number" [ngModel]="i.value" | ||||
|                 (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> | ||||
|                 (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)"> | ||||
| @ -135,19 +135,19 @@ | ||||
|           <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> | ||||
|                 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%"></nz-input-number> | ||||
|                 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%"></nz-input-number> | ||||
|                 style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number> | ||||
|             </nz-input-group> | ||||
|           </ng-template> | ||||
|         </sf> | ||||
|  | ||||
| @ -5,127 +5,93 @@ | ||||
|     </button> | ||||
|   </ng-template> | ||||
| </page-header-wrapper> | ||||
| <nz-card> | ||||
| <div class="custom-style"> | ||||
|   <nz-card> | ||||
|     <div class="card-title">货源单设置</div> | ||||
|     <sf #sf1 [schema]="schema1" [button]="'none'" [ui]="ui1" [formData]="sf1data"> | ||||
|       <ng-template sf-template="enterpriseInfoName" let-i let-ui="ui"> {{ i.value }} </ng-template> | ||||
|     </sf> | ||||
| </nz-card> | ||||
|   </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="card-title">装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div | ||||
|   > | ||||
|   <nz-card> | ||||
|     <div class="card-title">装卸货信息<span class="tip-font">预计公里数:<em>{{ totalDistance }}km</em>,预计行程耗时:<em>{{ totalTime }}小时</em></span> | ||||
|     </div> | ||||
|  | ||||
|     <form #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-label [nzSpan]="4" nzRequired>装货地</nz-form-label> | ||||
|               <nz-form-control [nzErrorTip]="'请输入装货地'"> | ||||
|                 <div class="align-center"> | ||||
|                   <nz-input-group [nzSuffix]="endInconTemp1"> | ||||
|                   <input | ||||
|                     nz-input | ||||
|                     [(ngModel)]="data1.detailedAddress" | ||||
|                     (click)="openMap('start', idx)" | ||||
|                     name="startDetailedAddress{{ idx }}" | ||||
|                     placeholder="请输入装货地" | ||||
|                     required | ||||
|                     readonly="true" | ||||
|                   /> | ||||
|                     <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-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 [nzErrorTip]="'请输入联系人电话'"> | ||||
|                 <input | ||||
|                   style="margin-left: 12px" | ||||
|                   nz-input | ||||
|                   [(ngModel)]="data1.contractTelephone" | ||||
|                   maxlength="11" | ||||
|                   name="startContractTelephone{{ idx }}" | ||||
|                   placeholder="请输入联系人电话" | ||||
|                   required | ||||
|                 /> | ||||
|                   <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'"> | ||||
|                     <input nz-input [(ngModel)]="data1.contractTelephone" maxlength="11" | ||||
|                       formControlName="loadPhone{{ idx }}" name="loadPhone{{ idx }}" placeholder="请输入联系人电话" /> | ||||
|                   </nz-form-control> | ||||
|                 </div> | ||||
|               </div> | ||||
|             </nz-form-item> | ||||
|              | ||||
|           </div> | ||||
|         </div> | ||||
|         <div nz-col [nzSpan]="4"> | ||||
|         <div style="display: flex; justify-content: center"> | ||||
|           <span class="swap-icon" (click)="swapAddress()"><i nz-icon nzType="swap" | ||||
|               nzTheme="outline"></i></span> | ||||
|           <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>卸货地</nz-form-label> | ||||
|               <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" | ||||
|                   /> | ||||
|                     <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-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 [nzErrorTip]="'请输入联系人电话'"> | ||||
|                 <input | ||||
|                   style="margin-left: 12px" | ||||
|                   nz-input | ||||
|                   [(ngModel)]="data2.contractTelephone" | ||||
|                   name="endUnloadPhone{{ idx }}" | ||||
|                   maxlength="11" | ||||
|                   placeholder="请输入联系人电话" | ||||
|                   required | ||||
|                 /> | ||||
|                   <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> | ||||
|  | ||||
| <nz-card> | ||||
|   <nz-card> | ||||
|     <div class="card-title">货物信息</div> | ||||
|     <div nz-row> | ||||
|       <div nz-col nzSpan="24"> | ||||
| @ -133,12 +99,13 @@ | ||||
|         <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%;"></nz-input-number> | ||||
|               <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-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of freightTypeOptions"> | ||||
|                 </nz-option> | ||||
|               </nz-select> | ||||
|             </ng-template> | ||||
|           </ng-template> | ||||
| @ -149,9 +116,8 @@ | ||||
|                 <nz-option nzLabel="抹除小数" nzValue="2"></nz-option> | ||||
|                 <nz-option nzLabel="抹除个数" nzValue="3"></nz-option> | ||||
|               </nz-select> | ||||
|             <span style="padding: 0 12px" nz-tooltip [nzTooltipTitle]="template2" nzTooltipPlacement="bottom" | ||||
|               ><i nz-icon nzType="exclamation-circle" nzTheme="outline" style="color: #1890ff"></i | ||||
|             ></span> | ||||
|               <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> | ||||
| @ -162,61 +128,40 @@ | ||||
|           </ng-template> | ||||
|           <ng-template sf-template="weight" let-i let-ui="ui"> | ||||
|             <nz-input-group [nzAddOnAfter]="'吨'"> | ||||
|             <nz-input-number | ||||
|               placeholder="总重量,必填" | ||||
|               [ngModel]="i.value" | ||||
|               (ngModelChange)="i.setValue($event)" | ||||
|               [nzMin]="1" | ||||
|               style="width: 100%" | ||||
|             ></nz-input-number> | ||||
|               <nz-input-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%" | ||||
|             ></nz-input-number> | ||||
|               <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%" | ||||
|             ></nz-input-number> | ||||
|               <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> | ||||
|  | ||||
| <nz-card> | ||||
|   <nz-card> | ||||
|     <div class="card-title">补充信息</div> | ||||
|     <div nz-row> | ||||
|     <div nz-col nzSpan="12"> | ||||
|       <div nz-col nzSpan="24"> | ||||
|         <sf #sf6 [schema]="schema6" [button]="'none'" [ui]="ui6" [formData]="sf6data"> | ||||
|           <ng-template sf-template="paymentDays" let-i let-ui="ui"> | ||||
|             <div nz-row> | ||||
|             <div class="align-center" > | ||||
|               <div nz-col nzSpan="12"> | ||||
|                 <nz-input-number | ||||
|                   [ngModel]="i.value" | ||||
|                   [nzMin]="1" | ||||
|                   [nzMax]="30" | ||||
|                   [nzStep]="1" | ||||
|                   (ngModelChange)="i.setValue($event)" | ||||
|                   nzPlaceHolder="请输入1-30" | ||||
|                 ></nz-input-number> | ||||
|               <div class="align-center"> | ||||
|                 <div nz-col nzSpan="14"> | ||||
|                   <nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1" | ||||
|                     (ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30"></nz-input-number> | ||||
|                 </div> | ||||
|               <div nz-col nzSpan="12"> | ||||
|                 <div nz-col nzSpan="10"> | ||||
|                   <span> 天内支付运费</span> | ||||
|                 </div> | ||||
|               </div> | ||||
| @ -225,13 +170,17 @@ | ||||
|         </sf> | ||||
|       </div> | ||||
|     </div> | ||||
| </nz-card> | ||||
|   </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <nz-card class="btn-wrap"> | ||||
|     <div class="align-center"> | ||||
|       <!-- <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"  style="margin-left: 48px" (click)="submitConfirm('assign')"  acl  [acl-ability]="['SUPPLY-BULK-RELEASE-consignBulkAssign']">指派熟车</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" (click)="submitConfirm('qrcode')" acl | ||||
|         [acl-ability]="['SUPPLY-BULK-RELEASE-QRCode ']">生成二维码</button> | ||||
|       <button nz-button nzType="primary" style="margin-left: 24px" (click)="submitConfirm('assign')" acl | ||||
|         [acl-ability]="['SUPPLY-BULK-RELEASE-consignBulkAssign']">指派熟车</button> | ||||
|       <button nz-button nzType="primary" style="margin-left: 24px" (click)="submitConfirm('publish')" acl | ||||
|         [acl-ability]="['SUPPLY-BULK-RELEASE-consignBulk']">司机抢单</button> | ||||
|     </div> | ||||
| </nz-card> | ||||
|   </nz-card> | ||||
| </div> | ||||
| @ -46,3 +46,100 @@ input[type='number']::-webkit-outer-spin-button { | ||||
|   margin: 0; | ||||
|   -webkit-appearance: none; | ||||
| } | ||||
|  | ||||
| .custom-style { | ||||
|   ::ng-deep { | ||||
|     .ant-card { | ||||
|       margin-bottom: 0; | ||||
|     } | ||||
|  | ||||
|     .ant-card-body { | ||||
|       padding-bottom: 0; | ||||
|     } | ||||
|  | ||||
|     .ant-card-bordered { | ||||
|       border: 0 none; | ||||
|     } | ||||
|  | ||||
|     .card-title { | ||||
|       display: flex; | ||||
|       align-items: center; | ||||
|  | ||||
|       >span { | ||||
|         margin-left: 8px; | ||||
|         font-size: 14px; | ||||
|  | ||||
|         em { | ||||
|           font-style: normal; | ||||
|           color: #E60012; | ||||
|         } | ||||
|       } | ||||
|  | ||||
|       &::before { | ||||
|         content: ''; | ||||
|         display: inline-block; | ||||
|         width: 2px; | ||||
|         height: 16px; | ||||
|         margin-right: 10px; | ||||
|         background: #E60012; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     .ant-btn-dangerous { | ||||
|       border-radius: 4px; | ||||
|       color: #CF3834; | ||||
|       border-color: rgba(207, 56, 52, 0.5); | ||||
|     } | ||||
|  | ||||
|     .icon-wrap { | ||||
|       display: flex; | ||||
|       justify-content: center; | ||||
|       height: 100%; | ||||
|     } | ||||
|  | ||||
|     .swap-icon { | ||||
|       background: url('/assets/images/frame.png') no-repeat 50% 50%; | ||||
|       cursor: pointer; | ||||
|     } | ||||
|  | ||||
|     .ant-input-affix-wrapper, | ||||
|     .ant-input, | ||||
|     .ant-picker, | ||||
|     .ant-select-selector, | ||||
|     .ant-input-number-input, | ||||
|     .ant-input-number { | ||||
|       border-radius: 4px ; | ||||
|     } | ||||
|     .ant-input-group-addon { | ||||
|       border-radius: 0 4px 4px 0; | ||||
|     } | ||||
|     .align-center { | ||||
|       .ant-btn { | ||||
|         height: 40px; | ||||
|         padding: 0 23px; | ||||
|         font-size: 16px; | ||||
|         border-radius: 3px; | ||||
|       } | ||||
|     } | ||||
|     .ant-select-arrow { | ||||
|       transform: scaleX(1.5) translateY(2px); | ||||
|       color: rgb(153,153,153); | ||||
|       font-size: 8px; | ||||
|     } | ||||
|     .ant-picker-suffix { | ||||
|       color: #333; | ||||
|     } | ||||
|     .btn-wrap { | ||||
|       margin-top: 20px; | ||||
|       padding-bottom: 20px; | ||||
|     } | ||||
|     .ant-alert { | ||||
|       padding: 6px 16px; | ||||
|       border-radius: 2px; | ||||
|       font-size: 14px; | ||||
|     } | ||||
|     .fc { | ||||
|       color: #f5222d; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -223,11 +223,8 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit { | ||||
|     }; | ||||
|     this.ui1 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 110, | ||||
|         grid: { span: 12 } | ||||
|       }, | ||||
|       $enterpriseInfoName: { | ||||
|         grid: { span: 24 } | ||||
|         spanLabelFixed: 115, | ||||
|         grid: { span: 8 } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
| @ -303,8 +300,14 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit { | ||||
|     }; | ||||
|     this.ui3 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 90, | ||||
|         spanLabelFixed: 115, | ||||
|         grid: { span: 12 } | ||||
|       }, | ||||
|       $goodsNameId: { | ||||
|         spanLabelFixed: 10 | ||||
|       }, | ||||
|       $goodsTips: { | ||||
|         grid: { span: 24 } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
| @ -411,33 +414,37 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit { | ||||
|     }; | ||||
|     this.ui4 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 90, | ||||
|         grid: { span: 24 } | ||||
|         spanLabelFixed: 115, | ||||
|         grid: { span: 12 } | ||||
|       }, | ||||
|       $freightPrice: { | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $rule: { | ||||
|         spanLabelFixed: 10, | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $settlementBasis: { | ||||
|         spanLabelFixed: 10, | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $weight: { | ||||
|         grid: { lg: 8, md: 12, sm: 12, xs: 24 } | ||||
|         grid: { span: 4 } | ||||
|       }, | ||||
|       $volume: { | ||||
|         grid: { lg: 8, md: 12, sm: 12, xs: 24 } | ||||
|         spanLabelFixed: 10, | ||||
|         grid: { span: 4 } | ||||
|       }, | ||||
|       $number: { | ||||
|         grid: { lg: 8, md: 12, sm: 12, xs: 24 } | ||||
|         spanLabelFixed: 10, | ||||
|         grid: { span: 4 } | ||||
|       }, | ||||
|       $carModel: { | ||||
|         spanLabelFixed: 120, | ||||
|         grid: { span: 8 } | ||||
|         grid: { span: 6 } | ||||
|       }, | ||||
|       $carLength: { | ||||
|         grid: { span: 8 } | ||||
|         spanLabelFixed: 10, | ||||
|         grid: { span: 6 } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
| @ -527,7 +534,7 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit { | ||||
|           ui: { | ||||
|             widget: 'textarea', | ||||
|             placeholder: '请输入', | ||||
|             autosize: { minRows: 3, maxRows: 3 } | ||||
|             autosize: { minRows: 1, maxRows: 1 } | ||||
|           } as SFTextareaWidgetSchema | ||||
|         } | ||||
|       }, | ||||
| @ -535,7 +542,10 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit { | ||||
|     }; | ||||
|     this.ui6 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 90, | ||||
|         spanLabelFixed: 115, | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $remarks: { | ||||
|         grid: { span: 24 } | ||||
|       } | ||||
|     }; | ||||
|  | ||||
| @ -26,15 +26,23 @@ | ||||
| <nz-card class="table-box"> | ||||
|   <div class="header_box"> | ||||
|     <label class="page_title"> <label class="driver">|</label> 企业列表</label> | ||||
|     <div class="mr-sm"> | ||||
|       <button nz-button nzDanger [nzLoading]="loadingList" (click)="openDrawer()" acl | ||||
|         [acl-ability]="['USERCENTER-FREIGHT-LIST-list']">筛选</button> | ||||
|     <div class="d-flex align-items-center mr-sm"> | ||||
|       <div class="mr-md d-flex align-items-center"> | ||||
|         <input nz-input placeholder="请输入企业名称" [(ngModel)]="sfValue.enterpriseName" class=" mr-sm" | ||||
|           style="width: 150px;height: 32PX;" /> | ||||
|         <input nz-input placeholder="请输入管理员" [(ngModel)]="sfValue.contactName" style="width: 150px;height: 32PX;" /> | ||||
|       </div> | ||||
|       <button nz-button nzDanger [nzLoading]="loadingList" (click)="search()" acl | ||||
|         [acl-ability]="['USERCENTER-FREIGHT-LIST-list']">查询</button> | ||||
|       <button nz-button nzDanger (click)="exportList()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-export']"> | ||||
|         导出</button> | ||||
|       <button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft"> | ||||
|         更多<i nz-icon nzType="down" nzTheme="outline"></i></button> | ||||
|       <nz-dropdown-menu #menu="nzDropdownMenu"> | ||||
|         <ul nz-menu> | ||||
|           <li nz-menu-item (click)="openDrawer()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-list']"> | ||||
|             高级筛选 | ||||
|           </li> | ||||
|           <li nz-menu-item (click)="creat()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-save']"> | ||||
|             新增企业 | ||||
|           </li> | ||||
| @ -52,8 +60,7 @@ | ||||
|  | ||||
|   <st #st [columns]="columns" [data]='service.$api_get_freight_list' [req]="{  process: beforeReq }" | ||||
|     [res]="{  process: dataProcess }" [scroll]="{ x: '1200px',y:scrollY }" [page]=" {}" [loading]="loadingList"> | ||||
|     <ng-template st-row="enterpriseName" let-item let-index="index"> | ||||
|       <label>{{ item.enterpriseName }}</label><br> | ||||
|     <ng-template st-row="score" let-item let-index="index"> | ||||
|       <ng-container *ngIf="item.score!==null; else billEvaluateelseTemplate"> | ||||
|         <nz-rate [ngModel]="item.score" nzDisabled></nz-rate> | ||||
|       </ng-container> | ||||
| @ -68,16 +75,35 @@ | ||||
|       </ng-container> | ||||
|     </ng-template> | ||||
|     <ng-template st-row="contacter" let-item let-index="index"> | ||||
|       {{ item.contacter }}<br>/{{item.mobile}} | ||||
|       <p nz-tooltip [nzTooltipTitle]="item.contacter+'/'+item.mobile" style="cursor: pointer;width: 120px;margin: 0;    white-space: nowrap; | ||||
|       text-overflow: ellipsis; | ||||
|       overflow: hidden;"> | ||||
|         {{ item.contacter }} | ||||
|       </p> | ||||
|     </ng-template> | ||||
|     <ng-template st-row="customerServiceIdLabel" let-item let-index="index"> | ||||
|       <p nz-tooltip [nzTooltipTitle]="item.customerServiceIdLabel" style="cursor: pointer;width: 120px;margin: 0;    white-space: nowrap; | ||||
|       text-overflow: ellipsis; | ||||
|       overflow: hidden;"> | ||||
|         {{ item.customerServiceIdLabel }} | ||||
|       </p> | ||||
|     </ng-template> | ||||
|     <ng-template st-row="partnerName" let-item let-index="index"> | ||||
|       {{ item.partnerName }}<br>/{{item.partnerMobile}} | ||||
|       <p nz-tooltip [nzTooltipTitle]="item.partnerName+'/'+item.partnerMobile" style="cursor: pointer;width: 120px;margin: 0;    white-space: nowrap; | ||||
|       text-overflow: ellipsis; | ||||
|       overflow: hidden;"> | ||||
|         {{ item.partnerName }} | ||||
|       </p> | ||||
|     </ng-template> | ||||
|     <ng-template st-row="promotersTelephone" let-item let-index="index"> | ||||
|       <!-- <a acl [acl-ability]="['USERCENTER-FREIGHT-LIST-salesman']" (click)="addPromoter(item)">{{ item.channelName | ||||
|         }}<br>{{ item.channelMobile | ||||
|         || '添加' }}</a> --> | ||||
|       {{ item.channelName }}<br>{{ item.channelMobile }} | ||||
|       <p nz-tooltip [nzTooltipTitle]="item.channelName+'/'+item.channelMobile" style="cursor: pointer;width: 120px;margin: 0;    white-space: nowrap; | ||||
|       text-overflow: ellipsis; | ||||
|       overflow: hidden;"> | ||||
|         {{ item.channelName }} | ||||
|       </p> | ||||
|     </ng-template> | ||||
|   </st> | ||||
| </nz-card> | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { ActivatedRoute, Router } from '@angular/router'; | ||||
| import { STChange, STColumn, STColumnBadge, STComponent, STData, STRequestOptions } from '@delon/abc/st'; | ||||
| import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form'; | ||||
| import { STColumn, STComponent, STData, STRequestOptions } from '@delon/abc/st'; | ||||
| import { SFDateWidgetSchema } from '@delon/form'; | ||||
| import { DynamicSettingModalComponent, SearchDrawerService, ShipperBaseService } from '@shared'; | ||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { BasicTableComponent } from 'src/app/routes/commom'; | ||||
| @ -24,6 +24,9 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen | ||||
|   promotersTelephone = ''; | ||||
|  | ||||
|   loadingList = true; | ||||
|  | ||||
|   sfValue = { enterpriseName: '', contactName: '' }; | ||||
|  | ||||
|   constructor( | ||||
|     public service: UsermanageService, | ||||
|     private modal: NzModalService, | ||||
| @ -195,12 +198,6 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen | ||||
|   initSF() { | ||||
|     this.schema = { | ||||
|       properties: { | ||||
|         expand: { | ||||
|           type: 'boolean', | ||||
|           ui: { | ||||
|             hidden: true | ||||
|           } | ||||
|         }, | ||||
|         enterpriseName: { | ||||
|           title: '企业名称', | ||||
|           type: 'string', | ||||
| @ -340,7 +337,7 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen | ||||
|             { label: '全部', value: '' }, | ||||
|             { label: '货主注册', value: 1 }, | ||||
|             { label: '平台添加', value: 2 }, | ||||
|             { label: '数据迁移', value: 4 }, | ||||
|             { label: '数据迁移', value: 4 } | ||||
|           ], | ||||
|           default: '', | ||||
|           ui: { | ||||
| @ -377,24 +374,31 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen | ||||
|   initST() { | ||||
|     this.columns = [ | ||||
|       { title: '', type: 'checkbox', className: 'text-center' }, | ||||
|       { title: '企业名称', render: 'enterpriseName', width: 350 }, | ||||
|       { title: '统一社会信用代码', className: 'text-center', render: 'unifiedSocialCreditCode', width: 200 }, | ||||
|       { | ||||
|         title: '企业名称', | ||||
|         index: 'enterpriseName', | ||||
|         width: 250, | ||||
|         type: 'link', | ||||
|         click: item => this.router.navigate(['./detail', item.id], { relativeTo: this.ar }) | ||||
|       }, | ||||
|       { title: '企业评分', className: 'text-center', render: 'score', width: 160 }, | ||||
|       { | ||||
|         title: '公司所在地', | ||||
|         className: 'text-center', | ||||
|         index: 'province', | ||||
|         width: 200, | ||||
|         format: item => `${item.provinceName}${item.cityName}${item.areaName}` | ||||
|       }, | ||||
|       { title: '管理员', render: 'contacter', width: 150 }, | ||||
|       { title: '统一社会信用代码', className: 'text-center', render: 'unifiedSocialCreditCode', width: 200 }, | ||||
|       { | ||||
|         title: '企业类型', | ||||
|         className: 'text-center', | ||||
|         index: 'enterpriseType', | ||||
|         width: 200, | ||||
|         width: 160, | ||||
|         type: 'enum', | ||||
|         enum: { 1: '物流企业', 2: '货运代理', 3: '生产型企业', 4: '贸易类企业', 5: '科技型企业', 6: '化学化工企业', 7: '其他' } | ||||
|       }, | ||||
|       { title: '管理员', className: 'text-center', render: 'contacter', width: 150 }, | ||||
|  | ||||
|       { | ||||
|         title: '常用服务', | ||||
|         className: 'text-center', | ||||
| @ -405,7 +409,7 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen | ||||
|       }, | ||||
|       { title: '渠道销售', className: 'text-center', render: 'promotersTelephone', width: 150 }, | ||||
|       { title: '合伙人', className: 'text-center', render: 'partnerName', width: 150 }, | ||||
|       { title: '客服人员', className: 'text-center', index: 'customerServiceIdLabel', width: 150 }, | ||||
|       { title: '客服人员', className: 'text-center', render: 'customerServiceIdLabel', width: 150 }, | ||||
|       { title: '网络货运人', className: 'text-center', index: 'netTranName', width: 180 }, | ||||
|       { | ||||
|         title: '注册渠道', | ||||
| @ -442,30 +446,31 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen | ||||
|       }, | ||||
|       { | ||||
|         title: '操作', | ||||
|         width: '200px', | ||||
|         className: 'text-center block-td', | ||||
|         width: '220px', | ||||
|         className: 'text-left options', | ||||
|         fixed: 'right', | ||||
|         buttons: [ | ||||
|           { | ||||
|             text: '查看', | ||||
|             acl: { ability: ['USERCENTER-FREIGHT-LIST-view'] }, | ||||
|             click: item => { | ||||
|               this.router.navigate(['./detail', item.id], { relativeTo: this.ar }); | ||||
|               // this.router.navigate(['./view', item.id], { relativeTo: this.ar, queryParams: { tenantId: item.tenantId } }); | ||||
|             } | ||||
|           }, | ||||
|           // { | ||||
|           //   text: '查看', | ||||
|           //   acl: { ability: ['USERCENTER-FREIGHT-LIST-view'] }, | ||||
|           //   click: item => { | ||||
|           //     this.router.navigate(['./detail', item.id], { relativeTo: this.ar }); | ||||
|           //     // this.router.navigate(['./view', item.id], { relativeTo: this.ar, queryParams: { tenantId: item.tenantId } }); | ||||
|           //   } | ||||
|           // }, | ||||
|           // { | ||||
|           //   acl: { ability: ['USERCENTER-FREIGHT-LIST-basicSetting'] }, | ||||
|           //   text: '基础设置', | ||||
|           //   click: item => this.settingAction(item) | ||||
|           // }, | ||||
|           { type: 'divider' }, | ||||
|           { | ||||
|             acl: { ability: ['USERCENTER-FREIGHT-LIST-balance'] }, | ||||
|             text: '资金账户', | ||||
|             click: item => this.showAccountDetail(item) | ||||
|           }, | ||||
|           { | ||||
|             text: '分配客服人员', | ||||
|             text: '分配客服<br>', | ||||
|             click: item => this.showService(item) | ||||
|           }, | ||||
|           { | ||||
|  | ||||
		Reference in New Issue
	
	Block a user