Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop

This commit is contained in:
wangshiming
2022-01-19 13:29:00 +08:00
14 changed files with 240 additions and 138 deletions

View File

@ -0,0 +1,25 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { ReceiptOrderComponent } from './receipt-order.component';
describe('ReceiptOrderComponent', () => {
let component: ReceiptOrderComponent;
let fixture: ComponentFixture<ReceiptOrderComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [ ReceiptOrderComponent ]
})
.compileComponents();
});
beforeEach(() => {
fixture = TestBed.createComponent(ReceiptOrderComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -51,8 +51,7 @@
</ng-template>
<st #st size="small" [bordered]="true" [scroll]="{ x: '2000px',y:'400px' }" [data]="service.$api_ficoVatinvHList"
[columns]="columns"
<st #st [scroll]="{ x: '2000px',y:'400px' }" [data]="service.$api_ficoVatinvHList" [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] }"

View File

@ -267,8 +267,14 @@ export class CancellationInvoiceComponent implements OnInit {
private initST(): STColumn[] {
return [
{ title: '', index: 'key', type: 'checkbox', fixed: 'left', width: 50, className: 'text-center' },
{ title: '分票编号', render: 'vatinvcode', width: 150 },
{ title: '申请编号', index: 'vatappHId', width: 120 },
{ title: '分票编号', render: 'vatinvcode', width: 160 },
{
title: '申请编号',
index: 'vatappHCode',
width: 120,
type: 'link',
click: item => this.router.navigate(['/ticket/invoice-requested/detail/' + item?.vatappHId])
},
{ title: '申请时间', index: 'createTime', type: 'date', width: 150 },
{ title: '网络货运人', index: 'ltdName', width: 120 },
{ title: '购买人', index: 'artoName', width: 90 },
@ -304,7 +310,7 @@ export class CancellationInvoiceComponent implements OnInit {
{ title: '其他要求', index: 'otherremarks', width: 100 },
{
title: '操作',
width: '90px',
width: '100px',
fixed: 'right',
buttons: [
{

View File

@ -33,12 +33,12 @@ export class InputInvoiceComponent implements OnInit {
Object.assign(requestOptions.body, {
...this.sf.value,
createtime: {
start: this.sf.value.createtime?.[0] || null,
end: this.sf.value.createtime?.[1] || null
start: this.sf.value.createtime?.[0] || '',
end: this.sf.value.createtime?.[1] || ''
},
invdate: {
start: this.sf.value.invdate?.[0] || null,
end: this.sf.value.invdate?.[1] || null
start: this.sf.value.invdate?.[0] || '',
end: this.sf.value.invdate?.[1] || ''
}
});
}
@ -210,20 +210,37 @@ export class InputInvoiceComponent implements OnInit {
private initST(): STColumn[] {
return [
{ title: '', index: 'key', type: 'checkbox' },
{ title: '收票单号', index: 'inpinvcode', type: 'link' },
{ title: '网络货运人', index: 'ltdName' },
{ title: '发票日期', index: 'invdate', type: 'date' },
{ title: '发票号', index: 'invoiceno' },
{ title: '发票金额', index: 'invmoney' },
{ title: '额', index: 'invtax' },
{ title: '发票类型', index: 'invtype' },
{ title: '销售方', index: 'hrtoName' },
{ title: '创建时间', index: 'createtime', type: 'date' },
{ title: '创建人', index: 'createbyname' },
{ title: '收票状态', index: 'stsLabel' },
{ title: '', index: 'key', type: 'checkbox', width: 60, className: 'text-center', fixed: 'left' },
{ title: '收票单号', index: 'inpinvcode', type: 'link', width: 170 },
{ title: '网络货运人', index: 'ltdName', width: 150 },
{ title: '发票日期', index: 'invdate', type: 'date', width: 150, className: 'text-center' },
{ title: '发票号', index: 'invoiceno', width: 130 },
{
title: '发票金额',
index: 'invmoney',
width: 100,
type: 'widget',
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.invmoney }) }
},
{
title: '税额',
index: 'invtax',
width: 100,
type: 'widget',
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.invtax }) }
},
{ title: '发票类型', index: 'invtype', width: 150, className: 'text-center' },
{ title: '销售方', index: 'hrtoName', width: 150 },
{ title: '创建时间', index: 'createtime', type: 'date', width: 150, className: 'text-center' },
{ title: '创建人', index: 'createbyname', width: 120 },
{ title: '收票状态', index: 'stsLabel', width: 120, className: 'text-center' },
{
title: '操作',
fixed: 'right',
className: 'text-center',
width: 120,
buttons: [
{
text: '浏览',

View File

@ -21,6 +21,10 @@
}
}
}
.text-truncate {
white-space: normal;
}
}
.expend-options {

View File

@ -144,18 +144,46 @@ export class InvoiceDetailComponent implements OnInit {
private initOrderST(): STColumn[] {
return [
{ title: '订单号', index: 'billHId' },
{ title: '订单完成日期', index: 'billTime', type: 'date' },
{ title: '所属项目', index: 'projectId' },
{ title: '订单类型', index: 'billType' },
{ title: '装货地', index: 'loadingfrom' },
{ title: '卸货地', index: 'loadingto' },
{ title: '货物信息', index: 'goodsinfo' },
{ title: '承运司机', index: 'driverinfo' },
{ title: '申请金额', index: 'billkpnotax' },
{ title: '运输费', index: 'fjfmoney2' },
{ title: '附加费', index: 'fjfmoney' },
{ title: '开票金额', index: 'billkpmoney' }
{ title: '订单号', index: 'billHId', width: 140 },
{ title: '订单完成日期', index: 'billTime', type: 'date', width: 150 },
{ title: '所属项目', index: 'projectId', width: 140 },
{ title: '订单类型', index: 'billType', width: 120 },
{ title: '装货地', index: 'loadingfrom', width: 200 },
{ title: '卸货地', index: 'loadingto', width: 200 },
{ title: '货物信息', index: 'goodsinfo', width: 140 },
{ title: '承运司机', index: 'driverinfo', width: 140 },
{
title: '申请金额',
index: 'billkpnotax',
width: 120,
type: 'widget',
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.billkpnotax }) }
},
{
title: '运输费',
index: 'fjfmoney2',
width: 120,
type: 'widget',
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.fjfmoney2 }) }
},
{
title: '附加费',
index: 'fjfmoney',
width: 120,
type: 'widget',
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.fjfmoney }) }
},
{
title: '开票金额',
index: 'billkpmoney',
width: 120,
type: 'widget',
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.billkpmoney }) }
}
];
}
@ -187,20 +215,46 @@ export class InvoiceDetailComponent implements OnInit {
{ title: '订单日期', index: 'createTime', type: 'date' },
{ title: '计费日期', index: 'callNo', type: 'date' },
{ title: '税率', index: 'vatrate' },
{ title: '申请金额', index: 'vatmoney' },
{ title: '开票金额', index: 'vatnotax' }
{
title: '申请金额',
index: 'vatmoney',
type: 'widget',
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatmoney }) }
},
{
title: '开票金额',
index: 'vatnotax',
type: 'widget',
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatnotax }) }
}
];
}
private initInvoiceST(): STColumn[] {
return [
{ title: '服务名称', render: 'vatname' },
{ title: '服务名称', render: 'vatname', width: 350 },
{ title: '规格型号', render: 'vatmodel' },
{ title: '单位', render: 'vatunit' },
{ title: '数量', render: 'vatqty' },
{ title: '金额', index: 'vatnotax' },
{ title: '税率', index: 'vatrate' },
{ title: '税额', index: 'vattax' }
{ title: '单位', render: 'vatunit', width: 100 },
{ title: '数量', render: 'vatqty', width: 140, className: 'text-right' },
{
title: '金额',
index: 'vatnotax',
width: 140,
type: 'widget',
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatnotax }) }
},
{ title: '税率', index: 'vatrate', width: 140, className: 'text-right' },
{
title: '税额',
index: 'vattax',
width: 140,
type: 'widget',
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vattax }) }
}
];
}
}

