车辆接口更新
This commit is contained in:
		| @ -4,8 +4,8 @@ | ||||
|  * @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 | ||||
|  * @LastEditTime : 2022-01-24 10:27:04 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\compliance-audit\\compliance-audit.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| <!-- 搜索表单 --> | ||||
| @ -43,15 +43,16 @@ | ||||
|   <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-tab [nzTitle]="'待抽查('+tabs?.spotQuantity+')'"></nz-tab> | ||||
|   <nz-tab [nzTitle]="'合格('+tabs?.qualifiedtity+')'"></nz-tab> | ||||
|   <nz-tab [nzTitle]="'不合格('+tabs?.unstayQuantity+')'"></nz-tab> | ||||
| </nz-tabset> | ||||
|   <div style="margin-top: 15px;"> | ||||
|     <st | ||||
|     #st | ||||
|     [bordered]="true" | ||||
|     [scroll]="{ x: '2000px' }" | ||||
|     [data]="service.$api_get_billExamine_page" | ||||
|     [data]="service.$api_get_listCompliancePage" | ||||
|     [columns]="columns" | ||||
|     [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||
|     [res]="{ reName: { list: 'data.records', total: 'data.total' } }" | ||||
| @ -61,16 +62,6 @@ | ||||
|     <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> | ||||
| @ -107,45 +98,50 @@ | ||||
|         </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  nz-button nzType="primary" (click)="audit()"> | ||||
| 批量签收 | ||||
| </button>  --> | ||||
| </button>  | ||||
|   </div> | ||||
| </ng-template> | ||||
| </ng-template> | ||||
|  | ||||
|  | ||||
| <nz-modal [(nzVisible)]="isVisibleRE"  [nzWidth]="600" [nzFooter]="nzModalFooterview2"  (nzOnOk)="handleOK()" nzTitle="审核" (nzOnCancel)="handleCancel('1')"> | ||||
|   <ng-container *nzModalContent> | ||||
|     <sf #sfView [schema]="schemaView" [ui]="uiView" [compact]="true" [button]="'none'"> | ||||
|     </sf> | ||||
|   </ng-container> | ||||
|   <ng-template #nzModalFooterview2> | ||||
|     <button nz-button nzType="default" (click)="reject()">不合格</button> | ||||
|     <button nz-button nzType="primary" (click)="handleOK()">合格</button> | ||||
|   </ng-template> | ||||
| </nz-modal> | ||||
|  | ||||
| <nz-modal [(nzVisible)]="isVisible"  [nzWidth]="600" [nzFooter]="nzModalFooter" nzTitle="运费变更记录"  (nzOnCancel)="handleCancel('0')"> | ||||
|   <ng-container *nzModalContent> | ||||
|     <st | ||||
|     #stFloat | ||||
|     multiSort | ||||
|     size="small" | ||||
|     [bordered]="true" | ||||
|     [data]="service.$api_get_listChangeApply" | ||||
|     [columns]="columnsFloat" | ||||
|     [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: changeParams }" | ||||
|     [res]="{ reName: { list: 'data', total: 'data.total' } }" | ||||
|      | ||||
|   > | ||||
|   <ng-template st-row="order" let-item let-index="index"> | ||||
|     {{ index + 1 }} | ||||
|   </ng-template> | ||||
|   </st> | ||||
|   </ng-container> | ||||
|   <ng-template #nzModalFooter> | ||||
|     <button nz-button nzType="primary" (click)="handleCancel('0')">取消</button> | ||||
|     <button nz-button nzType="default" (click)="handleCancel('0')">确定</button> | ||||
|   </ng-template> | ||||
| </nz-modal> | ||||
| @ -22,19 +22,27 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | ||||
|   uiView: SFUISchema = {}; | ||||
|   schema: SFSchema = {}; | ||||
|   schemaView: SFSchema = {}; | ||||
|   changeId: any;       // 主页面查看运费变更记录id - 用于运费变更记录 | ||||
|   auditId: any; | ||||
|   auditMany = false; | ||||
|   isVisibleView = false; | ||||
|   isVisibleEvaluate = false; | ||||
|   isVisible = false; | ||||
|   isVisibleRE = false; | ||||
|   _$expand = false; | ||||
|   @ViewChild('st') private readonly st!: STComponent; | ||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; | ||||
|   @ViewChild('sfView', { static: false }) sfView!: SFComponent; | ||||
|   @ViewChild('stFloat') private readonly stFloat!: STComponent; | ||||
|   @ViewChild('stFloatView') private readonly stFloatView!: STComponent; | ||||
|   columns: STColumn[] = []; | ||||
|   columnsFloat: STColumn[] = []; | ||||
|   resourceStatus: any; | ||||
|   tabs = { | ||||
|     receivedQuantity: 0, | ||||
|     stayQuantity: 0, | ||||
|     totalCount: 0 | ||||
|     totalCount: 0, | ||||
|     qualifiedtity: 0, | ||||
|     spotQuantity: 0, | ||||
|     unstayQuantity: 0 | ||||
|   }; | ||||
|   constructor( | ||||
|     public service: OrderManagementService, | ||||
| @ -62,6 +70,11 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
|   get changeParams() { | ||||
|     return { | ||||
|       id: this.changeId | ||||
|     }; | ||||
|   } | ||||
|   get selectedRows() { | ||||
|     return this.st?.list.filter(item => item.checked) || []; | ||||
|   } | ||||
| @ -71,20 +84,23 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | ||||
|   } | ||||
|   getGoodsSourceStatistical() { | ||||
|     this.tabs = { | ||||
|       receivedQuantity: 0, | ||||
|       stayQuantity: 0, | ||||
|       totalCount: 0 | ||||
|       totalCount: 0, | ||||
|       qualifiedtity: 0, | ||||
|       spotQuantity: 0, | ||||
|       unstayQuantity: 0 | ||||
|     }; | ||||
|     const params: any = Object.assign({}, this.reqParams || {}); | ||||
|     delete params.billStatus | ||||
|     this.service.request(this.service.$api_get_getAuditStatistical, { ...this.reqParams }).subscribe(res => { | ||||
|     this.service.request(this.service.$api_get_getComplianceStatisticalStatus, { ...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; | ||||
|           if (element.complianceStatusLabel === '待抽查') { | ||||
|             this.tabs.spotQuantity = element.quantity; | ||||
|           } else if (element.complianceStatusLabel === '合格') { | ||||
|             this.tabs.qualifiedtity = element.quantity; | ||||
|           } else if (element.complianceStatusLabel === '不合格') { | ||||
|             this.tabs.qualifiedtity = element.quantity; | ||||
|           } | ||||
|           totalCount += element.quantity; | ||||
|         }); | ||||
| @ -239,19 +255,19 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | ||||
|             } | ||||
|           } as SFSelectWidgetSchema | ||||
|         }, | ||||
|         settlementBasis: { | ||||
|           title: '装卸凭证', | ||||
|         createTime: { | ||||
|           title: '创建时间', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             widget: 'dict-select', | ||||
|             containsAllLable: true, | ||||
|             params: { dictKey: 'goodresource:settlement:type' }, | ||||
|             containAllLable: true, | ||||
|             widget: 'date', | ||||
|             mode: 'range', | ||||
|             format: 'yyyy-MM-dd', | ||||
|             allowClear: true, | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|           } as SFSelectWidgetSchema | ||||
|         } | ||||
|           } as SFDateWidgetSchema | ||||
|         }, | ||||
|       }, | ||||
|       type: 'object' | ||||
|     }; | ||||
| @ -272,7 +288,7 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | ||||
|         render: 'billCode' | ||||
|       }, | ||||
|       { | ||||
|         title: '运费明细', | ||||
|         title: '费用明细', | ||||
|         width: '250px', | ||||
|         className: 'text-right', | ||||
|         render: 'mybidDetailInfo' | ||||
| @ -280,6 +296,7 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | ||||
|       { 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: 'wayBillCode', width: '220px', className: 'text-left' }, | ||||
|       { title: '货源编号', index: 'resourceCode', width: '180px', className: 'text-left' }, | ||||
|       { title: '装货地', index: 'loadingAddressArr', width: '180px', className: 'text-left' }, | ||||
|       { | ||||
| @ -315,16 +332,28 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | ||||
|         render: 'loadingTime' | ||||
|       }, | ||||
|       { | ||||
|         title: '装货凭证', | ||||
|         title: '创建时间', | ||||
|         width: '180px', | ||||
|         className: 'text-left', | ||||
|         render: 'loadingLadingBillFilePath' | ||||
|         index: 'createTime' | ||||
|       }, | ||||
|       { | ||||
|         title: '卸货凭证', | ||||
|         title: '审核人', | ||||
|         width: '180px', | ||||
|         className: 'text-left', | ||||
|         render: 'unloadingLadingBillFilePath' | ||||
|         index: 'loadingLadingBillFilePath' | ||||
|       }, | ||||
|       { | ||||
|         title: '审核时间', | ||||
|         width: '180px', | ||||
|         className: 'text-left', | ||||
|         index: 'loadingLadingBillFilePath' | ||||
|       }, | ||||
|       { | ||||
|         title: '状态', | ||||
|         width: '180px', | ||||
|         className: 'text-left', | ||||
|         index: 'loadingLadingBillFilePath' | ||||
|       }, | ||||
|       { | ||||
|         title: '操作', | ||||
| @ -333,18 +362,18 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | ||||
|         className: 'text-left', | ||||
|         buttons: [ | ||||
|           { | ||||
|             text: '通过', | ||||
|             text: '查看申诉记录', | ||||
|             click: _record => console.log('1'), | ||||
|             // iif: item => item.billStatus == '5' | ||||
|           }, | ||||
|           { | ||||
|             text: '生成电子单据', | ||||
|             click: _record => this.generate(_record), | ||||
|             text: '运费变更记录', | ||||
|             click: _record => this.OpenPrice(_record), | ||||
|             // iif: item => item.billStatus == '4' | ||||
|           }, | ||||
|           { | ||||
|             text: '修改', | ||||
|             click: _record => this.modification(_record), | ||||
|             text: '合规抽查', | ||||
|             click: _record => this.audit(_record), | ||||
|             // iif: item => item.billStatus == '4'  | ||||
|           }, | ||||
|         ] | ||||
| @ -377,70 +406,144 @@ export class OrderManagementComplianceAuditComponent implements OnInit { | ||||
|    * 导入货源 | ||||
|    */ | ||||
|   importGoodsSource() {} | ||||
|   audit(item: any) {} | ||||
|  | ||||
|   /** | ||||
|    * 审核通过按钮 | ||||
|    */ | ||||
|   handleOK() {} | ||||
|   OpenPrice(item: any) { | ||||
|     this.changeId = item.id; | ||||
|     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(); | ||||
|  | ||||
|   initSTAudit(value: number) { | ||||
|     if (value == 1) { | ||||
|       this.schemaView = { | ||||
|         properties: { | ||||
|           billCode: { | ||||
|             title: '订单号', | ||||
|             type: 'string', | ||||
|             default: this.auditId, | ||||
|             ui: { | ||||
|               widget: 'text' | ||||
|             } | ||||
|           }, | ||||
|           complianceRemark: { | ||||
|             title: '备注', | ||||
|             type: 'string', | ||||
|             maxLength: 50, | ||||
|             ui: { | ||||
|               placeholder: '合格可以不用填写原因 ,不合格必须说明原因', | ||||
|               widget: 'textarea', | ||||
|               autosize: { minRows: 3, maxRows: 6 } | ||||
|             } | ||||
|           } | ||||
|           this.st?.reload(1); | ||||
|           this.getGoodsSourceStatistical(); | ||||
|         }) | ||||
|         } | ||||
|       }; | ||||
|     } else { | ||||
|       this.schemaView = { | ||||
|         properties: { | ||||
|           billCode: { | ||||
|             title: '', | ||||
|             type: 'string', | ||||
|             default: `已选${this.selectedRows?.length}条订单`, | ||||
|             ui: { | ||||
|               widget: 'text' | ||||
|             } | ||||
|           }, | ||||
|           complianceRemark: { | ||||
|             title: '备注', | ||||
|             type: 'string', | ||||
|             maxLength: 50, | ||||
|             ui: { | ||||
|               placeholder: '合格可以不用填写原因 ,不合格必须说明原因', | ||||
|               widget: 'textarea', | ||||
|               autosize: { minRows: 3, maxRows: 6 } | ||||
|             } | ||||
|           } | ||||
|         } | ||||
|       }; | ||||
|     } | ||||
|  | ||||
|     this.uiView = { '*': { spanLabelFixed: 110, grid: { span: 24 } } }; | ||||
|   } | ||||
|     /* | ||||
|    * 审核关闭弹窗 | ||||
|    */ | ||||
|     handleCancel(value?: string) { | ||||
|       if(value === '0') { | ||||
|         this.isVisible = false; | ||||
|       } else if(value === '1') { | ||||
|         this.isVisibleRE = false; | ||||
|       } | ||||
|     } | ||||
|       /** | ||||
|    * 审核通过按钮 | ||||
|    */ | ||||
|   handleOK() { | ||||
|     let idList: any[] = []; | ||||
|     if(this.selectedRows.length > 0) { | ||||
|       this.selectedRows.forEach(item => { | ||||
|         idList.push(item.id); | ||||
|       }); | ||||
|     } else { | ||||
|       idList.push(this.sfView.value.billCode) | ||||
|     } | ||||
|     const parms = { | ||||
|       ids: idList, | ||||
|       complianceRemark: this.sfView.value.complianceRemark, | ||||
|       complianceStatus: 1, | ||||
|     }; | ||||
|     this.service.request(this.service.$api_get_updateBillByCompliance, parms).subscribe(res => { | ||||
|       if (res) { | ||||
|         this.service.msgSrv.success('提交成功!'); | ||||
|         this.isVisibleRE = false; | ||||
|         this.st?.load(1); | ||||
|          this.getGoodsSourceStatistical() | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|   // 修改订单 | ||||
|   changeOrder(value: any) { | ||||
|     this.router.navigate(['order-management/bulk-detailChange', value.id]); | ||||
|     /** | ||||
|    * 审核拒绝按钮 | ||||
|    */ | ||||
|      reject() { | ||||
|        if(!this.sfView.value.complianceRemark) { | ||||
|         this.service.msgSrv.error('备注不能为空!'); | ||||
|         return; | ||||
|        } | ||||
|       let idList: any[] = []; | ||||
|       if(this.selectedRows.length > 0) { | ||||
|         this.selectedRows.forEach(item => { | ||||
|           idList.push(item.id); | ||||
|         }); | ||||
|       } else { | ||||
|         idList.push(this.sfView.value.billCode) | ||||
|       } | ||||
|       const parms = { | ||||
|         ids: idList, | ||||
|         complianceRemark: this.sfView.value.complianceRemark, | ||||
|         complianceStatus: 2, | ||||
|       }; | ||||
|       this.service.request(this.service.$api_get_updateBillByCompliance, parms).subscribe(res => { | ||||
|         if (res) { | ||||
|           this.service.msgSrv.success('提交成功!'); | ||||
|           this.isVisibleRE = false; | ||||
|           this.st?.load(1); | ||||
|           this.getGoodsSourceStatistical() | ||||
|         } | ||||
|       }); | ||||
|     } | ||||
|       /** | ||||
|    *合规抽查 | ||||
|    */ | ||||
|   audit(item?: any) { | ||||
|     if (item) { | ||||
|       this.isVisibleRE = true; | ||||
|       this.auditId = item.id; | ||||
|       this.initSTAudit(1); | ||||
|     } else { | ||||
|       if(this.selectedRows.length <= 0) { | ||||
|         this.service.msgSrv.error('请选择订单!') | ||||
|         return; | ||||
|       } else { | ||||
|       this.isVisibleRE = true; | ||||
|       this.initSTAudit(2); | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user