Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
		| @ -15,6 +15,8 @@ export class BasicTableComponent implements AfterViewInit, OnDestroy { | ||||
|   drawer: Subscription[] = []; | ||||
|   schema: SFSchema = {}; | ||||
|  | ||||
|   deviationHeight = 0; | ||||
|  | ||||
|   constructor(public searchDrawerService: SearchDrawerService) {} | ||||
|  | ||||
|   ngAfterViewInit(): void { | ||||
| @ -66,11 +68,12 @@ export class BasicTableComponent implements AfterViewInit, OnDestroy { | ||||
|         scrollY -= headerWrapper.clientHeight; | ||||
|       } | ||||
|       // 计算所有tabs高度 | ||||
|       const tabset = document.getElementsByTagName('nz-tabset'); | ||||
|       const tabset = document.getElementsByTagName('nz-tabs-nav'); | ||||
|       let tabsetHeight = 0; | ||||
|       for (let index = 0; index < tabset.length; index++) { | ||||
|         tabsetHeight += tabset[index].clientHeight; | ||||
|       } | ||||
|       console.log('tabsetHeight', tabsetHeight); | ||||
|       if (tabset) { | ||||
|         scrollY -= tabsetHeight; | ||||
|       } | ||||
| @ -81,9 +84,14 @@ export class BasicTableComponent implements AfterViewInit, OnDestroy { | ||||
|       for (let index = 0; index < headerBox.length; index++) { | ||||
|         headerBoxHeight += headerBox[index].clientHeight; | ||||
|       } | ||||
|       console.log('headerBoxHeight', headerBoxHeight); | ||||
|  | ||||
|       if (headerBox) { | ||||
|         scrollY -= headerBoxHeight; | ||||
|       } | ||||
|       if (typeof this.deviationHeight === 'number') { | ||||
|         scrollY -= this.deviationHeight; | ||||
|       } | ||||
|       this.scrollY = scrollY + 'px'; | ||||
|     } | ||||
|   } | ||||
|  | ||||
| @ -42,12 +42,13 @@ | ||||
|         } | ||||
|       } | ||||
|  | ||||
|       .header_box { | ||||
|         display        : flex; | ||||
|         align-items    : center; | ||||
|         justify-content: space-between; | ||||
|         min-height     : 47px; | ||||
|     } | ||||
|  | ||||
|     .double_tabset_box { | ||||
|       margin    : -24px -24px 0; | ||||
|       background: #ffffff; | ||||
|  | ||||
|       .tab_header { | ||||
|         .page_title { | ||||
|           font-weight: bold; | ||||
|           font-size  : 17px; | ||||
| @ -59,6 +60,13 @@ | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|  | ||||
|       .header_tab { | ||||
|  | ||||
|         nz-tabs-nav { | ||||
|           margin-bottom: 0; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     .ant-table-pagination.ant-pagination { | ||||
| @ -105,4 +113,23 @@ | ||||
|       line-height: 21px; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| .header_box { | ||||
|   display        : flex; | ||||
|   align-items    : center; | ||||
|   justify-content: space-between; | ||||
|   min-height     : 47px; | ||||
|  | ||||
|   .page_title { | ||||
|     font-weight: bold; | ||||
|     font-size  : 17px; | ||||
|  | ||||
|     .driver { | ||||
|       color       : #ff4d4f; | ||||
|       margin-left : 17px; | ||||
|       margin-right: 6px; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @ -37,7 +37,6 @@ export class OrderManagementRiskComponent extends BasicTableComponent implements | ||||
|   constructor( | ||||
|     public service: OrderManagementService, | ||||
|     public shipperservice: ShipperBaseService, | ||||
|     private modal: NzModalService, | ||||
|     public router: Router, | ||||
|     public searchDrawerService: SearchDrawerService | ||||
|   ) { | ||||
|  | ||||
| @ -8,30 +8,15 @@ | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\bulk\\bulk.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| <nz-card> | ||||
|   <!-- 搜索表单 --> | ||||
| <!-- <nz-card> | ||||
|   <div nz-row nzGutter="8"> | ||||
|     <!-- 查询字段小于或等于3个时,不显示伸缩按钮 --> | ||||
|     <div nz-col nzSpan="24" *ngIf="queryFieldCount <= 4"> | ||||
|       <sf | ||||
|         #sf | ||||
|         [schema]="schema" | ||||
|         [ui]="ui" | ||||
|         [mode]="'search'" | ||||
|         [disabled]="!sf?.valid" | ||||
|         [loading]="false" | ||||
|         (formSubmit)="st?.load(1)" | ||||
|         (formReset)="resetSF()" | ||||
|       ></sf> | ||||
|     </div> | ||||
|  | ||||
|     <!-- 查询字段大于3个时,根据展开状态调整布局 --> | ||||
|     <ng-container *ngIf="queryFieldCount > 4"> | ||||
|       <div nz-col [nzSpan]="_$expand ? 24 : 18"> | ||||
|         <sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf> | ||||
|       </div> | ||||
|       <div nz-col [nzSpan]="_$expand ? 24 : 6" class="text-right"> | ||||
|         <button nz-button nzType="primary" [nzLoading]="loading" (click)="search()"  acl  [acl-ability]="['SUPPLY-INDEX-bulkSearch']">查询</button> | ||||
|         <button nz-button nzType="primary" [nzLoading]="loading" (click)="search()" acl | ||||
|           [acl-ability]="['SUPPLY-INDEX-bulkSearch']">查询</button> | ||||
|         <button nz-button nzType="primary" [disabled]="loading" (click)="exportFire()">导出</button> | ||||
|         <button nz-button [disabled]="loading" (click)="resetSF()">重置</button> | ||||
|         <button nz-button nzType="link" (click)="expandToggle()"> | ||||
| @ -41,43 +26,49 @@ | ||||
|       </div> | ||||
|     </ng-container> | ||||
|   </div> | ||||
| </nz-card> | ||||
| </nz-card> --> | ||||
| <ng-template #extraTemplate> | ||||
|   <div> | ||||
|     <button (click)="audit('', 2)" nz-button nzType="primary"  acl  [acl-ability]="['SUPPLY-INDEX-bulkBatchAudit']">审核</button> | ||||
|     <button (click)="releaseGoods()" nz-button nzType="primary"  acl  [acl-ability]="['SUPPLY-INDEX-bulkUndertakesToSupply']">代发货源</button> | ||||
|     <button nz-button nzDanger (click)="openDrawer()" class="mr-sm" [nzLoading]="loading" acl | ||||
|       [acl-ability]="['SUPPLY-INDEX-bulkSearch']">筛选</button> | ||||
|     <button nz-button nzDanger [disabled]="loading" (click)="exportFire()">导出</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 acl [acl-ability]="['SUPPLY-INDEX-bulkBatchAudit']" (click)="audit('', 2)"> | ||||
|           审核 | ||||
|         </li> | ||||
|         <li nz-menu-item acl [acl-ability]="['SUPPLY-INDEX-bulkUndertakesToSupply']" (click)="releaseGoods()"> | ||||
|           代发货源 | ||||
|         </li> | ||||
|       </ul> | ||||
|     </nz-dropdown-menu> | ||||
|   </div> | ||||
| </ng-template> | ||||
| <nz-card> | ||||
|   <nz-tabset (nzSelectedIndexChange)="selectChange($event)" [nzTabBarExtraContent]="extraTemplate"> | ||||
|     <nz-tab [nzTitle]="'全部(' + tabs?.totalQuantity + ')'"></nz-tab> | ||||
|     <nz-tab [nzTitle]="'进行中(' + tabs?.stayQuantity + ')'"></nz-tab> | ||||
|     <nz-tab [nzTitle]="'已完结(' + tabs?.completedQuantity + ')'"></nz-tab> | ||||
|     <nz-tab [nzTitle]="'已取消(' + tabs?.cancelQuantity + ')'"></nz-tab> | ||||
|   </nz-tabset> | ||||
|   <div style="position: relative"> | ||||
|     <nz-alert | ||||
|       nzType="info" | ||||
|       [nzMessage]="'当前共' + st?.total + '行记录,已选择' + selectedRows.length + '项'" | ||||
|       nzShowIcon | ||||
|       [ngStyle]="{ margin: '0 0 1rem 0' }" | ||||
|     > | ||||
|     </nz-alert> | ||||
| <nz-card class="table-box" style="margin: 0;"> | ||||
|   <div class="tab_header"> | ||||
|     <nz-tabset (nzSelectedIndexChange)="selectChange($event)" [nzTabBarExtraContent]="extraTemplate"> | ||||
|       <nz-tab [nzTitle]="'全部(' + tabs?.totalQuantity + ')'"></nz-tab> | ||||
|       <nz-tab [nzTitle]="'进行中(' + tabs?.stayQuantity + ')'"></nz-tab> | ||||
|       <nz-tab [nzTitle]="'已完结(' + tabs?.completedQuantity + ')'"></nz-tab> | ||||
|       <nz-tab [nzTitle]="'已取消(' + tabs?.cancelQuantity + ')'"></nz-tab> | ||||
|     </nz-tabset> | ||||
|   </div> | ||||
|   <div style="margin-top: 15px"> | ||||
|     <st | ||||
|       #st | ||||
|       [scroll]="{ x: '2000px' }" | ||||
|       [data]="service.$api_get_bulkPage_list" | ||||
|       [columns]="columns" | ||||
|  | ||||
|   <div> | ||||
|     <div style="position: relative;"> | ||||
|       <nz-alert nzType="info" [nzMessage]="'当前共' + st?.total + '行记录,已选择' + selectedRows.length + '项'" nzShowIcon | ||||
|         style="margin: 0.5rem 16px;display: block;" class="header_box"> | ||||
|       </nz-alert> | ||||
|     </div> | ||||
|     <st #st [scroll]="{ x: '2000px',y:scrollY  }" [data]="service.$api_get_bulkPage_list" [columns]="columns" | ||||
|       [req]="{  process: beforeReq }" | ||||
|       [res]="{ reName: { list: 'data.records', total: 'data.total' } , process: afterRes}" | ||||
|       [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" | ||||
|       [loading]="false" | ||||
|     > | ||||
|     <ng-template st-row="createUserName" let-item let-index="index"> | ||||
|       <div> {{ item?.createUserName }}{{   item?.createUserPhone ? '/' + item?.createUserPhone : ''}} </div> | ||||
|     </ng-template> | ||||
|       [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false"> | ||||
|       <ng-template st-row="createUserName" let-item let-index="index"> | ||||
|         <div> {{ item?.createUserName }}{{ item?.createUserPhone ? '/' + item?.createUserPhone : ''}} </div> | ||||
|       </ng-template> | ||||
|       <!--运费单价  --> | ||||
|       <ng-template st-row="freightPrice" let-item let-index="index"> | ||||
|         <div class="mr-xs">{{ item?.freightPrice | currency }} </div> | ||||
| @ -97,8 +88,7 @@ | ||||
|       <ng-template st-row="orderSn" let-item let-index="index"> | ||||
|         <div *ngFor="let item of item?.wayBillClassifiedStatisticsVOList"> | ||||
|           <label>{{ item?.wayBillStatusLabel }}</label> | ||||
|           (<span [ngStyle]="{ color: item?.count > 0 ? '#1890FF' : '' }">{{ item?.count }}</span | ||||
|           >) | ||||
|           (<span [ngStyle]="{ color: item?.count > 0 ? '#1890FF' : '' }">{{ item?.count }}</span>) | ||||
|         </div> | ||||
|       </ng-template> | ||||
|       <!-- 货物信息 --> | ||||
| @ -115,10 +105,12 @@ | ||||
|     </st> | ||||
|   </div> | ||||
| </nz-card> | ||||
| <nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" nzTitle="货源审核" (nzOnCancel)="handleCancel('suppliersType')"> | ||||
| <nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" nzTitle="货源审核" | ||||
|   (nzOnCancel)="handleCancel('suppliersType')"> | ||||
|   <ng-container *nzModalContent> | ||||
|     <div style="position: relative" *ngIf="auditMany"> | ||||
|       <nz-alert nzType="info" [nzMessage]="'已选择' + selectedRows?.length + '项'" nzShowIcon [ngStyle]="{ margin: '0 0 1rem 0' }"> | ||||
|       <nz-alert nzType="info" [nzMessage]="'已选择' + selectedRows?.length + '项'" nzShowIcon | ||||
|         [ngStyle]="{ margin: '0 0 1rem 0' }"> | ||||
|       </nz-alert> | ||||
|     </div> | ||||
|     <sf #sfFre [schema]="freightSchema" [ui]="ui2" [compact]="false" [button]="'none'"> </sf> | ||||
| @ -133,4 +125,4 @@ | ||||
|     <button (click)="audit('',2)" nz-button nzType="primary">批量审核</button> | ||||
|     <button (click)="audit('')" nz-button nzType="primary">发布货源</button> | ||||
|   </div> | ||||
| </ng-template> --> | ||||
| </ng-template> --> | ||||
| @ -3,32 +3,31 @@ import { Router } from '@angular/router'; | ||||
| import { STColumn, STComponent, STRequestOptions } from '@delon/abc/st'; | ||||
| import { SFComponent, SFDateWidgetSchema, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form'; | ||||
| import { _HttpClient } from '@delon/theme'; | ||||
| import { ShipperBaseService } from '@shared'; | ||||
| import { SearchDrawerService, ShipperBaseService } from '@shared'; | ||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { of } from 'rxjs'; | ||||
| import { map } from 'rxjs/operators'; | ||||
| import { BasicTableComponent } from 'src/app/routes/commom'; | ||||
| import { SupplyManagementService } from '../../services/supply-management.service'; | ||||
| import { SupplyManagementQrcodePageComponent } from '../qrcode-page/qrcode-page.component'; | ||||
| import { SupplyManagementUpdatePriceComponent } from '../update-price/update-price.component'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-supply-management-bulk', | ||||
|   templateUrl: './bulk.component.html' | ||||
|   templateUrl: './bulk.component.html', | ||||
|   styleUrls: ['../../../commom/less/commom-table.less'] | ||||
| }) | ||||
| export class SupplyManagementBulkComponent implements OnInit { | ||||
| export class SupplyManagementBulkComponent extends BasicTableComponent implements OnInit { | ||||
|   resourceStatus: any; | ||||
|   ui: SFUISchema = {}; | ||||
|   ui2: SFUISchema = {}; | ||||
|   schema: SFSchema = {}; | ||||
|   auditMany = false; | ||||
|   isVisible = false; | ||||
|   loading: boolean = true; | ||||
|   auditID: any; | ||||
|   _$expand = false; | ||||
|   columns: STColumn[] = []; | ||||
|   freightSchema: SFSchema = {}; | ||||
|   @ViewChild('st') private readonly st!: STComponent; | ||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; | ||||
|   @ViewChild('sfFre', { static: false }) sfFre!: SFComponent; | ||||
|  | ||||
|   tabs: any = { | ||||
| @ -37,12 +36,16 @@ export class SupplyManagementBulkComponent implements OnInit { | ||||
|     receivedQuantity: 0, | ||||
|     stayQuantity: 0 | ||||
|   }; | ||||
|   deviationHeight = 10; | ||||
|   constructor( | ||||
|     public service: SupplyManagementService, | ||||
|     private modal: NzModalService, | ||||
|     private router: Router, | ||||
|     public shipperservice: ShipperBaseService | ||||
|   ) { } | ||||
|     public shipperservice: ShipperBaseService, | ||||
|     public searchDrawerService: SearchDrawerService | ||||
|   ) { | ||||
|     super(searchDrawerService); | ||||
|   } | ||||
|  | ||||
|   ngOnInit(): void { | ||||
|     this.initSF(); | ||||
| @ -136,10 +139,7 @@ export class SupplyManagementBulkComponent implements OnInit { | ||||
|             widget: 'dict-select', | ||||
|             containsAllLabel: true, | ||||
|             params: { dictKey: 'service:type' }, | ||||
|             containAllLable: true, | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|             containAllLable: true | ||||
|           } as SFSelectWidgetSchema | ||||
|         }, | ||||
|         settlementBasis: { | ||||
| @ -149,10 +149,7 @@ export class SupplyManagementBulkComponent implements OnInit { | ||||
|             widget: 'dict-select', | ||||
|             containsAllLabel: true, | ||||
|             params: { dictKey: 'goodresource:settlement:type' }, | ||||
|             containAllLable: true, | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|             containAllLable: true | ||||
|           } as SFSelectWidgetSchema | ||||
|         }, | ||||
|         releaseTime: { | ||||
| @ -162,9 +159,6 @@ export class SupplyManagementBulkComponent implements OnInit { | ||||
|             widget: 'date', | ||||
|             mode: 'range', | ||||
|             format: 'yyyy-MM-dd', | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             }, | ||||
|             allowClear: true | ||||
|           } as SFDateWidgetSchema | ||||
|         }, | ||||
| @ -175,9 +169,6 @@ export class SupplyManagementBulkComponent implements OnInit { | ||||
|             widget: 'date', | ||||
|             mode: 'range', | ||||
|             format: 'yyyy-MM-dd', | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             }, | ||||
|             allowClear: true | ||||
|           } as SFDateWidgetSchema | ||||
|         }, | ||||
| @ -187,9 +178,6 @@ export class SupplyManagementBulkComponent implements OnInit { | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             }, | ||||
|             allowClear: true, | ||||
|             asyncData: () => this.shipperservice.getNetworkFreightForwarder() | ||||
|           } | ||||
| @ -202,9 +190,6 @@ export class SupplyManagementBulkComponent implements OnInit { | ||||
|             serverSearch: true, | ||||
|             searchDebounceTime: 300, | ||||
|             searchLoadingText: '搜索中...', | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             }, | ||||
|             allowClear: true, | ||||
|             onSearch: (q: any) => { | ||||
|               let str = q.replace(/^\s+|\s+$/g, ''); | ||||
| @ -364,27 +349,7 @@ export class SupplyManagementBulkComponent implements OnInit { | ||||
|     //   .createStatic(FormEditComponent, { i: { id: 0 } }) | ||||
|     //   .subscribe(() => this.st.reload()); | ||||
|   } | ||||
|   /** | ||||
|    * 查询字段个数 | ||||
|    */ | ||||
|   get queryFieldCount(): number { | ||||
|     return Object.keys(this.schema?.properties || {}).length; | ||||
|   } | ||||
|   /** | ||||
|    * 伸缩查询条件 | ||||
|    */ | ||||
|   expandToggle(): void { | ||||
|     this._$expand = !this._$expand; | ||||
|     this.sf?.setValue('/_$expand', this._$expand); | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * 重置表单 | ||||
|    */ | ||||
|   resetSF(): void { | ||||
|     this.sf.reset(); | ||||
|     this._$expand = false; | ||||
|   } | ||||
|   get selectedRows() { | ||||
|     return this.st?.list.filter(item => item.checked) || []; | ||||
|   } | ||||
| @ -565,7 +530,7 @@ export class SupplyManagementBulkComponent implements OnInit { | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|   userAction() { } | ||||
|   userAction() {} | ||||
|   // 导出 | ||||
|   exportFire() { | ||||
|     this.service.exportStart(this.reqParams, this.service.$api_asyncExportBulkList); | ||||
|  | ||||
| @ -8,7 +8,7 @@ | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\index\\index.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| <page-header-wrapper  [tab]="tpTab"> | ||||
| <!-- <page-header-wrapper  [tab]="tpTab"> | ||||
| </page-header-wrapper> | ||||
| <ng-template #tpTab> | ||||
|   <nz-tabset [(nzSelectedIndex)]="selectedIndex"> | ||||
| @ -19,4 +19,17 @@ | ||||
|       <app-supply-management-bulk></app-supply-management-bulk> | ||||
|     </nz-tab> | ||||
|   </nz-tabset> | ||||
| </ng-template> | ||||
| </ng-template> --> | ||||
| <div class="double_tabset_box"> | ||||
|   <div class="header_box" style="margin-bottom: -12px;"> | ||||
|     <label class="page_title"> <label class="driver">|</label> 货源管理</label> | ||||
|   </div> | ||||
|   <nz-tabset [(nzSelectedIndex)]="selectedIndex" class="header_tab"> | ||||
|     <nz-tab nzTitle="整车货源"> | ||||
|       <app-supply-management-vehicle></app-supply-management-vehicle> | ||||
|     </nz-tab> | ||||
|     <nz-tab nzTitle="大宗货源"> | ||||
|       <app-supply-management-bulk></app-supply-management-bulk> | ||||
|     </nz-tab> | ||||
|   </nz-tabset> | ||||
| </div> | ||||
| @ -2,17 +2,17 @@ import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { STColumn, STComponent } from '@delon/abc/st'; | ||||
| import { SFSchema } from '@delon/form'; | ||||
| import { ModalHelper, _HttpClient } from '@delon/theme'; | ||||
| import { SearchDrawerService } from '@shared'; | ||||
| import { BasicTableComponent } from 'src/app/routes/commom'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-supply-management-index', | ||||
|   templateUrl: './index.component.html', | ||||
|   styleUrls: ['../../../commom/less/commom-table.less'] | ||||
| }) | ||||
| export class SupplyManagementIndexComponent implements OnInit { | ||||
|   selectedIndex = 0; | ||||
|    | ||||
|   constructor(private http: _HttpClient, private modal: ModalHelper) { } | ||||
|  | ||||
|   ngOnInit(): void { } | ||||
|  | ||||
|  | ||||
|   ngOnInit(): void {} | ||||
| } | ||||
|  | ||||
| @ -10,28 +10,18 @@ | ||||
| --> | ||||
|  | ||||
| <!-- 搜索表单 --> | ||||
| <nz-card> | ||||
| <!-- <nz-card> | ||||
|   <div nz-row nzGutter="8"> | ||||
|     <div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24"> | ||||
|       <sf | ||||
|         #sf | ||||
|         [schema]="schema" | ||||
|         [ui]="{ '*': { spanLabelFixed: 110, grid: { lg: 8, md: 12, sm: 12, xs: 24, gutter: 4 } } }" | ||||
|         [compact]="true" | ||||
|         [button]="'none'" | ||||
|       ></sf> | ||||
|       <sf #sf [schema]="schema" | ||||
|         [ui]="{ '*': { spanLabelFixed: 110, grid: { lg: 8, md: 12, sm: 12, xs: 24, gutter: 4 } } }" [compact]="true" | ||||
|         [button]="'none'"></sf> | ||||
|     </div> | ||||
|     <div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand" class="text-right"> | ||||
|       <button | ||||
|         nz-button | ||||
|         nzType="primary" | ||||
|         [nzLoading]="loading" | ||||
|         (click)="search()" | ||||
|         acl | ||||
|         [acl-ability]="['SUPPLY-INDEX-vehicleSearch']" | ||||
|         >查询</button | ||||
|       > | ||||
|       <button nz-button nzType="primary" [disabled]="loading" (click)="exportFire()" >导出</button> | ||||
|     <div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand" | ||||
|       class="text-right"> | ||||
|       <button nz-button nzType="primary" [nzLoading]="loading" (click)="search()" acl | ||||
|         [acl-ability]="['SUPPLY-INDEX-vehicleSearch']">查询</button> | ||||
|       <button nz-button nzType="primary" [disabled]="loading" (click)="exportFire()">导出</button> | ||||
|       <button nz-button [disabled]="loading" (click)="resetSF()">重置</button> | ||||
|       <button nz-button nzType="link" (click)="expandToggle()"> | ||||
|         {{ !_$expand ? '展开' : '收起' }} | ||||
| @ -39,41 +29,32 @@ | ||||
|       </button> | ||||
|     </div> | ||||
|   </div> | ||||
| </nz-card> | ||||
| </nz-card> --> | ||||
|  | ||||
| <nz-card> | ||||
|   <nz-tabset (nzSelectedIndexChange)="selectChange($event)" [nzTabBarExtraContent]="extraTemplate"> | ||||
|     <nz-tab [nzTitle]="'全部(' + tabs?.totalQuantity + ')'"></nz-tab> | ||||
|     <nz-tab [nzTitle]="'待接单(' + tabs?.stayQuantity + ')'"></nz-tab> | ||||
|     <nz-tab [nzTitle]="'已接单(' + tabs?.receivedQuantity + ')'"></nz-tab> | ||||
|     <nz-tab [nzTitle]="'已取消(' + tabs?.cancelQuantity + ')'"></nz-tab> | ||||
|   </nz-tabset> | ||||
|   <div style="margin-top: 15px"> | ||||
| <nz-card class="table-box" style="margin: 0;"> | ||||
|   <div class="tab_header"> | ||||
|     <nz-tabset (nzSelectedIndexChange)="selectChange($event)" [nzTabBarExtraContent]="extraTemplate"> | ||||
|       <nz-tab [nzTitle]="'全部(' + tabs?.totalQuantity + ')'"></nz-tab> | ||||
|       <nz-tab [nzTitle]="'待接单(' + tabs?.stayQuantity + ')'"></nz-tab> | ||||
|       <nz-tab [nzTitle]="'已接单(' + tabs?.receivedQuantity + ')'"></nz-tab> | ||||
|       <nz-tab [nzTitle]="'已取消(' + tabs?.cancelQuantity + ')'"></nz-tab> | ||||
|     </nz-tabset> | ||||
|   </div> | ||||
|  | ||||
|   <div> | ||||
|     <!-- 选中提示框 --> | ||||
|     <div style="position: relative"> | ||||
|       <nz-alert | ||||
|         nzType="info" | ||||
|         [nzMessage]="'当前共' + st?.total + '行记录,已选择' + selectedRows.length + '项'" | ||||
|         nzShowIcon | ||||
|         [ngStyle]="{ margin: '0 0 1rem 0' }" | ||||
|       > | ||||
|     <div style="position: relative;"> | ||||
|       <nz-alert nzType="info" [nzMessage]="'当前共' + st?.total + '行记录,已选择' + selectedRows.length + '项'" nzShowIcon | ||||
|         style="margin: 0.5rem 16px;display: block;" class="header_box"> | ||||
|       </nz-alert> | ||||
|     </div> | ||||
|     <!-- [req]="{ params: reqParams }" --> | ||||
|  | ||||
|     <st | ||||
|       #st | ||||
|       [data]="service.$api_get_wholePage_list" | ||||
|       [columns]="columns" | ||||
|       [req]="{  process: beforeReq }" | ||||
|       [res]="{ process: afterRes }" | ||||
|       [page]="{ }" | ||||
|       [loading]="loading" | ||||
|       [scroll]="{ x: '1200px', y: '500px' }" | ||||
|     > | ||||
|     <ng-template st-row="createUserName" let-item let-index="index"> | ||||
|       <div> {{ item?.createUserName }}/{{ item?.createUserPhone }} </div> | ||||
|     </ng-template> | ||||
|     <st #st [data]="service.$api_get_wholePage_list" [columns]="columns" [req]="{  process: beforeReq }" | ||||
|       [res]="{ process: afterRes }" [page]="{ }" [loading]="loading" [scroll]="{ x: '1200px',y:scrollY  }"> | ||||
|       <ng-template st-row="createUserName" let-item let-index="index"> | ||||
|         <div> {{ item?.createUserName }}/{{ item?.createUserPhone }} </div> | ||||
|       </ng-template> | ||||
|       <ng-template st-row="resourceCode" let-item let-index="index"> | ||||
|         <a [routerLink]="'vehicle-detail/' + item?.id">{{ item?.resourceCode }}</a> | ||||
|         <p>{{ item?.resourceTypeLabel }}{{ item?.serviceTypeLabel }}</p> | ||||
| @ -97,25 +78,41 @@ | ||||
| </nz-card> | ||||
| <ng-template #extraTemplate> | ||||
|   <div> | ||||
|     <button (click)="audit('', 2)" nz-button nzType="primary" acl [acl-ability]="['SUPPLY-INDEX-vehicleBatchAudit']">审核</button> | ||||
|     <button (click)="releaseGoods()" nz-button nzType="primary" acl [acl-ability]="['SUPPLY-INDEX-vehicleUndertakesToSupply']" | ||||
|       >代发货源</button | ||||
|     > | ||||
|     <button (click)="importGoodsSource()" nz-button nzType="primary">导入货源</button> | ||||
|     <button nz-button nzDanger (click)="openDrawer()" class="mr-sm" acl | ||||
|       [acl-ability]="['SUPPLY-INDEX-vehicleSearch']">筛选</button> | ||||
|     <button nz-button nzDanger [disabled]="loading" (click)="exportFire()">导出</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 acl [acl-ability]="['SUPPLY-INDEX-vehicleBatchAudit']" (click)="audit('', 2)"> | ||||
|           审核 | ||||
|         </li> | ||||
|         <li nz-menu-item acl [acl-ability]="['SUPPLY-INDEX-vehicleUndertakesToSupply']" (click)="releaseGoods()"> | ||||
|           代发货源 | ||||
|         </li> | ||||
|         <li nz-menu-item (click)="importGoodsSource()"> | ||||
|           导入货源 | ||||
|         </li> | ||||
|       </ul> | ||||
|     </nz-dropdown-menu> | ||||
|   </div> | ||||
| </ng-template> | ||||
|  | ||||
| <nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" nzTitle="货源审核" (nzOnCancel)="handleCancel('suppliersType')"> | ||||
| <nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" nzTitle="货源审核" | ||||
|   (nzOnCancel)="handleCancel('suppliersType')"> | ||||
|   <ng-container *nzModalContent> | ||||
|     <div style="position: relative" *ngIf="auditMany"> | ||||
|       <nz-alert nzType="info" [nzMessage]="'已选择' + selectedRows?.length + '项'" nzShowIcon [ngStyle]="{ margin: '0 0 1rem 0' }"> | ||||
|       <nz-alert nzType="info" [nzMessage]="'已选择' + selectedRows?.length + '项'" nzShowIcon | ||||
|         [ngStyle]="{ margin: '0 0 1rem 0' }"> | ||||
|       </nz-alert> | ||||
|     </div> | ||||
|     <sf #sfFre [schema]="freightSchema" [ui]="{ '*': { spanLabelFixed: 120, grid: { span: 16 } } }" [compact]="false" [button]="'none'"> | ||||
|     <sf #sfFre [schema]="freightSchema" [ui]="{ '*': { spanLabelFixed: 120, grid: { span: 16 } } }" [compact]="false" | ||||
|       [button]="'none'"> | ||||
|     </sf> | ||||
|   </ng-container> | ||||
|   <ng-template #nzModalFooter> | ||||
|     <button nz-button nzType="primary" (click)="handleOK(1)" [disabled]="">通过</button> | ||||
|     <button nz-button nzType="default" (click)="handleOK(2)">不通过</button> | ||||
|   </ng-template> | ||||
| </nz-modal> | ||||
| </nz-modal> | ||||
| @ -9,17 +9,17 @@ import { SupplyManagementService } from '../../services/supply-management.servic | ||||
| import { SupplyManagementVehicleAssignedCarComponent } from '../assigned-car/assigned-car.component'; | ||||
| import { SupplyManagementUpdateExternalSnComponent } from '../update-external-sn/update-external-sn.component'; | ||||
| import { of } from 'rxjs'; | ||||
| import { ShipperBaseService } from '@shared'; | ||||
| import { SearchDrawerService, ShipperBaseService } from '@shared'; | ||||
| import { SupplyManagementImportSupplyComponent } from '../../model/import-supply/import-supply.component'; | ||||
| import { BasicTableComponent } from 'src/app/routes/commom'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-supply-management-vehicle', | ||||
|   templateUrl: './vehicle.component.html', | ||||
|   styleUrls: ['./vehicle.component.less'] | ||||
|   styleUrls: ['../../../commom/less/commom-table.less', './vehicle.component.less'] | ||||
| }) | ||||
| export class SupplyManagementVehicleComponent implements OnInit { | ||||
| export class SupplyManagementVehicleComponent extends BasicTableComponent implements OnInit { | ||||
|   @ViewChild('st') private readonly st!: STComponent; | ||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; | ||||
|   @ViewChild('sfFre', { static: false }) sfFre!: SFComponent; | ||||
|   loading: boolean = true; | ||||
|   schema: SFSchema = this.initSF(); | ||||
| @ -38,13 +38,18 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|  | ||||
|   resourceStatus: any; | ||||
|   auditID: any; | ||||
|  | ||||
|   deviationHeight = 10; | ||||
|   constructor( | ||||
|     public service: SupplyManagementService, | ||||
|     private modal: NzModalService, | ||||
|     private router: Router, | ||||
|     private ar: ActivatedRoute, | ||||
|     public shipperSrv: ShipperBaseService | ||||
|   ) { } | ||||
|     public shipperSrv: ShipperBaseService, | ||||
|     public searchDrawerService: SearchDrawerService | ||||
|   ) { | ||||
|     super(searchDrawerService); | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * 查询参数 | ||||
| @ -150,7 +155,7 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|   /** | ||||
|    * 导入货源 | ||||
|    */ | ||||
|    importGoodsSource() { | ||||
|   importGoodsSource() { | ||||
|     const modalRef = this.modal.create({ | ||||
|       nzTitle: '货源导入', | ||||
|       nzWidth: 600, | ||||
| @ -181,25 +186,25 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|               type: 'primary', | ||||
|               loading: this.service.http.loading, | ||||
|               onClick: () => { | ||||
|                 if(!result?.failNumber) { | ||||
|                 if (!result?.failNumber) { | ||||
|                   this.service.msgSrv.error('没有失败数据!'); | ||||
|                   tipsModal.destroy(); | ||||
|                   this.st?.reload(); | ||||
|                   this.getGoodsSourceStatistical(); | ||||
|                   return; | ||||
|                 } | ||||
|                 this.service.downloadFile(this.service.$api_getFailUploadGoodsOperateResource, result.ids) | ||||
|                 this.service.downloadFile(this.service.$api_getFailUploadGoodsOperateResource, result.ids); | ||||
|                 tipsModal.destroy(); | ||||
|                 this.st?.reload(); | ||||
|                 this.getGoodsSourceStatistical(); | ||||
|               } | ||||
|             }, | ||||
|             } | ||||
|           ] | ||||
|         }) | ||||
|         tipsModal.afterClose.subscribe(result => {  | ||||
|         }); | ||||
|         tipsModal.afterClose.subscribe(result => { | ||||
|           this.st?.reload(); | ||||
|          this.getGoodsSourceStatistical(); | ||||
|         }) | ||||
|           this.getGoodsSourceStatistical(); | ||||
|         }); | ||||
|       } else { | ||||
|         this.st?.reload(); | ||||
|         this.getGoodsSourceStatistical(); | ||||
| @ -207,7 +212,6 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|  | ||||
|   /** | ||||
|    * 重新指派 | ||||
|    */ | ||||
| @ -396,9 +400,6 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|             serverSearch: true, | ||||
|             searchDebounceTime: 300, | ||||
|             searchLoadingText: '搜索中...', | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             }, | ||||
|             allowClear: true, | ||||
|             onSearch: (q: any) => { | ||||
|               let str = q.replace(/^\s+|\s+$/g, ''); | ||||
| @ -434,10 +435,7 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|           title: '所属项目', | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请先选择货主', | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|             placeholder: '请先选择货主' | ||||
|           } as SFSelectWidgetSchema | ||||
|         }, | ||||
|         serviceType: { | ||||
| @ -447,9 +445,6 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|             widget: 'dict-select', | ||||
|             containsAllLabel: true, | ||||
|             params: { dictKey: 'service:type' }, | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             }, | ||||
|             allowClear: true | ||||
|           } as SFSelectWidgetSchema | ||||
|         }, | ||||
| @ -460,10 +455,7 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|             widget: 'dict-select', | ||||
|             allowClear: true, | ||||
|             containsAllLabel: true, | ||||
|             params: { dictKey: 'goodresource:audit:status' }, | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|             params: { dictKey: 'goodresource:audit:status' } | ||||
|           } as SFSelectWidgetSchema | ||||
|         }, | ||||
|         enterpriseInfoId: { | ||||
| @ -473,9 +465,6 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             asyncData: () => this.shipperSrv.getNetworkFreightForwarder(), | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             }, | ||||
|             allowClear: true | ||||
|           } | ||||
|         } | ||||
|  | ||||
| @ -230,7 +230,7 @@ export class TaxManagementInvoiceReportingComponent implements OnInit { | ||||
|       { | ||||
|         title: '购买方企业名称', index: 'artoname', className: 'text-center', width: '200px', type: 'link', | ||||
|         click: item => { | ||||
|           window.open(`/#/usercenter/freight/list/detail/${item.ltdId}`, '_blank', 'noopener') | ||||
|           window.open(`/#/usercenter/freight/list/detail/${item.arto}`, '_blank', 'noopener') | ||||
|         } | ||||
|       }, | ||||
|       { title: '购买方统一社会信用代码', index: 'artotaxno', className: 'text-center', width: '200px' }, | ||||
|  | ||||
		Reference in New Issue
	
	Block a user