Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
		| @ -4,7 +4,7 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2022-01-18 09:51:21 |  * @Date         : 2022-01-18 09:51:21 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-04-27 17:26:44 |  * @LastEditTime : 2022-04-28 14:09:56 | ||||||
|  * @FilePath     : \\tms-obc-web\\proxy.conf.js |  * @FilePath     : \\tms-obc-web\\proxy.conf.js | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
|  */ |  */ | ||||||
|  | |||||||
| @ -24,9 +24,8 @@ export class ContractManagementIndexComponent implements OnInit { | |||||||
|  |  | ||||||
|   constructor(private http: _HttpClient, private modal: ModalHelper, private acl: ACLService) { |   constructor(private http: _HttpClient, private modal: ModalHelper, private acl: ACLService) { | ||||||
|     const acls = acl.data.abilities || []; |     const acls = acl.data.abilities || []; | ||||||
|     this.isShowDetail = !!acls.find(acl => acl === 'CONTRACT-INDEX-searchDetail'); |     this.isShowDetail =acl.data.full || !!acls.find(acl => acl === 'CONTRACT-INDEX-searchDetail'); | ||||||
|     this.isShowFrame = !!acls.find(acl => acl === 'CONTRACT-INDEX-listFrame'); |     this.isShowFrame =acl.data.full || !!acls.find(acl => acl === 'CONTRACT-INDEX-listFrame'); | ||||||
|     console.log(this.isShowFrame); |  | ||||||
|      |      | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  | |||||||
| @ -32,7 +32,8 @@ | |||||||
|             </label> |             </label> | ||||||
|         </div> |         </div> | ||||||
|         <div class="mr-sm"> |         <div class="mr-sm"> | ||||||
|             <button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button> |             <button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl | ||||||
|  |                 [acl-ability]="['FINANCIAL-RECEIPT-list']">筛选</button> | ||||||
|         </div> |         </div> | ||||||
|     </div> |     </div> | ||||||
|  |  | ||||||
|  | |||||||
| @ -60,18 +60,17 @@ const routes: Routes = [ | |||||||
|   { path: 'abnormal-gold/detail/:id', component: AbnormalGoldDetailComponent }, |   { path: 'abnormal-gold/detail/:id', component: AbnormalGoldDetailComponent }, | ||||||
|   { path: 'payment-record', component: PaymentRecordComponent }, |   { path: 'payment-record', component: PaymentRecordComponent }, | ||||||
|   { path: 'transaction-flow', component: TransactionFlowComponent }, |   { path: 'transaction-flow', component: TransactionFlowComponent }, | ||||||
|   { path: 'payment-order', component: PaymentOrderComponent }, |   { path: 'payment-order', component: PaymentOrderComponent, data: { guard: { ability: ['FINANCIAL-PAYMENT-ORDER-list'] } } }, | ||||||
|   { path: 'payment-order/detail/:id', component: PaymentOrderDetailComponent }, |   { path: 'payment-order/detail/:id', component: PaymentOrderDetailComponent }, | ||||||
|   { path: 'receipt-order', component: ReceiptOrderComponent }, |   { path: 'receipt-order', component: ReceiptOrderComponent, data: { guard: { ability: ['FINANCIAL-RECEIPT-list'] } } }, | ||||||
|   { path: 'receipt-order/detail/:id', component: ReceiptOrderDetailComponent }, |   { path: 'receipt-order/detail/:id', component: ReceiptOrderDetailComponent }, | ||||||
|   { path: 'advance-collection', component: AdvanceCollectionComponent }, |   { path: 'advance-collection', component: AdvanceCollectionComponent }, | ||||||
|   { path: 'advance-collection/detail/:id', component: AdvanceCollectionDetailComponent }, |   { path: 'advance-collection/detail/:id', component: AdvanceCollectionDetailComponent }, | ||||||
|   { path: 'receivable-order', component: ReceivableOrderComponent }, |   { path: 'receivable-order', component: ReceivableOrderComponent, data: { guard: { ability: ['FINANCIAL-RECEIVABLE-list'] } }  }, | ||||||
|   { path: 'receivable-order/detail/:id', component: ReceivableOrderDetailComponent }, |   { path: 'receivable-order/detail/:id', component: ReceivableOrderDetailComponent, data: { guard: { ability: ['FINANCIAL-RECEIVABLE-DETAIL-view'] } }  }, | ||||||
|   { path: 'payable-order', component: PayableOrderComponent }, |   { path: 'payable-order', component: PayableOrderComponent, data: { guard: { ability: ['FINANCIAL-PAYABLE-list'] } } }, | ||||||
|   { path: 'payable-order/detail/:id', component: PayableOrderDetailComponent }, |   { path: 'payable-order/detail/:id', component: PayableOrderDetailComponent, data: { guard: { ability: ['FINANCIAL-PAYABLE-DETAIL-view'] } } }, | ||||||
|   { path: 'bank-card-management/index', component: CwcBankCardManagementIndexComponent }, |   { path: 'bank-card-management/index', component: CwcBankCardManagementIndexComponent } | ||||||
|  |  | ||||||
| ]; | ]; | ||||||
|  |  | ||||||
| @NgModule({ | @NgModule({ | ||||||
|  | |||||||
| @ -555,8 +555,8 @@ export class OrderManagementBulkComponent extends BasicTableComponent implements | |||||||
|           },{ |           },{ | ||||||
|             text: '订单上报推送', |             text: '订单上报推送', | ||||||
|             click: _record => this.orderReportPush(_record), |             click: _record => this.orderReportPush(_record), | ||||||
|             iif: item => item.overallPaymentStatus === '2' && (item.billStatus === '4' || item.billStatus === '5') |             iif: item => item.overallPaymentStatus === '2' && (item.billStatus === '4' || item.billStatus === '5'), | ||||||
|             // acl: { ability: ['VEHICLE-LIST-view'] }, |             acl: { ability: ['ORDER-BULK-push'] }, | ||||||
|           } |           } | ||||||
|         ] |         ] | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -473,8 +473,8 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme | |||||||
|           { |           { | ||||||
|             text: '订单上报推送', |             text: '订单上报推送', | ||||||
|             click: _record => this.orderReportPush(_record), |             click: _record => this.orderReportPush(_record), | ||||||
|             iif: item => item.overallPaymentStatus === '2' && (item.billStatus === '4' || item.billStatus === '5') |             iif: item => item.overallPaymentStatus === '2' && (item.billStatus === '4' || item.billStatus === '5'), | ||||||
|             // acl: { ability: ['VEHICLE-LIST-view'] }, |             acl: { ability: ['ORDER-VEHICLE-push'] }, | ||||||
|           } |           } | ||||||
|         ] |         ] | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -125,7 +125,7 @@ export class SupplyManagementBulkDetailComponent implements OnInit { | |||||||
|      */ |      */ | ||||||
|   placeOrder(record: any) { |   placeOrder(record: any) { | ||||||
|     console.log(record) |     console.log(record) | ||||||
|     this.router.navigate(['/supply-management/bulk-amend', record.id], { |     this.router.navigate(['/supply-management/bulk-next', record.id], { | ||||||
|       queryParams: { |       queryParams: { | ||||||
|         sta: 4 |         sta: 4 | ||||||
|       }, |       }, | ||||||
|  | |||||||
| @ -492,7 +492,7 @@ export class SupplyManagementBulkComponent extends BasicTableComponent implement | |||||||
|  |  | ||||||
|   //  再下一单 |   //  再下一单 | ||||||
|   nextOrder(item: any) { |   nextOrder(item: any) { | ||||||
|     this.router.navigate(['/supply-management/bulk-amend', item.id], { |     this.router.navigate(['/supply-management/bulk-next', item.id], { | ||||||
|       queryParams: { |       queryParams: { | ||||||
|         sta: 4 |         sta: 4 | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -25,10 +25,10 @@ | |||||||
|     <label class="page_title"> <label class="driver">|</label> 货源管理</label> |     <label class="page_title"> <label class="driver">|</label> 货源管理</label> | ||||||
|   </div> |   </div> | ||||||
|   <nz-tabset [(nzSelectedIndex)]="selectedIndex" class="header_tab"> |   <nz-tabset [(nzSelectedIndex)]="selectedIndex" class="header_tab"> | ||||||
|     <nz-tab nzTitle="整车货源"> |     <nz-tab nzTitle="整车货源" *ngIf="isShowVehicle"> | ||||||
|       <app-supply-management-vehicle></app-supply-management-vehicle> |       <app-supply-management-vehicle></app-supply-management-vehicle> | ||||||
|     </nz-tab> |     </nz-tab> | ||||||
|     <nz-tab nzTitle="大宗货源"> |     <nz-tab nzTitle="大宗货源" *ngIf="isShowBulk"> | ||||||
|       <app-supply-management-bulk></app-supply-management-bulk> |       <app-supply-management-bulk></app-supply-management-bulk> | ||||||
|     </nz-tab> |     </nz-tab> | ||||||
|   </nz-tabset> |   </nz-tabset> | ||||||
|  | |||||||
| @ -1,5 +1,6 @@ | |||||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | import { Component, OnInit, ViewChild } from '@angular/core'; | ||||||
| import { STColumn, STComponent } from '@delon/abc/st'; | import { STColumn, STComponent } from '@delon/abc/st'; | ||||||
|  | import { ACLService } from '@delon/acl'; | ||||||
| import { SFSchema } from '@delon/form'; | import { SFSchema } from '@delon/form'; | ||||||
| import { ModalHelper, _HttpClient } from '@delon/theme'; | import { ModalHelper, _HttpClient } from '@delon/theme'; | ||||||
| import { SearchDrawerService } from '@shared'; | import { SearchDrawerService } from '@shared'; | ||||||
| @ -12,7 +13,14 @@ import { BasicTableComponent } from 'src/app/routes/commom'; | |||||||
| }) | }) | ||||||
| export class SupplyManagementIndexComponent implements OnInit { | export class SupplyManagementIndexComponent implements OnInit { | ||||||
|   selectedIndex = 0; |   selectedIndex = 0; | ||||||
|  |   isShowVehicle = false; | ||||||
|  |   isShowBulk = false; | ||||||
|  |  | ||||||
|  |   constructor(private http: _HttpClient, private modal: ModalHelper, private acl: ACLService) { | ||||||
|  |     const acls = acl.data.abilities || []; | ||||||
|  |     this.isShowVehicle = acl.data.full || !!acls.find(acl => acl === 'SUPPLY-INDEX-vehicleSearch'); | ||||||
|  |     this.isShowBulk = acl.data.full || !!acls.find(acl => acl === 'SUPPLY-INDEX-bulkSearch'); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   ngOnInit(): void {} |   ngOnInit(): void {} | ||||||
| } | } | ||||||
|  | |||||||
| @ -260,9 +260,9 @@ | |||||||
|     <button *ngIf="this.PageStatus == '整车修改'" nz-button nzType="primary" style="margin-left: 48px" |     <button *ngIf="this.PageStatus == '整车修改'" nz-button nzType="primary" style="margin-left: 48px" | ||||||
|       (click)="submitConfirm()" acl [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交修改</button> |       (click)="submitConfirm()" acl [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交修改</button> | ||||||
|     <button nz-button nzType="primary" *ngIf="this.PageStatus == '整车下一单'" (click)="submitConfirm('assign')" acl |     <button nz-button nzType="primary" *ngIf="this.PageStatus == '整车下一单'" (click)="submitConfirm('assign')" acl | ||||||
|       [acl-ability]="['SUPPLY-BULK-PLACEORDER-vehicleDesignate']">指派熟车</button> |       [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleDesignate']">指派熟车</button> | ||||||
|     <button *ngIf="this.PageStatus == '整车下一单'" nz-button nzType="primary" style="margin-left: 48px" |     <button *ngIf="this.PageStatus == '整车下一单'" nz-button nzType="primary" style="margin-left: 48px" | ||||||
|       (click)="submitConfirm('publish')" acl |       (click)="submitConfirm('publish')" acl | ||||||
|       [acl-ability]="['SUPPLY-BULK-PLACEORDER-vehicleAnotherOrder']">司机抢单</button> |       [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleAnotherOrder']">司机抢单</button> | ||||||
|   </div> |   </div> | ||||||
| </nz-card> | </nz-card> | ||||||
|  | |||||||
| @ -6,39 +6,6 @@ | |||||||
|           <i nz-icon nzType="left" nzTheme="outline"></i> |           <i nz-icon nzType="left" nzTheme="outline"></i> | ||||||
|         </button> |         </button> | ||||||
|       </ng-template> |       </ng-template> | ||||||
|       <ng-template #headerContent> |  | ||||||
|         <div class="mb-xs" nz-row> |  | ||||||
|           <button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button> |  | ||||||
|           <h4 class="ml-md">货源编码 : {{ i?.resourceCode }}</h4> |  | ||||||
|         </div> |  | ||||||
|         <div nz-row> |  | ||||||
|           <div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.enterpriseInfoName }}</div> |  | ||||||
|           <div nz-col nzSpan="10"> |  | ||||||
|             <button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl |  | ||||||
|               [acl-ability]="['SUPPLY-VEHICLE-DETAIL-cancelSupply']">取消货源</button> |  | ||||||
|             <button nz-button (click)="assignedCar(i)" *ngIf="i?.resourceStatus === '1' && i?.serviceType === '2'" acl |  | ||||||
|               [acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehicleAnew']">重新指派</button> |  | ||||||
|             <button nz-button (click)="updateGoodsSource(i)" |  | ||||||
|               *ngIf="i?.resourceStatus === '1' && i.insurancePayment !== 'Y'" acl |  | ||||||
|               [acl-ability]="['SUPPLY-VEHICLE-DETAIL-changeSupply']">修改货源</button> |  | ||||||
|             <button nz-button nzType="primary" nzGhost (click)="nextOrder(i)" acl |  | ||||||
|               [acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehiclePlaceOrder']">再下一单</button> |  | ||||||
|           </div> |  | ||||||
|         </div> |  | ||||||
|         <div class="mt-sm mb-sm" nz-row> |  | ||||||
|           <div> |  | ||||||
|             <b>总费用:<span class="text-red-light text-md">{{ i?.totalAmount | currency }}</span></b> |  | ||||||
|           </div> |  | ||||||
|         </div> |  | ||||||
|         <nz-divider></nz-divider> |  | ||||||
|         <div sv-container *ngIf="i"> |  | ||||||
|           <sv label="外部货源号">{{ i?.externalResourceCode }} </sv> |  | ||||||
|           <sv label="项目">{{ i?.enterpriseProjectName }}</sv> |  | ||||||
|           <sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv> |  | ||||||
|           <sv label="调度员">{{ i?.dispatchName }}/{{ i?.dispatchPhone }} </sv> |  | ||||||
|           <sv label="服务类型">{{ i?.serviceTypeLabel }} </sv> |  | ||||||
|         </div> |  | ||||||
|       </ng-template> |  | ||||||
|     </page-header-wrapper> |     </page-header-wrapper> | ||||||
|     <nz-card [nzBorderless]="true" class="mb0"> |     <nz-card [nzBorderless]="true" class="mb0"> | ||||||
|       <div class="mb-xs" nz-row> |       <div class="mb-xs" nz-row> | ||||||
|  | |||||||
| @ -115,18 +115,7 @@ export class SupplyManagementVehicleDetailComponent implements OnInit { | |||||||
|     }) |     }) | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /** |  | ||||||
|    *再下一单 |  | ||||||
|    * @param record |  | ||||||
|    */ |  | ||||||
|   placeOrder(record: any) { |  | ||||||
|     this.router.navigate(['./pbg/onecar-publish'], { |  | ||||||
|       queryParams: { |  | ||||||
|         id: record?.id, |  | ||||||
|         type: 'add' |  | ||||||
|       } |  | ||||||
|     }) |  | ||||||
|   } |  | ||||||
|   /** |   /** | ||||||
|   * 编辑外部货源号 |   * 编辑外部货源号 | ||||||
|   * @param item st当前行对象 |   * @param item st当前行对象 | ||||||
| @ -168,7 +157,7 @@ export class SupplyManagementVehicleDetailComponent implements OnInit { | |||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|   nextOrder(item: any) { |   nextOrder(item: any) { | ||||||
|     this.router.navigate(['/supply-management/vehicle-amend', item.id], { |     this.router.navigate(['/supply-management/vehicle-next', item.id], { | ||||||
|       queryParams: { |       queryParams: { | ||||||
|         sta: 2 |         sta: 2 | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -324,7 +324,7 @@ export class SupplyManagementVehicleComponent extends BasicTableComponent implem | |||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|   nextOrder(item: any) { |   nextOrder(item: any) { | ||||||
|     this.router.navigate(['/supply-management/vehicle-amend', item.id], { |     this.router.navigate(['/supply-management/vehicle-next', item.id], { | ||||||
|       queryParams: { |       queryParams: { | ||||||
|         sta: 2 |         sta: 2 | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -4,7 +4,7 @@ | |||||||
|  * @Author       : Shiming |  * @Author       : Shiming | ||||||
|  * @Date         : 2021-12-03 11:10:14 |  * @Date         : 2021-12-03 11:10:14 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @LastEditTime : 2022-02-10 14:39:00 |  * @LastEditTime : 2022-04-28 14:45:50 | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\supply-management\\supply-management-routing.module.ts |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\supply-management\\supply-management-routing.module.ts | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
|  */ |  */ | ||||||
| @ -21,13 +21,76 @@ import { SupplyManagementReleasePublishComponent } from './components/release-pu | |||||||
| import { SupplyManagementVehicleDetailComponent } from './components/vehicle-detail/vehicle-detail.component'; | import { SupplyManagementVehicleDetailComponent } from './components/vehicle-detail/vehicle-detail.component'; | ||||||
|  |  | ||||||
| const routes: Routes = [ | const routes: Routes = [ | ||||||
|   { path: 'index', component: SupplyManagementIndexComponent }, |   { | ||||||
|   { path: 'index/bulk-detail/:id', component: SupplyManagementBulkDetailComponent }, |     path: 'index', | ||||||
|   { path: 'index/vehicle-detail/:id', component: SupplyManagementVehicleDetailComponent }, |     component: SupplyManagementIndexComponent, | ||||||
|  |     data: { guard: { ability: ['SUPPLY-INDEX-vehicleSearch', 'SUPPLY-INDEX-bulkSearch'] } } | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     path: 'index/bulk-detail/:id', | ||||||
|  |     component: SupplyManagementBulkDetailComponent, | ||||||
|  |     data: { | ||||||
|  |       guard: { ability: ['SUPPLY-BULK-DETAIL-cancelSupply', 'SUPPLY-BULK-DETAIL-updatePrice', 'SUPPLY-BULK-DETAIL-bulkAnotherOrder'] } | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     path: 'index/vehicle-detail/:id', | ||||||
|  |     component: SupplyManagementVehicleDetailComponent, | ||||||
|  |     data: { | ||||||
|  |       guard: { | ||||||
|  |         ability: [ | ||||||
|  |           'SUPPLY-VEHICLE-DETAIL-cancelSupply', | ||||||
|  |           'SUPPLY-VEHICLE-DETAIL-changeSupply', | ||||||
|  |           'SUPPLY-VEHICLE-DETAIL-vehiclePlaceOrder', | ||||||
|  |           'SUPPLY-VEHICLE-DETAIL-vehicleAnew' | ||||||
|  |         ] | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|   { path: 'add-drivers', component: SupplyManagementAddDriversComponent }, |   { path: 'add-drivers', component: SupplyManagementAddDriversComponent }, | ||||||
|   { path: 'vehicle-amend/:id', component: SupplyManagementOnecarPublishComponent }, |   { | ||||||
|   { path: 'vehicle-release', component: SupplyManagementReleasePublishComponent }, |     path: 'vehicle-amend/:id', | ||||||
|   { path: 'bulk-release', component: SupplyManagementBulkReleasePublishComponent }, |     component: SupplyManagementOnecarPublishComponent, | ||||||
|  |     data: { | ||||||
|  |       guard: { | ||||||
|  |         ability: ['SUPPLY-VEHICLE-AMEND-submitChange'] | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     path: 'vehicle-next/:id', | ||||||
|  |     component: SupplyManagementOnecarPublishComponent, | ||||||
|  |     data: { | ||||||
|  |       guard: { | ||||||
|  |         ability: [ | ||||||
|  |           'SUPPLY-VEHICLE-PLACEORDER-QRCode', | ||||||
|  |           'SUPPLY-VEHICLE-PLACEORDER-vehicleDesignate', | ||||||
|  |           'SUPPLY-VEHICLE-PLACEORDER-vehicleAnotherOrder' | ||||||
|  |         ] | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     path: 'vehicle-release', | ||||||
|  |     component: SupplyManagementReleasePublishComponent, | ||||||
|  |     data: { | ||||||
|  |       guard: { ability: ['SUPPLY-VEHICLE-RELEASE-bulkDesignate', 'SUPPLY-VEHICLE-RELEASE-bulkDriverOrder'] } | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     path: 'bulk-release', | ||||||
|  |     component: SupplyManagementBulkReleasePublishComponent, | ||||||
|  |     data: { | ||||||
|  |       guard: { ability: ['SUPPLY-BULK-RELEASE-consignBulkAssign', 'SUPPLY-BULK-RELEASE-consignBulk'] } | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     path: 'bulk-next/:id', | ||||||
|  |     component: SupplyManagementBulkPublishComponent, | ||||||
|  |     data: { | ||||||
|  |       guard: { ability: ['SUPPLY-BULK-PLACEORDER-vehicleAnotherOrder', 'SUPPLY-BULK-PLACEORDER-vehicleDesignate'] } | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|   { path: 'bulk-amend/:id', component: SupplyManagementBulkPublishComponent } |   { path: 'bulk-amend/:id', component: SupplyManagementBulkPublishComponent } | ||||||
| ]; | ]; | ||||||
|  |  | ||||||
|  | |||||||
| @ -19,7 +19,8 @@ | |||||||
|           更新时间: {{ tabItem.modifyTime }} |           更新时间: {{ tabItem.modifyTime }} | ||||||
|           <a style="margin-left: 8px" target="_blank" [queryParams]="{ type: tabItem.type }" |           <a style="margin-left: 8px" target="_blank" [queryParams]="{ type: tabItem.type }" | ||||||
|             [routerLink]="['/passport/agreement']">预览</a> |             [routerLink]="['/passport/agreement']">预览</a> | ||||||
|           <button nz-button nzType="link" (click)="update()">修改</button> |           <button nz-button nzType="link" (click)="update()" acl | ||||||
|  |             [acl-ability]="['SYSTEM-AGREEMENT-CONFIG-save']">修改</button> | ||||||
|         </div> |         </div> | ||||||
|         <div [innerHTML]="tabItem.agreementContent | safehtml"></div> |         <div [innerHTML]="tabItem.agreementContent | safehtml"></div> | ||||||
|       </nz-card> |       </nz-card> | ||||||
|  | |||||||
| @ -8,14 +8,9 @@ | |||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\sys-setting\\components\\basic-setting\\basic-setting.component.html |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\sys-setting\\components\\basic-setting\\basic-setting.component.html | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
| --> | --> | ||||||
| <app-dynamic-setting-h5 | <app-dynamic-setting-h5 [tabs]="tabs" [configList]="configList" [selectedTab]="selectedTab" | ||||||
|   [tabs]="tabs" |   (selectedEvent)="getConfigList($event)" (saveEvent)="saveAction($event)" [labelWidth]="labelWidth" | ||||||
|   [configList]="configList" |   [isCanSave]="isCanSave"> | ||||||
|   [selectedTab]="selectedTab" |  | ||||||
|   (selectedEvent)="getConfigList($event)" |  | ||||||
|   (saveEvent)="saveAction($event)" |  | ||||||
|   [labelWidth]="labelWidth" |  | ||||||
| > |  | ||||||
|   <custom-element> |   <custom-element> | ||||||
|     <app-parterl-config [configList]="configList"></app-parterl-config> |     <app-parterl-config [configList]="configList"></app-parterl-config> | ||||||
|   </custom-element> |   </custom-element> | ||||||
|  | |||||||
| @ -9,8 +9,8 @@ | |||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
|  */ |  */ | ||||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | import { Component, OnInit, ViewChild } from '@angular/core'; | ||||||
|  | import { ACLService } from '@delon/acl'; | ||||||
| import { SFComponent, SFSchema, SFUISchema } from '@delon/form'; | import { SFComponent, SFSchema, SFUISchema } from '@delon/form'; | ||||||
| import { dateTimePickerUtil } from '@delon/util'; |  | ||||||
| import { SystemService } from '../../services/system.service'; | import { SystemService } from '../../services/system.service'; | ||||||
| const NOJSONTYPE = new Set([8, 12, 13]); | const NOJSONTYPE = new Set([8, 12, 13]); | ||||||
| @Component({ | @Component({ | ||||||
| @ -23,7 +23,10 @@ export class BasicSettingComponent implements OnInit { | |||||||
|   selectedTab: any = null; |   selectedTab: any = null; | ||||||
|   labelWidth = 250; |   labelWidth = 250; | ||||||
|   configList: any = []; |   configList: any = []; | ||||||
|   constructor(public service: SystemService) {} |   isCanSave = false; | ||||||
|  |   constructor(public service: SystemService, private acl: ACLService) { | ||||||
|  |     this.isCanSave = !!acl.data.abilities?.find(a => a === 'SYSTEM-BASIC_SETTING-save'); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   ngOnInit() { |   ngOnInit() { | ||||||
|     this.getTypeList(); |     this.getTypeList(); | ||||||
|  | |||||||
| @ -7,7 +7,7 @@ | |||||||
|             <se label="个人提现手续费" style="margin:15px 0 0 0"> |             <se label="个人提现手续费" style="margin:15px 0 0 0"> | ||||||
|               <div> |               <div> | ||||||
|                 按照提现金额收取 |                 按照提现金额收取 | ||||||
|                 <nz-input-number [(ngModel)]="personValue" [nzMin]="0" [nzMax]="100" [nzPrecision]="2" [nzStep]="0.01"></nz-input-number> |                 <nz-input-number [(ngModel)]="personServe" [nzMin]="0" [nzMax]="100" [nzPrecision]="2" [nzStep]="0.01"></nz-input-number> | ||||||
|                 <span> %手续费 </span> |                 <span> %手续费 </span> | ||||||
|               </div> |               </div> | ||||||
|             </se> |             </se> | ||||||
| @ -15,7 +15,7 @@ | |||||||
|               <div> |               <div> | ||||||
|                 按照提现金额收取 |                 按照提现金额收取 | ||||||
|                 <nz-input-number |                 <nz-input-number | ||||||
|                   [(ngModel)]="enterpriseValue" |                   [(ngModel)]="enterpriseServe" | ||||||
|                   [nzMin]="0" |                   [nzMin]="0" | ||||||
|                   [nzMax]="100" |                   [nzMax]="100" | ||||||
|                   [nzPrecision]="2" |                   [nzPrecision]="2" | ||||||
| @ -52,12 +52,12 @@ | |||||||
|         <div nz-row nzGutter="8"> |         <div nz-row nzGutter="8"> | ||||||
|             <div nz-col nzSpan="24"> |             <div nz-col nzSpan="24"> | ||||||
|                 <span>客户</span> |                 <span>客户</span> | ||||||
|                 <nz-input-number style="margin: 0 10px; "  [(ngModel)]="personValue" [nzMin]="0" [nzMax]="3000" [nzPrecision]="2" [nzStep]="0.1"></nz-input-number> |                 <nz-input-number style="margin: 0 10px; "  [(ngModel)]="silenceClient" [nzMin]="0" [nzMax]="3000" [nzPrecision]="2" [nzStep]="0.1"></nz-input-number> | ||||||
|                 <span>天内没有交易订单的视为“沉默客户”</span> |                 <span>天内没有交易订单的视为“沉默客户”</span> | ||||||
|             </div> |             </div> | ||||||
|             <div nz-col nzSpan="24" style="margin-top: 10px;"> |             <div nz-col nzSpan="24" style="margin-top: 10px;"> | ||||||
|                 <span>客户</span> |                 <span>客户</span> | ||||||
|                 <nz-input-number  style="margin: 0 10px; "   [(ngModel)]="personValue" [nzMin]="0" [nzMax]="3000" [nzPrecision]="2" [nzStep]="0.1"></nz-input-number> |                 <nz-input-number  style="margin: 0 10px; "   [(ngModel)]="loseClient" [nzMin]="0" [nzMax]="3000" [nzPrecision]="2" [nzStep]="0.1"></nz-input-number> | ||||||
|                 <span>天内没有交易订单的视为“流失客户”</span> |                 <span>天内没有交易订单的视为“流失客户”</span> | ||||||
|             </div> |             </div> | ||||||
|             <div nz-col nzSpan="24"> |             <div nz-col nzSpan="24"> | ||||||
| @ -66,15 +66,13 @@ | |||||||
|         </div> |         </div> | ||||||
|       </nz-card> |       </nz-card> | ||||||
|       <div class="mb-md save-btn"> |       <div class="mb-md save-btn"> | ||||||
|         <button class="ml-lg" nz-button nzSize="large" nzType="primary">保存</button> |         <button class="ml-lg" nz-button nzSize="large" nzType="primary" (click)="save()">保存</button> | ||||||
|         <button class="ml-lg" nz-button nzSize="large">取消</button> |  | ||||||
|       </div> |       </div> | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </div> | ||||||
|  |  | ||||||
| <ng-template #auditTimes let-data="data" let-title="title"> | <ng-template #auditTimes let-data="data" let-title="title"> | ||||||
|   <div *ngIf="auditTimeStatus" > |   <div *ngIf="auditTimeStatus" > | ||||||
|     <div style="display: flex"> |  | ||||||
|       <nz-radio-group [(ngModel)]="everyDay" (ngModelChange)="everyDayChange(everyDay)" style="display: block"> |       <nz-radio-group [(ngModel)]="everyDay" (ngModelChange)="everyDayChange(everyDay)" style="display: block"> | ||||||
|         <label nz-radio [nzValue]="1" class="mt-sm" |         <label nz-radio [nzValue]="1" class="mt-sm" | ||||||
|           >每天<span *ngIf="TimeStatus" style="margin-left: 30px; color: #0200ff; cursor: pointer" (click)="addEvery()">添加时间段</span></label |           >每天<span *ngIf="TimeStatus" style="margin-left: 30px; color: #0200ff; cursor: pointer" (click)="addEvery()">添加时间段</span></label | ||||||
| @ -92,7 +90,6 @@ | |||||||
|         </div> |         </div> | ||||||
|         </div> |         </div> | ||||||
|       </div> |       </div> | ||||||
|     </div> |  | ||||||
|     <div > |     <div > | ||||||
|       <nz-radio-group [(ngModel)]="MonthDay" (ngModelChange)="MonthDayChange(MonthDay)"  style="display: block"> |       <nz-radio-group [(ngModel)]="MonthDay" (ngModelChange)="MonthDayChange(MonthDay)"  style="display: block"> | ||||||
|         <label nz-radio [nzValue]="2" class="mt-sm" |         <label nz-radio [nzValue]="2" class="mt-sm" | ||||||
|  | |||||||
| @ -4,6 +4,8 @@ import { NzUploadFile } from 'ng-zorro-antd/upload'; | |||||||
| import { Observable, Observer, of } from 'rxjs'; | import { Observable, Observer, of } from 'rxjs'; | ||||||
| import { apiConf } from '@conf/api.conf'; | import { apiConf } from '@conf/api.conf'; | ||||||
| import { SystemService } from '../../services/system.service'; | import { SystemService } from '../../services/system.service'; | ||||||
|  | const NOJSONTYPE = new Set([8, 12, 13]); | ||||||
|  |  | ||||||
| const IMAGECONFIG = { | const IMAGECONFIG = { | ||||||
|   previewFile: (file: NzUploadFile) => of(file.url), |   previewFile: (file: NzUploadFile) => of(file.url), | ||||||
|   action: apiConf.waterFileUpload, |   action: apiConf.waterFileUpload, | ||||||
| @ -35,13 +37,17 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges { | |||||||
|     isEveryDay: false, |     isEveryDay: false, | ||||||
|     isEveryWeek: false |     isEveryWeek: false | ||||||
|   }; |   }; | ||||||
|   personValue!: number; |   labelWidth = 250; | ||||||
|   enterpriseValue!: number; |  | ||||||
|   auditValue!: number; |   personServe!: number; // 个人提现手续费 | ||||||
|   auditTime!: any; |   enterpriseServe!: number; // 企业提现手续费 | ||||||
|  |   auditValue!: boolean; // 提现审核 | ||||||
|  |   auditTime!: any; // 审核时间 | ||||||
|  |   silenceClient!: number; // 沉默客户 | ||||||
|  |   loseClient!: number; // 流失客户 | ||||||
|  |   everyDay: any; | ||||||
|   auditTimeStatus: boolean = false; |   auditTimeStatus: boolean = false; | ||||||
|   everyDay: boolean = false; |   MonthDay: any; | ||||||
|   MonthDay: boolean = false; |  | ||||||
|   time: Date | null = null; |   time: Date | null = null; | ||||||
|   defaultOpenValue = new Date(0, 0, 0, 0, 0, 0); |   defaultOpenValue = new Date(0, 0, 0, 0, 0, 0); | ||||||
|   tabs = [ |   tabs = [ | ||||||
| @ -105,9 +111,32 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges { | |||||||
|   // }; |   // }; | ||||||
|  |  | ||||||
|   constructor(private service: SystemService) {} |   constructor(private service: SystemService) {} | ||||||
|   ngOnChanges(changes: SimpleChanges): void { |   ngOnChanges(changes: any): void { | ||||||
|     if (changes.configList) { |     if (changes.configList) { | ||||||
|       console.log(changes.configList.currentValue); |       console.log(changes.configList.currentValue[0]?.remark); | ||||||
|  |       this.personServe = changes.configList.currentValue[0]?.remark.personServe, // 个人提现手续费 | ||||||
|  |       this.enterpriseServe= changes.configList.currentValue[0]?.remark.enterpriseServe, // 企业提现手续费 | ||||||
|  |       this.auditValue=  changes.configList.currentValue[0]?.remark.auditValue, // 提现审核 | ||||||
|  |       this.auditTime= changes.configList.currentValue[0]?.remark.auditTime, // 审核时间 | ||||||
|  |       this.silenceClient= changes.configList.currentValue[0]?.remark.silenceClient, // 沉默客户 | ||||||
|  |       this.loseClient= changes.configList.currentValue[0]?.remark.loseClient // 流失客户 | ||||||
|  |       this.everyDayData= changes.configList.currentValue[0]?.remark.everyDayData // 流失客户 | ||||||
|  |       this.MonthDayData= changes.configList.currentValue[0]?.remark.MonthDayData // 流失客户 | ||||||
|  |       if (this.auditTime == '2') { | ||||||
|  |           // 每天 | ||||||
|  |         this.auditTimeStatus = true; | ||||||
|  |           if(this.everyDayData){ | ||||||
|  |             this.everyDayData = this.everyDayData | ||||||
|  |             this.everyDay = 1 | ||||||
|  |           } else if(this.MonthDayData) { | ||||||
|  |           // 每周 | ||||||
|  |           this.MonthDay = 2 | ||||||
|  |           this.MonthDayData = this.MonthDayData | ||||||
|  |           this.TimeStatus =false | ||||||
|  |           } | ||||||
|  |       } else { | ||||||
|  |         this.auditTimeStatus = false; | ||||||
|  |       } | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @ -136,6 +165,8 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges { | |||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|   addMonth() { |   addMonth() { | ||||||
|  |     console.log(this.MonthDayData); | ||||||
|  |     if(this.MonthDayData) { | ||||||
|       this.MonthDayData.push({ |       this.MonthDayData.push({ | ||||||
|         month: [ |         month: [ | ||||||
|           { label: '周一', value: '周一' }, |           { label: '周一', value: '周一' }, | ||||||
| @ -153,6 +184,28 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges { | |||||||
|           } |           } | ||||||
|         ] |         ] | ||||||
|       }); |       }); | ||||||
|  |     } else { | ||||||
|  |       this.MonthDayData = [ | ||||||
|  |         { | ||||||
|  |           month: [ | ||||||
|  |             { label: '周一', value: '周一' }, | ||||||
|  |             { label: '周二', value: '周二' }, | ||||||
|  |             { label: '周三', value: '周三' }, | ||||||
|  |             { label: '周四', value: '周四' }, | ||||||
|  |             { label: '周五', value: '周五' }, | ||||||
|  |             { label: '周六', value: '周六' }, | ||||||
|  |             { label: '周日', value: '周日' } | ||||||
|  |           ], | ||||||
|  |           Times: [ | ||||||
|  |             { | ||||||
|  |               startTime: [], | ||||||
|  |               endTime: [] | ||||||
|  |             } | ||||||
|  |           ] | ||||||
|  |         } | ||||||
|  |       ]; | ||||||
|  |     } | ||||||
|  |      | ||||||
|   } |   } | ||||||
|   delMonth(value: number, index: number) { |   delMonth(value: number, index: number) { | ||||||
|     this.MonthDayData[value].Times.splice(index, 1); |     this.MonthDayData[value].Times.splice(index, 1); | ||||||
| @ -165,14 +218,12 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges { | |||||||
|     console.log(this.MonthDayData); |     console.log(this.MonthDayData); | ||||||
|   } |   } | ||||||
|   everyDayChange(type: any): void { |   everyDayChange(type: any): void { | ||||||
|     console.log(type); |  | ||||||
|     if (type) { |     if (type) { | ||||||
|       this.MonthDay = false; |       this.MonthDay = false; | ||||||
|       this.TimeStatus = true; |       this.TimeStatus = true; | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|   MonthDayChange(type: any): void { |   MonthDayChange(type: any): void { | ||||||
|     console.log(type); |  | ||||||
|     if (type) { |     if (type) { | ||||||
|       this.everyDay = false; |       this.everyDay = false; | ||||||
|       this.TimeStatus = false; |       this.TimeStatus = false; | ||||||
| @ -315,13 +366,63 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges { | |||||||
|     }); |     }); | ||||||
|   }; |   }; | ||||||
|   changeAuto(value: any) { |   changeAuto(value: any) { | ||||||
|     console.log(value); |  | ||||||
|     if (value == '2') { |     if (value == '2') { | ||||||
|       this.auditTimeStatus = true; |       this.auditTimeStatus = true; | ||||||
|     } else { |     } else { | ||||||
|       this.auditTimeStatus = false; |       this.auditTimeStatus = false; | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |   save() { | ||||||
|  |     let params : any = { | ||||||
|  |       personServe: this.personServe, // 个人提现手续费 | ||||||
|  |       enterpriseServe: this.enterpriseServe, // 企业提现手续费 | ||||||
|  |       auditValue: this.auditValue, // 提现审核 | ||||||
|  |       auditTime: this.auditTime, // 审核时间 | ||||||
|  |       silenceClient: this.silenceClient, // 沉默客户 | ||||||
|  |       loseClient: this.loseClient // 流失客户 | ||||||
|  |     }; | ||||||
|  |     if(this.auditTime == '2') { | ||||||
|  |       // 每天 | ||||||
|  |       console.log(this.everyDay); | ||||||
|  |       console.log(this.MonthDay); | ||||||
|  |        | ||||||
|  |       if(this.everyDay){ | ||||||
|  |         params.everyDayData = this.everyDayData | ||||||
|  |       } else if(this.MonthDay) { | ||||||
|  |       // 每周 | ||||||
|  |       params.MonthDayData = this.MonthDayData | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     const pra = Object.assign({}, ...this.configList) | ||||||
|  |     pra.remark =  JSON.stringify(params) | ||||||
|  |     this.service.request(this.service.$api_update_config_batch, [pra]).subscribe(res => { | ||||||
|  |       if (res) { | ||||||
|  |         this.service.msgSrv.success('修改配置成功'); | ||||||
|  |         setTimeout(() => { | ||||||
|  |           this.getConfigList(this.selectedTab); | ||||||
|  |         }, 100); | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|  |      | ||||||
|  |   } | ||||||
|  |   getConfigList(selectedTab: any) { | ||||||
|  |     this.selectedTab = selectedTab; | ||||||
|  |     this.service.request(this.service.$api_get_config_by_parent_id, { id: selectedTab?.id }).subscribe((res: Array<any>) => { | ||||||
|  |       if (res?.length > 0) { | ||||||
|  |         res = res.map(item => ({ | ||||||
|  |           ...item, | ||||||
|  |           remark: item.remark ? JSON.parse(item.remark) : null, | ||||||
|  |           itemValue: item?.itemValue ? (NOJSONTYPE.has(item?.itemType) ? item?.itemValue : JSON.parse(item?.itemValue)) : item?.itemValue, | ||||||
|  |           itemData: item.itemData ? JSON.parse(item.itemData) : item.itemData | ||||||
|  |         })); | ||||||
|  |         const hiddenType = res.find(item => item.itemType === 7 || item.itemType === 999); | ||||||
|  |         this.labelWidth = hiddenType ? 0 : 250; | ||||||
|  |         this.configList = res; | ||||||
|  |       } else { | ||||||
|  |         this.configList = []; | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|   private getImageModel(args: any, key: any) { |   private getImageModel(args: any, key: any) { | ||||||
|     return [ |     return [ | ||||||
|       { |       { | ||||||
|  | |||||||
| @ -29,20 +29,28 @@ import { SmsTemplateComponent } from './components/sms-template/sms-template.com | |||||||
| import { OrganizationManagementComponent } from './components/organization-management/organization-management.component'; | import { OrganizationManagementComponent } from './components/organization-management/organization-management.component'; | ||||||
|  |  | ||||||
| const routes: Routes = [ | const routes: Routes = [ | ||||||
|   { path: 'staff-management', component: StaffManagementComponent }, |   { path: 'staff-management', component: StaffManagementComponent, data: { guard: { ability: ['SYSTEM-STAFF-list'] } } }, | ||||||
|   { path: 'role-management/user/:type', component: RoleManagementComponent }, |   { path: 'role-management/user/:type', component: RoleManagementComponent }, | ||||||
|   { path: 'role-management/freight/:type', component: RoleManagementComponent }, |   { path: 'role-management/freight/:type', component: RoleManagementComponent }, | ||||||
|   { path: 'organization-management', component: OrganizationManagementComponent }, |   { path: 'organization-management', component: OrganizationManagementComponent, data: { guard: { ability: ['SYSTEM-ROLE-list'] } } }, | ||||||
|   { path: 'basic-setting', component: BasicSettingComponent }, |   { path: 'basic-setting', component: BasicSettingComponent, data: { guard: { ability: ['SYSTEM-BASIC_SETTING-list'] } } }, | ||||||
|   { path: 'note-management', component: NoTeManagementComponent }, |   { path: 'note-management', component: NoTeManagementComponent }, | ||||||
|   { path: 'basic-config', component: BasicConfigComponent }, |   { path: 'basic-config', component: BasicConfigComponent }, | ||||||
|   { path: 'audit-reason-config', component: AuditReasonConfigComponent }, |   { path: 'audit-reason-config', component: AuditReasonConfigComponent }, | ||||||
|   { path: 'cart-config', component: CartConfigComponent }, |   { | ||||||
|   { path: 'agreement-config', component: AgreementConfigComponentsBaseComponent }, |     path: 'cart-config', | ||||||
|  |     component: CartConfigComponent, | ||||||
|  |     data: { guard: { ability: ['SYSTEM-CART-CONFIG-modeList', 'SYSTEM-CART-CONFIG-cartLength', 'SYSTEM-CART-CONFIG-goodsList'] } } | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     path: 'agreement-config', | ||||||
|  |     component: AgreementConfigComponentsBaseComponent, | ||||||
|  |     data: { guard: { ability: ['SYSTEM-AGREEMENT-CONFIG-list'] } } | ||||||
|  |   }, | ||||||
|   { path: 'system-config', component: SystemConfigComponent }, |   { path: 'system-config', component: SystemConfigComponent }, | ||||||
|   { path: 'goods-name-config', component: GoodsNameConfigComponent }, |   { path: 'goods-name-config', component: GoodsNameConfigComponent, data: { guard: { ability: ['SYSTEM-GOODS-NAME-CONFIG-list'] } } }, | ||||||
|   { path: 'crm-management', component: CrmManagementComponent }, |   { path: 'crm-management', component: CrmManagementComponent, data: { guard: { ability: ['SYSTEM-CRM-list'] } } }, | ||||||
|   { path: 'network-freight', component: NetworkFreightComponent }, |   { path: 'network-freight', component: NetworkFreightComponent, data: { guard: { ability: ['SYSTEM-NETWORK-FREIGHT-list'] } } }, | ||||||
|   { path: 'network-freight/new/:id', component: NetworkFreightNewComponent }, |   { path: 'network-freight/new/:id', component: NetworkFreightNewComponent }, | ||||||
|   { path: 'close-account', component: CloseAccountComponent }, |   { path: 'close-account', component: CloseAccountComponent }, | ||||||
|   // { path: 'btn-management', component: BtnManagementComponent }, |   // { path: 'btn-management', component: BtnManagementComponent }, | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| /* | /* | ||||||
|  * @Author: your name |  * @Author: your name | ||||||
|  * @Date: 2021-12-03 15:23:05 |  * @Date: 2021-12-03 15:23:05 | ||||||
|  * @LastEditTime : 2022-04-27 15:52:30 |  * @LastEditTime : 2022-04-27 20:54:10 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\sys-setting\\sys-setting.module.ts |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\sys-setting\\sys-setting.module.ts | ||||||
| @ -38,6 +38,7 @@ import { OrganizationManagementComponent } from './components/organization-manag | |||||||
| import { OrganizationModalComponent } from './components/organization-management/organization-modal/organization-modal.component'; | import { OrganizationModalComponent } from './components/organization-management/organization-modal/organization-modal.component'; | ||||||
| import { ApiAuthModalComponent } from './components/organization-management/api-auth-modal/api-auth-modal.component'; | import { ApiAuthModalComponent } from './components/organization-management/api-auth-modal/api-auth-modal.component'; | ||||||
| import { MenuTreeComponent } from './components/organization-management/menu-tree/menu-tree.component'; | import { MenuTreeComponent } from './components/organization-management/menu-tree/menu-tree.component'; | ||||||
|  | import { PartnerSystemConfigComponent } from './components/config/config.component'; | ||||||
|  |  | ||||||
| const COMPONENTS = [ | const COMPONENTS = [ | ||||||
|   StaffManagementComponent, |   StaffManagementComponent, | ||||||
| @ -58,6 +59,7 @@ const COMPONENTS = [ | |||||||
|   NoTeManagementComponent, |   NoTeManagementComponent, | ||||||
|   SmsTemplateComponent, |   SmsTemplateComponent, | ||||||
|   OrganizationManagementComponent, |   OrganizationManagementComponent, | ||||||
|  |   PartnerSystemConfigComponent | ||||||
| ]; | ]; | ||||||
| const NOTROUTECOMPONENTS = [ | const NOTROUTECOMPONENTS = [ | ||||||
|   BuyerTranspowerComponent, |   BuyerTranspowerComponent, | ||||||
|  | |||||||
| @ -179,8 +179,10 @@ export class InvoiceRequestedDetailComponent implements OnInit { | |||||||
|   routeToOrder(item: any) { |   routeToOrder(item: any) { | ||||||
|     if (item.billType === '1') { |     if (item.billType === '1') { | ||||||
|       this.router.navigate(['/order-management/vehicle/vehicle-detail/' + item.billHId]); |       this.router.navigate(['/order-management/vehicle/vehicle-detail/' + item.billHId]); | ||||||
|     } else { |     } else if (item.billType === '2'){ | ||||||
|       this.router.navigate(['/order-management/bulk/bulk-detail/' + item.billHId]); |       this.router.navigate(['/order-management/bulk/bulk-detail/' + item.billHId]); | ||||||
|  |     } else if (item.billType === '3'){ | ||||||
|  |       this.router.navigate(['/order-management/vehicle/vehicle-detail/' + item.billHId]); | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| /* | /* | ||||||
|  * @Author: your name |  * @Author: your name | ||||||
|  * @Date: 2021-12-23 16:50:17 |  * @Date: 2021-12-23 16:50:17 | ||||||
|  * @LastEditTime : 2022-04-21 13:57:43 |  * @LastEditTime : 2022-04-28 13:54:14 | ||||||
|  * @LastEditors  : Shiming |  * @LastEditors  : Shiming | ||||||
|  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE | ||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\invoice-requested\\requested-invoice-modal\\requested-invoice-modal.component.ts |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\invoice-requested\\requested-invoice-modal\\requested-invoice-modal.component.ts | ||||||
| @ -88,7 +88,7 @@ export class RequestedInvoiceModalComponent { | |||||||
|       { title: '订单号', index: 'billHCode', width: 150 }, |       { title: '订单号', index: 'billHCode', width: 150 }, | ||||||
|       { title: '订单完成日期', index: 'billfinTime', type: 'date', width: 150 }, |       { title: '订单完成日期', index: 'billfinTime', type: 'date', width: 150 }, | ||||||
|       { title: '所属项目', index: 'projectIdName', width: 250 }, |       { title: '所属项目', index: 'projectIdName', width: 250 }, | ||||||
|       { title: '订单类型', index: 'billTypeName', width: 90 }, |       { title: '订单类型', index: 'billTypeLabel', width: 90 }, | ||||||
|       { title: '装货地', index: 'loadingfrom', width: 250 }, |       { title: '装货地', index: 'loadingfrom', width: 250 }, | ||||||
|       { title: '卸货地', index: 'loadingto', width: 250 }, |       { title: '卸货地', index: 'loadingto', width: 250 }, | ||||||
|       { title: '货物信息', index: 'goodsinfo', width: 170 }, |       { title: '货物信息', index: 'goodsinfo', width: 170 }, | ||||||
|  | |||||||
| @ -16,8 +16,8 @@ | |||||||
|                 <p style="margin-bottom: 0;word-break:break-all">{{ detailData?.enterpriseName }}</p> |                 <p style="margin-bottom: 0;word-break:break-all">{{ detailData?.enterpriseName }}</p> | ||||||
|               </div> |               </div> | ||||||
|               <div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24"> |               <div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24"> | ||||||
|                 <nz-badge nzStatus="success" nzText="正常" *ngIf="detailData?.stateLocked === 0"></nz-badge> |                 <nz-badge nzStatus="success" nzText="正常" *ngIf="!detailData?.stateLocked"></nz-badge> | ||||||
|                 <nz-badge nzStatus="error" nzText="冻结" *ngIf="detailData?.stateLocked === 1"></nz-badge> |                 <nz-badge nzStatus="error" nzText="冻结" *ngIf="detailData?.stateLocked"></nz-badge> | ||||||
|               </div> |               </div> | ||||||
|             </div> |             </div> | ||||||
|             <div nz-row> |             <div nz-row> | ||||||
| @ -48,30 +48,30 @@ | |||||||
|               保存 |               保存 | ||||||
|             </button> |             </button> | ||||||
|             <button [disabled]="false" nz-button nzDanger (click)="auditPass(true)" |             <button [disabled]="false" nz-button nzDanger (click)="auditPass(true)" | ||||||
|               *ngIf="detailData?.approvalStatus===10" acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-audit']"> |               *ngIf="detailData?.approvalStatus===10" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-DETAIL-pass']"> | ||||||
|               通过 |               通过 | ||||||
|             </button> |             </button> | ||||||
|           </ng-container> |           </ng-container> | ||||||
|           <ng-template #editButton> |           <ng-template #editButton> | ||||||
|             <ng-container *ngIf="detailData?.approvalStatus===10"> |             <ng-container *ngIf="detailData?.approvalStatus===10"> | ||||||
|               <button [disabled]="false" nz-button nzDanger (click)="auditPass(false)" acl |               <button [disabled]="false" nz-button nzDanger (click)="auditPass(false)" acl | ||||||
|                 [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-audit']"> |                 [acl-ability]="['USERCENTER-FREIGHT-LIST-DETAIL-pass']"> | ||||||
|                 通过 |                 通过 | ||||||
|               </button> |               </button> | ||||||
|               <button [disabled]="false" nz-button nzDanger (click)="auditNo()" acl |               <button [disabled]="false" nz-button nzDanger (click)="auditNo()" acl | ||||||
|                 [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-audit']"> |                 [acl-ability]="['USERCENTER-FREIGHT-LIST-DETAIL-pass']"> | ||||||
|                 驳回 |                 驳回 | ||||||
|               </button> |               </button> | ||||||
|             </ng-container> |             </ng-container> | ||||||
|             <ng-container *ngIf="detailData?.approvalStatus!=10"> |             <ng-container *ngIf="detailData?.approvalStatus!=10"> | ||||||
|               <button [disabled]="false" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="enable" |               <button [disabled]="false" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="enable" | ||||||
|                 (nzOnConfirm)="freezeOrResume(0)" nzPopconfirmPlacement="bottomRight" *ngIf="detailData?.stateLocked" |                 (nzOnConfirm)="freezeOrResume(0)" nzPopconfirmPlacement="bottomRight" *ngIf="detailData?.stateLocked" | ||||||
|                 acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-lock']"> |                 acl [acl-ability]="['USERCENTER-FREIGHT-LIST-DETAIL-lock']"> | ||||||
|                 启用 |                 启用 | ||||||
|               </button> |               </button> | ||||||
|               <button [disabled]="false" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="frozen" |               <button [disabled]="false" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="frozen" | ||||||
|                 (nzOnConfirm)="freezeOrResume(1)" nzPopconfirmPlacement="bottomRight" *ngIf="!detailData?.stateLocked" |                 (nzOnConfirm)="freezeOrResume(1)" nzPopconfirmPlacement="bottomRight" *ngIf="!detailData?.stateLocked" | ||||||
|                 acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-lock']"> |                 acl [acl-ability]="['USERCENTER-FREIGHT-LIST-DETAIL-lock']"> | ||||||
|                 冻结 |                 冻结 | ||||||
|               </button> |               </button> | ||||||
|               <button [disabled]="false" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="Payfrozen" |               <button [disabled]="false" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="Payfrozen" | ||||||
| @ -84,7 +84,7 @@ | |||||||
|               </button> |               </button> | ||||||
|             </ng-container> |             </ng-container> | ||||||
|             <button [disabled]="false" nz-button nzDanger (click)="ratify()" acl |             <button [disabled]="false" nz-button nzDanger (click)="ratify()" acl | ||||||
|               [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-save']"> |               [acl-ability]="['USERCENTER-FREIGHT-LIST-DETAIL-save']"> | ||||||
|               修改 |               修改 | ||||||
|             </button> |             </button> | ||||||
|           </ng-template> |           </ng-template> | ||||||
|  | |||||||
| @ -156,7 +156,7 @@ | |||||||
|  |  | ||||||
|             <div class="mb-md save-btn"> |             <div class="mb-md save-btn"> | ||||||
|                 <button class="ml-lg" nz-button nzSize="large" nzType="primary" (click)="saveAction()" |                 <button class="ml-lg" nz-button nzSize="large" nzType="primary" (click)="saveAction()" | ||||||
|                     *ngIf="selectedTab?.configKey!=='freight' && labelWidth!==0">保存</button> |                     *ngIf="selectedTab?.configKey!=='freight' && labelWidth!==0 && isCanSave">保存</button> | ||||||
|             </div> |             </div> | ||||||
|         </div> |         </div> | ||||||
|     </div> |     </div> | ||||||
|  | |||||||
| @ -28,6 +28,8 @@ export class DynamicSettingH5Component implements OnInit { | |||||||
|  |  | ||||||
|   @Input() |   @Input() | ||||||
|   configList: any = []; |   configList: any = []; | ||||||
|  |   @Input() | ||||||
|  |   isCanSave = true; | ||||||
|   @Output() |   @Output() | ||||||
|   selectedEvent = new EventEmitter<any>(); |   selectedEvent = new EventEmitter<any>(); | ||||||
|   @Output() |   @Output() | ||||||
|  | |||||||
| @ -22,7 +22,7 @@ export * from './components/dynamic-setting'; | |||||||
| export * from './components/singlepage-setting'; | export * from './components/singlepage-setting'; | ||||||
| export * from './components/insurance-table/index'; | export * from './components/insurance-table/index'; | ||||||
| export * from './components/rebate-table/index'; | export * from './components/rebate-table/index'; | ||||||
| export * from './components/search-drawer'; | export * from './components/search-drawer/index'; | ||||||
|  |  | ||||||
| // Utils | // Utils | ||||||
| export * from './utils'; | export * from './utils'; | ||||||
|  | |||||||
| @ -39,8 +39,9 @@ import { PipeModule } from './pipes'; | |||||||
| import { AccountDetailComponent } from './components/account-detail/account-detail.component'; | import { AccountDetailComponent } from './components/account-detail/account-detail.component'; | ||||||
| import { CaptchaModule } from './components/captcha'; | import { CaptchaModule } from './components/captcha'; | ||||||
| import { rebateTableModule } from './components/rebate-table'; | import { rebateTableModule } from './components/rebate-table'; | ||||||
| import { SearchDrawerComponent } from './components/search-drawer/search-drawer.component'; | import { SearchDrawerModule } from './components/search-drawer'; | ||||||
| import { SearchDrawerModule } from './components/search-drawer/search-drawer.module'; | // import { SearchDrawerComponent } from './components/search-drawer/search-drawer.component'; | ||||||
|  |  | ||||||
|  |  | ||||||
| const MODULES = [ | const MODULES = [ | ||||||
|   AddressModule, |   AddressModule, | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user