Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
		| @ -290,13 +290,14 @@ export class VoucherManagementComponent implements OnInit { | |||||||
|       { title: '借方金额', index: 'hrto' }, |       { title: '借方金额', index: 'hrto' }, | ||||||
|       { title: '贷方金额', index: 'createtime', type: 'date' }, |       { title: '贷方金额', index: 'createtime', type: 'date' }, | ||||||
|       { title: 'NC凭证', index: 'createbyname' }, |       { title: 'NC凭证', index: 'createbyname' }, | ||||||
|       { title: '汇总凭证号', index: 'sts' }, |       { title: '汇总凭证号', index: 'sts', width: 150 }, | ||||||
|       { title: '凭证状态', index: 'sts' }, |       { title: '凭证状态', index: 'sts' }, | ||||||
|       { title: '创建时间', index: 'sts' }, |       { title: '创建时间', index: 'sts' }, | ||||||
|       { title: '创建人', index: 'sts' }, |       { title: '创建人', index: 'sts' }, | ||||||
|       { |       { | ||||||
|         title: '操作', |         title: '操作', | ||||||
|         width: '90px', |         width: '130px', | ||||||
|  |         fixed: 'right', | ||||||
|         buttons: [ |         buttons: [ | ||||||
|           { |           { | ||||||
|             text: '浏览' |             text: '浏览' | ||||||
|  | |||||||
| @ -51,18 +51,12 @@ | |||||||
|     </ng-template> |     </ng-template> | ||||||
|  |  | ||||||
|  |  | ||||||
|     <st |     <st #st size="small" [bordered]="true" [scroll]="{ x: '2000px',y:'400px' }" [data]="service.$api_ficoVatinvHList" | ||||||
|     #st |  | ||||||
|     size="small" |  | ||||||
|     [bordered]="true" |  | ||||||
|     [scroll]="{ x: '2000px' }" |  | ||||||
|     [data]="service.$api_ficoVatinvHList" |  | ||||||
|         [columns]="columns" |         [columns]="columns" | ||||||
|         [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" |         [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||||
|         [res]="{ reName: { list: 'data.records', total: 'data.total' } }" |         [res]="{ reName: { list: 'data.records', total: 'data.total' } }" | ||||||
|         [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" |         [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" | ||||||
|     [loading]="service.http.loading" |         [loading]="service.http.loading"> | ||||||
|     > |  | ||||||
|  |  | ||||||
|         <ng-template st-row="vatinvcode" let-item let-index="index" let-column="column"> |         <ng-template st-row="vatinvcode" let-item let-index="index" let-column="column"> | ||||||
|             {{ item.vatinvcode }} <br> |             {{ item.vatinvcode }} <br> | ||||||
| @ -70,12 +64,6 @@ | |||||||
|             <label class="text-primary" *ngIf="item.sts == '2'">待确认</label> |             <label class="text-primary" *ngIf="item.sts == '2'">待确认</label> | ||||||
|             <label class="text-primary" *ngIf="item.sts == '3'">已确认</label> |             <label class="text-primary" *ngIf="item.sts == '3'">已确认</label> | ||||||
|         </ng-template> |         </ng-template> | ||||||
|         <ng-template st-row="description" let-item let-index="index" let-column="column"> |  | ||||||
|             起运地: 广东省深圳市南山区 <br> |  | ||||||
|             目的地: 湖北省武汉市青山区 <br> |  | ||||||
|             货物名称: 钢材 <br> |  | ||||||
|             车型车牌: 高栏车 粤B36889 <br> |  | ||||||
|         </ng-template> |  | ||||||
|     </st> |     </st> | ||||||
| </nz-card> | </nz-card> | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,3 +1,4 @@ | |||||||
|  | import { CurrencyPipe } from '@angular/common'; | ||||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | import { Component, OnInit, ViewChild } from '@angular/core'; | ||||||
| import { Router } from '@angular/router'; | import { Router } from '@angular/router'; | ||||||
| import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st'; | import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st'; | ||||||
| @ -10,7 +11,8 @@ import { PushInvoiceComponent } from './push-invoice/push-invoice.component'; | |||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-cancellation-invoice', |   selector: 'app-cancellation-invoice', | ||||||
|   templateUrl: './cancellation-invoice.component.html', |   templateUrl: './cancellation-invoice.component.html', | ||||||
|   styleUrls: ['./cancellation-invoice.component.less'] |   styleUrls: ['./cancellation-invoice.component.less'], | ||||||
|  |   providers: [CurrencyPipe] | ||||||
| }) | }) | ||||||
| export class CancellationInvoiceComponent implements OnInit { | export class CancellationInvoiceComponent implements OnInit { | ||||||
|   @ViewChild('st', { static: true }) |   @ViewChild('st', { static: true }) | ||||||
| @ -21,12 +23,17 @@ export class CancellationInvoiceComponent implements OnInit { | |||||||
|   requestedModal!: any; |   requestedModal!: any; | ||||||
|   columns: STColumn[] = this.initST(); |   columns: STColumn[] = this.initST(); | ||||||
|   searchSchema: SFSchema = this.initSF(); |   searchSchema: SFSchema = this.initSF(); | ||||||
|   resourceStatus = '' |   resourceStatus = ''; | ||||||
|   _$expand = false; |   _$expand = false; | ||||||
|  |  | ||||||
|   selectedRows: any[] = []; |   selectedRows: any[] = []; | ||||||
|   totalCallNo = 0; |   totalCallNo = 0; | ||||||
|   constructor(public service: TicketService, private nzModalService: NzModalService, private router: Router) {} |   constructor( | ||||||
|  |     public service: TicketService, | ||||||
|  |     private nzModalService: NzModalService, | ||||||
|  |     private router: Router, | ||||||
|  |     private currencyPipe: CurrencyPipe | ||||||
|  |   ) {} | ||||||
|  |  | ||||||
|   ngOnInit(): void {} |   ngOnInit(): void {} | ||||||
|  |  | ||||||
| @ -43,15 +50,15 @@ export class CancellationInvoiceComponent implements OnInit { | |||||||
|     // } |     // } | ||||||
|     const a: any = {}; |     const a: any = {}; | ||||||
|     if (this.resourceStatus) { |     if (this.resourceStatus) { | ||||||
|       a.sts = this.resourceStatus  |       a.sts = this.resourceStatus; | ||||||
|     } |     } | ||||||
|     return { |     return { | ||||||
|       ...a, |       ...a, | ||||||
|       ...this.sf?.value, |       ...this.sf?.value | ||||||
|     }; |  | ||||||
|     }; |     }; | ||||||
|  |   } | ||||||
|   selectChange(e: any) { |   selectChange(e: any) { | ||||||
|     console.log(e) |     console.log(e); | ||||||
|     this.resourceStatus = e; |     this.resourceStatus = e; | ||||||
|     this.initST(); |     this.initST(); | ||||||
|     setTimeout(() => { |     setTimeout(() => { | ||||||
| @ -132,7 +139,17 @@ export class CancellationInvoiceComponent implements OnInit { | |||||||
|     const modal = this.nzModalService.create({ |     const modal = this.nzModalService.create({ | ||||||
|       nzTitle: '推送开票', |       nzTitle: '推送开票', | ||||||
|       nzContent: PushInvoiceComponent, |       nzContent: PushInvoiceComponent, | ||||||
|  |       nzComponentParams: { id: item.id }, | ||||||
|       nzWidth: 1200, |       nzWidth: 1200, | ||||||
|  |       nzOnOk: () => { | ||||||
|  |         this.service.request(this.service.$api_apply_fico, { vatinvHid: item.id }).subscribe(res => { | ||||||
|  |           if (res) { | ||||||
|  |             this.service.msgSrv.success('开票成功'); | ||||||
|  |             modal.destroy; | ||||||
|  |           } | ||||||
|  |         }); | ||||||
|  |         return false; | ||||||
|  |       } | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @ -199,9 +216,9 @@ export class CancellationInvoiceComponent implements OnInit { | |||||||
|             params: { dictKey: 'vatinv:status' }, |             params: { dictKey: 'vatinv:status' }, | ||||||
|             containAllLable: true, |             containAllLable: true, | ||||||
|             visibleIf: { |             visibleIf: { | ||||||
|               _$expand: (value: boolean) => value, |               _$expand: (value: boolean) => value | ||||||
|             }, |             } | ||||||
|           } as SFSelectWidgetSchema, |           } as SFSelectWidgetSchema | ||||||
|         }, |         }, | ||||||
|         // or2derSn: { |         // or2derSn: { | ||||||
|         //   type: 'string', |         //   type: 'string', | ||||||
| @ -231,17 +248,23 @@ export class CancellationInvoiceComponent implements OnInit { | |||||||
|  |  | ||||||
|   private initST(): STColumn[] { |   private initST(): STColumn[] { | ||||||
|     return [ |     return [ | ||||||
|       { title: '', index: 'key', type: 'checkbox' }, |       { title: '', index: 'key', type: 'checkbox', fixed: 'left', width: 50, className: 'text-center' }, | ||||||
|       { title: '分票编号', render: 'vatinvcode', width: 150 }, |       { title: '分票编号', render: 'vatinvcode', width: 150 }, | ||||||
|       { title: '申请编号', index: 'vatappHId', width: 120 }, |       { title: '申请编号', index: 'vatappHId', width: 120 }, | ||||||
|       { title: '申请时间', index: 'createTime', type: 'date', width: 150 }, |       { title: '申请时间', index: 'createTime', type: 'date', width: 150 }, | ||||||
|       { title: '网络货运人', index: 'ltdName', width: 120 }, |       { title: '网络货运人', index: 'ltdName', width: 120 }, | ||||||
|       { title: '购买人', index: 'artoName', width: 90 }, |       { title: '购买人', index: 'artoName', width: 90 }, | ||||||
|       { title: '订单数', index: 'ordlines', width: 90 }, |       { title: '订单数', index: 'ordlines', width: 90, className: 'text-right' }, | ||||||
|       { title: '价税合计', index: 'vatmoney', width: 90 }, |       { | ||||||
|       { title: '金额', index: 'vatnotax', width: 100 }, |         title: '价税合计', | ||||||
|       { title: '税率', index: 'billvatrate', width: 90 }, |         index: 'vatmoney', | ||||||
|       { title: '税额', index: 'vattax', width: 90 }, |         width: 90, | ||||||
|  |         type: 'currency', | ||||||
|  |         format: item => `${this.currencyPipe.transform(item.vatmoney)}` | ||||||
|  |       }, | ||||||
|  |       { title: '金额', index: 'vatnotax', width: 100, type: 'currency', format: item => `${this.currencyPipe.transform(item.vatnotax)}` }, | ||||||
|  |       { title: '税率', index: 'billvatrate', width: 90, className: 'text-right' }, | ||||||
|  |       { title: '税额', index: 'vattax', width: 90, type: 'currency', format: item => `${this.currencyPipe.transform(item.vattax)}` }, | ||||||
|       { title: '服务名称', index: 'vatname', width: 100 }, |       { title: '服务名称', index: 'vatname', width: 100 }, | ||||||
|       { title: '销货清单', index: 'isdetail', width: 90 }, |       { title: '销货清单', index: 'isdetail', width: 90 }, | ||||||
|       { title: '票面备注', render: 'vatremarks', width: 250 }, |       { title: '票面备注', render: 'vatremarks', width: 250 }, | ||||||
| @ -264,15 +287,15 @@ export class CancellationInvoiceComponent implements OnInit { | |||||||
|             click: item => this.pushInvoiceAction(item) |             click: item => this.pushInvoiceAction(item) | ||||||
|           }, |           }, | ||||||
|           { |           { | ||||||
|             text: '移除  ', |             text: '移除', | ||||||
|             click: item => this.batchRemove(item) |             click: item => this.batchRemove(item) | ||||||
|           }, |           }, | ||||||
|           { |           { | ||||||
|             text: '确认  ' |             text: '确认' | ||||||
|             // click: item => this.rejectAction(item) |             // click: item => this.rejectAction(item) | ||||||
|           }, |           }, | ||||||
|           { |           { | ||||||
|             text: '撤回  ', |             text: '撤回', | ||||||
|             click: item => this.batchWithdraw(item) |             click: item => this.batchWithdraw(item) | ||||||
|           } |           } | ||||||
|         ] |         ] | ||||||
|  | |||||||
| @ -1,55 +1,57 @@ | |||||||
| <div nz-row nzGutter="8" class="statistics-box"> | <div nz-row nzGutter="8" class="statistics-box"> | ||||||
|     <div nz-col nzSpan="12" se-container [labelWidth]="100" col="1"> |     <div nz-col nzSpan="12" se-container [labelWidth]="100" col="1"> | ||||||
|         <se label="购买方"> |         <se label="购买方"> | ||||||
|             茅台股份有限公司 |             {{info?.artoName}} | ||||||
|         </se> |         </se> | ||||||
|         <se label="纳税号"> |         <se label="纳税号"> | ||||||
|             912301046656930913 |             {{info?.artotaxno}} | ||||||
|         </se> |         </se> | ||||||
|         <se label="地址"> |         <se label="地址"> | ||||||
|             贵州省贵阳市 |             {{info?.artoadd}} | ||||||
|         </se> |         </se> | ||||||
|         <se label="电话"> |         <se label="电话"> | ||||||
|             075588393198 |             {{info?.artotel}} | ||||||
|         </se> |         </se> | ||||||
|         <se label="开户行"> |         <se label="开户行"> | ||||||
|             中国工商银行股份有限公司哈贵阳支行 |             {{info?.artobank}} | ||||||
|         </se> |         </se> | ||||||
|         <se label="银行账户"> |         <se label="银行账户"> | ||||||
|             3500044119068126788 |             {{info?.artoacc}} | ||||||
|         </se> |         </se> | ||||||
|         <se label="票面备注"> |         <se label="票面备注"> | ||||||
|             <p style="margin-bottom: 0;margin-top: 5px;">起运地:广东省深圳市南山区</p> |             {{info?.vatremarks}} | ||||||
|             <p style="margin-bottom: 0;">目的地:湖北省武汉市青山区</p> |  | ||||||
|             <p style="margin-bottom: 0;">货物名称:钢材</p> |  | ||||||
|             <p style="margin-bottom: 0;">车型车牌:高栏车 粤B36889</p> |  | ||||||
|         </se> |         </se> | ||||||
|     </div> |     </div> | ||||||
|     <div nz-col nzSpan="12" se-container [labelWidth]="100" col="1"> |     <div nz-col nzSpan="12" se-container [labelWidth]="100" col="1"> | ||||||
|         <se label="销售方"> |         <se label="销售方"> | ||||||
|             天津怡亚通物流科技有限公司 |             {{info?.shipperId}} | ||||||
|         </se> |         </se> | ||||||
|         <se label="申请编号"> |         <se label="申请编号"> | ||||||
|             VP12301046656 |             {{info?.vatinvcode}} | ||||||
|         </se> |         </se> | ||||||
|         <se label="订单数"> |         <se label="订单数"> | ||||||
|             100笔 |             {{info?.ordlines}}笔 | ||||||
|         </se> |         </se> | ||||||
|         <se label="价税合计"> |         <se label="价税合计"> | ||||||
|             300,000.00元 |             {{info?.vatmoney}}元 | ||||||
|         </se> |         </se> | ||||||
|         <se label="服务名称"> |         <se label="服务名称"> | ||||||
|             运输服务费 |             {{info?.vatname}} | ||||||
|         </se> |         </se> | ||||||
|         <se label="销货清单"> |         <se label="销货清单"> | ||||||
|             需要 |             {{info?.isdetail}} | ||||||
|         </se> |         </se> | ||||||
|         <se label="其他要求"> |         <se label="其他要求"> | ||||||
|             单位按吨 |             {{info?.otherremarks}} | ||||||
|         </se> |         </se> | ||||||
|  |  | ||||||
|     </div> |     </div> | ||||||
| </div> | </div> | ||||||
|  |  | ||||||
| <st #st [data]="data" [columns]="columns" [page]="{ show: false}" [scroll]="{ x:'800px',y: '300px' }" class="mt-md"> | <st #st size="small" [bordered]="true" [scroll]="{x:'800px',y: '300px' }" [data]="service.$api_ficoVatinv_Detail" | ||||||
|  |     [columns]="columns" | ||||||
|  |     [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }" | ||||||
|  |     [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" class="mt-md"> | ||||||
| </st> | </st> | ||||||
| @ -10,4 +10,7 @@ | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     .text-truncate { | ||||||
|  |         white-space: normal; | ||||||
|  |     } | ||||||
| } | } | ||||||
| @ -1,15 +1,16 @@ | |||||||
|  | import { CurrencyPipe } from '@angular/common'; | ||||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | import { Component, OnInit, ViewChild } from '@angular/core'; | ||||||
| import { STComponent, STColumn } from '@delon/abc/st'; | import { STComponent, STColumn, STRequestOptions } from '@delon/abc/st'; | ||||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | import { NzModalService } from 'ng-zorro-antd/modal'; | ||||||
| import { TicketService } from '../../../services/ticket.service'; | import { TicketService } from '../../../services/ticket.service'; | ||||||
|  |  | ||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-push-invoice', |   selector: 'app-push-invoice', | ||||||
|   templateUrl: './push-invoice.component.html', |   templateUrl: './push-invoice.component.html', | ||||||
|   styleUrls: ['./push-invoice.component.less'] |   styleUrls: ['./push-invoice.component.less'], | ||||||
|  |   providers: [CurrencyPipe] | ||||||
| }) | }) | ||||||
| export class PushInvoiceComponent implements OnInit { | export class PushInvoiceComponent implements OnInit { | ||||||
|  |  | ||||||
|   @ViewChild('st', { static: false }) |   @ViewChild('st', { static: false }) | ||||||
|   st!: STComponent; |   st!: STComponent; | ||||||
|   columns: STColumn[] = this.initST(); |   columns: STColumn[] = this.initST(); | ||||||
| @ -30,23 +31,39 @@ export class PushInvoiceComponent implements OnInit { | |||||||
|     } |     } | ||||||
|   ]; |   ]; | ||||||
|  |  | ||||||
|   info = {}; |   info: any = {}; | ||||||
|  |   id!: number; | ||||||
|  |  | ||||||
|   constructor(public service: TicketService, private nzModalService: NzModalService) {} |   constructor(public service: TicketService, private nzModalService: NzModalService, private currencyPipe: CurrencyPipe) {} | ||||||
|  |  | ||||||
|   ngOnInit(): void {} |   ngOnInit(): void { | ||||||
|  |     this.loadHeader(this.id); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   beforeReq = (requestOptions: STRequestOptions) => { | ||||||
|  |     Object.assign(requestOptions.body, { vatinvHId: this.id }); | ||||||
|  |     return requestOptions; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   loadHeader(id: number) { | ||||||
|  |     this.service.request(this.service.$api_ficoVatinv_header, { id }).subscribe(res => { | ||||||
|  |       console.log(res); | ||||||
|  |  | ||||||
|  |       if (res) { | ||||||
|  |         this.info = res; | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   private initST(): STColumn[] { |   private initST(): STColumn[] { | ||||||
|     return [ |     return [ | ||||||
|       { title: '服务名称', index: 'no', width: 100 }, |       { title: '服务名称', index: 'vatname', width: 100 }, | ||||||
|       { title: '规格型号', index: 'callNo', width: 100 }, |       { title: '规格型号', index: 'vatmodel', width: 150 }, | ||||||
|       { title: '单位', index: 'callNo', width: 90 }, |       { title: '单位', index: 'vatunit', width: 90, className: 'text-center' }, | ||||||
|       { title: '数量', index: 'callNo', width: 90 }, |       { title: '数量', index: 'vatqty', width: 90, className: 'text-right' }, | ||||||
|       { title: '金额', index: 'callNo', width: 90 }, |       { title: '金额', index: 'vatnotax', width: 90, type: 'currency', format: item => `${this.currencyPipe.transform(item.vatnotax)}` }, | ||||||
|       { title: '税率', index: 'callNo', width: 90 }, |       { title: '税率', index: 'vatrate', width: 90, className: 'text-right' }, | ||||||
|       { title: '税额', index: 'callNo', width: 90 }, |       { title: '税额', index: 'vattax', width: 90, type: 'currency', format: item => `${this.currencyPipe.transform(item.vattax)}` } | ||||||
|     ]; |     ]; | ||||||
|   } |   } | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -23,10 +23,16 @@ export class TicketService extends ShipperBaseService { | |||||||
|   $api_get_invoice_requested_order_detail = '/api/fcc/ficoVatappBill/getDetailByVatapp'; |   $api_get_invoice_requested_order_detail = '/api/fcc/ficoVatappBill/getDetailByVatapp'; | ||||||
|   // 删除开票申请订单明细 |   // 删除开票申请订单明细 | ||||||
|   $api_remove_bill = '/api/fcc/ficoVatappBill/deletebatch'; |   $api_remove_bill = '/api/fcc/ficoVatappBill/deletebatch'; | ||||||
|   // 删除开票申请订单明细 |  | ||||||
|   $api_ficoVatinvHList = '/api/fcc/ficoVatinvH/ficoVatinvHList'; |  | ||||||
|   // 运营端销票处理-订单明细页面 |   // 运营端销票处理-订单明细页面 | ||||||
|   $api_ficoVatinvDetailAll = '/api/fcc/ficoVatinvH/ficoVatinvDetailAll'; |   $api_ficoVatinvHList = '/api/fcc/ficoVatinvH/ficoVatinvHList'; | ||||||
|  |   // 获取销项发票抬头详情信息 | ||||||
|  |   $api_ficoVatinv_header = '/api/fcc/ficoVatinvH/getDetail'; | ||||||
|  |   // 获取分票发票明细 | ||||||
|  |   $api_ficoVatinv_Detail = '/api/fcc/ficoVatinvL/getDetailByVatinvHId'; | ||||||
|  |   // 运营端订单明细开票处理 | ||||||
|  |   $api_apply_fico = '/api/fcc/ficoVatinvH/crmPushInvo'; | ||||||
|  |  | ||||||
|   // 获取汇总下单路径 |   // 获取汇总下单路径 | ||||||
|   $api_get_order_summary_path = '/api/fcc/ficoExpressH/getSummaryOrderAddress'; |   $api_get_order_summary_path = '/api/fcc/ficoExpressH/getSummaryOrderAddress'; | ||||||
|   // 新建快递单 |   // 新建快递单 | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user