View File

@ -87,7 +87,7 @@
</nz-card>
<nz-card class="content-box" nzBordered>
<div class="d-flex align-items-center mb-md">
<div class="d-flex align-items-center mb-md mt-sm">
<button nz-button (click)="openRequestedModal('1')">全部开票</button>
<button nz-button (click)="openRequestedModal('2')">开票</button>
<button nz-button (click)="removeOrder()">移除</button>

View File

@ -1,15 +1,4 @@
:host::ng-deep {
.search-box {
.ant-card-body {
padding-bottom: 18px;
}
}
.content-box {
.ant-card-body {
padding-top: 16px;
}
}
.statistics-box {
.ant-form-item {
@ -22,18 +11,3 @@
}
}
.expend-options {
margin-top: 0px;
}
@media (min-width: 1200px) {
.expend-options {
max-width: 400px;
position : absolute;
right : 0;
bottom : 25px;
}
}

View File

@ -10,7 +10,7 @@ import { RequestedInvoiceModalComponent } from '../requested-invoice-modal/reque
@Component({
selector: 'app-invoice-requested-detail',
templateUrl: './invoice-requested-detail.component.html',
styleUrls: ['./invoice-requested-detail.component.less']
styleUrls: ['./invoice-requested-detail.component.less', '../../../../commom/less/expend-but.less', '../../../../commom/less/box.less']
})
export class InvoiceRequestedDetailComponent implements OnInit {
@ViewChild('st', { static: true })
@ -42,7 +42,6 @@ export class InvoiceRequestedDetailComponent implements OnInit {
loadHeadInfo() {
this.service.request(this.service.$api_get_invoice_requested_header_detail, { id: this.id }).subscribe(res => {
console.log(res);
if (res) {
this.headerInfo = res;
}
@ -73,7 +72,6 @@ export class InvoiceRequestedDetailComponent implements OnInit {
this.service.msgSrv.warning('请选择订单!');
return;
}
console.log(this.selectedRows);
const modal = this.nzModalService.create({
nzTitle: '开票',
nzContent: RequestedDetailComponent,
@ -88,22 +86,36 @@ export class InvoiceRequestedDetailComponent implements OnInit {
type: 'default',
label: '手工处理',
onClick: () => {
console.log('11111');
const params = {
ficoVatappBillVOList: this.selectedRows,
id: this.id
};
this.service.request(this.service.$api_get_applyFicoVatinv, params).subscribe((res: any) => {
console.log(res);
if (res) {
this.loadHeadInfo();
this.st.load(1);
modal.destroy();
}
});
modal.destroy();
}
},
{
type: 'primary',
label: '自动开票',
onClick: () => {
modal.destroy();
const params = {
ficoVatappBillVOList: this.selectedRows,
id: this.id
};
this.service.request(this.service.$api_get_applyFicoVatinv, params).subscribe((res: any) => {
console.log(res);
if (res) {
this.loadHeadInfo();
this.st.load(1);
modal.destroy();
}
});
}
}
]
@ -141,9 +153,9 @@ export class InvoiceRequestedDetailComponent implements OnInit {
routeToOrder(item: any) {
if (item.billType === 1) {
this.router.navigate(['/order-management/vehicle-detail/' + item.billHCode]);
this.router.navigate(['/order-management/vehicle-detail/' + item.billHId]);
} else {
this.router.navigate(['/order-management/bulk-detail/' + item.billHCode]);
this.router.navigate(['/order-management/bulk-detail/' + item.billHId]);
}
}
@ -259,19 +271,47 @@ export class InvoiceRequestedDetailComponent implements OnInit {
private initST(): STColumn[] {
return [
{ title: '', index: 'key', type: 'checkbox' },
{ title: '订单号', render: 'billHCode', width: 150 },
{ title: '订单号', render: 'billHCode', width: 170 },
{ title: '订单完成日期', index: 'billTime', type: 'date', width: 150 },
{ title: '开票状态', index: 'vatappSts', width: 100 },
{ title: '所属项目', index: 'projectId', width: 100 },
{ title: '所属项目', index: 'projectId', width: 140 },
{ title: '订单类型', index: 'billType', width: 100, type: 'enum', enum: { 1: '整车', 2: '大宗' } },
{ title: '装货地', index: 'loadingfrom', width: 90 },
{ title: '卸货地', index: 'loadingto', width: 90 },
{ title: '装货地', index: 'loadingfrom', width: 220 },
{ title: '卸货地', index: 'loadingto', width: 220 },
{ title: '货物信息', index: 'goodsinfo', width: 100 },
{ title: '承运司机', index: 'driverinfo', width: 140 },
{ title: '申请金额', index: 'billkpmoney', width: 100 },
{ title: '运输费', index: 'fjfmoney2', width: 90 },
{ title: '附加费', index: 'fjfmoney', width: 90 },
{ title: '开票金额', index: 'billkpmoney', width: 100 },
{
title: '申请金额',
index: 'billkpmoney',
width: 100,
type: 'widget',
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.billkpmoney }) }
},
{
title: '运输费',
index: 'fjfmoney2',
width: 90,
type: 'widget',
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.fjfmoney2 }) }
},
{
title: '附加费',
index: 'fjfmoney',
width: 90,
type: 'widget',
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.fjfmoney }) }
},
{
title: '开票金额',
index: 'billkpmoney',
width: 100,
type: 'widget',
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.billkpmoney }) }
},
{ title: '税率', index: 'billvatrate', width: 90 },
{ title: '发票号码', index: 'vatinvcode', width: 100 },
{ title: '开票日期', index: 'vatinvtime', type: 'date', width: 150 }

