Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
		| @ -5,7 +5,7 @@ import { SFComponent } from '@delon/form'; | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-03-30 13:55:41 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-04-15 17:40:53 | ||||
|  * @LastEditTime : 2022-04-19 17:45:44 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\compliance\\customer\\customer.component.ts | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
|  */ | ||||
| @ -125,15 +125,15 @@ export class DatatableComplianceCustomerComponent implements OnInit { | ||||
|   ngOnInit(): void {} | ||||
|   onChange(result: any) { | ||||
|     if (this.mode === 'year') { | ||||
|       this.time = [this.datePipe.transform(this.date, 'yyyy') + '-01-01 00:00:00']; | ||||
|       this.time = [this.datePipe.transform(this.date, 'yyyy')]; | ||||
|     } else if (this.mode === 'month') { | ||||
|       this.time = [this.datePipe.transform(this.date, 'yyyy-MM') + '-01 00:00:00']; | ||||
|       this.time = [this.datePipe.transform(this.date, 'yyyy-MM')]; | ||||
|     } else if (this.mode === 'date') { | ||||
|       this.time = [this.datePipe.transform(this.date, 'yyyy-MM-dd') + ' 00:00:00']; | ||||
|       this.time = [this.datePipe.transform(this.date, 'yyyy-MM-dd')]; | ||||
|     } else { | ||||
|       this.time = [ | ||||
|         this.datePipe.transform(this.defineDate[0], 'yyyy-MM-dd') + '00:00:00', | ||||
|         this.datePipe.transform(this.defineDate[1], 'yyyy-MM-dd') + ' 00:00:00' | ||||
|         this.datePipe.transform(this.defineDate[0], 'yyyy-MM-dd'), | ||||
|         this.datePipe.transform(this.defineDate[1], 'yyyy-MM-dd') | ||||
|       ]; | ||||
|     } | ||||
|     this.st.reload({ ...this.reqParams }); | ||||
|  | ||||
							
								
								
									
										25283
									
								
								src/app/routes/order-management/components/vehicle-detail/rs.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25283
									
								
								src/app/routes/order-management/components/vehicle-detail/rs.ts
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -19,9 +19,9 @@ | ||||
|     </div> | ||||
|     <div nz-col [nzSpan]="_$expand ? 24 : 6" class="text-right"> | ||||
|       <button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="service.http.loading" | ||||
|         (click)="search()">查询</button> | ||||
|         (click)="search()" acl  [acl-ability]="['TAX-COLLECT-search']">查询</button> | ||||
|       <button nz-button (click)="resetSF()">重置</button> | ||||
|       <button nz-button (click)="resetSF()">导出</button> | ||||
|       <button nz-button (click)="resetSF()" acl  [acl-ability]="['TAX-COLLECT-export']">导出</button> | ||||
|       <button nz-button nzType="link" (click)="expandToggle()"> | ||||
|         {{ !_$expand ? '展开' : '收起' }} | ||||
|         <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> | ||||
| @ -44,8 +44,8 @@ | ||||
|       已选择 | ||||
|       <strong class="text-red">{{ selectedRows.length }}</strong> 条数据 | ||||
|     </div> | ||||
|     <button nz-button nzType="primary" (click)="upload()">申报</button> | ||||
|     <button nz-button nzType="primary" (click)="recall()">更正</button> | ||||
|     <button nz-button nzType="primary" (click)="uploadSetting()">更新数据</button> | ||||
|     <button nz-button nzType="primary" (click)="upload()" acl  [acl-ability]="['TAX-COLLECT-report']">申报</button> | ||||
|     <button nz-button nzType="primary" (click)="recall()" acl  [acl-ability]="['TAX-COLLECT-change']">更正</button> | ||||
|     <button nz-button nzType="primary" (click)="uploadSetting()" acl  [acl-ability]="['TAX-COLLECT-resetData']">更新数据</button> | ||||
|   </div> | ||||
| </ng-template> | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-03-30 14:00:43 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-04-09 14:13:42 | ||||
|  * @LastEditTime : 2022-04-19 19:11:08 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\tax-management\\components\\individual-declare\\individual-declare.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| @ -18,9 +18,9 @@ | ||||
|     </div> | ||||
|     <div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand"> | ||||
|       <button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="service.http.loading" | ||||
|         (click)="search()">查询</button> | ||||
|         (click)="search()" acl  [acl-ability]="['TAX-DECLARE-search']">查询</button> | ||||
|       <button nz-button (click)="resetSF()">重置</button> | ||||
|       <button nz-button (click)="resetSF()">导出</button> | ||||
|       <button nz-button (click)="resetSF()" acl  [acl-ability]="['TAX-DECLARE-export']">导出</button> | ||||
|       <button nz-button nzType="link" (click)="expandToggle()"> | ||||
|         {{ !_$expand ? '展开' : '收起' }} | ||||
|         <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> | ||||
| @ -58,10 +58,10 @@ | ||||
|       已选择 | ||||
|       <strong class="text-red">{{ selectedRows.length }}</strong> 条数据 | ||||
|     </div> | ||||
|     <button nz-button nzType="primary" (click)="upload()">申报</button> | ||||
|     <button nz-button nzType="primary" (click)="recall()">更正</button> | ||||
|     <button nz-button nzType="primary" (click)="uploadSetting()">修改起征点</button> | ||||
|     <button nz-button nzType="primary" (click)="resetData()">更新数据</button> | ||||
|     <button nz-button nzType="primary" (click)="upload()" acl  [acl-ability]="['TAX-DECLARE-declare']">申报</button> | ||||
|     <button nz-button nzType="primary" (click)="recall()" acl  [acl-ability]="['TAX-DECLARE-change']">更正</button>  | ||||
|     <button nz-button nzType="primary" (click)="uploadSetting()" acl  [acl-ability]="['TAX-DECLARE-threshold']">修改起征点</button> | ||||
|     <button nz-button nzType="primary" (click)="resetData()" acl  [acl-ability]="['TAX-DECLARE-resetData']">更新数据</button> | ||||
|   </div> | ||||
| </ng-template> | ||||
|  | ||||
|  | ||||
| @ -19,9 +19,9 @@ | ||||
|     </div> | ||||
|     <div nz-col [nzSpan]="_$expand ? 24 : 6" [class.expend-options]="_$expand" class="text-right"> | ||||
|       <button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="isLoading && st.loading" | ||||
|         (click)="search()">查询</button> | ||||
|         (click)="search()" acl  [acl-ability]="['TAX-INCOME-search']">查询</button> | ||||
|       <button nz-button (click)="resetSF()">重置</button> | ||||
|       <button nz-button (click)="resetSF()">导出</button> | ||||
|       <button nz-button (click)="resetSF()" acl  [acl-ability]="['TAX-INCOME-export']">导出</button> | ||||
|       <button nz-button nzType="link" (click)="expandToggle()"> | ||||
|         {{ !_$expand ? '展开' : '收起' }} | ||||
|         <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> | ||||
| @ -45,10 +45,10 @@ | ||||
|       已选择 | ||||
|       <strong class="text-red">{{ selectedRows.length }}</strong> 条数据 | ||||
|     </div> | ||||
|     <button nz-button nzType="primary" (click)="upload()">申报</button> | ||||
|     <button nz-button nzType="primary" (click)="corrections()">更正</button> | ||||
|     <button nz-button nzType="primary" (click)="resetData()">修改起征点</button> | ||||
|     <button nz-button nzType="primary" (click)="uploadSetting()">更新数据</button> | ||||
|     <button nz-button nzType="primary" (click)="upload()" acl  [acl-ability]="['TAX-ORDERREPORT-declare ']">申报</button> | ||||
|     <button nz-button nzType="primary" (click)="corrections()" acl  [acl-ability]="['TAX-ORDERREPORT-change ']">更正</button> | ||||
|     <button nz-button nzType="primary" (click)="resetData()" acl  [acl-ability]="['TAX-ORDERREPORT-threshold ']">修改起征点</button> | ||||
|     <button nz-button nzType="primary" (click)="uploadSetting()" acl  [acl-ability]="['TAX-ORDERREPORT-resetData ']">更新数据</button> | ||||
|   </div> | ||||
| </ng-template> | ||||
|  | ||||
|  | ||||
| @ -17,9 +17,9 @@ | ||||
|       <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" [disabled]="!sf.valid" [nzLoading]="isLoading && st.loading" (click)="search()" >查询</button> | ||||
|       <button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="isLoading && st.loading" (click)="search()"  acl  [acl-ability]="['TAX-ORDERREPORT-search']">查询</button> | ||||
|       <button nz-button (click)="resetSF()">重置</button> | ||||
|       <button nz-button (click)="resetSF()">导出</button> | ||||
|       <button nz-button (click)="resetSF()" acl  [acl-ability]="['TAX-ORDERREPORT-export']">导出</button> | ||||
|       <button nz-button nzType="link" (click)="expandToggle()"> | ||||
|         {{ !_$expand ? '展开' : '收起' }} | ||||
|         <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> | ||||
| @ -100,9 +100,9 @@ | ||||
|       已选择 | ||||
|       <strong class="text-red">{{ selectedRows.length }}</strong> 条数据 | ||||
|     </div> | ||||
|     <button nz-button nzType="primary" (click)="upload()">上传</button> | ||||
|     <button nz-button nzType="primary" (click)="recall()">撤回</button> | ||||
|     <button nz-button nzType="primary" (click)="resetData()">更新数据</button> | ||||
|     <button nz-button nzType="primary" (click)="uploadSetting()">税务设置</button> | ||||
|     <button nz-button nzType="primary" (click)="upload()" acl  [acl-ability]="['TAX-ORDERREPORT-upload']">上传</button> | ||||
|     <button nz-button nzType="primary" (click)="recall() " acl  [acl-ability]="['TAX-ORDERREPORT-recall']">撤回</button> | ||||
|     <button nz-button nzType="primary" (click)="resetData()" acl  [acl-ability]="['TAX-ORDERREPORT-resetData']">更新数据</button> | ||||
|     <button nz-button nzType="primary" (click)="uploadSetting()" acl  [acl-ability]="['TAX-ORDERREPORT-uploadSetting']">税务设置</button> | ||||
|   </div> | ||||
| </ng-template> | ||||
|  | ||||
| @ -109,7 +109,7 @@ export class TaxManagementOrderReportingComponent implements OnInit { | ||||
|             placeholder: '请输入', | ||||
|           }, | ||||
|         }, | ||||
|         shipperAppUserId: { | ||||
|         shipperId: { | ||||
|           type: 'string', | ||||
|           title: '货主', | ||||
|           ui: { | ||||
| @ -163,27 +163,33 @@ export class TaxManagementOrderReportingComponent implements OnInit { | ||||
|             }, | ||||
|           } | ||||
|         }, | ||||
|         putStatus: { | ||||
|           title: '上传状态', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             placeholder: '请选择', | ||||
|             widget: 'dict-select', | ||||
|             params: { dictKey: 'service:type' }, | ||||
|             containsAllLabel: true, | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value, | ||||
|             }, | ||||
|           } | ||||
|         }, | ||||
|         // putStatus: { | ||||
|         //   title: '上传状态', | ||||
|         //   type: 'string', | ||||
|         //   enum: [ | ||||
|         //     {label: '待上传',value: 0}, | ||||
|         //     {label: '已上传',value: 1}, | ||||
|         //     {label: '上传异常',value: 2}, | ||||
|         //   ], | ||||
|         //   ui: { | ||||
|         //     widget:'select', | ||||
|         //     placeholder: '请选择', | ||||
|         //     visibleIf: { | ||||
|         //       _$expand: (value: boolean) => value, | ||||
|         //     }, | ||||
|         //   } | ||||
|         // }, | ||||
|         checkStatus: { | ||||
|           title: '本地校验', | ||||
|           type: 'string', | ||||
|           enum: [ | ||||
|             {label: '校验中',value: 0}, | ||||
|             {label: '通过',value: 1}, | ||||
|             {label: '不通过',value: 2}, | ||||
|           ], | ||||
|           ui: { | ||||
|             widget:'select', | ||||
|             placeholder: '请选择', | ||||
|             widget: 'dict-select', | ||||
|             params: { dictKey: 'service:type' }, | ||||
|             containsAllLabel: true, | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value, | ||||
|             }, | ||||
| @ -255,6 +261,18 @@ export class TaxManagementOrderReportingComponent implements OnInit { | ||||
|         className: 'text-center', | ||||
|         width: '180px', | ||||
|       }, | ||||
|       { | ||||
|         title: '档案编号', | ||||
|         index: 'archivesNo', | ||||
|         className: 'text-center', | ||||
|         width: '180px', | ||||
|       }, | ||||
|       { | ||||
|         title: '品牌型号', | ||||
|         index: 'carBrand', | ||||
|         className: 'text-center', | ||||
|         width: '180px', | ||||
|       }, | ||||
|       { title: '装货地', index: 'loadingAddress', render: 'loadingPlace', className: 'text-center', width: '200px' }, | ||||
|       { title: '装货地详细地址', index: 'loadingDetailedAddress', render: 'loadingPlace', className: 'text-center', width: '200px' }, | ||||
|       { title: '卸货地', index: 'unloadAddress', render: 'dischargePlace', className: 'text-center', width: '120px' }, | ||||
|  | ||||
| @ -282,7 +282,16 @@ export class InvoiceRequestedComponent { | ||||
|       if (res?.reconciliationUrl) { | ||||
|         this.service.reviewPDF(res.reconciliationUrl); | ||||
|       } else { | ||||
|         this.service.msgSrv.warning('获取对账单失败'); | ||||
|         this.service | ||||
|           .request(this.service.$api_download_Reconciliatio_pdf, { vatappHId: item.id, esignFlowId: res.esignFlowId }) | ||||
|           .subscribe(rs => { | ||||
|             if (rs?.reconciliationUrl) { | ||||
|               this.service.reviewPDF(rs.reconciliationUrl); | ||||
|             } else { | ||||
|               // this.service.msgSrv.warning('获取对账单失败'); | ||||
|             } | ||||
|           }); | ||||
|         // this.service.msgSrv.warning('获取对账单失败'); | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|  | ||||
| @ -132,6 +132,8 @@ export class TicketService extends ShipperBaseService { | ||||
|   $api_get_express_routes = '/api/fcc/ficoExpressH/searchRoutes'; | ||||
|   // 下载对账单文件 | ||||
|   $api_downloadPdf = '/api/fcc/ficoVatappBill/downloadPdf'; | ||||
|   // 对账单文件下载 | ||||
|   $api_download_Reconciliatio_pdf = '/api/fcc/ficoVatappBill/downloadReconciliationPdf'; | ||||
|  | ||||
|   // 根据地区code查询列表 | ||||
|   $api_get_region_by_code = '/api/mdc/pbc/region/getRegionByCode'; | ||||
|  | ||||
| @ -12,16 +12,8 @@ | ||||
|   <div nz-row nzGutter="8"> | ||||
|     <!-- 查询字段小于或等于3个时,不显示伸缩按钮 --> | ||||
|     <div nz-col nzSpan="24" *ngIf="queryFieldCount <= 4"> | ||||
|       <sf | ||||
|         #sf | ||||
|         [schema]="schema" | ||||
|         [ui]="ui" | ||||
|         [mode]="'search'" | ||||
|         [disabled]="!sf?.valid" | ||||
|         [loading]="false" | ||||
|         (formSubmit)="search()" | ||||
|         (formReset)="resetSF()" | ||||
|       ></sf> | ||||
|       <sf #sf [schema]="schema" [ui]="ui" [mode]="'search'" [disabled]="!sf?.valid" [loading]="false" | ||||
|         (formSubmit)="search()" (formReset)="resetSF()"></sf> | ||||
|     </div> | ||||
|  | ||||
|     <!-- 查询字段大于3个时,根据展开状态调整布局 --> | ||||
| @ -30,7 +22,8 @@ | ||||
|         <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" [disabled]="!sf.valid" [nzLoading]="isLoading && st.loading" (click)="search()"  acl  [acl-ability]="['WAYBILL-ABNORMAL-search']">查询</button> | ||||
|         <button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="isLoading && st.loading" | ||||
|           (click)="search()" acl [acl-ability]="['WAYBILL-ABNORMAL-search']">查询</button> | ||||
|         <button nz-button (click)="resetSF()">重置</button> | ||||
|         <button nz-button nzType="link" (click)="expandToggle()"> | ||||
|           {{ !_$expand ? '展开' : '收起' }} | ||||
| @ -44,56 +37,104 @@ | ||||
| <nz-card class="content-box"> | ||||
|   <nz-tabset [(nzSelectedIndex)]="selectedIndex" (nzSelectedIndexChange)="selectChange($event)"> | ||||
|     <nz-tab [nzTitle]="'待回复(' + tabs?.stayQuantity + ')'"> | ||||
|       <st | ||||
|         #st | ||||
|         [data]="service.$api_get_listOperatePage" | ||||
|         [columns]="columns" | ||||
|       <st #st [data]="service.$api_get_listOperatePage" [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]="false" | ||||
|         [scroll]="{ x: '2000px' }" | ||||
|       > | ||||
|         [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false" | ||||
|         [scroll]="{ x: '2000px' }"> | ||||
|         <ng-template st-row="exceptionCertificateFirstFilePath" let-item let-index="index"> | ||||
|           <div class="imgBox"> | ||||
|             <div *ngIf="item?.exceptionCertificateFirstFilePath"> | ||||
|               <app-imagelist style="width: 40px;height: 40px" [imgList]="[item?.exceptionCertificateFirstFilePath]"> </app-imagelist> | ||||
|               <app-imagelist style="width: 40px;height: 40px" [imgList]="[item?.exceptionCertificateFirstFilePath]"> | ||||
|               </app-imagelist> | ||||
|             </div> | ||||
|             <div *ngIf="item?.exceptionCertificateSecondFilePath"> | ||||
|             <app-imagelist style="width: 40px;height: 40px" [imgList]="[item?.exceptionCertificateSecondFilePath]"> </app-imagelist> | ||||
|           </div> | ||||
|               <app-imagelist style="width: 40px;height: 40px" [imgList]="[item?.exceptionCertificateSecondFilePath]"> | ||||
|               </app-imagelist> | ||||
|             </div> | ||||
|             <div *ngIf="item?.exceptionCertificateThirdFilePath"> | ||||
|             <app-imagelist style="width: 40px;height: 40px" [imgList]="[item?.exceptionCertificateThirdFilePath]"> </app-imagelist> | ||||
|           </div> | ||||
|               <app-imagelist style="width: 40px;height: 40px" [imgList]="[item?.exceptionCertificateThirdFilePath]"> | ||||
|               </app-imagelist> | ||||
|             </div> | ||||
|           </div> | ||||
|         </ng-template> | ||||
|       </st> | ||||
|     </nz-tab> | ||||
|     <nz-tab    [nzTitle]="'已回复(' + tabs?.receivedQuantity + ')'"> | ||||
|       <st | ||||
|         #st2 | ||||
|         [data]="service.$api_get_listOperatePage" | ||||
|         [columns]="columns2" | ||||
|     <nz-tab [nzTitle]="'已回复(' + tabs?.receivedQuantity + ')'"> | ||||
|       <st #st2 [data]="service.$api_get_listOperatePage" [columns]="columns2" | ||||
|         [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams2 }" | ||||
|         [res]="{ reName: { list: 'data.records', total: 'data.total' } }" | ||||
|         [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" | ||||
|         [loading]="false" | ||||
|         [scroll]="{ x: '2000px' }" | ||||
|       > | ||||
|         [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false" | ||||
|         [scroll]="{ x: '2000px' }"> | ||||
|         <ng-template st-row="exceptionCertificateFirstFilePath" let-item let-index="index"> | ||||
|           <div class="imgBox"> | ||||
|             <div *ngIf="item?.exceptionCertificateFirstFilePath"> | ||||
|               <app-imagelist  [imgList]="[item?.exceptionCertificateFirstFilePath]"> </app-imagelist> | ||||
|               <app-imagelist [imgList]="[item?.exceptionCertificateFirstFilePath]"> </app-imagelist> | ||||
|             </div> | ||||
|             <div *ngIf="item?.exceptionCertificateSecondFilePath"> | ||||
|             <app-imagelist  [imgList]="[item?.exceptionCertificateSecondFilePath]"> </app-imagelist> | ||||
|           </div> | ||||
|               <app-imagelist [imgList]="[item?.exceptionCertificateSecondFilePath]"> </app-imagelist> | ||||
|             </div> | ||||
|             <div *ngIf="item?.exceptionCertificateThirdFilePath"> | ||||
|             <app-imagelist  [imgList]="[item?.exceptionCertificateThirdFilePath]"> </app-imagelist> | ||||
|           </div> | ||||
|               <app-imagelist [imgList]="[item?.exceptionCertificateThirdFilePath]"> </app-imagelist> | ||||
|             </div> | ||||
|           </div> | ||||
|         </ng-template> | ||||
|       </st> | ||||
|     </nz-tab> | ||||
|   </nz-tabset> | ||||
| </nz-card> | ||||
|  | ||||
| <ng-template #detailModal> | ||||
|   <div nz-row nzGutter="8"> | ||||
|     <div nz-col nzSpan="24" se-container [labelWidth]="110" [col]="1"> | ||||
|       <se label="异常编号"> | ||||
|         {{itemInfo.exceptionCode}} | ||||
|       </se> | ||||
|       <se label="装货地"> | ||||
|         {{itemInfo.loadingAddressArr}} | ||||
|       </se> | ||||
|       <se label="卸货地"> | ||||
|         {{itemInfo.unloadingAddressArr}} | ||||
|       </se> | ||||
|       <se label="异常信息"> | ||||
|         {{itemInfo.exceptionContent}} | ||||
|       </se> | ||||
|       <se label="异常图片"> | ||||
|         <div style="display: flex;"> | ||||
|           <div *ngIf="itemInfo?.exceptionCertificateFirstFilePath" style="cursor: pointer;"> | ||||
|             <app-imagelist [imgList]="[itemInfo?.exceptionCertificateFirstFilePath]"> </app-imagelist> | ||||
|           </div> | ||||
|           <div *ngIf="itemInfo?.exceptionCertificateSecondFilePath" style="cursor: pointer;"> | ||||
|             <app-imagelist [imgList]="[itemInfo?.exceptionCertificateSecondFilePath]"> </app-imagelist> | ||||
|           </div> | ||||
|           <div *ngIf="itemInfo?.exceptionCertificateThirdFilePath" style="cursor: pointer;"> | ||||
|             <app-imagelist [imgList]="[itemInfo?.exceptionCertificateThirdFilePath]"> </app-imagelist> | ||||
|           </div> | ||||
|         </div> | ||||
|       </se> | ||||
|       <ng-container *ngIf="itemInfo.replyAppUserName"> | ||||
|         <se label="回复内容"> | ||||
|           {{itemInfo.replyContent}} | ||||
|         </se> | ||||
|         <se label="回复人"> | ||||
|           {{itemInfo.replyAppUserName}} | ||||
|         </se> | ||||
|         <se label="回复时间"> | ||||
|           {{itemInfo.replyTime}} | ||||
|         </se> | ||||
|       </ng-container> | ||||
|  | ||||
|     </div> | ||||
|   </div> | ||||
| </ng-template> | ||||
|  | ||||
| <ng-template #replyModal> | ||||
|   <div nz-row nzGutter="8"> | ||||
|     <div nz-col nzSpan="24" se-container [labelWidth]="110"> | ||||
|       <se [col]="1" label="回复内容" required> | ||||
|         <textarea nz-input rows="3" placeholder="请填写回复内容" [(ngModel)]="replyContent" | ||||
|           style="width: 325px; margin-left: 14px"></textarea> | ||||
|       </se> | ||||
|     </div> | ||||
|   </div> | ||||
| </ng-template> | ||||
| @ -21,6 +21,10 @@ import { WaybillManagementServe } from '../../services/waybill-management.servic | ||||
|   styleUrls: ['./abnormal-appear.component.less'] | ||||
| }) | ||||
| export class WaybillManagementAbnormalAppearComponent implements OnInit { | ||||
|   @ViewChild('detailModal', { static: true }) | ||||
|   detailModal!: any; | ||||
|   @ViewChild('replyModal', { static: true }) | ||||
|   replyModal!: any; | ||||
|   @ViewChild('st', { static: true }) | ||||
|   st!: STComponent; | ||||
|   @ViewChild('st2', { static: true }) | ||||
| @ -44,7 +48,14 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit { | ||||
|   }; | ||||
|  | ||||
|   columns: STColumn[] = [ | ||||
|     { title: '异常编号', index: 'exceptionCode', width: '180px', className: 'text-left' }, | ||||
|     { | ||||
|       title: '异常编号', | ||||
|       index: 'exceptionCode', | ||||
|       width: '180px', | ||||
|       className: 'text-left', | ||||
|       type: 'link', | ||||
|       click: item => this.reviewDetailAction(item) | ||||
|     }, | ||||
|     { title: '异常类型', index: 'exceptionTypeLabel', width: '180px', className: 'text-left' }, | ||||
|     { title: '关联运单号', index: 'wayBillCode', width: '180px', className: 'text-left' }, | ||||
|     { title: '网络货运人', index: 'enterpriseInfoName', width: '250px', className: 'text-left' }, | ||||
| @ -54,10 +65,24 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit { | ||||
|     { title: '承运司机', index: 'driver', width: '250px', className: 'text-left' }, | ||||
|     { title: '异常信息', index: 'exceptionContent', width: '250px', className: 'text-left' }, | ||||
|     { title: '异常图片', render: 'exceptionCertificateFirstFilePath', width: '300px', className: 'text-left' }, | ||||
|     { title: '上报时间', index: 'createTime', width: '180px', className: 'text-left' } | ||||
|     { title: '上报时间', index: 'createTime', width: '180px', className: 'text-center' }, | ||||
|     { | ||||
|       title: '操作', | ||||
|       fixed: 'right', | ||||
|       width: '100px', | ||||
|       className: 'text-center', | ||||
|       buttons: [{ text: '回复', click: item => this.replyAction(item) }] | ||||
|     } | ||||
|   ]; | ||||
|   columns2: STColumn[] = [ | ||||
|     { title: '异常编号', index: 'exceptionCode', width: '180px', className: 'text-left' }, | ||||
|     { | ||||
|       title: '异常编号', | ||||
|       index: 'exceptionCode', | ||||
|       width: '180px', | ||||
|       className: 'text-left', | ||||
|       type: 'link', | ||||
|       click: item => this.reviewDetailAction(item) | ||||
|     }, | ||||
|     { title: '异常类型', index: 'exceptionTypeLabel', width: '180px', className: 'text-left' }, | ||||
|     { title: '关联运单号', index: 'wayBillCode', width: '180px', className: 'text-left' }, | ||||
|     { title: '网络货运人', index: 'enterpriseInfoName', width: '180px', className: 'text-left' }, | ||||
| @ -74,7 +99,6 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit { | ||||
|   ]; | ||||
|   resourceStatus: number | undefined; | ||||
|  | ||||
|  | ||||
|   get reqParams() { | ||||
|     return { | ||||
|       ...this.sf?.value, | ||||
| @ -82,7 +106,7 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit { | ||||
|       reportingTime: { | ||||
|         start: this.sf?.value?.reportingTime?.[0] || '', | ||||
|         end: this.sf?.value?.reportingTime?.[1] || '' | ||||
|       }, | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
|   get reqParams2() { | ||||
| @ -92,11 +116,12 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit { | ||||
|       reportingTime: { | ||||
|         start: this.sf?.value?.reportingTime?.[0] || '', | ||||
|         end: this.sf?.value?.reportingTime?.[1] || '' | ||||
|       }, | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
|  | ||||
|   constructor(public service: WaybillManagementServe, private nzModalService: NzModalService, public shipperSrv: ShipperBaseService) { } | ||||
|   itemInfo: any = {}; | ||||
|   replyContent = ''; | ||||
|   constructor(public service: WaybillManagementServe, private nzModalService: NzModalService, public shipperSrv: ShipperBaseService) {} | ||||
|  | ||||
|   ngOnInit(): void { | ||||
|     this.initSF(); | ||||
| @ -116,6 +141,51 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit { | ||||
|   get queryFieldCount(): number { | ||||
|     return Object.keys(this.schema?.properties || {}).length; | ||||
|   } | ||||
|  | ||||
|   reviewDetailAction(item: any) { | ||||
|     this.itemInfo = {}; | ||||
|     this.service.request(this.service.$api_get_listOperate_detail, { id: item.id }).subscribe(res => { | ||||
|       if (res) { | ||||
|         this.itemInfo = res; | ||||
|         const modal = this.nzModalService.create({ | ||||
|           nzContent: this.detailModal, | ||||
|           nzWidth: 600, | ||||
|           nzTitle: '异常详情', | ||||
|           nzFooter: [] | ||||
|         }); | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   replyAction(item: any) { | ||||
|     this.replyContent = ''; | ||||
|     const modal = this.nzModalService.create({ | ||||
|       nzContent: this.replyModal, | ||||
|       nzTitle: '回复', | ||||
|       nzOnOk: () => { | ||||
|         if (!this.replyContent) { | ||||
|           this.service.msgSrv.warning('请填写回复内容'); | ||||
|           return false; | ||||
|         } | ||||
|         this.service | ||||
|           .request(this.service.$api_operate_reply, [ | ||||
|             { | ||||
|               id: item.id, | ||||
|               replyContent: this.replyContent | ||||
|             } | ||||
|           ]) | ||||
|           .subscribe(res => { | ||||
|             if (res) { | ||||
|               this.service.msgSrv.success('回复成功'); | ||||
|               this.st.load(1); | ||||
|               this.getGoodsSourceStatistical(); | ||||
|             } | ||||
|           }); | ||||
|         return true; | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   initSF() { | ||||
|     this.schema = { | ||||
|       properties: { | ||||
| @ -265,7 +335,7 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit { | ||||
|    */ | ||||
|   resetSF() { | ||||
|     this.sf.reset(); | ||||
|     this.isLoading = true | ||||
|     this.isLoading = true; | ||||
|   } | ||||
|   // 获取城市列表 | ||||
|   getRegionCode(regionCode: any) { | ||||
|  | ||||
| @ -51,6 +51,10 @@ export class WaybillManagementServe extends BaseService { | ||||
|  | ||||
|   // 查询运营端异常上报 | ||||
|   $api_get_listOperatePage = '/api/sdc/exceptionReport/listOperatePage'; | ||||
|   // 查询运营端异常上报详情 | ||||
|   $api_get_listOperate_detail = '/api/sdc/exceptionReport/getOperateDetail'; | ||||
|   // 运营端异常回复 | ||||
|   $api_operate_reply = '/api/sdc/exceptionReport/operateReply'; | ||||
|   // 查询运营端异常上报数据统计 | ||||
|   $api_get_listOperateStatus = '/api/sdc/exceptionReport/listOperateStatus'; | ||||
|   // // 查询运营端已回复异常上报 | ||||
|  | ||||
		Reference in New Issue
	
	Block a user