This commit is contained in:
xiaoxing.liu
2022-04-14 20:52:13 +08:00
60 changed files with 615 additions and 332 deletions

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2022-01-18 09:51:21
* @LastEditors : Shiming
* @LastEditTime : 2022-04-09 16:39:20
* @LastEditTime : 2022-04-14 14:40:51
* @FilePath : \\tms-obc-web\\proxy.conf.js
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/

View File

@ -4,10 +4,13 @@ import { cacheConf } from '@conf/cache.conf';
import { sysConf } from '@conf/sys.conf';
import { ACLService } from '@delon/acl';
import { MenuService, SettingsService, TitleService, _HttpClient } from '@delon/theme';
import { AlainConfigService } from '@delon/util';
import { environment } from '@env/environment';
import { AmapService, EACacheService, EAUserService } from '@shared';
import { NzSafeAny } from 'ng-zorro-antd/core/types';
import { NzIconService } from 'ng-zorro-antd/icon';
import { NzImageService } from 'ng-zorro-antd/image';
import { NzUploadFile } from 'ng-zorro-antd/upload';
import { Observable, zip } from 'rxjs';
import { catchError, map } from 'rxjs/operators';
@ -31,10 +34,22 @@ export class StartupService {
private userSrv: EAUserService,
private amapService: AmapService,
public cacheSrv: EACacheService,
private coreSrv: CoreService
private coreSrv: CoreService,
private nzImageService: NzImageService,
private alainConfigService: AlainConfigService
) {
iconSrv.addIcon(...ICONS_AUTO, ...ICONS);
this.settingService.setLayout('fixSiderbar', true);
// 全局修改sf图片预览方式
alainConfigService.set('sf', {
ui: {
preview: (file: NzUploadFile) => {
if (file.url) {
this.nzImageService.preview([{ src: file.url }]);
}
}
}
});
}
// TODO: 退出登录时需要清理用户信息

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2022-04-06 13:20:56
* @LastEditors : Shiming
* @LastEditTime : 2022-04-06 20:24:20
* @LastEditTime : 2022-04-14 15:43:56
* @FilePath : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\customtable\\customindex\\customindex.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
@ -12,19 +12,19 @@
<page-header-wrapper [title]="'客户报表'"></page-header-wrapper>
<div nz-row [nzGutter]="16">
<div nz-col class="gutter-row" [nzSpan]="6">
<g2-card [title]="'货主'" [bordered]="true" [total]="hzData?.total" [footer]="'已认证' + ' ' + hzData?.auditPassTotal" contentHeight="46">
<g2-card [title]="'货主'" [bordered]="true" [total]="hzData?.total || '0'" [footer]="'已认证' + ' ' + hzData?.auditPassTotal" contentHeight="46">
</g2-card>
</div>
<div nz-col class="gutter-row" [nzSpan]="6">
<g2-card [title]="'合伙人'" [bordered]="true" [total]="hhrData?.total" [footer]="'已认证' + ' ' + hhrData?.auditPassTotal" contentHeight="46">
<g2-card [title]="'合伙人'" [bordered]="true" [total]="hhrData?.total || '0'" [footer]="'已认证' + ' ' + hhrData?.auditPassTotal" contentHeight="46">
</g2-card>
</div>
<div nz-col class="gutter-row" [nzSpan]="6">
<g2-card [title]="'司机'" [bordered]="true" [total]="sjData?.total" [footer]="'已认证' + ' ' + sjData?.auditPassTotal" contentHeight="46">
<g2-card [title]="'司机'" [bordered]="true" [total]="sjData?.total || '0'" [footer]="'已认证' + ' ' + sjData?.auditPassTotal" contentHeight="46">
</g2-card>
</div>
<div nz-col class="gutter-row" [nzSpan]="6">
<g2-card [title]="'车辆'" [bordered]="true" [total]="clData?.total" [footer]="'已认证' + ' '+ clData?.auditPassTotal" contentHeight="46">
<g2-card [title]="'车辆'" [bordered]="true" [total]="clData?.total || '0'" [footer]="'已认证' + ' '+ clData?.auditPassTotal" contentHeight="46">
</g2-card>
</div>
</div>

View File

@ -38,10 +38,12 @@ export class DatatableCustomindexComponent implements OnInit {
{ title: '未激活用户数', index: 'notActivationTotal', className: 'text-center' },
{ title: '沉默用户数', index: 'silentTotal', className: 'text-center' },
{ title: '流失用户数', index: 'drainTotal', className: 'text-center' },
{ title: '流失率', index: 'drainRate', className: 'text-center',format: (item: any) => {return (item?.drainRate)*100 + '%' }}
{ title: '流失率', index: 'drainRate', className: 'text-center',format: (item: any) => {return ((item?.drainRate)*100).toFixed(2) + '%' }}
];
hzData: any;
hhrData: any;
hhrData: any = {
total: 0
};
sjData: any;
clData: any;
reportData: any = [];
@ -114,7 +116,10 @@ export class DatatableCustomindexComponent implements OnInit {
});
this.service.request(this.service.$api_statistics_total, { type: 2 }).subscribe(res => {
if (res) {
this.hhrData = res;
console.log(this.hhrData);
}
});
this.service.request(this.service.$api_statistics_total, { type: 3 }).subscribe(res => {

View File

@ -4,23 +4,26 @@
* @Author : Shiming
* @Date : 2022-04-06 10:57:56
* @LastEditors : Shiming
* @LastEditTime : 2022-04-13 15:20:32
* @LastEditTime : 2022-04-14 15:48:32
* @FilePath : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\datascreen\\datascreen.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<!-- 页头 -->
<!-- <page-header-wrapper [title]="'运营报表'"></page-header-wrapper> -->
<div >
<div style="position: relative;">
<h1 style="display: flex; justify-content: center; align-items: center;margin: 0; padding: 0; font-size: 25px;font-weight: 700;">运多星网络货运平台</h1>
<div style="position: absolute; right: 0; display: flex;">
<img src="../../../../../assets/images/oclock.svg" alt="">&nbsp;
<span style="font-size: 16px; margin-top: 5px;">{{todayTime}}</span>
<div>
<div style="position: relative">
<h1 style="display: flex; justify-content: center; align-items: center; margin: 0; padding: 0; font-size: 20px; font-weight: 700"
>运多星网络货运平台</h1
>
<div style="position: absolute; right: 0; display: flex">
<img src="../../../../../assets/images/oclock.svg" alt="" />&nbsp;
<span style="font-size: 16px; margin-top: 5px">{{ todayTime }}</span>
</div>
</div>
<h1 style="display: flex; justify-content: center; align-items: center;margin: 0; padding: 0;font-size: 25px;font-weight: 700;">实时交易监控</h1>
<h1 style="display: flex; justify-content: center; align-items: center; padding: 0; font-size: 20px; font-weight: 700"
>实时交易监控</h1
>
</div>
<div nz-row [nzGutter]="24">
<div nz-col class="gutter-row" nzXs="12" nzSm="12" nzMd="12" nzLg="12" nzXl="8" nzXXl="8">
@ -42,16 +45,15 @@
</nz-col>
</nz-row>
</nz-card>
<nz-card nzTitle="本月交易趋势" >
<app-financetable-curve-min #curve [chartData]='chartData2'></app-financetable-curve-min>
<nz-card nzTitle="本月交易趋势">
<app-financetable-curve-min #curve [chartData]="chartData2"></app-financetable-curve-min>
</nz-card>
<nz-card nzTitle="实时货源">
<nz-card nzTitle="实时货源" style="height: 400px">
<st
#st
multiSort
bordered
[columns]="columns"
[scroll]="{ y: '320px' }"
[scroll]="{ y: '280px' }"
[data]="service.$api_getRealTimeSupply"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[res]="{ reName: { list: 'data' } }"
@ -86,10 +88,12 @@
</nz-col>
</nz-row>
</nz-card>
<div style="min-height: 550px">
<app-datatable-customindex-map style="max-height: 680px" #map [chartData]="chartData"></app-datatable-customindex-map>
</div>
<nz-card>
<nz-row [nzGutter]="24">
<g2-bar #bar height="310" [delay]='500' repaint='true' [title]="'本月发货量排名'" [data]="salesData2" (ready)='genData()'></g2-bar>
<g2-bar #bar height="350" [delay]="300" repaint="true" [title]="'本月发货量排名'" [data]="salesData2" (ready)="genData()"></g2-bar>
</nz-row>
</nz-card>
</div>
@ -152,12 +156,11 @@
</nz-col>
</nz-row>
</nz-card>
<nz-card nzTitle="实时运单风控">
<nz-card nzTitle="实时运单风控" style="height: 400px">
<st
#st
multiSort
bordered
[scroll]="{y: '290px'}"
[scroll]="{ y: '280px' }"
[columns]="orderColumns"
[data]="service.$api_getRealTimeWaybillRiskControl"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqOrderParams }"

View File

@ -5,7 +5,11 @@
font-weight: bold;
}
.nz-statistic-number,.ant-statistic-content-value {
font-size: 20px;
font-size: 14px;
}
.ant-table-thead > tr > th, .ant-table-tbody > tr > td, .ant-table tfoot > tr > th, .ant-table tfoot > tr > td {
padding: 0;
font-size: 12px;
}
}
}