View File

@ -30,12 +30,12 @@
</nz-card>
<nz-card class="content-box" nzBordered>
<nz-tabset [nzTabBarExtraContent]="extraTemplate" (nzSelectedIndexChange)="selectChange($event)">
<nz-tab nzTitle="待受理"></nz-tab>
<nz-tab nzTitle="处理中"></nz-tab>
<nz-tab nzTitle="已拒绝"></nz-tab>
<nz-tab nzTitle="已完成"></nz-tab>
<nz-tab nzTitle="全部"></nz-tab>
<nz-tabset [nzTabBarExtraContent]="extraTemplate" >
<nz-tab nzTitle="待受理" (nzClick)="selectChange(1)"></nz-tab>
<nz-tab nzTitle="处理中" (nzClick)="selectChange(2)"></nz-tab>
<nz-tab nzTitle="已拒绝" (nzClick)="selectChange(4)"></nz-tab>
<nz-tab nzTitle="已完成" (nzClick)="selectChange(3)"></nz-tab>
<nz-tab nzTitle="全部" (nzClick)="selectChange(null)"></nz-tab>
</nz-tabset>
<ng-template #extraTemplate>
<div class="d-flex align-items-center">

View File

@ -1,26 +1,7 @@
:host::ng-deep {
.search-box {
.ant-card-body {
padding-bottom: 18px;
}
}
.content-box {
.ant-card-body {
padding-top: 0;
}
}
nz-range-picker {
width: 100%;
}
.ant-tabs-tab-btn {
padding-left : 16px;
padding-right: 16px;
}
.text-truncate {
white-space: normal;
}
}

