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

This commit is contained in:
wangshiming
2022-03-11 09:37:04 +08:00
14 changed files with 205 additions and 93 deletions

View File

@ -27,7 +27,7 @@
{{ costInfo?.ltdaccountId }} {{ costInfo?.ltdaccountId }}
</se> </se>
<se label="预收金额"> <se label="预收金额">
{{ costInfo?.premoney |currency }} {{ costInfo?.brmmoney |currency }}
</se> </se>
<se label="收款类型" required> <se label="收款类型" required>
{{ costInfo?.brmtypeLabel }} {{ costInfo?.brmtypeLabel }}

View File

@ -282,7 +282,7 @@ export class PaymentRecordComponent implements OnInit {
{ title: '申请人', index: 'applyUserName', width: 90 }, { title: '申请人', index: 'applyUserName', width: 90 },
{ title: '处理时间', index: 'handlerTime', width: 180 }, { title: '处理时间', index: 'handlerTime', width: 180 },
{ title: '处理人', index: 'handlerUserName', width: 90 }, { title: '处理人', index: 'handlerUserName', width: 90 },
{ title: '失败原因', index: 'failCause', width: 250 }, { title: '备注', index: 'failCause', width: 250 },
{ {
title: '操作', title: '操作',
fixed: 'right', fixed: 'right',

View File

@ -265,7 +265,7 @@ export class WithdrawalsRecordComponent implements OnInit {
{ title: '提现状态', index: 'refundStatusLabel', width: 100 }, { title: '提现状态', index: 'refundStatusLabel', width: 100 },
{ title: '银行流水号', index: 'bankSerialNumber', width: 120 }, { title: '银行流水号', index: 'bankSerialNumber', width: 120 },
{ title: '核心交易流水', index: 'coreSerNo', width: 130 }, { title: '核心交易流水', index: 'coreSerNo', width: 130 },
{ title: '失败原因', index: 'rejectionCause', width: 150, format: item => item.failCause || item.rejectionCause }, { title: '备注', index: 'rejectionCause', width: 150, format: item => item.failCause || item.rejectionCause },
{ {
title: '操作', title: '操作',
fixed: 'right', fixed: 'right',

View File

@ -50,9 +50,7 @@
(change)="stChange($event)"> (change)="stChange($event)">
<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>
<label class="text-primary" *ngIf="item.sts == '1'">待处理</label> <label class="text-primary" >{{item.stsLabel}}</label>
<label class="text-primary" *ngIf="item.sts == '2'">待确认</label>
<label class="text-primary" *ngIf="item.sts == '3'">已确认</label>
</ng-template> </ng-template>
</st> </st>
</nz-card> </nz-card>

View File

@ -342,13 +342,13 @@ export class CancellationInvoiceComponent implements OnInit {
className: 'text-right', className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatnotax }) } widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatnotax }) }
}, },
{ // {
title: '税率', // title: '税率',
index: 'billvatrate', // index: 'billvatrate',
width: 120, // width: 120,
className: 'text-right', // className: 'text-right',
format: item => `${item.billvatrate ? ((item.billvatrate as number) * 100).toFixed(2) : 0}%` // format: item => `${item.billvatrate ? ((item.billvatrate as number) * 100).toFixed(2) : 0}%`
}, // },
{ {
title: '税额', title: '税额',
index: 'vattax', index: 'vattax',
@ -372,7 +372,7 @@ export class CancellationInvoiceComponent implements OnInit {
text: '查看明细', text: '查看明细',
click: item => click: item =>
this.router.navigate(['ticket/cancellation-invoice/detail/' + item.id], { this.router.navigate(['ticket/cancellation-invoice/detail/' + item.id], {
queryParams: { type: 1, expressno: item.expressno } queryParams: { type: 1, expressno: item.expressno, ltdId: item.ltdId }
}) })
}, },
{ {

View File

@ -38,12 +38,14 @@ export class InvoiceDetailComponent implements OnInit {
routes: [] routes: []
}; };
id: any = null; id: any = null;
ltdId: any = null;
type: any = 1; type: any = 1;
constructor(public service: TicketService, private route: ActivatedRoute) { constructor(public service: TicketService, private route: ActivatedRoute) {
this.isCanEdit = !!route.snapshot.queryParams.type; this.isCanEdit = !!route.snapshot.queryParams.type;
const expressno = route.snapshot.queryParams.expressno; const expressno = route.snapshot.queryParams.expressno;
this.type = route.snapshot.queryParams.type; this.type = route.snapshot.queryParams.type;
this.id = route.snapshot.params.id; this.id = route.snapshot.params.id;
this.ltdId = route.snapshot.queryParams.ltdId;
this.loadInvoiceHeader(this.id); this.loadInvoiceHeader(this.id);
if (expressno) { if (expressno) {
this.loadRoutes(expressno); this.loadRoutes(expressno);
@ -130,7 +132,12 @@ export class InvoiceDetailComponent implements OnInit {
projectId: { projectId: {
type: 'string', type: 'string',
title: '所属项目', title: '所属项目',
ui: { widget: 'select', placeholder: '请选择', allowClear: true, asyncData: () => this.service.getEnterpriseProject() }, ui: {
widget: 'select',
placeholder: '请选择',
allowClear: true,
asyncData: () => this.service.getEnterpriseProject({ id: this.ltdId })
},
default: '' default: ''
} }
} }
@ -147,6 +154,13 @@ export class InvoiceDetailComponent implements OnInit {
{ title: '卸货地', index: 'loadingto', width: 220 }, { title: '卸货地', index: 'loadingto', width: 220 },
{ title: '货物信息', index: 'goodsinfo', width: 140 }, { title: '货物信息', index: 'goodsinfo', width: 140 },
{ title: '承运司机', index: 'driverinfo', width: 280 }, { title: '承运司机', index: 'driverinfo', width: 280 },
{
title: '税额',
index: 'billvatrate',
width: 120,
className: 'text-right',
format: item => `${item.billvatrate ? ((item.billvatrate as number) * 100).toFixed(2) : 0}%`
},
{ {
title: '申请金额', title: '申请金额',
index: 'billkpnotax', index: 'billkpnotax',

View File

@ -56,15 +56,24 @@ export class InvoicedListComponent implements OnInit {
} }
} }
deletedInvoice() { deletedInvoice(item: any) {
if (this.selectedRows?.length <= 0) { // if (this.selectedRows?.length <= 0) {
this.service.msgSrv.warning('请选择发票'); // this.service.msgSrv.warning('请选择发票');
return; // return;
} // }
this.nzModalService.warning({ const modal = this.nzModalService.warning({
nzTitle: '确定将所选发票作废?', nzTitle: '确定将所选发票作废?',
nzCancelText: '取消', nzCancelText: '取消',
nzOnOk: () => {} nzOnOk: () => {
this.service.request(this.service.$api_cancel_invoice, { id: item.id }).subscribe(res => {
if (res) {
this.service.msgSrv.success('发票作废成功');
}
modal.destroy();
this.st.load(1);
});
return false;
}
}); });
} }
@ -240,9 +249,14 @@ export class InvoicedListComponent implements OnInit {
text: '查看明细', text: '查看明细',
click: item => click: item =>
this.router.navigate(['/ticket/invoice-list/detail/' + item.id], { this.router.navigate(['/ticket/invoice-list/detail/' + item.id], {
queryParams: { expressno: item.expressno, type: 2 } queryParams: { expressno: item.expressno, type: 2, ltdId: item.ltdId }
}) })
}, },
{
text: '发票作废',
click: item => this.deletedInvoice(item),
iif: item => item.sts === '1'
},
{ {
text: '查看物流', text: '查看物流',
click: item => this.showlogosticsLogs(item), click: item => this.showlogosticsLogs(item),

View File

@ -52,6 +52,9 @@ export class TicketService extends ShipperBaseService {
// 已开发票查询 // 已开发票查询
$api_get_invoice_page = '/api/fcc/ficoVatinvH/list/page'; $api_get_invoice_page = '/api/fcc/ficoVatinvH/list/page';
// 发票作废
$api_cancel_invoice = '/api/fcc/ficoVatinvH/inpinvHCancel';
// 获取销项发票抬头 // 获取销项发票抬头
$api_get_invoice_header_detail = '/api/fcc/ficoVatinvH/get'; $api_get_invoice_header_detail = '/api/fcc/ficoVatinvH/get';
// 获取分票发票抬头开票申请订单明细 // 获取分票发票抬头开票申请订单明细

View File

@ -1,5 +1,5 @@
<!-- 页头 --> <!-- 页头 -->
<page-header-wrapper [logo]="logo" title="车辆详情" [content]="content"> <page-header-wrapper [logo]="logo" title="车辆详情" [content]="content" [ngClass]="{'affix': scrollTop>210}">
<ng-template #logo> <ng-template #logo>
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()"> <button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
<i nz-icon nzType="left" nzTheme="outline"></i> <i nz-icon nzType="left" nzTheme="outline"></i>

View File

@ -106,9 +106,37 @@
letter-spacing: 0.7px; letter-spacing: 0.7px;
} }
} }
input { input {
width: 200px; width: 200px;
} }
.sv__container { .sv__container {
padding-top: 10px; padding-top: 10px;
} }
::ng-deep {
.affix {
position: fixed;
top : 20px !important;
right : 25px;
left : 25px;
z-index : 999 !important;
}
.alain-pro__menu-side .alain-pro__main {
.affix {
position: fixed;
top : 20px !important;
right : 25px;
left : 250px;
z-index : 999 !important;
}
}
.aside-collapsed.alain-pro__menu-side .alain-pro__main {
.affix {
left: 106px;
}
}
}

View File

@ -1,4 +1,4 @@
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute } from '@angular/router'; import { ActivatedRoute } from '@angular/router';
import { apiConf } from '@conf/api.conf'; import { apiConf } from '@conf/api.conf';
import { STColumn, STComponent } from '@delon/abc/st'; import { STColumn, STComponent } from '@delon/abc/st';
@ -15,13 +15,14 @@ import { EADateUtil } from '@shared';
import { VehicleImgViewComponent } from '../../list/img-view/img-view.component'; import { VehicleImgViewComponent } from '../../list/img-view/img-view.component';
import { VehicleComponentsListEditComponent } from '../../list/edit/edit.component'; import { VehicleComponentsListEditComponent } from '../../list/edit/edit.component';
import { NzImageService } from 'ng-zorro-antd/image'; import { NzImageService } from 'ng-zorro-antd/image';
import { fromEvent, Subscription } from 'rxjs';
@Component({ @Component({
selector: 'app-Vehicle-components-Audit-detail', selector: 'app-Vehicle-components-Audit-detail',
templateUrl: './detail.component.html', templateUrl: './detail.component.html',
styleUrls: ['./detail.component.less'] styleUrls: ['./detail.component.less']
}) })
export class VehicleComponentsAuditDetailComponent implements OnInit { export class VehicleComponentsAuditDetailComponent implements OnInit, OnDestroy {
@ViewChild('st', { static: false }) st!: STComponent; @ViewChild('st', { static: false }) st!: STComponent;
@ViewChild('redectModal', { static: false }) redectModal!: any; @ViewChild('redectModal', { static: false }) redectModal!: any;
columns!: STColumn[]; columns!: STColumn[];
@ -34,6 +35,10 @@ export class VehicleComponentsAuditDetailComponent implements OnInit {
approvalOpinion = ''; approvalOpinion = '';
uploadURl = apiConf.waterFileUpload; uploadURl = apiConf.waterFileUpload;
disabledUpload = false; disabledUpload = false;
scrollTop = 0;
subscribeScoll!: Subscription;
constructor( constructor(
public service: VehicleService, public service: VehicleService,
private route: ActivatedRoute, private route: ActivatedRoute,
@ -41,11 +46,17 @@ export class VehicleComponentsAuditDetailComponent implements OnInit {
private modal: ModalHelper, private modal: ModalHelper,
private nzImageService: NzImageService private nzImageService: NzImageService
) {} ) {}
ngOnDestroy(): void {
this.subscribeScoll.unsubscribe();
}
ngOnInit() { ngOnInit() {
this.getSelectList(); this.getSelectList();
this.getDetailList(); this.getDetailList();
this.initST(); this.initST();
this.subscribeScoll = fromEvent(window, 'scroll').subscribe(event => {
this.scrollTop = document.documentElement.scrollTop;
});
} }
initST() { initST() {

View File

@ -6,7 +6,7 @@
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\vehicle-detail\\vehicle-detail.component.html * @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\vehicle-detail\\vehicle-detail.component.html
--> -->
<page-header-wrapper [title]="'整车运单详情'" [logo]="logo" [content]="headerContent"> <page-header-wrapper [title]="'整车运单详情'" [logo]="logo" [content]="headerContent" [ngClass]="{'affix': scrollTop>210}">
<ng-template #logo> <ng-template #logo>
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()"> <button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
<i nz-icon nzType="left" nzTheme="outline"></i> <i nz-icon nzType="left" nzTheme="outline"></i>

View File

@ -1,53 +1,60 @@
:host{ :host {
.btn-size{ .btn-size {
font-size: 14px; font-size: 14px;
} }
.bdr{
.bdr {
border-right: 1px solid #ccc; border-right: 1px solid #ccc;
} }
.bdl{
.bdl {
border-left: 1px solid #ccc; border-left: 1px solid #ccc;
} }
.source-info{
p{ .source-info {
p {
margin-bottom: .5em; margin-bottom: .5em;
} }
} }
.freight-info-box{
.freight-info-box {
width: 95%; width: 95%;
} }
.freigth-label{
display: inline-block; .freigth-label {
width: 50px; display : inline-block;
width : 50px;
text-align: right; text-align: right;
} }
::ng-deep{ ::ng-deep {
.approval-status{ .approval-status {
.ant-steps{ .ant-steps {
width: 70%; width : 70%;
margin: 0 auto; margin: 0 auto;
} }
} }
} }
.leftPadding { .leftPadding {
padding-right: 100px; padding-right: 100px;
} }
.handling-info { .handling-info {
min-height: 100px; min-height: 100px;
border: 1px solid #ccc; border : 1px solid #ccc;
.loading-row { .loading-row {
display: flex; display: flex;
} }
.handling-info-icon { .handling-info-icon {
width: 32px; width : 32px;
height: 32px; height : 32px;
margin-right: 24px; margin-right : 24px;
color: #fff; color : #fff;
line-height: 32px; line-height : 32px;
text-align: center; text-align : center;
border-radius: 50%; border-radius: 50%;
&.loading-bg { &.loading-bg {
@ -68,3 +75,29 @@
} }
} }
} }
::ng-deep {
.affix {
position: fixed;
top : 20px !important;
right : 25px;
left : 25px;
z-index : 999 !important;
}
.alain-pro__menu-side .alain-pro__main {
.affix {
position: fixed;
top : 20px !important;
right : 25px;
left : 250px;
z-index : 999 !important;
}
}
.aside-collapsed.alain-pro__menu-side .alain-pro__main {
.affix {
left: 106px;
}
}
}

View File

@ -6,7 +6,7 @@
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\vehicle-detail\\vehicle-detail.component.ts * @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\vehicle-detail\\vehicle-detail.component.ts
*/ */
import { Component, OnInit } from '@angular/core'; import { Component, OnDestroy, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router'; import { ActivatedRoute } from '@angular/router';
import { STColumn } from '@delon/abc/st'; import { STColumn } from '@delon/abc/st';
import { _HttpClient } from '@delon/theme'; import { _HttpClient } from '@delon/theme';
@ -14,6 +14,7 @@ import format from 'date-fns/format';
import { NzCardComponent } from 'ng-zorro-antd/card'; import { NzCardComponent } from 'ng-zorro-antd/card';
import { NzMessageService } from 'ng-zorro-antd/message'; import { NzMessageService } from 'ng-zorro-antd/message';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { Subscription, fromEvent } from 'rxjs';
import { VehicleSureArriveComponent } from 'src/app/routes/order-management/modal/vehicle/sure-arrive/sure-arrive.component'; import { VehicleSureArriveComponent } from 'src/app/routes/order-management/modal/vehicle/sure-arrive/sure-arrive.component';
import { VehicleSureDepartComponent } from 'src/app/routes/order-management/modal/vehicle/sure-depart/sure-depart.component'; import { VehicleSureDepartComponent } from 'src/app/routes/order-management/modal/vehicle/sure-depart/sure-depart.component';
import { WaybillManagementServe } from '../../services/waybill-management.service'; import { WaybillManagementServe } from '../../services/waybill-management.service';
@ -22,7 +23,7 @@ import { WaybillManagementServe } from '../../services/waybill-management.servic
templateUrl: './vehicle-detail.component.html', templateUrl: './vehicle-detail.component.html',
styleUrls: ['./vehicle-detail.component.less'] styleUrls: ['./vehicle-detail.component.less']
}) })
export class WaybillManagementVehicleDetailComponent implements OnInit { export class WaybillManagementVehicleDetailComponent implements OnInit, OnDestroy {
id = this.route.snapshot.params.id; id = this.route.snapshot.params.id;
MapList: any[]=[]; MapList: any[]=[];
@ -53,6 +54,8 @@ export class WaybillManagementVehicleDetailComponent implements OnInit {
} }
]; ];
scrollTop = 0;
subscribeScoll!: Subscription;
constructor( constructor(
private route: ActivatedRoute, private route: ActivatedRoute,
private msgSrv: NzMessageService, private msgSrv: NzMessageService,
@ -62,9 +65,17 @@ export class WaybillManagementVehicleDetailComponent implements OnInit {
} }
ngOnDestroy(): void {
this.subscribeScoll.unsubscribe();
}
ngOnInit(): void { ngOnInit(): void {
this.initData() this.initData()
this.getTrajectory() this.getTrajectory()
this.subscribeScoll = fromEvent(window, 'scroll').subscribe(event => {
this.scrollTop = document.documentElement.scrollTop;
});
} }
initData() { initData() {
const params = { const params = {