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 | ||||
|  * @Date         : 2022-01-18 09:51:21 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-01-21 16:45:26 | ||||
|  * @LastEditTime : 2022-01-21 16:48:06 | ||||
|  * @FilePath     : \\tms-obc-web\\proxy.conf.js | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
|  */ | ||||
| @ -20,7 +20,7 @@ module.exports = { | ||||
|   // } | ||||
|   '//api': { | ||||
|     target: { | ||||
|       host: 'tms-api-test.eascs.com', | ||||
|       host: 'tms-api-dev.eascs.com', | ||||
|       protocol: 'https:', | ||||
|       port: 443 | ||||
|     }, | ||||
|  | ||||
| @ -0,0 +1,151 @@ | ||||
| <!-- | ||||
|  * @Description  :  | ||||
|  * @Version      : 1.0 | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-01-12 10:52:50 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-01-21 16:57:10 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\receipts-audit\\receipts-audit.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| <!-- 搜索表单 --> | ||||
| <page-header-wrapper [title]="''"> | ||||
| </page-header-wrapper> | ||||
| <nz-card> | ||||
|   <div nz-row nzGutter="8"> | ||||
|     <!-- 查询字段小于或等于3个时,不显示伸缩按钮 --> | ||||
|     <div nz-col nzSpan="24" *ngIf="queryFieldCount <= 4"> | ||||
|       <sf #sf [schema]="schema" [ui]="ui" [mode]="'search'" [disabled]="!sf?.valid" [loading]="service.http.loading" | ||||
|         (formSubmit)="st?.load(1)" (formReset)="resetSF()"></sf> | ||||
|     </div> | ||||
|  | ||||
|     <!-- 查询字段大于3个时,根据展开状态调整布局 --> | ||||
|     <ng-container *ngIf="queryFieldCount > 4"> | ||||
|       <div nz-col [nzSpan]="_$expand ? 24 : 18"> | ||||
|         <sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf> | ||||
|       </div> | ||||
|       <div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand"> | ||||
|         <button nz-button nzType="primary" [nzLoading]="service.http.loading" | ||||
|           (click)="search()">查询</button> | ||||
|         <button nz-button nzType="primary"  [disabled]="service.http.loading" | ||||
|          >导出</button> | ||||
|         <button nz-button [disabled]="service.http.loading" (click)="resetSF()">重置</button> | ||||
|         <button nz-button nzType="link" (click)="expandToggle()"> | ||||
|           {{ !_$expand ? '展开' : '收起' }} | ||||
|           <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> | ||||
|         </button> | ||||
|       </div> | ||||
|     </ng-container> | ||||
|   </div> | ||||
| </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <nz-tabset (nzSelectedIndexChange)="selectChange($event)"  | ||||
|   [nzTabBarExtraContent]="extraTemplate"> | ||||
|   <nz-tab [nzTitle]="'全部('+tabs?.totalCount+')'"></nz-tab> | ||||
|   <nz-tab [nzTitle]="'待审核('+tabs?.receivedQuantity+')'"></nz-tab> | ||||
|   <nz-tab [nzTitle]="'已审核('+tabs?.stayQuantity+')'"></nz-tab> | ||||
| </nz-tabset> | ||||
|   <div style="margin-top: 15px;"> | ||||
|     <st | ||||
|     #st | ||||
|     [bordered]="true" | ||||
|     [scroll]="{ x: '2000px' }" | ||||
|     [data]="service.$api_get_billExamine_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: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" | ||||
|     [loading]="service.http.loading" | ||||
|     > | ||||
|     <ng-template st-row="freightPrice" let-item let-index="index"> | ||||
|       {{ item.freightPrice | currency}} | ||||
|     </ng-template> | ||||
|     <ng-template st-row="loadingLadingBillFilePath" let-item let-index="index"> | ||||
|       <div> | ||||
|         <span><img [src]="item.loadingLadingBillFilePath" alt=""></span> | ||||
|         <span><img [src]="item.loadingPeopleVehiclesGoodsFilePath" alt=""></span> | ||||
|       </div> | ||||
|     </ng-template> | ||||
|     <ng-template st-row="unloadingLadingBillFilePath" let-item let-index="index"> | ||||
|       <span><img [src]="item.unloadingLadingBillFilePath" alt=""></span> | ||||
|       <span><img [src]="item.unloadingPeopleVehiclesGoodsFilePath" alt=""></span> | ||||
|     </ng-template> | ||||
|     <ng-template st-row="loadingTime" let-item let-index="index"> | ||||
|       <div *ngIf="item?.loadingTime">装 | {{item?.loadingTime}}</div> | ||||
|       <div *ngIf="item?.unloadingTime">卸 | {{item?.unloadingTime}}</div> | ||||
|     </ng-template> | ||||
|     <ng-template st-row="driverName" let-item let-index="index"> | ||||
|       <div> | ||||
|         {{item?.driverName}}/{{item?.driverPhone}}/{{item?.carNo}} | ||||
|       </div> | ||||
|       </ng-template> | ||||
|       <ng-template st-row="payeeName" let-item let-index="index"> | ||||
|       <div> | ||||
|         {{item?.payeeName}}/{{item?.payeePhone}} | ||||
|       </div> | ||||
|       </ng-template> | ||||
|     <ng-template st-row="billCode" let-item let-index="index"> | ||||
|       <a [routerLink]="'/order-management/bulk-detail/'+item.id">{{item.billCode}}</a> | ||||
|       <div> | ||||
|         <span>{{item?.billStatusLabel}}</span> | ||||
|       </div> | ||||
|     </ng-template> | ||||
|     <ng-template st-row="goodsName" let-item let-index="index"> | ||||
|       <div>{{item?.goodsName}}</div> | ||||
|       <div> | ||||
|         <span>{{item?.weight ? item?.weight + '吨/' : '' }}</span> | ||||
|         <span>{{item?.volume ? item?.volume + '方/' : '' }}</span> | ||||
|         <span>{{item?.goodsNumber ? item?.goodsNumber + '吨' : '' }}</span> | ||||
|       </div> | ||||
|     </ng-template> | ||||
|     <ng-template st-row="mybidDetailInfo" let-item let-index="index"> | ||||
|       <div *ngIf="item.mybidDetailInfo.length > 0"> | ||||
|         <p *ngFor="let data of item.mybidDetailInfo"> | ||||
|           {{ data.expenseName }}:{{ data.price | currency }} | ||||
|           <span *ngIf="data.paymentStatusLabel" style="color: #f59a63">{{ data.paymentStatusLabel }}</span> | ||||
|         </p> | ||||
|       </div> | ||||
|     </ng-template> | ||||
|       <!-- <ng-template st-row="externalSn" let-item let-index="index"> | ||||
|         <span class="mr-xs">{{111111}}</span> | ||||
|         <a (click)="editEnternalSn(item)">编辑</a> | ||||
|       </ng-template> --> | ||||
|       <ng-template st-row="enStatusStr27878" let-item let-index="index"> | ||||
|         <div class="mr-xs" nzPopoverTitle="Title" nz-popover [nzPopoverContent]="contentTemplate">{{item.no}}</div> | ||||
|       </ng-template> | ||||
|       <ng-template #contentTemplate> | ||||
|         <div> | ||||
|           <p>预付:¥200.00</p> | ||||
|           <p>到付:¥200.00</p> | ||||
|           <p>油卡:¥200.00</p> | ||||
|           <p>回单付:¥200.00</p> | ||||
|           <p>小计:¥200.00</p> | ||||
|           <p>附加费:¥200.00</p> | ||||
|         </div> | ||||
|       </ng-template> | ||||
|     </st> | ||||
|   </div> | ||||
| </nz-card> | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| <ng-template #enable> | ||||
|   <div class="ant-popover-message"> | ||||
|     <i nz-icon nzType="info-circle" nzTheme="fill"></i> | ||||
|     <div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">已选择{{selectedRows?.length || 0}}条订单,确认批量签收吗? | ||||
|     </div> | ||||
|     <div class="ant-popover-message-title ng-star-inserted"> | ||||
|       签收后不可再修改运费,请确保运费等信息准确无误后,再进行签收。 | ||||
|     </div> | ||||
|   </div> | ||||
| </ng-template> | ||||
| <ng-template #extraTemplate> | ||||
|   <div> | ||||
|     <!-- <button  nz-button nzType="primary" nzGhost nz-popconfirm | ||||
| [nzPopconfirmTitle]="enable" (nzOnConfirm)="userAction()" nzPopconfirmPlacement="bottomRight"> | ||||
| 批量签收 | ||||
| </button>  --> | ||||
|   </div> | ||||
| </ng-template> | ||||
| @ -0,0 +1,13 @@ | ||||
|  | ||||
|     :host { | ||||
|      p{ | ||||
|          margin-bottom: 0 | ||||
|      } | ||||
|      .left_btn { | ||||
|           width: 50px; | ||||
|          height: 32px;  | ||||
|           padding-left: 8px; | ||||
|           line-height:32px;  | ||||
|           background-color: #d7d7d7; | ||||
|      } | ||||
|  } | ||||
| @ -0,0 +1,35 @@ | ||||
| /* | ||||
|  * @Description  :  | ||||
|  * @Version      : 1.0 | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-06 20:03:28 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-01-19 16:47:34 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\receipts-audit\\receipts-audit.component.spec.ts | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
|  */ | ||||
|  | ||||
| import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; | ||||
| import { OrderManagementReceiptsAuditComponent } from './compliance-audit.component'; | ||||
|  | ||||
| describe('OrderManagementReceiptsAuditComponent', () => { | ||||
|   let component: OrderManagementReceiptsAuditComponent; | ||||
|   let fixture: ComponentFixture<OrderManagementReceiptsAuditComponent>; | ||||
|  | ||||
|   beforeEach(waitForAsync(() => { | ||||
|     TestBed.configureTestingModule({ | ||||
|       declarations: [ OrderManagementReceiptsAuditComponent ] | ||||
|     }) | ||||
|     .compileComponents(); | ||||
|   })); | ||||
|  | ||||
|   beforeEach(() => { | ||||
|     fixture = TestBed.createComponent(OrderManagementReceiptsAuditComponent); | ||||
|     component = fixture.componentInstance; | ||||
|     fixture.detectChanges(); | ||||
|   }); | ||||
|  | ||||
|   it('should create', () => { | ||||
|     expect(component).toBeTruthy(); | ||||
|   }); | ||||
| }); | ||||
| @ -0,0 +1,446 @@ | ||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { STColumn, STComponent } from '@delon/abc/st'; | ||||
| import { SFComponent, SFDateWidgetSchema, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form'; | ||||
| import { ModalHelper, _HttpClient } from '@delon/theme'; | ||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { map } from 'rxjs/operators'; | ||||
| import { OrderManagementService } from '../../services/order-management.service'; | ||||
| import { UpdateFreightComponent } from '../../modal/bulk/update-freight/update-freight.component'; | ||||
| import { ConfirReceiptComponent } from '../../modal/bulk/confir-receipt/confir-receipt.component'; | ||||
| import { of } from 'rxjs'; | ||||
| import { ShipperBaseService } from '@shared'; | ||||
| import { Router } from '@angular/router'; | ||||
| import { orderManagementVoucherViewComponent } from '../../modal/audit/voucher-view/voucher-view.component'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-order-management-compliance-audit', | ||||
|   templateUrl: './compliance-audit.component.html', | ||||
|   styleUrls: ['./compliance-audit.component.less'] | ||||
| }) | ||||
| export class OrderManagementComplianceAuditComponent implements OnInit { | ||||
|   ui: SFUISchema = {}; | ||||
|   uiView: SFUISchema = {}; | ||||
|   schema: SFSchema = {}; | ||||
|   schemaView: SFSchema = {}; | ||||
|   auditMany = false; | ||||
|   isVisibleView = false; | ||||
|   isVisibleEvaluate = false; | ||||
|   isVisible = false; | ||||
|   _$expand = false; | ||||
|   @ViewChild('st') private readonly st!: STComponent; | ||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; | ||||
|   columns: STColumn[] = []; | ||||
|   resourceStatus: any; | ||||
|   tabs = { | ||||
|     receivedQuantity: 0, | ||||
|     stayQuantity: 0, | ||||
|     totalCount: 0 | ||||
|   }; | ||||
|   constructor( | ||||
|     public service: OrderManagementService, | ||||
|     private modal: NzModalService, | ||||
|     public shipperservice: ShipperBaseService, | ||||
|     private router: Router | ||||
|   ) {} | ||||
|  | ||||
|   /** | ||||
|    * 查询参数 | ||||
|    */ | ||||
|   get reqParams() { | ||||
|     const a: any = {}; | ||||
|     if (this.resourceStatus) { | ||||
|       a.billStatus = this.resourceStatus; | ||||
|     } | ||||
|     const params: any = Object.assign({}, this.sf?.value || {}); | ||||
|     delete params._$expand; | ||||
|     return { | ||||
|       ...a, | ||||
|       ...params, | ||||
|       createTime: { | ||||
|         start: this.sf?.value?.createTime?.[0] || '', | ||||
|         end: this.sf?.value?.createTime?.[1] || '' | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
|   get selectedRows() { | ||||
|     return this.st?.list.filter(item => item.checked) || []; | ||||
|   } | ||||
|   search() { | ||||
|     this.st?.load(1); | ||||
|     this.getGoodsSourceStatistical(); | ||||
|   } | ||||
|   getGoodsSourceStatistical() { | ||||
|     this.tabs = { | ||||
|       receivedQuantity: 0, | ||||
|       stayQuantity: 0, | ||||
|       totalCount: 0 | ||||
|     }; | ||||
|     const params: any = Object.assign({}, this.reqParams || {}); | ||||
|     delete params.billStatus | ||||
|     this.service.request(this.service.$api_get_getAuditStatistical, { ...this.reqParams }).subscribe(res => { | ||||
|       if (res) { | ||||
|         let totalCount = 0; | ||||
|         res.forEach((element: any) => { | ||||
|           if (element.billStatusLabel === '待审核') { | ||||
|             this.tabs.receivedQuantity = element.quantity; | ||||
|           } else if (element.billStatusLabel === '已审核') { | ||||
|             this.tabs.stayQuantity = element.quantity; | ||||
|           } | ||||
|           totalCount += element.quantity; | ||||
|         }); | ||||
|         this.tabs.totalCount = totalCount; | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|   selectChange(e: number) { | ||||
|     this.resourceStatus = e; | ||||
|     this.initST(); | ||||
|     setTimeout(() => { | ||||
|       this.st.load(); | ||||
|       this.getGoodsSourceStatistical(); | ||||
|     }, 500); | ||||
|   } | ||||
|   ngOnInit(): void { | ||||
|     this.getGoodsSourceStatistical(); | ||||
|     this.initSF(); | ||||
|     this.initST(); | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * 初始化查询表单 | ||||
|    */ | ||||
|   initSF() { | ||||
|     this.schema = { | ||||
|       properties: { | ||||
|         _$expand: { type: 'boolean', ui: { hidden: true } }, | ||||
|         billCode: { | ||||
|           type: 'string', | ||||
|           title: '订单号' | ||||
|         }, | ||||
|         resourceCode: { | ||||
|           type: 'string', | ||||
|           title: '货源编号' | ||||
|         }, | ||||
|         shipperAppUserId: { | ||||
|           type: 'string', | ||||
|           title: '货主', | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             serverSearch: true, | ||||
|             searchDebounceTime: 300, | ||||
|             searchLoadingText: '搜索中...', | ||||
|             allowClear: true, | ||||
|             onSearch: (q: any) => { | ||||
|               if (!!q) { | ||||
|                 return this.service | ||||
|                   .request(this.service.$api_enterpriceList, { enterpriseName: q }) | ||||
|                   .pipe(map((res: any) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum)))) | ||||
|                   .toPromise(); | ||||
|               } else { | ||||
|                 return of([]); | ||||
|               } | ||||
|             } | ||||
|           } as SFSelectWidgetSchema | ||||
|         }, | ||||
|         enterpriseProjectId: { | ||||
|           type: 'string', | ||||
|           title: '所属项目', | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             allowClear: true, | ||||
|             asyncData: () => this.service.getEnterpriseProject(), | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|           }, | ||||
|           default: '' | ||||
|         }, | ||||
|         loadingPlace: { | ||||
|           type: 'string', | ||||
|           title: '装货地', | ||||
|           ui: { | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         dischargePlace: { | ||||
|           type: 'string', | ||||
|           title: '卸货地', | ||||
|           ui: { | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         driverName: { | ||||
|           title: '承运司机', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         carNo: { | ||||
|           title: '车牌号', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         carCaptainName: { | ||||
|           title: '车队长', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         paymentStatus: { | ||||
|           title: '支付状态', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             widget: 'dict-select', | ||||
|             params: { dictKey: 'overall:payment:status' }, | ||||
|             containsAllLable: true, | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|           } as SFSelectWidgetSchema | ||||
|         }, | ||||
|         enterpriseInfoId: { | ||||
|           type: 'string', | ||||
|           title: '网络货运人', | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             allowClear: true, | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             }, | ||||
|             asyncData: () => this.shipperservice.getNetworkFreightForwarder() | ||||
|           } | ||||
|         }, | ||||
|         serviceType: { | ||||
|           title: '服务类型', | ||||
|           type: 'string', | ||||
|           default: '', | ||||
|           ui: { | ||||
|             widget: 'dict-select', | ||||
|             params: { dictKey: 'service:type' }, | ||||
|             containsAllLable: true, | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|           } as SFSelectWidgetSchema | ||||
|         }, | ||||
|         settlementBasis: { | ||||
|           title: '装卸凭证', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             widget: 'dict-select', | ||||
|             containsAllLable: true, | ||||
|             params: { dictKey: 'goodresource:settlement:type' }, | ||||
|             containAllLable: true, | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|           } as SFSelectWidgetSchema | ||||
|         } | ||||
|       }, | ||||
|       type: 'object' | ||||
|     }; | ||||
|     this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } }; | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * 初始化数据列表 | ||||
|    */ | ||||
|   initST() { | ||||
|     this.columns = [ | ||||
|       { title: '', type: 'checkbox', fixed: 'left', width: '50px', className: 'text-center' }, | ||||
|       { | ||||
|         title: '订单号', | ||||
|         width: '180px', | ||||
|         fixed: 'left', | ||||
|         className: 'text-left', | ||||
|         render: 'billCode' | ||||
|       }, | ||||
|       { | ||||
|         title: '运费明细', | ||||
|         width: '250px', | ||||
|         className: 'text-right', | ||||
|         render: 'mybidDetailInfo' | ||||
|       }, | ||||
|       { title: '网络货运人', index: 'enterpriseInfoName', width: '220px', className: 'text-left' }, | ||||
|       { title: '货主', index: 'shipperAppUserName', width: '220px', className: 'text-left' }, | ||||
|       { title: '所属项目', index: 'enterpriseProjectName', width: '220px', className: 'text-left' }, | ||||
|       { title: '货源编号', index: 'resourceCode', width: '180px', className: 'text-left' }, | ||||
|       { title: '装货地', index: 'loadingAddressArr', width: '180px', className: 'text-left' }, | ||||
|       { | ||||
|         title: '卸货地', | ||||
|         className: 'text-left', | ||||
|         width: '180px', | ||||
|         index: 'unloadingAddressArr' | ||||
|       }, | ||||
|       { | ||||
|         title: '货物信息', | ||||
|         className: 'text-left', | ||||
|         width: '250px', | ||||
|         render: 'goodsName' | ||||
|       }, | ||||
|       { | ||||
|         title: '承运司机', | ||||
|         className: 'text-left', | ||||
|         width: '250px', | ||||
|         index: 'driverName', | ||||
|         render: 'driverName' | ||||
|       }, | ||||
|       { | ||||
|         title: '收款人', | ||||
|         className: 'text-left', | ||||
|         width: '180px', | ||||
|         index: 'payeeName', | ||||
|         render: 'payeeName' | ||||
|       }, | ||||
|       { | ||||
|         title: '装卸货时间', | ||||
|         width: '200px', | ||||
|         className: 'text-left', | ||||
|         render: 'loadingTime' | ||||
|       }, | ||||
|       { | ||||
|         title: '装货凭证', | ||||
|         width: '180px', | ||||
|         className: 'text-left', | ||||
|         render: 'loadingLadingBillFilePath' | ||||
|       }, | ||||
|       { | ||||
|         title: '卸货凭证', | ||||
|         width: '180px', | ||||
|         className: 'text-left', | ||||
|         render: 'unloadingLadingBillFilePath' | ||||
|       }, | ||||
|       { | ||||
|         title: '操作', | ||||
|         fixed: 'right', | ||||
|         width: '120px', | ||||
|         className: 'text-left', | ||||
|         buttons: [ | ||||
|           { | ||||
|             text: '通过', | ||||
|             click: _record => console.log('1'), | ||||
|             // iif: item => item.billStatus == '5' | ||||
|           }, | ||||
|           { | ||||
|             text: '生成电子单据', | ||||
|             click: _record => this.generate(_record), | ||||
|             // iif: item => item.billStatus == '4' | ||||
|           }, | ||||
|           { | ||||
|             text: '修改', | ||||
|             click: _record => this.modification(_record), | ||||
|             // iif: item => item.billStatus == '4'  | ||||
|           }, | ||||
|         ] | ||||
|       } | ||||
|     ]; | ||||
|   } | ||||
|   /** | ||||
|    * 查询字段个数 | ||||
|    */ | ||||
|   get queryFieldCount(): number { | ||||
|     return Object.keys(this.schema?.properties || {}).length; | ||||
|   } | ||||
|   /** | ||||
|    * 伸缩查询条件 | ||||
|    */ | ||||
|   expandToggle(): void { | ||||
|     this._$expand = !this._$expand; | ||||
|     this.sf?.setValue('/_$expand', this._$expand); | ||||
|   } | ||||
|   tabChange(item: any) {} | ||||
|   /** | ||||
|    * 重置表单 | ||||
|    */ | ||||
|   resetSF(): void { | ||||
|     this.sf.reset(); | ||||
|     this._$expand = false; | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * 导入货源 | ||||
|    */ | ||||
|   importGoodsSource() {} | ||||
|   audit(item: any) {} | ||||
|  | ||||
|   /** | ||||
|    * 审核通过按钮 | ||||
|    */ | ||||
|   handleOK() {} | ||||
|   OpenPrice(item: any) { | ||||
|     this.isVisible = true; | ||||
|   } | ||||
|   // 修改 | ||||
|   modification(item: any) { | ||||
|     const modalRef = this.modal.create({ | ||||
|       nzTitle: '修改', | ||||
|       nzWidth: '50%', | ||||
|       nzContent: orderManagementVoucherViewComponent, | ||||
|       nzComponentParams: { | ||||
|         i: item, | ||||
|         Status: 1 | ||||
|       }, | ||||
|       nzFooter: null | ||||
|     }); | ||||
|     modalRef.afterClose.subscribe((result: any) => { | ||||
|       this.st.load(1); | ||||
|       this.getGoodsSourceStatistical() | ||||
|   }); | ||||
|   } | ||||
|   // 生成电子单据 | ||||
|   generate(item: any) { | ||||
|     const modalRef = this.modal.create({ | ||||
|       nzTitle: '查看凭证', | ||||
|       nzWidth: '50%', | ||||
|       nzContent: orderManagementVoucherViewComponent, | ||||
|       nzComponentParams: { | ||||
|         i: item, | ||||
|         Status: 2 | ||||
|       }, | ||||
|       nzFooter: null | ||||
|     }); | ||||
|     modalRef.afterClose.subscribe((result: any) => { | ||||
|       this.st.load(1); | ||||
|       this.getGoodsSourceStatistical() | ||||
|   }); | ||||
|   } | ||||
|   // 取消订单 | ||||
|   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?.reload(1); | ||||
|             this.getGoodsSourceStatistical(); | ||||
|             this.initST(); | ||||
|           } | ||||
|           this.st?.reload(1); | ||||
|           this.getGoodsSourceStatistical(); | ||||
|         }) | ||||
|     }); | ||||
|   } | ||||
|   // 修改订单 | ||||
|   changeOrder(value: any) { | ||||
|     this.router.navigate(['order-management/bulk-detailChange', value.id]); | ||||
|   } | ||||
| } | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-01-12 10:52:50 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-01-21 11:17:05 | ||||
|  * @LastEditTime : 2022-01-21 16:57:10 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\receipts-audit\\receipts-audit.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| @ -61,6 +61,16 @@ | ||||
|     <ng-template st-row="freightPrice" let-item let-index="index"> | ||||
|       {{ item.freightPrice | currency}} | ||||
|     </ng-template> | ||||
|     <ng-template st-row="loadingLadingBillFilePath" let-item let-index="index"> | ||||
|       <div> | ||||
|         <span><img [src]="item.loadingLadingBillFilePath" alt=""></span> | ||||
|         <span><img [src]="item.loadingPeopleVehiclesGoodsFilePath" alt=""></span> | ||||
|       </div> | ||||
|     </ng-template> | ||||
|     <ng-template st-row="unloadingLadingBillFilePath" let-item let-index="index"> | ||||
|       <span><img [src]="item.unloadingLadingBillFilePath" alt=""></span> | ||||
|       <span><img [src]="item.unloadingPeopleVehiclesGoodsFilePath" alt=""></span> | ||||
|     </ng-template> | ||||
|     <ng-template st-row="loadingTime" let-item let-index="index"> | ||||
|       <div *ngIf="item?.loadingTime">装 | {{item?.loadingTime}}</div> | ||||
|       <div *ngIf="item?.unloadingTime">卸 | {{item?.unloadingTime}}</div> | ||||
|  | ||||
| @ -32,12 +32,8 @@ export class OrderManagementReceiptsAuditComponent implements OnInit { | ||||
|   columns: STColumn[] = []; | ||||
|   resourceStatus: any; | ||||
|   tabs = { | ||||
|     cancelQuantity: 0, | ||||
|     receivedQuantity: 0, | ||||
|     stayQuantity: 0, | ||||
|     signQuantity: 0, | ||||
|     compolatelQuantity: 0, | ||||
|     GoingQuantity: 0, | ||||
|     totalCount: 0 | ||||
|   }; | ||||
|   constructor( | ||||
| @ -75,15 +71,13 @@ export class OrderManagementReceiptsAuditComponent implements OnInit { | ||||
|   } | ||||
|   getGoodsSourceStatistical() { | ||||
|     this.tabs = { | ||||
|       cancelQuantity: 0, | ||||
|       receivedQuantity: 0, | ||||
|       stayQuantity: 0, | ||||
|       signQuantity: 0, | ||||
|       compolatelQuantity: 0, | ||||
|       GoingQuantity: 0, | ||||
|       totalCount: 0 | ||||
|     }; | ||||
|     this.service.request(this.service.$api_getBulkStatistical, { ...this.reqParams }).subscribe(res => { | ||||
|     const params: any = Object.assign({}, this.reqParams || {}); | ||||
|     delete params.billStatus | ||||
|     this.service.request(this.service.$api_get_getAuditStatistical, { ...this.reqParams }).subscribe(res => { | ||||
|       if (res) { | ||||
|         let totalCount = 0; | ||||
|         res.forEach((element: any) => { | ||||
| @ -324,13 +318,13 @@ export class OrderManagementReceiptsAuditComponent implements OnInit { | ||||
|         title: '装货凭证', | ||||
|         width: '180px', | ||||
|         className: 'text-left', | ||||
|         index: 'createTime' | ||||
|         render: 'loadingLadingBillFilePath' | ||||
|       }, | ||||
|       { | ||||
|         title: '卸货凭证', | ||||
|         width: '180px', | ||||
|         className: 'text-left', | ||||
|         index: 'createTime' | ||||
|         render: 'unloadingLadingBillFilePath' | ||||
|       }, | ||||
|       { | ||||
|         title: '操作', | ||||
|  | ||||
| @ -4,8 +4,8 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-15 13:17:42 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-01-18 17:23:52 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\sure-arrive\\sure-arrive.component.html | ||||
|  * @LastEditTime : 2022-01-21 16:59:43 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\audit\\voucher-view\\voucher-view.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
|  | ||||
| @ -25,6 +25,7 @@ | ||||
| </sf> | ||||
|  | ||||
| <div class="modal-footer"> | ||||
|   <button nz-button type="button" (click)="close()">关闭</button> | ||||
|   <button nz-button type="submit" nzType="primary" (click)="save(sf.value)" [nzLoading]="http.loading">确认到车</button> | ||||
|   <button nz-button type="button"   *ngIf="Status === 1" (click)="close()">关闭</button> | ||||
|   <button nz-button type="submit"   *ngIf="Status === 1" nzType="primary" (click)="save(sf.value)" [nzLoading]="http.loading">确定</button> | ||||
|   <button nz-button type="submit"  nzType="primary" *ngIf="Status !== 1" (click)="save(sf.value)" [nzLoading]="http.loading">生成电子单据</button> | ||||
| </div> | ||||
|  | ||||
| @ -17,9 +17,9 @@ import { apiConf } from '@conf/api.conf'; | ||||
| import { _HttpClient } from '@delon/theme'; | ||||
| import { NzMessageService } from 'ng-zorro-antd/message'; | ||||
| import { NzModalRef } from 'ng-zorro-antd/modal'; | ||||
| import { WaybillManagementServe } from 'src/app/routes/waybill-management/services/waybill-management.service'; | ||||
| import { Observable, Observer } from 'rxjs'; | ||||
| import { EAEnvironmentService } from '@shared'; | ||||
| import { OrderManagementService } from '../../../services/order-management.service'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-order-management-voucher-view', | ||||
| @ -39,10 +39,10 @@ export class orderManagementVoucherViewComponent implements OnInit { | ||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; | ||||
|   schema: SFSchema = {}; | ||||
|   ui: SFUISchema = {}; | ||||
|   constructor(private modal: NzModalRef, private msgSrv: NzMessageService, public http: _HttpClient, public service: WaybillManagementServe,private datePipe: DatePipe,private envSrv: EAEnvironmentService, ) {} | ||||
|   constructor(private modal: NzModalRef, private msgSrv: NzMessageService, public http: _HttpClient, public service: OrderManagementService,private datePipe: DatePipe,private envSrv: EAEnvironmentService, ) {} | ||||
|  | ||||
|   ngOnInit(): void { | ||||
|     console.log(this.i) | ||||
|     // console.log(this.i) | ||||
|     this.initData() | ||||
|     this.i.time = this.i.loadingTime; | ||||
|     this.initSF(); | ||||
| @ -52,7 +52,7 @@ export class orderManagementVoucherViewComponent implements OnInit { | ||||
|  | ||||
|     this.schema = { | ||||
|       properties: { | ||||
|         imgUrl3: { | ||||
|         loadingLadingBillFilePath: { | ||||
|           type: 'string', | ||||
|           title: '装货凭证', | ||||
|           ui: { | ||||
| @ -90,7 +90,7 @@ export class orderManagementVoucherViewComponent implements OnInit { | ||||
|             listType: 'picture-card', | ||||
|           } as SFUploadWidgetSchema, | ||||
|         }, | ||||
|         imgUrl4: { | ||||
|         loadingPeopleVehiclesGoodsFilePath: { | ||||
|           type: 'string', | ||||
|           title: '', | ||||
|           ui: { | ||||
| @ -136,7 +136,7 @@ export class orderManagementVoucherViewComponent implements OnInit { | ||||
|            }, | ||||
|            default: '单张大小不超过5M,支持.jpg、.jpeg和 .png格式', | ||||
|         }, | ||||
|         imgUrl1: { | ||||
|         unloadingLadingBillFilePath: { | ||||
|           type: 'string', | ||||
|           title: '卸货凭证', | ||||
|           ui: { | ||||
| @ -174,7 +174,7 @@ export class orderManagementVoucherViewComponent implements OnInit { | ||||
|             listType: 'picture-card', | ||||
|           } as SFUploadWidgetSchema, | ||||
|         }, | ||||
|         imgUrl2: { | ||||
|         unloadingPeopleVehiclesGoodsFilePath: { | ||||
|           type: 'string', | ||||
|           title: '', | ||||
|           ui: { | ||||
| @ -218,7 +218,7 @@ export class orderManagementVoucherViewComponent implements OnInit { | ||||
|   }else { | ||||
|     this.schema = { | ||||
|       properties: { | ||||
|         imgUrl3: { | ||||
|         loadingLadingBillFilePath: { | ||||
|           type: 'string', | ||||
|           title: '装货凭证', | ||||
|           readOnly: true, | ||||
| @ -257,7 +257,7 @@ export class orderManagementVoucherViewComponent implements OnInit { | ||||
|             listType: 'picture-card', | ||||
|           } as SFUploadWidgetSchema, | ||||
|         }, | ||||
|         imgUrl4: { | ||||
|         loadingPeopleVehiclesGoodsFilePath: { | ||||
|           type: 'string', | ||||
|           title: '', | ||||
|           readOnly: true, | ||||
| @ -304,7 +304,7 @@ export class orderManagementVoucherViewComponent implements OnInit { | ||||
|            }, | ||||
|            default: '单张大小不超过5M,支持.jpg、.jpeg和 .png格式', | ||||
|         }, | ||||
|         imgUrl1: { | ||||
|         unloadingLadingBillFilePath: { | ||||
|           type: 'string', | ||||
|           title: '卸货凭证', | ||||
|           readOnly: true, | ||||
| @ -343,7 +343,7 @@ export class orderManagementVoucherViewComponent implements OnInit { | ||||
|             listType: 'picture-card', | ||||
|           } as SFUploadWidgetSchema, | ||||
|         }, | ||||
|         imgUrl2: { | ||||
|         unloadingPeopleVehiclesGoodsFilePath: { | ||||
|           type: 'string', | ||||
|           title: '', | ||||
|           readOnly: true, | ||||
| @ -391,10 +391,10 @@ export class orderManagementVoucherViewComponent implements OnInit { | ||||
|         spanLabelFixed: 100, | ||||
|         grid: { span: 20 } | ||||
|       }, | ||||
|       $imgUrl1: { grid: { span: 12} }, | ||||
|       $imgUrl2: { grid: { span: 12} }, | ||||
|       $imgUrl3: { grid: { span: 12} }, | ||||
|       $imgUrl4: { grid: { span: 12} }, | ||||
|       $unloadingLadingBillFilePath: { grid: { span: 12} }, | ||||
|       $unloadingPeopleVehiclesGoodsFilePath: { grid: { span: 12} }, | ||||
|       $loadingLadingBillFilePath: { grid: { span: 12} }, | ||||
|       $loadingPeopleVehiclesGoodsFilePath: { grid: { span: 12} }, | ||||
|     }; | ||||
|   } | ||||
|   save(value: any): void { | ||||
| @ -405,17 +405,17 @@ export class orderManagementVoucherViewComponent implements OnInit { | ||||
|        } | ||||
|        const params = { | ||||
|         id: this.i.id, | ||||
|         imgUrl1: value.imgUrl1.data.fullFilePath, | ||||
|         imgUrl2: value.imgUrl2.data.fullFilePath, | ||||
|         unloadingLadingBillFilePath: value.unloadingLadingBillFilePath.data.fullFilePath, | ||||
|         unloadingPeopleVehiclesGoodsFilePath: value.unloadingPeopleVehiclesGoodsFilePath.data.fullFilePath, | ||||
|         time: value.time, | ||||
|       } | ||||
|       params.time = this.datePipe.transform(value.time, 'yyyy-MM-dd HH:mm:ss ') | ||||
|       this.service.request(this.service.$api_get_insertWholeUnloadCarInfo, params).subscribe((res) => { | ||||
|         if(res) { | ||||
|           this.service.msgSrv.success('确认到车成功!') | ||||
|            this.modal.destroy(true); | ||||
|         } | ||||
|       }) | ||||
|       // params.time = this.datePipe.transform(value.time, 'yyyy-MM-dd HH:mm:ss ') | ||||
|       // this.service.request(this.service.$api_get_insertWholeUnloadCarInfo, params).subscribe((res) => { | ||||
|       //   if(res) { | ||||
|       //     this.service.msgSrv.success('确认到车成功!') | ||||
|       //      this.modal.destroy(true); | ||||
|       //   } | ||||
|       // }) | ||||
|     } else { | ||||
|       if(!value.time || !this.data.weight) { | ||||
|         this.service.msgSrv.warning('必填项为空!') | ||||
| @ -425,48 +425,70 @@ export class orderManagementVoucherViewComponent implements OnInit { | ||||
|         console.log(this.i) | ||||
|         const params = { | ||||
|           id: this.i?.id, | ||||
|           imgUrl1: value.imgUrl1.data.fullFilePath, | ||||
|           imgUrl2: value.imgUrl2.data.fullFilePath, | ||||
|           unloadingLadingBillFilePath: value.unloadingLadingBillFilePath.data.fullFilePath, | ||||
|           unloadingPeopleVehiclesGoodsFilePath: value.unloadingPeopleVehiclesGoodsFilePath.data.fullFilePath, | ||||
|           time: value.time, | ||||
|           volume: this.data.volume, | ||||
|           weight: this.data.weight | ||||
|         } | ||||
|         params.time = this.datePipe.transform(value.time, 'yyyy-MM-dd HH:mm:ss ') | ||||
|         console.log(params) | ||||
|         this.service.request(this.service.$api_get_insertBulkUnloadCarInfo, params).subscribe((res) => { | ||||
|           if(res) { | ||||
|             this.service.msgSrv.success('确认到车成功!') | ||||
|              this.modal.destroy(true); | ||||
|           } | ||||
|         }) | ||||
|         // params.time = this.datePipe.transform(value.time, 'yyyy-MM-dd HH:mm:ss ') | ||||
|         // console.log(params) | ||||
|         // this.service.request(this.service.$api_get_insertBulkUnloadCarInfo, params).subscribe((res) => { | ||||
|         //   if(res) { | ||||
|         //     this.service.msgSrv.success('确认到车成功!') | ||||
|         //      this.modal.destroy(true); | ||||
|         //   } | ||||
|         // }) | ||||
|     } | ||||
|  | ||||
|   } | ||||
|     //  确认到车界面信息(两个只能看的图片) | ||||
|   initData() { | ||||
|     this.service.request(this.service.$api_get_getUnloadCarInfo, { id : this.i?.id}).subscribe((res) => { | ||||
|     this.service.request(this.service.$api_get_getCredentials, { id : this.i?.id}).subscribe((res) => { | ||||
|       console.log(res) | ||||
|       if (res.imgUrl1) { | ||||
|     if (res.unloadingLadingBillFilePath) { | ||||
|     this.formData = { | ||||
|           imgUrl3: [ | ||||
|           loadingLadingBillFilePath: [ | ||||
|             { | ||||
|               uid: 'logo', | ||||
|               name: 'LOGO', | ||||
|               status: 'done', | ||||
|               url: res.imgUrl1, | ||||
|               url: res.loadingLadingBillFilePath, | ||||
|               response: { | ||||
|                 url: res.imgUrl1, | ||||
|                 url: res.loadingLadingBillFilePath, | ||||
|               }, | ||||
|             }, | ||||
|       ], | ||||
|           imgUrl4: [ | ||||
|     loadingPeopleVehiclesGoodsFilePath: [ | ||||
|         { | ||||
|           uid: 'logo', | ||||
|           name: 'LOGO', | ||||
|           status: 'done', | ||||
|               url: res.imgUrl2, | ||||
|           url: res.loadingPeopleVehiclesGoodsFilePath, | ||||
|           response: { | ||||
|                 url: res.imgUrl2, | ||||
|             url: res.loadingPeopleVehiclesGoodsFilePath, | ||||
|           }, | ||||
|         }, | ||||
|      ], | ||||
|     unloadingLadingBillFilePath: [ | ||||
|     { | ||||
|       uid: 'logo', | ||||
|       name: 'LOGO', | ||||
|       status: 'done', | ||||
|       url: res.unloadingLadingBillFilePath, | ||||
|       response: { | ||||
|         url: res.unloadingLadingBillFilePath, | ||||
|       }, | ||||
|     }, | ||||
|     ], | ||||
|     unloadingPeopleVehiclesGoodsFilePath: [ | ||||
|             { | ||||
|               uid: 'logo', | ||||
|               name: 'LOGO', | ||||
|               status: 'done', | ||||
|               url: res.unloadingPeopleVehiclesGoodsFilePath, | ||||
|               response: { | ||||
|                 url: res.unloadingPeopleVehiclesGoodsFilePath, | ||||
|               }, | ||||
|             }, | ||||
|       ], | ||||
|  | ||||
| @ -15,6 +15,7 @@ import { OrderManagementBulkeDetailComponent } from './components/bulk-detail/bu | ||||
| import { OrderManagementBulkComponent } from './components/bulk/bulk.component'; | ||||
| import { OrderManagementComplaintDetailComponent } from './components/complaint-detail/complaint-detail.component'; | ||||
| import { OrderManagementComplaintComponent } from './components/complaint/complaint.component'; | ||||
| import { OrderManagementComplianceAuditComponent } from './components/compliance-audit/compliance-audit.component'; | ||||
| import { OrderManagementReceiptsAuditComponent } from './components/receipts-audit/receipts-audit.component'; | ||||
| import { OrderManagementRiskDetailComponent } from './components/risk-detail/risk-detail.component'; | ||||
| import { OrderManagementRiskComponent } from './components/risk/risk.component'; | ||||
| @ -34,6 +35,7 @@ const routes: Routes = [ | ||||
|   { path: 'complaint', component: OrderManagementComplaintComponent }, | ||||
|   { path: 'complaint-detail/:id', component: OrderManagementComplaintDetailComponent }, | ||||
|   { path: 'receipts-audit', component: OrderManagementReceiptsAuditComponent }, | ||||
|   { path: 'compliance-audit', component: OrderManagementComplianceAuditComponent }, | ||||
| ] | ||||
| @NgModule({ | ||||
|   imports: [RouterModule.forChild(routes)], | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-01-06 09:24:00 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-01-21 11:12:17 | ||||
|  * @LastEditTime : 2022-01-21 17:14:17 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\order-management.module.ts | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
|  */ | ||||
| @ -16,6 +16,7 @@ import { OrderManagementBulkeDetailComponent } from './components/bulk-detail/bu | ||||
| import { OrderManagementBulkComponent } from './components/bulk/bulk.component'; | ||||
| import { OrderManagementComplaintDetailComponent } from './components/complaint-detail/complaint-detail.component'; | ||||
| import { OrderManagementComplaintComponent } from './components/complaint/complaint.component'; | ||||
| import { OrderManagementComplianceAuditComponent } from './components/compliance-audit/compliance-audit.component'; | ||||
| import { OrderManagementReceiptsAuditComponent } from './components/receipts-audit/receipts-audit.component'; | ||||
| import { OrderManagementRiskDetailComponent } from './components/risk-detail/risk-detail.component'; | ||||
| import { OrderManagementRiskComponent } from './components/risk/risk.component'; | ||||
| @ -58,7 +59,8 @@ const COMPONENTS: Type<void>[] = [ | ||||
|   VehicleModifyCaptainComponent, | ||||
|   OrderManagementComplaintDetailComponent, | ||||
|   OrderManagementReceiptsAuditComponent, | ||||
|   orderManagementVoucherViewComponent | ||||
|   orderManagementVoucherViewComponent, | ||||
|   OrderManagementComplianceAuditComponent | ||||
| ]; | ||||
|  | ||||
| @NgModule({ | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-03 15:31:52 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-01-21 10:47:08 | ||||
|  * @LastEditTime : 2022-01-21 16:51:32 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
|  */ | ||||
| @ -133,6 +133,8 @@ export class OrderManagementService extends ShipperBaseService { | ||||
|   public $api_get_getCredentials = '/api/sdc/billExamine/getCredentials'; | ||||
|     // 单据审核 | ||||
|   public $api_get_billAudit = '/api/sdc/billExamine/billAudit'; | ||||
|     // 统计单据审核状态数量 | ||||
|   public $api_get_getAuditStatistical = '/api/sdc/billExamine/getAuditStatistical'; | ||||
|   /** | ||||
|    * 根据企业ID,获取企业历史网络货运人 | ||||
|    * @returns | ||||
|  | ||||
| @ -163,11 +163,21 @@ | ||||
|                 "icon": "anticon anticon-dashboard", | ||||
|                 "link": "/order-management/risk" | ||||
|               }, | ||||
|               { | ||||
|                 "text": "单据审核", | ||||
|                 "icon": "anticon anticon-dashboard", | ||||
|                 "link": "/order-management/receipts-audit" | ||||
|               }, | ||||
|               { | ||||
|                 "text": "投诉管理", | ||||
|                 "icon": "anticon anticon-dashboard", | ||||
|                 "link": "/order-management/complaint" | ||||
|               }, | ||||
|               { | ||||
|                 "text": "合规抽查", | ||||
|                 "icon": "anticon anticon-dashboard", | ||||
|                 "link": "/order-management/compliance-audit" | ||||
|               }, | ||||
|               { | ||||
|                 "text": "整车订单详情", | ||||
|                 "icon": "anticon anticon-dashboard", | ||||
|  | ||||
		Reference in New Issue
	
	Block a user