View File

@ -14,8 +14,7 @@ import { RequestedInvoiceModalComponent } from './requested-invoice-modal/reques
@Component({
selector: 'app-invoice-requested',
templateUrl: './invoice-requested.component.html',
styleUrls: ['./invoice-requested.component.less'],
providers: [CurrencyPipe]
styleUrls: ['./invoice-requested.component.less', '../../../commom/less/box.less']
})
export class InvoiceRequestedComponent implements OnInit {
@ViewChild('st', { static: true })
@ -32,12 +31,7 @@ export class InvoiceRequestedComponent implements OnInit {
totalCallNo = 0;
selectedRows: any[] = [];
constructor(
public service: TicketService,
private nzModalService: NzModalService,
private router: Router,
private currencyPipe: CurrencyPipe
) {}
constructor(public service: TicketService, private nzModalService: NzModalService, private router: Router) {}
ngOnInit(): void {}
@ -406,27 +400,35 @@ export class InvoiceRequestedComponent implements OnInit {
{ title: '其他要求', index: 'otherremarks', width: 100 },
{ title: '申请人', index: 'applyName', width: 90 },
{ title: '申请时间', index: 'applyTime', type: 'date', width: 150 },
{ title: '快递是否下单成功', index: 'expressHSts', width: 150, type: 'enum', enum: { true: '是', false: '否' } },
{
title: '快递是否下单成功',
index: 'expressHSts',
width: 150,
className: 'text-center',
type: 'enum',
enum: { true: '是', false: '否' }
},
{
title: '操作',
width: 150,
width: 125,
fixed: 'right',
buttons: [
{ type: 'divider' },
{
text: '开票',
click: item => this.requestedInvoiceAction(item)
},
{
text: '驳回',
text: '驳回<br/>',
click: item => this.rejectAction([item])
},
{
text: '查看原因',
click: item => this.showReason(item)
text: '订单明细<br/>',
click: item => this.router.navigate(['/ticket/invoice-requested/detail/' + item?.id])
},
{
text: '订单明细',
click: item => this.orderDetail(item)
text: '查看原因<br/>',
click: item => this.showReason(item)
},
{
text: '下载对账单'
@ -436,15 +438,6 @@ export class InvoiceRequestedComponent implements OnInit {
}
];
}
orderDetail(item: any) {
console.log(item);
this.router.navigate([
'/ticket/invoice-requested/detail/' + item?.id,
{
queryParams: { id: item?.id }
}
]);
}
selectChange(e: any) {
this.resourceStatus = e;
this.initST();

View File

@ -179,12 +179,21 @@ export class InvoicedListComponent implements OnInit {
return [
{ title: '', index: 'key', type: 'checkbox' },
{ title: '发票号码', index: 'invoiceno', width: 150 },
{ title: '申请编号', index: 'vatinvcode', width: 150 },
{
title: '申请编号',
index: 'vatinvcode',
width: 170,
type: 'link',
click: item =>
this.router.navigate(['/ticket/invoice-list/detail/' + item.id], {
queryParams: { type: 1, expressno: item.expressno }
})
},
{ title: '申请时间', index: 'createTime', type: 'date', width: 150 },
{ title: '发票类型', index: 'invoicetype', width: 100 },
{ title: '网络货运人', index: 'ltdId', width: 120 },
{ title: '购买人', index: 'artoname', width: 90 },
{ title: '订单数', index: 'ordlines', width: 90 },
{ title: '订单数', index: 'ordlines', className: 'text-right', width: 90 },
{
title: '价税合计',
index: 'vatmoney',
@ -201,7 +210,7 @@ export class InvoicedListComponent implements OnInit {
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatnotax }) }
},
{ title: '税率', index: 'vatrate', width: 90 },
{ title: '税率', index: 'vatrate', className: 'text-right', width: 90 },
{
title: '税额',
index: 'disvattax',
@ -214,14 +223,14 @@ export class InvoicedListComponent implements OnInit {
{
title: '快递信息',
render: 'expresscompany',
width: 120
width: 180
},
{ title: '状态', index: 'sts', width: 90 },
{
title: '操作',
fixed: 'right',
className: 'text-center',
width: 110,
width: 180,
buttons: [
{
text: '查看明细',