View File

@ -5,7 +5,7 @@ import { map } from 'rxjs/operators';
* @Author : Shiming
* @Date : 2022-04-06 10:57:56
* @LastEditors : Shiming
* @LastEditTime : 2022-04-13 10:25:50
* @LastEditTime : 2022-04-14 16:21:00
* @FilePath : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\datascreen\\datascreen.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@ -44,7 +44,7 @@ export class DatatableDatascreenComponent implements OnInit {
monthData: G2TimelineData[] = [];
monthData2:G2TimelineData[] =[];
salesData2: Array<any> = this.genData();
salesData2: Array<any> = [];
constructor(public service: DataService) {}
ngOnChanges(changes: any): void {
console.log(changes);
@ -81,6 +81,7 @@ export class DatatableDatascreenComponent implements OnInit {
this.service.request(this.service.$api_getAnnualTransactions).subscribe((res: any) => {
this.allDeal = res;
});
this.initPillarData()
this.service.request(this.service.$api_getTransactionAmount).subscribe((res: any) => {
this.headDeal = res;
});
@ -105,7 +106,7 @@ export class DatatableDatascreenComponent implements OnInit {
}
});
}
public genData(): G2MiniAreaData[] {
genData(): any{
let value: any = [];
this.service.request(this.service.$api_getShipmentRanking).subscribe((res: any) => {
console.log(res);
@ -115,32 +116,32 @@ export class DatatableDatascreenComponent implements OnInit {
y: element.weight
});
});
this.salesData2 = value
});
console.log(value);
return value;
}
initPillarData(){
this.curve.reRender()
// this.curve.reRender()
this.genData();
}
/**
* 初始化数据列表
*/
initST() {
this.columns = [
{ title: '序号', render: 'index', className: 'text-center', width: '70px', },
{ title: '发货地', index: 'loadAddress', className: 'text-center', width: '90px' },
{ title: '卸货地', index: 'dischargeAddress', className: 'text-center', width: '90px' },
{ title: '货物', index: 'goodsName', className: 'text-center', width: '90px' },
{ title: '数量', render: 'weight', className: 'text-center', width: '120px' }
{ title: '序号', render: 'index', className: 'text-center', },
{ title: '发货地', index: 'loadAddress', className: 'text-center', },
{ title: '卸货地', index: 'dischargeAddress', className: 'text-center',},
{ title: '货物', index: 'goodsName', className: 'text-center', },
{ title: '数量', render: 'weight', className: 'text-center',}
];
}
initOrderST() {
this.orderColumns = [
{ title: '运单号', index: 'wayCode', className: 'text-center', width: '150px' },
{ title: '司机/车辆', index: 'carNo', className: 'text-center', width: '120px' },
{ title: '货主', index: 'shipperName', className: 'text-center', width: '200px' },
{ title: '时间', index: 'createTime', className: 'text-center', width: '200px' },
{ title: '异常预警', index: 'warningTypeLabel', className: 'text-center', width: '120px' }
{ title: '运单号', index: 'wayCode', className: 'text-center', },
{ title: '司机/车辆', index: 'carNo', className: 'text-center', },
{ title: '货主', index: 'shipperName', className: 'text-center', },
{ title: '时间', index: 'createTime', className: 'text-center', },
{ title: '异常预警', index: 'warningTypeLabel', className: 'text-center',}
];
}

View File

@ -22,7 +22,7 @@ export class DatatableCustomindexMapComponent implements OnInit, OnChanges, Afte
constructor(private service: DataService, private ngZone: NgZone) {}
ngAfterViewInit(): void {
this.map.el.nativeElement.style.height = this.map.el.nativeElement.clientWidth + 'px'
this.chart.render();
this.chart?.render();
}
ngOnChanges(changes: SimpleChanges): void {
@ -35,7 +35,6 @@ export class DatatableCustomindexMapComponent implements OnInit, OnChanges, Afte
ngOnInit(): void {}
reRender() {
console.log('5454545');
setTimeout(() => {
this.chart.render();
}, 1000);
@ -75,7 +74,6 @@ export class DatatableCustomindexMapComponent implements OnInit, OnChanges, Afte
this.chart.legend('trend', {
position: 'left'
});
console.log('8888');
// 绘制世界地图背景
this.ds = new DataSet();
@ -95,11 +93,10 @@ export class DatatableCustomindexMapComponent implements OnInit, OnChanges, Afte
if(res) {
res.forEach((element: any) => {
value.push({
name: element.province,
value: element.weight,
'省份': element.province,
'订单数': element.weight,
});
});
console.log(value);
this.userData = value
if (!(this.userData instanceof Array) || this.userData.length === 0) {
@ -107,17 +104,18 @@ if (!(this.userData instanceof Array) || this.userData.length === 0) {
}
this.userDv = this.ds.createView().source(this.userData).transform({
geoDataView: this.worldMap,
field: 'name',
field: '省份',
type: 'geo.region',
as: ['longitude', 'latitude']
}).transform({
type: 'map',
callback: (obj: { trend: string; value: number }) => {
if(obj.value < 500) {
callback: (obj: { trend: string; 订单数: number }) => {
if(obj. < 500) {
obj.trend = '500以下';
} else if(obj.value >= 500 && obj.value < 1000){
} else if(obj. >= 500 && obj. < 1000){
obj.trend = '500-1000';
} else if(obj.value >= 1000 ){
} else if(obj. >= 1000 ){
obj.trend = '>1000';
}
return obj;
@ -127,13 +125,10 @@ if (!(this.userData instanceof Array) || this.userData.length === 0) {
this.userView.data(this.userDv.rows);
this.userView.scale({
trend: {
alias: '蓝色地区数量'
alias: '订单交易数量'
}
});
console.log(this.userView);
console.log('45545');
this.userView.polygon().position('longitude*latitude').color('trend', ['#0a3f80', '#1b6aca', '#5d93d4']).tooltip('name*trend*value').style({fillOpacity: 0.85 })
this.userView.polygon().position('longitude*latitude').color('trend', ['#0a3f80', '#1b6aca', '#5d93d4']).tooltip('省份*订单数').style({fillOpacity: 0.85 })
.animate({
leave: {
animation: 'fade-out'
@ -145,10 +140,6 @@ if (!(this.userData instanceof Array) || this.userData.length === 0) {
}
})
});
console.log('9999');
}
}

View File

@ -3,10 +3,11 @@
<nz-card>
<!-- 搜索表单 -->
<div nz-row nzGutter="8">
<div nz-col [nzSpan]="_$expand ? 24 : 18">
<div nz-col [nzSpan]=" 24 ">
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
</div>
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
</div>
<div [class.text-right]="true">
<button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="isLoading && st.loading" (click)="search()"
acl [acl-ability]="['RiskOrder-Search']">查询</button>
<button nz-button (click)="resetSF()">重置</button>
@ -16,7 +17,6 @@
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
</button>
</div>
</div>
</nz-card>
<nz-card>
<nz-tabset [nzTabBarExtraContent]="extraTemplate" *ngIf="tabs.length>0">

View File

@ -112,7 +112,6 @@ export class DatatableOrderReportingComponent implements OnInit {
placeholder: '请选择',
widget: 'select',
asyncData: () => this.shipperSrv.getNetworkFreightForwarder({}, false),
allowClear: true
}
},
@ -266,8 +265,13 @@ export class DatatableOrderReportingComponent implements OnInit {
},
};
this.ui = {
'*': { spanLabelFixed: 120, grid: { span: 8, gutter: 4 }, enter: () => this.search() },
$time: { grid: { span: 24 } },
'*': {
spanLabelFixed: 120,
grid: {
lg: 12,
xl: 8
}, enter: () => this.search()
},
};
}

View File

@ -91,12 +91,24 @@ export class DatatableReportingVerifyResultComponent implements OnInit {
}
update() {
switch (this?.subjectType) {
case 2:
this.openNewPage(`/usercenter/driver/detail/${this.record?.driverId}`);
break;
case 3:
if (this.record?.billType === '1') {
window.open(location.origin + `/#/order-management/vehicle-detailChange/${this.record?.id}`)
this.openNewPage(`/order-management/vehicle-detailChange/${this.record?.orderId}`);
} else if (this.record.billType === '2') {
window.open(location.origin + `/#/order-management/bulk-detailChange/${this.record?.id}`);
this.openNewPage(`/order-management/bulk-detailChange/${this.record?.orderId}`);
}
break;
case 4:
this.openNewPage(`/vehicle/list/detail/${this.record?.carId}`);
break;
default:
break;
}
}
@ -119,4 +131,8 @@ export class DatatableReportingVerifyResultComponent implements OnInit {
}
}
openNewPage(url: string) {
window.open(location.origin + `/#` + url);
}
}

View File

@ -0,0 +1,55 @@
<page-header-wrapper [title]="'异常入金详情'" [logo]="logo">
<ng-template #logo>
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
<i nz-icon nzType="left" nzTheme="outline"></i>
</button>
</ng-template>
</page-header-wrapper>
<nz-card [nzLoading]="service.http.loading">
<div se-container [labelWidth]="130">
<se label="网络货运人">
{{formData?.ltdName}}
</se>
<se label="银行类型">
{{formData?.bankTypeLabel}}
</se>
<se label="资金总账号">
{{formData?.virtualAccount}}
</se>
<se label="付款账户">
{{formData?.transferBankAccount}}
</se>
<se label="入金金额">
{{formData?.rechargeAmount | currency}}
</se>
<se label="付款银行">
{{formData?.transferBankOpenName}}
</se>
<se label="入金状态">
{{formData?.rechargeStatusLabel}}
</se>
<se label="备注">
{{formData?.rechargeRemark}}
</se>
<se label="入金时间">
{{formData?.createTime}}
</se>
<se label="退款时间">
{{formData?.refundTime}}
</se>
<se label="入金流水号">
{{formData?.paySerialNumber}}
</se>
<se label="退款流水号">
{{formData?.paySerialNumber2}}
</se>
<!-- <se label="入金回单">
<a (click)="downBack('06',formData?.receiptUrl)">{{formData?.refundStatus==='3'?'查看回单':'暂无回单'}}</a>
</se>
<se label="退款回单">
<a (click)="downBack('06',formData?.receiptAbnormalUrl)">{{formData?.refundStatus==='3'?'查看回单':'暂无回单'}}</a>
</se> -->
</div>
</nz-card>

View File

@ -0,0 +1,45 @@
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { FreightAccountService } from '../../../services/freight-account.service';
@Component({
selector: 'app-abnormal-gold-detail',
templateUrl: './abnormal-gold-detail.component.html',
styleUrls: ['./abnormal-gold-detail.component.less']
})
export class AbnormalGoldDetailComponent implements OnInit {
formData: any = {};
constructor(public service: FreightAccountService, private route: ActivatedRoute) {
const id = route.snapshot.params.id;
this.loadRefundDetail(id);
}
ngOnInit(): void {}
loadRefundDetail(id: string) {
this.service.request(this.service.$api_get_getAbnormalAmount_detail, { id }).subscribe(res => {
if (res) {
this.formData = res;
}
});
}
downBack(bussType: string, receiptUrl: string) {
if (this.formData?.refundStatus !== '3') {
return;
}
this.service.getReceiptUrl(receiptUrl, {
bankType: this.formData.bankType,
rmYll: this.formData.userId,
snglFlgCd: this.formData.coreSerNo,
bussType,
ltdId: this.formData.ltdId,
accountType: this.formData.accountType
});
}
goBack() {
history.go(-1);
}
}

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2022-04-06 10:57:56
* @LastEditors : Shiming
* @LastEditTime : 2022-04-11 14:23:35
* @LastEditTime : 2022-04-14 10:39:57
* @FilePath : \\tms-obc-web\\src\\app\\routes\\financial-management\\components\\abnormal-gold\\abnormal-gold.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
@ -16,7 +16,7 @@
<sf
#sf
[schema]="searchSchema"
[ui]="{ '*': { spanLabelFixed: 90, grid: { lg: 8, md: 12, sm: 12, xs: 24 } } }"
[ui]="{ '*': { spanLabelFixed: 110, grid: { lg: 8, md: 12, sm: 12, xs: 24 } } }"
[compact]="true"
[button]="'none'"
></sf>
@ -35,10 +35,9 @@
<nz-card class="content-box" nzBordered>
<nz-tabset>
<nz-tab nzTitle="处理"></nz-tab>
<nz-tab nzTitle="已清分"></nz-tab>
<nz-tab nzTitle="已退款"></nz-tab>
<nz-tab nzTitle="全部"></nz-tab>
<nz-tab nzTitle="处理中"(nzClick)="changePaymentStatus('1')"></nz-tab>
<nz-tab nzTitle="已退款"(nzClick)="changePaymentStatus('5')"></nz-tab>
<nz-tab nzTitle="全部"(nzClick)="changePaymentStatus('')"></nz-tab>
</nz-tabset>
<st

View File

@ -1,37 +0,0 @@
: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;
}
}
.expend-options {
margin-top: 0px;
}
@media (min-width: 1200px) {
.expend-options {
max-width: 400px;
position : absolute;
right : 0;
bottom : 25px;
}
}

