Merge branch 'feature/partner' of https://gitlab.eascs.com/tms-ui/tms-obc-web into feature/partner
This commit is contained in:
		| @ -30,7 +30,7 @@ export class AuthGuard extends ACLGuard { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> { |   canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> { | ||||||
|     if (childRoute.routeConfig?.loadChildren) { |     if (childRoute.routeConfig?.loadChildren || childRoute.routeConfig?.children) { | ||||||
|       return super.canActivateChild(childRoute, state); |       return super.canActivateChild(childRoute, state); | ||||||
|     } else { |     } else { | ||||||
|       return this.handle(childRoute, state, 2, this.settingRoute(childRoute.params, state.url)); |       return this.handle(childRoute, state, 2, this.settingRoute(childRoute.params, state.url)); | ||||||
| @ -38,6 +38,8 @@ export class AuthGuard extends ACLGuard { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   private handle(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, type: 1 | 2, router?: string): Observable<boolean> { |   private handle(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, type: 1 | 2, router?: string): Observable<boolean> { | ||||||
|  |     console.log(route, state); | ||||||
|  |  | ||||||
|     if (!router) { |     if (!router) { | ||||||
|       return type === 1 ? super.canActivate(route, state) : super.canActivateChild(route, state); |       return type === 1 ? super.canActivate(route, state) : super.canActivateChild(route, state); | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -27,17 +27,17 @@ export class ContractManagementContractListComponent implements OnInit { | |||||||
|   /** |   /** | ||||||
|  * 查询参数 |  * 查询参数 | ||||||
|  */ |  */ | ||||||
|    get reqParams() { |   get reqParams() { | ||||||
|     const params = { |     const params = { | ||||||
|       ...this.sf?.value, |       ...this.sf?.value, | ||||||
|     } |     } | ||||||
|     delete params.signTime; |     delete params.signTime; | ||||||
|     delete params._$expand; |     delete params._$expand; | ||||||
|     if(this.datePipe.transform(this.sf?.value?.signTime?.[0], 'yyyy-MM-dd HH:mm:ss') && this.datePipe.transform(this.sf?.value?.signTime?.[1], 'yyyy-MM-dd HH:mm:ss')) { |     if (this.datePipe.transform(this.sf?.value?.signTime?.[0], 'yyyy-MM-dd HH:mm:ss') && this.datePipe.transform(this.sf?.value?.signTime?.[1], 'yyyy-MM-dd HH:mm:ss')) { | ||||||
|       params.signTime = { |       params.signTime = { | ||||||
|         start: this.datePipe.transform(this.sf?.value?.signTime?.[0], 'yyyy-MM-dd HH:mm:ss'), |         start: this.datePipe.transform(this.sf?.value?.signTime?.[0], 'yyyy-MM-dd HH:mm:ss'), | ||||||
|         end: this.datePipe.transform(this.sf?.value?.signTime?.[1], 'yyyy-MM-dd HH:mm:ss'), |         end: this.datePipe.transform(this.sf?.value?.signTime?.[1], 'yyyy-MM-dd HH:mm:ss'), | ||||||
|        } |       } | ||||||
|     } |     } | ||||||
|     return { |     return { | ||||||
|       ...params |       ...params | ||||||
| @ -49,7 +49,7 @@ export class ContractManagementContractListComponent implements OnInit { | |||||||
|     private nzModalService: NzModalService, |     private nzModalService: NzModalService, | ||||||
|     private router: Router, |     private router: Router, | ||||||
|     private datePipe: DatePipe, |     private datePipe: DatePipe, | ||||||
|     ) {} |   ) { } | ||||||
|  |  | ||||||
|   ngOnInit(): void { |   ngOnInit(): void { | ||||||
|     this.initST() |     this.initST() | ||||||
| @ -58,7 +58,7 @@ export class ContractManagementContractListComponent implements OnInit { | |||||||
|   /** |   /** | ||||||
|    * 初始化数据列表 |    * 初始化数据列表 | ||||||
|    */ |    */ | ||||||
|    initST() { |   initST() { | ||||||
|     this.columns = [ |     this.columns = [ | ||||||
|       { |       { | ||||||
|         title: '合同编号', |         title: '合同编号', | ||||||
| @ -70,13 +70,13 @@ export class ContractManagementContractListComponent implements OnInit { | |||||||
|         title: '单据类型', |         title: '单据类型', | ||||||
|         width: '100px', |         width: '100px', | ||||||
|         className: 'text-center', |         className: 'text-center', | ||||||
|         index:'documentType' |         index: 'documentType' | ||||||
|       }, |       }, | ||||||
|       { |       { | ||||||
|         title: '合同名称', |         title: '合同名称', | ||||||
|         width: '100px', |         width: '100px', | ||||||
|         className: 'text-center', |         className: 'text-center', | ||||||
|         index:'contractName' |         index: 'contractName' | ||||||
|       }, |       }, | ||||||
|       { title: '托运人', index: 'shipperName', width: '120px', className: 'text-center' }, |       { title: '托运人', index: 'shipperName', width: '120px', className: 'text-center' }, | ||||||
|       { title: '承运人', index: 'carrierName', width: '120px', className: 'text-center' }, |       { title: '承运人', index: 'carrierName', width: '120px', className: 'text-center' }, | ||||||
| @ -111,66 +111,66 @@ export class ContractManagementContractListComponent implements OnInit { | |||||||
|  |  | ||||||
|     ]; |     ]; | ||||||
|   } |   } | ||||||
|     /** |   /** | ||||||
|  * 初始化查询表单 | * 初始化查询表单 | ||||||
|  */ | */ | ||||||
|      initSF() { |   initSF() { | ||||||
|       this.schema = { |     this.schema = { | ||||||
|         properties: { |       properties: { | ||||||
|           _$expand: { type: 'boolean', ui: { hidden: true } }, |         _$expand: { type: 'boolean', ui: { hidden: true } }, | ||||||
|           contractCode: { |         contractCode: { | ||||||
|             type: 'string', |           type: 'string', | ||||||
|             title: '合同编号', |           title: '合同编号', | ||||||
|           }, |  | ||||||
|           businessCode: { |  | ||||||
|             type: 'string', |  | ||||||
|             title: '业务单号' |  | ||||||
|           }, |  | ||||||
|           shipperName: { |  | ||||||
|             type: 'string', |  | ||||||
|             title: '托运人' |  | ||||||
|           }, |  | ||||||
|           carrierName: { |  | ||||||
|             type: 'string', |  | ||||||
|             title: '承运人', |  | ||||||
|             ui: { |  | ||||||
|               visibleIf: { |  | ||||||
|                 _$expand: (value: boolean) => value, |  | ||||||
|               }, |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|           documentType: { |  | ||||||
|             title: '单据类型', |  | ||||||
|             type: 'string', |  | ||||||
|             default: '', |  | ||||||
|             ui: { |  | ||||||
|               widget: 'dict-select', |  | ||||||
|               containsAllLable: true, |  | ||||||
|               params: { dictKey: 'contract:document:type' }, |  | ||||||
|               containAllLable:true, |  | ||||||
|               visibleIf: { |  | ||||||
|                 _$expand: (value: boolean) => value, |  | ||||||
|               }, |  | ||||||
|             } as SFSelectWidgetSchema, |  | ||||||
|           }, |  | ||||||
|           signTime: { |  | ||||||
|             title: '签署日期', |  | ||||||
|             type: 'string', |  | ||||||
|             ui: { |  | ||||||
|               widget: 'custom', |  | ||||||
|               visibleIf: { |  | ||||||
|                 _$expand: (value: boolean) => value, |  | ||||||
|               }, |  | ||||||
|             } |  | ||||||
|           }, |  | ||||||
|         }, |         }, | ||||||
|         type: 'object', |         businessCode: { | ||||||
|       }; |           type: 'string', | ||||||
|       this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } }; |           title: '业务单号' | ||||||
|     } |         }, | ||||||
|       /** |         shipperName: { | ||||||
|    * 查询字段个数 |           type: 'string', | ||||||
|    */ |           title: '托运人' | ||||||
|  |         }, | ||||||
|  |         carrierName: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '承运人', | ||||||
|  |           ui: { | ||||||
|  |             visibleIf: { | ||||||
|  |               _$expand: (value: boolean) => value, | ||||||
|  |             }, | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         documentType: { | ||||||
|  |           title: '单据类型', | ||||||
|  |           type: 'string', | ||||||
|  |           default: '', | ||||||
|  |           ui: { | ||||||
|  |             widget: 'dict-select', | ||||||
|  |             containsAllLabel: true, | ||||||
|  |             params: { dictKey: 'contract:document:type' }, | ||||||
|  |             containAllLable: true, | ||||||
|  |             visibleIf: { | ||||||
|  |               _$expand: (value: boolean) => value, | ||||||
|  |             }, | ||||||
|  |           } as SFSelectWidgetSchema, | ||||||
|  |         }, | ||||||
|  |         signTime: { | ||||||
|  |           title: '签署日期', | ||||||
|  |           type: 'string', | ||||||
|  |           ui: { | ||||||
|  |             widget: 'custom', | ||||||
|  |             visibleIf: { | ||||||
|  |               _$expand: (value: boolean) => value, | ||||||
|  |             }, | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |       }, | ||||||
|  |       type: 'object', | ||||||
|  |     }; | ||||||
|  |     this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } }; | ||||||
|  |   } | ||||||
|  |   /** | ||||||
|  | * 查询字段个数 | ||||||
|  | */ | ||||||
|   get queryFieldCount(): number { |   get queryFieldCount(): number { | ||||||
|     return Object.keys(this.schema?.properties || {}).length; |     return Object.keys(this.schema?.properties || {}).length; | ||||||
|   } |   } | ||||||
| @ -239,7 +239,7 @@ export class ContractManagementContractListComponent implements OnInit { | |||||||
|   /** |   /** | ||||||
|    * 伸缩查询条件 |    * 伸缩查询条件 | ||||||
|    */ |    */ | ||||||
|    expandToggle(): void { |   expandToggle(): void { | ||||||
|     this._$expand = !this._$expand; |     this._$expand = !this._$expand; | ||||||
|     this.sf?.setValue('/_$expand', this._$expand); |     this.sf?.setValue('/_$expand', this._$expand); | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -26,23 +26,23 @@ export class ContractManagementTemplateComponent implements OnInit { | |||||||
|   columns: STColumn[] = []; |   columns: STColumn[] = []; | ||||||
|   datass: any = [ |   datass: any = [ | ||||||
|     { |     { | ||||||
|     one: '1', |       one: '1', | ||||||
|     two: '1', |       two: '1', | ||||||
|     three: '1', |       three: '1', | ||||||
|     id: 1 |       id: 1 | ||||||
|    }, |     }, | ||||||
|     { |     { | ||||||
|     one: '2', |       one: '2', | ||||||
|     two: '2', |       two: '2', | ||||||
|     three: '2', |       three: '2', | ||||||
|     id: 2 |       id: 2 | ||||||
|    }, |     }, | ||||||
| ]; |   ]; | ||||||
|   constructor( |   constructor( | ||||||
|     public service: ContractManagementService, |     public service: ContractManagementService, | ||||||
|     private modal: NzModalService, |     private modal: NzModalService, | ||||||
|     private router: Router |     private router: Router | ||||||
|      ) { } |   ) { } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|  * 查询参数 |  * 查询参数 | ||||||
| @ -80,7 +80,7 @@ export class ContractManagementTemplateComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'contract:template:type' }, |             params: { dictKey: 'contract:template:type' }, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value, |               _$expand: (value: boolean) => value, | ||||||
|             }, |             }, | ||||||
| @ -178,7 +178,7 @@ export class ContractManagementTemplateComponent implements OnInit { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   edit(value: any) { |   edit(value: any) { | ||||||
|     this.router.navigate(['/contract-management/template/detail/' + value.id],{ |     this.router.navigate(['/contract-management/template/detail/' + value.id], { | ||||||
|       queryParams: { |       queryParams: { | ||||||
|         status: 2 |         status: 2 | ||||||
|       } |       } | ||||||
| @ -195,7 +195,7 @@ export class ContractManagementTemplateComponent implements OnInit { | |||||||
|     window.history.go(-1) |     window.history.go(-1) | ||||||
|   } |   } | ||||||
|   view(value: any) { |   view(value: any) { | ||||||
|     this.router.navigate(['/contract-management/template/detail/' + value.id],{ |     this.router.navigate(['/contract-management/template/detail/' + value.id], { | ||||||
|       queryParams: { |       queryParams: { | ||||||
|         status: 3 |         status: 3 | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -23,26 +23,26 @@ export class PaymentOrderComponent implements OnInit { | |||||||
|   _$expand = false; |   _$expand = false; | ||||||
|  |  | ||||||
|   selectedRows: any[] = []; |   selectedRows: any[] = []; | ||||||
|   constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) {} |   constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) { } | ||||||
|  |  | ||||||
|   ngOnInit(): void {} |   ngOnInit(): void { } | ||||||
|  |  | ||||||
|   beforeReq = (requestOptions: STRequestOptions) => { |   beforeReq = (requestOptions: STRequestOptions) => { | ||||||
|     if (this.sf) { |     if (this.sf) { | ||||||
|       let params = {...this.sf.value};  |       let params = { ...this.sf.value }; | ||||||
|       if(params.payDate){ |       if (params.payDate) { | ||||||
|         const payDate  = {start:this.sf?.value?.payDate?.[0],end:this.sf?.value?.payDate?.[1]} |         const payDate = { start: this.sf?.value?.payDate?.[0], end: this.sf?.value?.payDate?.[1] } | ||||||
|         params.payDate  = payDate; |         params.payDate = payDate; | ||||||
|       } |       } | ||||||
|       if(params.payDate2){ |       if (params.payDate2) { | ||||||
|         const payDate2  = {start:this.sf?.value?.payDate2?.[0],end:this.sf?.value?.payDate2?.[1]} |         const payDate2 = { start: this.sf?.value?.payDate2?.[0], end: this.sf?.value?.payDate2?.[1] } | ||||||
|         params.payDate2  = payDate2; |         params.payDate2 = payDate2; | ||||||
|       } |       } | ||||||
|       if(params.createTime){ |       if (params.createTime) { | ||||||
|         const createTime  = {start:this.sf?.value?.createTime?.[0],end:this.sf?.value?.createTime?.[1]} |         const createTime = { start: this.sf?.value?.createTime?.[0], end: this.sf?.value?.createTime?.[1] } | ||||||
|         params.createTime  = createTime; |         params.createTime = createTime; | ||||||
|       } |       } | ||||||
|       Object.assign(requestOptions.body,params ); |       Object.assign(requestOptions.body, params); | ||||||
|     } |     } | ||||||
|     return requestOptions; |     return requestOptions; | ||||||
|   }; |   }; | ||||||
| @ -113,7 +113,7 @@ export class PaymentOrderComponent implements OnInit { | |||||||
|           title: '付款状态', |           title: '付款状态', | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             params: { dictKey: 'refund:apply:status' }, |             params: { dictKey: 'refund:apply:status' }, | ||||||
|             placeholder: '请选择' |             placeholder: '请选择' | ||||||
|           } |           } | ||||||
| @ -123,7 +123,7 @@ export class PaymentOrderComponent implements OnInit { | |||||||
|           title: '付款类型', |           title: '付款类型', | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             params: { dictKey: 'pay:type' }, |             params: { dictKey: 'pay:type' }, | ||||||
|             placeholder: '请选择', |             placeholder: '请选择', | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
| @ -136,7 +136,7 @@ export class PaymentOrderComponent implements OnInit { | |||||||
|           title: '付款方式', |           title: '付款方式', | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             params: { dictKey: 'pay:mode' }, |             params: { dictKey: 'pay:mode' }, | ||||||
|             placeholder: '请选择', |             placeholder: '请选择', | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|  | |||||||
| @ -64,7 +64,7 @@ export class insuranceManagementListComponent implements OnInit { | |||||||
|     public shipperservice: ShipperBaseService, |     public shipperservice: ShipperBaseService, | ||||||
|     private router: Router, |     private router: Router, | ||||||
|     private modale: ModalHelper, |     private modale: ModalHelper, | ||||||
|   ) {} |   ) { } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * 查询参数 |    * 查询参数 | ||||||
| @ -176,7 +176,7 @@ export class insuranceManagementListComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'insure:type' }, |             params: { dictKey: 'insure:type' }, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value |               _$expand: (value: boolean) => value | ||||||
|             } |             } | ||||||
| @ -263,7 +263,7 @@ export class insuranceManagementListComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'insure:status' }, |             params: { dictKey: 'insure:status' }, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value |               _$expand: (value: boolean) => value | ||||||
|             } |             } | ||||||
| @ -327,27 +327,27 @@ export class insuranceManagementListComponent implements OnInit { | |||||||
|     }; |     }; | ||||||
|     this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } }; |     this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } }; | ||||||
|   } |   } | ||||||
|      // 获取城市列表 |   // 获取城市列表 | ||||||
|      getRegionCode(regionCode: any) { |   getRegionCode(regionCode: any) { | ||||||
|       console.log(regionCode); |     console.log(regionCode); | ||||||
|       return this.service |     return this.service | ||||||
|         .request(this.service.$api_get_enterprise_project, { id: regionCode }) |       .request(this.service.$api_get_enterprise_project, { id: regionCode }) | ||||||
|         .pipe( |       .pipe( | ||||||
|           map(res => |         map(res => | ||||||
|             res.map((item: any) => ({ |           res.map((item: any) => ({ | ||||||
|               label: item.projectName, |             label: item.projectName, | ||||||
|               value: item.id |             value: item.id | ||||||
|             })) |           })) | ||||||
|           ) |  | ||||||
|         ) |         ) | ||||||
|         .subscribe(res => { |       ) | ||||||
|           this.sf.getProperty('/enterpriseProjectId')!.schema.enum = res; |       .subscribe(res => { | ||||||
|           this.sf.getProperty('/enterpriseProjectId')!.widget.reset(res); |         this.sf.getProperty('/enterpriseProjectId')!.schema.enum = res; | ||||||
|           // if (this.enterpriseProjectIds) { |         this.sf.getProperty('/enterpriseProjectId')!.widget.reset(res); | ||||||
|           //   this.sf1.setValue('/enterpriseProjectId', this.enterpriseProjectIds); |         // if (this.enterpriseProjectIds) { | ||||||
|           // } |         //   this.sf1.setValue('/enterpriseProjectId', this.enterpriseProjectIds); | ||||||
|         }); |         // } | ||||||
|     } |       }); | ||||||
|  |   } | ||||||
|   /** |   /** | ||||||
|    * 初始化数据列表 |    * 初始化数据列表 | ||||||
|    */ |    */ | ||||||
| @ -501,7 +501,7 @@ export class insuranceManagementListComponent implements OnInit { | |||||||
|     this._$expand = !this._$expand; |     this._$expand = !this._$expand; | ||||||
|     this.sf?.setValue('/_$expand', this._$expand); |     this.sf?.setValue('/_$expand', this._$expand); | ||||||
|   } |   } | ||||||
|   tabChange(item: any) {} |   tabChange(item: any) { } | ||||||
|   /** |   /** | ||||||
|    * 重置表单 |    * 重置表单 | ||||||
|    */ |    */ | ||||||
| @ -541,8 +541,8 @@ export class insuranceManagementListComponent implements OnInit { | |||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|     // 保险配置 |   // 保险配置 | ||||||
|     changeOrder() { |   changeOrder() { | ||||||
|       this.router.navigate(['/insurance-management/list-set', 1]); |     this.router.navigate(['/insurance-management/list-set', 1]); | ||||||
|     } |   } | ||||||
| } | } | ||||||
|  | |||||||
| @ -72,7 +72,7 @@ export class OrderManagementBulkComponent implements OnInit { | |||||||
|     private modal: NzModalService, |     private modal: NzModalService, | ||||||
|     public shipperservice: ShipperBaseService, |     public shipperservice: ShipperBaseService, | ||||||
|     private router: Router |     private router: Router | ||||||
|   ) {} |   ) { } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * 查询参数 |    * 查询参数 | ||||||
| @ -257,7 +257,7 @@ export class OrderManagementBulkComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'overall:payment:status' }, |             params: { dictKey: 'overall:payment:status' }, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value |               _$expand: (value: boolean) => value | ||||||
|             } |             } | ||||||
| @ -312,7 +312,7 @@ export class OrderManagementBulkComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'service:type' }, |             params: { dictKey: 'service:type' }, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value |               _$expand: (value: boolean) => value | ||||||
|             } |             } | ||||||
| @ -323,7 +323,7 @@ export class OrderManagementBulkComponent implements OnInit { | |||||||
|           type: 'string', |           type: 'string', | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             params: { dictKey: 'goodresource:settlement:type' }, |             params: { dictKey: 'goodresource:settlement:type' }, | ||||||
|             containAllLable: true, |             containAllLable: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
| @ -372,27 +372,27 @@ export class OrderManagementBulkComponent implements OnInit { | |||||||
|     }; |     }; | ||||||
|     this.uiView = { '*': { spanLabelFixed: 80, grid: { span: 12, gutter: 4 } } }; |     this.uiView = { '*': { spanLabelFixed: 80, grid: { span: 12, gutter: 4 } } }; | ||||||
|   } |   } | ||||||
|      // 获取城市列表 |   // 获取城市列表 | ||||||
|      getRegionCode(regionCode: any) { |   getRegionCode(regionCode: any) { | ||||||
|       console.log(regionCode); |     console.log(regionCode); | ||||||
|       return this.service |     return this.service | ||||||
|         .request(this.service.$api_get_enterprise_project, { id: regionCode }) |       .request(this.service.$api_get_enterprise_project, { id: regionCode }) | ||||||
|         .pipe( |       .pipe( | ||||||
|           map(res => |         map(res => | ||||||
|             res.map((item: any) => ({ |           res.map((item: any) => ({ | ||||||
|               label: item.projectName, |             label: item.projectName, | ||||||
|               value: item.id |             value: item.id | ||||||
|             })) |           })) | ||||||
|           ) |  | ||||||
|         ) |         ) | ||||||
|         .subscribe(res => { |       ) | ||||||
|           this.sf.getProperty('/enterpriseProjectId')!.schema.enum = res; |       .subscribe(res => { | ||||||
|           this.sf.getProperty('/enterpriseProjectId')!.widget.reset(res); |         this.sf.getProperty('/enterpriseProjectId')!.schema.enum = res; | ||||||
|           // if (this.enterpriseProjectIds) { |         this.sf.getProperty('/enterpriseProjectId')!.widget.reset(res); | ||||||
|           //   this.sf1.setValue('/enterpriseProjectId', this.enterpriseProjectIds); |         // if (this.enterpriseProjectIds) { | ||||||
|           // } |         //   this.sf1.setValue('/enterpriseProjectId', this.enterpriseProjectIds); | ||||||
|         }); |         // } | ||||||
|     } |       }); | ||||||
|  |   } | ||||||
|   /** |   /** | ||||||
|    * 初始化数据列表 |    * 初始化数据列表 | ||||||
|    */ |    */ | ||||||
| @ -510,7 +510,7 @@ export class OrderManagementBulkComponent implements OnInit { | |||||||
|             click: _record => this.cancellation(_record), |             click: _record => this.cancellation(_record), | ||||||
|             iif: item => |             iif: item => | ||||||
|               item.billStatus == '4' || item.billStatus == '5' || item.billStatus == '2' || item.billStatus == '3' || item.billStatus == '1', |               item.billStatus == '4' || item.billStatus == '5' || item.billStatus == '2' || item.billStatus == '3' || item.billStatus == '1', | ||||||
|               acl: { ability: ['ORDER-BULK-signBulkOrder'] }, |             acl: { ability: ['ORDER-BULK-signBulkOrder'] }, | ||||||
|           }, |           }, | ||||||
|           { |           { | ||||||
|             text: '申请退款 ', |             text: '申请退款 ', | ||||||
| @ -605,7 +605,7 @@ export class OrderManagementBulkComponent implements OnInit { | |||||||
|     this._$expand = !this._$expand; |     this._$expand = !this._$expand; | ||||||
|     this.sf?.setValue('/_$expand', this._$expand); |     this.sf?.setValue('/_$expand', this._$expand); | ||||||
|   } |   } | ||||||
|   tabChange(item: any) {} |   tabChange(item: any) { } | ||||||
|   /** |   /** | ||||||
|    * 重置表单 |    * 重置表单 | ||||||
|    */ |    */ | ||||||
| @ -617,8 +617,8 @@ export class OrderManagementBulkComponent implements OnInit { | |||||||
|   /** |   /** | ||||||
|    * 导入货源 |    * 导入货源 | ||||||
|    */ |    */ | ||||||
|   importGoodsSource() {} |   importGoodsSource() { } | ||||||
|   audit(item: any) {} |   audit(item: any) { } | ||||||
|  |  | ||||||
|   /* |   /* | ||||||
|   * 审核关闭弹窗 |   * 审核关闭弹窗 | ||||||
| @ -639,7 +639,7 @@ export class OrderManagementBulkComponent implements OnInit { | |||||||
|   /** |   /** | ||||||
|    * 审核通过按钮 |    * 审核通过按钮 | ||||||
|    */ |    */ | ||||||
|   handleOK() {} |   handleOK() { } | ||||||
|   OpenPrice(item: any) { |   OpenPrice(item: any) { | ||||||
|     this.changeId = item.id; |     this.changeId = item.id; | ||||||
|     this.isVisible = true; |     this.isVisible = true; | ||||||
| @ -692,10 +692,10 @@ export class OrderManagementBulkComponent implements OnInit { | |||||||
|           nzFooter: null |           nzFooter: null | ||||||
|         }); |         }); | ||||||
|         modal.afterClose.subscribe((res: any) => { |         modal.afterClose.subscribe((res: any) => { | ||||||
|         if(res) { |           if (res) { | ||||||
|           this.st.reload(1); |             this.st.reload(1); | ||||||
|           this.getGoodsSourceStatistical(); |             this.getGoodsSourceStatistical(); | ||||||
|         } |           } | ||||||
|         }); |         }); | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
| @ -772,10 +772,10 @@ export class OrderManagementBulkComponent implements OnInit { | |||||||
|   changeOrder(value: any) { |   changeOrder(value: any) { | ||||||
|     this.router.navigate(['order-management/bulk-detailChange', value.id]); |     this.router.navigate(['order-management/bulk-detailChange', value.id]); | ||||||
|   } |   } | ||||||
|       /** |   /** | ||||||
|    *申请退款 | *申请退款 | ||||||
|    */ | */ | ||||||
|    applyRefund(item: any) { |   applyRefund(item: any) { | ||||||
|     const modalRef = this.modal.create({ |     const modalRef = this.modal.create({ | ||||||
|       nzTitle: '申请退款', |       nzTitle: '申请退款', | ||||||
|       nzContent: OneCarOrderCancelConfirmComponent, |       nzContent: OneCarOrderCancelConfirmComponent, | ||||||
| @ -786,7 +786,7 @@ export class OrderManagementBulkComponent implements OnInit { | |||||||
|       nzFooter: null |       nzFooter: null | ||||||
|     }); |     }); | ||||||
|     modalRef.afterClose.subscribe((res: boolean) => { |     modalRef.afterClose.subscribe((res: boolean) => { | ||||||
|       if(res) { |       if (res) { | ||||||
|         this.resetSF; |         this.resetSF; | ||||||
|         this.st.load(); |         this.st.load(); | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -51,7 +51,7 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | |||||||
|     private modal: NzModalService, |     private modal: NzModalService, | ||||||
|     public shipperservice: ShipperBaseService, |     public shipperservice: ShipperBaseService, | ||||||
|     private router: Router |     private router: Router | ||||||
|   ) {} |   ) { } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * 查询参数 |    * 查询参数 | ||||||
| @ -232,7 +232,7 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'overall:payment:status' }, |             params: { dictKey: 'overall:payment:status' }, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value |               _$expand: (value: boolean) => value | ||||||
|             } |             } | ||||||
| @ -258,7 +258,7 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'service:type' }, |             params: { dictKey: 'service:type' }, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value |               _$expand: (value: boolean) => value | ||||||
|             } |             } | ||||||
| @ -282,27 +282,27 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | |||||||
|     }; |     }; | ||||||
|     this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } }; |     this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } }; | ||||||
|   } |   } | ||||||
|      // 获取城市列表 |   // 获取城市列表 | ||||||
|      getRegionCode(regionCode: any) { |   getRegionCode(regionCode: any) { | ||||||
|       console.log(regionCode); |     console.log(regionCode); | ||||||
|       return this.service |     return this.service | ||||||
|         .request(this.service.$api_get_enterprise_project, { id: regionCode }) |       .request(this.service.$api_get_enterprise_project, { id: regionCode }) | ||||||
|         .pipe( |       .pipe( | ||||||
|           map(res => |         map(res => | ||||||
|             res.map((item: any) => ({ |           res.map((item: any) => ({ | ||||||
|               label: item.projectName, |             label: item.projectName, | ||||||
|               value: item.id |             value: item.id | ||||||
|             })) |           })) | ||||||
|           ) |  | ||||||
|         ) |         ) | ||||||
|         .subscribe(res => { |       ) | ||||||
|           this.sf.getProperty('/enterpriseProjectId')!.schema.enum = res; |       .subscribe(res => { | ||||||
|           this.sf.getProperty('/enterpriseProjectId')!.widget.reset(res); |         this.sf.getProperty('/enterpriseProjectId')!.schema.enum = res; | ||||||
|           // if (this.enterpriseProjectIds) { |         this.sf.getProperty('/enterpriseProjectId')!.widget.reset(res); | ||||||
|           //   this.sf1.setValue('/enterpriseProjectId', this.enterpriseProjectIds); |         // if (this.enterpriseProjectIds) { | ||||||
|           // } |         //   this.sf1.setValue('/enterpriseProjectId', this.enterpriseProjectIds); | ||||||
|         }); |         // } | ||||||
|     } |       }); | ||||||
|  |   } | ||||||
|   /** |   /** | ||||||
|    * 初始化数据列表 |    * 初始化数据列表 | ||||||
|    */ |    */ | ||||||
| @ -428,7 +428,7 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | |||||||
|         className: 'text-center', |         className: 'text-center', | ||||||
|         index: 'applyUserName' |         index: 'applyUserName' | ||||||
|       }, |       }, | ||||||
|       { title: '状态',     index: 'handleStatusLabel',  className: 'text-center' }, |       { title: '状态', index: 'handleStatusLabel', className: 'text-center' }, | ||||||
|       { |       { | ||||||
|         title: '操作', |         title: '操作', | ||||||
|         fixed: 'right', |         fixed: 'right', | ||||||
| @ -441,7 +441,7 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | |||||||
|           { |           { | ||||||
|             text: '撤销', |             text: '撤销', | ||||||
|             click: (_record) => this.revoke(_record), |             click: (_record) => this.revoke(_record), | ||||||
|            iif: item => item.handleStatus === '1' || item.handleStatus === 1, |             iif: item => item.handleStatus === '1' || item.handleStatus === 1, | ||||||
|           }, |           }, | ||||||
|         ], |         ], | ||||||
|       }, |       }, | ||||||
| @ -462,16 +462,20 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | |||||||
|         index: 'amountAfterChange', |         index: 'amountAfterChange', | ||||||
|         render: 'amountAfterChange' |         render: 'amountAfterChange' | ||||||
|       }, |       }, | ||||||
|       { title: '变更值', |       { | ||||||
|  |         title: '变更值', | ||||||
|         index: 'amountchangeValue', |         index: 'amountchangeValue', | ||||||
|         render: 'amountchangeValue', |         render: 'amountchangeValue', | ||||||
|         width: '120px', |         width: '120px', | ||||||
|         className: 'text-center' }, |         className: 'text-center' | ||||||
|       { title: '变更后', |       }, | ||||||
|  |       { | ||||||
|  |         title: '变更后', | ||||||
|         index: 'amountBeforeChange', |         index: 'amountBeforeChange', | ||||||
|         render: 'amountBeforeChange', |         render: 'amountBeforeChange', | ||||||
|         width: '120px', |         width: '120px', | ||||||
|         className: 'text-center' } |         className: 'text-center' | ||||||
|  |       } | ||||||
|     ]; |     ]; | ||||||
|   } |   } | ||||||
|   /** |   /** | ||||||
| @ -480,30 +484,30 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | |||||||
|   get queryFieldCount(): number { |   get queryFieldCount(): number { | ||||||
|     return Object.keys(this.schema?.properties || {}).length; |     return Object.keys(this.schema?.properties || {}).length; | ||||||
|   } |   } | ||||||
|      /** |   /** | ||||||
|   * 浮动费用查看 | * 浮动费用查看 | ||||||
|   */ | */ | ||||||
|       FloatView(item: any) { |   FloatView(item: any) { | ||||||
|         console.log(item) |     console.log(item) | ||||||
|         this.changeViewId = item.id; |     this.changeViewId = item.id; | ||||||
|         this.service.request(this.service.$api_getChangeRecordWholeDetail, {id: this.changeViewId}).subscribe((res) => { |     this.service.request(this.service.$api_getChangeRecordWholeDetail, { id: this.changeViewId }).subscribe((res) => { | ||||||
|           this.ViewCause = res; |       this.ViewCause = res; | ||||||
|  |     }) | ||||||
|  |     this.isVisibleView = true | ||||||
|  |   } | ||||||
|  |   revoke(item: any) { | ||||||
|  |     this.modal.confirm({ | ||||||
|  |       nzTitle: '是否确定立即撤销费用变更!</i>', | ||||||
|  |       nzOnOk: () => | ||||||
|  |         this.service.request(this.service.$api_get_revokeChangeRecord, { id: item.id }).subscribe((res) => { | ||||||
|  |           console.log(res) | ||||||
|  |           if (res) { | ||||||
|  |             this.service.msgSrv.success('撤销成功!') | ||||||
|  |             this.stFloat.reload() | ||||||
|  |           } | ||||||
|         }) |         }) | ||||||
|         this.isVisibleView = true |     }); | ||||||
|       } |   } | ||||||
|       revoke(item: any) { |  | ||||||
|         this.modal.confirm({ |  | ||||||
|           nzTitle: '是否确定立即撤销费用变更!</i>', |  | ||||||
|           nzOnOk: () =>  |  | ||||||
|           this.service.request(this.service.$api_get_revokeChangeRecord, { id: item.id}).subscribe((res) => { |  | ||||||
|             console.log(res) |  | ||||||
|             if(res) { |  | ||||||
|               this.service.msgSrv.success('撤销成功!') |  | ||||||
|               this.stFloat.reload() |  | ||||||
|             } |  | ||||||
|           }) |  | ||||||
|         }); |  | ||||||
|       } |  | ||||||
|   /** |   /** | ||||||
|    * 伸缩查询条件 |    * 伸缩查询条件 | ||||||
|    */ |    */ | ||||||
| @ -511,7 +515,7 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | |||||||
|     this._$expand = !this._$expand; |     this._$expand = !this._$expand; | ||||||
|     this.sf?.setValue('/_$expand', this._$expand); |     this.sf?.setValue('/_$expand', this._$expand); | ||||||
|   } |   } | ||||||
|   tabChange(item: any) {} |   tabChange(item: any) { } | ||||||
|   /** |   /** | ||||||
|    * 重置表单 |    * 重置表单 | ||||||
|    */ |    */ | ||||||
| @ -523,7 +527,7 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | |||||||
|   /** |   /** | ||||||
|    * 导入货源 |    * 导入货源 | ||||||
|    */ |    */ | ||||||
|   importGoodsSource() {} |   importGoodsSource() { } | ||||||
|   OpenPrice(item: any) { |   OpenPrice(item: any) { | ||||||
|     this.changeId = item.id; |     this.changeId = item.id; | ||||||
|     this.isVisible = true; |     this.isVisible = true; | ||||||
| @ -580,24 +584,24 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | |||||||
|  |  | ||||||
|     this.uiView = { '*': { spanLabelFixed: 110, grid: { span: 24 } } }; |     this.uiView = { '*': { spanLabelFixed: 110, grid: { span: 24 } } }; | ||||||
|   } |   } | ||||||
|     /* |   /* | ||||||
|    * 审核关闭弹窗 |  * 审核关闭弹窗 | ||||||
|    */ |  */ | ||||||
|     handleCancel(value?: string) { |   handleCancel(value?: string) { | ||||||
|       if(value === '0') { |     if (value === '0') { | ||||||
|         this.isVisible = false; |       this.isVisible = false; | ||||||
|       } else if(value === '1') { |     } else if (value === '1') { | ||||||
|         this.isVisibleRE = false; |       this.isVisibleRE = false; | ||||||
|       } else if(value === '2') { |     } else if (value === '2') { | ||||||
|         this.isVisibleView = false; |       this.isVisibleView = false; | ||||||
|       } |  | ||||||
|     } |     } | ||||||
|       /** |   } | ||||||
|    * 审核通过按钮 |   /** | ||||||
|    */ | * 审核通过按钮 | ||||||
|  | */ | ||||||
|   handleOK() { |   handleOK() { | ||||||
|     let idList: any[] = []; |     let idList: any[] = []; | ||||||
|     if(this.selectedRows.length > 0) { |     if (this.selectedRows.length > 0) { | ||||||
|       this.selectedRows.forEach(item => { |       this.selectedRows.forEach(item => { | ||||||
|         idList.push(item.id); |         idList.push(item.id); | ||||||
|       }); |       }); | ||||||
| @ -614,55 +618,55 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | |||||||
|         this.service.msgSrv.success('提交成功!'); |         this.service.msgSrv.success('提交成功!'); | ||||||
|         this.isVisibleRE = false; |         this.isVisibleRE = false; | ||||||
|         this.st?.load(1); |         this.st?.load(1); | ||||||
|          this.getGoodsSourceStatistical() |         this.getGoodsSourceStatistical() | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|     /** |   /** | ||||||
|    * 审核拒绝按钮 |  * 审核拒绝按钮 | ||||||
|    */ |  */ | ||||||
|      reject() { |   reject() { | ||||||
|        if(!this.sfView.value.complianceRemark) { |     if (!this.sfView.value.complianceRemark) { | ||||||
|         this.service.msgSrv.error('备注不能为空!'); |       this.service.msgSrv.error('备注不能为空!'); | ||||||
|         return; |       return; | ||||||
|        } |  | ||||||
|       let idList: any[] = []; |  | ||||||
|       if(this.selectedRows.length > 0) { |  | ||||||
|         this.selectedRows.forEach(item => { |  | ||||||
|           idList.push(item.id); |  | ||||||
|         }); |  | ||||||
|       } else { |  | ||||||
|         idList.push(this.sfView.value.billCode) |  | ||||||
|       } |  | ||||||
|       const parms = { |  | ||||||
|         ids: idList, |  | ||||||
|         complianceRemark: this.sfView.value.complianceRemark, |  | ||||||
|         complianceStatus: 2, |  | ||||||
|       }; |  | ||||||
|       this.service.request(this.service.$api_get_updateBillByCompliance, parms).subscribe(res => { |  | ||||||
|         if (res) { |  | ||||||
|           this.service.msgSrv.success('提交成功!'); |  | ||||||
|           this.isVisibleRE = false; |  | ||||||
|           this.st?.load(1); |  | ||||||
|           this.getGoodsSourceStatistical() |  | ||||||
|         } |  | ||||||
|       }); |  | ||||||
|     } |     } | ||||||
|       /** |     let idList: any[] = []; | ||||||
|    *合规抽查 |     if (this.selectedRows.length > 0) { | ||||||
|    */ |       this.selectedRows.forEach(item => { | ||||||
|  |         idList.push(item.id); | ||||||
|  |       }); | ||||||
|  |     } else { | ||||||
|  |       idList.push(this.sfView.value.billCode) | ||||||
|  |     } | ||||||
|  |     const parms = { | ||||||
|  |       ids: idList, | ||||||
|  |       complianceRemark: this.sfView.value.complianceRemark, | ||||||
|  |       complianceStatus: 2, | ||||||
|  |     }; | ||||||
|  |     this.service.request(this.service.$api_get_updateBillByCompliance, parms).subscribe(res => { | ||||||
|  |       if (res) { | ||||||
|  |         this.service.msgSrv.success('提交成功!'); | ||||||
|  |         this.isVisibleRE = false; | ||||||
|  |         this.st?.load(1); | ||||||
|  |         this.getGoodsSourceStatistical() | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  |   /** | ||||||
|  | *合规抽查 | ||||||
|  | */ | ||||||
|   audit(item?: any) { |   audit(item?: any) { | ||||||
|     if (item) { |     if (item) { | ||||||
|       this.isVisibleRE = true; |       this.isVisibleRE = true; | ||||||
|       this.auditId = item.id; |       this.auditId = item.id; | ||||||
|       this.initSTAudit(1); |       this.initSTAudit(1); | ||||||
|     } else { |     } else { | ||||||
|       if(this.selectedRows.length <= 0) { |       if (this.selectedRows.length <= 0) { | ||||||
|         this.service.msgSrv.error('请选择订单!') |         this.service.msgSrv.error('请选择订单!') | ||||||
|         return; |         return; | ||||||
|       } else { |       } else { | ||||||
|       this.isVisibleRE = true; |         this.isVisibleRE = true; | ||||||
|       this.initSTAudit(2); |         this.initSTAudit(2); | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -41,7 +41,7 @@ export class OrderManagementReceiptsAuditComponent implements OnInit { | |||||||
|     private modal: NzModalService, |     private modal: NzModalService, | ||||||
|     public shipperservice: ShipperBaseService, |     public shipperservice: ShipperBaseService, | ||||||
|     private router: Router |     private router: Router | ||||||
|   ) {} |   ) { } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * 查询参数 |    * 查询参数 | ||||||
| @ -207,7 +207,7 @@ export class OrderManagementReceiptsAuditComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'overall:payment:status' }, |             params: { dictKey: 'overall:payment:status' }, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value |               _$expand: (value: boolean) => value | ||||||
|             } |             } | ||||||
| @ -233,7 +233,7 @@ export class OrderManagementReceiptsAuditComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'service:type' }, |             params: { dictKey: 'service:type' }, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value |               _$expand: (value: boolean) => value | ||||||
|             } |             } | ||||||
| @ -244,7 +244,7 @@ export class OrderManagementReceiptsAuditComponent implements OnInit { | |||||||
|           type: 'string', |           type: 'string', | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             params: { dictKey: 'goodresource:settlement:type' }, |             params: { dictKey: 'goodresource:settlement:type' }, | ||||||
|             containAllLable: true, |             containAllLable: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
| @ -347,7 +347,7 @@ export class OrderManagementReceiptsAuditComponent implements OnInit { | |||||||
|           { |           { | ||||||
|             text: '修改    ', |             text: '修改    ', | ||||||
|             click: _record => this.modification(_record), |             click: _record => this.modification(_record), | ||||||
|             iif: item => item.auditStatus == '1' , |             iif: item => item.auditStatus == '1', | ||||||
|             acl: { ability: ['ORDER-RECEIPTS-updateBillExamine'] }, |             acl: { ability: ['ORDER-RECEIPTS-updateBillExamine'] }, | ||||||
|           }, |           }, | ||||||
|           { |           { | ||||||
| @ -373,7 +373,7 @@ export class OrderManagementReceiptsAuditComponent implements OnInit { | |||||||
|     this._$expand = !this._$expand; |     this._$expand = !this._$expand; | ||||||
|     this.sf?.setValue('/_$expand', this._$expand); |     this.sf?.setValue('/_$expand', this._$expand); | ||||||
|   } |   } | ||||||
|   tabChange(item: any) {} |   tabChange(item: any) { } | ||||||
|   /** |   /** | ||||||
|    * 重置表单 |    * 重置表单 | ||||||
|    */ |    */ | ||||||
| @ -385,13 +385,13 @@ export class OrderManagementReceiptsAuditComponent implements OnInit { | |||||||
|   /** |   /** | ||||||
|    * 导入货源 |    * 导入货源 | ||||||
|    */ |    */ | ||||||
|   importGoodsSource() {} |   importGoodsSource() { } | ||||||
|   audit(item: any) {} |   audit(item: any) { } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * 审核通过按钮 |    * 审核通过按钮 | ||||||
|    */ |    */ | ||||||
|   handleOK() {} |   handleOK() { } | ||||||
|   OpenPrice(item: any) { |   OpenPrice(item: any) { | ||||||
|     this.isVisible = true; |     this.isVisible = true; | ||||||
|   } |   } | ||||||
| @ -410,12 +410,12 @@ export class OrderManagementReceiptsAuditComponent implements OnInit { | |||||||
|     modalRef.afterClose.subscribe((result: any) => { |     modalRef.afterClose.subscribe((result: any) => { | ||||||
|       this.st.load(1); |       this.st.load(1); | ||||||
|       this.getGoodsSourceStatistical() |       this.getGoodsSourceStatistical() | ||||||
|   }); |     }); | ||||||
|   } |   } | ||||||
|   // 生成电子单据 |   // 生成电子单据 | ||||||
|   generate(item: any, sts?: number) { |   generate(item: any, sts?: number) { | ||||||
|     let text = '查看凭证'; |     let text = '查看凭证'; | ||||||
|     if(sts == 2) { |     if (sts == 2) { | ||||||
|       text = '生成电子单据'; |       text = '生成电子单据'; | ||||||
|     } |     } | ||||||
|     const modalRef = this.modal.create({ |     const modalRef = this.modal.create({ | ||||||
| @ -431,23 +431,23 @@ export class OrderManagementReceiptsAuditComponent implements OnInit { | |||||||
|     modalRef.afterClose.subscribe((result: any) => { |     modalRef.afterClose.subscribe((result: any) => { | ||||||
|       this.st.load(1); |       this.st.load(1); | ||||||
|       this.getGoodsSourceStatistical() |       this.getGoodsSourceStatistical() | ||||||
|   }); |     }); | ||||||
|   } |   } | ||||||
|   // 通过 |   // 通过 | ||||||
|   sign(item?: any) { |   sign(item?: any) { | ||||||
|     let params: any = [] |     let params: any = [] | ||||||
|     let text = ''; |     let text = ''; | ||||||
|     if(item === '1') { |     if (item === '1') { | ||||||
|       if(this.selectedRows.length <= 0) { |       if (this.selectedRows.length <= 0) { | ||||||
|         this.service.msgSrv.error('请选择订单!') |         this.service.msgSrv.error('请选择订单!') | ||||||
|         return |         return | ||||||
|       } |       } | ||||||
|       this.selectedRows.forEach(ite => { |       this.selectedRows.forEach(ite => { | ||||||
|         params.push(ite.id); |         params.push(ite.id); | ||||||
|       }); |       }); | ||||||
|       text =  `<b>已选择${this.selectedRows.length}条订单,确认批量通过审核吗?</b>` |       text = `<b>已选择${this.selectedRows.length}条订单,确认批量通过审核吗?</b>` | ||||||
|     } else { |     } else { | ||||||
|       text =  `<b>确认通过审核吗?</b>` |       text = `<b>确认通过审核吗?</b>` | ||||||
|       params.push(item.id); |       params.push(item.id); | ||||||
|     } |     } | ||||||
|     console.log(this.selectedRows) |     console.log(this.selectedRows) | ||||||
| @ -470,7 +470,7 @@ export class OrderManagementReceiptsAuditComponent implements OnInit { | |||||||
|   } |   } | ||||||
|   // 批量生成电子单据 |   // 批量生成电子单据 | ||||||
|   sign1(item?: any) { |   sign1(item?: any) { | ||||||
|     if(this.selectedRows.length <= 0) { |     if (this.selectedRows.length <= 0) { | ||||||
|       this.service.msgSrv.error('请选择订单!') |       this.service.msgSrv.error('请选择订单!') | ||||||
|       return |       return | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -40,12 +40,12 @@ export class OrderManagementRiskComponent implements OnInit { | |||||||
|     public shipperservice: ShipperBaseService, |     public shipperservice: ShipperBaseService, | ||||||
|     private modal: NzModalService, |     private modal: NzModalService, | ||||||
|     public router: Router |     public router: Router | ||||||
|   ) {} |   ) { } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * 查询参数 |    * 查询参数 | ||||||
|    */ |    */ | ||||||
|    get reqParams() { |   get reqParams() { | ||||||
|     // const a:any = {}; |     // const a:any = {}; | ||||||
|     // if(this.resourceStatus) { |     // if(this.resourceStatus) { | ||||||
|     //   a.representationsStatus = this.resourceStatus |     //   a.representationsStatus = this.resourceStatus | ||||||
| @ -54,8 +54,8 @@ export class OrderManagementRiskComponent implements OnInit { | |||||||
|     //   ...a, |     //   ...a, | ||||||
|     //   ...this.sf?.value, |     //   ...this.sf?.value, | ||||||
|     // }; |     // }; | ||||||
|     const a:any = {}; |     const a: any = {}; | ||||||
|     if(this.resourceStatus) { |     if (this.resourceStatus) { | ||||||
|       a.representationsStatus = this.resourceStatus |       a.representationsStatus = this.resourceStatus | ||||||
|     } |     } | ||||||
|     const params: any = Object.assign({}, this.sf?.value || {}); |     const params: any = Object.assign({}, this.sf?.value || {}); | ||||||
| @ -67,7 +67,7 @@ export class OrderManagementRiskComponent implements OnInit { | |||||||
|         start: this.sf?.value?.createTime?.[0] || '', |         start: this.sf?.value?.createTime?.[0] || '', | ||||||
|         end: this.sf?.value?.createTime?.[1] || '', |         end: this.sf?.value?.createTime?.[1] || '', | ||||||
|       }, |       }, | ||||||
|      }; |     }; | ||||||
|   } |   } | ||||||
|   search() { |   search() { | ||||||
|     this.st?.load(1); |     this.st?.load(1); | ||||||
| @ -84,17 +84,17 @@ export class OrderManagementRiskComponent implements OnInit { | |||||||
|   getGoodsSourceStatistical() { |   getGoodsSourceStatistical() { | ||||||
|     this.service.request(this.service.$api_get_listStatisticalStatus, this.reqParams).subscribe(res => { |     this.service.request(this.service.$api_get_listStatisticalStatus, this.reqParams).subscribe(res => { | ||||||
|       if (res) { |       if (res) { | ||||||
|        res.forEach((element: any) => { |         res.forEach((element: any) => { | ||||||
|         if(element.representationsStatusLabel === '待申述') { |           if (element.representationsStatusLabel === '待申述') { | ||||||
|           this.tabs.stayQuantity = element.quantity |             this.tabs.stayQuantity = element.quantity | ||||||
|         } else if (element.representationsStatusLabel === '申诉失败') { |           } else if (element.representationsStatusLabel === '申诉失败') { | ||||||
|           this.tabs.receivedQuantity = element.quantity |             this.tabs.receivedQuantity = element.quantity | ||||||
|         } else if (element.representationsStatusLabel === '申述成功') { |           } else if (element.representationsStatusLabel === '申述成功') { | ||||||
|           this.tabs.cancelQuantity = element.quantity |             this.tabs.cancelQuantity = element.quantity | ||||||
|         } else if (element.representationsStatusLabel === '申诉中') { |           } else if (element.representationsStatusLabel === '申诉中') { | ||||||
|           this.tabs.underwayQuantity = element.quantity |             this.tabs.underwayQuantity = element.quantity | ||||||
|         }  |           } | ||||||
|        }); |         }); | ||||||
|       } |       } | ||||||
|     }) |     }) | ||||||
|   } |   } | ||||||
| @ -168,7 +168,7 @@ export class OrderManagementRiskComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'freight:type' }, |             params: { dictKey: 'freight:type' }, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value |               _$expand: (value: boolean) => value | ||||||
|             } |             } | ||||||
| @ -180,7 +180,7 @@ export class OrderManagementRiskComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'BulkFreightUnitPriceType' }, |             params: { dictKey: 'BulkFreightUnitPriceType' }, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value |               _$expand: (value: boolean) => value | ||||||
|             } |             } | ||||||
| @ -307,7 +307,7 @@ export class OrderManagementRiskComponent implements OnInit { | |||||||
|           { |           { | ||||||
|             text: '审核', |             text: '审核', | ||||||
|             click: _record => this.audit(_record), |             click: _record => this.audit(_record), | ||||||
|             iif: item => item.representationsStatus == '1' || item.representationsStatus == '2' , |             iif: item => item.representationsStatus == '1' || item.representationsStatus == '2', | ||||||
|             acl: { ability: ['ORDER-RISK-audit'] }, |             acl: { ability: ['ORDER-RISK-audit'] }, | ||||||
|           }, |           }, | ||||||
|           { |           { | ||||||
| @ -405,7 +405,7 @@ export class OrderManagementRiskComponent implements OnInit { | |||||||
|   /** |   /** | ||||||
|    * 导入货源 |    * 导入货源 | ||||||
|    */ |    */ | ||||||
|   importGoodsSource() {} |   importGoodsSource() { } | ||||||
|  |  | ||||||
|   /* |   /* | ||||||
|    * 审核关闭弹窗 |    * 审核关闭弹窗 | ||||||
| @ -418,7 +418,7 @@ export class OrderManagementRiskComponent implements OnInit { | |||||||
|    */ |    */ | ||||||
|   handleOK() { |   handleOK() { | ||||||
|     let idList: any[] = []; |     let idList: any[] = []; | ||||||
|     if(this.selectedRows.length > 0) { |     if (this.selectedRows.length > 0) { | ||||||
|       this.selectedRows.forEach(item => { |       this.selectedRows.forEach(item => { | ||||||
|         idList.push(item.id); |         idList.push(item.id); | ||||||
|       }); |       }); | ||||||
| @ -435,7 +435,7 @@ export class OrderManagementRiskComponent implements OnInit { | |||||||
|         this.service.msgSrv.success('审核通过成功!'); |         this.service.msgSrv.success('审核通过成功!'); | ||||||
|         this.isVisibleRE = false; |         this.isVisibleRE = false; | ||||||
|         this.st?.load(1); |         this.st?.load(1); | ||||||
|          this.getGoodsSourceStatistical() |         this.getGoodsSourceStatistical() | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
| @ -444,14 +444,14 @@ export class OrderManagementRiskComponent implements OnInit { | |||||||
|    */ |    */ | ||||||
|   reject() { |   reject() { | ||||||
|     let idList: any[] = []; |     let idList: any[] = []; | ||||||
|     if(this.selectedRows.length > 0) { |     if (this.selectedRows.length > 0) { | ||||||
|       this.selectedRows.forEach(item => { |       this.selectedRows.forEach(item => { | ||||||
|         idList.push(item.id); |         idList.push(item.id); | ||||||
|       }); |       }); | ||||||
|     } else { |     } else { | ||||||
|       idList.push(this.sfView.value.billCode) |       idList.push(this.sfView.value.billCode) | ||||||
|     } |     } | ||||||
|     if(!this.sfView.value.representationsCause) { |     if (!this.sfView.value.representationsCause) { | ||||||
|       this.service.msgSrv.error('拒绝原因为空!'); |       this.service.msgSrv.error('拒绝原因为空!'); | ||||||
|       return; |       return; | ||||||
|     } |     } | ||||||
| @ -476,14 +476,14 @@ export class OrderManagementRiskComponent implements OnInit { | |||||||
|     if (item) { |     if (item) { | ||||||
|       this.auditId = item.id; |       this.auditId = item.id; | ||||||
|       this.initSTAudit(1); |       this.initSTAudit(1); | ||||||
|        this.isVisibleRE = true; |       this.isVisibleRE = true; | ||||||
|     } else { |     } else { | ||||||
|       if(this.selectedRows.length <= 0) { |       if (this.selectedRows.length <= 0) { | ||||||
|         this.service.msgSrv.error('请选择订单!') |         this.service.msgSrv.error('请选择订单!') | ||||||
|         return; |         return; | ||||||
|       } else { |       } else { | ||||||
|       this.initSTAudit(2); |         this.initSTAudit(2); | ||||||
|       this.isVisibleRE = true; |         this.isVisibleRE = true; | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -43,34 +43,34 @@ export class OrderManagementVehicleComponent implements OnInit { | |||||||
|   columnsFloatView: STColumn[] = []; |   columnsFloatView: STColumn[] = []; | ||||||
|   datass: any = [ |   datass: any = [ | ||||||
|     { |     { | ||||||
|     one: '1', |       one: '1', | ||||||
|     two: '1', |       two: '1', | ||||||
|     three: '1', |       three: '1', | ||||||
|     id: 1 |       id: 1 | ||||||
|    }, |     }, | ||||||
|     { |     { | ||||||
|     one: '2', |       one: '2', | ||||||
|     two: '2', |       two: '2', | ||||||
|     three: '2', |       three: '2', | ||||||
|     id: 2 |       id: 2 | ||||||
|    }, |     }, | ||||||
| ]; |   ]; | ||||||
| tabs = { |   tabs = { | ||||||
|   cancelQuantity: 0, |     cancelQuantity: 0, | ||||||
|   receivedQuantity: 0, |     receivedQuantity: 0, | ||||||
|   stayQuantity: 0, |     stayQuantity: 0, | ||||||
|   signQuantity: 0, |     signQuantity: 0, | ||||||
|   compolatelQuantity: 0, |     compolatelQuantity: 0, | ||||||
|   GoingQuantity: 0, |     GoingQuantity: 0, | ||||||
|   totalCount: 0 |     totalCount: 0 | ||||||
| }; |   }; | ||||||
| resourceStatus: any; |   resourceStatus: any; | ||||||
|   constructor( |   constructor( | ||||||
|     public service: OrderManagementService, |     public service: OrderManagementService, | ||||||
|     private modal: NzModalService, |     private modal: NzModalService, | ||||||
|     public shipperservice: ShipperBaseService, |     public shipperservice: ShipperBaseService, | ||||||
|     public router: Router, |     public router: Router, | ||||||
|      ) { } |   ) { } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|  * 查询参数 |  * 查询参数 | ||||||
| @ -86,10 +86,10 @@ resourceStatus: any; | |||||||
|     }; |     }; | ||||||
|   } |   } | ||||||
|   get reqParams() { |   get reqParams() { | ||||||
|     const a:any = {}; |     const a: any = {}; | ||||||
|     if(this.resourceStatus) { |     if (this.resourceStatus) { | ||||||
|       a.billStatus = this.resourceStatus; |       a.billStatus = this.resourceStatus; | ||||||
|      } |     } | ||||||
|     const params: any = Object.assign({}, this.sf?.value || {}); |     const params: any = Object.assign({}, this.sf?.value || {}); | ||||||
|     delete params._$expand; |     delete params._$expand; | ||||||
|     return { |     return { | ||||||
| @ -99,7 +99,7 @@ resourceStatus: any; | |||||||
|         start: this.sf?.value?.createTime?.[0] || '', |         start: this.sf?.value?.createTime?.[0] || '', | ||||||
|         end: this.sf?.value?.createTime?.[1] || '', |         end: this.sf?.value?.createTime?.[1] || '', | ||||||
|       }, |       }, | ||||||
|      }; |     }; | ||||||
|   } |   } | ||||||
|   get selectedRows() { |   get selectedRows() { | ||||||
|     return this.st?.list.filter((item) => item.checked) || []; |     return this.st?.list.filter((item) => item.checked) || []; | ||||||
| @ -112,8 +112,8 @@ resourceStatus: any; | |||||||
|     this.initSTFloatView(); |     this.initSTFloatView(); | ||||||
|   } |   } | ||||||
|   search() { |   search() { | ||||||
|   this.st?.load(1); |     this.st?.load(1); | ||||||
|   this.getGoodsSourceStatistical() |     this.getGoodsSourceStatistical() | ||||||
|   } |   } | ||||||
|   getGoodsSourceStatistical() { |   getGoodsSourceStatistical() { | ||||||
|     this.tabs = { |     this.tabs = { | ||||||
| @ -127,26 +127,26 @@ resourceStatus: any; | |||||||
|     }; |     }; | ||||||
|     const params: any = Object.assign({}, this.reqParams || {}); |     const params: any = Object.assign({}, this.reqParams || {}); | ||||||
|     delete params.billStatus |     delete params.billStatus | ||||||
|     this.service.request(this.service.$api_statisticalStatus,params).subscribe(res => { |     this.service.request(this.service.$api_statisticalStatus, params).subscribe(res => { | ||||||
|       if (res) { |       if (res) { | ||||||
|         let totalCount = 0; |         let totalCount = 0; | ||||||
|        res.forEach((element: any) => { |         res.forEach((element: any) => { | ||||||
|         if(element.billStatusLabel === '待发车') { |           if (element.billStatusLabel === '待发车') { | ||||||
|           this.tabs.stayQuantity = element.quantity |             this.tabs.stayQuantity = element.quantity | ||||||
|         } else if (element.billStatusLabel === '待接单') { |           } else if (element.billStatusLabel === '待接单') { | ||||||
|           this.tabs.receivedQuantity = element.quantity |             this.tabs.receivedQuantity = element.quantity | ||||||
|         } else if (element.billStatusLabel === '运输中') { |           } else if (element.billStatusLabel === '运输中') { | ||||||
|           this.tabs.GoingQuantity = element.quantity |             this.tabs.GoingQuantity = element.quantity | ||||||
|         } else if (element.billStatusLabel === '待签收') { |           } else if (element.billStatusLabel === '待签收') { | ||||||
|           this.tabs.signQuantity = element.quantity |             this.tabs.signQuantity = element.quantity | ||||||
|         } else if (element.billStatusLabel === '已完成') { |           } else if (element.billStatusLabel === '已完成') { | ||||||
|           this.tabs.compolatelQuantity = element.quantity |             this.tabs.compolatelQuantity = element.quantity | ||||||
|         } else if (element.billStatusLabel === '已取消') { |           } else if (element.billStatusLabel === '已取消') { | ||||||
|           this.tabs.cancelQuantity = element.quantity |             this.tabs.cancelQuantity = element.quantity | ||||||
|         }  |           } | ||||||
|         totalCount += element.quantity |           totalCount += element.quantity | ||||||
|        }); |         }); | ||||||
|        this.tabs.totalCount = totalCount |         this.tabs.totalCount = totalCount | ||||||
|       } |       } | ||||||
|     }) |     }) | ||||||
|   } |   } | ||||||
| @ -154,7 +154,7 @@ resourceStatus: any; | |||||||
|   /** |   /** | ||||||
|  * 初始化查询表单 |  * 初始化查询表单 | ||||||
|  */ |  */ | ||||||
|    initSF() { |   initSF() { | ||||||
|     this.schema = { |     this.schema = { | ||||||
|       properties: { |       properties: { | ||||||
|         _$expand: { type: 'boolean', ui: { hidden: true } }, |         _$expand: { type: 'boolean', ui: { hidden: true } }, | ||||||
| @ -179,7 +179,7 @@ resourceStatus: any; | |||||||
|             onSearch: (q: any) => { |             onSearch: (q: any) => { | ||||||
|               if (!!q) { |               if (!!q) { | ||||||
|                 return this.service |                 return this.service | ||||||
|                   .request(this.service.$api_enterpriceList, { enterpriseName: q}) |                   .request(this.service.$api_enterpriceList, { enterpriseName: q }) | ||||||
|                   .pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum)))) |                   .pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum)))) | ||||||
|                   .toPromise(); |                   .toPromise(); | ||||||
|               } else { |               } else { | ||||||
| @ -254,7 +254,7 @@ resourceStatus: any; | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'overall:payment:status' }, |             params: { dictKey: 'overall:payment:status' }, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value, |               _$expand: (value: boolean) => value, | ||||||
|             }, |             }, | ||||||
| @ -328,7 +328,7 @@ resourceStatus: any; | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'service:type' }, |             params: { dictKey: 'service:type' }, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value, |               _$expand: (value: boolean) => value, | ||||||
|             }, |             }, | ||||||
| @ -345,7 +345,7 @@ resourceStatus: any; | |||||||
|    */ |    */ | ||||||
|   initST() { |   initST() { | ||||||
|     this.columns = [ |     this.columns = [ | ||||||
|       { title: '', type: 'checkbox',   fixed: 'left', width: '50px', className: 'text-center' }, |       { title: '', type: 'checkbox', fixed: 'left', width: '50px', className: 'text-center' }, | ||||||
|       { |       { | ||||||
|         title: '订单号', |         title: '订单号', | ||||||
|         width: '200px', |         width: '200px', | ||||||
| @ -482,7 +482,7 @@ resourceStatus: any; | |||||||
|         className: 'text-center', |         className: 'text-center', | ||||||
|         index: 'applyUserName' |         index: 'applyUserName' | ||||||
|       }, |       }, | ||||||
|       { title: '状态',     index: 'handleStatusLabel',  className: 'text-center' }, |       { title: '状态', index: 'handleStatusLabel', className: 'text-center' }, | ||||||
|       { |       { | ||||||
|         title: '操作', |         title: '操作', | ||||||
|         fixed: 'right', |         fixed: 'right', | ||||||
| @ -495,7 +495,7 @@ resourceStatus: any; | |||||||
|           { |           { | ||||||
|             text: '撤销', |             text: '撤销', | ||||||
|             click: (_record) => this.revoke(_record), |             click: (_record) => this.revoke(_record), | ||||||
|            iif: item => item.handleStatus === '1' || item.handleStatus === 1, |             iif: item => item.handleStatus === '1' || item.handleStatus === 1, | ||||||
|           }, |           }, | ||||||
|         ], |         ], | ||||||
|       }, |       }, | ||||||
| @ -516,39 +516,43 @@ resourceStatus: any; | |||||||
|         index: 'amountAfterChange', |         index: 'amountAfterChange', | ||||||
|         render: 'amountAfterChange' |         render: 'amountAfterChange' | ||||||
|       }, |       }, | ||||||
|       { title: '变更值', |       { | ||||||
|  |         title: '变更值', | ||||||
|         index: 'amountchangeValue', |         index: 'amountchangeValue', | ||||||
|         render: 'amountchangeValue', |         render: 'amountchangeValue', | ||||||
|         width: '120px', |         width: '120px', | ||||||
|         className: 'text-center' }, |         className: 'text-center' | ||||||
|       { title: '变更后', |       }, | ||||||
|  |       { | ||||||
|  |         title: '变更后', | ||||||
|         index: 'amountBeforeChange', |         index: 'amountBeforeChange', | ||||||
|         render: 'amountBeforeChange', |         render: 'amountBeforeChange', | ||||||
|         width: '120px', |         width: '120px', | ||||||
|         className: 'text-center' } |         className: 'text-center' | ||||||
|  |       } | ||||||
|     ]; |     ]; | ||||||
|   } |   } | ||||||
|      // 获取城市列表 |   // 获取城市列表 | ||||||
|  getRegionCode(regionCode: any) { |   getRegionCode(regionCode: any) { | ||||||
|   console.log(regionCode); |     console.log(regionCode); | ||||||
|   return this.service |     return this.service | ||||||
|     .request(this.service.$api_get_enterprise_project, { id: regionCode }) |       .request(this.service.$api_get_enterprise_project, { id: regionCode }) | ||||||
|     .pipe( |       .pipe( | ||||||
|       map(res => |         map(res => | ||||||
|         res.map((item: any) => ({ |           res.map((item: any) => ({ | ||||||
|           label: item.projectName, |             label: item.projectName, | ||||||
|           value: item.id |             value: item.id | ||||||
|         })) |           })) | ||||||
|  |         ) | ||||||
|       ) |       ) | ||||||
|     ) |       .subscribe(res => { | ||||||
|     .subscribe(res => { |         this.sf.getProperty('/enterpriseProjectId')!.schema.enum = res; | ||||||
|       this.sf.getProperty('/enterpriseProjectId')!.schema.enum = res; |         this.sf.getProperty('/enterpriseProjectId')!.widget.reset(res); | ||||||
|       this.sf.getProperty('/enterpriseProjectId')!.widget.reset(res); |         // if (this.enterpriseProjectIds) { | ||||||
|       // if (this.enterpriseProjectIds) { |         //   this.sf1.setValue('/enterpriseProjectId', this.enterpriseProjectIds); | ||||||
|       //   this.sf1.setValue('/enterpriseProjectId', this.enterpriseProjectIds); |         // } | ||||||
|       // } |       }); | ||||||
|     }); |   } | ||||||
| } |  | ||||||
|   /** |   /** | ||||||
|    * 查询字段个数 |    * 查询字段个数 | ||||||
|    */ |    */ | ||||||
| @ -588,19 +592,19 @@ resourceStatus: any; | |||||||
|   audit(item: any) { |   audit(item: any) { | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  /* |   /* | ||||||
|   * 审核关闭弹窗 |    * 审核关闭弹窗 | ||||||
|   view: 1 |    view: 1 | ||||||
|   浮动费用: 0 |    浮动费用: 0 | ||||||
|   查看评价: 3 |    查看评价: 3 | ||||||
|   */ |    */ | ||||||
|   handleCancel(type: string) { |   handleCancel(type: string) { | ||||||
|     console.log(type) |     console.log(type) | ||||||
|     if(type === '0') { |     if (type === '0') { | ||||||
|       this.isVisible = false |       this.isVisible = false | ||||||
|     } else if(type === '1') { |     } else if (type === '1') { | ||||||
|       this.isVisibleView = false |       this.isVisibleView = false | ||||||
|     } else if(type === '2') { |     } else if (type === '2') { | ||||||
|       this.isVisibleEvaluate = false |       this.isVisibleEvaluate = false | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| @ -608,20 +612,20 @@ resourceStatus: any; | |||||||
|     this.changeId = value.id; |     this.changeId = value.id; | ||||||
|     this.isVisible = true |     this.isVisible = true | ||||||
|   } |   } | ||||||
|    /** |   /** | ||||||
|   * 浮动费用查看 |  * 浮动费用查看 | ||||||
|   */ |  */ | ||||||
|   FloatView(item: any) { |   FloatView(item: any) { | ||||||
|     console.log(item) |     console.log(item) | ||||||
|     this.changeViewId = item.id; |     this.changeViewId = item.id; | ||||||
|     this.service.request(this.service.$api_getChangeRecordWholeDetail, {id: this.changeViewId}).subscribe((res) => { |     this.service.request(this.service.$api_getChangeRecordWholeDetail, { id: this.changeViewId }).subscribe((res) => { | ||||||
|       this.ViewCause = res; |       this.ViewCause = res; | ||||||
|     }) |     }) | ||||||
|     this.isVisibleView = true |     this.isVisibleView = true | ||||||
|   } |   } | ||||||
|    /** |   /** | ||||||
|   *查看评价 |  *查看评价 | ||||||
|   */ |  */ | ||||||
|   viewEvaluate(item: any) { |   viewEvaluate(item: any) { | ||||||
|     console.log(item) |     console.log(item) | ||||||
|     this.isVisibleEvaluate = true |     this.isVisibleEvaluate = true | ||||||
| @ -643,22 +647,22 @@ resourceStatus: any; | |||||||
|       this.diverList = res.evaluateInfos |       this.diverList = res.evaluateInfos | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|       /** |   /** | ||||||
|    *变更运费 | *变更运费 | ||||||
|    */ | */ | ||||||
|    updateFreight(item: any) { |   updateFreight(item: any) { | ||||||
|      console.log(item?.isFreightChangeApplication) |     console.log(item?.isFreightChangeApplication) | ||||||
|     this.service.request(this.service.$api_get_getFreightChangeWholeDetail, { id: item.id }).subscribe(data => { |     this.service.request(this.service.$api_get_getFreightChangeWholeDetail, { id: item.id }).subscribe(data => { | ||||||
|       if (data) { |       if (data) { | ||||||
|         const modal = this.modal.create({ |         const modal = this.modal.create({ | ||||||
|           nzTitle: '变更运费', |           nzTitle: '变更运费', | ||||||
|           nzWidth: 580, |           nzWidth: 580, | ||||||
|           nzContent: VehicleUpdateFreightComponent, |           nzContent: VehicleUpdateFreightComponent, | ||||||
|           nzComponentParams: { data: { ...data, id: item.id,isFreightChangeApplication: item?.isFreightChangeApplication } }, |           nzComponentParams: { data: { ...data, id: item.id, isFreightChangeApplication: item?.isFreightChangeApplication } }, | ||||||
|           nzFooter: null, |           nzFooter: null, | ||||||
|         }); |         }); | ||||||
|         modal.afterClose.subscribe((res: Boolean) => { |         modal.afterClose.subscribe((res: Boolean) => { | ||||||
|           if(res) { |           if (res) { | ||||||
|             this.st.load(); |             this.st.load(); | ||||||
|             this.getGoodsSourceStatistical() |             this.getGoodsSourceStatistical() | ||||||
|           } |           } | ||||||
| @ -669,33 +673,33 @@ resourceStatus: any; | |||||||
|   /** |   /** | ||||||
|    *修改附加费率 |    *修改附加费率 | ||||||
|    */ |    */ | ||||||
|    modifyRate() { |   modifyRate() { | ||||||
|     let params: any[] = []; |     let params: any[] = []; | ||||||
|     this.selectedRows.forEach(item => { |     this.selectedRows.forEach(item => { | ||||||
|       params.push(item.id); |       params.push(item.id); | ||||||
|     }); |     }); | ||||||
|     if(params.length  === 0) { |     if (params.length === 0) { | ||||||
|       this.service.msgSrv.error('请先选择订单!') |       this.service.msgSrv.error('请先选择订单!') | ||||||
|       return |       return | ||||||
|     } |     } | ||||||
|         const modal = this.modal.create({ |     const modal = this.modal.create({ | ||||||
|           nzTitle: '修改附加费率', |       nzTitle: '修改附加费率', | ||||||
|           nzWidth: 600, |       nzWidth: 600, | ||||||
|           nzContent: VehicleModifyRateComponent, |       nzContent: VehicleModifyRateComponent, | ||||||
|           nzComponentParams: { data: { ids: params } }, |       nzComponentParams: { data: { ids: params } }, | ||||||
|           nzFooter: null, |       nzFooter: null, | ||||||
|         }); |     }); | ||||||
|         modal.afterClose.subscribe((result) => { |     modal.afterClose.subscribe((result) => { | ||||||
|           if (result) { |       if (result) { | ||||||
|             this.st.load(1); |         this.st.load(1); | ||||||
|             this.getGoodsSourceStatistical() |         this.getGoodsSourceStatistical() | ||||||
|           } |       } | ||||||
|         }); |     }); | ||||||
|   } |   } | ||||||
|       /** |   /** | ||||||
|    *修改网络货运人 | *修改网络货运人 | ||||||
|    */ | */ | ||||||
|    modifyFreightPeople() { |   modifyFreightPeople() { | ||||||
|     let params: any[] = []; |     let params: any[] = []; | ||||||
|     this.selectedRows.forEach(item => { |     this.selectedRows.forEach(item => { | ||||||
|       params.push(item.id); |       params.push(item.id); | ||||||
| @ -704,69 +708,69 @@ resourceStatus: any; | |||||||
|     this.selectedRows.forEach(item => { |     this.selectedRows.forEach(item => { | ||||||
|       params2.push(item.enterpriseInfoId); |       params2.push(item.enterpriseInfoId); | ||||||
|     }); |     }); | ||||||
|     if(params.length  === 0) { |     if (params.length === 0) { | ||||||
|       this.service.msgSrv.error('请先选择订单!') |       this.service.msgSrv.error('请先选择订单!') | ||||||
|       return |       return | ||||||
|     } |     } | ||||||
|         const modal = this.modal.create({ |     const modal = this.modal.create({ | ||||||
|           nzTitle: '修改网络货运人', |       nzTitle: '修改网络货运人', | ||||||
|           nzWidth: 600, |       nzWidth: 600, | ||||||
|           nzContent: VehicleFreightPeopleComponent, |       nzContent: VehicleFreightPeopleComponent, | ||||||
|           nzComponentParams: { data: { ids: params, enterpriseInfoIds: params2, } }, |       nzComponentParams: { data: { ids: params, enterpriseInfoIds: params2, } }, | ||||||
|           nzFooter: null, |       nzFooter: null, | ||||||
|           // nzOnOk: sin => { |       // nzOnOk: sin => { | ||||||
|           //   this.service.request(this.service.$api_change_bulk, { billId: item.id, ...sin.sf.value }).subscribe(res => { |       //   this.service.request(this.service.$api_change_bulk, { billId: item.id, ...sin.sf.value }).subscribe(res => { | ||||||
|           //     if (res) { |       //     if (res) { | ||||||
|           //       this.service.msgSrv.success('变更运费成功'); |       //       this.service.msgSrv.success('变更运费成功'); | ||||||
|           //       modal.destroy(); |       //       modal.destroy(); | ||||||
|           //       this.st.reload(); |       //       this.st.reload(); | ||||||
|           //     } |       //     } | ||||||
|           //   }); |       //   }); | ||||||
|           //   return false; |       //   return false; | ||||||
|           // } |       // } | ||||||
|         }); |     }); | ||||||
|         modal.afterClose.subscribe((result) => { |     modal.afterClose.subscribe((result) => { | ||||||
|           if (result) { |       if (result) { | ||||||
|             this.st.load(1); |         this.st.load(1); | ||||||
|             this.getGoodsSourceStatistical() |         this.getGoodsSourceStatistical() | ||||||
|           } |       } | ||||||
|         }); |     }); | ||||||
|   } |   } | ||||||
|       /** |   /** | ||||||
|    *修改网络货运人 | *修改网络货运人 | ||||||
|    */ | */ | ||||||
|    modifycaptain() { |   modifycaptain() { | ||||||
|     let params: any[] = []; |     let params: any[] = []; | ||||||
|     this.selectedRows.forEach(item => { |     this.selectedRows.forEach(item => { | ||||||
|       params.push(item.id); |       params.push(item.id); | ||||||
|     }); |     }); | ||||||
|     if(params.length  === 0) { |     if (params.length === 0) { | ||||||
|       this.service.msgSrv.error('请先选择订单!') |       this.service.msgSrv.error('请先选择订单!') | ||||||
|       return |       return | ||||||
|     } |     } | ||||||
|         const modal = this.modal.create({ |     const modal = this.modal.create({ | ||||||
|           nzTitle: '修改车队长', |       nzTitle: '修改车队长', | ||||||
|           nzWidth: 900, |       nzWidth: 900, | ||||||
|           nzContent: VehicleModifyCaptainComponent, |       nzContent: VehicleModifyCaptainComponent, | ||||||
|           nzComponentParams: { data: { ids: params,  } }, |       nzComponentParams: { data: { ids: params, } }, | ||||||
|           nzFooter: null, |       nzFooter: null, | ||||||
|           // nzOnOk: sin => { |       // nzOnOk: sin => { | ||||||
|           //   this.service.request(this.service.$api_change_bulk, { billId: item.id, ...sin.sf.value }).subscribe(res => { |       //   this.service.request(this.service.$api_change_bulk, { billId: item.id, ...sin.sf.value }).subscribe(res => { | ||||||
|           //     if (res) { |       //     if (res) { | ||||||
|           //       this.service.msgSrv.success('变更运费成功'); |       //       this.service.msgSrv.success('变更运费成功'); | ||||||
|           //       modal.destroy(); |       //       modal.destroy(); | ||||||
|           //       this.st.reload(); |       //       this.st.reload(); | ||||||
|           //     } |       //     } | ||||||
|           //   }); |       //   }); | ||||||
|           //   return false; |       //   return false; | ||||||
|           // } |       // } | ||||||
|         }); |     }); | ||||||
|         modal.afterClose.subscribe((result) => { |     modal.afterClose.subscribe((result) => { | ||||||
|           if (result) { |       if (result) { | ||||||
|             this.st.load(1); |         this.st.load(1); | ||||||
|             this.getGoodsSourceStatistical() |         this.getGoodsSourceStatistical() | ||||||
|           } |       } | ||||||
|         }); |     }); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   //  *确认签收 |   //  *确认签收 | ||||||
| @ -783,61 +787,61 @@ resourceStatus: any; | |||||||
|       nzFooter: null |       nzFooter: null | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|     revoke(item: any) { |   revoke(item: any) { | ||||||
|       this.modal.confirm({ |     this.modal.confirm({ | ||||||
|         nzTitle: '是否确定立即撤销费用变更!</i>', |       nzTitle: '是否确定立即撤销费用变更!</i>', | ||||||
|         nzOnOk: () =>  |       nzOnOk: () => | ||||||
|         this.service.request(this.service.$api_get_revokeChangeRecord, { id: item.id}).subscribe((res) => { |         this.service.request(this.service.$api_get_revokeChangeRecord, { id: item.id }).subscribe((res) => { | ||||||
|           console.log(res) |           console.log(res) | ||||||
|           if(res) { |           if (res) { | ||||||
|             this.service.msgSrv.success('撤销成功!') |             this.service.msgSrv.success('撤销成功!') | ||||||
|             this.stFloat.reload() |             this.stFloat.reload() | ||||||
|           } |           } | ||||||
|         }) |         }) | ||||||
|       }); |     }); | ||||||
|  |   } | ||||||
|  |   // 取消订单 | ||||||
|  |   cancellation(item: any) { | ||||||
|  |     // api_get_cancelAnOrder | ||||||
|  |     this.modal.confirm({ | ||||||
|  |       nzTitle: '<b>确定取消该订单吗?</b>', | ||||||
|  |       nzContent: `<b>取消后无法恢复,请确认</b>`, | ||||||
|  |       nzOnOk: () => | ||||||
|  |         this.service.request(this.service.$api_get_cancelAnOrder, { id: item.id }).subscribe((res) => { | ||||||
|  |           if (res === true) { | ||||||
|  |             this.service.msgSrv.success('操作成功!'); | ||||||
|  |             this.st.load(1); | ||||||
|  |             this.getGoodsSourceStatistical() | ||||||
|  |             this.initST(); | ||||||
|  |           } | ||||||
|  |         }), | ||||||
|  |     }) | ||||||
|  |   } | ||||||
|  |   userAction() { | ||||||
|  |     let params: any[] = []; | ||||||
|  |     this.selectedRows.forEach(item => { | ||||||
|  |       params.push(item.id); | ||||||
|  |     }); | ||||||
|  |     if (params.length === 0) { | ||||||
|  |       this.service.msgSrv.error('请先选择订单!') | ||||||
|  |       return | ||||||
|     } |     } | ||||||
|     // 取消订单 |     this.service.request(this.service.$api_get_batchSignWholeOrder, params).subscribe(res => { | ||||||
|     cancellation(item: any) { |       if (res) { | ||||||
|       // api_get_cancelAnOrder |         console.log(res); | ||||||
|       this.modal.confirm({ |         this.st.load(1); | ||||||
|         nzTitle: '<b>确定取消该订单吗?</b>', |         this.getGoodsSourceStatistical() | ||||||
|         nzContent: `<b>取消后无法恢复,请确认</b>`, |  | ||||||
|         nzOnOk: () => |  | ||||||
|           this.service.request(this.service.$api_get_cancelAnOrder, {id: item.id}).subscribe((res) => { |  | ||||||
|             if (res === true) { |  | ||||||
|               this.service.msgSrv.success('操作成功!'); |  | ||||||
|               this.st.load(1); |  | ||||||
|               this.getGoodsSourceStatistical() |  | ||||||
|               this.initST(); |  | ||||||
|             } |  | ||||||
|           }), |  | ||||||
|       }) |  | ||||||
|     } |  | ||||||
|     userAction() { |  | ||||||
|       let params: any[] = []; |  | ||||||
|       this.selectedRows.forEach(item => { |  | ||||||
|         params.push(item.id); |  | ||||||
|       }); |  | ||||||
|       if(params.length  === 0) { |  | ||||||
|         this.service.msgSrv.error('请先选择订单!') |  | ||||||
|         return |  | ||||||
|       } |       } | ||||||
|       this.service.request(this.service.$api_get_batchSignWholeOrder, params).subscribe(res => { |     }); | ||||||
|         if (res) { |   } | ||||||
|           console.log(res); |   // 修改订单 | ||||||
|           this.st.load(1); |  | ||||||
|           this.getGoodsSourceStatistical() |  | ||||||
|         } |  | ||||||
|       }); |  | ||||||
|     } |  | ||||||
|       // 修改订单 |  | ||||||
|   changeOrder(value: any) { |   changeOrder(value: any) { | ||||||
|     this.router.navigate(['order-management/vehicle-detailChange', value.id]); |     this.router.navigate(['order-management/vehicle-detailChange', value.id]); | ||||||
|   } |   } | ||||||
|     /** |   /** | ||||||
|    *申请退款 |  *申请退款 | ||||||
|    */ |  */ | ||||||
|    applyRefund(item: any) { |   applyRefund(item: any) { | ||||||
|     const modalRef = this.modal.create({ |     const modalRef = this.modal.create({ | ||||||
|       nzTitle: '申请退款', |       nzTitle: '申请退款', | ||||||
|       nzContent: OneCarOrderCancelConfirmComponent, |       nzContent: OneCarOrderCancelConfirmComponent, | ||||||
| @ -848,7 +852,7 @@ resourceStatus: any; | |||||||
|       nzFooter: null |       nzFooter: null | ||||||
|     }); |     }); | ||||||
|     modalRef.afterClose.subscribe((res: boolean) => { |     modalRef.afterClose.subscribe((res: boolean) => { | ||||||
|       if(res) { |       if (res) { | ||||||
|         this.resetSF; |         this.resetSF; | ||||||
|         this.st.load(); |         this.st.load(); | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -0,0 +1,54 @@ | |||||||
|  | <nz-card> | ||||||
|  |   <sv-container layout="vertical" [noColon]="true" col="4"> | ||||||
|  |     <sv [label]="labelTpl"> | ||||||
|  |       <b class="text-md ">{{accountInfo?.company}}</b> | ||||||
|  |     </sv> | ||||||
|  |     <sv label="可用余额"> | ||||||
|  |       {{totalInfo?.balance |currency}} | ||||||
|  |     </sv> | ||||||
|  |     <sv label="收入金额"> | ||||||
|  |       {{totalInfo?.income |currency}} | ||||||
|  |     </sv> | ||||||
|  |     <sv label="支出金额"> | ||||||
|  |       {{totalInfo?.spending |currency}} | ||||||
|  |     </sv> | ||||||
|  |   </sv-container> | ||||||
|  |   <ng-template #labelTpl> | ||||||
|  |     <b class="text-md" style="color: black;">{{accountInfo?.name}} {{accountInfo?.phone}}</b> | ||||||
|  |   </ng-template> | ||||||
|  | </nz-card> | ||||||
|  | <nz-card> | ||||||
|  |   <div nz-row> | ||||||
|  |     <div nz-col [nzSpan]="_$expand ? 24 : 18"> | ||||||
|  |       <sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf> | ||||||
|  |     </div> | ||||||
|  |     <div nz-col [nzSpan]="_$expand ? 24 : 6" class="text-right"> | ||||||
|  |       <button nz-button nzType="primary" [disabled]="!sf.valid" (click)="st?.load(1)">查询</button> | ||||||
|  |       <button nz-button (click)="resetSF()">重置</button> | ||||||
|  |       <button nz-button (click)="export()" nzType="primary" nzGhost>导出</button> | ||||||
|  |       <button nz-button nzType="link" (click)="expandToggle()"> | ||||||
|  |         {{ !_$expand ? '展开' : '收起' }} | ||||||
|  |         <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> | ||||||
|  |       </button> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  |   <div class="table-content"> | ||||||
|  |     <st #st [data]="service.$api_get_account_management_page " [columns]="columns" | ||||||
|  |       [req]="{ method: 'POST', allInBody: true, reName: {pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||||
|  |       [res]="{ reName: { list: 'data.records', total: 'data.total' } }" | ||||||
|  |       [page]="{ show: true, showSize: true, pageSizes:  [5,10, 20, 50, 100, 200, 500] }" | ||||||
|  |       [loading]="service.http.loading" [scroll]="{x:'1200px'}"> | ||||||
|  |       <ng-template st-row="amount" let-item> | ||||||
|  |         <div *ngIf="item.incomeType === '1'"> - {{item.amount | currency }}</div> | ||||||
|  |         <div *ngIf="item.incomeType === '2'"> + {{item.amount | currency }}</div> | ||||||
|  |       </ng-template> | ||||||
|  |     </st> | ||||||
|  |     <div class="total-footer text-md" *ngIf="st?.list?.length !== 0 "> | ||||||
|  |       合计 <label class="text-red-dark">{{ totalInfo?.total }}</label> 项,收入 <label | ||||||
|  |         class="text-red-dark font-weight-bold">{{ | ||||||
|  |         totalInfo?.income | currency | ||||||
|  |         }}</label>,支出 <label class="text-red-dark font-weight-bold">{{ | ||||||
|  |         totalInfo?.spending | currency }}</label> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  | </nz-card> | ||||||
| @ -0,0 +1,21 @@ | |||||||
|  | :host { | ||||||
|  |   ::ng-deep { | ||||||
|  |     .search-header { | ||||||
|  |       nz-range-picker { | ||||||
|  |         width: 100%; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   .table-content { | ||||||
|  |     position: relative; | ||||||
|  |  | ||||||
|  |     .total-footer { | ||||||
|  |       position: absolute; | ||||||
|  |       bottom: 0; | ||||||
|  |       height: 32px; | ||||||
|  |       margin: 16px 0; | ||||||
|  |       line-height: 32px; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,24 @@ | |||||||
|  | import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; | ||||||
|  | import { PartnerAccountManagementAccountDetailComponent } from './account-detail.component'; | ||||||
|  |  | ||||||
|  | describe('PartnerAccountManagementAccountDetailComponent', () => { | ||||||
|  |   let component: PartnerAccountManagementAccountDetailComponent; | ||||||
|  |   let fixture: ComponentFixture<PartnerAccountManagementAccountDetailComponent>; | ||||||
|  |  | ||||||
|  |   beforeEach(waitForAsync(() => { | ||||||
|  |     TestBed.configureTestingModule({ | ||||||
|  |       declarations: [PartnerAccountManagementAccountDetailComponent] | ||||||
|  |     }) | ||||||
|  |       .compileComponents(); | ||||||
|  |   })); | ||||||
|  |  | ||||||
|  |   beforeEach(() => { | ||||||
|  |     fixture = TestBed.createComponent(PartnerAccountManagementAccountDetailComponent); | ||||||
|  |     component = fixture.componentInstance; | ||||||
|  |     fixture.detectChanges(); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('should create', () => { | ||||||
|  |     expect(component).toBeTruthy(); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
| @ -0,0 +1,153 @@ | |||||||
|  | import { Component, OnInit, ViewChild } from '@angular/core'; | ||||||
|  | import { STColumn, STComponent } from '@delon/abc/st'; | ||||||
|  | import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form'; | ||||||
|  | import { ModalHelper, _HttpClient } from '@delon/theme'; | ||||||
|  | import { AccountManagemantService } from '../../services/account-managemant.service'; | ||||||
|  |  | ||||||
|  | @Component({ | ||||||
|  |   selector: 'app-partner-account-management-account-detail', | ||||||
|  |   templateUrl: './account-detail.component.html', | ||||||
|  |   styleUrls: ['./account-detail.component.less'] | ||||||
|  | }) | ||||||
|  | export class PartnerAccountManagementAccountDetailComponent implements OnInit { | ||||||
|  |   totalInfo: any = { | ||||||
|  |     balance: 0, | ||||||
|  |     income: 1500, | ||||||
|  |     spending: 2400, | ||||||
|  |     total: 186 | ||||||
|  |   }; | ||||||
|  |   accountInfo = { | ||||||
|  |     name: '张三', | ||||||
|  |     phone: '13812345678', | ||||||
|  |     company: '天津怡亚通物流科技有限公司(平安)' | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   url = `/user`; | ||||||
|  |   schema: SFSchema = {}; | ||||||
|  |   ui!: SFUISchema; | ||||||
|  |   _$expand = false; | ||||||
|  |   @ViewChild('st') private readonly st!: STComponent; | ||||||
|  |   @ViewChild('sf') private readonly sf!: SFComponent; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   columns: STColumn[] = []; | ||||||
|  |  | ||||||
|  |   constructor(public service: AccountManagemantService) { } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   get reqParams() { | ||||||
|  |     return { ...this.sf?.value }; | ||||||
|  |   } | ||||||
|  |   ngOnInit(): void { | ||||||
|  |     this.initSF(); | ||||||
|  |     this.initST(); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   initSF() { | ||||||
|  |     this.schema = { | ||||||
|  |       properties: { | ||||||
|  |         _$expand: { | ||||||
|  |           type: 'boolean', ui: { hidden: true } | ||||||
|  |         }, | ||||||
|  |         createTime: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '交易时间', | ||||||
|  |           ui: { | ||||||
|  |             widget: 'sl-from-to', | ||||||
|  |             type: 'date', | ||||||
|  |             autoComplete: 'off', | ||||||
|  |             format: 'yyyy-MM-dd', | ||||||
|  |           } as SFDateWidgetSchema, | ||||||
|  |         }, | ||||||
|  |         abnormalCause: { | ||||||
|  |           title: '流水号', | ||||||
|  |           type: 'string', | ||||||
|  |           ui: { | ||||||
|  |             placeholder: '请输入', | ||||||
|  |           }, | ||||||
|  |         }, | ||||||
|  |         abnormalCause1: { | ||||||
|  |           title: '交易单号', | ||||||
|  |           type: 'string', | ||||||
|  |           ui: { | ||||||
|  |             placeholder: '请输入', | ||||||
|  |           }, | ||||||
|  |         }, | ||||||
|  |         bankType: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '交易类型', | ||||||
|  |           default: '', | ||||||
|  |           ui: { | ||||||
|  |             widget: 'dict-select', | ||||||
|  |             params: { | ||||||
|  |               dictKey: 'trade:type' | ||||||
|  |             }, | ||||||
|  |             placeholder: '请选择', | ||||||
|  |             allowClear: true, | ||||||
|  |             containsAllLabel: true, | ||||||
|  |             visibleIf: { | ||||||
|  |               _$expand: (value: boolean) => value, | ||||||
|  |             }, | ||||||
|  |           }, | ||||||
|  |         }, | ||||||
|  |         bankType1: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '收支类型', | ||||||
|  |           default: '', | ||||||
|  |           ui: { | ||||||
|  |             widget: 'dict-select', | ||||||
|  |             params: { | ||||||
|  |               dictKey: 'income:type' | ||||||
|  |             }, | ||||||
|  |             placeholder: '请选择', | ||||||
|  |             allowClear: true, | ||||||
|  |             containsAllLabel: true, | ||||||
|  |             visibleIf: { | ||||||
|  |               _$expand: (value: boolean) => value, | ||||||
|  |             }, | ||||||
|  |           }, | ||||||
|  |         }, | ||||||
|  |  | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     this.ui = { '*': { spanLabelFixed: 100, grid: { span: 8, gutter: 4 } }, }; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  | * 初始化数据列表 | ||||||
|  | */ | ||||||
|  |   initST() { | ||||||
|  |     this.columns = [ | ||||||
|  |       { title: '交易时间', index: 'carNo', className: 'text-center', width: 200 }, | ||||||
|  |       { title: '流水号', render: 'carModelLabel', className: 'text-center', width: 150 }, | ||||||
|  |       { title: '交易类型', render: 'carModelLabel', className: 'text-center', width: 200 }, | ||||||
|  |       { title: '交易单号', render: 'carModelLabel', className: 'text-center', width: 120 }, | ||||||
|  |       { title: '备注', index: 'remark', className: 'text-center', width: 180 }, | ||||||
|  |       { title: '收支类型', render: 'approvalStatus1', className: 'text-center', width: 180 }, | ||||||
|  |       { title: '交易金额', render: 'amount', className: 'text-right', width: 180 }, | ||||||
|  |       { title: '账户余额', render: 'approvalStatus3', className: 'text-right', width: 180 }, | ||||||
|  |       { title: '付款方', index: 'approvalStatus4', className: 'text-center', width: 200 }, | ||||||
|  |       { title: '收款方', index: 'approvalStatus4', className: 'text-center', width: 120 }, | ||||||
|  |     ]; | ||||||
|  |   } | ||||||
|  |   resetSF() { | ||||||
|  |     this._$expand = false; | ||||||
|  |     this.sf.reset(); | ||||||
|  |     setTimeout(() => { | ||||||
|  |       this.st.reset(); | ||||||
|  |     }) | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  | * 伸缩查询条件 | ||||||
|  | */ | ||||||
|  |   expandToggle() { | ||||||
|  |     this._$expand = !this._$expand; | ||||||
|  |     this.sf?.setValue('/_$expand', this._$expand); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   search() { | ||||||
|  |     this.st.load(1); | ||||||
|  |   } | ||||||
|  |   export() { } | ||||||
|  | } | ||||||
| @ -1,5 +1,11 @@ | |||||||
| <nz-card> | <nz-card> | ||||||
|   <sf mode="search" [schema]="schema" [ui]="ui" [button]="'none'" (formSubmit)="st.load(1)" (formReset)="resetSF()" #sf> |   <!-- <div nz-row> | ||||||
|  |     <div [nzSpan]="" nz-col> | ||||||
|  |  | ||||||
|  |     </div> | ||||||
|  |   </div> --> | ||||||
|  |   <sf [schema]="schema" [mode]="'search'" [ui]="ui" [button]="'none'" (formSubmit)="st.load(1)" (formReset)="resetSF()" | ||||||
|  |     #sf> | ||||||
|     <button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="service.http.loading" |     <button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="service.http.loading" | ||||||
|       (click)="st?.load(1)">查询</button> |       (click)="st?.load(1)">查询</button> | ||||||
|     <button nz-button (click)="resetSF()">重置</button> |     <button nz-button (click)="resetSF()">重置</button> | ||||||
| @ -8,28 +14,26 @@ | |||||||
|  |  | ||||||
| </nz-card> | </nz-card> | ||||||
| <nz-card> | <nz-card> | ||||||
|   <st #st [data]="service.$api_get_partner_statistics_page" [columns]="columns" [scroll]="{ x: '1200px' }" |   <st #st [data]="service. $api_get_account_management_page" [columns]="columns" [scroll]="{ x: '1200px' }" | ||||||
|     [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' } }" |     [res]="{ reName: { list: 'data.records', total: 'data.total' } }" | ||||||
|     [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" |     [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" | ||||||
|     [loading]="service.http.loading"> |     [loading]="service.http.loading"> | ||||||
|     <ng-template st-row="approvalStatus" let-item> |     <ng-template st-row="approvalStatus" let-item> | ||||||
|       <a [routerLink]="'/partner/business-statistics/partner/custom-detail/'+item?.id">{{item.yskmoney}}</a> |       <a [routerLink]="'/partner/account-management/recorded-detail/'+item?.id">{{item.yskmoney}}</a> | ||||||
|     </ng-template> |     </ng-template> | ||||||
|     <ng-template st-row="approvalStatus1" let-item> |     <ng-template st-row="approvalStatus1" let-item> | ||||||
|       <div class="text-right">{{item.approvalStatus1 | currency:' '}}</div> |       <div class="text-right">{{item.approvalStatus1 | currency:' '}}</div> | ||||||
|     </ng-template> |     </ng-template> | ||||||
|     <ng-template st-row="approvalStatus2" let-item> |     <ng-template st-row="approvalStatus2" let-item> | ||||||
|       <a class="text-right text-blue-dark" |       <a class="text-right text-blue-dark" | ||||||
|         [routerLink]="'/partner/business-statistics/partner/order-detail/'+item?.id">{{item.yskmoney | currency:' |         [routerLink]="'/partner/account-management/recorded-detail/'+item?.id">{{item.yskmoney | currency:' | ||||||
|         '}}</a> |         '}}</a> | ||||||
|     </ng-template> |     </ng-template> | ||||||
|  |  | ||||||
|     <ng-template st-row="approvalStatus3" let-item> |     <ng-template st-row="approvalStatus3" let-item> | ||||||
|       <div class="text-right">{{item.yskmoney | currency:' '}}</div> |       <div class="text-right">{{item.yskmoney | currency:' '}}</div> | ||||||
|     </ng-template> |     </ng-template> | ||||||
|     <ng-template st-row="approvalStatus4" let-item> |  | ||||||
|       <div class="text-right">{{item.armoney | currency:' '}}</div> |  | ||||||
|     </ng-template> |  | ||||||
|   </st> |   </st> | ||||||
| </nz-card> | </nz-card> | ||||||
|  | |||||||
| @ -2,10 +2,13 @@ import { Component, OnInit, ViewChild } from '@angular/core'; | |||||||
| import { STColumn, STComponent } from '@delon/abc/st'; | import { STColumn, STComponent } from '@delon/abc/st'; | ||||||
| import { SFComponent, SFSchema, SFUISchema } from '@delon/form'; | import { SFComponent, SFSchema, SFUISchema } from '@delon/form'; | ||||||
| import { ModalHelper, _HttpClient } from '@delon/theme'; | import { ModalHelper, _HttpClient } from '@delon/theme'; | ||||||
|  | import { NzModalService } from 'ng-zorro-antd/modal'; | ||||||
| import { BussinessStatisticsService } from '../../../business-statistics/services/bussiness-statistics.service'; | import { BussinessStatisticsService } from '../../../business-statistics/services/bussiness-statistics.service'; | ||||||
|  | import { AccountManagemantService } from '../../services/account-managemant.service'; | ||||||
|  | import { PartnerAccountManagementVirtualAccountDetailComponent } from '../virtual-account-detail/virtual-account-detail.component'; | ||||||
|  |  | ||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-partner-list', |   selector: 'app-partner-account-management-list', | ||||||
|   templateUrl: './list.component.html', |   templateUrl: './list.component.html', | ||||||
| }) | }) | ||||||
| export class PartnerAccountManagementListComponent implements OnInit { | export class PartnerAccountManagementListComponent implements OnInit { | ||||||
| @ -16,7 +19,7 @@ export class PartnerAccountManagementListComponent implements OnInit { | |||||||
|   @ViewChild('sf') private readonly sf!: SFComponent; |   @ViewChild('sf') private readonly sf!: SFComponent; | ||||||
|   columns: STColumn[] = []; |   columns: STColumn[] = []; | ||||||
|  |  | ||||||
|   constructor(public service: BussinessStatisticsService) { } |   constructor(public service: AccountManagemantService, public modal: NzModalService) { } | ||||||
|   /** |   /** | ||||||
|    * 查询参数 |    * 查询参数 | ||||||
|    */ |    */ | ||||||
| @ -41,45 +44,36 @@ export class PartnerAccountManagementListComponent implements OnInit { | |||||||
|           }, |           }, | ||||||
|         }, |         }, | ||||||
|         abnormalCause1: { |         abnormalCause1: { | ||||||
|           title: '类型', |           title: '手机号', | ||||||
|           type: 'string', |           type: 'string', | ||||||
|           default: '', |  | ||||||
|           enum: [ |  | ||||||
|             { |  | ||||||
|               label: '全部', |  | ||||||
|               value: '' |  | ||||||
|             }, |  | ||||||
|             { |  | ||||||
|               label: '个人', |  | ||||||
|               value: '1' |  | ||||||
|             }, |  | ||||||
|             { |  | ||||||
|               label: '企业', |  | ||||||
|               value: '2' |  | ||||||
|             } |  | ||||||
|           ], |  | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'select' |             placeholder: '请输入', | ||||||
|           }, |           }, | ||||||
|         }, |         }, | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|     this.ui = { '*': { spanLabelFixed: 120, grid: { span: 8, gutter: 4 } } }; |     this.ui = { '*': { spanLabelFixed: 120, grid: { span: 8, gutter: 12 } }, }; | ||||||
|   } |   } | ||||||
|   /** |   /** | ||||||
|  * 初始化数据列表 |  * 初始化数据列表 | ||||||
|  */ |  */ | ||||||
|   initST() { |   initST() { | ||||||
|     this.columns = [ |     this.columns = [ | ||||||
|       { title: '合伙人名称', index: 'carNo', className: 'text-center', width: 150 }, |       { title: '合伙人名称', index: 'carNo', className: 'text-center', width: 300 }, | ||||||
|       { title: '类型', render: 'carModelLabel', className: 'text-center', width: 150 }, |       { title: '手机号', render: 'carModelLabel', className: 'text-center', width: 200 }, | ||||||
|       { title: '注册时间', index: 'carNo', className: 'text-center', width: 150 }, |       { title: '账户总额(元)', render: 'approvalStatus1', className: 'text-right', sort: true, width: 200 }, | ||||||
|       { title: '本月新增客户', render: 'approvalStatus0', className: 'text-center', sort: true, width: 150 }, |       { title: '待入账余额(元)', render: 'approvalStatus2', className: 'text-right', sort: true, width: 200 }, | ||||||
|       { title: '客户总数', render: 'approvalStatus', className: 'text-center', sort: true, width: 150 }, |       { title: '可用余额(元)', render: 'approvalStatus3', className: 'text-right', sort: true, width: 250 }, | ||||||
|       { title: '本月已结算金额(元)', render: 'approvalStatus1', className: 'text-right', sort: true, width: 180 }, |       { title: '虚拟账户', index: 'approvalStatus4', className: 'text-center', width: 200 }, | ||||||
|       { title: '累计已结算金额(元)', render: 'approvalStatus2', className: 'text-right', sort: true, width: 180 }, |       { | ||||||
|       { title: '本月预估收益(元)', render: 'approvalStatus3', className: 'text-right', sort: true, width: 180 }, |         title: '操作', | ||||||
|       { title: '累计收益(元)', render: 'approvalStatus4', className: 'text-right', sort: true, width: 180 }, |         buttons: [ | ||||||
|  |           { | ||||||
|  |             text: '虚拟账户明细', | ||||||
|  |             click: (_record) => this.viewVirtual(_record) | ||||||
|  |           } | ||||||
|  |         ] | ||||||
|  |       } | ||||||
|     ]; |     ]; | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @ -90,6 +84,28 @@ export class PartnerAccountManagementListComponent implements OnInit { | |||||||
|     }) |     }) | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * | ||||||
|  |    * @param _record 当前行信息 | ||||||
|  |    */ | ||||||
|  |   viewVirtual(_record: any) { | ||||||
|  |  | ||||||
|  |     const modalRef = this.modal.create({ | ||||||
|  |       nzTitle: '虚拟账户明细', | ||||||
|  |       nzContent: PartnerAccountManagementVirtualAccountDetailComponent, | ||||||
|  |       nzComponentParams: { | ||||||
|  |         id: _record?.id | ||||||
|  |       }, | ||||||
|  |       nzWidth: '85%', | ||||||
|  |       nzFooter: null | ||||||
|  |     }); | ||||||
|  |     modalRef.afterClose.subscribe(result => { | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * | ||||||
|  |    */ | ||||||
|   export() { |   export() { | ||||||
|  |  | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -0,0 +1,59 @@ | |||||||
|  | <nz-card> | ||||||
|  |   <sv-container layout="vertical" [noColon]="true" col="4"> | ||||||
|  |     <sv [label]="labelTpl"> | ||||||
|  |       <b class="text-md ">{{accountInfo?.company}}</b> | ||||||
|  |     </sv> | ||||||
|  |     <sv label="可用余额"> | ||||||
|  |       {{totalInfo?.balance |currency}} | ||||||
|  |     </sv> | ||||||
|  |     <sv label="收入金额"> | ||||||
|  |       {{totalInfo?.income |currency}} | ||||||
|  |     </sv> | ||||||
|  |     <sv label="支出金额"> | ||||||
|  |       {{totalInfo?.spending |currency}} | ||||||
|  |     </sv> | ||||||
|  |   </sv-container> | ||||||
|  |   <ng-template #labelTpl> | ||||||
|  |     <b class="text-md" style="color: black;">{{accountInfo?.name}} {{accountInfo?.phone}}</b> | ||||||
|  |   </ng-template> | ||||||
|  | </nz-card> | ||||||
|  | <nz-card> | ||||||
|  |   <div> | ||||||
|  |     <sf mode="search" #sf [schema]="schema" [ui]="ui" (formSubmit)="search()" (formReset)="resetSF()"></sf> | ||||||
|  |   </div> | ||||||
|  |   <div class="table-content"> | ||||||
|  |     <st #st [data]="service.$api_get_account_management_page " [columns]="columns" | ||||||
|  |       [req]="{ method: 'POST', allInBody: true, reName: {pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||||
|  |       [res]="{ reName: { list: 'data.records', total: 'data.total' } }" | ||||||
|  |       [page]="{ show: true, showSize: true, pageSizes:  [5,10, 20, 50, 100, 200, 500] }" | ||||||
|  |       [loading]="service.http.loading" [scroll]="{x:'1200px'}"> | ||||||
|  |       <ng-template st-row="amount" let-item> | ||||||
|  |         <div *ngIf="item.incomeType === '1'"> - {{item.amount | currency }}</div> | ||||||
|  |         <div *ngIf="item.incomeType === '2'"> + {{item.amount | currency }}</div> | ||||||
|  |       </ng-template> | ||||||
|  |     </st> | ||||||
|  |     <div class="total-footer text-md" *ngIf="st?.list?.length !== 0 "> | ||||||
|  |       合计 <label class="text-red-dark">{{ totalInfo?.total }}</label> 项,收入 <label | ||||||
|  |         class="text-red-dark font-weight-bold">{{ | ||||||
|  |         totalInfo?.income | currency | ||||||
|  |         }}</label>,支出 <label class="text-red-dark font-weight-bold">{{ | ||||||
|  |         totalInfo?.spending | currency }}</label> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  | </nz-card> | ||||||
|  |  | ||||||
|  | <nz-modal [(nzVisible)]="showBillDetail" nzTitle="账户明细" [nzFooter]="null" (nzOnCancel)="handleCancel()" nzWidth="700px"> | ||||||
|  |   <div *nzModalContent> | ||||||
|  |     <div class="mb-sm"> | ||||||
|  |       <span class="mr-xxl text-md font-weight-bold"><label>网络货运人:</label>{{accountInfo?.name}}</span> | ||||||
|  |       <span class="text-md font-weight-bold"><label>返佣总额(元):</label>{{totalInfo?.spending |currency: ' '}}</span> | ||||||
|  |     </div> | ||||||
|  |     <st #st [data]="service.$api_get_account_management_page " [columns]="billDetailColumns" | ||||||
|  |       [res]="{ reName: { list: 'data' } }" [req]="{ method: 'POST', allInBody: true, params:{}}" [page]="{show:false}"> | ||||||
|  |       <ng-template st-row="amount" let-item> | ||||||
|  |         <div *ngIf="item.paAccount">{{item?.amount |currency :' '}}</div> | ||||||
|  |       </ng-template> | ||||||
|  |  | ||||||
|  |     </st> | ||||||
|  |   </div> | ||||||
|  | </nz-modal> | ||||||
| @ -0,0 +1,24 @@ | |||||||
|  | import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; | ||||||
|  | import { PartnerAccountManagementRecordedDetailComponent } from './recorded-detail.component'; | ||||||
|  |  | ||||||
|  | describe('PartnerAccountManagementRecordedDetailComponent', () => { | ||||||
|  |   let component: PartnerAccountManagementRecordedDetailComponent; | ||||||
|  |   let fixture: ComponentFixture<PartnerAccountManagementRecordedDetailComponent>; | ||||||
|  |  | ||||||
|  |   beforeEach(waitForAsync(() => { | ||||||
|  |     TestBed.configureTestingModule({ | ||||||
|  |       declarations: [PartnerAccountManagementRecordedDetailComponent] | ||||||
|  |     }) | ||||||
|  |       .compileComponents(); | ||||||
|  |   })); | ||||||
|  |  | ||||||
|  |   beforeEach(() => { | ||||||
|  |     fixture = TestBed.createComponent(PartnerAccountManagementRecordedDetailComponent); | ||||||
|  |     component = fixture.componentInstance; | ||||||
|  |     fixture.detectChanges(); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('should create', () => { | ||||||
|  |     expect(component).toBeTruthy(); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
| @ -0,0 +1,146 @@ | |||||||
|  | import { Component, OnInit, ViewChild } from '@angular/core'; | ||||||
|  | import { Router } from '@angular/router'; | ||||||
|  | import { STColumn, STComponent } from '@delon/abc/st'; | ||||||
|  | import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form'; | ||||||
|  | import { ModalHelper, _HttpClient } from '@delon/theme'; | ||||||
|  | import { AccountManagemantService } from '../../services/account-managemant.service'; | ||||||
|  |  | ||||||
|  | @Component({ | ||||||
|  |   selector: 'app-partner-account-management-recorded-detail', | ||||||
|  |   templateUrl: './recorded-detail.component.html', | ||||||
|  | }) | ||||||
|  | export class PartnerAccountManagementRecordedDetailComponent implements OnInit { | ||||||
|  |   totalInfo: any = { | ||||||
|  |     balance: 0, | ||||||
|  |     income: 1500, | ||||||
|  |     spending: 2400, | ||||||
|  |     total: 186 | ||||||
|  |   }; | ||||||
|  |   accountInfo = { | ||||||
|  |     name: '张三', | ||||||
|  |     phone: '13812345678', | ||||||
|  |     company: '天津怡亚通物流科技有限公司(平安)' | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   url = `/user`; | ||||||
|  |   schema: SFSchema = {}; | ||||||
|  |   ui!: SFUISchema; | ||||||
|  |   @ViewChild('st') private readonly st!: STComponent; | ||||||
|  |   @ViewChild('sf') private readonly sf!: SFComponent; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   columns: STColumn[] = []; | ||||||
|  |   billDetailColumns: STColumn[] = []; | ||||||
|  |   showBillDetail = false; | ||||||
|  |  | ||||||
|  |   constructor(public service: AccountManagemantService, public router: Router) { } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   get reqParams() { | ||||||
|  |     return { ...this.sf?.value }; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   get billDetailReqParams() { | ||||||
|  |     return {}; | ||||||
|  |   } | ||||||
|  |   ngOnInit(): void { | ||||||
|  |     this.initSF(); | ||||||
|  |     this.initST(); | ||||||
|  |     this.initBillDetailST(); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   initSF() { | ||||||
|  |     this.schema = { | ||||||
|  |       properties: { | ||||||
|  |  | ||||||
|  |         abnormalCause: { | ||||||
|  |           title: '网络货运人', | ||||||
|  |           type: 'string', | ||||||
|  |           ui: { | ||||||
|  |             placeholder: '请输入', | ||||||
|  |           }, | ||||||
|  |         }, | ||||||
|  |  | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     this.ui = { '*': { spanLabelFixed: 120, grid: { span: 8, gutter: 4 } }, }; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  | * 初始化数据列表 | ||||||
|  | */ | ||||||
|  |   initST() { | ||||||
|  |     this.columns = [ | ||||||
|  |       { title: '网络货运人', index: 'carNo', className: 'text-center', width: 200 }, | ||||||
|  |       { title: '银行类型', render: 'carModelLabel', className: 'text-center', width: 150 }, | ||||||
|  |       { title: '虚拟账户', render: 'carModelLabel', className: 'text-center', width: 200 }, | ||||||
|  |       { title: '返佣总额(元)', render: 'carModelLabel', className: 'text-center', width: 120 }, | ||||||
|  |       { title: '已入账金额(元)', index: 'remark', className: 'text-center', width: 180 }, | ||||||
|  |       { title: '代缴个税(元)', render: 'approvalStatus1', className: 'text-center', width: 180 }, | ||||||
|  |       { title: '待入账金额(元)', render: 'amount', className: 'text-right', width: 180 }, | ||||||
|  |       { | ||||||
|  |         title: '操作', className: 'text-center', width: 300, | ||||||
|  |         buttons: [ | ||||||
|  |           { | ||||||
|  |             text: '查看入账记录', | ||||||
|  |             click: (_record) => this.viewBookedRecord(_record) | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             text: '查看账单明细', | ||||||
|  |             click: (_record) => this.viewAccountDetail(_record) | ||||||
|  |           }, | ||||||
|  |         ] | ||||||
|  |       }, | ||||||
|  |     ]; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   initBillDetailST() { | ||||||
|  |     this.billDetailColumns = [ | ||||||
|  |       { title: '账单月份', index: 'carNo', className: 'text-center', width: '40%' }, | ||||||
|  |       { title: '返佣金额(元)', render: 'amount', className: 'text-center', width: '40%' }, | ||||||
|  |       { | ||||||
|  |         title: '操作', className: 'text-center', width: '20%', buttons: [ | ||||||
|  |           { | ||||||
|  |             text: '订单明细', | ||||||
|  |             click: (_record) => this.router.navigate(['/']) | ||||||
|  |           } | ||||||
|  |         ] | ||||||
|  |       }, | ||||||
|  |     ] | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   resetSF() { | ||||||
|  |     this.sf.reset(); | ||||||
|  |     setTimeout(() => { | ||||||
|  |       this.st.reset(); | ||||||
|  |     }) | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   search() { | ||||||
|  |     this.st.load(1); | ||||||
|  |   } | ||||||
|  |   export() { } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |  * 查看入账记录 | ||||||
|  |  * @param record 当前行 | ||||||
|  |  */ | ||||||
|  |   viewBookedRecord(record: any) { | ||||||
|  |  | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * 查看账单明细 | ||||||
|  |    * @param record 当前行 | ||||||
|  |    */ | ||||||
|  |   viewAccountDetail(record: any) { | ||||||
|  |     this.showBillDetail = true; | ||||||
|  |   } | ||||||
|  |   handleCancel() { | ||||||
|  |     this.showBillDetail = false; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,27 @@ | |||||||
|  | <nz-card> | ||||||
|  |   <div nz-row> | ||||||
|  |     <div nz-col [nzSpan]="_$expand ? 24 : 18"> | ||||||
|  |       <sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf> | ||||||
|  |     </div> | ||||||
|  |     <div nz-col [nzSpan]="_$expand ? 24 : 6" class="text-right"> | ||||||
|  |       <button nz-button nzType="primary" [disabled]="!sf.valid" (click)="st?.load(1)">查询</button> | ||||||
|  |       <button nz-button (click)="resetSF()">重置</button> | ||||||
|  |       <button nz-button (click)="export()" nzType="primary" nzGhost>导出</button> | ||||||
|  |       <button nz-button nzType="link" (click)="expandToggle()"> | ||||||
|  |         {{ !_$expand ? '展开' : '收起' }} | ||||||
|  |         <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> | ||||||
|  |       </button> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  |   <div class="mt-sm"> | ||||||
|  |     <st #st [data]="amService.$api_get_account_management_page" [columns]="columns" [columns]="columns" | ||||||
|  |       [scroll]="{ x: '1200px' }" | ||||||
|  |       [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||||
|  |       [res]="{ reName: { list: 'data.records', total: 'data.total' } }" | ||||||
|  |       [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" | ||||||
|  |       [loading]="amService.http.loading"></st> | ||||||
|  |   </div> | ||||||
|  | </nz-card> | ||||||
|  | <div class="modal-footer text-center"> | ||||||
|  |   <button nz-button type="button" nzType="primary" (click)="close()">确定</button> | ||||||
|  | </div> | ||||||
| @ -0,0 +1,24 @@ | |||||||
|  | import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; | ||||||
|  | import { PartnerAccountManagementVirtualAccountDetailComponent } from './virtual-account-detail.component'; | ||||||
|  |  | ||||||
|  | describe('PartnerAccountManagementVirtualAccountDetailComponent', () => { | ||||||
|  |   let component: PartnerAccountManagementVirtualAccountDetailComponent; | ||||||
|  |   let fixture: ComponentFixture<PartnerAccountManagementVirtualAccountDetailComponent>; | ||||||
|  |  | ||||||
|  |   beforeEach(waitForAsync(() => { | ||||||
|  |     TestBed.configureTestingModule({ | ||||||
|  |       declarations: [PartnerAccountManagementVirtualAccountDetailComponent] | ||||||
|  |     }) | ||||||
|  |       .compileComponents(); | ||||||
|  |   })); | ||||||
|  |  | ||||||
|  |   beforeEach(() => { | ||||||
|  |     fixture = TestBed.createComponent(PartnerAccountManagementVirtualAccountDetailComponent); | ||||||
|  |     component = fixture.componentInstance; | ||||||
|  |     fixture.detectChanges(); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('should create', () => { | ||||||
|  |     expect(component).toBeTruthy(); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
| @ -0,0 +1,174 @@ | |||||||
|  | import { Component, OnInit, ViewChild } from '@angular/core'; | ||||||
|  | import { STColumn, STComponent } from '@delon/abc/st'; | ||||||
|  | import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form'; | ||||||
|  | import { _HttpClient } from '@delon/theme'; | ||||||
|  | import { NzModalRef } from 'ng-zorro-antd/modal'; | ||||||
|  | import { ShipperBaseService } from 'src/app/shared/services/business/shipper-base.service'; | ||||||
|  | import { AccountManagemantService } from '../../services/account-managemant.service'; | ||||||
|  |  | ||||||
|  | @Component({ | ||||||
|  |   selector: 'app-partner-account-management-virtual-account-detail', | ||||||
|  |   templateUrl: './virtual-account-detail.component.html', | ||||||
|  | }) | ||||||
|  | export class PartnerAccountManagementVirtualAccountDetailComponent implements OnInit { | ||||||
|  |   url = `/user`; | ||||||
|  |   schema!: SFSchema; | ||||||
|  |   ui!: SFUISchema; | ||||||
|  |   @ViewChild('st') private readonly st!: STComponent; | ||||||
|  |   @ViewChild('sf') private readonly sf!: SFComponent; | ||||||
|  |   columns: STColumn[] = []; | ||||||
|  |   id = ''; | ||||||
|  |   _$expand = false; | ||||||
|  |  | ||||||
|  |   constructor(public shipperservice: ShipperBaseService, public amService: AccountManagemantService, private modalRef: NzModalRef) { } | ||||||
|  |  | ||||||
|  |   get reqParams() { | ||||||
|  |     return { ...this.sf?.value }; | ||||||
|  |   } | ||||||
|  |   ngOnInit(): void { | ||||||
|  |     this.initSF(); | ||||||
|  |     this.initST(); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   initSF() { | ||||||
|  |     this.schema = { | ||||||
|  |       properties: { | ||||||
|  |         _$expand: { | ||||||
|  |           type: 'boolean', ui: { hidden: true } | ||||||
|  |         }, | ||||||
|  |         abnormalCause: { | ||||||
|  |           title: '合伙人名称', | ||||||
|  |           type: 'string', | ||||||
|  |           ui: { | ||||||
|  |             placeholder: '请输入', | ||||||
|  |           }, | ||||||
|  |         }, | ||||||
|  |         abnormalCause1: { | ||||||
|  |           title: '手机号', | ||||||
|  |           type: 'string', | ||||||
|  |           ui: { | ||||||
|  |             placeholder: '请输入', | ||||||
|  |           }, | ||||||
|  |         }, | ||||||
|  |         abnormalCause2: { | ||||||
|  |           title: '网络货运人', | ||||||
|  |           type: 'string', | ||||||
|  |           default: '', | ||||||
|  |           ui: { | ||||||
|  |             widget: 'select', | ||||||
|  |             placeholder: '请选择', | ||||||
|  |             allowClear: true, | ||||||
|  |             asyncData: () => this.shipperservice.getNetworkFreightForwarder({}, true) | ||||||
|  |           } | ||||||
|  |  | ||||||
|  |         }, | ||||||
|  |         bankType: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '银行类型', | ||||||
|  |           default: '', | ||||||
|  |           ui: { | ||||||
|  |             widget: 'dict-select', | ||||||
|  |             params: { | ||||||
|  |               dictKey: 'bankname:type' | ||||||
|  |             }, | ||||||
|  |             placeholder: '请选择', | ||||||
|  |             allowClear: true, | ||||||
|  |             containsAllLabel: true, | ||||||
|  |             visibleIf: { | ||||||
|  |               _$expand: (value: boolean) => value, | ||||||
|  |             }, | ||||||
|  |           }, | ||||||
|  |         }, | ||||||
|  |         abnormalCause3: { | ||||||
|  |           title: '虚拟账户', | ||||||
|  |           type: 'string', | ||||||
|  |           ui: { | ||||||
|  |             placeholder: '请输入', | ||||||
|  |             visibleIf: { | ||||||
|  |               _$expand: (value: boolean) => value | ||||||
|  |             }, | ||||||
|  |           }, | ||||||
|  |         }, | ||||||
|  |         createTime: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '创建时间', | ||||||
|  |           ui: { | ||||||
|  |             widget: 'sl-from-to', | ||||||
|  |             type: 'date', | ||||||
|  |             autoComplete: 'off', | ||||||
|  |             format: 'yyyy-MM-dd', | ||||||
|  |             visibleIf: { | ||||||
|  |               _$expand: (value: boolean) => value | ||||||
|  |             }, | ||||||
|  |           } as SFDateWidgetSchema, | ||||||
|  |         }, | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     this.ui = { '*': { spanLabelFixed: 100, grid: { span: 8, gutter: 4 } }, }; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  | * 初始化数据列表 | ||||||
|  | */ | ||||||
|  |   initST() { | ||||||
|  |     this.columns = [ | ||||||
|  |       { title: '合伙人', index: 'carNo', className: 'text-center', width: 200 }, | ||||||
|  |       { title: '手机号', render: 'carModelLabel', className: 'text-center', width: 150 }, | ||||||
|  |       { title: '网络货运人', render: 'carModelLabel', className: 'text-center', width: 200 }, | ||||||
|  |       { title: '银行类型', render: 'carModelLabel', className: 'text-center', width: 120 }, | ||||||
|  |       { title: '虚拟账户', render: 'carModelLabel', className: 'text-center', width: 180 }, | ||||||
|  |       { title: '可用余额', render: 'approvalStatus1', className: 'text-right', width: 180 }, | ||||||
|  |       { title: '账户总余额', render: 'approvalStatus2', className: 'text-right', width: 180 }, | ||||||
|  |       { title: '可用余额(元)', render: 'approvalStatus3', className: 'text-right', width: 180 }, | ||||||
|  |       { title: '创建时间', index: 'approvalStatus4', className: 'text-center', width: 200 }, | ||||||
|  |       { title: '状态', index: 'approvalStatus4', className: 'text-center', width: 120 }, | ||||||
|  |       { | ||||||
|  |         title: '操作', | ||||||
|  |         width: 120, | ||||||
|  |         buttons: [ | ||||||
|  |           { | ||||||
|  |             text: '查看明细', | ||||||
|  |             click: (_record) => this.viewDetail(_record) | ||||||
|  |           } | ||||||
|  |         ] | ||||||
|  |       } | ||||||
|  |     ]; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   resetSF() { | ||||||
|  |     this._$expand = false; | ||||||
|  |     this.sf.reset(); | ||||||
|  |     setTimeout(() => { | ||||||
|  |       this.st.reset(); | ||||||
|  |     }) | ||||||
|  |   } | ||||||
|  |   /** | ||||||
|  | * 伸缩查询条件 | ||||||
|  | */ | ||||||
|  |   expandToggle() { | ||||||
|  |     this._$expand = !this._$expand; | ||||||
|  |     this.sf?.setValue('/_$expand', this._$expand); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   add(): void { | ||||||
|  |     // this.modal | ||||||
|  |     //   .createStatic(FormEditComponent, { i: { id: 0 } }) | ||||||
|  |     //   .subscribe(() => this.st.reload()); | ||||||
|  |   } | ||||||
|  |   search() { | ||||||
|  |     this.st.load(1); | ||||||
|  |   } | ||||||
|  |   export() { } | ||||||
|  |   /** | ||||||
|  |    * | ||||||
|  |    * @param _record 当前行信息 | ||||||
|  |    */ | ||||||
|  |   viewDetail(_record: any) { | ||||||
|  |     window.open(location.origin + '/#/partner/account-management/account-detail'); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   close() { | ||||||
|  |     this.modalRef.destroy(); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,63 @@ | |||||||
|  | <!-- | ||||||
|  |  * @Description  :  | ||||||
|  |  * @Version      : 1.0 | ||||||
|  |  * @Author       : Shiming | ||||||
|  |  * @Date         : 2022-01-05 20:15:41 | ||||||
|  |  * @LastEditors  : Shiming | ||||||
|  |  * @LastEditTime : 2022-01-18 17:17:19 | ||||||
|  |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\financial-management\\components\\withdrawals-record\\withdrawals-detail\\withdrawals-detail.component.html | ||||||
|  |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
|  | --> | ||||||
|  | <page-header-wrapper [title]="'提现详情'" [logo]="logo"> | ||||||
|  |     <ng-template #logo> | ||||||
|  |         <button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()"> | ||||||
|  |             <i nz-icon nzType="left" nzTheme="outline"></i> | ||||||
|  |         </button> | ||||||
|  |     </ng-template> | ||||||
|  | </page-header-wrapper> | ||||||
|  |  | ||||||
|  | <nz-card> | ||||||
|  |     <nz-alert nzType="info" nzMessage="提现信息" class="mb-md"></nz-alert> | ||||||
|  |     <div se-container [labelWidth]="100"> | ||||||
|  |         <se label="网络货运人"> | ||||||
|  |             {{formData?.ltdName}} | ||||||
|  |         </se> | ||||||
|  |         <se label="银行类型"> | ||||||
|  |             {{formData?.bankType==='1'?'平安银行':'浦发银行'}} | ||||||
|  |         </se> | ||||||
|  |         <se label="提现单号"> | ||||||
|  |             {{formData?.refundApplyCode}} | ||||||
|  |         </se> | ||||||
|  |         <se label="账户名称"> | ||||||
|  |             {{formData?.bankAccountName}} | ||||||
|  |         </se> | ||||||
|  |         <se label="提现时间"> | ||||||
|  |             {{formData?.createTime}} | ||||||
|  |         </se> | ||||||
|  |         <se label="虚拟账户"> | ||||||
|  |             {{formData?.virtualAccount}} | ||||||
|  |         </se> | ||||||
|  |         <se label="提现状态"> | ||||||
|  |             {{formData?.refundStatusLabel}} | ||||||
|  |         </se> | ||||||
|  |         <se label="提现金额"> | ||||||
|  |             {{formData?.amount}} | ||||||
|  |         </se> | ||||||
|  |         <se label="银行流水号"> | ||||||
|  |             {{formData?.bankSerialNumber}} | ||||||
|  |         </se> | ||||||
|  |         <se label="提现至银行卡"> | ||||||
|  |             {{formData?.bankId}} | ||||||
|  |         </se> | ||||||
|  |         <se label="银行回单" col="1"> | ||||||
|  |             <img [src]="formData?.bankCardNumber" alt="" style="width: 200px;height: 160px;"> | ||||||
|  |         </se> | ||||||
|  |     </div> | ||||||
|  |  | ||||||
|  |     <nz-alert nzType="info" nzMessage="提现进度" class="mb-md mt-md"></nz-alert> | ||||||
|  |     <div nz-row class="mt-xl"> | ||||||
|  |         <div nz-col nzSpan="12" nzOffset="1"> | ||||||
|  |             <app-logistics-time-line [data]="timeLineData"></app-logistics-time-line> | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  | </nz-card> | ||||||
| @ -0,0 +1,17 @@ | |||||||
|  | :host::ng-deep { | ||||||
|  |  | ||||||
|  |     .ant-alert-info { | ||||||
|  |         background-color: #f3f3f3; | ||||||
|  |         border          : 1px solid #dbdbdb; | ||||||
|  |  | ||||||
|  |         .ant-alert-message { | ||||||
|  |             color: rgba(0, 0, 0, 0.85); | ||||||
|  |             font-weight: 600; | ||||||
|  |             font-size: 16px; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     .ant-form-item { | ||||||
|  |         margin-bottom: 15px; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,73 @@ | |||||||
|  | import { Component, OnInit } from '@angular/core'; | ||||||
|  | import { ActivatedRoute } from '@angular/router'; | ||||||
|  | import { FreightAccountService } from 'src/app/routes/financial-management/services/freight-account.service'; | ||||||
|  |  | ||||||
|  | @Component({ | ||||||
|  |   selector: 'app-partner-account-management-withdrawals-detail', | ||||||
|  |   templateUrl: './withdrawals-detail.component.html', | ||||||
|  |   styleUrls: ['./withdrawals-detail.component.less'] | ||||||
|  | }) | ||||||
|  | export class PartnerAccountManagementWithdrawalsDetailComponent implements OnInit { | ||||||
|  |   formData: any = {}; | ||||||
|  |  | ||||||
|  |   timeLineData: any = []; | ||||||
|  |  | ||||||
|  |   constructor(public service: FreightAccountService, private route: ActivatedRoute) { | ||||||
|  |     const id = route.snapshot.params.id; | ||||||
|  |     this.loadRefundDetail(id); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   ngOnInit(): void { } | ||||||
|  |  | ||||||
|  |   loadRefundDetail(id: string) { | ||||||
|  |     this.service.request(this.service.$api_get_refund_detail, { id }).subscribe(res => { | ||||||
|  |       if (res) { | ||||||
|  |         this.formData = res; | ||||||
|  |         // 处理流程节点数据 | ||||||
|  |         // 流程是否结束 | ||||||
|  |         let isEnd = false; | ||||||
|  |         if (res.successTime) { | ||||||
|  |           isEnd = true; | ||||||
|  |           if (res.refundStatus === '3') { | ||||||
|  |             this.timeLineData.push({ time: res.successTime, value: `到账成功`, color: 'green' }); | ||||||
|  |           } else { | ||||||
|  |             this.timeLineData.push({ time: res.successTime, value: `提现失败`, color: 'red' }); | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |         if (res.agreeTime && res.refundStatus !== '4') { | ||||||
|  |           this.timeLineData.push({ time: res.agreeTime, value: `银行处理中`, color: 'gray' }); | ||||||
|  |         } | ||||||
|  |         if (res.agreeTime) { | ||||||
|  |           if (res.refundStatus === '4') { | ||||||
|  |             isEnd = true; | ||||||
|  |             this.timeLineData.push({ | ||||||
|  |               time: res.agreeTime, | ||||||
|  |               value: `拒绝提现<br/>操作人员:${res.handlerUserIdLabel}`, | ||||||
|  |               color: 'red' | ||||||
|  |             }); | ||||||
|  |           } else { | ||||||
|  |             this.timeLineData.push({ | ||||||
|  |               time: res.agreeTime, | ||||||
|  |               value: `审核通过<br/>操作人员:${res.handlerUserIdLabel}`, | ||||||
|  |               color: 'gray' | ||||||
|  |             }); | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |         if (res.createTime) { | ||||||
|  |           this.timeLineData.push({ | ||||||
|  |             time: res.createTime, | ||||||
|  |             value: `提交提现申请<br/>提现${res.amount}元至${res.bankName}(${res.bankCardNumber})<br/>操作人员:${res.userIdLabel}`, | ||||||
|  |             color: 'gray' | ||||||
|  |           }); | ||||||
|  |         } | ||||||
|  |         if (this.timeLineData?.length > 0 && !isEnd) { | ||||||
|  |           this.timeLineData[0].color = 'green'; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   goBack() { | ||||||
|  |     history.go(-1); | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,62 @@ | |||||||
|  | <nz-card class="search-box" nzBordered> | ||||||
|  |   <div nz-row nzGutter="8"> | ||||||
|  |     <div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24"> | ||||||
|  |       <sf #sf [schema]="searchSchema" | ||||||
|  |         [ui]="{ '*': { spanLabelFixed: 90,grid: { lg: 8, md: 12, sm: 12, xs: 24,gutter:15 } }}" [compact]="true" | ||||||
|  |         [button]="'none'"></sf> | ||||||
|  |     </div> | ||||||
|  |     <div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand" | ||||||
|  |       class="text-right"> | ||||||
|  |       <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button> | ||||||
|  |       <button nz-button (click)="resetSF()">重置</button> | ||||||
|  |       <button nz-button> 导出</button> | ||||||
|  |       <button nz-button nzType="link" (click)="expandToggle()"> | ||||||
|  |         {{ !_$expand ? '展开' : '收起' }} | ||||||
|  |         <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> | ||||||
|  |       </button> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  | </nz-card> | ||||||
|  |  | ||||||
|  | <nz-card class="content-box" nzBordered> | ||||||
|  |   <nz-tabset [nzTabBarExtraContent]="extraTemplate"> | ||||||
|  |     <nz-tab nzTitle="全部" (nzClick)="changeRefundStatus()"></nz-tab> | ||||||
|  |     <nz-tab nzTitle="待审核" (nzClick)="changeRefundStatus('1')"></nz-tab> | ||||||
|  |     <nz-tab nzTitle="处理中" (nzClick)="changeRefundStatus('2')"></nz-tab> | ||||||
|  |     <nz-tab nzTitle="提现成功" (nzClick)="changeRefundStatus('3')"></nz-tab> | ||||||
|  |     <nz-tab nzTitle="提现失败" (nzClick)="changeRefundStatus('5')"></nz-tab> | ||||||
|  |     <nz-tab nzTitle="已拒绝" (nzClick)="changeRefundStatus('4')"></nz-tab> | ||||||
|  |   </nz-tabset> | ||||||
|  |  | ||||||
|  |   <ng-template #extraTemplate> | ||||||
|  |     <div class="d-flex align-items-center "> | ||||||
|  |       <div class="mr-md"> | ||||||
|  |         已选择 | ||||||
|  |         <strong class="text-red">{{ selectedRows.length }}</strong> 条数据   累计提现 <strong class="text-red">{{ | ||||||
|  |           totalCallNo }}</strong> | ||||||
|  |         <!-- <a *ngIf="totalCallNo > 0" (click)="st.clearCheck()" class="ml-lg">清空</a> --> | ||||||
|  |       </div> | ||||||
|  |       <button nz-button (click)="this.auditAction(null)">审核</button> | ||||||
|  |     </div> | ||||||
|  |   </ng-template> | ||||||
|  |  | ||||||
|  |   <st #st [data]="service.$api_get_refund_page" [columns]="columns" [req]="{  process: beforeReq }" | ||||||
|  |     [loading]="service.http.loading" [scroll]="{ x:'1200px' }" (change)="stChange($event)" | ||||||
|  |     [res]="{ reName: { list: 'data.records', total: 'data.total' }, process: afterRes }" | ||||||
|  |     [page]="{ show: true,  pageSizes:  [10, 20, 50, 100, 200, 500] }" [loading]="service.http.loading"> | ||||||
|  |     <ng-template st-row="bankCardNumber" let-item let-index="index" let-column="column"> | ||||||
|  |       {{ item.bankName }} <br> {{ item.bankCardNumber }} | ||||||
|  |     </ng-template> | ||||||
|  |   </st> | ||||||
|  | </nz-card> | ||||||
|  |  | ||||||
|  | <ng-template #auditModal> | ||||||
|  |   <div nz-row nzGutter="8"> | ||||||
|  |     <div nz-col nzSpan="24" se-container [labelWidth]="80"> | ||||||
|  |       <se [col]="1" label="备注"> | ||||||
|  |         <textarea nz-input rows="3" [(ngModel)]="msg" placeholder="同意可以不用填写原因 ,拒绝必须说明原因" | ||||||
|  |           style="width: 325px;margin-left: 14px;"></textarea> | ||||||
|  |       </se> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  | </ng-template> | ||||||
| @ -0,0 +1,334 @@ | |||||||
|  | import { Component, OnInit, ViewChild } from '@angular/core'; | ||||||
|  | import { Router } from '@angular/router'; | ||||||
|  | import { STComponent, STColumn, STChange, STRequestOptions, STData } from '@delon/abc/st'; | ||||||
|  | import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form'; | ||||||
|  | import { NzModalService } from 'ng-zorro-antd/modal'; | ||||||
|  | import { FreightAccountService } from 'src/app/routes/financial-management/services/freight-account.service'; | ||||||
|  | import Big from 'src/app/shared/utils/deal-precision'; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | @Component({ | ||||||
|  |   selector: 'app-partner-account-management-withdrawals-record', | ||||||
|  |   templateUrl: './withdrawals-record.component.html', | ||||||
|  |   styleUrls: ['../../../../commom/less/box.less', '../../../../commom/less/expend-but.less'] | ||||||
|  | }) | ||||||
|  | export class PartnerAccountManagementWithdrawalsRecordComponent implements OnInit { | ||||||
|  |   @ViewChild('st', { static: true }) st!: STComponent; | ||||||
|  |   @ViewChild('sf', { static: false }) sf!: SFComponent; | ||||||
|  |   @ViewChild('auditModal', { static: false }) auditModal!: any; | ||||||
|  |   @ViewChild('viewReasonModal', { static: false }) viewReasonModal!: any; | ||||||
|  |   columns: STColumn[] = this.initST(); | ||||||
|  |   searchSchema: SFSchema = this.initSF(); | ||||||
|  |  | ||||||
|  |   _$expand = false; | ||||||
|  |  | ||||||
|  |   selectedRows: any[] = []; | ||||||
|  |   totalCallNo = 0; | ||||||
|  |   refundStatus: any = ''; | ||||||
|  |  | ||||||
|  |   msg = ''; | ||||||
|  |   constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) { } | ||||||
|  |  | ||||||
|  |   ngOnInit(): void { } | ||||||
|  |  | ||||||
|  |   beforeReq = (requestOptions: STRequestOptions) => { | ||||||
|  |     if (this.sf) { | ||||||
|  |       Object.assign(requestOptions.body, { | ||||||
|  |         ...this.sf.value, | ||||||
|  |         createTime: { | ||||||
|  |           start: this.sf.value.createTime?.[0] || '', | ||||||
|  |           end: this.sf.value.createTime?.[1] || '' | ||||||
|  |         }, | ||||||
|  |         refundStatus: this.refundStatus || null | ||||||
|  |       }); | ||||||
|  |     } | ||||||
|  |     return requestOptions; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   afterRes = (data: any[], rawData?: any) => { | ||||||
|  |     data = data.map(node => ({ ...node, disabled: node.refundStatus !== '1' })); | ||||||
|  |     return data; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   stChange(e: STChange): void { | ||||||
|  |     if (e.type === 'checkbox') { | ||||||
|  |       const checkRows = (e.checkbox as STData[]) || []; | ||||||
|  |       //判断当前页是否有选中的行 | ||||||
|  |       if (checkRows.length === 0) { | ||||||
|  |         // 当前页没有存在已勾选的行,移除之前所记录的当前页的行 | ||||||
|  |         const stList = this.st.list; | ||||||
|  |         stList.forEach(item => { | ||||||
|  |           this.selectedRows = this.selectedRows.filter((e: any) => e.id !== item.id); | ||||||
|  |         }) | ||||||
|  |       } else { | ||||||
|  |         //添加新增的行 | ||||||
|  |         checkRows.forEach((item: any) => { | ||||||
|  |           const newSelectedList = this.selectedRows.filter((r: any) => r.id === item.id); | ||||||
|  |           if (newSelectedList.length === 0) { | ||||||
|  |             this.selectedRows.push(item); | ||||||
|  |  | ||||||
|  |           } | ||||||
|  |         }) | ||||||
|  |         // 移除取消选中的行 | ||||||
|  |         const stList = this.st.list; | ||||||
|  |         stList.forEach(item => { | ||||||
|  |           if (!item.checked) { | ||||||
|  |             const index = this.selectedRows.findIndex(_item => item.id === _item.id); | ||||||
|  |             if (index !== -1) this.selectedRows.splice(index, 1); | ||||||
|  |           } | ||||||
|  |         }) | ||||||
|  |       } | ||||||
|  |       let totalCallNo = 0; | ||||||
|  |       this.selectedRows.forEach((item => { | ||||||
|  |         totalCallNo = new Big(this.totalCallNo).plus(item?.amount).parse(); | ||||||
|  |       })); | ||||||
|  |       this.totalCallNo = totalCallNo; | ||||||
|  |     } else if (e.type === 'loaded') { | ||||||
|  |       // 页面加载时勾选 | ||||||
|  |       (e?.loaded || []).forEach((r) => { | ||||||
|  |         this.selectedRows.forEach((x) => { | ||||||
|  |           if (x.id === r.id) { | ||||||
|  |             r.checked = true; | ||||||
|  |           } | ||||||
|  |         }); | ||||||
|  |       }); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   changeRefundStatus(status?: string) { | ||||||
|  |     this.refundStatus = status || null; | ||||||
|  |     this.st.load(1); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   auditAction(item?: any) { | ||||||
|  |     this.msg = ''; | ||||||
|  |     let params: Array<string> = []; | ||||||
|  |     if (item) { | ||||||
|  |       params = [item.id]; | ||||||
|  |     } else { | ||||||
|  |       params = this.selectedRows.map(node => node.id); | ||||||
|  |     } | ||||||
|  |     const modal = this.nzModalService.create({ | ||||||
|  |       nzTitle: '审核', | ||||||
|  |       nzContent: this.auditModal, | ||||||
|  |       nzFooter: [ | ||||||
|  |         { | ||||||
|  |           label: '拒绝', | ||||||
|  |           type: 'default', | ||||||
|  |           onClick: () => { | ||||||
|  |             this.service | ||||||
|  |               .request(this.service.$api_disagree_refund, { | ||||||
|  |                 refundApplicationId: params, | ||||||
|  |                 msg: this.msg | ||||||
|  |               }) | ||||||
|  |               .subscribe(res => { | ||||||
|  |                 if (res) { | ||||||
|  |                   this.service.msgSrv.success('审核拒绝成功'); | ||||||
|  |                   modal.destroy(); | ||||||
|  |                   this.st.load(1); | ||||||
|  |                 } | ||||||
|  |               }); | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |           label: '通过', | ||||||
|  |           type: 'primary', | ||||||
|  |           onClick: () => { | ||||||
|  |             this.service | ||||||
|  |               .request(this.service.$api_agree_refund, { | ||||||
|  |                 refundApplicationId: params, | ||||||
|  |                 msg: this.msg | ||||||
|  |               }) | ||||||
|  |               .subscribe(res => { | ||||||
|  |                 if (res) { | ||||||
|  |                   this.service.msgSrv.success('审核通过成功'); | ||||||
|  |                   modal.destroy(); | ||||||
|  |                   this.st.load(1); | ||||||
|  |                 } | ||||||
|  |               }); | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       ] | ||||||
|  |     }); | ||||||
|  |     modal.afterClose.subscribe(res => { | ||||||
|  |       this.st.load(); | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   showReason(item: any) { | ||||||
|  |     const modal = this.nzModalService.create({ | ||||||
|  |       nzTitle: '查看原因', | ||||||
|  |       nzContent: item?.rejectionCause || item?.failCause, | ||||||
|  |       nzFooter: [ | ||||||
|  |         { | ||||||
|  |           label: '关闭', | ||||||
|  |           type: 'primary', | ||||||
|  |           onClick: () => { | ||||||
|  |             modal.destroy(); | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       ] | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * 重置表单 | ||||||
|  |    */ | ||||||
|  |   resetSF() { | ||||||
|  |     this.sf.reset(); | ||||||
|  |     this._$expand = false; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * 伸缩查询条件 | ||||||
|  |    */ | ||||||
|  |   expandToggle() { | ||||||
|  |     this._$expand = !this._$expand; | ||||||
|  |     this.sf?.setValue('/expand', this._$expand); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   private initSF(): SFSchema { | ||||||
|  |     return { | ||||||
|  |       properties: { | ||||||
|  |         expand: { | ||||||
|  |           type: 'boolean', | ||||||
|  |           ui: { | ||||||
|  |             hidden: true | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         refundApplyCode: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '提现单号', | ||||||
|  |           ui: { | ||||||
|  |             placeholder: '请输入' | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         refundStatus: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '提现状态', | ||||||
|  |           ui: { | ||||||
|  |             widget: 'dict-select', | ||||||
|  |             params: { dictKey: 'refund:apply:status' }, | ||||||
|  |             placeholder: '请选择' | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         createTime: { | ||||||
|  |           title: '提现时间', | ||||||
|  |           type: 'string', | ||||||
|  |           ui: { | ||||||
|  |             widget: 'sl-from-to-search', | ||||||
|  |             format: 'yyyy-MM-dd', | ||||||
|  |             placeholder: '请选择', | ||||||
|  |             nzShowTime: true | ||||||
|  |           } as SFDateWidgetSchema | ||||||
|  |         }, | ||||||
|  |         bankAccountName: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '账户名称', | ||||||
|  |           ui: { | ||||||
|  |             placeholder: '请输入', | ||||||
|  |             visibleIf: { | ||||||
|  |               expand: (value: boolean) => value | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         accountType: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '账户类型', | ||||||
|  |           ui: { | ||||||
|  |             widget: 'dict-select', | ||||||
|  |             params: { dictKey: 'bank:type' }, | ||||||
|  |             placeholder: '请选择', | ||||||
|  |             visibleIf: { | ||||||
|  |               expand: (value: boolean) => value | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         ltdId: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '网络货运人', | ||||||
|  |           ui: { | ||||||
|  |             widget: 'select', | ||||||
|  |             placeholder: '请选择', | ||||||
|  |             allowClear: true, | ||||||
|  |             asyncData: () => this.service.getNetworkFreightForwarder(), | ||||||
|  |             visibleIf: { | ||||||
|  |               expand: (value: boolean) => value | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         bankType: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '银行类型', | ||||||
|  |           ui: { | ||||||
|  |             widget: 'dict-select', | ||||||
|  |             params: { dictKey: 'bankname:type' }, | ||||||
|  |             placeholder: '请输入', | ||||||
|  |             visibleIf: { | ||||||
|  |               expand: (value: boolean) => value | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   private initST(): STColumn[] { | ||||||
|  |     return [ | ||||||
|  |       { title: '', index: 'key', type: 'checkbox', className: 'text-center' }, | ||||||
|  |       { title: '提现时间', index: 'createTime', width: 180, className: 'text-center' }, | ||||||
|  |       { title: '提现单号', index: 'refundApplyCode', width: 180, className: 'text-center' }, | ||||||
|  |       { title: '网络货运人', index: 'ltdName', width: 220, className: 'text-center' }, | ||||||
|  |       { title: '银行类型', index: 'bankTypeLabel', width: 100, className: 'text-center' }, | ||||||
|  |       { title: '账户类型', index: 'bankTypeLabel', width: 100, className: 'text-center' }, | ||||||
|  |       { title: '账户名称', index: 'bankAccountName', width: 220, className: 'text-center' }, | ||||||
|  |       { title: '虚拟账户', index: 'virtualAccount', width: 180, className: 'text-center' }, | ||||||
|  |       { | ||||||
|  |         title: '提现金额', | ||||||
|  |         index: 'amount', | ||||||
|  |         width: 150, | ||||||
|  |         type: 'widget', | ||||||
|  |         className: 'text-right', | ||||||
|  |         widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.amount }) } | ||||||
|  |       }, | ||||||
|  |       { title: '提现银行账户', render: 'bankCardNumber', width: 200, className: 'text-center' }, | ||||||
|  |       { title: '提现状态', index: 'refundStatusLabel', width: 100, className: 'text-center' }, | ||||||
|  |       { title: '银行流水号', index: 'bankSerialNumber', width: 160, className: 'text-center' }, | ||||||
|  |       { title: '核心交易流水', index: 'coreSerNo', width: 180, className: 'text-center' }, | ||||||
|  |       { title: '失败原因', index: 'rejectionCause', width: 200, format: item => item.failCause, className: 'text-center' }, | ||||||
|  |       { | ||||||
|  |         title: '操作', | ||||||
|  |         fixed: 'right', | ||||||
|  |         width: '110px', | ||||||
|  |         buttons: [ | ||||||
|  |           { | ||||||
|  |             text: '查看回单', | ||||||
|  |             iif: item => item.refundStatus === '3', | ||||||
|  |             click: item => | ||||||
|  |               this.service.getReceiptUrl(item.receiptUrl, { | ||||||
|  |                 bankType: item.bankType, | ||||||
|  |                 rmYll: item.userId, | ||||||
|  |                 snglFlgCd: item.coreSerNo, | ||||||
|  |                 bussType: '06', | ||||||
|  |                 ltdId: item.ltdId | ||||||
|  |               }) | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             text: '查看原因', | ||||||
|  |             iif: item => item.refundStatus === '4', | ||||||
|  |             click: item => this.showReason(item) | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             text: '审核', | ||||||
|  |             iif: item => item.refundStatus === '1', | ||||||
|  |             click: item => this.auditAction(item) | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             text: '详情', | ||||||
|  |             click: item => this.router.navigate(['/financial-management/withdrawals-record/detail/' + item.id]) | ||||||
|  |           } | ||||||
|  |         ] | ||||||
|  |       } | ||||||
|  |     ]; | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -6,6 +6,7 @@ import { BaseService } from '@shared'; | |||||||
| }) | }) | ||||||
| export class AccountManagemantService extends BaseService { | export class AccountManagemantService extends BaseService { | ||||||
|  |  | ||||||
|  |   $api_get_account_management_page = `/api/fcc/ficoBrmH/list/page`; | ||||||
|   constructor(public injector: Injector) { |   constructor(public injector: Injector) { | ||||||
|     super(injector) |     super(injector) | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -17,7 +17,7 @@ import { ParterChannelSalesEditComponent } from './channel-sales/components/edit | |||||||
| import { ParterChannelSalesListComponent } from './channel-sales/components/list/list.component'; | import { ParterChannelSalesListComponent } from './channel-sales/components/list/list.component'; | ||||||
| import { ParterLevelConfigEditComponent } from './level-config/components/edit/edit.component'; | import { ParterLevelConfigEditComponent } from './level-config/components/edit/edit.component'; | ||||||
| import { ParterLevelConfigListComponent } from './level-config/components/list/list.component'; | import { ParterLevelConfigListComponent } from './level-config/components/list/list.component'; | ||||||
| import { ParterRebateManageMentParticularsComponent } from './rebate-management/components/list/particulars.component'; | import { ParterRebateManageMentParticularsComponent } from './rebate-management/components/particulars/particulars.component'; | ||||||
| import { PartnerSalePartnerDetailComponent } from './business-statistics/components/sale-partner-detail/sale-partner-detail.component'; | import { PartnerSalePartnerDetailComponent } from './business-statistics/components/sale-partner-detail/sale-partner-detail.component'; | ||||||
| import { PartnerPartnerCustomOrderDetailComponent } from './business-statistics/components/partner-custom-order-detail/partner-custom-order-detail.component'; | import { PartnerPartnerCustomOrderDetailComponent } from './business-statistics/components/partner-custom-order-detail/partner-custom-order-detail.component'; | ||||||
| import { PartnerPartnerOrderDetailComponent } from './business-statistics/components/partner-order-detail/partner-order-detail.component'; | import { PartnerPartnerOrderDetailComponent } from './business-statistics/components/partner-order-detail/partner-order-detail.component'; | ||||||
| @ -25,6 +25,11 @@ import { PartnerAccountManagementListComponent } from './account-management/comp | |||||||
| import { ParterClaimAuditListComponent } from './claim-audit/components/list/list.component'; | import { ParterClaimAuditListComponent } from './claim-audit/components/list/list.component'; | ||||||
| import { ParterClaimAuditListChannelDetailComponent } from './claim-audit/components/channel-detail/channel-detail.component'; | import { ParterClaimAuditListChannelDetailComponent } from './claim-audit/components/channel-detail/channel-detail.component'; | ||||||
| import { ParterClaimAuditListPartnerDetailComponent } from './claim-audit/components/partner-detail/partner-detail.component'; | import { ParterClaimAuditListPartnerDetailComponent } from './claim-audit/components/partner-detail/partner-detail.component'; | ||||||
|  | import { ParterRebateManageMentRecordComponent } from './rebate-management/components/rebate-record/rebate-record.component'; | ||||||
|  | import { PartnerAccountManagementAccountDetailComponent } from './account-management/components/account-detail/account-detail.component'; | ||||||
|  | import { PartnerAccountManagementRecordedDetailComponent } from './account-management/components/recorded-detail/recorded-detail.component'; | ||||||
|  | import { PartnerAccountManagementWithdrawalsRecordComponent } from './account-management/components/withdrawals-record/withdrawals-record.component'; | ||||||
|  | import { PartnerAccountManagementWithdrawalsDetailComponent } from './account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component'; | ||||||
|  |  | ||||||
| const routes: Routes = [ | const routes: Routes = [ | ||||||
|   { |   { | ||||||
| @ -59,14 +64,17 @@ const routes: Routes = [ | |||||||
|     path: 'rebate', |     path: 'rebate', | ||||||
|     children: [ |     children: [ | ||||||
|       { path: 'particulars', component: ParterRebateManageMentParticularsComponent }, |       { path: 'particulars', component: ParterRebateManageMentParticularsComponent }, | ||||||
|  |       { path: 'record', component: ParterRebateManageMentRecordComponent }, | ||||||
|     ] |     ] | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     path: 'account-management', |     path: 'account-management', | ||||||
|     children: [ |     children: [ | ||||||
|       { path: 'list', component: PartnerAccountManagementListComponent }, |       { path: 'list', component: PartnerAccountManagementListComponent }, | ||||||
|       { path: 'channel-detail', component: ParterClaimAuditListChannelDetailComponent }, |       { path: 'account-detail', component: PartnerAccountManagementAccountDetailComponent }, | ||||||
|       { path: 'partner-detail', component: ParterClaimAuditListPartnerDetailComponent }, |       { path: 'recorded-detail/:id', component: PartnerAccountManagementRecordedDetailComponent }, | ||||||
|  |       { path: 'withdraw-record', component: PartnerAccountManagementWithdrawalsRecordComponent }, | ||||||
|  |       { path: 'withdraw-record/:id', component: PartnerAccountManagementWithdrawalsDetailComponent }, | ||||||
|     ] |     ] | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|  | |||||||
| @ -1,3 +1,13 @@ | |||||||
|  | /* | ||||||
|  |  * @Description  : | ||||||
|  |  * @Version      : 1.0 | ||||||
|  |  * @Author       : Shiming | ||||||
|  |  * @Date         : 2022-03-09 14:34:55 | ||||||
|  |  * @LastEditors  : Shiming | ||||||
|  |  * @LastEditTime : 2022-03-09 14:56:46 | ||||||
|  |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\partner\\partner.module.ts | ||||||
|  |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
|  |  */ | ||||||
| import { NgModule } from '@angular/core'; | import { NgModule } from '@angular/core'; | ||||||
| import { CommonModule } from '@angular/common'; | import { CommonModule } from '@angular/common'; | ||||||
| import { SharedModule } from '@shared'; | import { SharedModule } from '@shared'; | ||||||
| @ -11,7 +21,7 @@ import { PartnerPartnerStatisticsComponent } from './business-statistics/compone | |||||||
| import { PartnerSaleStatisticsComponent } from './business-statistics/components/sale-statistics/sale-statistics.component'; | import { PartnerSaleStatisticsComponent } from './business-statistics/components/sale-statistics/sale-statistics.component'; | ||||||
| import { PartnerSaleCustomDetailComponent } from './business-statistics/components/sale-custom-detail/sale-custom-detail.component'; | import { PartnerSaleCustomDetailComponent } from './business-statistics/components/sale-custom-detail/sale-custom-detail.component'; | ||||||
| import { PartnerPartnerCustomDetailComponent } from './business-statistics/components/partner-custom-detail/partner-custom-detail.component'; | import { PartnerPartnerCustomDetailComponent } from './business-statistics/components/partner-custom-detail/partner-custom-detail.component'; | ||||||
| import { ParterRebateManageMentParticularsComponent } from './rebate-management/components/list/particulars.component'; | import { ParterRebateManageMentParticularsComponent } from './rebate-management/components/particulars/particulars.component'; | ||||||
| import { PartnerSalePartnerDetailComponent } from './business-statistics/components/sale-partner-detail/sale-partner-detail.component'; | import { PartnerSalePartnerDetailComponent } from './business-statistics/components/sale-partner-detail/sale-partner-detail.component'; | ||||||
| import { PartnerPartnerCustomOrderDetailComponent } from './business-statistics/components/partner-custom-order-detail/partner-custom-order-detail.component'; | import { PartnerPartnerCustomOrderDetailComponent } from './business-statistics/components/partner-custom-order-detail/partner-custom-order-detail.component'; | ||||||
| import { PartnerPartnerOrderDetailComponent } from './business-statistics/components/partner-order-detail/partner-order-detail.component'; | import { PartnerPartnerOrderDetailComponent } from './business-statistics/components/partner-order-detail/partner-order-detail.component'; | ||||||
| @ -23,6 +33,14 @@ import { ParterClaimAuditListChannelApproveComponent } from './claim-audit/compo | |||||||
| import { ParterClaimAuditListPartnerApproveComponent } from './claim-audit/components/partner-approve/partner-approve.component'; | import { ParterClaimAuditListPartnerApproveComponent } from './claim-audit/components/partner-approve/partner-approve.component'; | ||||||
| import { ParterClaimAuditListPartnerRejectComponent } from './claim-audit/components/partner-reject/partner-reject.component'; | import { ParterClaimAuditListPartnerRejectComponent } from './claim-audit/components/partner-reject/partner-reject.component'; | ||||||
| import { ParterClaimAuditListChannelRejectComponent } from './claim-audit/components/channel-reject/channel-reject.component'; | import { ParterClaimAuditListChannelRejectComponent } from './claim-audit/components/channel-reject/channel-reject.component'; | ||||||
|  | import { PartnerAccountManagementVirtualAccountDetailComponent } from './account-management/components/virtual-account-detail/virtual-account-detail.component'; | ||||||
|  |  | ||||||
|  | import { PartnerAccountManagementAccountDetailComponent } from './account-management/components/account-detail/account-detail.component'; | ||||||
|  | import { PartnerAccountManagementRecordedDetailComponent } from './account-management/components/recorded-detail/recorded-detail.component'; | ||||||
|  | import { PartnerAccountManagementWithdrawalsRecordComponent } from './account-management/components/withdrawals-record/withdrawals-record.component'; | ||||||
|  | import { PartnerAccountManagementWithdrawalsDetailComponent } from './account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component'; | ||||||
|  | import { ParterRebateManageMentRecordComponent } from './rebate-management/components/rebate-record/rebate-record.component'; | ||||||
|  |  | ||||||
| const COMPONENTS: any[] = [ | const COMPONENTS: any[] = [ | ||||||
|   PartnerBusinessStatisticsIndexComponent, |   PartnerBusinessStatisticsIndexComponent, | ||||||
|   ParterChannelSalesListComponent, |   ParterChannelSalesListComponent, | ||||||
| @ -35,6 +53,7 @@ const COMPONENTS: any[] = [ | |||||||
|   PartnerPartnerCustomDetailComponent, |   PartnerPartnerCustomDetailComponent, | ||||||
|   PartnerSaleCustomDetailComponent, |   PartnerSaleCustomDetailComponent, | ||||||
|   ParterRebateManageMentParticularsComponent, |   ParterRebateManageMentParticularsComponent, | ||||||
|  |   ParterRebateManageMentRecordComponent, | ||||||
|   PartnerSalePartnerDetailComponent, |   PartnerSalePartnerDetailComponent, | ||||||
|   PartnerPartnerCustomOrderDetailComponent, |   PartnerPartnerCustomOrderDetailComponent, | ||||||
|   PartnerPartnerOrderDetailComponent, |   PartnerPartnerOrderDetailComponent, | ||||||
| @ -45,10 +64,14 @@ const COMPONENTS: any[] = [ | |||||||
|   ParterClaimAuditListPartnerApproveComponent, |   ParterClaimAuditListPartnerApproveComponent, | ||||||
|   ParterClaimAuditListPartnerRejectComponent, |   ParterClaimAuditListPartnerRejectComponent, | ||||||
|   ParterClaimAuditListChannelApproveComponent, |   ParterClaimAuditListChannelApproveComponent, | ||||||
|   ParterClaimAuditListChannelRejectComponent |   ParterClaimAuditListChannelRejectComponent, | ||||||
|  |   PartnerAccountManagementVirtualAccountDetailComponent, | ||||||
|  |   PartnerAccountManagementAccountDetailComponent, | ||||||
|  |   PartnerAccountManagementRecordedDetailComponent, | ||||||
|  |   PartnerAccountManagementWithdrawalsRecordComponent, | ||||||
|  |   PartnerAccountManagementWithdrawalsDetailComponent | ||||||
| ]; | ]; | ||||||
|  |  | ||||||
|  |  | ||||||
| @NgModule({ | @NgModule({ | ||||||
|   declarations: [...COMPONENTS], |   declarations: [...COMPONENTS], | ||||||
|   imports: [CommonModule, PartnerRoutingModule, SharedModule] |   imports: [CommonModule, PartnerRoutingModule, SharedModule] | ||||||
|  | |||||||
| @ -4,15 +4,14 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2022-02-24 20:09:49 |  * @Date         : 2022-02-24 20:09:49 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-02-24 20:14:21 |  * @LastEditTime : 2022-03-09 15:04:50 | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\list\\particulars.component.html |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-record\\rebate-record.component.html | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
| --> | --> | ||||||
| <page-header-wrapper [title]="''"> </page-header-wrapper> | <page-header-wrapper [title]="''"> </page-header-wrapper> | ||||||
| <nz-card> | <nz-card> | ||||||
|   <div nz-row nzGutter="8"> |   <div nz-row nzGutter="8"> | ||||||
|     <!-- 查询字段小于或等于3个时,不显示伸缩按钮 --> |     <!-- 查询字段小于或等于3个时,不显示伸缩按钮 --> | ||||||
|     <div nz-col nzSpan="24" *ngIf="queryFieldCount <= 4"> |  | ||||||
|       <sf |       <sf | ||||||
|         #sf |         #sf | ||||||
|         [schema]="schema" |         [schema]="schema" | ||||||
| @ -20,26 +19,13 @@ | |||||||
|         [mode]="'search'" |         [mode]="'search'" | ||||||
|         [disabled]="!sf?.valid" |         [disabled]="!sf?.valid" | ||||||
|         [loading]="service.http.loading" |         [loading]="service.http.loading" | ||||||
|         (formSubmit)="st?.load(1)" |         [button]="'none'" | ||||||
|         (formReset)="resetSF()" |  | ||||||
|       ></sf> |       ></sf> | ||||||
|     </div> |  | ||||||
|  |  | ||||||
|     <!-- 查询字段大于3个时,根据展开状态调整布局 --> |  | ||||||
|     <ng-container *ngIf="queryFieldCount > 4"> |  | ||||||
|       <div nz-col [nzSpan]="_$expand ? 24 : 18"> |  | ||||||
|         <sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf> |  | ||||||
|       </div> |  | ||||||
|       <div nz-col [nzSpan]="_$expand ? 24 : 6" class="text-right"> |       <div nz-col [nzSpan]="_$expand ? 24 : 6" class="text-right"> | ||||||
|         <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1);">查询</button> |       <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1);">查询</button> | ||||||
|         <button nz-button nzType="primary" [disabled]="service.http.loading" >导出</button> |       <button nz-button nzType="primary" [disabled]="service.http.loading" >导出</button> | ||||||
|         <button nz-button [disabled]="service.http.loading" (click)="resetSF()">重置</button> |       <button nz-button [disabled]="service.http.loading" (click)="resetSF()">重置</button> | ||||||
|         <button nz-button nzType="link" (click)="expandToggle()"> |     </div> | ||||||
|           {{ !_$expand ? '展开' : '收起' }} |  | ||||||
|           <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> |  | ||||||
|         </button> |  | ||||||
|       </div> |  | ||||||
|     </ng-container> |  | ||||||
|   </div> |   </div> | ||||||
| </nz-card> | </nz-card> | ||||||
|  |  | ||||||
| @ -47,7 +33,6 @@ | |||||||
|   <!-- 数据列表 --> |   <!-- 数据列表 --> | ||||||
|   <st |   <st | ||||||
|     #st |     #st | ||||||
|     [bordered]="true" |  | ||||||
|     [data]="data" |     [data]="data" | ||||||
|     [columns]="columns" |     [columns]="columns" | ||||||
|     [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" |     [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||||
|  | |||||||
| @ -1,3 +1,4 @@ | |||||||
|  | import { ModalHelper } from '@delon/theme'; | ||||||
| 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, STRequestOptions } from '@delon/abc/st'; | import { STColumn, STComponent, STData, STRequestOptions } from '@delon/abc/st'; | ||||||
| @ -5,12 +6,13 @@ import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/fo | |||||||
| import { processSingleSort, ShipperBaseService } from '@shared'; | import { processSingleSort, ShipperBaseService } from '@shared'; | ||||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | import { NzModalService } from 'ng-zorro-antd/modal'; | ||||||
| import { RebateManagementService } from '../../services/rebate-management.service'; | import { RebateManagementService } from '../../services/rebate-management.service'; | ||||||
|  | import { ParterRebateManageMenRecordDetailComponent } from '../../model/record-detail/record-detail.component'; | ||||||
|  |  | ||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-parter-channel-rebate-management-particulars', |   selector: 'app-parter-channel-rebate-management-record', | ||||||
|   templateUrl: './particulars.component.html' |   templateUrl: './rebate-record.component.html' | ||||||
| }) | }) | ||||||
| export class ParterRebateManageMentParticularsComponent implements OnInit { | export class ParterRebateManageMentRecordComponent implements OnInit { | ||||||
|   schema: SFSchema = {}; |   schema: SFSchema = {}; | ||||||
|   columns!: STColumn[]; |   columns!: STColumn[]; | ||||||
|   ui!: SFUISchema; |   ui!: SFUISchema; | ||||||
| @ -26,7 +28,8 @@ export class ParterRebateManageMentParticularsComponent implements OnInit { | |||||||
|     public ar: ActivatedRoute, |     public ar: ActivatedRoute, | ||||||
|     public service: RebateManagementService, |     public service: RebateManagementService, | ||||||
|     private modalService: NzModalService, |     private modalService: NzModalService, | ||||||
|     public shipperservice: ShipperBaseService |     public shipperservice: ShipperBaseService, | ||||||
|  |     private modal: ModalHelper | ||||||
|   ) {} |   ) {} | ||||||
|   /** |   /** | ||||||
|    * 查询字段个数 |    * 查询字段个数 | ||||||
| @ -64,53 +67,15 @@ export class ParterRebateManageMentParticularsComponent implements OnInit { | |||||||
|     this.schema = { |     this.schema = { | ||||||
|       properties: { |       properties: { | ||||||
|         _$expand: { type: 'boolean', ui: { hidden: true } }, |         _$expand: { type: 'boolean', ui: { hidden: true } }, | ||||||
|         name: { |         month: { | ||||||
|           type: 'string', |           type: 'string', | ||||||
|           title: '订单号' |           title: '时间月份', | ||||||
|  |           format: 'month', | ||||||
|         }, |         }, | ||||||
|         phone: { |         phone: { | ||||||
|           type: 'string', |           type: 'string', | ||||||
|           title: '付款单号' |           title: '合伙人名称' | ||||||
|         }, |         }, | ||||||
|         phone2: { |  | ||||||
|           type: 'string', |  | ||||||
|           title: '下单客户' |  | ||||||
|         }, |  | ||||||
|         enterpriseInfoId: { |  | ||||||
|           type: 'string', |  | ||||||
|           title: '网络货运人', |  | ||||||
|           ui: { |  | ||||||
|             widget: 'select', |  | ||||||
|             placeholder: '请选择', |  | ||||||
|             visibleIf: { |  | ||||||
|               _$expand: (value: boolean) => value |  | ||||||
|             }, |  | ||||||
|             allowClear: true, |  | ||||||
|             asyncData: () => this.shipperservice.getNetworkFreightForwarder() |  | ||||||
|           } |  | ||||||
|         }, |  | ||||||
|         phone3: { |  | ||||||
|           type: 'string', |  | ||||||
|           title: '合伙人名称', |  | ||||||
|           ui: { |  | ||||||
|             visibleIf: { |  | ||||||
|               _$expand: (value: boolean) => value |  | ||||||
|             }, |  | ||||||
|           } |  | ||||||
|         }, |  | ||||||
|         deadlineTime: { |  | ||||||
|           title: '时间范围', |  | ||||||
|           type: 'string', |  | ||||||
|           ui: { |  | ||||||
|             widget: 'date', |  | ||||||
|             mode: 'range', |  | ||||||
|             format: 'yyyy-MM-dd', |  | ||||||
|             visibleIf: { |  | ||||||
|               _$expand: (value: boolean) => value |  | ||||||
|             }, |  | ||||||
|             allowClear: true |  | ||||||
|           } as SFDateWidgetSchema |  | ||||||
|         } |  | ||||||
|       } |       } | ||||||
|     }; |     }; | ||||||
|     this.ui = { |     this.ui = { | ||||||
| @ -124,35 +89,11 @@ export class ParterRebateManageMentParticularsComponent implements OnInit { | |||||||
|   initST() { |   initST() { | ||||||
|     this.columns = [ |     this.columns = [ | ||||||
|       { |       { | ||||||
|         title: '订单号', |         title: '月份', | ||||||
|         index: 'name1' |         index: 'name1' | ||||||
|       }, |       }, | ||||||
|       { |       { | ||||||
|         title: '订单金额(元)', |         title: '返佣金额(元)', | ||||||
|         index: 'name1' |  | ||||||
|       }, |  | ||||||
|       { |  | ||||||
|         title: '付款金额(元)', |  | ||||||
|         index: 'name1' |  | ||||||
|       }, |  | ||||||
|       { |  | ||||||
|         title: '预估返佣金额(元)', |  | ||||||
|         index: 'name1' |  | ||||||
|       }, |  | ||||||
|       { |  | ||||||
|         title: '附加费率', |  | ||||||
|         index: 'name1' |  | ||||||
|       }, |  | ||||||
|       { |  | ||||||
|         title: '下单客户', |  | ||||||
|         index: 'name1' |  | ||||||
|       }, |  | ||||||
|       { |  | ||||||
|         title: '网络货运人', |  | ||||||
|         index: 'name1' |  | ||||||
|       }, |  | ||||||
|       { |  | ||||||
|         title: '销售渠道', |  | ||||||
|         index: 'name1' |         index: 'name1' | ||||||
|       }, |       }, | ||||||
|       { |       { | ||||||
| @ -160,7 +101,7 @@ export class ParterRebateManageMentParticularsComponent implements OnInit { | |||||||
|         index: 'name1' |         index: 'name1' | ||||||
|       }, |       }, | ||||||
|       { |       { | ||||||
|         title: '合伙人等级', |         title: '实际等级', | ||||||
|         index: 'name1' |         index: 'name1' | ||||||
|       }, |       }, | ||||||
|       { |       { | ||||||
| @ -168,16 +109,38 @@ export class ParterRebateManageMentParticularsComponent implements OnInit { | |||||||
|         index: 'name1' |         index: 'name1' | ||||||
|       }, |       }, | ||||||
|       { |       { | ||||||
|         title: '固定结算费率', |         title: '返佣时间', | ||||||
|         index: 'name1' |         index: 'name1' | ||||||
|       }, |       }, | ||||||
|       { |       { | ||||||
|         title: '返佣时间', |         title: '异常反馈', | ||||||
|         index: 'name1' |         index: 'name1' | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         title: '操作', | ||||||
|  |         fixed: 'right', | ||||||
|  |         width: '90px', | ||||||
|  |         className: 'text-left', | ||||||
|  |         buttons: [ | ||||||
|  |           { | ||||||
|  |             text: '明细', | ||||||
|  |             click: _record => this.viewEvaluate(_record), | ||||||
|  |           } | ||||||
|  |         ] | ||||||
|       } |       } | ||||||
|     ]; |     ]; | ||||||
|   } |   } | ||||||
|  |   /** | ||||||
|  |    *查看详情 | ||||||
|  |    */ | ||||||
|  |    viewEvaluate(item: any) { | ||||||
|  |     //  this.modalService | ||||||
|  |     this.modal.createStatic(ParterRebateManageMenRecordDetailComponent, {i:item}).subscribe((res: boolean)=> { | ||||||
|  |       if(res) { | ||||||
|  |  | ||||||
|  |       } | ||||||
|  |     }) | ||||||
|  |   } | ||||||
|   /** |   /** | ||||||
|    * 重置表单 |    * 重置表单 | ||||||
|    */ |    */ | ||||||
|  | |||||||
| @ -0,0 +1,34 @@ | |||||||
|  | <!-- | ||||||
|  |  * @Description  :  | ||||||
|  |  * @Version      : 1.0 | ||||||
|  |  * @Author       : Shiming | ||||||
|  |  * @Date         : 2022-02-24 20:09:49 | ||||||
|  |  * @LastEditors  : Shiming | ||||||
|  |  * @LastEditTime : 2022-03-09 15:14:50 | ||||||
|  |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\model\\record-detail\\record-detail.component.html | ||||||
|  |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
|  | --> | ||||||
|  |   <div nz-row nzGutter="8"> | ||||||
|  |       <sf | ||||||
|  |         #sf | ||||||
|  |         [schema]="schema" | ||||||
|  |         [ui]="ui" | ||||||
|  |         [mode]="'search'" | ||||||
|  |         [disabled]="!sf?.valid" | ||||||
|  |         [loading]="service.http.loading" | ||||||
|  |         [button]="'none'" | ||||||
|  |       ></sf> | ||||||
|  |   </div> | ||||||
|  |   <!-- 数据列表 --> | ||||||
|  |   <st | ||||||
|  |     #st | ||||||
|  |     [bordered]="true" | ||||||
|  |     [data]="data" | ||||||
|  |     [columns]="columns" | ||||||
|  |     [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||||
|  |     [res]="{ reName: { list: 'data.records', total: 'data.total' } }" | ||||||
|  |     [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" | ||||||
|  |     [loadingDelay]="500" | ||||||
|  |     [loading]="service.http.loading" | ||||||
|  |   > | ||||||
|  |   </st> | ||||||
| @ -0,0 +1,189 @@ | |||||||
|  | import { ModalHelper } from '@delon/theme'; | ||||||
|  | import { Component, OnInit, ViewChild } from '@angular/core'; | ||||||
|  | import { ActivatedRoute, Router } from '@angular/router'; | ||||||
|  | import { STColumn, STComponent, STData, STRequestOptions } from '@delon/abc/st'; | ||||||
|  | import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form'; | ||||||
|  | import { processSingleSort, ShipperBaseService } from '@shared'; | ||||||
|  | import { NzModalService } from 'ng-zorro-antd/modal'; | ||||||
|  | import { RebateManagementService } from '../../services/rebate-management.service'; | ||||||
|  |  | ||||||
|  | @Component({ | ||||||
|  |   selector: 'app-parter-channel-rebate-management-record-detail', | ||||||
|  |   templateUrl: './record-detail.component.html' | ||||||
|  | }) | ||||||
|  | export class ParterRebateManageMenRecordDetailComponent implements OnInit { | ||||||
|  |   schema: SFSchema = {}; | ||||||
|  |   columns!: STColumn[]; | ||||||
|  |   ui!: SFUISchema; | ||||||
|  |   @ViewChild('st', { static: false }) | ||||||
|  |   st!: STComponent; | ||||||
|  |   @ViewChild('sf', { static: false }) | ||||||
|  |   sf!: SFComponent; | ||||||
|  |   spuStatus = '1'; | ||||||
|  |   _$expand = false; | ||||||
|  |   data = [{ name1: 1111 }]; | ||||||
|  |   constructor( | ||||||
|  |     public router: Router, | ||||||
|  |     public ar: ActivatedRoute, | ||||||
|  |     public service: RebateManagementService, | ||||||
|  |     private modalService: NzModalService, | ||||||
|  |     public shipperservice: ShipperBaseService, | ||||||
|  |   ) {} | ||||||
|  |   /** | ||||||
|  |    * 查询字段个数 | ||||||
|  |    */ | ||||||
|  |   get queryFieldCount(): number { | ||||||
|  |     return Object.keys(this.schema?.properties || {}).length; | ||||||
|  |   } | ||||||
|  |     /** | ||||||
|  |   * 伸缩查询条件 | ||||||
|  |   */ | ||||||
|  |      expandToggle(): void { | ||||||
|  |       this._$expand = !this._$expand; | ||||||
|  |       this.sf?.setValue('/_$expand', this._$expand); | ||||||
|  |     } | ||||||
|  |   /** | ||||||
|  |  * 查询参数 | ||||||
|  |  */ | ||||||
|  |    get reqParams() { | ||||||
|  |     const params: any = Object.assign({}, this.sf?.value || {}); | ||||||
|  |     delete params._$expand; | ||||||
|  |     return {  | ||||||
|  |       ...params, | ||||||
|  |       deadlineTime: { | ||||||
|  |         start: this.sf?.value?.deadlineTime?.[0] || '', | ||||||
|  |         end: this.sf?.value?.deadlineTime?.[1] || '', | ||||||
|  |       }, | ||||||
|  |      }; | ||||||
|  |   } | ||||||
|  |   ngOnInit() { | ||||||
|  |     this.initSF(); | ||||||
|  |     this.initST(); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   initSF() { | ||||||
|  |     this.schema = { | ||||||
|  |       properties: { | ||||||
|  |         _$expand: { type: 'boolean', ui: { hidden: true } }, | ||||||
|  |         name: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '订单号' | ||||||
|  |         }, | ||||||
|  |         phone: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '付款单号' | ||||||
|  |         }, | ||||||
|  |         phone2: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '下单客户' | ||||||
|  |         }, | ||||||
|  |         enterpriseInfoId: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '网络货运人', | ||||||
|  |           ui: { | ||||||
|  |             widget: 'select', | ||||||
|  |             placeholder: '请选择', | ||||||
|  |             visibleIf: { | ||||||
|  |               _$expand: (value: boolean) => value | ||||||
|  |             }, | ||||||
|  |             allowClear: true, | ||||||
|  |             asyncData: () => this.shipperservice.getNetworkFreightForwarder() | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         phone3: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '合伙人名称', | ||||||
|  |           ui: { | ||||||
|  |             visibleIf: { | ||||||
|  |               _$expand: (value: boolean) => value | ||||||
|  |             }, | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         deadlineTime: { | ||||||
|  |           title: '时间范围', | ||||||
|  |           type: 'string', | ||||||
|  |           ui: { | ||||||
|  |             widget: 'date', | ||||||
|  |             mode: 'range', | ||||||
|  |             format: 'yyyy-MM-dd', | ||||||
|  |             visibleIf: { | ||||||
|  |               _$expand: (value: boolean) => value | ||||||
|  |             }, | ||||||
|  |             allowClear: true | ||||||
|  |           } as SFDateWidgetSchema | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }; | ||||||
|  |     this.ui = { | ||||||
|  |       '*': { | ||||||
|  |         spanLabelFixed: 140, | ||||||
|  |         grid: { span: 8, gutter: 4 } | ||||||
|  |       } | ||||||
|  |     }; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   initST() { | ||||||
|  |     this.columns = [ | ||||||
|  |       { | ||||||
|  |         title: '订单号', | ||||||
|  |         index: 'name1' | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         title: '订单金额(元)', | ||||||
|  |         index: 'name1' | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         title: '付款金额(元)', | ||||||
|  |         index: 'name1' | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         title: '预估返佣金额(元)', | ||||||
|  |         index: 'name1' | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         title: '附加费率', | ||||||
|  |         index: 'name1' | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         title: '下单客户', | ||||||
|  |         index: 'name1' | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         title: '网络货运人', | ||||||
|  |         index: 'name1' | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         title: '销售渠道', | ||||||
|  |         index: 'name1' | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         title: '合伙人名称', | ||||||
|  |         index: 'name1' | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         title: '合伙人等级', | ||||||
|  |         index: 'name1' | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         title: '管理费比例', | ||||||
|  |         index: 'name1' | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         title: '固定结算费率', | ||||||
|  |         index: 'name1' | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         title: '返佣时间', | ||||||
|  |         index: 'name1' | ||||||
|  |       } | ||||||
|  |     ]; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * 重置表单 | ||||||
|  |    */ | ||||||
|  |   resetSF() { | ||||||
|  |     this.sf.reset(); | ||||||
|  |     this.st.load(1); | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -43,7 +43,7 @@ export class SupplyManagementBulkComponent implements OnInit { | |||||||
|     private modal: NzModalService, |     private modal: NzModalService, | ||||||
|     private router: Router, |     private router: Router, | ||||||
|     public shipperservice: ShipperBaseService |     public shipperservice: ShipperBaseService | ||||||
|     ) { } |   ) { } | ||||||
|  |  | ||||||
|   ngOnInit(): void { |   ngOnInit(): void { | ||||||
|     this.initSF(); |     this.initSF(); | ||||||
| @ -54,9 +54,9 @@ export class SupplyManagementBulkComponent implements OnInit { | |||||||
|   /** |   /** | ||||||
|  * 查询参数 |  * 查询参数 | ||||||
|  */ |  */ | ||||||
|    get reqParams() { |   get reqParams() { | ||||||
|     const a:any = {}; |     const a: any = {}; | ||||||
|     if(this.resourceStatus) { |     if (this.resourceStatus) { | ||||||
|       a.resourceStatus = this.resourceStatus |       a.resourceStatus = this.resourceStatus | ||||||
|     } |     } | ||||||
|     const params: any = Object.assign({}, this.sf?.value || {}); |     const params: any = Object.assign({}, this.sf?.value || {}); | ||||||
| @ -72,7 +72,7 @@ export class SupplyManagementBulkComponent implements OnInit { | |||||||
|         start: this.sf?.value?.deadlineTime?.[0] || '', |         start: this.sf?.value?.deadlineTime?.[0] || '', | ||||||
|         end: this.sf?.value?.deadlineTime?.[1] || '', |         end: this.sf?.value?.deadlineTime?.[1] || '', | ||||||
|       }, |       }, | ||||||
|      }; |     }; | ||||||
|   } |   } | ||||||
|   search() { |   search() { | ||||||
|     this.st?.load(1); |     this.st?.load(1); | ||||||
| @ -110,9 +110,9 @@ export class SupplyManagementBulkComponent implements OnInit { | |||||||
|           default: '', |           default: '', | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             params: { dictKey: 'service:type' }, |             params: { dictKey: 'service:type' }, | ||||||
|             containAllLable:true, |             containAllLable: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value, |               _$expand: (value: boolean) => value, | ||||||
|             }, |             }, | ||||||
| @ -123,9 +123,9 @@ export class SupplyManagementBulkComponent implements OnInit { | |||||||
|           type: 'string', |           type: 'string', | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             params: { dictKey: 'goodresource:settlement:type' }, |             params: { dictKey: 'goodresource:settlement:type' }, | ||||||
|             containAllLable:true, |             containAllLable: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value, |               _$expand: (value: boolean) => value, | ||||||
|             }, |             }, | ||||||
| @ -186,7 +186,7 @@ export class SupplyManagementBulkComponent implements OnInit { | |||||||
|               console.log(q) |               console.log(q) | ||||||
|               if (!!q) { |               if (!!q) { | ||||||
|                 return this.service |                 return this.service | ||||||
|                   .request(this.service.$api_enterpriceList, { enterpriseName: q}) |                   .request(this.service.$api_enterpriceList, { enterpriseName: q }) | ||||||
|                   .pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum)))) |                   .pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum)))) | ||||||
|                   .toPromise(); |                   .toPromise(); | ||||||
|               } else { |               } else { | ||||||
| @ -204,24 +204,24 @@ export class SupplyManagementBulkComponent implements OnInit { | |||||||
|     this.freightSchema = { |     this.freightSchema = { | ||||||
|       properties: { |       properties: { | ||||||
|         remarks: { |         remarks: { | ||||||
|         title: '备注', |           title: '备注', | ||||||
|         type: 'string', |           type: 'string', | ||||||
|         maxLength: 50, |           maxLength: 50, | ||||||
|         ui: { |           ui: { | ||||||
|           placeholder: '请输入备注', |             placeholder: '请输入备注', | ||||||
|           widget: 'textarea', |             widget: 'textarea', | ||||||
|  |           }, | ||||||
|         }, |         }, | ||||||
|       }, |       } | ||||||
|     } |     }; | ||||||
|   }; |     this.ui2 = { '*': { spanLabelFixed: 120, grid: { span: 16 } } }; | ||||||
|   this.ui2 = { '*': { spanLabelFixed: 120, grid: { span: 16 } } }; |  | ||||||
|   } |   } | ||||||
|   /** |   /** | ||||||
|    * 初始化数据列表 |    * 初始化数据列表 | ||||||
|    */ |    */ | ||||||
|   initST() { |   initST() { | ||||||
|     this.columns = [ |     this.columns = [ | ||||||
|       { title: '', type: 'checkbox',   fixed: 'left', width: '50px', className: 'text-center' }, |       { title: '', type: 'checkbox', fixed: 'left', width: '50px', className: 'text-center' }, | ||||||
|       { |       { | ||||||
|         title: '货源编号', |         title: '货源编号', | ||||||
|         width: '200px', |         width: '200px', | ||||||
| @ -314,7 +314,7 @@ export class SupplyManagementBulkComponent implements OnInit { | |||||||
|           { |           { | ||||||
|             text: '修改单价', |             text: '修改单价', | ||||||
|             click: (_record) => this.modification(_record), |             click: (_record) => this.modification(_record), | ||||||
|             iif: item => item.resourceStatus == 1 , |             iif: item => item.resourceStatus == 1, | ||||||
|             acl: { ability: ['SUPPLY-INDEX-modificationUnitPrice'] }, |             acl: { ability: ['SUPPLY-INDEX-modificationUnitPrice'] }, | ||||||
|           }, |           }, | ||||||
|           { |           { | ||||||
| @ -389,86 +389,86 @@ export class SupplyManagementBulkComponent implements OnInit { | |||||||
|   tabChange(item: any) { |   tabChange(item: any) { | ||||||
|     console.log(item) |     console.log(item) | ||||||
|   } |   } | ||||||
|    /** |   /** | ||||||
|   * 审核 |  * 审核 | ||||||
|   * status : 1 单个  2:批量 |  * status : 1 单个  2:批量 | ||||||
|   * value : 单个单条数据 |  * value : 单个单条数据 | ||||||
|   */ |  */ | ||||||
|     audit(value: any, status?: any) { |   audit(value: any, status?: any) { | ||||||
|       console.log(value) |     console.log(value) | ||||||
|       console.log(status) |     console.log(status) | ||||||
|       if(status === 2) { |     if (status === 2) { | ||||||
|         if(this.selectedRows.length <= 0) { |       if (this.selectedRows.length <= 0) { | ||||||
|           this.service.msgSrv.error('未选择货源单!'); |         this.service.msgSrv.error('未选择货源单!'); | ||||||
|           return |         return | ||||||
|         } |  | ||||||
|         let list: any[] = []; |  | ||||||
|         this.selectedRows.forEach(item => { |  | ||||||
|           list.push(item.id); |  | ||||||
|         }); |  | ||||||
|         this.auditID = list; |  | ||||||
|         this.auditMany = true; |  | ||||||
|       } else { |  | ||||||
|         this.auditID = value.id |  | ||||||
|         this.auditMany = false; |  | ||||||
|       } |       } | ||||||
|       this.isVisible = true; |       let list: any[] = []; | ||||||
|  |       this.selectedRows.forEach(item => { | ||||||
|  |         list.push(item.id); | ||||||
|  |       }); | ||||||
|  |       this.auditID = list; | ||||||
|  |       this.auditMany = true; | ||||||
|  |     } else { | ||||||
|  |       this.auditID = value.id | ||||||
|  |       this.auditMany = false; | ||||||
|     } |     } | ||||||
|       /** |     this.isVisible = true; | ||||||
|   * 审核关闭弹窗 |   } | ||||||
|   */ |   /** | ||||||
|  | * 审核关闭弹窗 | ||||||
|  | */ | ||||||
|   handleCancel(type: any) { |   handleCancel(type: any) { | ||||||
|     this.isVisible = false |     this.isVisible = false | ||||||
|   } |   } | ||||||
|    /** |   /** | ||||||
|    * 代发货源 |   * 代发货源 | ||||||
|    */ |   */ | ||||||
|     releaseGoods() { |   releaseGoods() { | ||||||
|       this.router.navigate(['/supply-management/bulk-release']); |     this.router.navigate(['/supply-management/bulk-release']); | ||||||
|     } |   } | ||||||
|   /** |   /** | ||||||
|   * 审核通过按钮 |   * 审核通过按钮 | ||||||
|   */ |   */ | ||||||
|   handleOK(value: any) { |   handleOK(value: any) { | ||||||
|     if(this.selectedRows.length <= 0) {  |     if (this.selectedRows.length <= 0) { | ||||||
|     const params: any = { |       const params: any = { | ||||||
|       id: this.auditID, |         id: this.auditID, | ||||||
|       remarks: this.sfFre.value.remarks, |         remarks: this.sfFre.value.remarks, | ||||||
|     } |  | ||||||
|     if(value == 1) { |  | ||||||
|       params.auditStatus = 2 |  | ||||||
|     } else { |  | ||||||
|       params.auditStatus = 3 |  | ||||||
|     } |  | ||||||
|     console.log(params) |  | ||||||
|     this.service.request(this.service.$api_goodsResourceAudit, params).subscribe(res => { |  | ||||||
|       if (res === true) { |  | ||||||
|         this.service.msgSrv.success('审核成功!'); |  | ||||||
|         this.isVisible = false; |  | ||||||
|         this.st?.reload(); |  | ||||||
|         this.getGoodsSourceStatistical(); |  | ||||||
|       } |       } | ||||||
|     }) |       if (value == 1) { | ||||||
|   } else { |         params.auditStatus = 2 | ||||||
|     const params: any = { |       } else { | ||||||
|       ids: this.auditID, |         params.auditStatus = 3 | ||||||
|       remarks: this.sfFre.value.remarks, |  | ||||||
|     } |  | ||||||
|     if(value == 1) { |  | ||||||
|       params.auditStatus = 2 |  | ||||||
|     } else { |  | ||||||
|       params.auditStatus = 3 |  | ||||||
|     } |  | ||||||
|     console.log(params) |  | ||||||
|     this.service.request(this.service.$api_batchGoodsResourceAudit, params).subscribe(res => { |  | ||||||
|       if (res === true) { |  | ||||||
|         this.service.msgSrv.success('审核成功!'); |  | ||||||
|         this.isVisible = false; |  | ||||||
|         this.st?.reload(); |  | ||||||
|         this.getGoodsSourceStatistical(); |  | ||||||
|       } |       } | ||||||
|     }) |       console.log(params) | ||||||
|   } |       this.service.request(this.service.$api_goodsResourceAudit, params).subscribe(res => { | ||||||
|  |         if (res === true) { | ||||||
|  |           this.service.msgSrv.success('审核成功!'); | ||||||
|  |           this.isVisible = false; | ||||||
|  |           this.st?.reload(); | ||||||
|  |           this.getGoodsSourceStatistical(); | ||||||
|  |         } | ||||||
|  |       }) | ||||||
|  |     } else { | ||||||
|  |       const params: any = { | ||||||
|  |         ids: this.auditID, | ||||||
|  |         remarks: this.sfFre.value.remarks, | ||||||
|  |       } | ||||||
|  |       if (value == 1) { | ||||||
|  |         params.auditStatus = 2 | ||||||
|  |       } else { | ||||||
|  |         params.auditStatus = 3 | ||||||
|  |       } | ||||||
|  |       console.log(params) | ||||||
|  |       this.service.request(this.service.$api_batchGoodsResourceAudit, params).subscribe(res => { | ||||||
|  |         if (res === true) { | ||||||
|  |           this.service.msgSrv.success('审核成功!'); | ||||||
|  |           this.isVisible = false; | ||||||
|  |           this.st?.reload(); | ||||||
|  |           this.getGoodsSourceStatistical(); | ||||||
|  |         } | ||||||
|  |       }) | ||||||
|  |     } | ||||||
|   } |   } | ||||||
|   // 修改单价 |   // 修改单价 | ||||||
|   modification(item: any) { |   modification(item: any) { | ||||||
| @ -509,8 +509,8 @@ export class SupplyManagementBulkComponent implements OnInit { | |||||||
|       nzTitle: '<b>确定取消货源吗?</b>', |       nzTitle: '<b>确定取消货源吗?</b>', | ||||||
|       nzContent: `<b>取消后不可恢复,谨慎操作</b>`, |       nzContent: `<b>取消后不可恢复,谨慎操作</b>`, | ||||||
|       nzOnOk: () => |       nzOnOk: () => | ||||||
|         this.service.request(this.service.$api_cancelSource, {id: item.id}).subscribe((res) => { |         this.service.request(this.service.$api_cancelSource, { id: item.id }).subscribe((res) => { | ||||||
|           if(res) { |           if (res) { | ||||||
|             this.service.msgSrv.success('已取消货源!') |             this.service.msgSrv.success('已取消货源!') | ||||||
|             this.st?.reload(); |             this.st?.reload(); | ||||||
|             this.getGoodsSourceStatistical(); |             this.getGoodsSourceStatistical(); | ||||||
| @ -519,24 +519,24 @@ export class SupplyManagementBulkComponent implements OnInit { | |||||||
|     }) |     }) | ||||||
|  |  | ||||||
|   } |   } | ||||||
|     // 获取货源状态统计 |   // 获取货源状态统计 | ||||||
|     getGoodsSourceStatistical() { |   getGoodsSourceStatistical() { | ||||||
|       this.tabs = { |     this.tabs = { | ||||||
|         totalQuantity: 0, |       totalQuantity: 0, | ||||||
|         cancelQuantity: 0, |       cancelQuantity: 0, | ||||||
|         receivedQuantity: 0, |       receivedQuantity: 0, | ||||||
|         stayQuantity: 0 |       stayQuantity: 0 | ||||||
|       }; |     }; | ||||||
|       const params: any = Object.assign({}, this.reqParams || {}); |     const params: any = Object.assign({}, this.reqParams || {}); | ||||||
|       delete params.resourceStatus |     delete params.resourceStatus | ||||||
|       this.service.request(this.service.$api_get_goods_resource_statistical, { resourceType: 2, ...params }).subscribe(res => { |     this.service.request(this.service.$api_get_goods_resource_statistical, { resourceType: 2, ...params }).subscribe(res => { | ||||||
|         if (res) { |       if (res) { | ||||||
|           console.log(res) |         console.log(res) | ||||||
|           this.tabs = res; |         this.tabs = res; | ||||||
|         } |       } | ||||||
|       }) |     }) | ||||||
|     } |   } | ||||||
|     userAction() { |   userAction() { | ||||||
|  |  | ||||||
|     } |   } | ||||||
| } | } | ||||||
|  | |||||||
| @ -65,10 +65,10 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | |||||||
|     this.validateForm1 = fb.group({ |     this.validateForm1 = fb.group({ | ||||||
|       loadAddress0: [null, [Validators.required]], |       loadAddress0: [null, [Validators.required]], | ||||||
|       loadName0: [null, [Validators.required]], |       loadName0: [null, [Validators.required]], | ||||||
|       loadPhone0: [null, [Validators.required,Validators.pattern('^[0-9]*$')]], |       loadPhone0: [null, [Validators.required, Validators.pattern('^[0-9]*$')]], | ||||||
|       unloadAddress0: [null, [Validators.required]], |       unloadAddress0: [null, [Validators.required]], | ||||||
|       unloadName0: [null, [Validators.required]], |       unloadName0: [null, [Validators.required]], | ||||||
|       unloadPhone0: [null, [Validators.required,Validators.pattern('^[0-9]*$')]], |       unloadPhone0: [null, [Validators.required, Validators.pattern('^[0-9]*$')]], | ||||||
|       loadingTime: [null, []], |       loadingTime: [null, []], | ||||||
|       unloadingTime: [null, []] |       unloadingTime: [null, []] | ||||||
|     }); |     }); | ||||||
| @ -101,15 +101,15 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | |||||||
|   @ViewChild('sf7', { static: false }) sf7!: SFComponent; |   @ViewChild('sf7', { static: false }) sf7!: SFComponent; | ||||||
|   schema7: SFSchema = {}; |   schema7: SFSchema = {}; | ||||||
|   ui7!: SFUISchema; |   ui7!: SFUISchema; | ||||||
|   formatterRmb = (value: number): string =>{ |   formatterRmb = (value: number): string => { | ||||||
|     if(value){ |     if (value) { | ||||||
|       let  value2 = Number(value).toLocaleString(undefined,{'minimumFractionDigits':2,'maximumFractionDigits':2}); |       let value2 = Number(value).toLocaleString(undefined, { 'minimumFractionDigits': 2, 'maximumFractionDigits': 2 }); | ||||||
|       return `¥ ${value2}`; |       return `¥ ${value2}`; | ||||||
|     } |     } | ||||||
|     return `¥ 0.00` |     return `¥ 0.00` | ||||||
|  |  | ||||||
|   } ; |   }; | ||||||
|   parserRmb = (value: string): string => value.replace('¥ ', '').replace(',',''); |   parserRmb = (value: string): string => value.replace('¥ ', '').replace(',', ''); | ||||||
|   // 页面初始化 |   // 页面初始化 | ||||||
|   ngOnInit(): void { |   ngOnInit(): void { | ||||||
|     this.initSF1(); |     this.initSF1(); | ||||||
| @ -221,7 +221,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | |||||||
|           } as SFSelectWidgetSchema |           } as SFSelectWidgetSchema | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
|       required: ['shipperAppUserId', 'enterpriseProjectId', 'enterpriseInfoName', ] |       required: ['shipperAppUserId', 'enterpriseProjectId', 'enterpriseInfoName',] | ||||||
|     }; |     }; | ||||||
|     this.ui1 = { |     this.ui1 = { | ||||||
|       '*': { |       '*': { | ||||||
| @ -343,13 +343,13 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'select', |             widget: 'select', | ||||||
|             mode: 'multiple', |             mode: 'multiple', | ||||||
|             maxMultipleCount:3, |             maxMultipleCount: 3, | ||||||
|             placeholder: '请选择车型', |             placeholder: '请选择车型', | ||||||
|             errors: { required: '请选择车型' }, |             errors: { required: '请选择车型' }, | ||||||
|             asyncData: () => this.service.getDictOptions({ dictKey: 'car:model' }), |             asyncData: () => this.service.getDictOptions({ dictKey: 'car:model' }), | ||||||
|             change:(tag:any , org:any)=>{ |             change: (tag: any, org: any) => { | ||||||
|               if(tag.includes("999")){ |               if (tag.includes("999")) { | ||||||
|                 this.sf4.setValue('/carModel',["999"]); |                 this.sf4.setValue('/carModel', ["999"]); | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           } |           } | ||||||
| @ -360,13 +360,13 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'select', |             widget: 'select', | ||||||
|             mode: 'multiple', |             mode: 'multiple', | ||||||
|             maxMultipleCount:3, |             maxMultipleCount: 3, | ||||||
|             placeholder: '请选择车长', |             placeholder: '请选择车长', | ||||||
|             errors: { required: '请选择车长' }, |             errors: { required: '请选择车长' }, | ||||||
|             asyncData: () => this.service.getDictOptions({ dictKey: 'car:length' }), |             asyncData: () => this.service.getDictOptions({ dictKey: 'car:length' }), | ||||||
|             change:(tag:any , org:any)=>{ |             change: (tag: any, org: any) => { | ||||||
|               if(tag.includes("999")){ |               if (tag.includes("999")) { | ||||||
|                 this.sf4.setValue('/carModel',["999"]); |                 this.sf4.setValue('/carModel', ["999"]); | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           } |           } | ||||||
| @ -443,29 +443,29 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'select' |             widget: 'select' | ||||||
|           }, |           }, | ||||||
|           default:'0' |           default: '0' | ||||||
|         }, |         }, | ||||||
|         type1: { |         type1: { | ||||||
|           type: 'string', |           type: 'string', | ||||||
|           title: '', |           title: '', | ||||||
|           enum: ['车辆实时定位', '轨迹查询', '数据保护','赠送基本险'], |           enum: ['车辆实时定位', '轨迹查询', '数据保护', '赠送基本险'], | ||||||
|           readOnly: true, |           readOnly: true, | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'checkbox', |             widget: 'checkbox', | ||||||
|             visibleIf: {insuranceType: (value: string) => value ==='1'}, |             visibleIf: { insuranceType: (value: string) => value === '1' }, | ||||||
|           } as SFCheckboxWidgetSchema, |           } as SFCheckboxWidgetSchema, | ||||||
|           default: ['车辆实时定位', '轨迹查询', '数据保护','赠送基本险'], |           default: ['车辆实时定位', '轨迹查询', '数据保护', '赠送基本险'], | ||||||
|         }, |         }, | ||||||
|         type2: { |         type2: { | ||||||
|           type: 'string', |           type: 'string', | ||||||
|           title: '', |           title: '', | ||||||
|           enum: ['车辆实时定位', '轨迹查询', '数据保护','专属技术服务','赠送综合险'], |           enum: ['车辆实时定位', '轨迹查询', '数据保护', '专属技术服务', '赠送综合险'], | ||||||
|           readOnly: true, |           readOnly: true, | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'checkbox', |             widget: 'checkbox', | ||||||
|             visibleIf: {insuranceType: (value: string) => value ==='2'}, |             visibleIf: { insuranceType: (value: string) => value === '2' }, | ||||||
|           } as SFCheckboxWidgetSchema, |           } as SFCheckboxWidgetSchema, | ||||||
|           default: ['车辆实时定位', '轨迹查询', '数据保护','专属技术服务','赠送综合险'], |           default: ['车辆实时定位', '轨迹查询', '数据保护', '专属技术服务', '赠送综合险'], | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }; |     }; | ||||||
| @ -501,7 +501,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'receipt:type' }, |             params: { dictKey: 'receipt:type' }, | ||||||
|             containsAllLable: false, |             containsAllLabel: false, | ||||||
|             placeholder: '请选择', |             placeholder: '请选择', | ||||||
|             errors: { required: '请选择' }, |             errors: { required: '请选择' }, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
| @ -573,7 +573,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | |||||||
|           } as SFTextareaWidgetSchema |           } as SFTextareaWidgetSchema | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
|       required: ['stateReceipt', 'receiptType', 'receiptUserName','receiptUserPhone','receiptAddressArea','receiptAddress'] |       required: ['stateReceipt', 'receiptType', 'receiptUserName', 'receiptUserPhone', 'receiptAddressArea', 'receiptAddress'] | ||||||
|     }; |     }; | ||||||
|     this.ui6 = { |     this.ui6 = { | ||||||
|       '*': { |       '*': { | ||||||
| @ -589,19 +589,19 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | |||||||
|           type: 'number', |           type: 'number', | ||||||
|           title: '预付', |           title: '预付', | ||||||
|           default: 0, |           default: 0, | ||||||
|           ui: {widget: 'custom'} |           ui: { widget: 'custom' } | ||||||
|         }, |         }, | ||||||
|         toPay: { |         toPay: { | ||||||
|           type: 'number', |           type: 'number', | ||||||
|           title: '到付', |           title: '到付', | ||||||
|           default: 0, |           default: 0, | ||||||
|           ui: { widget: 'custom'} |           ui: { widget: 'custom' } | ||||||
|         }, |         }, | ||||||
|         receiptPay: { |         receiptPay: { | ||||||
|           type: 'number', |           type: 'number', | ||||||
|           title: '回单付', |           title: '回单付', | ||||||
|           default: 0, |           default: 0, | ||||||
|           ui: {widget: 'custom'} |           ui: { widget: 'custom' } | ||||||
|         }, |         }, | ||||||
|         subtotal: { type: 'number', title: '小计', default: 0, ui: { widget: 'custom' } as SFNumberWidgetSchema }, |         subtotal: { type: 'number', title: '小计', default: 0, ui: { widget: 'custom' } as SFNumberWidgetSchema }, | ||||||
|         appendFee: { type: 'number', title: '附加费', default: 0, ui: { widget: 'custom' } as SFNumberWidgetSchema }, |         appendFee: { type: 'number', title: '附加费', default: 0, ui: { widget: 'custom' } as SFNumberWidgetSchema }, | ||||||
| @ -651,12 +651,12 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | |||||||
|     const params = { |     const params = { | ||||||
|       shipperId: this.envCache?.enterpriseId, |       shipperId: this.envCache?.enterpriseId, | ||||||
|       enterpriseInfoId: this.envCache?.networkTransporterId, |       enterpriseInfoId: this.envCache?.networkTransporterId, | ||||||
|       totalFreight:subtotal, |       totalFreight: subtotal, | ||||||
|       fuelCardAmount:oilCardPay, |       fuelCardAmount: oilCardPay, | ||||||
|       resourcetype:'1' |       resourcetype: '1' | ||||||
|     } |     } | ||||||
|     this.service |     this.service | ||||||
|       .request(this.service.$api_getCalculatedSurcharge,params) |       .request(this.service.$api_getCalculatedSurcharge, params) | ||||||
|       .subscribe(res => { |       .subscribe(res => { | ||||||
|         if (res) { |         if (res) { | ||||||
|           this.sf7.setValue('/appendFee', res.surcharge); |           this.sf7.setValue('/appendFee', res.surcharge); | ||||||
| @ -818,7 +818,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | |||||||
|       ...this.sf6.value, |       ...this.sf6.value, | ||||||
|       expenseDTOList: expenseList, |       expenseDTOList: expenseList, | ||||||
|       paymentDays: this.sf7.value.paymentDays, |       paymentDays: this.sf7.value.paymentDays, | ||||||
|       insuranceType:this.sf55.value.insuranceType, |       insuranceType: this.sf55.value.insuranceType, | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
|     let reqUrl = this.service.$api_consignWhole; |     let reqUrl = this.service.$api_consignWhole; | ||||||
| @ -977,63 +977,63 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | |||||||
|   goBack() { |   goBack() { | ||||||
|     window.history.go(-1); |     window.history.go(-1); | ||||||
|   } |   } | ||||||
|     // 装卸货地址互换 |   // 装卸货地址互换 | ||||||
|     swapAddress(){ |   swapAddress() { | ||||||
|       this.startInfo.forEach((element:any, index:any) => { |     this.startInfo.forEach((element: any, index: any) => { | ||||||
|         this.validateForm1.removeControl(`loadAddress${index}`); |       this.validateForm1.removeControl(`loadAddress${index}`); | ||||||
|         this.validateForm1.removeControl(`loadName${index}`); |       this.validateForm1.removeControl(`loadName${index}`); | ||||||
|         this.validateForm1.removeControl(`loadPhone${index}`); |       this.validateForm1.removeControl(`loadPhone${index}`); | ||||||
|       }); |     }); | ||||||
|       this.endInfo.forEach((element:any, index:any) => { |     this.endInfo.forEach((element: any, index: any) => { | ||||||
|         this.validateForm1.removeControl(`unloadAddress${index}`); |       this.validateForm1.removeControl(`unloadAddress${index}`); | ||||||
|         this.validateForm1.removeControl(`unloadName${index}`); |       this.validateForm1.removeControl(`unloadName${index}`); | ||||||
|         this.validateForm1.removeControl(`unloadPhone${index}`); |       this.validateForm1.removeControl(`unloadPhone${index}`); | ||||||
|       }); |     }); | ||||||
|  |  | ||||||
|       let item = this.startInfo; |     let item = this.startInfo; | ||||||
|       this.startInfo = this.endInfo; |     this.startInfo = this.endInfo; | ||||||
|       this.endInfo = item; |     this.endInfo = item; | ||||||
|  |  | ||||||
|       this.startInfo.forEach((element:any,index:any) => { |     this.startInfo.forEach((element: any, index: any) => { | ||||||
|         element.type = '1'; |       element.type = '1'; | ||||||
|         this.validateForm1.addControl(`loadAddress${index}`, new FormControl(null, Validators.required)); |       this.validateForm1.addControl(`loadAddress${index}`, new FormControl(null, Validators.required)); | ||||||
|         this.validateForm1.addControl(`loadName${index}`, new FormControl(null, Validators.required)); |       this.validateForm1.addControl(`loadName${index}`, new FormControl(null, Validators.required)); | ||||||
|         this.validateForm1.addControl(`loadPhone${index}`, new FormControl(null, [Validators.required, Validators.pattern('^[0-9]*$')])); |       this.validateForm1.addControl(`loadPhone${index}`, new FormControl(null, [Validators.required, Validators.pattern('^[0-9]*$')])); | ||||||
|       }); |     }); | ||||||
|       this.endInfo.forEach((element:any,index:any) => { |     this.endInfo.forEach((element: any, index: any) => { | ||||||
|         element.type = '2'; |       element.type = '2'; | ||||||
|         this.validateForm1.addControl(`unloadAddress${index}`, new FormControl(null, Validators.required)); |       this.validateForm1.addControl(`unloadAddress${index}`, new FormControl(null, Validators.required)); | ||||||
|         this.validateForm1.addControl(`unloadName${index}`, new FormControl(null, Validators.required)); |       this.validateForm1.addControl(`unloadName${index}`, new FormControl(null, Validators.required)); | ||||||
|         this.validateForm1.addControl(`unloadPhone${index}`, new FormControl(null, [Validators.required, Validators.pattern('^[0-9]*$')])); |       this.validateForm1.addControl(`unloadPhone${index}`, new FormControl(null, [Validators.required, Validators.pattern('^[0-9]*$')])); | ||||||
|       }); |     }); | ||||||
|  |  | ||||||
|      // 计算里程,时间 |     // 计算里程,时间 | ||||||
|      if (this.startInfo[0]?.area && this.endInfo[0]?.area) { |     if (this.startInfo[0]?.area && this.endInfo[0]?.area) { | ||||||
|       this.amapService.drivingCompute([...this.startInfo], [...this.endInfo]).subscribe(res => { |       this.amapService.drivingCompute([...this.startInfo], [...this.endInfo]).subscribe(res => { | ||||||
|         this.totalDistance = res.distance; |         this.totalDistance = res.distance; | ||||||
|         this.totalTime = res.time; |         this.totalTime = res.time; | ||||||
|       }); |       }); | ||||||
|     } |     } | ||||||
|     } |   } | ||||||
|     goodsValuesChange(value: any) { |   goodsValuesChange(value: any) { | ||||||
|       console.log(value); |     console.log(value); | ||||||
|       console.log(this.totalDistance); |     console.log(this.totalDistance); | ||||||
|  |  | ||||||
|       if(value >= 50000 && this.totalDistance > 0){ |     if (value >= 50000 && this.totalDistance > 0) { | ||||||
|         const params = { |       const params = { | ||||||
|           goodsValue: value, |         goodsValue: value, | ||||||
|           insuranceType: this.sf55.value.insuranceType, |         insuranceType: this.sf55.value.insuranceType, | ||||||
|           km: this.totalDistance |         km: this.totalDistance | ||||||
|         }; |       }; | ||||||
|         this.service |       this.service | ||||||
|           .request(this.service.$api_getWholeInsuranceInfo, params) |         .request(this.service.$api_getWholeInsuranceInfo, params) | ||||||
|           .subscribe(res => { |         .subscribe(res => { | ||||||
|             if (res) { |           if (res) { | ||||||
|               this.sf5.setValue('/insurancePremium',res.insurancePremium); |             this.sf5.setValue('/insurancePremium', res.insurancePremium); | ||||||
|             }else{ |           } else { | ||||||
|               this.sf5.setValue('/insurancePremium',null); |             this.sf5.setValue('/insurancePremium', null); | ||||||
|             } |           } | ||||||
|         }); |         }); | ||||||
|       } |  | ||||||
|     } |     } | ||||||
|  |   } | ||||||
| } | } | ||||||
|  | |||||||
| @ -44,7 +44,7 @@ export class SupplyManagementVehicleComponent implements OnInit { | |||||||
|     private router: Router, |     private router: Router, | ||||||
|     private ar: ActivatedRoute, |     private ar: ActivatedRoute, | ||||||
|     public shipperSrv: ShipperBaseService |     public shipperSrv: ShipperBaseService | ||||||
|   ) {} |   ) { } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * 查询参数 |    * 查询参数 | ||||||
| @ -147,7 +147,7 @@ export class SupplyManagementVehicleComponent implements OnInit { | |||||||
|   /** |   /** | ||||||
|    * 导入货源 |    * 导入货源 | ||||||
|    */ |    */ | ||||||
|   importGoodsSource() {} |   importGoodsSource() { } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * 修改运费 |    * 修改运费 | ||||||
| @ -382,7 +382,7 @@ export class SupplyManagementVehicleComponent implements OnInit { | |||||||
|         //       _$expand: (value: boolean) => value |         //       _$expand: (value: boolean) => value | ||||||
|         //     }, |         //     }, | ||||||
|         //     allowClear: true, |         //     allowClear: true, | ||||||
|         //     containsAllLable: true, |         //     containsAllLabel: true, | ||||||
|         //     asyncData: () => this.shipperSrv.getEnterpriseProject(this.sf.value?.shipperAppUserId) |         //     asyncData: () => this.shipperSrv.getEnterpriseProject(this.sf.value?.shipperAppUserId) | ||||||
|         //   } as SFSelectWidgetSchema |         //   } as SFSelectWidgetSchema | ||||||
|         // }, |         // }, | ||||||
| @ -402,7 +402,7 @@ export class SupplyManagementVehicleComponent implements OnInit { | |||||||
|           type: 'string', |           type: 'string', | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             params: { dictKey: 'service:type' }, |             params: { dictKey: 'service:type' }, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value |               _$expand: (value: boolean) => value | ||||||
| @ -416,7 +416,7 @@ export class SupplyManagementVehicleComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             allowClear: true, |             allowClear: true, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             params: { dictKey: 'goodresource:audit:status' }, |             params: { dictKey: 'goodresource:audit:status' }, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value |               _$expand: (value: boolean) => value | ||||||
|  | |||||||
| @ -4,13 +4,14 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2021-12-20 10:13:02 |  * @Date         : 2021-12-20 10:13:02 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-01-18 17:26:40 |  * @LastEditTime : 2022-03-09 14:53:50 | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\supply-management\\supply-management.module.ts |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\supply-management\\supply-management.module.ts | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| import { NgModule, Type } from '@angular/core'; | import { NgModule, Type } from '@angular/core'; | ||||||
| import { SharedModule } from '@shared'; | import { SharedModule } from '@shared'; | ||||||
|  | import { ParterRebateManageMenRecordDetailComponent } from '../partner/rebate-management/model/record-detail/record-detail.component'; | ||||||
| import { CarAddDriverComponent } from './components/add-driver/add-driver.component'; | import { CarAddDriverComponent } from './components/add-driver/add-driver.component'; | ||||||
| import { SupplyManagementAddDriversComponent } from './components/add-drivers/add-drivers.component'; | import { SupplyManagementAddDriversComponent } from './components/add-drivers/add-drivers.component'; | ||||||
| import { CarAddmodalComponent } from './components/addmodal/addmodal.component'; | import { CarAddmodalComponent } from './components/addmodal/addmodal.component'; | ||||||
| @ -61,7 +62,8 @@ const COMPONENTS: Type<void>[] = [ | |||||||
|   SupplyManagementReleasePublishComponent, |   SupplyManagementReleasePublishComponent, | ||||||
|   SupplyManagementBulkReleasePublishComponent, |   SupplyManagementBulkReleasePublishComponent, | ||||||
|   TranAgreementComponent, |   TranAgreementComponent, | ||||||
|   SupplyManagementBulkAssignedCarComponent |   SupplyManagementBulkAssignedCarComponent, | ||||||
|  |   ParterRebateManageMenRecordDetailComponent | ||||||
| ]; | ]; | ||||||
|  |  | ||||||
| @NgModule({ | @NgModule({ | ||||||
|  | |||||||
| @ -30,9 +30,9 @@ export class CancellationInvoiceComponent implements OnInit { | |||||||
|   totalCallNo = 0; |   totalCallNo = 0; | ||||||
|  |  | ||||||
|   openInfo: any = { invoicedate: null, invoiceno: null }; |   openInfo: any = { invoicedate: null, invoiceno: null }; | ||||||
|   constructor(public service: TicketService, private nzModalService: NzModalService, private router: Router) {} |   constructor(public service: TicketService, private nzModalService: NzModalService, private router: Router) { } | ||||||
|  |  | ||||||
|   ngOnInit(): void {} |   ngOnInit(): void { } | ||||||
|  |  | ||||||
|   beforeReq = (requestOptions: STRequestOptions) => { |   beforeReq = (requestOptions: STRequestOptions) => { | ||||||
|     if (this.sf) { |     if (this.sf) { | ||||||
| @ -113,7 +113,7 @@ export class CancellationInvoiceComponent implements OnInit { | |||||||
|     this.nzModalService.warning({ |     this.nzModalService.warning({ | ||||||
|       nzTitle: '确定将所选待处理开票申请推送开票?', |       nzTitle: '确定将所选待处理开票申请推送开票?', | ||||||
|       nzContent: '推送开票后发票信息不可修改,待系统开票完成后会自动返回开票结果', |       nzContent: '推送开票后发票信息不可修改,待系统开票完成后会自动返回开票结果', | ||||||
|       nzOnOk: () => {} |       nzOnOk: () => { } | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @ -130,7 +130,7 @@ export class CancellationInvoiceComponent implements OnInit { | |||||||
|     this.nzModalService.warning({ |     this.nzModalService.warning({ | ||||||
|       nzTitle: '确定将所选待确认开票申请撤回?', |       nzTitle: '确定将所选待确认开票申请撤回?', | ||||||
|       nzContent: '提交税控后发票信息不可修改,待税控开票完成后返回开票结果', |       nzContent: '提交税控后发票信息不可修改,待税控开票完成后返回开票结果', | ||||||
|       nzOnOk: () => {} |       nzOnOk: () => { } | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @ -147,7 +147,7 @@ export class CancellationInvoiceComponent implements OnInit { | |||||||
|     this.nzModalService.warning({ |     this.nzModalService.warning({ | ||||||
|       nzTitle: '确定将所选待确认开票申请撤回?', |       nzTitle: '确定将所选待确认开票申请撤回?', | ||||||
|       nzContent: '提交税控后发票信息不可修改,待税控开票完成后返回开票结果', |       nzContent: '提交税控后发票信息不可修改,待税控开票完成后返回开票结果', | ||||||
|       nzOnOk: () => {} |       nzOnOk: () => { } | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @ -232,7 +232,7 @@ export class CancellationInvoiceComponent implements OnInit { | |||||||
|           type: 'string', |           type: 'string', | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             params: { dictKey: 'vatinv:status' }, |             params: { dictKey: 'vatinv:status' }, | ||||||
|             containAllLable: true, |             containAllLable: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|  | |||||||
| @ -22,7 +22,7 @@ export class VehicleComponentsAuditComponent implements OnInit { | |||||||
|   @ViewChild('st', { static: false }) st!: STComponent; |   @ViewChild('st', { static: false }) st!: STComponent; | ||||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; |   @ViewChild('sf', { static: false }) sf!: SFComponent; | ||||||
|  |  | ||||||
|   constructor(public service: VehicleService, private modal: NzModalService, private router: Router, private ar: ActivatedRoute, private modalHelper: ModalHelper) {} |   constructor(public service: VehicleService, private modal: NzModalService, private router: Router, private ar: ActivatedRoute, private modalHelper: ModalHelper) { } | ||||||
|   /** |   /** | ||||||
|    * 查询字段个数navigate |    * 查询字段个数navigate | ||||||
|    */ |    */ | ||||||
| @ -34,12 +34,12 @@ export class VehicleComponentsAuditComponent implements OnInit { | |||||||
|    * 查询参数 |    * 查询参数 | ||||||
|    */ |    */ | ||||||
|   get reqParams() { |   get reqParams() { | ||||||
|     const a:any = {}; |     const a: any = {}; | ||||||
|     if(this.resourceStatus === 1) { |     if (this.resourceStatus === 1) { | ||||||
|       a.approvalStatus = 10 |       a.approvalStatus = 10 | ||||||
|     } else if(this.resourceStatus === 2) { |     } else if (this.resourceStatus === 2) { | ||||||
|       a.approvalStatus = 20 |       a.approvalStatus = 20 | ||||||
|     } else if(this.resourceStatus === 3) { |     } else if (this.resourceStatus === 3) { | ||||||
|       a.approvalStatus = 30 |       a.approvalStatus = 30 | ||||||
|     } |     } | ||||||
|     return { |     return { | ||||||
| @ -106,7 +106,7 @@ export class VehicleComponentsAuditComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'car:color' }, |             params: { dictKey: 'car:color' }, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         isSelf: { |         isSelf: { | ||||||
| @ -157,17 +157,17 @@ export class VehicleComponentsAuditComponent implements OnInit { | |||||||
|   initST() { |   initST() { | ||||||
|     this.columns = [ |     this.columns = [ | ||||||
|       // { title: '', type: 'checkbox', className: 'text-center' }, |       // { title: '', type: 'checkbox', className: 'text-center' }, | ||||||
|       { title: '车牌号',  width:'180px', className: 'text-center', index: 'carNo' }, |       { title: '车牌号', width: '180px', className: 'text-center', index: 'carNo' }, | ||||||
|       { title: '车牌颜色',  width:'180px', className: 'text-center', index: 'carNoColorLabel' }, |       { title: '车牌颜色', width: '180px', className: 'text-center', index: 'carNoColorLabel' }, | ||||||
|       { title: '车型-车长-载重',   width:'180px',className: 'text-center', render: 'carLength' }, |       { title: '车型-车长-载重', width: '180px', className: 'text-center', render: 'carLength' }, | ||||||
|       { title: '是否挂靠',  width:'180px', className: 'text-center', render: 'isSelf' }, |       { title: '是否挂靠', width: '180px', className: 'text-center', render: 'isSelf' }, | ||||||
|       { title: '所有人',  width:'180px', className: 'text-center', index: 'carOwner' }, |       { title: '所有人', width: '180px', className: 'text-center', index: 'carOwner' }, | ||||||
|       { title: '录入人员',  width:'180px', className: 'text-center', index: 'saveUser', }, |       { title: '录入人员', width: '180px', className: 'text-center', index: 'saveUser', }, | ||||||
|       { |       { | ||||||
|         title: '审核状态', |         title: '审核状态', | ||||||
|         className: 'text-center', |         className: 'text-center', | ||||||
|         index: 'approvalStatus', |         index: 'approvalStatus', | ||||||
|         width:'180px', |         width: '180px', | ||||||
|         type: 'badge', |         type: 'badge', | ||||||
|         badge: { |         badge: { | ||||||
|           '-1': { text: '未上传', color: 'default' }, |           '-1': { text: '未上传', color: 'default' }, | ||||||
| @ -179,7 +179,7 @@ export class VehicleComponentsAuditComponent implements OnInit { | |||||||
|           40: { text: '证件过期', color: 'error' }, |           40: { text: '证件过期', color: 'error' }, | ||||||
|         }, |         }, | ||||||
|       }, |       }, | ||||||
|       { title: '申请时间',  width:'180px', className: 'text-center', index: 'createTime' }, |       { title: '申请时间', width: '180px', className: 'text-center', index: 'createTime' }, | ||||||
|       { |       { | ||||||
|         title: '操作', |         title: '操作', | ||||||
|         fixed: 'right', |         fixed: 'right', | ||||||
| @ -190,7 +190,7 @@ export class VehicleComponentsAuditComponent implements OnInit { | |||||||
|             text: '查看', |             text: '查看', | ||||||
|             acl: { ability: ['VEHICLE-AUDIT-view'] }, |             acl: { ability: ['VEHICLE-AUDIT-view'] }, | ||||||
|             click: (item) => { |             click: (item) => { | ||||||
|               this.router.navigate(['./detail', item.id], { relativeTo: this.ar,queryParams: { carId: item.carId } }); |               this.router.navigate(['./detail', item.id], { relativeTo: this.ar, queryParams: { carId: item.carId } }); | ||||||
|               // this.router.navigate(['./view', item.id], { relativeTo: this.ar, queryParams: { tenantId: item.tenantId } }); |               // this.router.navigate(['./view', item.id], { relativeTo: this.ar, queryParams: { tenantId: item.tenantId } }); | ||||||
|             }, |             }, | ||||||
|           }, |           }, | ||||||
| @ -224,13 +224,13 @@ export class VehicleComponentsAuditComponent implements OnInit { | |||||||
|   } |   } | ||||||
|   // 导出 |   // 导出 | ||||||
|   exportFire() { |   exportFire() { | ||||||
|     this.service.downloadFile(this.service.$api_carLicenseAudit_export,  this.reqParams ); |     this.service.downloadFile(this.service.$api_carLicenseAudit_export, this.reqParams); | ||||||
|   } |   } | ||||||
|   addModal() { |   addModal() { | ||||||
|     const i = { |     const i = { | ||||||
|       appUserId: '', |       appUserId: '', | ||||||
|     } |     } | ||||||
|     this.modalHelper.create(CarSettleCarauthComponent, {i}, { size: 900 }).subscribe((res) => { |     this.modalHelper.create(CarSettleCarauthComponent, { i }, { size: 900 }).subscribe((res) => { | ||||||
|       this.st.load() |       this.st.load() | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -19,7 +19,7 @@ export class VehicleComponentsListComponent implements OnInit { | |||||||
|   @ViewChild('st', { static: false }) st!: STComponent; |   @ViewChild('st', { static: false }) st!: STComponent; | ||||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; |   @ViewChild('sf', { static: false }) sf!: SFComponent; | ||||||
|  |  | ||||||
|   constructor(public service: VehicleService, private modal: NzModalService, private router: Router, private ar: ActivatedRoute) {} |   constructor(public service: VehicleService, private modal: NzModalService, private router: Router, private ar: ActivatedRoute) { } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * 查询参数 |    * 查询参数 | ||||||
| @ -87,7 +87,7 @@ export class VehicleComponentsListComponent implements OnInit { | |||||||
|           title: '车牌颜色', |           title: '车牌颜色', | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             params: { dictKey: 'car:color' } |             params: { dictKey: 'car:color' } | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
| @ -109,7 +109,7 @@ export class VehicleComponentsListComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'car:model' }, |             params: { dictKey: 'car:model' }, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               expand: (value: boolean) => value |               expand: (value: boolean) => value | ||||||
|             } |             } | ||||||
| @ -121,7 +121,7 @@ export class VehicleComponentsListComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'car:length' }, |             params: { dictKey: 'car:length' }, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               expand: (value: boolean) => value |               expand: (value: boolean) => value | ||||||
|             } |             } | ||||||
|  | |||||||
| @ -24,55 +24,57 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit { | |||||||
|   addSchema: SFSchema = {}; |   addSchema: SFSchema = {}; | ||||||
|   _$expand = false; |   _$expand = false; | ||||||
|   editText = ''; |   editText = ''; | ||||||
|   formData :any; |   formData: any; | ||||||
|   isVisible = false; |   isVisible = false; | ||||||
|   edit = false; |   edit = false; | ||||||
|   editId = false; |   editId = false; | ||||||
|   selectedIndex = 0; |   selectedIndex = 0; | ||||||
|  |  | ||||||
|   columns: STColumn[] = [ |   columns: STColumn[] = [ | ||||||
|     { title: '异常编号', index: 'exceptionCode',width: '180px',className: 'text-left', }, |     { title: '异常编号', index: 'exceptionCode', width: '180px', className: 'text-left', }, | ||||||
|     { title: '关联运单号', index: 'wayBillCode',width: '180px',className: 'text-left', }, |     { title: '关联运单号', index: 'wayBillCode', width: '180px', className: 'text-left', }, | ||||||
|     { title: '网络货运人', index: 'enterpriseInfoName',width: '220px',className: 'text-left', }, |     { title: '网络货运人', index: 'enterpriseInfoName', width: '220px', className: 'text-left', }, | ||||||
|     { title: '货主', index: 'shipperAppUserName' ,width: '220px',className: 'text-left',}, |     { title: '货主', index: 'shipperAppUserName', width: '220px', className: 'text-left', }, | ||||||
|     { title: '装货地', index: 'loadingAddressArr' ,width: '220px',className: 'text-left',}, |     { title: '装货地', index: 'loadingAddressArr', width: '220px', className: 'text-left', }, | ||||||
|     { title: '卸货地', index: 'unloadingAddressArr' ,width: '220px',className: 'text-left',}, |     { title: '卸货地', index: 'unloadingAddressArr', width: '220px', className: 'text-left', }, | ||||||
|     { title: '承运司机', index: 'driver' ,width: '250px',className: 'text-left',}, |     { title: '承运司机', index: 'driver', width: '250px', className: 'text-left', }, | ||||||
|     { title: '异常信息', index: 'exceptionContent',width: '250px',className: 'text-left', }, |     { title: '异常信息', index: 'exceptionContent', width: '250px', className: 'text-left', }, | ||||||
|     { title: '异常图片', render: 'exceptionCertificateFirstFilePath' ,width: '200px',className: 'text-left',}, |     { title: '异常图片', render: 'exceptionCertificateFirstFilePath', width: '200px', className: 'text-left', }, | ||||||
|     { title: '上报时间', index: 'createTime',width: '180px' ,className: 'text-left',}, |     { title: '上报时间', index: 'createTime', width: '180px', className: 'text-left', }, | ||||||
|   ]; |   ]; | ||||||
|   columns2: STColumn[] = [ |   columns2: STColumn[] = [ | ||||||
|     { title: '异常编号', index: 'exceptionCode',width: '180px',className: 'text-left' }, |     { title: '异常编号', index: 'exceptionCode', width: '180px', className: 'text-left' }, | ||||||
|     { title: '关联运单号', index: 'wayBillCode',width: '180px' ,className: 'text-left'}, |     { title: '关联运单号', index: 'wayBillCode', width: '180px', className: 'text-left' }, | ||||||
|     { title: '网络货运人', index: 'enterpriseInfoName',width: '180px',className: 'text-left' }, |     { title: '网络货运人', index: 'enterpriseInfoName', width: '180px', className: 'text-left' }, | ||||||
|     { title: '货主', index: 'shipperAppUserName' ,width: '180px',className: 'text-left'}, |     { title: '货主', index: 'shipperAppUserName', width: '180px', className: 'text-left' }, | ||||||
|     { title: '装货地', index: 'loadingPlace' ,width: '180px',className: 'text-left'}, |     { title: '装货地', index: 'loadingPlace', width: '180px', className: 'text-left' }, | ||||||
|     { title: '卸货地', index: 'dischargePlace' ,width: '180px',className: 'text-left'}, |     { title: '卸货地', index: 'dischargePlace', width: '180px', className: 'text-left' }, | ||||||
|     { title: '承运司机', index: 'driver' ,width: '90px',className: 'text-left'}, |     { title: '承运司机', index: 'driver', width: '90px', className: 'text-left' }, | ||||||
|     { title: '异常信息', index: 'exceptionContent',width: '250px' ,className: 'text-left'}, |     { title: '异常信息', index: 'exceptionContent', width: '250px', className: 'text-left' }, | ||||||
|     { title: '异常图片', render: 'exceptionCertificateFirstFilePath' ,width: '220px',className: 'text-left'}, |     { title: '异常图片', render: 'exceptionCertificateFirstFilePath', width: '220px', className: 'text-left' }, | ||||||
|     { title: '上报时间', index: 'reportingTime',width: '180px' ,className: 'text-left'}, |     { title: '上报时间', index: 'reportingTime', width: '180px', className: 'text-left' }, | ||||||
|     { title: '回复内容', index: 'replyContent',width: '180px' ,className: 'text-left'}, |     { title: '回复内容', index: 'replyContent', width: '180px', className: 'text-left' }, | ||||||
|     { title: '回复人', index: 'replyAppUserName',width: '180px' ,className: 'text-left'}, |     { title: '回复人', index: 'replyAppUserName', width: '180px', className: 'text-left' }, | ||||||
|     { title: '回复时间', index: 'replyTime',width: '180px' ,className: 'text-left'}, |     { title: '回复时间', index: 'replyTime', width: '180px', className: 'text-left' }, | ||||||
|   ]; |   ]; | ||||||
|  |  | ||||||
|   get reqParams (){  |   get reqParams() { | ||||||
|     return { |     return { | ||||||
|     ...this.sf?.value, |       ...this.sf?.value, | ||||||
|   }}; |     } | ||||||
|   get reqParams2 (){  |   }; | ||||||
|  |   get reqParams2() { | ||||||
|     return { |     return { | ||||||
|     ...this.sf?.value, |       ...this.sf?.value, | ||||||
|   }}; |     } | ||||||
|  |   }; | ||||||
|  |  | ||||||
|   constructor( |   constructor( | ||||||
|     public service: WaybillManagementServe, |     public service: WaybillManagementServe, | ||||||
|     private nzModalService: NzModalService, |     private nzModalService: NzModalService, | ||||||
|     public shipperSrv: ShipperBaseService |     public shipperSrv: ShipperBaseService | ||||||
|  |  | ||||||
|      ) {} |   ) { } | ||||||
|  |  | ||||||
|   ngOnInit(): void { |   ngOnInit(): void { | ||||||
|     this.initSF() |     this.initSF() | ||||||
| @ -82,131 +84,131 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit { | |||||||
|   * 伸缩查询条件 |   * 伸缩查询条件 | ||||||
|   */ |   */ | ||||||
|   expandToggle(): void { |   expandToggle(): void { | ||||||
|       this._$expand = !this._$expand; |     this._$expand = !this._$expand; | ||||||
|       this.sf?.setValue('/_$expand', this._$expand); |     this.sf?.setValue('/_$expand', this._$expand); | ||||||
|   } |   } | ||||||
|     /** |   /** | ||||||
|    * 查询字段个数 |  * 查询字段个数 | ||||||
|    */ |  */ | ||||||
|   get queryFieldCount(): number { |   get queryFieldCount(): number { | ||||||
|       return Object.keys(this.schema?.properties || {}).length; |     return Object.keys(this.schema?.properties || {}).length; | ||||||
|   } |   } | ||||||
|   initSF(){ |   initSF() { | ||||||
|   this.schema = { |     this.schema = { | ||||||
|     properties: { |       properties: { | ||||||
|       _$expand: { type: 'boolean', ui: { hidden: true } }, |         _$expand: { type: 'boolean', ui: { hidden: true } }, | ||||||
|       exceptionCode: { |         exceptionCode: { | ||||||
|         type: 'string', |           type: 'string', | ||||||
|         title: '异常编号', |           title: '异常编号', | ||||||
|         ui: { placeholder: '请输入' } |           ui: { placeholder: '请输入' } | ||||||
|       }, |         }, | ||||||
|       wayBillCode: { |         wayBillCode: { | ||||||
|         type: 'string', |           type: 'string', | ||||||
|         title: '运单号', |           title: '运单号', | ||||||
|         ui: { placeholder: '请输入' } |           ui: { placeholder: '请输入' } | ||||||
|       }, |         }, | ||||||
|       exceptionType: { |         exceptionType: { | ||||||
|         title: '异常类型', |           title: '异常类型', | ||||||
|         type: 'string', |           type: 'string', | ||||||
|         ui: { |           ui: { | ||||||
|           widget: 'dict-select', |             widget: 'dict-select', | ||||||
|           containsAllLable: true, |             containsAllLabel: true, | ||||||
|           params: { dictKey: 'exception:report:type' }, |             params: { dictKey: 'exception:report:type' }, | ||||||
|         } as SFSelectWidgetSchema |           } as SFSelectWidgetSchema | ||||||
|       }, |         }, | ||||||
|       shipperAppUserId: { |         shipperAppUserId: { | ||||||
|         type: 'string', |           type: 'string', | ||||||
|         title: '货主', |           title: '货主', | ||||||
|         ui: { |           ui: { | ||||||
|           widget: 'select', |             widget: 'select', | ||||||
|           serverSearch: true, |             serverSearch: true, | ||||||
|           searchDebounceTime: 300, |             searchDebounceTime: 300, | ||||||
|           searchLoadingText: '搜索中...', |             searchLoadingText: '搜索中...', | ||||||
|           allowClear: true, |             allowClear: true, | ||||||
|           onSearch: (q: any) => { |             onSearch: (q: any) => { | ||||||
|             console.log(q) |               console.log(q) | ||||||
|             if (!!q) { |               if (!!q) { | ||||||
|               return this.service |                 return this.service | ||||||
|                 .request(this.service.$api_enterpriceList, { enterpriseName: q}) |                   .request(this.service.$api_enterpriceList, { enterpriseName: q }) | ||||||
|                 .pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum)))) |                   .pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum)))) | ||||||
|                 .toPromise(); |                   .toPromise(); | ||||||
|             } else { |               } else { | ||||||
|               return of([]); |                 return of([]); | ||||||
|  |               } | ||||||
|  |             }, | ||||||
|  |             change: (q: any) => { | ||||||
|  |               this.getRegionCode(q); | ||||||
|  |             }, | ||||||
|  |             visibleIf: { | ||||||
|  |               _$expand: (value: boolean) => value, | ||||||
|  |             }, | ||||||
|  |           } as SFSelectWidgetSchema, | ||||||
|  |         }, | ||||||
|  |         enterpriseProjectId: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '所属项目', | ||||||
|  |           ui: { | ||||||
|  |             widget: 'select', | ||||||
|  |             placeholder: '请选择', | ||||||
|  |             visibleIf: { | ||||||
|  |               _$expand: (value: boolean) => value | ||||||
|  |             }, | ||||||
|  |           } as SFSelectWidgetSchema | ||||||
|  |         }, | ||||||
|  |         driverName: { | ||||||
|  |           title: '承运司机', | ||||||
|  |           type: 'string', | ||||||
|  |           ui: { | ||||||
|  |             visibleIf: { | ||||||
|  |               _$expand: (value: boolean) => value | ||||||
|             } |             } | ||||||
|           }, |  | ||||||
|           change: (q: any) => { |  | ||||||
|             this.getRegionCode(q); |  | ||||||
|           }, |  | ||||||
|           visibleIf: { |  | ||||||
|             _$expand: (value: boolean) => value, |  | ||||||
|           }, |  | ||||||
|         } as SFSelectWidgetSchema, |  | ||||||
|       }, |  | ||||||
|       enterpriseProjectId: { |  | ||||||
|         type: 'string', |  | ||||||
|         title: '所属项目', |  | ||||||
|         ui: { |  | ||||||
|           widget: 'select', |  | ||||||
|           placeholder: '请选择', |  | ||||||
|           visibleIf: { |  | ||||||
|             _$expand: (value: boolean) => value |  | ||||||
|           }, |  | ||||||
|         } as SFSelectWidgetSchema |  | ||||||
|       }, |  | ||||||
|       driverName: { |  | ||||||
|         title: '承运司机', |  | ||||||
|         type: 'string', |  | ||||||
|         ui: { |  | ||||||
|           visibleIf: { |  | ||||||
|             _$expand: (value: boolean) => value |  | ||||||
|           } |           } | ||||||
|  |         }, | ||||||
|  |         carNo: { | ||||||
|  |           title: '车牌号', | ||||||
|  |           type: 'string', | ||||||
|  |           ui: { | ||||||
|  |             visibleIf: { | ||||||
|  |               _$expand: (value: boolean) => value | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         reportingTime: { | ||||||
|  |           title: '上报时间', | ||||||
|  |           type: 'string', | ||||||
|  |           ui: { | ||||||
|  |             widget: 'date', | ||||||
|  |             mode: 'range', | ||||||
|  |             format: 'yyyy-MM-dd', | ||||||
|  |             visibleIf: { | ||||||
|  |               _$expand: (value: boolean) => value | ||||||
|  |             } | ||||||
|  |           } as SFDateWidgetSchema | ||||||
|  |         }, | ||||||
|  |         enterpriseInfoId: { | ||||||
|  |           type: 'string', | ||||||
|  |           title: '网络货运人', | ||||||
|  |           ui: { | ||||||
|  |             widget: 'select', | ||||||
|  |             placeholder: '请选择', | ||||||
|  |             visibleIf: { | ||||||
|  |               _$expand: (value: boolean) => value, | ||||||
|  |             }, | ||||||
|  |             allowClear: true, | ||||||
|  |             asyncData: () => this.shipperSrv.getNetworkFreightForwarder(), | ||||||
|  |           }, | ||||||
|         } |         } | ||||||
|       }, |       } | ||||||
|       carNo: { |     }; | ||||||
|         title: '车牌号', |     this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } }; | ||||||
|         type: 'string', |  | ||||||
|         ui: { |  | ||||||
|           visibleIf: { |  | ||||||
|             _$expand: (value: boolean) => value |  | ||||||
|           } |  | ||||||
|         } |  | ||||||
|       }, |  | ||||||
|       reportingTime: { |  | ||||||
|         title: '上报时间', |  | ||||||
|         type: 'string', |  | ||||||
|         ui: { |  | ||||||
|           widget: 'date', |  | ||||||
|           mode: 'range', |  | ||||||
|           format: 'yyyy-MM-dd', |  | ||||||
|           visibleIf: { |  | ||||||
|             _$expand: (value: boolean) => value |  | ||||||
|           } |  | ||||||
|         } as SFDateWidgetSchema |  | ||||||
|       }, |  | ||||||
|       enterpriseInfoId: { |  | ||||||
|         type: 'string', |  | ||||||
|         title: '网络货运人', |  | ||||||
|         ui: { |  | ||||||
|           widget: 'select', |  | ||||||
|           placeholder: '请选择', |  | ||||||
|           visibleIf: { |  | ||||||
|             _$expand: (value: boolean) => value, |  | ||||||
|           }, |  | ||||||
|           allowClear: true, |  | ||||||
|           asyncData: () => this.shipperSrv.getNetworkFreightForwarder(), |  | ||||||
|       }, |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
|   }; |  | ||||||
|   this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } }; |  | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   search() { |   search() { | ||||||
|     console.log(this.selectedIndex) |     console.log(this.selectedIndex) | ||||||
|     if(this.selectedIndex === 0) { |     if (this.selectedIndex === 0) { | ||||||
|         this.st?.load(1) |       this.st?.load(1) | ||||||
|     } else { |     } else { | ||||||
|         this.st2?.load(1) |       this.st2?.load(1) | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|   /** |   /** | ||||||
| @ -215,25 +217,25 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit { | |||||||
|   resetSF() { |   resetSF() { | ||||||
|     this.sf.reset(); |     this.sf.reset(); | ||||||
|   } |   } | ||||||
|        // 获取城市列表 |   // 获取城市列表 | ||||||
|        getRegionCode(regionCode: any) { |   getRegionCode(regionCode: any) { | ||||||
|         console.log(regionCode); |     console.log(regionCode); | ||||||
|         return this.service |     return this.service | ||||||
|           .request(this.service.$api_get_enterprise_project, { id: regionCode }) |       .request(this.service.$api_get_enterprise_project, { id: regionCode }) | ||||||
|           .pipe( |       .pipe( | ||||||
|             map(res => |         map(res => | ||||||
|               res.map((item: any) => ({ |           res.map((item: any) => ({ | ||||||
|                 label: item.projectName, |             label: item.projectName, | ||||||
|                 value: item.id |             value: item.id | ||||||
|               })) |           })) | ||||||
|             ) |         ) | ||||||
|           ) |       ) | ||||||
|           .subscribe(res => { |       .subscribe(res => { | ||||||
|             this.sf.getProperty('/enterpriseProjectId')!.schema.enum = res; |         this.sf.getProperty('/enterpriseProjectId')!.schema.enum = res; | ||||||
|             this.sf.getProperty('/enterpriseProjectId')!.widget.reset(res); |         this.sf.getProperty('/enterpriseProjectId')!.widget.reset(res); | ||||||
|             // if (this.enterpriseProjectIds) { |         // if (this.enterpriseProjectIds) { | ||||||
|             //   this.sf1.setValue('/enterpriseProjectId', this.enterpriseProjectIds); |         //   this.sf1.setValue('/enterpriseProjectId', this.enterpriseProjectIds); | ||||||
|             // } |         // } | ||||||
|           }); |       }); | ||||||
|       } |   } | ||||||
| } | } | ||||||
|  | |||||||
| @ -27,14 +27,14 @@ export class WaybillManagementBulkComponent implements OnInit { | |||||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; |   @ViewChild('sf', { static: false }) sf!: SFComponent; | ||||||
|   columns: STColumn[] = []; |   columns: STColumn[] = []; | ||||||
|   resourceStatus: any; |   resourceStatus: any; | ||||||
| tabs = { |   tabs = { | ||||||
|   signQuantity: 0, |     signQuantity: 0, | ||||||
|   cancelQuantity: 0, |     cancelQuantity: 0, | ||||||
|   receivedQuantity: 0, |     receivedQuantity: 0, | ||||||
|   totalQuantity: 0, |     totalQuantity: 0, | ||||||
|   compolatelQuantity: 0, |     compolatelQuantity: 0, | ||||||
|   deltQuantity: 0 |     deltQuantity: 0 | ||||||
| }; |   }; | ||||||
|   constructor( |   constructor( | ||||||
|     public service: WaybillManagementServe, |     public service: WaybillManagementServe, | ||||||
|     private modal: NzModalService, |     private modal: NzModalService, | ||||||
| @ -44,8 +44,8 @@ tabs = { | |||||||
|  * 查询参数 |  * 查询参数 | ||||||
|  */ |  */ | ||||||
|   get reqParams() { |   get reqParams() { | ||||||
|     const a:any = {}; |     const a: any = {}; | ||||||
|     if(this.resourceStatus) { |     if (this.resourceStatus) { | ||||||
|       a.wayBillStatus = this.resourceStatus |       a.wayBillStatus = this.resourceStatus | ||||||
|     } |     } | ||||||
|     const params: any = Object.assign({}, this.sf?.value || {}); |     const params: any = Object.assign({}, this.sf?.value || {}); | ||||||
| @ -57,7 +57,7 @@ tabs = { | |||||||
|         start: this.sf?.value?.createTime?.[0] || '', |         start: this.sf?.value?.createTime?.[0] || '', | ||||||
|         end: this.sf?.value?.createTime?.[1] || '', |         end: this.sf?.value?.createTime?.[1] || '', | ||||||
|       }, |       }, | ||||||
|      }; |     }; | ||||||
|   } |   } | ||||||
|   get selectedRows() { |   get selectedRows() { | ||||||
|     return this.st?.list.filter((item) => item.checked) || []; |     return this.st?.list.filter((item) => item.checked) || []; | ||||||
| @ -98,7 +98,7 @@ tabs = { | |||||||
|               console.log(q) |               console.log(q) | ||||||
|               if (!!q) { |               if (!!q) { | ||||||
|                 return this.service |                 return this.service | ||||||
|                   .request(this.service.$api_enterpriceList, { enterpriseName: q}) |                   .request(this.service.$api_enterpriceList, { enterpriseName: q }) | ||||||
|                   .pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum)))) |                   .pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum)))) | ||||||
|                   .toPromise(); |                   .toPromise(); | ||||||
|               } else { |               } else { | ||||||
| @ -159,7 +159,7 @@ tabs = { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'overall:payment:status' }, |             params: { dictKey: 'overall:payment:status' }, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value, |               _$expand: (value: boolean) => value, | ||||||
|             }, |             }, | ||||||
| @ -170,7 +170,7 @@ tabs = { | |||||||
|           type: 'string', |           type: 'string', | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             params: { dictKey: 'service:type' }, |             params: { dictKey: 'service:type' }, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value |               _$expand: (value: boolean) => value | ||||||
| @ -230,9 +230,9 @@ tabs = { | |||||||
|   /** |   /** | ||||||
|    * 初始化数据列表 |    * 初始化数据列表 | ||||||
|    */ |    */ | ||||||
|    initST() { |   initST() { | ||||||
|     this.columns = [ |     this.columns = [ | ||||||
|       { title: '', type: 'checkbox',   fixed: 'left', width: '50px', className: 'text-center' }, |       { title: '', type: 'checkbox', fixed: 'left', width: '50px', className: 'text-center' }, | ||||||
|       { |       { | ||||||
|         title: '运单号', |         title: '运单号', | ||||||
|         width: '180px', |         width: '180px', | ||||||
| @ -257,7 +257,7 @@ tabs = { | |||||||
|         width: '220px', |         width: '220px', | ||||||
|         index: 'dischargePlace' |         index: 'dischargePlace' | ||||||
|       }, |       }, | ||||||
|      { |       { | ||||||
|         title: '货物信息', |         title: '货物信息', | ||||||
|         className: 'text-left', |         className: 'text-left', | ||||||
|         width: '250px', |         width: '250px', | ||||||
| @ -315,13 +315,13 @@ tabs = { | |||||||
|           { |           { | ||||||
|             text: '确认发车', |             text: '确认发车', | ||||||
|             click: (_record) => this.sureDepart(_record), |             click: (_record) => this.sureDepart(_record), | ||||||
|             iif: item => item.wayBillStatus == '2' , |             iif: item => item.wayBillStatus == '2', | ||||||
|             acl: { ability: ['WAYBILL-BULK-insertBulkStartCarInfo'] }, |             acl: { ability: ['WAYBILL-BULK-insertBulkStartCarInfo'] }, | ||||||
|           }, |           }, | ||||||
|           { |           { | ||||||
|             text: '确认到车', |             text: '确认到车', | ||||||
|             click: (_record) => this.sureArrive(_record), |             click: (_record) => this.sureArrive(_record), | ||||||
|             iif: item => item.wayBillStatus == '3'  , |             iif: item => item.wayBillStatus == '3', | ||||||
|             acl: { ability: ['WAYBILL-BULK-insertBulkUnloadCarInfo'] }, |             acl: { ability: ['WAYBILL-BULK-insertBulkUnloadCarInfo'] }, | ||||||
|           }, |           }, | ||||||
|         ], |         ], | ||||||
| @ -357,8 +357,8 @@ tabs = { | |||||||
|   } |   } | ||||||
|   selectChange(e: number) { |   selectChange(e: number) { | ||||||
|     console.log(e); |     console.log(e); | ||||||
|     if(e>=1) { |     if (e >= 1) { | ||||||
|     this.resourceStatus = e + 1; |       this.resourceStatus = e + 1; | ||||||
|     } |     } | ||||||
|     this.initST(); |     this.initST(); | ||||||
|     setTimeout(() => { |     setTimeout(() => { | ||||||
| @ -374,15 +374,15 @@ tabs = { | |||||||
|   audit(item: any) { |   audit(item: any) { | ||||||
|     console.log(item) |     console.log(item) | ||||||
|   } |   } | ||||||
|     /** |   /** | ||||||
|   * 审核通过按钮 | * 审核通过按钮 | ||||||
|   */ | */ | ||||||
|   handleOK() { |   handleOK() { | ||||||
|  |  | ||||||
|   } |   } | ||||||
|    /** |   /** | ||||||
|   *查看评价 |  *查看评价 | ||||||
|   */ |  */ | ||||||
|   viewEvaluate(item: any) { |   viewEvaluate(item: any) { | ||||||
|     console.log(item) |     console.log(item) | ||||||
|     this.isVisibleEvaluate = true |     this.isVisibleEvaluate = true | ||||||
| @ -402,62 +402,62 @@ tabs = { | |||||||
|       if (res) { |       if (res) { | ||||||
|         let totalCount = 0; |         let totalCount = 0; | ||||||
|         res.forEach((ele: any) => { |         res.forEach((ele: any) => { | ||||||
|           switch(ele.wayBillStatus) { |           switch (ele.wayBillStatus) { | ||||||
|             case '2': |             case '2': | ||||||
|               this.tabs.receivedQuantity = ele?.count; |               this.tabs.receivedQuantity = ele?.count; | ||||||
|               break; |               break; | ||||||
|             case '3': |             case '3': | ||||||
|               this.tabs.cancelQuantity = ele?.count; |               this.tabs.cancelQuantity = ele?.count; | ||||||
|             break; |               break; | ||||||
|             case '4': |             case '4': | ||||||
|               this.tabs.signQuantity = ele?.count; |               this.tabs.signQuantity = ele?.count; | ||||||
|             break; |               break; | ||||||
|             case '5': |             case '5': | ||||||
|               this.tabs.compolatelQuantity = ele?.count; |               this.tabs.compolatelQuantity = ele?.count; | ||||||
|             break; |               break; | ||||||
|             case '6': |             case '6': | ||||||
|               this.tabs.deltQuantity = ele?.count; |               this.tabs.deltQuantity = ele?.count; | ||||||
|             break; |               break; | ||||||
|           } |           } | ||||||
|           totalCount += ele.count |           totalCount += ele.count | ||||||
|        }); |         }); | ||||||
|        this.tabs.totalQuantity = totalCount |         this.tabs.totalQuantity = totalCount | ||||||
|       } |       } | ||||||
|     }) |     }) | ||||||
|   } |   } | ||||||
|     //  *确认发车 |   //  *确认发车 | ||||||
|  |  | ||||||
|     sureDepart(item: any) { |   sureDepart(item: any) { | ||||||
|       const modalRef = this.modal.create({ |     const modalRef = this.modal.create({ | ||||||
|         nzTitle: '确认发车', |       nzTitle: '确认发车', | ||||||
|         nzWidth: '50%', |       nzWidth: '50%', | ||||||
|         nzContent: VehicleSureDepartComponent, |       nzContent: VehicleSureDepartComponent, | ||||||
|         nzComponentParams: { |       nzComponentParams: { | ||||||
|           i: item, |         i: item, | ||||||
|          Status: 2 |         Status: 2 | ||||||
|         }, |       }, | ||||||
|         nzFooter: null |       nzFooter: null | ||||||
|       }); |  | ||||||
|       modalRef.afterClose.subscribe((result: any) => { |  | ||||||
|         this.st.load(1); |  | ||||||
|         this.getGoodsSourceStatistical() |  | ||||||
|     }); |     }); | ||||||
|     } |     modalRef.afterClose.subscribe((result: any) => { | ||||||
|     // 确认到车 |       this.st.load(1); | ||||||
|     sureArrive(item: any) { |       this.getGoodsSourceStatistical() | ||||||
|       const modalRef = this.modal.create({ |  | ||||||
|         nzTitle: '确认到车', |  | ||||||
|         nzWidth: '50%', |  | ||||||
|         nzContent: VehicleSureArriveComponent, |  | ||||||
|         nzComponentParams: { |  | ||||||
|           i: item, |  | ||||||
|          Status: 2 |  | ||||||
|         }, |  | ||||||
|         nzFooter: null |  | ||||||
|       }); |  | ||||||
|       modalRef.afterClose.subscribe((result: any) => { |  | ||||||
|         this.st.load(1); |  | ||||||
|         this.getGoodsSourceStatistical() |  | ||||||
|     }); |     }); | ||||||
|     } |   } | ||||||
|  |   // 确认到车 | ||||||
|  |   sureArrive(item: any) { | ||||||
|  |     const modalRef = this.modal.create({ | ||||||
|  |       nzTitle: '确认到车', | ||||||
|  |       nzWidth: '50%', | ||||||
|  |       nzContent: VehicleSureArriveComponent, | ||||||
|  |       nzComponentParams: { | ||||||
|  |         i: item, | ||||||
|  |         Status: 2 | ||||||
|  |       }, | ||||||
|  |       nzFooter: null | ||||||
|  |     }); | ||||||
|  |     modalRef.afterClose.subscribe((result: any) => { | ||||||
|  |       this.st.load(1); | ||||||
|  |       this.getGoodsSourceStatistical() | ||||||
|  |     }); | ||||||
|  |   } | ||||||
| } | } | ||||||
|  | |||||||
| @ -37,14 +37,14 @@ export class WaybillManagementVehicleComponent implements OnInit { | |||||||
|   }; |   }; | ||||||
|   constructor( |   constructor( | ||||||
|     public service: WaybillManagementServe, |     public service: WaybillManagementServe, | ||||||
|      private modal: NzModalService, |     private modal: NzModalService, | ||||||
|       public shipperservice: ShipperBaseService) {} |     public shipperservice: ShipperBaseService) { } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * 查询参数 |    * 查询参数 | ||||||
|    */ |    */ | ||||||
|   get reqParams() { |   get reqParams() { | ||||||
|     const a:any = {}; |     const a: any = {}; | ||||||
|     if (this.resourceStatus) { |     if (this.resourceStatus) { | ||||||
|       a.wayBillStatus = this.resourceStatus; |       a.wayBillStatus = this.resourceStatus; | ||||||
|     } |     } | ||||||
| @ -57,7 +57,7 @@ export class WaybillManagementVehicleComponent implements OnInit { | |||||||
|         start: this.sf?.value?.createTime?.[0] || '', |         start: this.sf?.value?.createTime?.[0] || '', | ||||||
|         end: this.sf?.value?.createTime?.[1] || '', |         end: this.sf?.value?.createTime?.[1] || '', | ||||||
|       }, |       }, | ||||||
|      }; |     }; | ||||||
|   } |   } | ||||||
|   get selectedRows() { |   get selectedRows() { | ||||||
|     return this.st?.list.filter(item => item.checked) || []; |     return this.st?.list.filter(item => item.checked) || []; | ||||||
| @ -96,7 +96,7 @@ export class WaybillManagementVehicleComponent implements OnInit { | |||||||
|               console.log(q) |               console.log(q) | ||||||
|               if (!!q) { |               if (!!q) { | ||||||
|                 return this.service |                 return this.service | ||||||
|                   .request(this.service.$api_enterpriceList, { enterpriseName: q}) |                   .request(this.service.$api_enterpriceList, { enterpriseName: q }) | ||||||
|                   .pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum)))) |                   .pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum)))) | ||||||
|                   .toPromise(); |                   .toPromise(); | ||||||
|               } else { |               } else { | ||||||
| @ -171,7 +171,7 @@ export class WaybillManagementVehicleComponent implements OnInit { | |||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             params: { dictKey: 'overall:payment:status' }, |             params: { dictKey: 'overall:payment:status' }, | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value |               _$expand: (value: boolean) => value | ||||||
|             } |             } | ||||||
| @ -182,7 +182,7 @@ export class WaybillManagementVehicleComponent implements OnInit { | |||||||
|           type: 'string', |           type: 'string', | ||||||
|           ui: { |           ui: { | ||||||
|             widget: 'dict-select', |             widget: 'dict-select', | ||||||
|             containsAllLable: true, |             containsAllLabel: true, | ||||||
|             params: { dictKey: 'service:type' }, |             params: { dictKey: 'service:type' }, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value |               _$expand: (value: boolean) => value | ||||||
| @ -238,34 +238,34 @@ export class WaybillManagementVehicleComponent implements OnInit { | |||||||
|     }; |     }; | ||||||
|     this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } }; |     this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } }; | ||||||
|   } |   } | ||||||
|    // 获取城市列表 |   // 获取城市列表 | ||||||
|  getRegionCode(regionCode: any) { |   getRegionCode(regionCode: any) { | ||||||
|   console.log(regionCode); |     console.log(regionCode); | ||||||
|   return this.service |     return this.service | ||||||
|     .request(this.service.$api_get_enterprise_project, { id: regionCode }) |       .request(this.service.$api_get_enterprise_project, { id: regionCode }) | ||||||
|     .pipe( |       .pipe( | ||||||
|       map(res => |         map(res => | ||||||
|         res.map((item: any) => ({ |           res.map((item: any) => ({ | ||||||
|           label: item.projectName, |             label: item.projectName, | ||||||
|           value: item.id |             value: item.id | ||||||
|         })) |           })) | ||||||
|  |         ) | ||||||
|       ) |       ) | ||||||
|     ) |       .subscribe(res => { | ||||||
|     .subscribe(res => { |         this.sf.getProperty('/enterpriseProjectId')!.schema.enum = res; | ||||||
|       this.sf.getProperty('/enterpriseProjectId')!.schema.enum = res; |         this.sf.getProperty('/enterpriseProjectId')!.widget.reset(res); | ||||||
|       this.sf.getProperty('/enterpriseProjectId')!.widget.reset(res); |         // if (this.enterpriseProjectIds) { | ||||||
|       // if (this.enterpriseProjectIds) { |         //   this.sf1.setValue('/enterpriseProjectId', this.enterpriseProjectIds); | ||||||
|       //   this.sf1.setValue('/enterpriseProjectId', this.enterpriseProjectIds); |         // } | ||||||
|       // } |       }); | ||||||
|     }); |   } | ||||||
| } |  | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * 初始化数据列表 |    * 初始化数据列表 | ||||||
|    */ |    */ | ||||||
|   initST() { |   initST() { | ||||||
|     this.columns = [ |     this.columns = [ | ||||||
|       { title: '', type: 'checkbox',   fixed: 'left', width: '50px', className: 'text-center' }, |       { title: '', type: 'checkbox', fixed: 'left', width: '50px', className: 'text-center' }, | ||||||
|       { |       { | ||||||
|         title: '运单号', |         title: '运单号', | ||||||
|         width: '180px', |         width: '180px', | ||||||
| @ -391,7 +391,7 @@ export class WaybillManagementVehicleComponent implements OnInit { | |||||||
|   /** |   /** | ||||||
|    * 导入货源 |    * 导入货源 | ||||||
|    */ |    */ | ||||||
|   importGoodsSource() {} |   importGoodsSource() { } | ||||||
|   /** |   /** | ||||||
|    *查看评价 |    *查看评价 | ||||||
|    */ |    */ | ||||||
| @ -428,16 +428,16 @@ export class WaybillManagementVehicleComponent implements OnInit { | |||||||
|             case '4': |             case '4': | ||||||
|               this.tabs.signQuantity = ele?.count; |               this.tabs.signQuantity = ele?.count; | ||||||
|               break; |               break; | ||||||
|               case '5': |             case '5': | ||||||
|                 this.tabs.compolatelQuantity = ele?.count; |               this.tabs.compolatelQuantity = ele?.count; | ||||||
|               break; |               break; | ||||||
|               case '6': |             case '6': | ||||||
|                 this.tabs.deltQuantity = ele?.count; |               this.tabs.deltQuantity = ele?.count; | ||||||
|               break; |               break; | ||||||
|           } |           } | ||||||
|           totalCount += ele.count |           totalCount += ele.count | ||||||
|         }); |         }); | ||||||
|        this.tabs.totalQuantity = totalCount |         this.tabs.totalQuantity = totalCount | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
| @ -457,7 +457,7 @@ export class WaybillManagementVehicleComponent implements OnInit { | |||||||
|     modalRef.afterClose.subscribe((result: any) => { |     modalRef.afterClose.subscribe((result: any) => { | ||||||
|       this.st.load(1); |       this.st.load(1); | ||||||
|       this.getGoodsSourceStatistical() |       this.getGoodsSourceStatistical() | ||||||
|   }); |     }); | ||||||
|   } |   } | ||||||
|   // 确认到车 |   // 确认到车 | ||||||
|   sureArrive(item: any) { |   sureArrive(item: any) { | ||||||
| @ -474,6 +474,6 @@ export class WaybillManagementVehicleComponent implements OnInit { | |||||||
|     modalRef.afterClose.subscribe((result: any) => { |     modalRef.afterClose.subscribe((result: any) => { | ||||||
|       this.st.load(1); |       this.st.load(1); | ||||||
|       this.getGoodsSourceStatistical() |       this.getGoodsSourceStatistical() | ||||||
|   }); |     }); | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | |||||||
| @ -27,7 +27,7 @@ export class DictSelectComponent implements OnInit, ControlValueAccessor { | |||||||
|   @Input() params = {};// 请求参数 |   @Input() params = {};// 请求参数 | ||||||
|  |  | ||||||
|   dictList: any[] = []; |   dictList: any[] = []; | ||||||
|   @Input() containsAllLable = true; // 是否包含全部这一选项 |   @Input() containsAllLabel = true; // 是否包含全部这一选项 | ||||||
|   @Input() mode: 'multiple' | 'tags' | 'default' = 'default'; |   @Input() mode: 'multiple' | 'tags' | 'default' = 'default'; | ||||||
|  |  | ||||||
|  |  | ||||||
| @ -55,7 +55,7 @@ export class DictSelectComponent implements OnInit, ControlValueAccessor { | |||||||
|     this.service.getDictList(this.url || this.defaultUrl, this.params).subscribe(res => { |     this.service.getDictList(this.url || this.defaultUrl, this.params).subscribe(res => { | ||||||
|       if (res) { |       if (res) { | ||||||
|         this.dictList = res || []; |         this.dictList = res || []; | ||||||
|         if (this.dictList.length > 0 && this.containsAllLable) { |         if (this.dictList.length > 0 && this.containsAllLabel) { | ||||||
|           const obj = { label: '全部', value: '' }; |           const obj = { label: '全部', value: '' }; | ||||||
|           this.dictList.unshift(obj); |           this.dictList.unshift(obj); | ||||||
|         } |         } | ||||||
|  | |||||||
							
								
								
									
										236
									
								
								src/app/shared/utils/deal-precision.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										236
									
								
								src/app/shared/utils/deal-precision.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,236 @@ | |||||||
|  | /** | ||||||
|  |  * 操作符类型运算符 | ||||||
|  |  * +:加法运算 | ||||||
|  |  * -:减法运算 | ||||||
|  |  * *:乘法运算 | ||||||
|  |  * /:除法运算 | ||||||
|  |  */ | ||||||
|  | type OperationType = '+' | '-' | '*' | '/'; | ||||||
|  |  | ||||||
|  | class Big { | ||||||
|  |   /** | ||||||
|  |    * Big值 | ||||||
|  |    */ | ||||||
|  |   private v: number; | ||||||
|  |   /** | ||||||
|  |    * 构造函数 | ||||||
|  |    * @param v 初始值 | ||||||
|  |    */ | ||||||
|  |   constructor(v: number) { | ||||||
|  |     this.v = v; | ||||||
|  |   } | ||||||
|  |   /** | ||||||
|  |    * 转换整数,返回倍数及整数值,比如 | ||||||
|  |    * 100  >>> { times: 1, num: 100 }   ===> 100 | ||||||
|  |    * 3.14 >>> { times: 100, num: 3.14} ===> 314 | ||||||
|  |    * @param n number | ||||||
|  |    */ | ||||||
|  |   private toInteger(n: number) { | ||||||
|  |     const ret = { times: 1, num: 0 }; | ||||||
|  |     if (Number.isInteger(n)) { | ||||||
|  |       ret.num = n; | ||||||
|  |       return ret; | ||||||
|  |     } | ||||||
|  |     ret.times = Math.pow(10, n.toString().split('.')[1].length); | ||||||
|  |     ret.num = parseInt((n * ret.times + 0.5).toString(), 10); | ||||||
|  |     return ret; | ||||||
|  |   } | ||||||
|  |   /** | ||||||
|  |    * 执行运算 | ||||||
|  |    * @param m 数值m | ||||||
|  |    * @param n 数值n | ||||||
|  |    * @param key 运算符 | ||||||
|  |    */ | ||||||
|  |   private operation(m: number = 0, n: number = 0, key: OperationType) { | ||||||
|  |     const o1 = this.toInteger(m); | ||||||
|  |     const o2 = this.toInteger(n); | ||||||
|  |  | ||||||
|  |     const n1 = o1.num; | ||||||
|  |     const n2 = o2.num; | ||||||
|  |  | ||||||
|  |     const t1 = o1.times; | ||||||
|  |     const t2 = o2.times; | ||||||
|  |  | ||||||
|  |     const max = Math.max(t1, t2); | ||||||
|  |     let result = 0; | ||||||
|  |     switch (key) { | ||||||
|  |       case '+': | ||||||
|  |         if (t1 === t2) { | ||||||
|  |           // 两个小数位数相同 | ||||||
|  |           result = n1 + n2; | ||||||
|  |         } else if (t1 > t2) { | ||||||
|  |           // o1 小数位 大于 o2 | ||||||
|  |           result = n1 + n2 * (t1 / t2); | ||||||
|  |         } else { | ||||||
|  |           // o1 小数位 小于 o2 | ||||||
|  |           result = n1 * (t2 / t1) + n2; | ||||||
|  |         } | ||||||
|  |         result /= max; | ||||||
|  |         break; | ||||||
|  |       case '-': | ||||||
|  |         if (t1 === t2) { | ||||||
|  |           result = n1 - n2; | ||||||
|  |         } else if (t1 > t2) { | ||||||
|  |           result = n1 - n2 * (t1 / t2); | ||||||
|  |         } else { | ||||||
|  |           result = n1 * (t2 / t1) - n2; | ||||||
|  |         } | ||||||
|  |         result /= max; | ||||||
|  |         break; | ||||||
|  |       case '*': | ||||||
|  |         result = (n1 * n2) / (t1 * t2); | ||||||
|  |         break; | ||||||
|  |       case '/': | ||||||
|  |         result = (n1 * t2) / (t1 * n2); | ||||||
|  |         break; | ||||||
|  |       default: | ||||||
|  |         result = 0; | ||||||
|  |     } | ||||||
|  |     return new Big(result); | ||||||
|  |   } | ||||||
|  |   /** | ||||||
|  |    * 数值化 | ||||||
|  |    * @param n | ||||||
|  |    */ | ||||||
|  |   private numeric(n: number | Big) { | ||||||
|  |     return n instanceof Big ? n.v : n; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * 加法运算 | ||||||
|  |    * @param n | ||||||
|  |    */ | ||||||
|  |   public plus(n: number | Big) { | ||||||
|  |     return this.operation(this.v, this.numeric(n), '+'); | ||||||
|  |   } | ||||||
|  |   /** | ||||||
|  |    * 减法运算 | ||||||
|  |    * @param n | ||||||
|  |    */ | ||||||
|  |   public minus(n: number | Big) { | ||||||
|  |     return this.operation(this.v, this.numeric(n), '-'); | ||||||
|  |   } | ||||||
|  |   /** | ||||||
|  |    * 乘法运算 | ||||||
|  |    * @param n | ||||||
|  |    */ | ||||||
|  |   public multipliedBy(n: number | Big) { | ||||||
|  |     return this.operation(this.v, this.numeric(n), '*'); | ||||||
|  |   } | ||||||
|  |   /** | ||||||
|  |    * 除法运算 | ||||||
|  |    * @param n | ||||||
|  |    */ | ||||||
|  |   public dividedBy(n: number | Big) { | ||||||
|  |     return this.operation(this.v, this.numeric(n), '/'); | ||||||
|  |   } | ||||||
|  |   /** | ||||||
|  |    * 解析结果 | ||||||
|  |    */ | ||||||
|  |   public parse() { | ||||||
|  |     return this.v; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * 小数点后固定指定位数,比如固定小数点后5位数字,则有 | ||||||
|  |    * 30 ==> 30.00000 | ||||||
|  |    * 3.14 ===> 3.14000 | ||||||
|  |    * @param n | ||||||
|  |    */ | ||||||
|  |   public static digits(v: number | Big, len: number = 2) { | ||||||
|  |     if (Number.isInteger(v)) { | ||||||
|  |       return `${v}.${Array(len).fill(0).join('')}`; | ||||||
|  |     } else { | ||||||
|  |       const [prefix, suffix] = v.toString().split('.'); | ||||||
|  |       const sLen = suffix.length; | ||||||
|  |       if (sLen > len) { | ||||||
|  |         return `${prefix}.${suffix.slice(0, len)}`; | ||||||
|  |       } else if (sLen < len) { | ||||||
|  |         return `${prefix}.${suffix}${Array(len - sLen) | ||||||
|  |           .fill(0) | ||||||
|  |           .join('')}`; | ||||||
|  |       } else { | ||||||
|  |         return `${prefix}.${suffix}`; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   public digits(len: number) { | ||||||
|  |     return Big.digits(this.v, len); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * 人民币格式处理 | ||||||
|  |    * - 非数字:返回0 | ||||||
|  |    * - 整数:直接返回 | ||||||
|  |    * - 小数:保留小数点后两位,超出两位则截取 | ||||||
|  |    * @param v | ||||||
|  |    */ | ||||||
|  |   public static rmb(v: string | number) { | ||||||
|  |     if (isNaN(Number(v))) { | ||||||
|  |       return '0'; | ||||||
|  |     } else { | ||||||
|  |       const foo = v.toString(); | ||||||
|  |       if (/^[0-9]+$/.test(foo)) { | ||||||
|  |         return foo; | ||||||
|  |       } else { | ||||||
|  |         const [prefix, suffix] = foo.split('.'); | ||||||
|  |         const sLen = suffix.length; | ||||||
|  |         if (sLen > 2) { | ||||||
|  |           return `${prefix}.${suffix.slice(0, 2)}`; | ||||||
|  |         } else if (sLen < 2) { | ||||||
|  |           return `${foo}0`; | ||||||
|  |         } else { | ||||||
|  |           return foo; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   public rmb() { | ||||||
|  |     return Big.rmb(this.v); | ||||||
|  |   } | ||||||
|  |   /** | ||||||
|  |    * 切割数字 | ||||||
|  |    * @param v | ||||||
|  |    */ | ||||||
|  |   public static split(v: string | number) { | ||||||
|  |     if (isNaN(Number(v))) { | ||||||
|  |       return []; | ||||||
|  |     } else { | ||||||
|  |       return v | ||||||
|  |         .toString() | ||||||
|  |         .split('.') | ||||||
|  |         .map((item, i) => { | ||||||
|  |           if (i === 1) { | ||||||
|  |             return item && item.length < 2 ? `${item}0` : item; | ||||||
|  |           } | ||||||
|  |           return item; | ||||||
|  |         }); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   public split() { | ||||||
|  |     return Big.split(this.v); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * 省略 --> 如果超过1万,则返回万制,转换后小数点后保留两位 | ||||||
|  |    * 比如:12345 返回 1.23万 | ||||||
|  |    * @param v | ||||||
|  |    */ | ||||||
|  |   public static ellipsis(v: string | number) { | ||||||
|  |     // 如果不是数值类型并且转换之后不为数字,则直接返回传入值 | ||||||
|  |     if (isNaN(Number(v))) { | ||||||
|  |       return v.toString(); | ||||||
|  |     } | ||||||
|  |     // 如果传入数值小于1万则没必要转换,直接返回 | ||||||
|  |     if (+v < 10000) { | ||||||
|  |       return v.toString(); | ||||||
|  |     } | ||||||
|  |     // 超过1万,处理之后再返回 | ||||||
|  |     return Big.rmb(+v / 10000) + '万'; | ||||||
|  |   } | ||||||
|  |   public ellipsis(v: string | number) { | ||||||
|  |     return Big.ellipsis(this.v); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | export default Big; | ||||||
| @ -8,7 +8,7 @@ | |||||||
| --> | --> | ||||||
| <sf-item-wrap [id]="id" [schema]="schema" [ui]="ui" [showError]="showError" [error]="error" [showTitle]="schema.title"> | <sf-item-wrap [id]="id" [schema]="schema" [ui]="ui" [showError]="showError" [error]="error" [showTitle]="schema.title"> | ||||||
|   <app-dict-select [url]="ui?.url" [ngModel]="value" [params]="ui?.params" (ngModelChange)="change($event)" |   <app-dict-select [url]="ui?.url" [ngModel]="value" [params]="ui?.params" (ngModelChange)="change($event)" | ||||||
|     [containsAllLable]="ui?.containsAllLable" [mode]="ui?.mode" name="sf.dict.select"> |     [containsAllLabel]="ui?.containsAllLabel" [mode]="ui?.mode" name="sf.dict.select"> | ||||||
|   </app-dict-select> |   </app-dict-select> | ||||||
| </sf-item-wrap> | </sf-item-wrap> | ||||||
| <!-- <sf-item-wrap [id]="id" [schema]="schema" [ui]="ui" [showError]="showError" [error]="error" [showTitle]="schema.title"> | <!-- <sf-item-wrap [id]="id" [schema]="schema" [ui]="ui" [showError]="showError" [error]="error" [showTitle]="schema.title"> | ||||||
|  | |||||||
| @ -525,7 +525,7 @@ | |||||||
|                 }, |                 }, | ||||||
|                 { |                 { | ||||||
|                   "text": "返佣记录", |                   "text": "返佣记录", | ||||||
|                   "link": "/partner/rebate/" |                   "link": "/partner/rebate/record" | ||||||
|                 } |                 } | ||||||
|               ] |               ] | ||||||
|             }, |             }, | ||||||
| @ -541,9 +541,24 @@ | |||||||
|               "text": "账户管理", |               "text": "账户管理", | ||||||
|               "group": true, |               "group": true, | ||||||
|               "children": [{ |               "children": [{ | ||||||
|                 "text": "账户管理", |                   "text": "账户管理", | ||||||
|                 "link": "/partner/account-management/list" |                   "link": "/partner/account-management/list" | ||||||
|               }] |                 }, | ||||||
|  |                 { | ||||||
|  |                   "text": "账户明细", | ||||||
|  |                   "link": "/partner/account-management/account-detail", | ||||||
|  |                   "hide": true | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                   "text": "提现记录", | ||||||
|  |                   "link": "/partner/account-management/withdraw-record" | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                   "text": "提现详情", | ||||||
|  |                   "link": "/partner/account-management/withdraw-record/:id", | ||||||
|  |                   "hide": true | ||||||
|  |                 } | ||||||
|  |               ] | ||||||
|             }, |             }, | ||||||
|             { |             { | ||||||
|               "text": "客户认领审核", |               "text": "客户认领审核", | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user