Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
		| @ -15,7 +15,8 @@ const alainConfig: AlainConfig = { | |||||||
|     req: { method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' } }, |     req: { method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' } }, | ||||||
|     res: { reName: { list: 'data.records', total: 'data.total' } }, |     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 }, |     page: { show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000], toTop: false }, | ||||||
|     modal: { size: 'lg' } |     modal: { size: 'lg' }, | ||||||
|  |     ps: 20 | ||||||
|   }, |   }, | ||||||
|   sf: { button: { search: '查询' } }, |   sf: { button: { search: '查询' } }, | ||||||
|   pageHeader: { homeI18n: 'home', recursiveBreadcrumb: true }, |   pageHeader: { homeI18n: 'home', recursiveBreadcrumb: true }, | ||||||
| @ -27,7 +28,7 @@ const alainConfig: AlainConfig = { | |||||||
|       'https://gw.alipayobjects.com/os/lib/antv/g2/4.1.4/dist/g2.min.js', |       'https://gw.alipayobjects.com/os/lib/antv/g2/4.1.4/dist/g2.min.js', | ||||||
|       'https://gw.alipayobjects.com/os/lib/antv/data-set/0.11.7/dist/data-set.js' |       'https://gw.alipayobjects.com/os/lib/antv/data-set/0.11.7/dist/data-set.js' | ||||||
|     ] |     ] | ||||||
|   }, |   } | ||||||
| }; | }; | ||||||
|  |  | ||||||
| const alainModules = [AlainThemeModule.forRoot(), DelonACLModule.forRoot()]; | const alainModules = [AlainThemeModule.forRoot(), DelonACLModule.forRoot()]; | ||||||
|  | |||||||
| @ -4,6 +4,23 @@ import { SearchDrawerService } from '@shared'; | |||||||
| import { fromEvent, Subscription } from 'rxjs'; | import { fromEvent, Subscription } from 'rxjs'; | ||||||
| import { debounceTime } from 'rxjs/operators'; | import { debounceTime } from 'rxjs/operators'; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 列表基础组件 | ||||||
|  |  * 功能: | ||||||
|  |  *  1、计算列表滚动高度(scrollY) | ||||||
|  |  *      实现: | ||||||
|  |  *        1、列表组件需继承BasicTableComponent,并且提供SearchDrawerService派生类 | ||||||
|  |  *        2、引入commom-table.less 样式文件 | ||||||
|  |  *        3、列表使用table-box class包裹。组件会自动减去layout-pro-header、page-header-wrapper和nz-tabs-nav标签的高度,以及header_box和height_box class的高度,最后减去deviationHeight的偏移高度 | ||||||
|  |  *  2、提供筛选抽屉,并返回sf实例(sf) | ||||||
|  |  *      实现: | ||||||
|  |  *        1、列表组件需继承BasicTableComponent,并且提供SearchDrawerService派生类 | ||||||
|  |  *        2、实例化schema,及给schema赋值sf配置 | ||||||
|  |  *        3、重写search()方法。当筛选抽屉触发查询时会调用这个方法 | ||||||
|  |  *      提供: | ||||||
|  |  *        1、抽屉的sf实例 | ||||||
|  |  *        2、sf.value的数据=>sfValue | ||||||
|  |  */ | ||||||
| @Component({ | @Component({ | ||||||
|   template: '' |   template: '' | ||||||
| }) | }) | ||||||
|  | |||||||
| @ -36,10 +36,39 @@ | |||||||
|   </ng-template> |   </ng-template> | ||||||
| </page-header-wrapper> | </page-header-wrapper> | ||||||
|  |  | ||||||
| <nz-card [nzLoading]="service.http.loading"> | <nz-card [nzLoading]="service.http.loading" [nzBorderless]="true"> | ||||||
|  |   <div class="mb-md"> | ||||||
|  |     <div class="font-weight-blod text-md detail-title" style="justify-content: space-between;"> | ||||||
|  |       <div> | ||||||
|  |         <a class="sign"></a> | ||||||
|  |         <span>个人信息</span> | ||||||
|  |         <label *ngIf="userIdentityDetail?.certificationStatus === 1" style="color: #52c41a" class="ml-md"><i nz-icon | ||||||
|  |             nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过 | ||||||
|  |         </label> | ||||||
|  |         <label *ngIf="userIdentityDetail?.certificationStatus === 2" style="color: #ff4d4f" class="ml-md"><i nz-icon | ||||||
|  |             nzType="close-circle" nzTheme="fill" class="mr-xs"></i>驳回 | ||||||
|  |         </label> | ||||||
|  |       </div> | ||||||
|  |       <div> | ||||||
|  |         <ng-container *ngIf="isEditUser; else elseTemplate"> | ||||||
|  |           <button [nzLoading]="service.http.loading" nz-button (click)="reset()"> 取消 </button> | ||||||
|  |           <button [nzLoading]="service.http.loading" nz-button nzDanger (click)="saveUser()"> 保存 </button> | ||||||
|  |         </ng-container> | ||||||
|  |         <ng-template #elseTemplate> | ||||||
|  |           <button nz-button nzType="default" nzDanger (click)="approveUser()" | ||||||
|  |             *ngIf="userIdentityDetail?.certificationStatus === 0" acl | ||||||
|  |             [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-audit']">审核通过</button> | ||||||
|  |           <button nz-button nzType="default" nzDanger (click)="rejectedUser()" | ||||||
|  |             *ngIf="userIdentityDetail?.certificationStatus === 0" acl | ||||||
|  |             [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-audit']">驳回审核</button> | ||||||
|  |           <button nz-button nzType="default" nzDanger (click)="ratify()" acl | ||||||
|  |             [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-edit']">修改</button> | ||||||
|  |         </ng-template> | ||||||
|  |       </div> | ||||||
|  |     </div> | ||||||
|     <div [class]="isEditUser ? 'edit-box' : 'readOnly-box'"> |     <div [class]="isEditUser ? 'edit-box' : 'readOnly-box'"> | ||||||
|       <sv-container col="2"> |       <sv-container col="2"> | ||||||
|       <sv-title>个人信息 |         <!-- <sv-title>个人信息 | ||||||
|         <label *ngIf="userIdentityDetail?.certificationStatus === 1" style="color: #52c41a" class="ml-md"><i nz-icon |         <label *ngIf="userIdentityDetail?.certificationStatus === 1" style="color: #52c41a" class="ml-md"><i nz-icon | ||||||
|             nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过 |             nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过 | ||||||
|         </label> |         </label> | ||||||
| @ -62,7 +91,7 @@ | |||||||
|               [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-edit']">修改</button> |               [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-edit']">修改</button> | ||||||
|           </ng-template> |           </ng-template> | ||||||
|         </div> |         </div> | ||||||
|       </sv-title> |       </sv-title> --> | ||||||
|         <sv label="姓名"> |         <sv label="姓名"> | ||||||
|           <input nz-input type="text" [(ngModel)]="userIdentityDetail.name" [readonly]="!isEditUser" |           <input nz-input type="text" [(ngModel)]="userIdentityDetail.name" [readonly]="!isEditUser" | ||||||
|             [nzBorderless]="!isEditUser" [placeholder]="isEditUser ? '' : '-'" /> |             [nzBorderless]="!isEditUser" [placeholder]="isEditUser ? '' : '-'" /> | ||||||
| @ -99,9 +128,17 @@ | |||||||
|         </sv> |         </sv> | ||||||
|       </sv-container> |       </sv-container> | ||||||
|     </div> |     </div> | ||||||
|  |   </div> | ||||||
|  |  | ||||||
|  |   <div> | ||||||
|  |     <div class="font-weight-blod text-md detail-title"> | ||||||
|  |       <a class="sign"></a> | ||||||
|  |       <span>银行结算信息</span> | ||||||
|  |       <ng-container *ngIf="bankList?.length===0">(暂无银行信息)</ng-container> | ||||||
|  |     </div> | ||||||
|     <sv-container col="3" class="mt-md"> |     <sv-container col="3" class="mt-md"> | ||||||
|     <sv-title>银行结算信息<ng-container *ngIf="bankList?.length===0">(暂无银行信息)</ng-container></sv-title> |       <!-- <sv-title>银行结算信息<ng-container *ngIf="bankList?.length===0">(暂无银行信息)</ng-container> | ||||||
|  |     </sv-title> --> | ||||||
|       <ng-container *ngFor="let item of bankList"> |       <ng-container *ngFor="let item of bankList"> | ||||||
|         <sv label="开户银行"> |         <sv label="开户银行"> | ||||||
|           {{ item.bankName }} |           {{ item.bankName }} | ||||||
| @ -112,6 +149,7 @@ | |||||||
|       </ng-container> |       </ng-container> | ||||||
|  |  | ||||||
|     </sv-container> |     </sv-container> | ||||||
|  |   </div> | ||||||
| </nz-card> | </nz-card> | ||||||
|  |  | ||||||
| <ng-template #redectModal> | <ng-template #redectModal> | ||||||
|  | |||||||
| @ -1,39 +1,14 @@ | |||||||
| <!-- | <!-- <page-header-wrapper></page-header-wrapper> | ||||||
|  * @Author: your name |  | ||||||
|  * @Date: 2021-11-29 15:22:34 |  | ||||||
|  * @LastEditTime : 2022-02-16 09:58:52 |  | ||||||
|  * @LastEditors  : Shiming |  | ||||||
|  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |  | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\usercenter\\components\\driver\\captain\\captain.component.html |  | ||||||
| --> |  | ||||||
| <!-- 页头 --> |  | ||||||
| <page-header-wrapper></page-header-wrapper> |  | ||||||
| <nz-card> | <nz-card> | ||||||
|   <!-- 搜索区 --> |  | ||||||
|   <!-- 搜索表单 --> |  | ||||||
|   <div nz-row nzGutter="8"> |   <div nz-row nzGutter="8"> | ||||||
|     <div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24"> |     <div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24"> | ||||||
|       <sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf> |       <sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf> | ||||||
|     </div> |     </div> | ||||||
|     <div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right"> |     <div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right"> | ||||||
|       <button |       <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)" acl | ||||||
|         nz-button |         [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-list']">查询</button> | ||||||
|         nzType="primary" |       <button nz-button nzType="primary" [disabled]="false" (click)="exportList()" acl | ||||||
|         [nzLoading]="service.http.loading" |         [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-export']">导出</button> | ||||||
|         (click)="st?.load(1)" |  | ||||||
|         acl |  | ||||||
|         [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-list']" |  | ||||||
|         >查询</button |  | ||||||
|       > |  | ||||||
|       <button |  | ||||||
|         nz-button |  | ||||||
|         nzType="primary" |  | ||||||
|         [disabled]="false" |  | ||||||
|         (click)="exportList()" |  | ||||||
|         acl |  | ||||||
|         [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-export']" |  | ||||||
|         >导出</button |  | ||||||
|       > |  | ||||||
|       <button nz-button (click)="resetSF()" [disabled]="false">重置</button> |       <button nz-button (click)="resetSF()" [disabled]="false">重置</button> | ||||||
|       <button nz-button nzType="link" (click)="expandToggle()"> |       <button nz-button nzType="link" (click)="expandToggle()"> | ||||||
|         {{ !_$expand ? '展开' : '收起' }} |         {{ !_$expand ? '展开' : '收起' }} | ||||||
| @ -41,23 +16,22 @@ | |||||||
|       </button> |       </button> | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </div> | ||||||
| </nz-card> | </nz-card> --> | ||||||
| <nz-card> | <nz-card class="table-box"> | ||||||
|   <!-- 数据列表 --> |   <div class="header_box"> | ||||||
|   <!-- 工具栏 --> |     <label class="page_title"> <label class="driver">|</label> 车队长列表</label> | ||||||
|   <div class="toolbar" style="float: right; |     <div class="mr-sm"> | ||||||
|   padding-bottom: 15px;"> |       <button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl | ||||||
|     <button nz-button nzType="primary" (click)="add()">添加车队长</button> |         [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-list']">筛选</button> | ||||||
|  |       <button nz-button nzDanger (click)="exportList()" acl [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-export']"> | ||||||
|  |         导出</button> | ||||||
|  |       <button nz-button nzType="primary" (click)="add()" acl | ||||||
|  |         [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-add']">添加车队长</button> | ||||||
|     </div> |     </div> | ||||||
|   <st |   </div> | ||||||
|     #st |   <!-- 数据列表 --> | ||||||
|     [columns]="columns" |   <st #st [columns]="columns" [data]="service.$api_get_user_expand" [req]="{  params: reqParams }" | ||||||
|     [data]="service.$api_get_user_expand" |     [res]="{ process: dataProcess }" [page]="{ }" [loading]="false" [scroll]="{ x: '1200px',y:scrollY }"> | ||||||
|     [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" |  | ||||||
|     [res]="{ reName: { list: 'data.records', total: 'data.total' }, process: dataProcess }" |  | ||||||
|     [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" |  | ||||||
|     [loading]="false" |  | ||||||
|   > |  | ||||||
|     <ng-template st-row="promotersTelephone" let-item let-index="index"> |     <ng-template st-row="promotersTelephone" let-item let-index="index"> | ||||||
|       <a (click)="addPromoter(item)" acl [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-promoter']"> |       <a (click)="addPromoter(item)" acl [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-promoter']"> | ||||||
|         {{ item.promotersTelephone || '添加' }} |         {{ item.promotersTelephone || '添加' }} | ||||||
|  | |||||||
| @ -3,29 +3,39 @@ import { ActivatedRoute, Router } from '@angular/router'; | |||||||
| import { STColumn, STColumnBadge, STComponent, STData } from '@delon/abc/st'; | import { STColumn, STColumnBadge, STComponent, STData } from '@delon/abc/st'; | ||||||
| import { SFComponent, SFSchema, SFUISchema } from '@delon/form'; | import { SFComponent, SFSchema, SFUISchema } from '@delon/form'; | ||||||
| import { ModalHelper } from '@delon/theme'; | import { ModalHelper } from '@delon/theme'; | ||||||
| import { DynamicSettingModalComponent } from '@shared'; | import { DynamicSettingModalComponent, SearchDrawerService } from '@shared'; | ||||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | import { NzModalService } from 'ng-zorro-antd/modal'; | ||||||
|  | import { BasicTableComponent } from 'src/app/routes/commom'; | ||||||
| import { UsermanageService } from '../../../services/usercenter.service'; | import { UsermanageService } from '../../../services/usercenter.service'; | ||||||
| import { CtcCaptatinAddComponent } from './add/add.component'; | import { CtcCaptatinAddComponent } from './add/add.component'; | ||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-usercenter-components-driver-captain', |   selector: 'app-usercenter-components-driver-captain', | ||||||
|   templateUrl: './captain.component.html', |   templateUrl: './captain.component.html', | ||||||
|   styleUrls: ['./captain.component.less'] |   styleUrls: ['../../../../commom/less/commom-table.less'] | ||||||
| }) | }) | ||||||
| export class UserCenterComponentsDriverCaptainComponent implements OnInit { | export class UserCenterComponentsDriverCaptainComponent extends BasicTableComponent implements OnInit { | ||||||
|   _$expand = false; |  | ||||||
|  |  | ||||||
|   ui: SFUISchema = { '*': { spanLabelFixed: 120, grid: { lg: 8, md: 12, sm: 12, xs: 24 } } }; |  | ||||||
|   schema: SFSchema = this.initSF(); |   schema: SFSchema = this.initSF(); | ||||||
|   columns: STColumn[] = this.initST(); |   columns: STColumn[] = this.initST(); | ||||||
|   @ViewChild('st', { static: false }) st!: STComponent; |   @ViewChild('st', { static: false }) st!: STComponent; | ||||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; |  | ||||||
|  |  | ||||||
|   @ViewChild('promoterModal', { static: false }) |   @ViewChild('promoterModal', { static: false }) | ||||||
|   promoterModal!: any; |   promoterModal!: any; | ||||||
|   promotersTelephone = ''; |   promotersTelephone = ''; | ||||||
|  |  | ||||||
|   constructor(public service: UsermanageService, private modal: NzModalService, private router: Router, private ar: ActivatedRoute, private modalHelper: ModalHelper,) {} |   constructor( | ||||||
|  |     public service: UsermanageService, | ||||||
|  |     private modal: NzModalService, | ||||||
|  |     private router: Router, | ||||||
|  |     private ar: ActivatedRoute, | ||||||
|  |     private modalHelper: ModalHelper, | ||||||
|  |     public searchDrawerService: SearchDrawerService | ||||||
|  |   ) { | ||||||
|  |     super(searchDrawerService); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   search() { | ||||||
|  |     this.st?.load(1); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * 查询参数 |    * 查询参数 | ||||||
| @ -98,19 +108,6 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit { | |||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   expandToggle() { |  | ||||||
|     this._$expand = !this._$expand; |  | ||||||
|     this.sf?.setValue('/expand', this._$expand); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   /** |  | ||||||
|    * 重置表单 |  | ||||||
|    */ |  | ||||||
|   resetSF() { |  | ||||||
|     this.sf.reset(); |  | ||||||
|     this._$expand = false; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   exportList() { |   exportList() { | ||||||
|     const params = this.reqParams; |     const params = this.reqParams; | ||||||
|     this.service.downloadFile(this.service.$api_export_driver_cap, { ...params, pageSize: -1 }); |     this.service.downloadFile(this.service.$api_export_driver_cap, { ...params, pageSize: -1 }); | ||||||
| @ -146,10 +143,7 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit { | |||||||
|           type: 'string', |           type: 'string', | ||||||
|           maxLength: 11, |           maxLength: 11, | ||||||
|           ui: { |           ui: { | ||||||
|             placeholder: '请输入', |             placeholder: '请输入' | ||||||
|             visibleIf: { |  | ||||||
|               expand: (value: boolean) => value |  | ||||||
|             } |  | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         identityStatus: { |         identityStatus: { | ||||||
| @ -163,10 +157,7 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit { | |||||||
|           ], |           ], | ||||||
|           default: '', |           default: '', | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'select', |             widget: 'select' | ||||||
|             visibleIf: { |  | ||||||
|               expand: (value: boolean) => value |  | ||||||
|             } |  | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         source: { |         source: { | ||||||
| @ -176,14 +167,11 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit { | |||||||
|             { label: '全部', value: '' }, |             { label: '全部', value: '' }, | ||||||
|             { label: '用户注册', value: 1 }, |             { label: '用户注册', value: 1 }, | ||||||
|             { label: '货主添加', value: 2 }, |             { label: '货主添加', value: 2 }, | ||||||
|             { label: '运营添加', value: 3 }, |             { label: '运营添加', value: 3 } | ||||||
|           ], |           ], | ||||||
|           default: '', |           default: '', | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'select', |             widget: 'select' | ||||||
|             visibleIf: { |  | ||||||
|               expand: (value: boolean) => value |  | ||||||
|             } |  | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
| @ -222,7 +210,7 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit { | |||||||
|               this.router.navigate(['/usercenter/driver/captain/detail', item.appUserId]); |               this.router.navigate(['/usercenter/driver/captain/detail', item.appUserId]); | ||||||
|             }, |             }, | ||||||
|             acl: { ability: ['USERCENTER-DRIVER-CAPTAIN-view'] } |             acl: { ability: ['USERCENTER-DRIVER-CAPTAIN-view'] } | ||||||
|           }, |           } | ||||||
|           // { |           // { | ||||||
|           //   text: '基础设置', |           //   text: '基础设置', | ||||||
|           //   click: item => this.settingAction(item), |           //   click: item => this.settingAction(item), | ||||||
|  | |||||||
| @ -39,10 +39,60 @@ | |||||||
| </page-header-wrapper> | </page-header-wrapper> | ||||||
|  |  | ||||||
|  |  | ||||||
| <nz-card [nzLoading]="service.http.loading"> | <nz-card [nzLoading]="service.http.loading" [nzBorderless]="true"> | ||||||
|  |   <div class="mb-md"> | ||||||
|  |     <div class="font-weight-blod text-md detail-title" style="justify-content: space-between;"> | ||||||
|  |       <div> | ||||||
|  |         <a class="sign"></a> | ||||||
|  |         <span>个人信息</span> | ||||||
|  |         <label *ngIf="userIdentityDetail?.certificationStatus===1" style="color: #52c41a;" class="ml-md"><i nz-icon | ||||||
|  |             nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过 | ||||||
|  |         </label> | ||||||
|  |         <label *ngIf="userIdentityDetail?.certificationStatus===2" style="color: #ff4d4f;" class="ml-md"><i nz-icon | ||||||
|  |             nzType="close-circle" nzTheme="fill" class="mr-xs"></i>驳回 驳回原因:{{userIdentityDetail?.certificationOpinions}} | ||||||
|  |         </label> | ||||||
|  |         <label *ngIf="faceStatus == 1" style="color: #bec8c8; position: relative; | ||||||
|  |   bottom: 2px;" class="ml-md"><i nz-icon nzType="check-circle" nzTheme="fill" class="mr-xs">人脸识别结果:已发起</i> | ||||||
|  |         </label> | ||||||
|  |         <label *ngIf="faceStatus == 0" style="color: #bec8c8;  position: relative; | ||||||
|  |   bottom: 2px;" class="ml-md"><i nz-icon nzType="check-circle" nzTheme="fill" class="mr-xs">人脸识别结果:无</i> | ||||||
|  |         </label> | ||||||
|  |         <label *ngIf="faceStatus == 2" style="color: #bec8c8;   position: relative; | ||||||
|  |   bottom: 2px;" class="ml-md"><i nz-icon nzType="check-circle" nzTheme="fill" class="mr-xs">人脸识别结果:进行中</i> | ||||||
|  |         </label> | ||||||
|  |         <label *ngIf="faceStatus == 3" style="color: #52c41a;     position: relative; | ||||||
|  |   bottom: 2px;" class="ml-md"><i nz-icon nzType="check-circle" nzTheme="fill" class="mr-xs">人脸识别结果:已成功</i> | ||||||
|  |         </label> | ||||||
|  |         <label *ngIf="faceStatus == 4" style="color: #ff4d4f;     position: relative; | ||||||
|  |   bottom: 2px;" class="ml-md"><i nz-icon nzType="check-circle" nzTheme="fill" | ||||||
|  |             class="mr-xs">人脸识别结果:已失败;失败原因:{{facetext}}</i> | ||||||
|  |         </label> | ||||||
|  |       </div> | ||||||
|  |       <div style="float: right;"> | ||||||
|  |         <ng-container *ngIf="isEditUser; else elseTemplate"> | ||||||
|  |           <button [disabled]="false" nz-button (click)="reset(0)"> | ||||||
|  |             取消 | ||||||
|  |           </button> | ||||||
|  |           <button [disabled]="false" nz-button nzDanger (click)="saveUser()"> | ||||||
|  |             保存 | ||||||
|  |           </button> | ||||||
|  |         </ng-container> | ||||||
|  |         <ng-template #elseTemplate> | ||||||
|  |           <button nz-button nzType="default" nzDanger (click)="approveUser()" | ||||||
|  |             *ngIf="userIdentityDetail?.certificationStatus===0" acl | ||||||
|  |             [acl-ability]="['USERCENTER-DRIVER-LIST-DETAIL-auditUser']">审核通过</button> | ||||||
|  |           <button nz-button nzType="default" nzDanger (click)="rejectedUser()" | ||||||
|  |             *ngIf="userIdentityDetail?.certificationStatus===0" acl | ||||||
|  |             [acl-ability]="['USERCENTER-DRIVER-LIST-DETAIL-auditUser']">驳回审核</button> | ||||||
|  |           <button nz-button nzType="default" nzDanger (click)="ratify(0)" acl | ||||||
|  |             [acl-ability]="['USERCENTER-DRIVER-LIST-DETAIL-editUser']">修改</button> | ||||||
|  |         </ng-template> | ||||||
|  |       </div> | ||||||
|  |     </div> | ||||||
|     <div [class]="isEditUser?'edit-box':'readOnly-box'"> |     <div [class]="isEditUser?'edit-box':'readOnly-box'"> | ||||||
|  |  | ||||||
|       <sv-container col="2"> |       <sv-container col="2"> | ||||||
|       <sv-title>个人信息 |         <!-- <sv-title>个人信息 | ||||||
|         <label *ngIf="userIdentityDetail?.certificationStatus===1" style="color: #52c41a;" class="ml-md"><i nz-icon |         <label *ngIf="userIdentityDetail?.certificationStatus===1" style="color: #52c41a;" class="ml-md"><i nz-icon | ||||||
|             nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过 |             nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过 | ||||||
|         </label> |         </label> | ||||||
| @ -85,7 +135,7 @@ | |||||||
|               [acl-ability]="['USERCENTER-DRIVER-LIST-DETAIL-editUser']">修改</button> |               [acl-ability]="['USERCENTER-DRIVER-LIST-DETAIL-editUser']">修改</button> | ||||||
|           </ng-template> |           </ng-template> | ||||||
|         </div> |         </div> | ||||||
|       </sv-title> |       </sv-title> --> | ||||||
|         <sv label="姓名"> |         <sv label="姓名"> | ||||||
|           <input nz-input type="text" [(ngModel)]="userIdentityDetail.name" [readonly]="!isEditUser" |           <input nz-input type="text" [(ngModel)]="userIdentityDetail.name" [readonly]="!isEditUser" | ||||||
|             [nzBorderless]="!isEditUser" [placeholder]="isEditUser?'':'-'"> |             [nzBorderless]="!isEditUser" [placeholder]="isEditUser?'':'-'"> | ||||||
| @ -96,14 +146,16 @@ | |||||||
|         </sv> |         </sv> | ||||||
|         <sv label="有效期" col="1"> |         <sv label="有效期" col="1"> | ||||||
|           <nz-date-picker [(ngModel)]="userIdentityDetail.validStartTime" [nzDisabled]="!isEditUser" nzPlaceHolder=" " |           <nz-date-picker [(ngModel)]="userIdentityDetail.validStartTime" [nzDisabled]="!isEditUser" nzPlaceHolder=" " | ||||||
|           [nzBorderless]="!isEditUser" [nzSuffixIcon]="isEditUser?'calendar':''" style="width: 110px;" class="calendar"> |             [nzBorderless]="!isEditUser" [nzSuffixIcon]="isEditUser?'calendar':''" style="width: 110px;" | ||||||
|  |             class="calendar"> | ||||||
|           </nz-date-picker> |           </nz-date-picker> | ||||||
|           - |           - | ||||||
|           <ng-container *ngIf="!isEditUser && !userIdentityDetail?.validEndTime && userIdentityDetail?.validStartTime"> |           <ng-container *ngIf="!isEditUser && !userIdentityDetail?.validEndTime && userIdentityDetail?.validStartTime"> | ||||||
|             <label style="padding-left: 11px;">长期</label> |             <label style="padding-left: 11px;">长期</label> | ||||||
|           </ng-container> |           </ng-container> | ||||||
|           <nz-date-picker [(ngModel)]="userIdentityDetail.validEndTime" [nzDisabled]="!isEditUser" nzPlaceHolder=" " |           <nz-date-picker [(ngModel)]="userIdentityDetail.validEndTime" [nzDisabled]="!isEditUser" nzPlaceHolder=" " | ||||||
|           [nzBorderless]="!isEditUser" [nzSuffixIcon]="isEditUser?'calendar':''" style="width: 110px;" class="calendar"> |             [nzBorderless]="!isEditUser" [nzSuffixIcon]="isEditUser?'calendar':''" style="width: 110px;" | ||||||
|  |             class="calendar"> | ||||||
|           </nz-date-picker> |           </nz-date-picker> | ||||||
|           <ng-container *ngIf="isEditUser"> |           <ng-container *ngIf="isEditUser"> | ||||||
|             <label nz-checkbox [ngModel]="!!!userIdentityDetail.validEndTime" |             <label nz-checkbox [ngModel]="!!!userIdentityDetail.validEndTime" | ||||||
| @ -123,11 +175,42 @@ | |||||||
|         </sv> |         </sv> | ||||||
|       </sv-container> |       </sv-container> | ||||||
|     </div> |     </div> | ||||||
|  |   </div> | ||||||
|  |  | ||||||
|   <nz-divider></nz-divider> |   <div class="mb-md"> | ||||||
|  |     <div class="font-weight-blod text-md detail-title" style="justify-content: space-between;"> | ||||||
|  |       <div> | ||||||
|  |         <a class="sign"></a> | ||||||
|  |         <span>驾驶证信息</span> | ||||||
|  |         <label *ngIf="driverDetail?.approvalStatus===20" style="color: #52c41a;" class="ml-md"><i nz-icon | ||||||
|  |             nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过 | ||||||
|  |         </label> | ||||||
|  |         <label *ngIf="driverDetail?.approvalStatus===30" style="color: #ff4d4f;" class="ml-md"><i nz-icon | ||||||
|  |             nzType="close-circle" nzTheme="fill" class="mr-xs"></i>驳回 | ||||||
|  |         </label> | ||||||
|  |       </div> | ||||||
|  |       <div> | ||||||
|  |         <ng-container *ngIf="isEditDriver;else editDriverButton"> | ||||||
|  |           <button [disabled]="false" nz-button (click)="reset(1)"> | ||||||
|  |             取消 | ||||||
|  |           </button> | ||||||
|  |           <button [disabled]="false" nz-button nzDanger (click)="saveDriver()"> | ||||||
|  |             保存 | ||||||
|  |           </button> | ||||||
|  |         </ng-container> | ||||||
|  |         <ng-template #editDriverButton> | ||||||
|  |           <button *ngIf="driverDetail?.approvalStatus==10" nz-button nzType="default" nzDanger (click)="approveDriver()" | ||||||
|  |             acl [acl-ability]="['USERCENTER-DRIVER-LIST-DETAIL-auditDriver']">审核通过</button> | ||||||
|  |           <button *ngIf="driverDetail?.approvalStatus==10" nz-button nzType="default" nzDanger | ||||||
|  |             (click)="rejectedDriver()" acl [acl-ability]="['USERCENTER-DRIVER-LIST-DETAIL-auditDriver']">驳回审核</button> | ||||||
|  |           <button nz-button nzType="default" nzDanger (click)="ratify(1)" acl | ||||||
|  |             [acl-ability]="['USERCENTER-DRIVER-LIST-DETAIL-editDriver']">修改</button> | ||||||
|  |         </ng-template> | ||||||
|  |       </div> | ||||||
|  |     </div> | ||||||
|     <div [class]="isEditDriver?'edit-box':'readOnly-box'"> |     <div [class]="isEditDriver?'edit-box':'readOnly-box'"> | ||||||
|       <sv-container col="3" class="mt16"> |       <sv-container col="3" class="mt16"> | ||||||
|       <sv-title>驾驶证信息 |         <!-- <sv-title>驾驶证信息 | ||||||
|         <label *ngIf="driverDetail?.approvalStatus===20" style="color: #52c41a;" class="ml-md"><i nz-icon |         <label *ngIf="driverDetail?.approvalStatus===20" style="color: #52c41a;" class="ml-md"><i nz-icon | ||||||
|             nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过 |             nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过 | ||||||
|         </label> |         </label> | ||||||
| @ -152,7 +235,7 @@ | |||||||
|               [acl-ability]="['USERCENTER-DRIVER-LIST-DETAIL-editDriver']">修改</button> |               [acl-ability]="['USERCENTER-DRIVER-LIST-DETAIL-editDriver']">修改</button> | ||||||
|           </ng-template> |           </ng-template> | ||||||
|         </div> |         </div> | ||||||
|       </sv-title> |       </sv-title> --> | ||||||
|         <sv label="驾驶证号"> |         <sv label="驾驶证号"> | ||||||
|           <input nz-input type="text" [(ngModel)]="driverDetail.licenseNo" [readonly]="!isEditDriver" |           <input nz-input type="text" [(ngModel)]="driverDetail.licenseNo" [readonly]="!isEditDriver" | ||||||
|             [nzBorderless]="!isEditDriver" [placeholder]="isEditDriver?'':'-'"> |             [nzBorderless]="!isEditDriver" [placeholder]="isEditDriver?'':'-'"> | ||||||
| @ -207,17 +290,28 @@ | |||||||
|           </ng-container> |           </ng-container> | ||||||
|         </sv> |         </sv> | ||||||
|       </sv-container> |       </sv-container> | ||||||
|  |     </div> | ||||||
|     <nz-divider></nz-divider> |   </div> | ||||||
|     <sv-container col="3" class="mt16"> |   <div class="mb-md"> | ||||||
|       <sv-title>从业资格证信息 |     <div class="font-weight-blod text-md detail-title"> | ||||||
|  |       <a class="sign"></a> | ||||||
|  |       <span>从业资格证信息</span> | ||||||
|       <label *ngIf="licenseDetail?.approvalStatus===20" style="color: #52c41a;" class="ml-md"> |       <label *ngIf="licenseDetail?.approvalStatus===20" style="color: #52c41a;" class="ml-md"> | ||||||
|         <i nz-icon nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过 |         <i nz-icon nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过 | ||||||
|       </label> |       </label> | ||||||
|       <label *ngIf="licenseDetail?.approvalStatus===30" style="color: #ff4d4f;" class="ml-md"> |       <label *ngIf="licenseDetail?.approvalStatus===30" style="color: #ff4d4f;" class="ml-md"> | ||||||
|         <i nz-icon nzType="close-circle" nzTheme="fill" class="mr-xs"></i>驳回 |         <i nz-icon nzType="close-circle" nzTheme="fill" class="mr-xs"></i>驳回 | ||||||
|       </label> |       </label> | ||||||
|       </sv-title> |     </div> | ||||||
|  |     <sv-container col="3" class="mt16"> | ||||||
|  |       <!-- <sv-title>从业资格证信息 | ||||||
|  |         <label *ngIf="licenseDetail?.approvalStatus===20" style="color: #52c41a;" class="ml-md"> | ||||||
|  |           <i nz-icon nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过 | ||||||
|  |         </label> | ||||||
|  |         <label *ngIf="licenseDetail?.approvalStatus===30" style="color: #ff4d4f;" class="ml-md"> | ||||||
|  |           <i nz-icon nzType="close-circle" nzTheme="fill" class="mr-xs"></i>驳回 | ||||||
|  |         </label> | ||||||
|  |       </sv-title> --> | ||||||
|       <sv label="从业资格证号"> |       <sv label="从业资格证号"> | ||||||
|         <input nz-input type="text" [(ngModel)]="licenseDetail.licenseNo" [readonly]="!isEditDriver" |         <input nz-input type="text" [(ngModel)]="licenseDetail.licenseNo" [readonly]="!isEditDriver" | ||||||
|           [nzBorderless]="!isEditDriver" [placeholder]="isEditDriver?'':'-'"> |           [nzBorderless]="!isEditDriver" [placeholder]="isEditDriver?'':'-'"> | ||||||
| @ -262,9 +356,14 @@ | |||||||
|     </sv-container> |     </sv-container> | ||||||
|   </div> |   </div> | ||||||
|  |  | ||||||
|   <nz-divider></nz-divider> |   <div class="mb-md"> | ||||||
|  |     <div class="font-weight-blod text-md detail-title"> | ||||||
|  |       <a class="sign"></a> | ||||||
|  |       <span>载具信息</span> | ||||||
|  |       <ng-container *ngIf="carList?.length===0">(暂无载具信息)</ng-container> | ||||||
|  |     </div> | ||||||
|     <sv-container col="3" class="mt16"> |     <sv-container col="3" class="mt16"> | ||||||
|     <sv-title>载具信息</sv-title> |       <!-- <sv-title>载具信息</sv-title> --> | ||||||
|       <ng-container *ngFor="let carDatail of carList"> |       <ng-container *ngFor="let carDatail of carList"> | ||||||
|         <sv label="车牌号"> |         <sv label="车牌号"> | ||||||
|           {{ carDatail?.carNo }} |           {{ carDatail?.carNo }} | ||||||
| @ -285,7 +384,8 @@ | |||||||
|           {{ carDatail?.isSelf?'否':'是' }} |           {{ carDatail?.isSelf?'否':'是' }} | ||||||
|         </sv> |         </sv> | ||||||
|         <sv label="行驶证照片" col="1"> |         <sv label="行驶证照片" col="1"> | ||||||
|         <app-imagelist [imgList]="[carDatail?.certificatePhotoFrontWatermark,carDatail?.certificatePhotoBackWatermark]"> |           <app-imagelist | ||||||
|  |             [imgList]="[carDatail?.certificatePhotoFrontWatermark,carDatail?.certificatePhotoBackWatermark]"> | ||||||
|           </app-imagelist> |           </app-imagelist> | ||||||
|         </sv> |         </sv> | ||||||
|         <sv label="道路运输证照片" col="3"> |         <sv label="道路运输证照片" col="3"> | ||||||
| @ -298,10 +398,17 @@ | |||||||
|       </ng-container> |       </ng-container> | ||||||
|  |  | ||||||
|     </sv-container> |     </sv-container> | ||||||
|  |   </div> | ||||||
|  |  | ||||||
|  |   <div class="mb-md"> | ||||||
|  |     <div class="font-weight-blod text-md detail-title"> | ||||||
|  |       <a class="sign"></a> | ||||||
|  |       <span>银行结算信息</span> | ||||||
|  |       <ng-container *ngIf="bankList?.length===0">(暂无银行信息)</ng-container> | ||||||
|  |     </div> | ||||||
|     <sv-container col="3" class="mt-md"> |     <sv-container col="3" class="mt-md"> | ||||||
|     <sv-title>银行结算信息 <ng-container *ngIf="bankList?.length===0">(暂无银行信息)</ng-container> |       <!-- <sv-title>银行结算信息 <ng-container *ngIf="bankList?.length===0">(暂无银行信息)</ng-container> | ||||||
|     </sv-title> |     </sv-title> --> | ||||||
|       <ng-container *ngFor="let item of bankList"> |       <ng-container *ngFor="let item of bankList"> | ||||||
|         <sv label="开户银行"> |         <sv label="开户银行"> | ||||||
|           {{ item.bankName }} |           {{ item.bankName }} | ||||||
| @ -311,24 +418,33 @@ | |||||||
|         </sv> |         </sv> | ||||||
|       </ng-container> |       </ng-container> | ||||||
|     </sv-container> |     </sv-container> | ||||||
|  |   </div> | ||||||
|   <nz-divider></nz-divider> |   <div class="mb-md"> | ||||||
|   <sv-container col="3" class="mt-md"> |     <div class="font-weight-blod text-md detail-title"> | ||||||
|     <sv-title>服务评级 |       <a class="sign"></a> | ||||||
|  |       <span>服务评级</span> | ||||||
|       <ng-container *ngIf="billEvaluateList?.length===0">(暂无评级)</ng-container> |       <ng-container *ngIf="billEvaluateList?.length===0">(暂无评级)</ng-container> | ||||||
|     </sv-title> |     </div> | ||||||
|  |     <sv-container col="3" class="mt-md"> | ||||||
|  |       <!-- <sv-title>服务评级 | ||||||
|  |       <ng-container *ngIf="billEvaluateList?.length===0">(暂无评级)</ng-container> | ||||||
|  |     </sv-title> --> | ||||||
|       <sv [label]="item.evaluateTypeLabel" *ngFor="let item of billEvaluateList"> |       <sv [label]="item.evaluateTypeLabel" *ngFor="let item of billEvaluateList"> | ||||||
|         <nz-rate [ngModel]="item.evaluateFraction" nzDisabled></nz-rate> |         <nz-rate [ngModel]="item.evaluateFraction" nzDisabled></nz-rate> | ||||||
|       </sv> |       </sv> | ||||||
|     </sv-container> |     </sv-container> | ||||||
|  |   </div> | ||||||
|  |  | ||||||
|   <sv-container col="3" class="mt-md"> |   <div class="mb-md"> | ||||||
|     <sv-title>关联企业</sv-title> |     <div class="font-weight-blod text-md detail-title"> | ||||||
|  |       <a class="sign"></a> | ||||||
|  |       <span>关联企业</span> | ||||||
|  |     </div> | ||||||
|     <st #st [columns]="columns" [data]="service.$api_get_driver_projects" size="small" |     <st #st [columns]="columns" [data]="service.$api_get_driver_projects" size="small" | ||||||
|       [req]="{ method: 'POST', allInBody: true, params: {appUserId:route.snapshot.params.id} }" [page]="{ show: false }" |       [req]="{ method: 'POST', allInBody: true, params: {appUserId:route.snapshot.params.id} }" [page]="{ show: false }" | ||||||
|       [res]="{ reName: { list: 'data' } }" style="width: 100%;"> |       [res]="{ reName: { list: 'data' } }" style="width: 100%;"> | ||||||
|     </st> |     </st> | ||||||
|   </sv-container> |   </div> | ||||||
| </nz-card> | </nz-card> | ||||||
|  |  | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,16 +1,5 @@ | |||||||
| <!-- | <!-- <page-header-wrapper></page-header-wrapper> | ||||||
|  * @Author: your name |  | ||||||
|  * @Date: 2021-11-29 15:22:34 |  | ||||||
|  * @LastEditTime : 2022-03-09 16:04:08 |  | ||||||
|  * @LastEditors  : Shiming |  | ||||||
|  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |  | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\usercenter\\components\\driver\\driver-config\\driver-config.component.html |  | ||||||
| --> |  | ||||||
| <!-- 页头 --> |  | ||||||
| <page-header-wrapper></page-header-wrapper> |  | ||||||
| <nz-card> | <nz-card> | ||||||
|   <!-- 搜索区 --> |  | ||||||
|   <!-- 搜索表单 --> |  | ||||||
|   <div nz-row nzGutter="8"> |   <div nz-row nzGutter="8"> | ||||||
|     <div nz-col [nzXl]=" 18" [nzLg]="24" [nzSm]="24" [nzXs]="24"> |     <div nz-col [nzXl]=" 18" [nzLg]="24" [nzSm]="24" [nzXs]="24"> | ||||||
|       <sf #sf [schema]="schema" [ui]="{ '*': { spanLabelFixed: 120, grid: { lg: 8, md: 12, sm: 12, xs: 24 } } }" [compact]="true" [button]="'none'"></sf> |       <sf #sf [schema]="schema" [ui]="{ '*': { spanLabelFixed: 120, grid: { lg: 8, md: 12, sm: 12, xs: 24 } } }" [compact]="true" [button]="'none'"></sf> | ||||||
| @ -21,17 +10,22 @@ | |||||||
|       <button nz-button nzType="primary" [disabled]="false" (click)="exportList()" acl |       <button nz-button nzType="primary" [disabled]="false" (click)="exportList()" acl | ||||||
|         [acl-ability]="['USERCENTER-DRIVER-CONFIG-export']">导出</button> |         [acl-ability]="['USERCENTER-DRIVER-CONFIG-export']">导出</button> | ||||||
|       <button nz-button (click)="resetSF()" [disabled]="false">重置</button> |       <button nz-button (click)="resetSF()" [disabled]="false">重置</button> | ||||||
|       <!-- <button nz-button nzType="link" (click)="expandToggle()"> |  | ||||||
|         {{ !_$expand ? '展开' : '收起' }} |  | ||||||
|         <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> |  | ||||||
|       </button> --> |  | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </div> | ||||||
| </nz-card> | </nz-card> --> | ||||||
| <nz-card> | <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]="service.http.loading" (click)="openDrawer()" acl | ||||||
|  |         [acl-ability]="['USERCENTER-DRIVER-CONFIG-search']">筛选</button> | ||||||
|  |       <button nz-button nzDanger (click)="exportList()" acl [acl-ability]="['USERCENTER-DRIVER-CONFIG-export']"> | ||||||
|  |         导出</button> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|   <!-- 数据列表 --> |   <!-- 数据列表 --> | ||||||
|   <st #st [columns]="columns"  [scroll]="{ x: '1200px' }"[data]="service.$api_configPage" [req]="{  params: reqParams }" |   <st #st [columns]="columns" [scroll]="{ x: '1200px',y:scrollY }" [data]="service.$api_configPage" [req]="{  params: reqParams }" | ||||||
|     [loading]="false" [page]={}> |     [loading]="false" [page]="{}"> | ||||||
|     <ng-template st-row="monthFreightAmount" let-item let-index="index"> |     <ng-template st-row="monthFreightAmount" let-item let-index="index"> | ||||||
|       <div>{{item?.monthFreightAmount | currency}}</div> |       <div>{{item?.monthFreightAmount | currency}}</div> | ||||||
|     </ng-template> |     </ng-template> | ||||||
|  | |||||||
| @ -2,21 +2,23 @@ import { Component, OnInit, ViewChild } from '@angular/core'; | |||||||
| import { ActivatedRoute } from '@angular/router'; | import { ActivatedRoute } from '@angular/router'; | ||||||
| import { STColumn, STComponent } from '@delon/abc/st'; | import { STColumn, STComponent } from '@delon/abc/st'; | ||||||
| import { SFComponent, SFSchema } from '@delon/form'; | import { SFComponent, SFSchema } from '@delon/form'; | ||||||
| import { DynamicSettingModalComponent } from '@shared'; | import { DynamicSettingModalComponent, SearchDrawerService } from '@shared'; | ||||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | import { NzModalService } from 'ng-zorro-antd/modal'; | ||||||
|  | import { BasicTableComponent } from 'src/app/routes/commom'; | ||||||
| import { UsermanageService } from '../../../services/usercenter.service'; | import { UsermanageService } from '../../../services/usercenter.service'; | ||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-usercenter-components-driver-config', |   selector: 'app-usercenter-components-driver-config', | ||||||
|   templateUrl: './driver-config.component.html', |   templateUrl: './driver-config.component.html', | ||||||
|   styleUrls: ['./driver-config.component.less'] |   styleUrls: ['../../../../commom/less/commom-table.less'] | ||||||
| }) | }) | ||||||
| export class UserCenterComponentsDriverConfigComponent implements OnInit { | export class UserCenterComponentsDriverConfigComponent extends BasicTableComponent implements OnInit { | ||||||
|   schema: SFSchema = this.initSF(); |   schema: SFSchema = this.initSF(); | ||||||
|   columns: STColumn[] = this.initST(); |   columns: STColumn[] = this.initST(); | ||||||
|   @ViewChild('st', { static: false }) st!: STComponent; |   @ViewChild('st', { static: false }) st!: STComponent; | ||||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; |  | ||||||
|  |  | ||||||
|   constructor(public service: UsermanageService, private modal: NzModalService) {} |   constructor(public service: UsermanageService, private modal: NzModalService, public searchDrawerService: SearchDrawerService) { | ||||||
|  |     super(searchDrawerService); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * 查询参数 |    * 查询参数 | ||||||
| @ -33,6 +35,10 @@ export class UserCenterComponentsDriverConfigComponent implements OnInit { | |||||||
|  |  | ||||||
|   ngOnInit() {} |   ngOnInit() {} | ||||||
|  |  | ||||||
|  |   search() { | ||||||
|  |     this.st?.load(1); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   settingAction(item?: any) { |   settingAction(item?: any) { | ||||||
|     const modal = this.modal.create({ |     const modal = this.modal.create({ | ||||||
|       nzTitle: '配置', |       nzTitle: '配置', | ||||||
|  | |||||||
| @ -114,10 +114,11 @@ | |||||||
|   </ng-template> |   </ng-template> | ||||||
| </page-header-wrapper> | </page-header-wrapper> | ||||||
|  |  | ||||||
| <nz-card [class]="isEdit?'edit-box':'readOnly-box'"> | <nz-card [class]="isEdit?'edit-box':'readOnly-box'" [nzBorderless]="true"> | ||||||
|   <sv-container col="2" class="mt16"> |   <div class="mb-md"> | ||||||
|     <sv-title> |     <div class="font-weight-blod text-md detail-title"> | ||||||
|       <label class="mr-md">企业基本信息</label> |       <a class="sign"></a> | ||||||
|  |       <span class="mr-xs">企业基本信息</span> | ||||||
|       <label *ngIf="detailData?.approvalStatus===10" style="color: #1890ff;"><i nz-icon nzType="info-circle" |       <label *ngIf="detailData?.approvalStatus===10" style="color: #1890ff;"><i nz-icon nzType="info-circle" | ||||||
|           nzTheme="fill" class="mr-xs"></i>待审核 |           nzTheme="fill" class="mr-xs"></i>待审核 | ||||||
|       </label> |       </label> | ||||||
| @ -130,6 +131,23 @@ | |||||||
|       <label *ngIf="detailData?.isExpired" style="color: #fa8c16;"> |       <label *ngIf="detailData?.isExpired" style="color: #fa8c16;"> | ||||||
|         <i nz-icon nzType="info-circle" nzTheme="fill" class="ml-md mr-xs"></i>企业营业期限已过期 |         <i nz-icon nzType="info-circle" nzTheme="fill" class="ml-md mr-xs"></i>企业营业期限已过期 | ||||||
|       </label> |       </label> | ||||||
|  |     </div> | ||||||
|  |  | ||||||
|  |     <sv-container col="2" class="mt16"> | ||||||
|  |       <sv-title> | ||||||
|  |         <!-- <label class="mr-md">企业基本信息</label> | ||||||
|  |       <label *ngIf="detailData?.approvalStatus===10" style="color: #1890ff;"><i nz-icon nzType="info-circle" | ||||||
|  |           nzTheme="fill" class="mr-xs"></i>待审核 | ||||||
|  |       </label> | ||||||
|  |       <label *ngIf="detailData?.approvalStatus===20" style="color: #52c41a;"><i nz-icon nzType="check-circle" | ||||||
|  |           nzTheme="fill" class="mr-xs"></i>审核通过 | ||||||
|  |       </label> | ||||||
|  |       <label *ngIf="detailData?.approvalStatus===30" style="color: #ff4d4f;"><i nz-icon nzType="close-circle" | ||||||
|  |           nzTheme="fill" class="mr-xs"></i>驳回 驳回原因:{{detailData?.approvalOpinion}} | ||||||
|  |       </label> | ||||||
|  |       <label *ngIf="detailData?.isExpired" style="color: #fa8c16;"> | ||||||
|  |         <i nz-icon nzType="info-circle" nzTheme="fill" class="ml-md mr-xs"></i>企业营业期限已过期 | ||||||
|  |       </label> --> | ||||||
|         <p style="margin-bottom: 0;"> |         <p style="margin-bottom: 0;"> | ||||||
|           四要素验证: |           四要素验证: | ||||||
|           <label *ngIf="detailData?.esignCheckStatus===0" style="color: #ff4d4f;"><i nz-icon nzType="info-circle" |           <label *ngIf="detailData?.esignCheckStatus===0" style="color: #ff4d4f;"><i nz-icon nzType="info-circle" | ||||||
| @ -187,7 +205,8 @@ | |||||||
|       </sv> |       </sv> | ||||||
|       <sv label="成立日期"> |       <sv label="成立日期"> | ||||||
|         <nz-date-picker [(ngModel)]="detailData.enterpriseRegistrationTime" [nzDisabled]="!isEdit" |         <nz-date-picker [(ngModel)]="detailData.enterpriseRegistrationTime" [nzDisabled]="!isEdit" | ||||||
|         [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"></nz-date-picker> |           [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"> | ||||||
|  |         </nz-date-picker> | ||||||
|       </sv> |       </sv> | ||||||
|       <sv label="营业期限"> |       <sv label="营业期限"> | ||||||
|         <nz-date-picker [(ngModel)]="detailData.operatingStartTime" [nzDisabled]="!isEdit" nzPlaceHolder=" " |         <nz-date-picker [(ngModel)]="detailData.operatingStartTime" [nzDisabled]="!isEdit" nzPlaceHolder=" " | ||||||
| @ -241,8 +260,8 @@ | |||||||
|       </sv> |       </sv> | ||||||
|       <sv label="经营范围" col="1"> |       <sv label="经营范围" col="1"> | ||||||
|         <ng-container *ngIf="isEdit; else businessScopeelseTemplate"> |         <ng-container *ngIf="isEdit; else businessScopeelseTemplate"> | ||||||
|         <input nz-input type="text" [(ngModel)]="detailData.businessScope" [readonly]="!isEdit" [nzBorderless]="!isEdit" |           <input nz-input type="text" [(ngModel)]="detailData.businessScope" [readonly]="!isEdit" | ||||||
|           [placeholder]="isEdit?'':'-'"> |             [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> | ||||||
|         </ng-container> |         </ng-container> | ||||||
|         <ng-template #businessScopeelseTemplate> |         <ng-template #businessScopeelseTemplate> | ||||||
|           <span style="word-break:break-all ">{{detailData.businessScope}}</span> |           <span style="word-break:break-all ">{{detailData.businessScope}}</span> | ||||||
| @ -263,20 +282,28 @@ | |||||||
|         </ng-container> |         </ng-container> | ||||||
|       </sv> |       </sv> | ||||||
|     </sv-container> |     </sv-container> | ||||||
|   <nz-divider></nz-divider> |   </div> | ||||||
|   <sv-container col="3" class="mt16"> |   <div class="mb-md"> | ||||||
|     <sv-title>法人信息 |     <div class="font-weight-blod text-md detail-title"> | ||||||
|  |       <a class="sign"></a> | ||||||
|  |       <span>法人信息</span> | ||||||
|       <label *ngIf="detailData?.legalPersonIdentityVO?.isExpired" style="color: #fa8c16;"> |       <label *ngIf="detailData?.legalPersonIdentityVO?.isExpired" style="color: #fa8c16;"> | ||||||
|         <i nz-icon nzType="info-circle" nzTheme="fill" class="ml-md mr-xs"></i>法人身份证期限已过期 |         <i nz-icon nzType="info-circle" nzTheme="fill" class="ml-md mr-xs"></i>法人身份证期限已过期 | ||||||
|       </label> |       </label> | ||||||
|     </sv-title> |     </div> | ||||||
|  |     <sv-container col="3" class="mt16"> | ||||||
|  |       <!-- <sv-title>法人信息 | ||||||
|  |       <label *ngIf="detailData?.legalPersonIdentityVO?.isExpired" style="color: #fa8c16;"> | ||||||
|  |         <i nz-icon nzType="info-circle" nzTheme="fill" class="ml-md mr-xs"></i>法人身份证期限已过期 | ||||||
|  |       </label> | ||||||
|  |     </sv-title> --> | ||||||
|       <sv label="法定代表人"> |       <sv label="法定代表人"> | ||||||
|         <input nz-input type="text" maxlength="32" [(ngModel)]="detailData.legalPersonIdentityVO.name" |         <input nz-input type="text" maxlength="32" [(ngModel)]="detailData.legalPersonIdentityVO.name" | ||||||
|           [readonly]="!isEdit" [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |           [readonly]="!isEdit" [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> | ||||||
|       </sv> |       </sv> | ||||||
|       <sv label="身份证号码"> |       <sv label="身份证号码"> | ||||||
|       <input nz-input type="text" [(ngModel)]="detailData.legalPersonIdentityVO.certificateNumber" [readonly]="!isEdit" |         <input nz-input type="text" [(ngModel)]="detailData.legalPersonIdentityVO.certificateNumber" | ||||||
|         [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |           [readonly]="!isEdit" [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> | ||||||
|       </sv> |       </sv> | ||||||
|       <sv label="身份证有效期" col="1"> |       <sv label="身份证有效期" col="1"> | ||||||
|         <nz-date-picker [(ngModel)]="detailData.legalPersonIdentityVO.validStartTime" [nzDisabled]="!isEdit" |         <nz-date-picker [(ngModel)]="detailData.legalPersonIdentityVO.validStartTime" [nzDisabled]="!isEdit" | ||||||
| @ -306,13 +333,21 @@ | |||||||
|         </div> |         </div> | ||||||
|       </sv> |       </sv> | ||||||
|     </sv-container> |     </sv-container> | ||||||
|   <nz-divider></nz-divider> |   </div> | ||||||
|   <sv-container col="3"> |   <div class="mb-md"> | ||||||
|     <sv-title>企业管理员信息 |     <div class="font-weight-blod text-md detail-title"> | ||||||
|  |       <a class="sign"></a> | ||||||
|  |       <span>企业管理员信息</span> | ||||||
|       <label *ngIf="detailData?.adminUserInfo?.isExpired" style="color: #fa8c16;"> |       <label *ngIf="detailData?.adminUserInfo?.isExpired" style="color: #fa8c16;"> | ||||||
|         <i nz-icon nzType="info-circle" nzTheme="fill" class="ml-md mr-xs"></i>企业营业期限已过期 |         <i nz-icon nzType="info-circle" nzTheme="fill" class="ml-md mr-xs"></i>企业营业期限已过期 | ||||||
|       </label> |       </label> | ||||||
|     </sv-title> |     </div> | ||||||
|  |     <sv-container col="3"> | ||||||
|  |       <!-- <sv-title>企业管理员信息 | ||||||
|  |       <label *ngIf="detailData?.adminUserInfo?.isExpired" style="color: #fa8c16;"> | ||||||
|  |         <i nz-icon nzType="info-circle" nzTheme="fill" class="ml-md mr-xs"></i>企业营业期限已过期 | ||||||
|  |       </label> | ||||||
|  |     </sv-title> --> | ||||||
|       <sv label="姓名"> |       <sv label="姓名"> | ||||||
|         <input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.name" [readonly]="!isEdit" |         <input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.name" [readonly]="!isEdit" | ||||||
|           [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> |           [nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> | ||||||
| @ -335,10 +370,14 @@ | |||||||
|         </div> |         </div> | ||||||
|       </sv> |       </sv> | ||||||
|     </sv-container> |     </sv-container> | ||||||
|  |   </div> | ||||||
|   <nz-divider></nz-divider> |   <div class="mb-md"> | ||||||
|  |     <div class="font-weight-blod text-md detail-title"> | ||||||
|  |       <a class="sign"></a> | ||||||
|  |       <span>企业开票信息</span> | ||||||
|  |     </div> | ||||||
|     <sv-container col="3" class="mt16"> |     <sv-container col="3" class="mt16"> | ||||||
|     <sv-title>企业开票信息</sv-title> |       <!-- <sv-title>企业开票信息</sv-title> --> | ||||||
|       <sv label="开户银行"> |       <sv label="开户银行"> | ||||||
|         <ng-container *ngIf="isEdit; else createBankTemplate"> |         <ng-container *ngIf="isEdit; else createBankTemplate"> | ||||||
|           <input nz-input type="text" [(ngModel)]="detailData.createBank" [readonly]="!isEdit" [nzBorderless]="!isEdit" |           <input nz-input type="text" [(ngModel)]="detailData.createBank" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||||
| @ -366,15 +405,22 @@ | |||||||
|         </ng-template> |         </ng-template> | ||||||
|       </sv> |       </sv> | ||||||
|     </sv-container> |     </sv-container> | ||||||
|   <nz-divider></nz-divider> |   </div> | ||||||
|   <sv-container col="3" class="mt-md"> |   <div class="mb-md"> | ||||||
|     <sv-title>服务评级 |     <div class="font-weight-blod text-md detail-title"> | ||||||
|  |       <a class="sign"></a> | ||||||
|  |       <span>服务评级</span> | ||||||
|       <ng-container *ngIf="billEvaluateList?.length===0">(暂无评级)</ng-container> |       <ng-container *ngIf="billEvaluateList?.length===0">(暂无评级)</ng-container> | ||||||
|     </sv-title> |     </div> | ||||||
|  |     <sv-container col="3" class="mt-md"> | ||||||
|  |       <!-- <sv-title>服务评级 | ||||||
|  |       <ng-container *ngIf="billEvaluateList?.length===0">(暂无评级)</ng-container> | ||||||
|  |     </sv-title> --> | ||||||
|       <sv [label]="item.evaluateTypeLabel" *ngFor="let item of billEvaluateList"> |       <sv [label]="item.evaluateTypeLabel" *ngFor="let item of billEvaluateList"> | ||||||
|         <nz-rate [ngModel]="item.evaluateFraction" nzDisabled></nz-rate> |         <nz-rate [ngModel]="item.evaluateFraction" nzDisabled></nz-rate> | ||||||
|       </sv> |       </sv> | ||||||
|     </sv-container> |     </sv-container> | ||||||
|  |   </div> | ||||||
|   <!-- <nz-divider></nz-divider> --> |   <!-- <nz-divider></nz-divider> --> | ||||||
|   <!-- <sv-container col="3" class="mt16"> |   <!-- <sv-container col="3" class="mt16"> | ||||||
|     <sv-title>合伙人信息</sv-title> |     <sv-title>合伙人信息</sv-title> | ||||||
|  | |||||||
| @ -46,9 +46,42 @@ | |||||||
|     </ng-template> |     </ng-template> | ||||||
|   </page-header-wrapper> |   </page-header-wrapper> | ||||||
|  |  | ||||||
|   <nz-card [nzLoading]="service.http.loading"> |   <nz-card [nzLoading]="service.http.loading" [nzBorderless]="true" style="height: 100%;"> | ||||||
|  |     <div class="mb-md"> | ||||||
|  |       <div class="font-weight-blod text-md detail-title" style="justify-content: space-between;"> | ||||||
|  |         <div> | ||||||
|  |           <a class="sign"></a> | ||||||
|  |           <span>个人信息</span> | ||||||
|  |           <label *ngIf="userIdentityDetail?.certificationStatus===1" style="color: #52c41a;"><i nz-icon | ||||||
|  |               nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过 | ||||||
|  |           </label> | ||||||
|  |           <label *ngIf="userIdentityDetail?.certificationStatus===2" style="color: #ff4d4f;"><i nz-icon | ||||||
|  |               nzType="close-circle" nzTheme="fill" class="mr-xs"></i>驳回 | ||||||
|  |           </label> | ||||||
|  |         </div> | ||||||
|  |         <div> | ||||||
|  |           <ng-container *ngIf="isEditUser; else elseTemplate"> | ||||||
|  |             <button [nzLoading]="service.http.loading" nz-button (click)="reset()"> | ||||||
|  |               取消 | ||||||
|  |             </button> | ||||||
|  |             <button [nzLoading]="service.http.loading" nz-button nzDanger (click)="saveUser()"> | ||||||
|  |               保存 | ||||||
|  |             </button> | ||||||
|  |           </ng-container> | ||||||
|  |           <ng-template #elseTemplate> | ||||||
|  |             <button nz-button nzType="default" nzDanger (click)="auditPass()" | ||||||
|  |               *ngIf="userIdentityDetail.certificationStatus===0" [nzLoading]="service.http.loading" acl | ||||||
|  |               [acl-ability]="['USERCENTER-FREIGHT-USER-D-audit']">审核通过</button> | ||||||
|  |             <button nz-button nzType="default" nzDanger (click)="auditNo()" | ||||||
|  |               *ngIf="userIdentityDetail.certificationStatus===0" [nzLoading]="service.http.loading" acl | ||||||
|  |               [acl-ability]="['USERCENTER-FREIGHT-USER-D-audit']">驳回审核</button> | ||||||
|  |             <button nz-button nzType="default" nzDanger (click)="ratify()" acl | ||||||
|  |               [acl-ability]="['USERCENTER-FREIGHT-USER-D-edit']">修改</button> | ||||||
|  |           </ng-template> | ||||||
|  |         </div> | ||||||
|  |       </div> | ||||||
|       <sv-container col="2"> |       <sv-container col="2"> | ||||||
|       <sv-title>个人信息 |         <!-- <sv-title>个人信息 | ||||||
|         <label *ngIf="userIdentityDetail?.certificationStatus===1" style="color: #52c41a;"><i nz-icon |         <label *ngIf="userIdentityDetail?.certificationStatus===1" style="color: #52c41a;"><i nz-icon | ||||||
|             nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过 |             nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过 | ||||||
|         </label> |         </label> | ||||||
| @ -71,25 +104,28 @@ | |||||||
|             <button nz-button nzType="default" nzDanger (click)="ratify()"  acl [acl-ability]="['USERCENTER-FREIGHT-USER-D-edit']" >修改</button> |             <button nz-button nzType="default" nzDanger (click)="ratify()"  acl [acl-ability]="['USERCENTER-FREIGHT-USER-D-edit']" >修改</button> | ||||||
|           </ng-template> |           </ng-template> | ||||||
|         </div> |         </div> | ||||||
|       </sv-title> |       </sv-title> --> | ||||||
|         <sv label="姓名"> |         <sv label="姓名"> | ||||||
|           <input nz-input type="text" [maxlength]="32" [(ngModel)]="userIdentityDetail.name" [readonly]="!isEditUser" |           <input nz-input type="text" [maxlength]="32" [(ngModel)]="userIdentityDetail.name" [readonly]="!isEditUser" | ||||||
|             [nzBorderless]="!isEditUser" [placeholder]="isEditUser?'':'-'"> |             [nzBorderless]="!isEditUser" [placeholder]="isEditUser?'':'-'"> | ||||||
|         </sv> |         </sv> | ||||||
|         <sv label="身份证号码"> |         <sv label="身份证号码"> | ||||||
|         <input nz-input type="text" [minlength]="18"  [maxlength]="18" [(ngModel)]="userIdentityDetail.certificateNumber" [readonly]="!isEditUser" |           <input nz-input type="text" [minlength]="18" [maxlength]="18" | ||||||
|           [nzBorderless]="!isEditUser" [placeholder]="isEditUser?'':'-'"> |             [(ngModel)]="userIdentityDetail.certificateNumber" [readonly]="!isEditUser" [nzBorderless]="!isEditUser" | ||||||
|  |             [placeholder]="isEditUser?'':'-'"> | ||||||
|         </sv> |         </sv> | ||||||
|         <sv label="有效期" col="1"> |         <sv label="有效期" col="1"> | ||||||
|           <nz-date-picker [(ngModel)]="userIdentityDetail.validStartTime" [nzDisabled]="!isEditUser" nzPlaceHolder=" " |           <nz-date-picker [(ngModel)]="userIdentityDetail.validStartTime" [nzDisabled]="!isEditUser" nzPlaceHolder=" " | ||||||
|           [nzBorderless]="!isEditUser" [nzSuffixIcon]="isEditUser?'calendar':''" style="width: 130px;" class="calendar"> |             [nzBorderless]="!isEditUser" [nzSuffixIcon]="isEditUser?'calendar':''" style="width: 130px;" | ||||||
|  |             class="calendar"> | ||||||
|           </nz-date-picker> |           </nz-date-picker> | ||||||
|           - |           - | ||||||
|           <ng-container *ngIf="!isEditUser && !userIdentityDetail?.validEndTime && userIdentityDetail?.validStartTime"> |           <ng-container *ngIf="!isEditUser && !userIdentityDetail?.validEndTime && userIdentityDetail?.validStartTime"> | ||||||
|             <label style="padding-left: 11px;">长期</label> |             <label style="padding-left: 11px;">长期</label> | ||||||
|           </ng-container> |           </ng-container> | ||||||
|           <nz-date-picker [(ngModel)]="userIdentityDetail.validEndTime" [nzDisabled]="!isEditUser" nzPlaceHolder=" " |           <nz-date-picker [(ngModel)]="userIdentityDetail.validEndTime" [nzDisabled]="!isEditUser" nzPlaceHolder=" " | ||||||
|           [nzBorderless]="!isEditUser" [nzSuffixIcon]="isEditUser?'calendar':''" style="width: 130px;" class="calendar"> |             [nzBorderless]="!isEditUser" [nzSuffixIcon]="isEditUser?'calendar':''" style="width: 130px;" | ||||||
|  |             class="calendar"> | ||||||
|           </nz-date-picker> |           </nz-date-picker> | ||||||
|           <ng-container *ngIf="isEditUser"> |           <ng-container *ngIf="isEditUser"> | ||||||
|             <label nz-checkbox [ngModel]="!!!userIdentityDetail.validEndTime" |             <label nz-checkbox [ngModel]="!!!userIdentityDetail.validEndTime" | ||||||
| @ -107,15 +143,21 @@ | |||||||
|           </div> |           </div> | ||||||
|         </sv> |         </sv> | ||||||
|       </sv-container> |       </sv-container> | ||||||
|     <nz-divider></nz-divider> |     </div> | ||||||
|     <sv-container col="3" class="mt16"> |  | ||||||
|       <sv-title>关联企业</sv-title> |     <div class="mb-md"> | ||||||
|  |       <div class="font-weight-blod text-md detail-title"> | ||||||
|  |         <a class="sign"></a> | ||||||
|  |         <span>关联企业</span> | ||||||
|  |       </div> | ||||||
|  |  | ||||||
|  |       <!-- <sv-title>关联企业</sv-title> --> | ||||||
|       <st #st [columns]="columns" [data]="service.$api_get_driver_projects" size="small" |       <st #st [columns]="columns" [data]="service.$api_get_driver_projects" size="small" | ||||||
|         [req]="{ method: 'POST', allInBody: true, params: {appUserId:route.snapshot.params.id} }" |         [req]="{ method: 'POST', allInBody: true, params: {appUserId:route.snapshot.params.id} }" | ||||||
|         [res]="{ reName: { list: 'data' } }" [page]="{ show: false }" style="width: 100%;"> |         [res]="{ reName: { list: 'data' } }" [page]="{ show: false }" style="width: 100%;"> | ||||||
|       </st> |       </st> | ||||||
|     </sv-container> |  | ||||||
|  |  | ||||||
|  |     </div> | ||||||
|   </nz-card> |   </nz-card> | ||||||
| </ng-container> | </ng-container> | ||||||
|  |  | ||||||
|  | |||||||
| @ -22,4 +22,5 @@ | |||||||
|       } |       } | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
| } | } | ||||||
| @ -32,7 +32,7 @@ | |||||||
|     <div class="mr-sm"> |     <div class="mr-sm"> | ||||||
|       <button nz-button nzDanger [nzLoading]="service.http.loading" acl [acl-ability]="['USERCENTER-FREIGHT-USER-list']" |       <button nz-button nzDanger [nzLoading]="service.http.loading" acl [acl-ability]="['USERCENTER-FREIGHT-USER-list']" | ||||||
|         (click)="openDrawer()">筛选</button> |         (click)="openDrawer()">筛选</button> | ||||||
|       <button nz-button nzDanger (click)="st?.load(1)" acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-export']"> |       <button nz-button nzDanger (click)="exportList()" acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-export']"> | ||||||
|         导出</button> |         导出</button> | ||||||
|     </div> |     </div> | ||||||
|   </ng-template> |   </ng-template> | ||||||
|  | |||||||
| @ -1,12 +0,0 @@ | |||||||
| :host::ng-deep { |  | ||||||
|  |  | ||||||
|     nz-range-picker { |  | ||||||
|         width: 100%; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     .content-box { |  | ||||||
|         .ant-card-body { |  | ||||||
|             padding-top: 6px; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @ -22,7 +22,11 @@ export class FreightComponentsUserComponent extends BasicTableComponent implemen | |||||||
|  |  | ||||||
|   resourceStatus: any = 0; |   resourceStatus: any = 0; | ||||||
|  |  | ||||||
|   constructor(public service: UsermanageService, private modal: NzModalService, private router: Router, private ar: ActivatedRoute, |   constructor( | ||||||
|  |     public service: UsermanageService, | ||||||
|  |     private modal: NzModalService, | ||||||
|  |     private router: Router, | ||||||
|  |     private ar: ActivatedRoute, | ||||||
|     public searchDrawerService: SearchDrawerService |     public searchDrawerService: SearchDrawerService | ||||||
|   ) { |   ) { | ||||||
|     super(searchDrawerService); |     super(searchDrawerService); | ||||||
| @ -32,7 +36,6 @@ export class FreightComponentsUserComponent extends BasicTableComponent implemen | |||||||
|     this.st?.load(1); |     this.st?.load(1); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |  | ||||||
|   ngOnInit() { |   ngOnInit() { | ||||||
|     this.ar.url.subscribe(params => { |     this.ar.url.subscribe(params => { | ||||||
|       this.st?.load(1); |       this.st?.load(1); | ||||||
| @ -114,6 +117,16 @@ export class FreightComponentsUserComponent extends BasicTableComponent implemen | |||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   exportList() { | ||||||
|  |     const params = { certificationStatus: this.resourceStatus, pageSize: -1 }; | ||||||
|  |     if (this.sf) { | ||||||
|  |       Object.assign(params, { | ||||||
|  |         ...this.sf?.value | ||||||
|  |       }); | ||||||
|  |     } | ||||||
|  |     this.service.downloadFile(this.service.$api_get_user_list_export, params); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   private initSF(): SFSchema { |   private initSF(): SFSchema { | ||||||
|     return { |     return { | ||||||
|       properties: { |       properties: { | ||||||
| @ -157,7 +170,7 @@ export class FreightComponentsUserComponent extends BasicTableComponent implemen | |||||||
|           ], |           ], | ||||||
|           default: '', |           default: '', | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'select', |             widget: 'select' | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         promotersTelephone: { |         promotersTelephone: { | ||||||
| @ -165,7 +178,7 @@ export class FreightComponentsUserComponent extends BasicTableComponent implemen | |||||||
|           type: 'string', |           type: 'string', | ||||||
|           maxLength: 11, |           maxLength: 11, | ||||||
|           ui: { |           ui: { | ||||||
|             placeholder: '请输入手机号', |             placeholder: '请输入手机号' | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         effectiveDate: { |         effectiveDate: { | ||||||
| @ -174,7 +187,7 @@ export class FreightComponentsUserComponent extends BasicTableComponent implemen | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'date', |             widget: 'date', | ||||||
|             mode: 'range', |             mode: 'range', | ||||||
|             format: 'yyyy-MM-dd', |             format: 'yyyy-MM-dd' | ||||||
|           } as SFDateWidgetSchema |           } as SFDateWidgetSchema | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
| @ -212,19 +225,19 @@ export class FreightComponentsUserComponent extends BasicTableComponent implemen | |||||||
|             click: (item: any) => { |             click: (item: any) => { | ||||||
|               this.router.navigate(['./view', item.appUserId], { relativeTo: this.ar }); |               this.router.navigate(['./view', item.appUserId], { relativeTo: this.ar }); | ||||||
|             }, |             }, | ||||||
|             acl: { ability: ['USERCENTER-FREIGHT-USER-view'] }, |             acl: { ability: ['USERCENTER-FREIGHT-USER-view'] } | ||||||
|           }, |           }, | ||||||
|           { |           { | ||||||
|             text: '冻结', |             text: '冻结', | ||||||
|             iif: item => item.stateLocked === 0, |             iif: item => item.stateLocked === 0, | ||||||
|             click: (item: any) => this.userAction(0, [item.appUserId]), |             click: (item: any) => this.userAction(0, [item.appUserId]), | ||||||
|             acl: { ability: ['USERCENTER-FREIGHT-USER-lock'] }, |             acl: { ability: ['USERCENTER-FREIGHT-USER-lock'] } | ||||||
|           }, |           }, | ||||||
|           { |           { | ||||||
|             text: '启用', |             text: '启用', | ||||||
|             iif: item => item.stateLocked === 1, |             iif: item => item.stateLocked === 1, | ||||||
|             click: (item: any) => this.userAction(1, [item.appUserId]), |             click: (item: any) => this.userAction(1, [item.appUserId]), | ||||||
|             acl: { ability: ['USERCENTER-FREIGHT-USER-lock'] }, |             acl: { ability: ['USERCENTER-FREIGHT-USER-lock'] } | ||||||
|           } |           } | ||||||
|         ] |         ] | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -49,6 +49,8 @@ export class UsermanageService extends ShipperBaseService { | |||||||
|  |  | ||||||
|   // 货主员工列表(运营后台) |   // 货主员工列表(运营后台) | ||||||
|   $api_get_user_list = '/api/mdc/cuc/userApp/getShipperUserInfoList'; |   $api_get_user_list = '/api/mdc/cuc/userApp/getShipperUserInfoList'; | ||||||
|  |   // 货主员工列表(运营后台) | ||||||
|  |   $api_get_user_list_export = '/api/mdc/cuc/userApp/getShipperUserInfoList'; | ||||||
|   // 冻结或恢复员工 |   // 冻结或恢复员工 | ||||||
|   $api_lock_staff = '/api/mdc/cuc/userApp/freezeOrResumeStaff'; |   $api_lock_staff = '/api/mdc/cuc/userApp/freezeOrResumeStaff'; | ||||||
|   // 冻结或恢复应用用户 |   // 冻结或恢复应用用户 | ||||||
|  | |||||||
| @ -1,26 +1,6 @@ | |||||||
| <!-- | <!-- <page-header-wrapper></page-header-wrapper> | ||||||
|  * @Author: your name |  | ||||||
|  * @Date: 2021-11-29 15:22:34 |  | ||||||
|  * @LastEditTime : 2022-04-20 17:06:02 |  | ||||||
|  * @LastEditors  : Shiming |  | ||||||
|  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |  | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\vehicle\\components\\audit\\audit.component.html |  | ||||||
| --> |  | ||||||
| <!-- 页头 --> |  | ||||||
| <page-header-wrapper></page-header-wrapper> |  | ||||||
| <nz-card> | <nz-card> | ||||||
|   <!-- 搜索区 --> |  | ||||||
|   <!-- 搜索表单 --> |  | ||||||
|   <div nz-row nzGutter="8"> |   <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" (formSubmit)="st?.load(1)" |  | ||||||
|         (formReset)="resetSF()"></sf> |  | ||||||
|  |  | ||||||
|     </div> |  | ||||||
|     <!-- [loading]="false" --> |  | ||||||
|  |  | ||||||
|     <!-- 查询字段大于3个时,根据展开状态调整布局 --> |  | ||||||
|     <ng-container *ngIf="queryFieldCount > 4"> |     <ng-container *ngIf="queryFieldCount > 4"> | ||||||
|       <div nz-col [nzSpan]="_$expand ? 24 : 18"> |       <div nz-col [nzSpan]="_$expand ? 24 : 18"> | ||||||
|         <sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf> |         <sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf> | ||||||
| @ -37,10 +17,10 @@ | |||||||
|       </div> |       </div> | ||||||
|     </ng-container> |     </ng-container> | ||||||
|   </div> |   </div> | ||||||
| </nz-card> | </nz-card> --> | ||||||
| <nz-card> | <nz-card class="table-box"> | ||||||
|   <!-- 数据列表 --> |   <div class="tab_header"> | ||||||
|   <!-- [data]="service.$api_get_supplier_page" --> |     <label class="page_title"><label class="driver">|</label>车辆审核列表</label> | ||||||
|     <nz-tabset (nzSelectedIndexChange)="selectChange($event)" [nzSelectedIndex]='defaultTabs' |     <nz-tabset (nzSelectedIndexChange)="selectChange($event)" [nzSelectedIndex]='defaultTabs' | ||||||
|       [nzTabBarExtraContent]="extraTemplate"> |       [nzTabBarExtraContent]="extraTemplate"> | ||||||
|       <nz-tab [nzTitle]="'全部'"></nz-tab> |       <nz-tab [nzTitle]="'全部'"></nz-tab> | ||||||
| @ -48,10 +28,23 @@ | |||||||
|       <nz-tab [nzTitle]="'审核通过'"></nz-tab> |       <nz-tab [nzTitle]="'审核通过'"></nz-tab> | ||||||
|       <nz-tab [nzTitle]="'驳回'"></nz-tab> |       <nz-tab [nzTitle]="'驳回'"></nz-tab> | ||||||
|     </nz-tabset> |     </nz-tabset> | ||||||
|   <st #st [bordered]="true" [scroll]="{ x: '1200px' }" [columns]="columns" [data]='service.$api_get_userCarLicense_list' |   </div> | ||||||
|     [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" |  | ||||||
|     [res]="{ reName: { list: 'data.records', total: 'data.total' }, process: dataProcess }" |   <ng-template #extraTemplate> | ||||||
|     [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false"> |     <div class="mr-sm"> | ||||||
|  |       <button nz-button nzDanger [nzLoading]="service.http.loading" acl [acl-ability]="['VEHICLE-AUDIT-search']" | ||||||
|  |         (click)="openDrawer()">筛选</button> | ||||||
|  |       <button nz-button nzDanger (click)="exportFire()" acl [acl-ability]="['VEHICLE-AUDIT-export']"> | ||||||
|  |         导出</button> | ||||||
|  |       <button nz-button nzType="primary" (click)="addModal()" acl [acl-ability]="['VEHICLE-AUDIT-add']">添加车辆</button> | ||||||
|  |     </div> | ||||||
|  |   </ng-template> | ||||||
|  |   <!-- 数据列表 --> | ||||||
|  |   <!-- [data]="service.$api_get_supplier_page" --> | ||||||
|  |  | ||||||
|  |   <st #st [bordered]="true" [scroll]="{ x: '1200px',y:scrollY }" [columns]="columns" | ||||||
|  |     [data]='service.$api_get_userCarLicense_list' [req]="{  params: reqParams }" [res]="{  process: dataProcess }" | ||||||
|  |     [page]="{  }" [loading]="false"> | ||||||
|     <ng-template st-row="carLength" let-item let-index="index"> |     <ng-template st-row="carLength" let-item let-index="index"> | ||||||
|       <div>{{item?.carModel}}-{{item?.carLengthLabel? item?.carLengthLabel + '米' : ''}}-{{ item?.carLoad? |       <div>{{item?.carModel}}-{{item?.carLengthLabel? item?.carLengthLabel + '米' : ''}}-{{ item?.carLoad? | ||||||
|         item?.carLoad + '吨' : ''}}</div> |         item?.carLoad + '吨' : ''}}</div> | ||||||
| @ -70,10 +63,3 @@ | |||||||
|     </ng-template> |     </ng-template> | ||||||
|   </st> |   </st> | ||||||
| </nz-card> | </nz-card> | ||||||
| <ng-template #extraTemplate> |  | ||||||
|   <!-- 工具栏 --> |  | ||||||
|   <div class="toolbar" style="float: right; |  | ||||||
|     padding-bottom: 15px;"> |  | ||||||
|     <button nz-button nzType="primary" (click)="addModal()">添加车辆</button> |  | ||||||
|   </div> |  | ||||||
| </ng-template> |  | ||||||
|  | |||||||
| @ -1,31 +0,0 @@ | |||||||
| /* |  | ||||||
|  * @Author: your name |  | ||||||
|  * @Date: 2021-12-01 20:05:59 |  | ||||||
|  * @LastEditTime: 2021-12-01 20:35:33 |  | ||||||
|  * @LastEditors: your name |  | ||||||
|  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |  | ||||||
|  * @FilePath: \tms-obc-web\src\app\routes\vehicle\components\list\list.component.spec.ts |  | ||||||
|  */ |  | ||||||
| import { async, ComponentFixture, TestBed } from '@angular/core/testing'; |  | ||||||
| import { VehicleComponentsListComponent } from './list.component'; |  | ||||||
|  |  | ||||||
| describe('VehicleComponentsListComponent', () => { |  | ||||||
|   let component: VehicleComponentsListComponent; |  | ||||||
|   let fixture: ComponentFixture<VehicleComponentsListComponent>; |  | ||||||
|  |  | ||||||
|   beforeEach(async(() => { |  | ||||||
|     TestBed.configureTestingModule({ |  | ||||||
|       declarations: [VehicleComponentsListComponent], |  | ||||||
|     }).compileComponents(); |  | ||||||
|   })); |  | ||||||
|  |  | ||||||
|   beforeEach(() => { |  | ||||||
|     fixture = TestBed.createComponent(VehicleComponentsListComponent); |  | ||||||
|     component = fixture.componentInstance; |  | ||||||
|     fixture.detectChanges(); |  | ||||||
|   }); |  | ||||||
|  |  | ||||||
|   it('should create', () => { |  | ||||||
|     expect(component).toBeTruthy(); |  | ||||||
|   }); |  | ||||||
| }); |  | ||||||
| @ -3,37 +3,32 @@ import { ActivatedRoute, Router } from '@angular/router'; | |||||||
| import { STColumn, STColumnBadge, STComponent, STData } from '@delon/abc/st'; | import { STColumn, STColumnBadge, STComponent, STData } from '@delon/abc/st'; | ||||||
| import { SFComponent, SFDateWidgetSchema, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form'; | import { SFComponent, SFDateWidgetSchema, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form'; | ||||||
| import { ModalHelper } from '@delon/theme'; | import { ModalHelper } from '@delon/theme'; | ||||||
|  | import { SearchDrawerService } from '@shared'; | ||||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | import { NzModalService } from 'ng-zorro-antd/modal'; | ||||||
| import { of, Subject } from 'rxjs'; | import { of, Subject } from 'rxjs'; | ||||||
| import { map } from 'rxjs/operators'; | import { map } from 'rxjs/operators'; | ||||||
|  | import { BasicTableComponent } from 'src/app/routes/commom'; | ||||||
| import { VehicleService } from '../../../vehicle/services/vehicle.service'; | import { VehicleService } from '../../../vehicle/services/vehicle.service'; | ||||||
| import { CarSettleCarauthComponent } from '../list/carauth/carauth.component'; | import { CarSettleCarauthComponent } from '../list/carauth/carauth.component'; | ||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-Vehicle-components-audit', |   selector: 'app-Vehicle-components-audit', | ||||||
|   templateUrl: './audit.component.html' |   templateUrl: './audit.component.html', | ||||||
|  |   styleUrls: ['../../../commom/less/commom-table.less'] | ||||||
| }) | }) | ||||||
| export class VehicleComponentsAuditComponent implements OnInit { | export class VehicleComponentsAuditComponent extends BasicTableComponent implements OnInit { | ||||||
|   _$expand = false; |  | ||||||
|   resourceStatus: any = 1; |   resourceStatus: any = 1; | ||||||
|   defaultTabs = 1; |   defaultTabs = 1; | ||||||
|   ui!: SFUISchema; |  | ||||||
|   schema!: SFSchema; |  | ||||||
|   columns!: STColumn[]; |   columns!: STColumn[]; | ||||||
|   @ViewChild('st', { static: false }) st!: STComponent; |   @ViewChild('st', { static: false }) st!: STComponent; | ||||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; |  | ||||||
|  |  | ||||||
|   constructor( |   constructor( | ||||||
|     public service: VehicleService, |     public service: VehicleService, | ||||||
|     private modal: NzModalService, |  | ||||||
|     private router: Router, |     private router: Router, | ||||||
|     private ar: ActivatedRoute, |     private ar: ActivatedRoute, | ||||||
|     private modalHelper: ModalHelper |     private modalHelper: ModalHelper, | ||||||
|   ) {} |     public searchDrawerService: SearchDrawerService | ||||||
|   /** |   ) { | ||||||
|    * 查询字段个数navigate |     super(searchDrawerService); | ||||||
|    */ |  | ||||||
|   get queryFieldCount(): number { |  | ||||||
|     return Object.keys(this.schema?.properties || {}).length; |  | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
| @ -65,6 +60,11 @@ export class VehicleComponentsAuditComponent implements OnInit { | |||||||
|       this.st?.load(1); |       this.st?.load(1); | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   search() { | ||||||
|  |     this.st?.load(1); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   dataProcess(data: STData[]): STData[] { |   dataProcess(data: STData[]): STData[] { | ||||||
|     return data.map((i, index) => { |     return data.map((i, index) => { | ||||||
|       i.showSortFlag = false; |       i.showSortFlag = false; | ||||||
| @ -101,9 +101,6 @@ export class VehicleComponentsAuditComponent implements OnInit { | |||||||
|                 return of([]); |                 return of([]); | ||||||
|               } |               } | ||||||
|             }, |             }, | ||||||
|             visibleIf: { |  | ||||||
|               _$expand: (value: boolean) => value |  | ||||||
|             } |  | ||||||
|           } as SFSelectWidgetSchema |           } as SFSelectWidgetSchema | ||||||
|         }, |         }, | ||||||
|         carNoColor: { |         carNoColor: { | ||||||
| @ -130,12 +127,7 @@ export class VehicleComponentsAuditComponent implements OnInit { | |||||||
|         saveUser: { |         saveUser: { | ||||||
|           type: 'string', |           type: 'string', | ||||||
|           title: '录入人员', |           title: '录入人员', | ||||||
|           ui: { |  | ||||||
|             visibleIf: { |  | ||||||
|               expand: (value: boolean) => value |  | ||||||
|         } |         } | ||||||
|           } |  | ||||||
|         }, |  | ||||||
|         // approvalStatus: { |         // approvalStatus: { | ||||||
|         //   type: 'string', |         //   type: 'string', | ||||||
|         //   title: '审核状态', |         //   title: '审核状态', | ||||||
| @ -170,7 +162,6 @@ export class VehicleComponentsAuditComponent implements OnInit { | |||||||
|         // } |         // } | ||||||
|       } |       } | ||||||
|     }; |     }; | ||||||
|     this.ui = { '*': { spanLabelFixed: 120, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } }; |  | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   initST() { |   initST() { | ||||||
| @ -228,20 +219,9 @@ export class VehicleComponentsAuditComponent implements OnInit { | |||||||
|   daoyun(item: any) { |   daoyun(item: any) { | ||||||
|     this.router.navigate(['./view', item], { relativeTo: this.ar }); |     this.router.navigate(['./view', item], { relativeTo: this.ar }); | ||||||
|   } |   } | ||||||
|   expandToggle() { |  | ||||||
|     this._$expand = !this._$expand; |  | ||||||
|     this.sf?.setValue('/expand', this._$expand); |  | ||||||
|   } |  | ||||||
|   creat() { |   creat() { | ||||||
|     this.router.navigate(['./new'], { relativeTo: this.ar }); |     this.router.navigate(['./new'], { relativeTo: this.ar }); | ||||||
|   } |   } | ||||||
|   /** |  | ||||||
|    * 重置表单 |  | ||||||
|    */ |  | ||||||
|   resetSF() { |  | ||||||
|     this.sf.reset(); |  | ||||||
|     this._$expand = false; |  | ||||||
|   } |  | ||||||
|   // 导出 |   // 导出 | ||||||
|   exportFire() { |   exportFire() { | ||||||
|     let params = Object.assign({}, this.reqParams || {}); |     let params = Object.assign({}, this.reqParams || {}); | ||||||
|  | |||||||
| @ -43,8 +43,9 @@ | |||||||
|         </div> |         </div> | ||||||
|     </sf> |     </sf> | ||||||
|     <img class="drivercard borderImg" height="104" src="/assets/images/vehicle/car.png" /> |     <img class="drivercard borderImg" height="104" src="/assets/images/vehicle/car.png" /> | ||||||
|    | </div> | ||||||
| <div class="modal-footer"> | <div class="modal-footer"> | ||||||
|     <button nz-button type="button" (click)="close()">关闭</button> |     <button nz-button type="button" (click)="close()">关闭</button> | ||||||
|     <button nz-button type="button" nzType="primary" (click)="submitForm()" [disabled]="!(sf?.valid && i.flag !== 'view')" [nzLoading]="service.http.loading">确定</button> |     <button nz-button type="button" nzType="primary" (click)="submitForm()" | ||||||
|  |         [disabled]="!(sf?.valid && i.flag !== 'view')" [nzLoading]="service.http.loading">确定</button> | ||||||
| </div> | </div> | ||||||
| @ -1,73 +1,9 @@ | |||||||
| .sfBox { | .sfBox { | ||||||
|     position: relative; |     position: relative; | ||||||
|     .example { |     height  : 550px; | ||||||
|         position: absolute; |     overflow: auto; | ||||||
|         top: 215px; |  | ||||||
|         right: 265px; |  | ||||||
|         color: #1890ff; |  | ||||||
|         cursor: pointer; |  | ||||||
|         .popBox { |  | ||||||
|             position: absolute; |  | ||||||
|             top: -170px; |  | ||||||
|             left: -125px; |  | ||||||
|             width: 300px; |  | ||||||
|             padding: 20px; |  | ||||||
|             text-align: center; |  | ||||||
|             background: #fff; |  | ||||||
|             border: solid 1px #eee; |  | ||||||
|             border-radius: 6px; |  | ||||||
|             box-shadow: 0 1px 5px 1px #ececec; |  | ||||||
|             &::before { |  | ||||||
|                 position: absolute; |  | ||||||
|                 bottom: -5px; |  | ||||||
|                 left: 50%; |  | ||||||
|                 width: 10px; |  | ||||||
|                 height: 10px; |  | ||||||
|                 margin-left: -5px; |  | ||||||
|                 background: #fff; |  | ||||||
|                 box-shadow: 0 1px 5px 1px #ececec; |  | ||||||
|                 transform: rotate(45deg); |  | ||||||
|                 content: ''; |  | ||||||
| } | } | ||||||
|             &::after { |  | ||||||
|                 position: absolute; |  | ||||||
|                 bottom: 0; |  | ||||||
|                 left: 0; |  | ||||||
|                 z-index: 10; |  | ||||||
|                 width: 100%; |  | ||||||
|                 height: 10px; |  | ||||||
|                 background: #fff; |  | ||||||
|                 content: ''; |  | ||||||
|             } |  | ||||||
|             img { |  | ||||||
|                 max-width: 100%; |  | ||||||
|                 max-height: 200px; |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|     .positionSet{ |  | ||||||
|         top: 356px; |  | ||||||
|         right: 235px; |  | ||||||
|     } |  | ||||||
|     .positionSet01{ |  | ||||||
|         top: 500px; |  | ||||||
|         right: 200px; |  | ||||||
|     } |  | ||||||
|     .positionSet02{ |  | ||||||
|         top: 664px; |  | ||||||
|         right: 265px; |  | ||||||
|     } |  | ||||||
|     .positionSet03{ |  | ||||||
|         top: 808px; |  | ||||||
|         right: 205px; |  | ||||||
|  |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| .exaA{ |  | ||||||
|     position: absolute; |  | ||||||
|     top: 0; |  | ||||||
|     left: 300px |  | ||||||
| } |  | ||||||
| .pr { | .pr { | ||||||
|     position: relative; |     position: relative; | ||||||
| } | } | ||||||
| @ -93,24 +29,15 @@ | |||||||
|         text-align   : center; |         text-align   : center; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| .drivercard { | .drivercard { | ||||||
|     position: absolute; |     position: absolute; | ||||||
|     top     : 0; |     top     : 0; | ||||||
|     left    : 325px; |     left    : 325px; | ||||||
|     border  : solid 1px #ebf0fb; |     border  : solid 1px #ebf0fb; | ||||||
| } | } | ||||||
| .jopcard{ |  | ||||||
|     position: absolute; |  | ||||||
|     top: 1356px; |  | ||||||
|     left: 330px; |  | ||||||
|     border: solid 1px #ebf0fb; |  | ||||||
| } |  | ||||||
| .agreement{ |  | ||||||
|     position: absolute; |  | ||||||
|     top: 425px; |  | ||||||
|     left: 330px; |  | ||||||
|     border: solid 1px #ebf0fb; |  | ||||||
| } |  | ||||||
| :host { | :host { | ||||||
|     ::ng-deep { |     ::ng-deep { | ||||||
|         .ant-input-borderless { |         .ant-input-borderless { | ||||||
| @ -119,11 +46,23 @@ | |||||||
|             color      : black; |             color      : black; | ||||||
|             resize     : none; |             resize     : none; | ||||||
|         } |         } | ||||||
|         .setCustom .ant-form-item-control{ |  | ||||||
|  |         .setCustom { | ||||||
|  |             nz-form-item { | ||||||
|  |                 width: auto !important; | ||||||
|  |             } | ||||||
|  |  | ||||||
|  |             .ant-form-item-control { | ||||||
|                 margin-left: -100px !important |                 margin-left: -100px !important | ||||||
|             } |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|         .borderImg { |         .borderImg { | ||||||
|             border: solid 1px #ebf0fb; |             border: solid 1px #ebf0fb; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         nz-date-picker { | ||||||
|  |             width: 100%; | ||||||
|  |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -658,7 +658,7 @@ export class CarSettleCarauthComponent implements OnInit { | |||||||
|         grid: { span: 12 } |         grid: { span: 12 } | ||||||
|       }, |       }, | ||||||
|       $agreeImg: { |       $agreeImg: { | ||||||
|         grid: { span: 4 }, |         grid: { span: 3 }, | ||||||
|         class: 'setCustom' |         class: 'setCustom' | ||||||
|       }, |       }, | ||||||
|       $titleB: { |       $titleB: { | ||||||
|  | |||||||
| @ -1,16 +1,5 @@ | |||||||
| <!-- | <!-- <page-header-wrapper></page-header-wrapper> | ||||||
|  * @Author: your name |  | ||||||
|  * @Date: 2021-11-29 15:22:34 |  | ||||||
|  * @LastEditTime : 2022-02-17 17:25:34 |  | ||||||
|  * @LastEditors  : Shiming |  | ||||||
|  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |  | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\vehicle\\components\\list\\list.component.html |  | ||||||
| --> |  | ||||||
| <!-- 页头 --> |  | ||||||
| <page-header-wrapper></page-header-wrapper> |  | ||||||
| <nz-card> | <nz-card> | ||||||
|   <!-- 搜索区 --> |  | ||||||
|   <!-- 搜索表单 --> |  | ||||||
|   <div nz-row nzGutter="8"> |   <div nz-row nzGutter="8"> | ||||||
|     <div nz-col [nzSpan]="_$expand ? 24 : 18"> |     <div nz-col [nzSpan]="_$expand ? 24 : 18"> | ||||||
|       <sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf> |       <sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf> | ||||||
| @ -27,11 +16,20 @@ | |||||||
|       </button> |       </button> | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </div> | ||||||
| </nz-card> | </nz-card> --> | ||||||
| <nz-card> | <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]="service.http.loading" (click)="openDrawer()" acl | ||||||
|  |         [acl-ability]="['VEHICLE-LIST-search']">筛选</button> | ||||||
|  |       <button nz-button nzDanger (click)="exportFire()" acl [acl-ability]="'VEHICLE-LIST-export'"> | ||||||
|  |         导出</button> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  |  | ||||||
|   <st #st [bordered]="true" [scroll]="{ x: '1200px' }" [columns]="columns" [data]="service.$api_get_operate_list" |   <!-- 数据列表 --> | ||||||
|  |   <st #st [bordered]="true" [scroll]="{ x: '1200px',y:scrollY }" [columns]="columns" [data]="service.$api_get_operate_list" | ||||||
|     [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" |     [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||||
|     [res]="{ reName: { list: 'data.records', total: 'data.total' }, process: dataProcess }" |     [res]="{ reName: { list: 'data.records', total: 'data.total' }, process: dataProcess }" | ||||||
|     [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false"> |     [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false"> | ||||||
|  | |||||||
| @ -1,25 +1,29 @@ | |||||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | import { Component, OnInit, ViewChild } from '@angular/core'; | ||||||
| import { ActivatedRoute, Router } from '@angular/router'; | import { ActivatedRoute, Router } from '@angular/router'; | ||||||
| import { STColumn, STComponent, STData } from '@delon/abc/st'; | import { STColumn, STComponent, STData } from '@delon/abc/st'; | ||||||
| import { SFComponent, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form'; | import { SFSchemaEnum, SFSelectWidgetSchema } from '@delon/form'; | ||||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | import { SearchDrawerService } from '@shared'; | ||||||
| import { of } from 'rxjs'; | import { of } from 'rxjs'; | ||||||
| import { map } from 'rxjs/operators'; | import { map } from 'rxjs/operators'; | ||||||
|  | import { BasicTableComponent } from 'src/app/routes/commom'; | ||||||
| import { VehicleService } from '../../../vehicle/services/vehicle.service'; | import { VehicleService } from '../../../vehicle/services/vehicle.service'; | ||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-Vehicle-components-list', |   selector: 'app-Vehicle-components-list', | ||||||
|   templateUrl: './list.component.html' |   templateUrl: './list.component.html', | ||||||
|  |   styleUrls: ['../../../commom/less/commom-table.less'] | ||||||
| }) | }) | ||||||
| export class VehicleComponentsListComponent implements OnInit { | export class VehicleComponentsListComponent extends BasicTableComponent implements OnInit { | ||||||
|   _$expand = false; |  | ||||||
|  |  | ||||||
|   ui!: SFUISchema; |  | ||||||
|   schema!: SFSchema; |  | ||||||
|   columns!: STColumn[]; |   columns!: STColumn[]; | ||||||
|   @ViewChild('st', { static: false }) st!: STComponent; |   @ViewChild('st', { static: false }) st!: STComponent; | ||||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; |  | ||||||
|  |  | ||||||
|   constructor(public service: VehicleService, private modal: NzModalService, private router: Router, private ar: ActivatedRoute) {} |   constructor( | ||||||
|  |     public service: VehicleService, | ||||||
|  |     private router: Router, | ||||||
|  |     private ar: ActivatedRoute, | ||||||
|  |     public searchDrawerService: SearchDrawerService | ||||||
|  |   ) { | ||||||
|  |     super(searchDrawerService); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * 查询参数 |    * 查询参数 | ||||||
| @ -37,6 +41,10 @@ export class VehicleComponentsListComponent implements OnInit { | |||||||
|     return params; |     return params; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   search() { | ||||||
|  |     this.st?.load(1); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   ngOnInit() { |   ngOnInit() { | ||||||
|     this.initSF(); |     this.initSF(); | ||||||
|     this.initST(); |     this.initST(); | ||||||
| @ -109,10 +117,7 @@ export class VehicleComponentsListComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'car:model' }, |             params: { dictKey: 'car:model' }, | ||||||
|             containsAllLabel: true, |             containsAllLabel: true | ||||||
|             visibleIf: { |  | ||||||
|               expand: (value: boolean) => value |  | ||||||
|             } |  | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         carLength: { |         carLength: { | ||||||
| @ -121,20 +126,12 @@ export class VehicleComponentsListComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'car:length' }, |             params: { dictKey: 'car:length' }, | ||||||
|             containsAllLabel: true, |             containsAllLabel: true | ||||||
|             visibleIf: { |  | ||||||
|               expand: (value: boolean) => value |  | ||||||
|             } |  | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         carLoad: { |         carLoad: { | ||||||
|           title: '载重', |           title: '载重', | ||||||
|           type: 'string', |           type: 'string' | ||||||
|           ui: { |  | ||||||
|             visibleIf: { |  | ||||||
|               expand: (value: boolean) => value |  | ||||||
|             } |  | ||||||
|           } |  | ||||||
|         }, |         }, | ||||||
|         isSelf: { |         isSelf: { | ||||||
|           type: 'string', |           type: 'string', | ||||||
| @ -145,10 +142,7 @@ export class VehicleComponentsListComponent implements OnInit { | |||||||
|           ], |           ], | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'select', |             widget: 'select', | ||||||
|             allowClear: true, |             allowClear: true | ||||||
|             visibleIf: { |  | ||||||
|               expand: (value: boolean) => value |  | ||||||
|             } |  | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         driverLicenseStatus: { |         driverLicenseStatus: { | ||||||
| @ -162,10 +156,7 @@ export class VehicleComponentsListComponent implements OnInit { | |||||||
|           default: '', |           default: '', | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'select', |             widget: 'select', | ||||||
|             allowClear: true, |             allowClear: true | ||||||
|             visibleIf: { |  | ||||||
|               expand: (value: boolean) => value |  | ||||||
|             } |  | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         roadTransportStatus: { |         roadTransportStatus: { | ||||||
| @ -178,12 +169,9 @@ export class VehicleComponentsListComponent implements OnInit { | |||||||
|           ], |           ], | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'select', |             widget: 'select', | ||||||
|             allowClear: true, |             allowClear: true | ||||||
|             visibleIf: { |  | ||||||
|               expand: (value: boolean) => value |  | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|         }, |  | ||||||
|         // isSelfs: { |         // isSelfs: { | ||||||
|         //   type: 'string', |         //   type: 'string', | ||||||
|         //   title: '是否入网', |         //   title: '是否入网', | ||||||
| @ -216,7 +204,6 @@ export class VehicleComponentsListComponent implements OnInit { | |||||||
|         // }, |         // }, | ||||||
|       } |       } | ||||||
|     }; |     }; | ||||||
|     this.ui = { '*': { spanLabelFixed: 130, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } }; |  | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   initST() { |   initST() { | ||||||
| @ -292,20 +279,9 @@ export class VehicleComponentsListComponent implements OnInit { | |||||||
|       } |       } | ||||||
|     ]; |     ]; | ||||||
|   } |   } | ||||||
|   expandToggle() { |  | ||||||
|     this._$expand = !this._$expand; |  | ||||||
|     this.sf?.setValue('/expand', this._$expand); |  | ||||||
|   } |  | ||||||
|   creat() { |   creat() { | ||||||
|     this.router.navigate(['./new'], { relativeTo: this.ar }); |     this.router.navigate(['./new'], { relativeTo: this.ar }); | ||||||
|   } |   } | ||||||
|   /** |  | ||||||
|    * 重置表单 |  | ||||||
|    */ |  | ||||||
|   resetSF() { |  | ||||||
|     this.sf.reset(); |  | ||||||
|     this._$expand = false; |  | ||||||
|   } |  | ||||||
|   // 导出 |   // 导出 | ||||||
|   exportFire() { |   exportFire() { | ||||||
|     let params = Object.assign({}, this.reqParams || {}); |     let params = Object.assign({}, this.reqParams || {}); | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user