View File

@ -9,7 +9,7 @@ import { ClearingModalComponent } from './clearing-modal/clearing-modal.componen
@Component({
selector: 'app-abnormal-gold',
templateUrl: './abnormal-gold.component.html',
styleUrls: ['./abnormal-gold.component.less']
styleUrls: ['../../../commom/less/box.less', '../../../commom/less/expend-but.less']
})
export class AbnormalGoldComponent implements OnInit {
@ViewChild('st', { static: true })
@ -21,17 +21,24 @@ export class AbnormalGoldComponent implements OnInit {
_$expand = false;
rechargeStatus = '1';
constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) {}
ngOnInit(): void {}
beforeReq = (requestOptions: STRequestOptions) => {
Object.assign(requestOptions.body, { rechargeStatus: this.rechargeStatus });
if (this.sf) {
Object.assign(requestOptions.body, { ...this.sf.value });
}
return requestOptions;
};
changePaymentStatus(status: string) {
this.rechargeStatus = status;
this.st.load(1);
}
refund(item: any) {
this.nzModalService.warning({
nzTitle: '确定要将该笔款项原路退回?',
@ -101,7 +108,7 @@ export class AbnormalGoldComponent implements OnInit {
],
ui: {
widget: 'select',
placeholder: '请选择',
placeholder: '请选择'
},
default: ''
},
@ -154,36 +161,36 @@ export class AbnormalGoldComponent implements OnInit {
private initST(): STColumn[] {
return [
{ title: '银行流水号', index: 'paySerialNumber', width: 150 },
{ title: '网络货运人', index: 'ltdId', width: 120 },
{ title: '银行类型', index: 'callNo', width: 100, type: 'enum', enum: { 1: '平安银行', 2: '浦发银行' } },
{ title: '资金总账号', index: 'callNo', width: 120 },
{ title: '充值金额', index: 'rechargeAmount', width: 100 },
{ title: '付款账户', index: 'transferBankAccount', width: 100 },
{ title: '付款账号', index: 'transferBankCardNumber', width: 100 },
{ title: '付款银行', index: 'transferBankOpenName', width: 100 },
{ title: '转账时间', index: 'transferDate', type: 'date', width: 150 },
{ title: '转账备注', index: 'rechargeRemark', width: 100 },
{ title: '操作人', index: 'rechargeName', width: 90 },
{ title: '操作时间', index: 'callNo', type: 'date', width: 150 },
{ title: '状态', index: 'callNo', width: 90 },
{ title: '银行流水号', index: 'paySerialNumber', width: 180 },
{ title: '网络货运人', index: 'ltdName', width: 220 },
{ title: '银行类型', index: 'bankTypeLabel', width: 100 },
{ title: '资金总账号', index: 'virtualAccount', width: 180 },
{
title: '充值金额',
index: 'rechargeAmount',
width: 140,
type: 'widget',
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.rechargeAmount }) }
},
{ title: '付款账户', index: 'transferBankAccount', width: 180 },
{ title: '付款账号', index: 'transferBankCardNumber', width: 180 },
{ title: '付款银行', index: 'transferBankOpenName', width: 220 },
{ title: '转账时间', index: 'createTime', type: 'date', width: 150 },
{ title: '转账备注', index: 'rechargeRemark', width: 180 },
{ title: '退款时间', index: 'refundTime', type: 'date', width: 150 },
// { title: '操作人', index: 'rechargeName', width: 140 },
// { title: '操作时间', index: 'callNo', type: 'date', width: 160 },
{ title: '状态', index: 'rechargeStatusLabel', width: 110 },
{
title: '操作',
fixed: 'right',
className: 'text-center',
width: 120,
buttons: [
{
text: '清分',
click: item => this.clearingAction(item)
},
{
text: '退款',
click: item => this.refund(item)
},
{
text: '查看',
click: item => this.router.navigate(['/financial-management/withdrawals-record/detail/1'])
click: item => this.router.navigate(['/financial-management/abnormal-gold/detail/' + item.id])
}
]
}

View File

@ -36,7 +36,7 @@ export class DriverAccountDetailComponent implements OnInit {
projectId: this.params.projectId,
enterpriseId: this.params.enterpriseId,
roleId: this.params.roleId,
bankType: this.params.bankType,
bankType: this.params.bankType
});
if (this.sf) {
Object.assign(requestOptions.body, {
@ -76,7 +76,22 @@ export class DriverAccountDetailComponent implements OnInit {
stChange(e: STChange): void {}
exportList() {
this.service.exportStart( { ...this.sf.value, pageSize: -1 }, this.service.$api_get_exportAccountBalanceDriverByOperatorPage,);
this.service.exportStart(
{
...this.sf.value,
pageSize: -1,
ltdId: this.params.ltdId,
projectId: this.params.projectId,
enterpriseId: this.params.enterpriseId,
roleId: this.params.roleId,
bankType: this.params.bankType,
createTime: {
start: this.sf.value?.createTime?.[0] || '',
end: this.sf.value?.createTime?.[1] || ''
}
},
this.service.$api_get_exportAccountBalanceDriverByOperatorPage
);
}
goBack() {
@ -167,8 +182,8 @@ export class DriverAccountDetailComponent implements OnInit {
{ title: '交易时间', index: 'createTime', type: 'date', width: 150 },
{ title: '流水号', index: 'channelPaySn', width: 170 },
{ title: '交易类型', index: 'tradeTypeLabel', className: 'text-center', width: 150 },
{ title: '交易单号', index: 'businessNumber' , width: 190},
{ title: '订单号', index: 'orderSn' , width: 190},
{ title: '交易单号', index: 'businessNumber', width: 190 },
{ title: '订单号', index: 'orderSn', width: 190 },
{ title: '运单号', index: 'transportSn', width: 190 },
{ title: '收支类型', index: 'incomeTypeLabel', className: 'text-center', width: 150 },
{
@ -187,9 +202,9 @@ export class DriverAccountDetailComponent implements OnInit {
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.accountBalance }) }
},
{ title: '付款方', index: 'payName', width: 150},
{ title: '付款方', index: 'payName', width: 150 },
{ title: '收款方', index: 'incomeName', width: 150 },
{ title: '备注', index: 'tradeContent' , width: 150},
{ title: '备注', index: 'tradeContent', width: 150 }
];
}
}

View File

@ -81,6 +81,8 @@ export class DriverAccountComponent implements OnInit {
}
exportList() {
console.log(this.sf.value);
this.service.exportStart({ ...this.sf.value, pageSize: -1 }, this.service.$api_export_driver_account_page);
}

View File

@ -83,7 +83,21 @@ export class FreightAccountDetailComponent implements OnInit {
stChange(e: STChange): void {}
exportList() {
this.service.exportStart( { ...this.sf.value, pageSize: -1 }, this.service.$api_get_exportAccountBalanceShipperByOperatorPage,);
this.service.exportStart(
{
...this.sf.value,
pageSize: -1,
ltdId: this.params.ltdId,
projectId: this.params.projectId,
enterpriseId: this.params.enterpriseId,
roleId: this.params.roleId,
createTime: {
start: this.sf?.value.createTime?.[0] || '',
end: this.sf?.value.createTime?.[1] || ''
}
},
this.service.$api_get_exportAccountBalanceShipperByOperatorPage
);
}
goBack() {
@ -201,8 +215,8 @@ export class FreightAccountDetailComponent implements OnInit {
{ title: '交易单号', index: 'businessNumber', width: 170 },
{ title: '订单号', index: 'orderSn', width: 170 },
{ title: '运单号', index: 'transportSn', width: 170 },
{ title: '货主', index: 'enterpriseName' , width: 170},
{ title: '所属项目', index: 'projectName' , width: 170},
{ title: '货主', index: 'enterpriseName', width: 170 },
{ title: '所属项目', index: 'projectName', width: 170 },
{ title: '收支类型', index: 'incomeTypeLabel', className: 'text-center', width: 140 },
{
title: '交易金额',
@ -220,7 +234,7 @@ export class FreightAccountDetailComponent implements OnInit {
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.accountBalance }) }
},
{ title: '付款方', index: 'payName' , width: 170},
{ title: '付款方', index: 'payName', width: 170 },
{ title: '收款方', index: 'incomeName', width: 170 },
{ title: '备注', index: 'tradeContent', width: 170 }
];

View File

@ -247,7 +247,7 @@ export class PaymentOrderComponent implements OnInit {
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.payMoney }) }
},
{ title: '付款类型', index: 'payTypeLabel', width: 130 },
{ title: '付款方式', index: 'payModeLabel', width: 130 },
{ title: '付款方式', index: 'payBankTypeLabel', width: 130 },
{ title: '结算客户', index: 'cnoName', width: 160 },
{ title: '收款人', index: 'hrToLabel', width: 150 },
{ title: '应付已核销', index: 'ishrhxLabel', width: 150 },

View File

@ -66,7 +66,18 @@ export class PlatformAccountDetailComponent implements OnInit {
stChange(e: STChange): void {}
exportList() {
this.service.exportStart({ ...this.sf.value, pageSize: -1 }, this.service.$api_get_exportAccountBalanceByPage);
this.service.exportStart(
{
...this.sf.value,
...this.params,
createTime: {
start: this.sf.value?.createTime?.[0] || '',
end: this.sf.value?.createTime?.[1] || ''
},
pageSize: -1
},
this.service.$api_get_exportAccountBalanceByPage
);
}
goBack() {

View File

@ -229,7 +229,7 @@ export class RechargeRecordComponent implements OnInit {
bankType: item.bankType,
rmYll: item.roleId,
snglFlgCd: item.paySerialNumber2,
bussType: '06',
bussType: '05',
ltdId: item.ltdId,
accountType: item.accountType
})

View File

@ -91,6 +91,16 @@ export class TransactionFlowComponent {
placeholder: '请输入'
}
},
orderSn: {
type: 'string',
title: '订单号',
ui: {
placeholder: '请输入',
visibleIf: {
expand: (value: boolean) => value
}
}
},
tradeType: {
type: 'string',
title: '交易类型',
@ -216,6 +226,7 @@ export class TransactionFlowComponent {
{ title: '流水号', index: 'transactionNumber', width: 180 },
{ title: '交易类型', index: 'tradeTypeLabel', width: 120 },
{ title: '关联单号', index: 'businessNumber', width: 150 },
{ title: '订单号', index: 'orderSn', width: 150 },
{ title: '账户类型', index: 'accountTypeLabel', width: 130 },
{ title: '账户名称', index: 'roleName', width: 180 },
{ title: '所属项目', index: 'projectName', width: 140 },
@ -262,7 +273,6 @@ export class TransactionFlowComponent {
];
}
exportList() {
this.service.exportStart( { ...this.sf.value, pageSize: -1 }, this.service.$api_get_exportAccountBalanceDetailPage,);
this.service.exportStart({ ...this.sf.value, pageSize: -1 }, this.service.$api_get_exportAccountBalanceDetailPage);
}
}

View File

@ -22,8 +22,8 @@
[class.expend-options]="_$expand">
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
<button nz-button [disabled]="false" (click)="resetSF()">重置</button>
<!-- <button nz-button nzType="primary" [disabled]="false"> 导出</button>
<button nz-button nzType="primary" [disabled]="false"> 导出明细</button>
<button nz-button nzType="primary" [disabled]="false" (click)='exportList()'> 导出</button>
<!-- <button nz-button nzType="primary" [disabled]="false"> 导出明细</button>
<button nz-button nzType="primary" [disabled]="false"> 导出凭证</button> -->
<button nz-button nzType="link" (click)="expandToggle()">
{{ !_$expand ? '展开' : '收起' }}

View File

@ -88,6 +88,10 @@ export class VoucherSummaryComponent implements OnInit {
this.sf?.setValue('/expand', this._$expand);
}
exportList() {
this.service.exportStart({ ...this.sf.value, pageSize: -1 }, this.service.$api_export_fico_vch_page);
}
private initSF(): SFSchema {
return {
properties: {
@ -286,7 +290,7 @@ export class VoucherSummaryComponent implements OnInit {
private initST(): STColumn[] {
return [
{ title: '', index: 'key', type: 'checkbox', width: 60, className: 'text-center', fixed: 'left' },
{ title: '汇总凭证号', index: 'vc2code', type: 'link', width: 180 },
{ title: '汇总凭证号', index: 'vc2code', type: 'link', width: 200 },
{ title: '帐套', index: 'vcltdcode', width: 180 },
{ title: '凭证时间', index: 'createTime', type: 'date', width: 150 },
{
@ -302,7 +306,7 @@ export class VoucherSummaryComponent implements OnInit {
},
{ title: '凭证类型', index: 'vctype', width: 120 },
{ title: '序号', index: 'invmoney', width: 100, format: _ => '1' },
{ title: '摘要', index: 'remarks', width: 120 },
{ title: '摘要', index: 'remarks', width: 220 },
{ title: '币种', index: 'currency', width: 100 },
{
title: '借方金额',
@ -320,7 +324,7 @@ export class VoucherSummaryComponent implements OnInit {
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.crmoney }) }
},
{ title: 'NC凭证', index: 'importncnotes', width: 120 },
{ title: 'NC凭证', index: 'importncnotes', width: 180 },
{ title: '凭证状态', index: 'stsLabel', width: 120 },
{ title: '创建时间', index: 'createTime', width: 180 },
{ title: '创建人', index: 'createUserName', width: 120 },

View File

@ -32,6 +32,7 @@ import { PlatformAccountDetailComponent } from './components/platform-account/pl
import { AdvanceCollectionComponent } from './components/advance-collection/advance-collection.component';
import { AdvanceCollectionDetailComponent } from './components/advance-collection/advance-collection-detail/advance-collection-detail.component';
import { RefundRecordComponent } from './components/refund-record/refund-record.component';
import { AbnormalGoldDetailComponent } from './components/abnormal-gold/abnormal-gold-detail/abnormal-gold-detail.component';
const routes: Routes = [
{ path: 'freight-account', component: FreightAccountComponent, data: { guard: { ability: ['FINANCIAL-FREIGHT-ACOUNT-list'] } } },
@ -55,6 +56,7 @@ const routes: Routes = [
{ path: 'cost-management/expenses-receivable/:id', component: ExpensesReceivableComponent },
{ path: 'cost-management/expenses-payable/:id', component: ExpensesPayableComponent },
{ path: 'abnormal-gold', component: AbnormalGoldComponent },
{ path: 'abnormal-gold/detail/:id', component: AbnormalGoldDetailComponent },
{ path: 'payment-record', component: PaymentRecordComponent },
{ path: 'transaction-flow', component: TransactionFlowComponent },
{ path: 'payment-order', component: PaymentOrderComponent },

View File

@ -35,6 +35,7 @@ import { PlatformAccountDetailComponent } from './components/platform-account/pl
import { AdvanceCollectionComponent } from './components/advance-collection/advance-collection.component';
import { AdvanceCollectionDetailComponent } from './components/advance-collection/advance-collection-detail/advance-collection-detail.component';
import { RefundRecordComponent } from './components/refund-record/refund-record.component';
import { AbnormalGoldDetailComponent } from './components/abnormal-gold/abnormal-gold-detail/abnormal-gold-detail.component';
const ROUTESCOMPONENTS = [
FreightAccountComponent,
@ -66,7 +67,8 @@ const ROUTESCOMPONENTS = [
ReceiptOrderDetailComponent,
AdvanceCollectionComponent,
AdvanceCollectionDetailComponent,
RefundRecordComponent
RefundRecordComponent,
AbnormalGoldDetailComponent
];
const NOTROUTECOMPONENTS = [DriverAccountDetailComponent, FreightAccountDetailComponent, ClearingModalComponent];

View File

@ -102,6 +102,8 @@ export class FreightAccountService extends ShipperBaseService {
// 查询总账凭证表
$api_get_fico_vch_page = '/api/fcc/ficoVcH/list/page';
// 导出总账凭证表
$api_export_fico_vch_page = '/api/fcc/ficoVcH/reportVchListPage';
// 获取总账凭证表详情信息
$api_get_fico_vch__detail = '/api/fcc/ficoVcH/getDetail';
@ -156,6 +158,9 @@ export class FreightAccountService extends ShipperBaseService {
// 查询异常入金充值信息
$api_get_getAbnormalAmountPage = '/api/fcc/rechargeInfo/list/getAbnormalAmountPage';
// 查询异常入金充值信息详情
$api_get_getAbnormalAmount_detail = '/api/fcc/rechargeInfo/get';
// 异步导出运营后台异常入金列表
$api_get_exportAbnormalAmountPage = '/api/fcc/rechargeInfo/exportAbnormalAmountPage';
// 异步导出运营后台退款记录列表
@ -173,9 +178,10 @@ export class FreightAccountService extends ShipperBaseService {
const { bankType, snglFlgCd } = params;
if (url) {
if (params?.bankType === '1') {
window.open(params?.receiptUrl);
window.open(url);
} else if (params?.bankType === '2') {
this.exportFile({ bankType, receiptUrl: url, bankSerialNumber: snglFlgCd }, this.$api_download_receipt_apply_byte);
window.open(url);
// this.exportFile({ bankType, receiptUrl: url, bankSerialNumber: snglFlgCd }, this.$api_download_receipt_apply_byte);
}
} else {
this.request(this.$api_download_receipt_apply, { ...params }).subscribe(res => {
@ -183,11 +189,12 @@ export class FreightAccountService extends ShipperBaseService {
if (bankType === '1') {
window.open(res?.receiptUrl);
} else if (bankType === '2') {
this.downloadFile(this.$api_download_receipt_apply_byte, {
bankType,
receiptUrl: res.receiptUrl,
bankSerialNumber: snglFlgCd
});
window.open(res?.receiptUrl);
// this.downloadFile(this.$api_download_receipt_apply_byte, {
// bankType,
// receiptUrl: res.receiptUrl,
// bankSerialNumber: snglFlgCd
// });
}
} else {
this.msgSrv.warning(res.statusMsg || '获取回单失败');

View File

@ -501,8 +501,10 @@ export class insuranceManagementListComponent implements OnInit {
// console.log(newUrl);
// window.open(newUrl,'_self');
window.open(`${_record.newPolicyUrl}`);
// this.service.downloadFile(`${_record.newPolicyUrl}`)
this.service.downloadFile(`${_record.policyUrl}`)
// const params = {
// imgList: [_record.policyUrl],
// index: 0

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-03 15:31:52
* @LastEditors : Shiming
* @LastEditTime : 2022-04-11 15:13:24
* @LastEditTime : 2022-04-14 11:43:13
* @FilePath : \\tms-obc-web\\src\\app\\routes\\insurance-management\\services\\insurance-management.service.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@ -55,7 +55,17 @@ export class InsuranceManagementService extends ShipperBaseService {
// }
// a.remove();
}
getReceiptUrl(url: string, params: any) {
const { bankType, snglFlgCd } = params;
if (url) {
if (params?.bankType === '1') {
window.open(params?.receiptUrl);
} else if (params?.bankType === '2') {
window.open(url);
// this.exportFile({ bankType, receiptUrl: url, bankSerialNumber: snglFlgCd }, this.$api_download_receipt_apply_byte);
}
}
}
constructor(public injector: Injector) {
super(injector);
}

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-06 20:20:26
* @LastEditors : Shiming
* @LastEditTime : 2022-04-13 19:02:35
* @LastEditTime : 2022-04-14 10:08:12
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail\\bulk-detail.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
@ -230,8 +230,8 @@
</div>
<div>如果您的运单没有问题可以提出申诉并提供相关资料我们将24小时内审核反馈</div>
<ul *ngFor="let item of abnormalList">
<li>系统识别:{{item?.complianceTypeName}}</li>
<li>{{item?.determineDetails}},您可在企业端提交申诉材料或联系客服。</li>
<li style="color: red;">系统识别:{{item?.complianceTypeName}}</li>
<li style="color: red;">{{item?.determineDetails}}</li>
</ul>
</div>
</nz-tab>
@ -241,13 +241,14 @@
[page]="{ show: false, showSize: false }"> </st>
</nz-tab>
<nz-tab nzTitle="操作日志">
<st #logSt [data]="service.$api_get_log_list" [columns]="operateLogColums"
<!-- <st #logSt [data]="service.$api_get_log_list" [columns]="operateLogColums"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: logParams ,lazyLoad:true}"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }">
<ng-template st-row="operator" let-item>
{{item?.operator}}/{{item.telephone}}
</ng-template>
</st>
</st> -->
<app-logistics-time-line [data]="operationList"></app-logistics-time-line>
</nz-tab>
</nz-tabset>
</nz-card>

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-06 20:20:26
* @LastEditors : Shiming
* @LastEditTime : 2022-04-13 19:00:19
* @LastEditTime : 2022-04-13 19:52:18
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail\\bulk-detail.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@ -31,6 +31,7 @@ export class OrderManagementBulkeDetailComponent implements OnInit {
billExpenses: any[] = []; //运费信息表格信息
pois: any[] = [];
abnormalList: any[] = [];
operationList: any;
i: any;
imges: any;
totalObj: any;
@ -116,7 +117,22 @@ export class OrderManagementBulkeDetailComponent implements OnInit {
time: '计划卸货时间:' + res.unloadPlanTime
}
];
this.service.request(this.service.$api_get_log_list,{operateObject: this.i?.billCode, operateTypeList: ['3','8']}).subscribe(res => {
if (res) {
console.log('操作日志');
console.log(res);
let a :any= []
res.records.forEach((item: any) => {
a.push({
value: `操作人: ${item.operator} <br /> 操作内容: ${ item.operationContent}`,
time: item.operatorTimestamp,
color: 'green'
})
})
console.log(a);
this.operationList = a;
}
});
}
});
this.service.request(this.service.$api_listBillComplianceAbnormalByBillId, { id: this.id }).subscribe(res => {
@ -126,6 +142,7 @@ export class OrderManagementBulkeDetailComponent implements OnInit {
this.abnormalList = res;
}
});
this.service.request(this.service.$api_getAbnormalWarningByBillId, { id: this.id }).subscribe(res => {
if (res) {
console.log('异常预警');
@ -133,9 +150,7 @@ export class OrderManagementBulkeDetailComponent implements OnInit {
this.warringList = res
}
});
setTimeout(() => {
this.logSt.load(1);
});
}
goBack() {

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2022-01-12 10:52:50
* @LastEditors : Shiming
* @LastEditTime : 2022-04-08 11:30:05
* @LastEditTime : 2022-04-14 10:53:35
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk\\bulk.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
@ -78,6 +78,9 @@
<ng-template st-row="driverName" let-item let-index="index">
<div> {{ item?.driverName }}{{ item?.driverPhone ? "/" + item?.driverPhone : '' }}{{ item?.carNo ? "/" + item?.carNo : ''}} </div>
</ng-template>
<ng-template st-row="settlementWeight" let-item let-index="index">
<div> {{ item.settlementWeight ? item.settlementWeight + '吨/ ': ''}} {{ item.settlementVolume ? item.settlementVolume + '方 ': ''}}</div>
</ng-template>
<ng-template st-row="payeeName" let-item let-index="index">
<div> {{ item?.payeeName }}{{ item?.payeePhone ? "/" + item?.payeePhone : '' }} </div>
</ng-template>

View File

@ -491,12 +491,12 @@ export class OrderManagementBulkComponent implements OnInit {
},
{
title: '结算数量',
index: '结算数量',
render: 'settlementWeight',
width: '170px',
className: 'text-left',
format: (item: any) =>
`${item.settlementWeight || '0'}吨/
${item.settlementVolume || '0'}`
// format: (item: any) =>
// `${item.settlementWeight || '0'}吨/
// ${item.settlementVolume || '0'}方`
},
{
title: '承运司机',
@ -518,6 +518,12 @@ export class OrderManagementBulkComponent implements OnInit {
className: 'text-left',
render: 'loadingTime'
},
{
title: '录单时间',
className: 'text-left',
index: 'recordTime',
width: '170px'
},
{
title: '创建时间',
width: '180px',

View File

@ -37,6 +37,8 @@ export class OrderManagementComplaintDetailComponent implements OnInit {
if (this.id)
{
this.getDetail(this.id);
console.log(this.ar.snapshot.queryParams.sts);
this.initSF();
this.initSTAudit()
}
@ -63,11 +65,22 @@ export class OrderManagementComplaintDetailComponent implements OnInit {
initSF() {
this.schema = {
properties: {
shpComplaintCauseLabel: {
title: '投诉原因',
type: 'string',
maxLength: 30,
ui: {
hidden: this.ar.snapshot.queryParams.sts == 2,
widget: 'text',
change: (value, orgData) => console.log(value, orgData),
} as SFSelectWidgetSchema,
},
drvComplaintCauseLabel: {
title: '投诉原因',
type: 'string',
maxLength: 30,
ui: {
hidden: this.ar.snapshot.queryParams.sts == 1,
widget: 'text',
change: (value, orgData) => console.log(value, orgData),
} as SFSelectWidgetSchema,

View File

@ -360,7 +360,8 @@ export class OrderManagementComplaintComponent implements OnInit {
view(value: any) {
this.router.navigate(['/order-management/complaint-detail/' + value.id], {
queryParams: {
detail: JSON.stringify(value)
detail: JSON.stringify(value),
sts: this.selectedMainTabStatus
}
});
}

View File

@ -201,7 +201,7 @@ export class OrderManagementRiskComponent implements OnInit {
}
} as SFSelectWidgetSchema
},
shipperId: {
shipperAppUserName: {
type: 'string',
title: '托运人',
ui: {
@ -218,7 +218,7 @@ export class OrderManagementRiskComponent implements OnInit {
if (str) {
return this.service
.request(this.service.$api_enterpriceList, { enterpriseName: str })
.pipe(map((res: any) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
.pipe(map((res: any) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.enterpriseName } as SFSchemaEnum))))
.toPromise();
} else {
return of([]);

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-28 14:42:03
* @LastEditors : Shiming
* @LastEditTime : 2022-04-13 19:04:48
* @LastEditTime : 2022-04-14 10:09:03
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail\\vehicle-detail.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
@ -236,8 +236,8 @@
<div> 您的订单可能存在交易风险,请及时提交申诉材料,提交成功后,平台将及时完成审核并通知您! </div>
<div>如果您的运单没有问题可以提出申诉并提供相关资料我们将24小时内审核反馈</div>
<ul *ngFor="let item of abnormalList">
<li>系统识别:{{ item?.complianceTypeName }}</li>
<li>{{ item?.determineDetails }},您可在企业端提交申诉材料或联系客服。</li>
<li style="color: red;">系统识别:{{ item?.complianceTypeName }}</li>
<li style="color: red;">{{ item?.determineDetails }}</li>
</ul>
</div>
</nz-tab>
@ -247,13 +247,15 @@
[page]="{ show: false, showSize: false }"> </st>
</nz-tab>
<nz-tab nzTitle="操作日志">
<st #logSt [data]="service.$api_get_log_list" [columns]="operateLogColums"
<!-- <st #logSt [data]="service.$api_get_log_list" [columns]="operateLogColums"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: logParams ,lazyLoad:true}"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }">
<ng-template st-row="operator" let-item>
{{item?.operator}}/{{item.telephone}}
</ng-template>
</st>
</st> -->
<app-logistics-time-line [data]="operationList"></app-logistics-time-line>
</nz-tab>
</nz-tabset>
</nz-card>

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-28 14:42:03
* @LastEditors : Shiming
* @LastEditTime : 2022-04-13 19:06:44
* @LastEditTime : 2022-04-13 19:52:15
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail\\vehicle-detail.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@ -27,6 +27,7 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
modalcontent: any;
modalTitle: string = '';
trajectory = 'car';
operationList: any;
mapList: any[] = []; //地图点位数据组
pois: any[] = [];
addressItems: any[] = []; //打点地址数据组
@ -107,10 +108,25 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
time: '计划卸货时间:' + res.unloadPlanTime
}
];
this.service.request(this.service.$api_get_log_list,{operateObject: this.i?.billCode, operateTypeList: ['3','8']}).subscribe(res => {
if (res) {
console.log('操作日志');
console.log(res);
let a :any= []
res.records.forEach((item: any) => {
a.push({
value: `操作人: ${item.operator} <br /> 操作内容: ${ item.operationContent}`,
time: item.operatorTimestamp,
color: 'green'
})
})
console.log(a);
this.operationList = a;
}
});
this.billExpenses = this.i?.billExpenseDetails?.filter(
(data: any) => data.expenseCode === 'PRE' || data.expenseCode === 'RECE' || data.expenseCode === 'BACK'
);
this.i.scheduleVOList = this.i?.scheduleVOList?.filter((data: any) => data.displayStatus !== 'HIDE');
}
});
this.service.request(this.service.$api_listBillComplianceAbnormalByBillId, { id: this.id }).subscribe(res => {
@ -127,9 +143,7 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
this.warringList = res
}
});
setTimeout(() => {
this.logSt.load(1);
});
}
// 取消订单
cancellation() {

View File

@ -394,6 +394,12 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme
className: 'text-left',
render: 'loadingTime'
},
{
title: '录单时间',
className: 'text-left',
index: 'recordTime',
width: '170px'
},
{
title: '创建时间',
className: 'text-left',

View File

@ -53,7 +53,7 @@ export class SupplyManagementBulkDetailComponent implements OnInit {
} // 运单类型
settlementBasis: any = {
1: '以收为准',
1: '以收为准',
2: '以发货为准'
} // 结算依据

View File

@ -190,7 +190,7 @@
</span>
<span>(运费{{ i?.totalFreight | currency }}含附加运费 {{ i?.totalSurcharge | currency }}</span>
</h3>
<div *ngIf='i?.resourceStatus !== "1"' >车队长:{{ i?.payeeName }}/{{ i?.payeePhone }}/{{ i?.payeeCardNo }}</div>
<div *ngIf='i?.resourceStatus !== "1" && i?.carrierInformationVO?.driverName !== i?.payeeName' >车队长:{{ i?.payeeName }}/{{ i?.payeePhone }}/{{ i?.payeeCardNo }}</div>
</div>
</div>
</nz-card>

View File

@ -196,6 +196,13 @@ export class SupplyManagementVehicleComponent implements OnInit {
},
]
})
tipsModal.afterClose.subscribe(result => {
this.st?.reload();
this.getGoodsSourceStatistical();
})
} else {
this.st?.reload();
this.getGoodsSourceStatistical();
}
});
}

View File

@ -18,8 +18,8 @@
[compact]="true" [button]="'none'"></sf>
</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()"
acl [acl-ability]="['RiskOrder-Search']">查询</button>
<button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="service.http.loading"
(click)="search()">查询</button>
<button nz-button (click)="resetSF()">重置</button>
<button nz-button (click)="resetSF()">导出</button>
<button nz-button nzType="link" (click)="expandToggle()">

View File

@ -282,7 +282,7 @@ export class TaxManagementIndividualCollectComponent implements OnInit {
*/
upload() {
if (this.selectedRows.length === 0) {
this.service.msgSrv.warning('请选择需要上传的数据');
this.service.msgSrv.warning('请选择需要申报的数据');
return;
}
// this.service.request(this.service.$api_recall_reporting, { rows: this.selectedRows }).subscribe((res: any) => {

View File

@ -17,16 +17,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]="service.http.loading"
(click)="search()"
acl
[acl-ability]="['RiskOrder-Search']"
>查询</button
>
<button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="service.http.loading"
(click)="search()">查询</button>
<button nz-button (click)="resetSF()">重置</button>
<button nz-button (click)="resetSF()">导出</button>
<button nz-button nzType="link" (click)="expandToggle()">
@ -41,16 +33,10 @@
<nz-tab *ngFor="let tab of tabs" [nzTitle]="tab.name" (nzSelect)="selectChange(tab)"> </nz-tab>
</nz-tabset>
<!-- 数据列表 -->
<st
#st
[scroll]="{ x: '1200px' }"
[data]="service.$api_get_taxDeclaration"
[columns]="columns"
<st #st [scroll]="{ x: '1200px' }" [data]="service.$api_get_taxDeclaration" [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, 50, 100] }"
[loading]="false"
>
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 50, 100] }" [loading]="false">
<ng-template st-row="orderStatus" let-item let-index="index">
<a (click)="viewAuditResult(item)" *ngIf="item?.billStatus === '2'">{{ item?.billStatusLabel }}</a>
<span *ngIf="item?.billStatus !== '2'">{{ item?.billStatusLabel }}</span>
@ -79,7 +65,8 @@
</div>
</ng-template>
<nz-modal [(nzVisible)]="isVisible" [nzWidth]="600" [nzFooter]="nzModalFooterEvaluate" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()">
<nz-modal [(nzVisible)]="isVisible" [nzWidth]="600" [nzFooter]="nzModalFooterEvaluate" (nzOnOk)="handleOK()"
(nzOnCancel)="handleCancel()">
<ng-container *nzModalContent>
<div> 司机姓名:张三/13812345678 </div>
<div> 是否确认要将该司机的起征点同步调整为超过15万 </div>

View File

@ -24,15 +24,15 @@ export class TaxManagementIndividualDeclareComponent implements OnInit {
@ViewChild('sf', { static: false }) sf!: SFComponent;
tabType!: string;
tabs: any[] = [
{ name: '待申报', value: '1' },
{ name: '待审核', value: '2' },
{ name: '已通过', value: '3' },
{ name: '不通过', value: '4' },
{ name: '待申报', value: '0' },
{ name: '待审核', value: '1' },
{ name: '已通过', value: '2' },
{ name: '不通过', value: '3' },
{ name: '全部', value: '' }
];
selectedIndex = ''; //选择的项目
serviceTel = '';
isVisible : boolean = false
isVisible: boolean = false;
constructor(
public service: TaxManagementService,
private router: Router,
@ -54,7 +54,7 @@ export class TaxManagementIndividualDeclareComponent implements OnInit {
*/
get reqParams() {
const params = Object.assign({}, this.sf?.value || {}, {
representationsStatus: this.selectedIndex
declareStatus: this.selectedIndex
});
delete params._$expand;
return { ...params };
@ -88,16 +88,16 @@ export class TaxManagementIndividualDeclareComponent implements OnInit {
ngOnInit() {
this.initSF();
this.initST();
const object1 : any = {};
const object2 : any = {};
Object.defineProperty(object1, 'name',{ writable: false ,value: 'wang'});
Object.defineProperty(object2, 'xxoo',{ writable: false ,value: 'wang'});
const object1: any = {};
const object2: any = {};
Object.defineProperty(object1, 'name', { writable: false, value: 'wang' });
Object.defineProperty(object2, 'xxoo', { writable: false, value: 'wang' });
console.log(object1);
console.log(object1.name);
console.log(object2);
console.log(object2.xxoo);
object1.name = 'ming'
object2.xxoo = 'ming'
object1.name = 'ming';
object2.xxoo = 'ming';
console.log(object1);
console.log(object2);
}
@ -161,7 +161,10 @@ export class TaxManagementIndividualDeclareComponent implements OnInit {
ui: {
placeholder: '请选择',
widget: 'select',
containsAllLabel: true
containsAllLabel: true,
visibleIf: {
_$expand: (value: boolean) => value
}
},
default: ''
},
@ -260,51 +263,68 @@ export class TaxManagementIndividualDeclareComponent implements OnInit {
{ title: '征收项目', index: 'zsxm', className: 'text-center', width: '200px' },
{ title: '征收品目', index: 'zsmp', className: 'text-center', width: '200px' },
{ title: '计税依据', index: 'jsyj', className: 'text-center', width: '200px' },
{ title: '税率', index: 'sl', render: 'sl', className: 'text-center', width: '200px' },
{ title: '应纳税额', index: 'ynse', className: 'text-center', width: '180px' },
{ title: '减免税额', index: 'jmse', className: 'text-center', width: '180px' },
{ title: '已缴纳税额', index: 'yjnse', className: 'text-center', width: '180px' },
{ title: '应代征税额', index: 'dzse', className: 'text-center', width: '180px' },
{ title: '已代征税额', index: 'ydzse', className: 'text-center', width: '150px' },
{ title: '申报日期', render: 'sbrq', className: 'text-center', width: '150px' },
{
title: '税率',
index: 'sl',
render: 'sl',
className: 'text-center',
width: '200px',
format: item => `${item.sl ? ((item.sl as number) * 100).toFixed(2) : 0}%`
},
{
title: '应纳税额',
index: 'ynse',
className: 'text-center',
width: '180px',
type: 'widget',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.ynse }) }
},
{ title: '减免税额', index: 'jmse', className: 'text-center', width: '180px' , type: 'widget',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.jmse }) } },
{ title: '已缴纳税额', index: 'yjnse', className: 'text-center', width: '180px', type: 'widget',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.yjnse }) } },
{ title: '应代征税额', index: 'dzse', className: 'text-center', width: '180px', type: 'widget',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.dzse }) } },
{ title: '已代征税额', index: 'ydzse', className: 'text-center', width: '150px', type: 'widget',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.ydzse }) } },
{ title: '申报日期', render: 'sbrq', className: 'text-center', width: '150px' }
];
}
/**
*撤销
*更正
* @param record 记录实例
*/
recall() {
if (this.selectedRows.length === 0) {
this.openWainingModal('请选择需要撤回的数据');
this.openWainingModal('请选择需要更正的数据');
return;
}
this.modal.confirm({
nzTitle: '撤回提示',
nzContent: ' 撤回后可以重新上传,重新上传会覆盖已上传数据,确定要撤回?',
nzOkText: '确定',
nzCancelText: '取消',
nzOnOk: () => {
this.service.request(this.service.$api_recall_reporting, { rows: this.selectedRows }).subscribe((res: any) => {
if (res) {
this.service.msgSrv.success('撤销成功');
this.search();
}
});
}
});
// this.modal.confirm({
// nzTitle: '撤回提示',
// nzContent: ' 撤回后可以重新上传,重新上传会覆盖已上传数据,确定要撤回?',
// nzOkText: '确定',
// nzCancelText: '取消',
// nzOnOk: () => {
// this.service.request(this.service.$api_recall_reporting, { rows: this.selectedRows }).subscribe((res: any) => {
// if (res) {
// this.service.msgSrv.success('撤销成功');
// this.search();
// }
// });
// }
// });
}
/**
*撤销
*修改
* @param record 记录实例
*/
uploadSetting() {
if (this.selectedRows.length === 0) {
this.openWainingModal('请选择需要更新的数据!');
this.openWainingModal('请选择需要修改的数据!');
return;
}
this.isVisible = true
// this.isVisible = true
}
/**
*撤销
@ -328,7 +348,7 @@ export class TaxManagementIndividualDeclareComponent implements OnInit {
}
selectChange(item: any) {
this.selectedIndex = item?.representationsStatus || '';
this.selectedIndex = item?.value || '';
setTimeout(() => {
this.st.load(1);
});
@ -370,7 +390,7 @@ export class TaxManagementIndividualDeclareComponent implements OnInit {
*/
upload() {
if (this.selectedRows.length === 0) {
this.openWainingModal('请选择需要上传的数据');
this.openWainingModal('请选择需要申报的数据');
return;
}
// this.service.request(this.service.$api_recall_reporting, { rows: this.selectedRows }).subscribe((res: any) => {
@ -387,7 +407,7 @@ export class TaxManagementIndividualDeclareComponent implements OnInit {
*/
resetData() {
if (this.selectedRows.length === 0) {
this.openWainingModal('请选择需要上传的数据');
this.openWainingModal('请选择需要更新的数据');
return;
}
let params: any[] = [];
@ -399,7 +419,7 @@ export class TaxManagementIndividualDeclareComponent implements OnInit {
this.service.msgSrv.success('更新成功');
this.st.load(1);
}
})
});
}
/**
@ -447,9 +467,7 @@ export class TaxManagementIndividualDeclareComponent implements OnInit {
nzContent: content
});
}
handleOK() {
}
handleOK() {}
handleCancel() {
this.isVisible = false;
}

View File

@ -17,8 +17,7 @@
<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]="['RiskOrder-Search']">查询</button>
<button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="isLoading && st.loading" (click)="search()" >查询</button>
<button nz-button (click)="resetSF()">重置</button>
<button nz-button (click)="resetSF()">导出</button>
<button nz-button nzType="link" (click)="expandToggle()">

View File

@ -39,17 +39,23 @@ export class CancellationInvoiceComponent implements OnInit {
beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) {
Object.assign(requestOptions.body, {
...this.sf.value,
...this.sf.value
});
if (this.sf.value.createTime) {
Object.assign(requestOptions.body, {
createTime: {
start: this.sf.value.createTime?.[0] || '',
end: this.sf.value.createTime?.[1] || ''
}
});
}
}
if (this.resourceStatus) {
Object.assign(requestOptions.body, {
sts: this.resourceStatus
});
} else {
delete requestOptions.body.sts;
}
return requestOptions;
};
@ -401,7 +407,7 @@ export class CancellationInvoiceComponent implements OnInit {
text: '手工开票<br>',
iif: item => item.sts != '3',
click: item => this.requestedAction(item)
},
}
// {
// text: '推送开票<br>',
// iif: item => item.sts === '1',

View File

@ -33,6 +33,7 @@ export class ETCInvoicedRequestedComponent implements OnInit {
...this.sf.value
});
}
this.selectedRows = [];
return requestOptions;
};
@ -192,7 +193,7 @@ export class ETCInvoicedRequestedComponent implements OnInit {
visibleIf: {
expand: (value: boolean) => value
}
},
}
},
ltdId: {
type: 'string',

View File

@ -8,7 +8,7 @@
<nz-card class="statistics-box">
<div nz-row nzGutter="8">
<div nz-col [nzXl]="12" [nzLg]="12" [nzSm]="8" [nzXs]="8" se-container [labelWidth]="100" col="1">
<div nz-col [nzXl]="10" [nzLg]="10" [nzSm]="12" [nzXs]="12" se-container [labelWidth]="100" col="1">
<se label="销售方">
{{ headerInfo?.ltdName }}
</se>
@ -34,7 +34,7 @@
{{ headerInfo?.remarks }}
</se>
</div>
<div nz-col [nzXl]="12" [nzLg]="12" [nzSm]="8" [nzXs]="8" se-container [labelWidth]="100" col="1">
<div nz-col [nzXl]="10" [nzLg]="10" [nzSm]="12" [nzXs]="12" se-container [labelWidth]="100" col="1">
<se label="购买方">
{{ headerInfo?.artoname }}
</se>
@ -57,7 +57,7 @@
{{headerInfo?.otherremarks || '-'}}
</se>
</div>
<div *ngIf="isCanEdit && selectedIndex===2" nz-col [nzXl]="12" [nzLg]="12" [nzSm]="8" [nzXs]="8" class="text-right">
<div *ngIf="isCanEdit && selectedIndex===2" nz-col [nzXl]="4" [nzLg]="4" [nzSm]="12" [nzXs]="12" class="text-right">
<ng-container *ngIf="isEdit; else elseTemplate">
<button nz-button (click)="isEdit = false; invoiceST?.load(1)">取消</button>
<button nz-button nzType="primary" (click)="saveInvoices()">保 存</button>
@ -106,14 +106,14 @@
<st #costST [data]="service.$api_get_invoice_cost_detail" [columns]="costColumns" size="small" bordered="true"
[page]="{}" [req]="{ process: beforeReq }" [loading]="false" [scroll]="{ x: '1200px', y: '250px' }">
<ng-template st-row="vatmoney" let-item let-index="index">
{{ item.billLType }}: {{ item.vatmoney |currency }}
{{ item.billLTypeLabel }}: {{ item.vatmoney |currency }}
</ng-template>
</st>
</st>vatmoney
</nz-tab>
<nz-tab nzTitle="发票明细">
<st #invoiceST [data]="service.$api_get_invoice_details" [columns]="invoiceColumns" size="small" bordered="true"
[page]="{}" [req]="{ process: beforeReq }" [loading]="false" [scroll]="{ x: '1200px', y: '250px' }">
<ng-template st-row="vatname" let-item let-index="index">
<ng-template st-row="vatnameLabel" let-item let-index="index">
<nz-select *ngIf="isEdit" [ngModel]="item.vatname"
(ngModelChange)="invoiceST.setRow(index, { vatname: $event })" style="width: 100%">
<nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of services"></nz-option>

View File

@ -278,17 +278,17 @@ export class InvoiceDetailComponent implements OnInit {
private initInvoiceST(): STColumn[] {
return [
{ title: '服务名称', render: 'vatname', width: 350 },
{ title: '服务名称', render: 'vatnameLabel', width: 350 },
{ title: '规格型号', render: 'vatmodel' },
{ title: '单位', render: 'vatunit', width: 100 },
{ title: '数量', render: 'vatqty', width: 140, className: 'text-right' },
{
title: '金额',
index: 'vatnotax',
index: 'vattax',
width: 140,
type: 'widget',
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatnotax }) }
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vattax }) }
},
{
title: '税率',
@ -299,11 +299,11 @@ export class InvoiceDetailComponent implements OnInit {
},
{
title: '税额',
index: 'vattax',
index: 'vatnotax',
width: 140,
type: 'widget',
className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vattax }) }
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatnotax }) }
}
];
}

View File

@ -37,13 +37,16 @@ export class RequestedInvoiceModalComponent {
* @returns
*/
removeOrder(item: any[]) {
console.log(item);
if (this.st1._data?.length <= 1) {
this.service.msgSrv.warning('开票申请记录不能少于一个订单');
return;
}
this.nzModalService.warning({
nzTitle: '确定从当前批次中移除所选订单?',
nzContent: '移除后相关订单可以重新提交开票申请',
nzOnOk: () => {
const ids = item.map(order => order.billHId);
this.service.request(this.service.$api_remove_bill, { billHIds: ids }).subscribe(res => {
const ids = item.map(order => order.billHCode);
this.service.request(this.service.$api_remove_bill, { billHcodes: ids }).subscribe(res => {
if (res) {
this.service.msgSrv.success('移除成功');
this.modal.destroy(true);
@ -107,7 +110,8 @@ export class RequestedInvoiceModalComponent {
buttons: [
{
text: '移除',
click: (item: any) => this.removeOrder([item])
click: (item: any) => this.removeOrder([item]),
iif: _ => this.st1._data?.length > 1
}
]
}

View File

@ -25,7 +25,8 @@ export class TicketService extends ShipperBaseService {
$api_get_invoice_requested_order_detail = '/api/fcc/ficoVatappBill/getDetailByVatapp';
// 删除开票申请订单明细
// $api_remove_bill = '/api/fcc/ficoVatappBill/deletebatch';
$api_remove_bill = '/api/fcc/ficoVatappH/remove';
// $api_remove_bill = '/api/fcc/ficoVatappH/remove';
$api_remove_bill = '/api/fcc/ficoVatappBill/removeVatappBill';
// 运营端单个/批量驳回
$api_reject_invoice = '/api/fcc/ficoVatappH/rejectInvoiceApple';
// 运营端修改开票地址

View File

@ -1,7 +1,7 @@
<!--
* @Author: your name
* @Date: 2021-12-24 15:38:08
* @LastEditTime : 2022-03-24 19:40:36
* @LastEditTime : 2022-04-13 20:05:09
* @LastEditors : Shiming
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\abnormal-appear\\abnormal-appear.component.html
@ -57,13 +57,13 @@
<ng-template st-row="exceptionCertificateFirstFilePath" let-item let-index="index">
<div class="imgBox">
<div *ngIf="item?.exceptionCertificateFirstFilePath">
<app-imagelist style="width: 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;" [imgList]="[item?.exceptionCertificateSecondFilePath]"> </app-imagelist>
<app-imagelist style="width: 40px;height: 40px" [imgList]="[item?.exceptionCertificateSecondFilePath]"> </app-imagelist>
</div>
<div *ngIf="item?.exceptionCertificateThirdFilePath">
<app-imagelist style="width: 40px;" [imgList]="[item?.exceptionCertificateThirdFilePath]"> </app-imagelist>
<app-imagelist style="width: 40px;height: 40px" [imgList]="[item?.exceptionCertificateThirdFilePath]"> </app-imagelist>
</div>
</div>
</ng-template>

View File

@ -14,6 +14,7 @@
display: flex;
img {
width: 60px !important;
height: 60px !important;
}
}

View File

@ -52,7 +52,7 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit {
{ title: '卸货地', index: 'unloadingAddressArr', width: '220px', className: 'text-left' },
{ title: '承运司机', index: 'driver', width: '250px', className: 'text-left' },
{ title: '异常信息', index: 'exceptionContent', width: '250px', className: 'text-left' },
{ title: '异常图片', render: 'exceptionCertificateFirstFilePath', width: '200px', className: 'text-left' },
{ title: '异常图片', render: 'exceptionCertificateFirstFilePath', width: '300px', className: 'text-left' },
{ title: '上报时间', index: 'createTime', width: '180px', className: 'text-left' }
];
columns2: STColumn[] = [

View File

@ -1,7 +1,7 @@
<!--
* @Author: your name
* @Date: 2021-12-03 15:31:52
* @LastEditTime : 2022-04-08 11:44:33
* @LastEditTime : 2022-04-14 16:38:56
* @LastEditors : Shiming
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\bulk-detail\\bulk-detail.component.html
@ -176,7 +176,8 @@
附加费{{ i?.totalSurcharge | currency }},附加费率{{ (i?.totalRate * 100).toFixed(2)}}%
</div>
</div>
<div>收款人:{{ i?.payee?.name }}/{{ i?.payee?.phone }}/{{ i?.payee?.idNo }}</div>
<div *ngIf=" i?.payee?.name !== i?.driver?.name">车队长:{{ i?.payee?.name }}{{ i?.payee?.phone ? "/" +
i?.payee?.phone : ''}}/{{ i?.payee?.idNo }}</div>
</nz-card>
<nz-card nzTitle="附件信息" #distannce4>

View File

@ -1,5 +1,15 @@
<!--
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-03-14 14:17:38
* @LastEditors : Shiming
* @LastEditTime : 2022-04-13 19:41:48
* @FilePath : \\tms-obc-web\\src\\app\\shared\\components\\logistics-time-line\\logistics-time-line.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<nz-timeline [nzMode]="'left'">
<nz-timeline-item *ngFor="let item of data" [nzLabel]="item.time" [nzColor]="item.color">
<label [innerHtml]="item.value"></label>
<nz-timeline-item *ngFor="let item of data" [nzLabel]="item.time" [nzColor]="item?.color">
<label [innerHtml]="item?.value"></label>
</nz-timeline-item>
</nz-timeline>