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

This commit is contained in:
潘晓云
2022-04-14 17:06:00 +08:00
62 changed files with 746 additions and 441 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.
*/
@ -20,7 +20,7 @@ module.exports = {
// }
'//api': {
target: {
host: 'tms-api.yunduoxing.com',
host: 'tms-api-test.eascs.com',
protocol: 'https:',
port: 443
},

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 }"
@ -165,9 +168,9 @@
[page]="{ show: false, showSize: false, pageSizes: [5, 50, 100] }"
[loading]="service.http.loading"
>
<ng-template st-row="carNo" let-item let-index="index">
{{ item?.driverName }}{{ item?.carNo ? '/' + item?.carNo : '' }}
</ng-template>
<ng-template st-row="carNo" let-item let-index="index">
{{ item?.driverName }}{{ item?.carNo ? '/' + item?.carNo : '' }}
</ng-template>
</st>
</nz-card>
</div>

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

@ -105,7 +105,7 @@ export class DatatableOrderReportingComponent implements OnInit {
placeholder: '请输入',
},
},
enterpriseInfoId: {
networkTransporter: {
title: '网络货运人',
type: 'string',
ui: {

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,43 +161,43 @@ 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])
}
]
}
];
}
// 导出
exprot() {
this.service.exportStart({ ...this.sf.value, pageSize: -1 }, this.service.$api_get_exportAbnormalAmountPage);
}
// 导出
exprot() {
this.service.exportStart({ ...this.sf.value, pageSize: -1 }, this.service.$api_get_exportAbnormalAmountPage);
}
}

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-08 14:06:21
* @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.
-->
@ -15,26 +15,18 @@
</button>
</ng-template>
<ng-template #headerContent>
<div nz-row>
<div nz-row>
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.billStatusLabel }}</button>
<h4 class="ml-md" style="font-size: 18px">订单号: {{ i?.billCode }}</h4>
</div>
<div nz-row style="display: flex; justify-content: end" class="mb-xs">
<div nz-col >
<button
(click)="cancellation()"
nz-button
<div nz-col>
<button (click)="cancellation()" nz-button
*ngIf="i?.billStatus !== '1' && i?.billStatus !== '5' && i?.billStatus !== '6' && i?.overallPaymentStatus != '2'"
acl [acl-ability]="['ORDER-BULK-DETAIL-cancelAnOrder']"
>取消订单</button
>
<button
nz-button
*ngIf="i?.billStatus == '4' || i?.billStatus == '5' || i?.billStatus == '2' || i?.billStatus == '3'"
acl [acl-ability]="['ORDER-BULK-DETAIL-modifyOrder']"
(click)="changeOrder()"
>修改订单</button
>
acl [acl-ability]="['ORDER-BULK-DETAIL-cancelAnOrder']">取消订单</button>
<button nz-button
*ngIf="i?.billStatus == '4' || i?.billStatus == '5' || i?.billStatus == '2' || i?.billStatus == '3'" acl
[acl-ability]="['ORDER-BULK-DETAIL-modifyOrder']" (click)="changeOrder()">修改订单</button>
</div>
</div>
<div>
@ -43,8 +35,9 @@
<sv label="货主">{{ i?.goodsResource?.shipperAppUserName }} </sv>
<sv label="所属项目">{{ i?.goodsResource?.enterpriseProjectName }}</sv>
<sv label="服务类型">{{ i?.goodsResource?.serviceTypeLabel }}</sv>
<sv label="录单员">{{ i?.createUserName }} {{ i?.createUserPhone ? "/" + i?.createUserPhone : ''}} </sv>
<sv label="调度员">{{ i?.goodsResource?.dispatchName }}{{ i?.goodsResource?.dispatchPhone ? "/" + i?.goodsResource?.dispatchPhone : ''}} </sv>
<sv label="录单员">{{ i?.createUserName }} {{ i?.createUserPhone ? "/" + i?.createUserPhone : ''}} </sv>
<sv label="调度员">{{ i?.goodsResource?.dispatchName }}{{ i?.goodsResource?.dispatchPhone ? "/" +
i?.goodsResource?.dispatchPhone : ''}} </sv>
<sv label="货源编号">{{ i?.goodsResource?.resourceCode }} </sv>
<sv label="运单号">{{ i?.wayBill?.wayBillCode }}</sv>
<sv label="承诺付款天数">{{ i?.goodsResource?.paymentDays }}</sv>
@ -64,12 +57,8 @@
<div style="width: 60%; margin: 0 auto">
 
<nz-steps [nzCurrent]="i?.scheduleVOList?.length + 1" nzLabelPlacement="vertical">
<nz-step
*ngFor="let item of i?.scheduleVOList"
[nzTitle]="item.state"
[nzSubtitle]="item.stateTime"
[nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'"
></nz-step>
<nz-step *ngFor="let item of i?.scheduleVOList" [nzTitle]="item.state" [nzSubtitle]="item.stateTime"
[nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'"></nz-step>
</nz-steps>
</div>
</div>
@ -82,9 +71,11 @@
</sv>
</sv-container>
<sv-container col="2">
<sv label="货物数量"> {{i?.goodsInfoList?.[0]?.weight}}吨,{{i?.goodsInfoList?.[0]?.volume}}方,{{i?.goodsInfoList?.[0]?.number}}件 </sv>
<sv label="货物数量">
{{i?.goodsInfoList?.[0]?.weight}}吨,{{i?.goodsInfoList?.[0]?.volume}}方,{{i?.goodsInfoList?.[0]?.number}}件 </sv>
<sv label="用车需求">{{ i?.carModel }}{{ i?.carLength ? "/" + i?.carLength : ''}} </sv>
<sv label="承运司机"> {{ i?.driverName }}{{i?.driverPhone ? "/" + i?.driverPhone : ''}}{{ i?.carNo ? "/" + i?.carNo : ''}} </sv>
<sv label="承运司机"> {{ i?.driverName }}{{i?.driverPhone ? "/" + i?.driverPhone : ''}}{{ i?.carNo ? "/" + i?.carNo :
''}} </sv>
<sv label="车型车长载重"> {{ i?.driverCarModelLabel }},{{ i?.driverCarLengthLabel }}米,{{ i?.driverCarWeight }}吨 </sv>
<!-- <sv label="计划装货时间">
{{ i?.loadPlanTime }}
@ -93,14 +84,14 @@
{{ i?.unloadPlanTime }}
</sv> -->
<sv label="接单数量"> {{ i?.acceptWeight }}吨,{{ i?.acceptVolume }}方 </sv>
<sv *ngIf="i?.billStatus =='3' || i?.billStatus =='4' || i?.billStatus =='5'" label="装货数量"> {{ i?.loadWeight }}吨,{{ i?.loadVolume }}方</sv>
<sv *ngIf="i?.billStatus =='4' || i?.billStatus =='5'" label="卸货数量"> {{ i?.settlementWeight }}吨,{{ i?.settlementVolume }}方</sv>
<sv *ngIf="i?.billStatus =='3' || i?.billStatus =='4' || i?.billStatus =='5'" label="装货数量"> {{ i?.loadWeight }}吨,{{
i?.loadVolume }}方</sv>
<sv *ngIf="i?.billStatus =='4' || i?.billStatus =='5'" label="卸货数量"> {{ i?.settlementWeight }}吨,{{
i?.settlementVolume }}方</sv>
</sv-container>
<div class="mt-md">
<h4 class="text-md"
>装货卸货信息
<span class="ml-sm text-sm"
>(
<h4 class="text-md">装货卸货信息
<span class="ml-sm text-sm">(
<label>{{ i?.loadingCount || '一' }}装</label>
<label>{{ i?.unloadingCount || '一' }}卸</label>
</span>
@ -114,7 +105,7 @@
<div class="handling-info-icon loading-bg"></div>
<div class="info">
<h4>装货地:{{ item?.province }}{{ item.city }}{{ item.area }}{{ item.detailedAddress }}</h4>
<p>联系人:{{ item.appUserName }}{{ item.contractTelephone ? "/" + item.contractTelephone : '' }}</p>
<p>联系人:{{ item.appUserName }}{{ item.contractTelephone ? "/" + item.contractTelephone : '' }}</p>
</div>
</div>
</div>
@ -127,7 +118,7 @@
<div class="handling-info-icon unloaing-bg"></div>
<div class="info">
<h4>卸货地:{{ item?.province }}{{ item.city }}{{ item.area }}{{ item.detailedAddress }}</h4>
<p>联系人:{{ item.appUserName }}{{ item.contractTelephone ? "/" + item.contractTelephone : ''}}</p>
<p>联系人:{{ item.appUserName }}{{ item.contractTelephone ? "/" + item.contractTelephone : ''}}</p>
</div>
</div>
</div>
@ -137,11 +128,12 @@
</div>
</nz-card>
<nz-card nzTitle="运费信息" #distannce3>
<h2>{{i?.freightPrice}}{{i?.freightTypeLabel}}{{ i?.settlementBasisLabel ? i?.settlementBasisLabel + '' :' ' }}{{i?.ruleLabel}}</h2>
<h2>{{i?.freightPrice}}{{i?.freightTypeLabel}}{{ i?.settlementBasisLabel ? i?.settlementBasisLabel + '' :' '
}}{{i?.ruleLabel}}</h2>
<st #st [data]="billExpenses" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
<ng-template st-row="PriceType" let-item let-index="index"> 到付 </ng-template>
<ng-template st-row="prices" let-item let-index="index">
{{ item.price + item.surcharge | currency }}
{{ item.price + item.surcharge | currency }}
</ng-template>
<ng-template st-row="price" let-item let-index="index">
{{ item.price | currency }}
@ -152,26 +144,30 @@
</st>
<div>
<div>
总计:<span style="color: #da001b; font-size: 18px">{{ i?.totalAmount | currency }}</span> (运费{{ i?.totalFreight | currency }}
总计:<span style="color: #da001b; font-size: 18px">{{ i?.totalAmount | currency }}</span> (运费{{ i?.totalFreight |
currency }}
附加费{{ i?.totalSurcharge | currency }},附加费率{{ (i?.totalRate * 100).toFixed(2)}}%
</div>
</div>
<div *ngIf ="i?.payeePhone && i?.payeePhone !== i?.driverPhone">车队长:{{ i?.payeeName }}{{ i?.payeePhone ? "/" + i?.payeePhone : ''}}</div>
<div *ngIf="i?.payeePhone && i?.payeePhone !== i?.driverPhone">车队长:{{ i?.payeeName }}{{ i?.payeePhone ? "/" +
i?.payeePhone : ''}}</div>
</nz-card>
<nz-card nzTitle="附件信息" #distannce4>
<sv-container>
<sv label="协议附件">
<a *ngIf = "i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a> &nbsp;&nbsp;&nbsp;&nbsp;
<a *ngIf = "i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a>
<a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a> &nbsp;&nbsp;&nbsp;&nbsp;
<a *ngIf="i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a>
</sv>
</sv-container>
<sv-container col="2" class="mt-md">
<sv label="装货凭证">
<app-imagelist *ngIf="i?.loadingLadingBillFilePath || i?.loadingPeopleVehiclesGoodsFilePath" [imgList]="[i?.loadingLadingBillFilePath, i?.loadingPeopleVehiclesGoodsFilePath]"> </app-imagelist>
<app-imagelist *ngIf="i?.loadingLadingBillFilePath || i?.loadingPeopleVehiclesGoodsFilePath"
[imgList]="[i?.loadingLadingBillFilePath, i?.loadingPeopleVehiclesGoodsFilePath]"> </app-imagelist>
</sv>
<sv label="卸货凭证">
<app-imagelist *ngIf="i?.unloadingLadingBillFilePath || i?.unloadingPeopleVehiclesGoodsFilePath " [imgList]="[i?.unloadingLadingBillFilePath, i?.unloadingPeopleVehiclesGoodsFilePath]"> </app-imagelist>
<app-imagelist *ngIf="i?.unloadingLadingBillFilePath || i?.unloadingPeopleVehiclesGoodsFilePath "
[imgList]="[i?.unloadingLadingBillFilePath, i?.unloadingPeopleVehiclesGoodsFilePath]"> </app-imagelist>
</sv>
</sv-container>
</nz-card>
@ -183,7 +179,8 @@
<sv label="回单类型" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
{{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }}
</sv>
<sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> {{ i?.supplementaryInformationVO?.receiptUserName }} / {{ i?.supplementaryInformationVO?.phon }} </sv>
<sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> {{
i?.supplementaryInformationVO?.receiptUserName }} / {{ i?.supplementaryInformationVO?.phon }} </sv>
<sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
{{ i?.supplementaryInformationVO?.area }}
</sv>
@ -206,11 +203,13 @@
<nz-card nzTitle="轨迹信息" style="width: 100%" [nzExtra]="extraTemplate" #distannce5>
<div nz-row>
<div nz-col [nzSpan]="12">
<st [scroll]="{y: '500px'}" style="min-height: 600px;" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }">
<st [scroll]="{y: '500px'}" style="min-height: 600px;" #st [data]="addressItems" [columns]="logColumns2"
[ps]="0" [page]="{ show: false, showSize: false }">
</st>
</div>
<div nz-col [nzSpan]="12">
<amap-path-simplifier [mapWidth]="'100%'" [pois]="pois" [mapHeight]="'600px'" [mapList]="mapList"></amap-path-simplifier>
<amap-path-simplifier [mapWidth]="'100%'" [pois]="pois" [mapHeight]="'600px'" [mapList]="mapList">
</amap-path-simplifier>
</div>
</div>
</nz-card>
@ -222,31 +221,40 @@
</ng-template>
</div>
</nz-card>
<nz-card *ngIf="!route?.snapshot?.queryParams?.sts && abnormalList.length > 0">
<nz-tabset >
<nz-card>
<nz-tabset>
<nz-tab nzTitle="风险异常检测">
<div *ngIf="abnormalList.length > 0">
<div>
您的订单可能存在交易风险,请及时提交申诉材料,提交成功后,平台将及时完成审核并通知您!
</div>
<div>如果您的运单没有问题可以提出申诉并提供相关资料我们将24小时内审核反馈</div>
<ul *ngFor="let item of abnormalList">
<li>系统识别:{{item?.complianceTypeName}}</li>
<li>{{item?.determineDetails}},您可在企业端提交申诉材料或联系客服。</li>
<li>2021-11-07 03:20:15</li>
<li style="color: red;">系统识别:{{item?.complianceTypeName}}</li>
<li style="color: red;">{{item?.determineDetails}}</li>
</ul>
</div>
</nz-tab>
<nz-tab nzTitle="异常预警">
<st #st [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }">
</st>
<st #st [data]="service.$api_get_order_abnormalWarning" [columns]="logColumns3"
[res]="{ reName: { list: 'data' } }" [req]="{params:{id:route.snapshot.params.id}}"
[page]="{ show: false, showSize: false }"> </st>
</nz-tab>
<nz-tab nzTitle="操作日志">
<st #st [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }">
</st>
<!-- <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> -->
<app-logistics-time-line [data]="operationList"></app-logistics-time-line>
</nz-tab>
</nz-tabset>
</nz-card>
<nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" (nzOnOk)="handleOK()" nzWidth="1000px" (nzOnCancel)="handleCancel()">
<nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" (nzOnOk)="handleOK()"
nzWidth="1000px" (nzOnCancel)="handleCancel()">
<ng-container *nzModalContent>
<div *ngIf="!modalcontent">暂无附件信息</div>
<div [innerHTML]="modalcontent"></div>

View File

@ -4,14 +4,14 @@
* @Author : Shiming
* @Date : 2021-12-06 20:20:26
* @LastEditors : Shiming
* @LastEditTime : 2022-04-11 22:31:18
* @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.
*/
import { Router } from '@angular/router';
import { Component, OnInit } from '@angular/core';
import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { STColumn } from '@delon/abc/st';
import { STColumn, STComponent } from '@delon/abc/st';
import { _HttpClient } from '@delon/theme';
import { NzMessageService } from 'ng-zorro-antd/message';
import { NzModalService } from 'ng-zorro-antd/modal';
@ -26,10 +26,12 @@ import format from 'date-fns/format';
})
export class OrderManagementBulkeDetailComponent implements OnInit {
MapList: any[] = [];
@ViewChild('logSt') logSt!: STComponent;
id = this.route.snapshot.params.id;
billExpenses: any[] = []; //运费信息表格信息
pois: any[] = [];
abnormalList: any[] = [];
operationList: any;
i: any;
imges: any;
totalObj: any;
@ -41,6 +43,15 @@ export class OrderManagementBulkeDetailComponent implements OnInit {
{ title: '时间', index: 'parkBte' },
{ title: '地点', index: 'parkAdr' }
];
logColumns3: STColumn[] = [
{ title: '时间', index: 'warningTime' },
{ title: '异常预警类型', index: 'warningTypeLabel' }
];
operateLogColums: STColumn[] = [
{ title: '内容', index: 'operationContent' },
{ title: '操作人', render: 'operator' },
{ title: '操作时间', index: 'operatorTimestamp' },
];
logColumns: STColumn[] = [
{ title: '款项', index: 'expenseCodeLabel' },
{ title: '小计(元)', render: 'prices' },
@ -61,20 +72,23 @@ export class OrderManagementBulkeDetailComponent implements OnInit {
}
}
];
get logParams() {
return { operateObject: this.i?.billCode, operateTypeList: ['3','8'] }
}
trajectory = 'car';
mapList: any[] = []; //地图点位数据组
addressItems: any[] = []; //打点地址数据组
warringList: any[] = []; //打点地址数据组
constructor(
public route: ActivatedRoute,
private msgSrv: NzMessageService,
private service: OrderManagementService,
public service: OrderManagementService,
private router: Router,
private modal: NzModalService
) {}
ngOnInit(): void {
console.log(this.route?.snapshot?.queryParams?.sts);
this.initData();
this.getTrajectory();
}
@ -103,6 +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 => {
@ -112,12 +142,15 @@ export class OrderManagementBulkeDetailComponent implements OnInit {
this.abnormalList = res;
}
});
this.service.request(this.service.$api_getAbnormalWarningByBillId, { id: this.id }).subscribe(res => {
if (res) {
console.log('异常预警');
console.log(res);
this.warringList = res
}
});
}
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

@ -88,7 +88,7 @@ export class OrderManagementRiskComponent implements OnInit {
this.loading = false
return data.map(item => ({
...item,
disabled: item.auditStatus !== '1'
disabled: item.representationsStatus !== '2'
}));
};
search() {
@ -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-08 14:06:27
* @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.
-->
@ -21,22 +21,12 @@
</div>
<div nz-row style="display: flex; justify-content: end" class="mb-xs">
<div nz-col>
<button
(click)="cancellation()"
nz-button
<button (click)="cancellation()" nz-button
*ngIf="i.billStatus == '4' || i.billStatus == '5' || i.billStatus == '2' || i.billStatus == '3' || i.billStatus == '1'"
acl
[acl-ability]="['ORDER-VEHICLE-DETAIL-cancelAnOrder']"
>取消订单</button
>
<button
nz-button
(click)="changeOrder()"
*ngIf="i.billStatus == '4' || i.billStatus == '5' || i.billStatus == '2' || i.billStatus == '3'"
acl
[acl-ability]="['ORDER-VEHICLE-DETAIL-modifyOrder']"
>修改订单</button
>
acl [acl-ability]="['ORDER-VEHICLE-DETAIL-cancelAnOrder']">取消订单</button>
<button nz-button (click)="changeOrder()"
*ngIf="i.billStatus == '4' || i.billStatus == '5' || i.billStatus == '2' || i.billStatus == '3'" acl
[acl-ability]="['ORDER-VEHICLE-DETAIL-modifyOrder']">修改订单</button>
</div>
</div>
<div>
@ -46,8 +36,8 @@
<sv label="所属项目">{{ i?.goodsResource?.enterpriseProjectName }}</sv>
<sv label="服务类型">{{ i?.goodsResource?.serviceTypeLabel }}</sv>
<sv label="录单员">{{ i?.createUserName }} {{ i?.createUserPhone ? '/' + i?.createUserPhone : '' }} </sv>
<sv label="调度员"
>{{ i?.goodsResource?.dispatchName }}{{ i?.goodsResource?.dispatchPhone ? '/' + i?.goodsResource?.dispatchPhone : '' }}
<sv label="调度员">{{ i?.goodsResource?.dispatchName }}{{ i?.goodsResource?.dispatchPhone ? '/' +
i?.goodsResource?.dispatchPhone : '' }}
</sv>
<sv label="外部订单号">{{ i?.externalBillCode }}</sv>
<sv label="货源编号">{{ i?.goodsResource?.resourceCode }} </sv>
@ -70,13 +60,9 @@
<div style="width: 60%; margin: 0 auto">
 
<nz-steps [nzCurrent]="i?.scheduleVOList?.length + 1" nzLabelPlacement="vertical">
<nz-step
*ngFor="let item of i?.scheduleVOList"
[nzTitle]="item.state"
[nzSubtitle]="item.stateTime"
<nz-step *ngFor="let item of i?.scheduleVOList" [nzTitle]="item.state" [nzSubtitle]="item.stateTime"
[nzDescription]="item.cancelReason ? '取消原因' + item.cancelReason : ''"
[nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'"
></nz-step>
[nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'"></nz-step>
</nz-steps>
</div>
</div>
@ -93,16 +79,16 @@
</sv>
</sv-container>
<sv-container col="2">
<sv label="货物数量"> {{i?.goodsInfoList?.[0]?.weight}}吨,{{i?.goodsInfoList?.[0]?.volume}}方,{{i?.goodsInfoList?.[0]?.number}}件 </sv>
<sv label="货物数量">
{{i?.goodsInfoList?.[0]?.weight}}吨,{{i?.goodsInfoList?.[0]?.volume}}方,{{i?.goodsInfoList?.[0]?.number}}件 </sv>
<sv label="用车需求">{{ i?.carModel }}{{ i?.carLength ? '/' + i?.carLength : '' }}</sv>
<sv label="承运司机"> {{ i?.driverName }}{{ i?.driverPhone ? '/' + i?.driverPhone : '' }}{{ i?.carNo ? '/' + i?.carNo : '' }} </sv>
<sv label="承运司机"> {{ i?.driverName }}{{ i?.driverPhone ? '/' + i?.driverPhone : '' }}{{ i?.carNo ? '/' + i?.carNo :
'' }} </sv>
<sv label="车型车长载重"> {{ i?.driverCarModelLabel }},{{ i?.driverCarLengthLabel }}米,{{ i?.driverCarWeight }}吨 </sv>
</sv-container>
<div class="mt-md">
<h4 class="text-md"
>装货卸货信息
<span class="ml-sm text-sm"
>(
<h4 class="text-md">装货卸货信息
<span class="ml-sm text-sm">(
<label>{{ i?.loadingCount }}装</label>
<label>{{ i?.unloadingCount }}卸</label>
)
@ -167,10 +153,12 @@
</ng-template>
</st>
<div>
总计:<span style="color: #da001b; font-size: 18px">{{ i?.totalAmount | currency }}</span> (运费{{ i?.totalFreight | currency }}
总计:<span style="color: #da001b; font-size: 18px">{{ i?.totalAmount | currency }}</span> (运费{{ i?.totalFreight |
currency }}
附加费{{ i?.totalSurcharge | currency }},附加费率{{ (i?.totalRate * 100).toFixed(2) }}%
</div>
<div *ngIf ="i?.payeePhone && i?.payeePhone !== i?.driverPhone">车队长:{{ i?.payeeName }}{{ i?.payeePhone ? '/' + i?.payeePhone : '' }}</div>
<div *ngIf="i?.payeePhone && i?.payeePhone !== i?.driverPhone">车队长:{{ i?.payeeName }}{{ i?.payeePhone ? '/' +
i?.payeePhone : '' }}</div>
</nz-card>
<nz-card nzTitle="附件信息" #distannce4>
@ -185,7 +173,8 @@
<app-imagelist [imgList]="[i?.loadingLadingBillFilePath, i?.loadingPeopleVehiclesGoodsFilePath]"> </app-imagelist>
</sv>
<sv label="卸货凭证">
<app-imagelist [imgList]="[i?.unloadingLadingBillFilePath, i?.unloadingPeopleVehiclesGoodsFilePath]"> </app-imagelist>
<app-imagelist [imgList]="[i?.unloadingLadingBillFilePath, i?.unloadingPeopleVehiclesGoodsFilePath]">
</app-imagelist>
</sv>
</sv-container>
</nz-card>
@ -222,19 +211,13 @@
<nz-card nzTitle="轨迹信息" style="width: 100%" [nzExtra]="extraTemplate" #distannce5>
<div nz-row>
<div nz-col [nzSpan]="12">
<st
[scroll]="{ y: '500px' }"
style="min-height: 600px"
#st
[data]="addressItems"
[columns]="logColumns2"
[ps]="0"
[page]="{ show: false, showSize: false }"
>
<st [scroll]="{ y: '500px' }" style="min-height: 600px" #st [data]="addressItems" [columns]="logColumns2"
[ps]="0" [page]="{ show: false, showSize: false }">
</st>
</div>
<div nz-col [nzSpan]="12">
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList" [pois]="pois"></amap-path-simplifier>
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList" [pois]="pois">
</amap-path-simplifier>
</div>
</div>
</nz-card>
@ -246,33 +229,38 @@
</ng-template>
</div>
</nz-card>
<nz-card *ngIf="!route?.snapshot?.queryParams?.sts && abnormalList.length > 0">
<nz-card >
<nz-tabset>
<nz-tab nzTitle="风险异常检测">
<div *ngIf="abnormalList.length > 0">
<div> 您的订单可能存在交易风险,请及时提交申诉材料,提交成功后,平台将及时完成审核并通知您! </div>
<div>如果您的运单没有问题可以提出申诉并提供相关资料我们将24小时内审核反馈</div>
<ul *ngFor="let item of abnormalList">
<li>系统识别:{{ item?.complianceTypeName }}</li>
<li>{{ item?.determineDetails }},您可在企业端提交申诉材料或联系客服。</li>
<li>2021-11-07 03:20:15</li>
<li style="color: red;">系统识别:{{ item?.complianceTypeName }}</li>
<li style="color: red;">{{ item?.determineDetails }}</li>
</ul>
</div>
</nz-tab>
<nz-tab nzTitle="异常预警">
<st #st [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }"> </st>
<st #st [data]="service.$api_get_order_abnormalWarning" [columns]="logColumns3"
[res]="{ reName: { list: 'data' } }" [req]="{params:{id:route.snapshot.params.id}}"
[page]="{ show: false, showSize: false }"> </st>
</nz-tab>
<nz-tab nzTitle="操作日志">
<st #st [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }"> </st>
<!-- <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> -->
<app-logistics-time-line [data]="operationList"></app-logistics-time-line>
</nz-tab>
</nz-tabset>
</nz-card>
<nz-modal
[(nzVisible)]="isVisible"
nzWidth="1000px"
[nzFooter]="nzModalFooter"
[nzTitle]="modalTitle"
(nzOnOk)="handleOK()"
(nzOnCancel)="handleCancel()"
>
<nz-modal [(nzVisible)]="isVisible" nzWidth="1000px" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle"
(nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()">
<ng-container *nzModalContent>
<div *ngIf="!modalcontent">暂无附件信息</div>
<div [innerHTML]="modalcontent"></div>

View File

@ -4,13 +4,13 @@
* @Author : Shiming
* @Date : 2021-12-28 14:42:03
* @LastEditors : Shiming
* @LastEditTime : 2022-04-06 15:12:10
* @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.
*/
import { Component, OnInit } from '@angular/core';
import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { STColumn } from '@delon/abc/st';
import { STColumn, STComponent } from '@delon/abc/st';
import { NzCardComponent } from 'ng-zorro-antd/card';
import { NzMessageService } from 'ng-zorro-antd/message';
import { NzModalService } from 'ng-zorro-antd/modal';
@ -23,12 +23,15 @@ import { OrderManagementService } from '../../services/order-management.service'
})
export class OrderManagementVehicleDetailComponent implements OnInit {
id = this.route.snapshot.params.id;
@ViewChild('logSt') logSt!: STComponent;
modalcontent: any;
modalTitle: string = '';
trajectory = 'car';
operationList: any;
mapList: any[] = []; //地图点位数据组
pois: any[] = [];
addressItems: any[] = []; //打点地址数据组
warringList: any[] = []; //打点地址数据组
abnormalList: any[] = [];
i: any = {
unLoadingPlaceList: [],
@ -46,6 +49,15 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
{ title: '时间', index: 'parkBte' },
{ title: '地点', index: 'parkAdr' }
];
logColumns3: STColumn[] = [
{ title: '时间', index: 'warningTime' },
{ title: '异常预警类型', index: 'warningTypeLabel' }
];
operateLogColums: STColumn[] = [
{ title: '内容', index: 'operationContent' },
{ title: '操作人', render: 'operator' },
{ title: '操作时间', index: 'operatorTimestamp' },
];
logColumns: STColumn[] = [
{ title: '款项', index: 'expenseCodeLabel' },
{ title: '小计(元)', render: 'prices' },
@ -58,10 +70,11 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
index: 'paymentStatusLabel'
}
];
constructor(
public route: ActivatedRoute,
private msgSrv: NzMessageService,
private service: OrderManagementService,
public service: OrderManagementService,
private router: Router,
private modal: NzModalService
) {}
@ -70,7 +83,9 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
this.initData();
this.getTrajectory();
}
get logParams() {
return { operateObject: this.i?.billCode, operateTypeList: ['3','8'] }
}
initData() {
this.service.request(this.service.$api_get_getWholeBillDetail, { id: this.id }).subscribe(res => {
if (res) {
@ -80,8 +95,10 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
markerLabel: '装',
color: 'blue',
position: [res.startingPoint.longitude, res.startingPoint.latitude],
title: `发货地:${res.startingPoint.province}${res.startingPoint.city}${res.startingPoint.area || ''}${res.startingPoint.detailedAddress}`,
time: '计划出发时间:' +res.loadPlanTime
title: `发货地:${res.startingPoint.province}${res.startingPoint.city}${res.startingPoint.area || ''}${
res.startingPoint.detailedAddress
}`,
time: '计划出发时间:' + res.loadPlanTime
},
{
markerLabel: '卸',
@ -91,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 => {
@ -108,8 +140,10 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
if (res) {
console.log('异常预警');
console.log(res);
this.warringList = res
}
});
}
// 取消订单
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

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-03 15:31:52
* @LastEditors : Shiming
* @LastEditTime : 2022-04-11 22:29:34
* @LastEditTime : 2022-04-13 18:52:24
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@ -188,6 +188,7 @@ export class OrderManagementService extends ShipperBaseService {
// 查询异常预警表
$api_get_abnormalWarning = `/api/sdc/abnormalWarning/list/page`;
$api_get_order_abnormalWarning = `/api/sdc/abnormalWarning/getAbnormalWarningByBillId`;
// 异步导出运营后台大宗订单列表
$api_get_asyncExportBulkList = `/api/sdc/billOperate/asyncExportBulkList`;
@ -203,6 +204,8 @@ export class OrderManagementService extends ShipperBaseService {
$api_abnormalWarning_asyncExport = `/api/sdc/abnormalWarning/asyncExport`;
// 异步导出投诉管理导出
$api_asyncExportComplaintListDrv = `/api/sdc/complaint/operate/asyncExportComplaintListDrv`;
//操作日志
public $api_get_log_list = `/api/mdc/pbc/operationLogRecords/getOperationLogRecordsList`;
/**
* 根据企业ID获取企业历史网络货运人
* @returns

View File

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

View File

@ -309,6 +309,9 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
errors: { required: '请填写货物名称' },
visibleIf: {
goodsTypeName: (value: any) => value && value === '其它'
},
blur: (value: any) => {
this.checkGoodsName();
}
}
}
@ -1237,4 +1240,21 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
}
this.payChange();
}
checkGoodsName() {
const name = this.sf3.getValue('/goodsName1');
if (!name || name.trim().length === 0) {
return;
}
this.service.request(this.service.$api_checkGoodsName, name).subscribe(res => {
if (res === false) {
const modalRef = this.modalService.error({
nzTitle: '货物名称含有违禁词,请重新输入!',
});
modalRef.afterClose.subscribe(result => {
// this.sf3.setValue('/goodsName1', null);
});
}
});
}
}

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

@ -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,10 +24,10 @@ 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 = ''; //选择的项目
@ -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 };
@ -161,7 +161,10 @@ export class TaxManagementIndividualDeclareComponent implements OnInit {
ui: {
placeholder: '请选择',
widget: 'select',
containsAllLabel: true
containsAllLabel: true,
visibleIf: {
_$expand: (value: boolean) => value
}
},
default: ''
},
@ -271,39 +274,39 @@ export class TaxManagementIndividualDeclareComponent implements OnInit {
}
/**
*撤销
*更正
* @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 +331,7 @@ export class TaxManagementIndividualDeclareComponent implements OnInit {
}
selectChange(item: any) {
this.selectedIndex = item?.representationsStatus || '';
this.selectedIndex = item?.value || '';
setTimeout(() => {
this.st.load(1);
});
@ -370,7 +373,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 +390,7 @@ export class TaxManagementIndividualDeclareComponent implements OnInit {
*/
resetData() {
if (this.selectedRows.length === 0) {
this.openWainingModal('请选择需要上传的数据');
this.openWainingModal('请选择需要更新的数据');
return;
}
let params: any[] = [];

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

@ -261,7 +261,7 @@ export class TaxManagementOrderReportingComponent implements OnInit {
{ title: '卸货地详细地址', index: 'unloadDetailedAddress', className: 'text-center', width: '180px' },
{ title: '货主名称', index: 'shipperName', className: 'text-center', width: '180px' },
{ title: '货主纳税人识别号', index: 'shipperProvinceCode', className: 'text-center', width: '180px' },
{ title: '录单时间', index: 'billCreateTime', className: 'text-center', width: '250px' },
{ title: '录单时间', index: 'recordTime', className: 'text-center', width: '250px' },
{ title: '接单时间', index: 'wayBillCreateTime', className: 'text-center', width: '200px' },
{ title: '发车时间', index: 'loadTime', className: 'text-center', width: '200px' },
{ title: '到车时间', index: 'unloadTime', className: 'text-center', width: '150px' },

View File

@ -39,17 +39,23 @@ export class CancellationInvoiceComponent implements OnInit {
beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) {
Object.assign(requestOptions.body, {
...this.sf.value,
createTime: {
start: this.sf.value.createTime?.[0] || '',
end: this.sf.value.createTime?.[1] || ''
}
...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;
};
@ -339,7 +345,7 @@ export class CancellationInvoiceComponent implements OnInit {
click: item => this.router.navigate(['/ticket/invoice-requested/detail/' + item?.vatappHId])
},
{ title: '申请时间', index: 'createTime', type: 'date', width: 150 },
{ title: '发票类型', index: 'vatapptypeLabel', width: 150 },
{ title: '发票类型', index: 'vatapptypeLabel', width: 150 },
{ title: '网络货运人', index: 'ltdName', width: 220 },
{ title: '购买人', index: 'artoname', width: 220 },
{ title: '订单数', index: 'ordlines', width: 90, className: 'text-right' },
@ -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]="8" [nzLg]="8" [nzSm]="8" [nzXs]="8" se-container [labelWidth]="100" col="1">
<div nz-col [nzXl]="12" [nzLg]="12" [nzSm]="8" [nzXs]="8" se-container [labelWidth]="100" col="1">
<se label="销售方">
{{ headerInfo?.ltdName }}
</se>
@ -34,7 +34,7 @@
{{ headerInfo?.remarks }}
</se>
</div>
<div nz-col [nzXl]="8" [nzLg]="8" [nzSm]="8" [nzXs]="8" se-container [labelWidth]="100" col="1">
<div nz-col [nzXl]="12" [nzLg]="12" [nzSm]="8" [nzXs]="8" 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]="8" [nzLg]="8" [nzSm]="8" [nzXs]="8" class="text-right">
<div *ngIf="isCanEdit && selectedIndex===2" nz-col [nzXl]="12" [nzLg]="12" [nzSm]="8" [nzXs]="8" 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>
@ -113,7 +113,7 @@
<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

@ -8,13 +8,12 @@
<nz-card class="statistics-box">
<div nz-row nzGutter="8">
<div nz-col [nzXl]="8" [nzLg]="12" nzMd="12" [nzSm]="24" [nzXs]="24" se-container [labelWidth]="150" col="1">
<se label="网络货运人">
<div nz-col [nzXl]="8" [nzLg]="12" [nzMd]="12" [nzSm]="24" [nzXs]="24" se-container [labelWidth]="150" col="1">
<se label="网络货运人" [labelWidth]="133">
{{headerInfo?.ltdidName}}
</se>
<se label="申请编号">
{{headerInfo?.vatappcode}}
</se>
<se label="已开/全部订单数">
{{headerInfo?.vatinvHNum}} / {{headerInfo?.vatinvBillNum}}
</se>
@ -31,13 +30,16 @@
{{headerInfo?.provinceName}}{{headerInfo?.cityName}}{{headerInfo?.areaName}}{{headerInfo?.reciaddr}}
</se>
</div>
<div nz-col [nzXl]="8" [nzLg]="12" nzMd="12" [nzSm]="24" [nzXs]="24" se-container [labelWidth]="100" col="1">
<div nz-col [nzXl]="8" [nzLg]="12" [nzMd]="12" [nzSm]="24" [nzXs]="24" se-container [labelWidth]="100" col="1">
<se label="购买方">
{{headerInfo?.artoName}}
</se>
<se label="纳税号">
{{headerInfo?.taxNumber}}
</se>
<se label="申请编号">
{{headerInfo?.vatappcode}}
</se>
<se label="地址">
{{headerInfo?.registerAddr}}
</se>

View File

@ -11,7 +11,7 @@
</se>
<ng-container *ngIf="type===2">
<se label="收件地址" required>
<nz-select [(ngModel)]="data.rcontactInfo" [nzCustomTemplate]="rcontactInfosData">
<nz-select [(ngModel)]="data.rcontactInfo" [nzCustomTemplate]="rcontactInfosData" nzDropdownClassName="print_order_select">
<nz-option [nzValue]="item" nzLabel="Jack" *ngFor="let item of rcontactInfos"
[nzCustomContent]="true">
{{item.contact}} &nbsp; &nbsp;&nbsp; {{item.tel}}<br />
@ -25,7 +25,7 @@
</ng-template>
</se>
<se label="寄件地址" required>
<nz-select [(ngModel)]="data.scontactInfo" [nzCustomTemplate]="scontactInfosData">
<nz-select [(ngModel)]="data.scontactInfo" [nzCustomTemplate]="scontactInfosData" nzDropdownClassName="print_order_select">
<nz-option [nzValue]="item" nzLabel="Jack" *ngFor="let item of scontactInfos"
[nzCustomContent]="true">
{{item.contact}} &nbsp; &nbsp;&nbsp; {{item.tel}}<br />

View File

@ -184,22 +184,22 @@ export class VehicleComponentsListComponent implements OnInit {
}
}
},
isSelfs: {
type: 'string',
title: '是否入网',
enum: [
{ label: '全部', value: '' },
{ label: '是', value: 1 },
{ label: '否', value: 0 }
],
ui: {
widget: 'select',
allowClear: true,
visibleIf: {
expand: (value: boolean) => value
}
}
}
// isSelfs: {
// type: 'string',
// title: '是否入网',
// enum: [
// { label: '全部', value: '' },
// { label: '是', value: 1 },
// { label: '否', value: 0 }
// ],
// ui: {
// widget: 'select',
// allowClear: true,
// visibleIf: {
// expand: (value: boolean) => value
// }
// }
// }
// putOnRecord: {
// type: 'string',
// title: '是否已备案',
@ -263,7 +263,7 @@ export class VehicleComponentsListComponent implements OnInit {
3: { text: '已到期', color: 'error' }
}
},
{ title: '是否入网', width: '200px', className: 'text-center', index: 'carOwner' },
// { title: '是否入网', width: '200px', className: 'text-center', index: 'carOwner' },
{ title: '所有人', width: '200px', className: 'text-center', index: 'carOwner' },
{ title: '是否挂靠', width: '150px', className: 'text-center', render: 'isSelf' },
{ title: '挂靠协议', width: '150px', className: 'text-center', render: 'approvalAuditStatus' },

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>

View File

@ -66,41 +66,47 @@ st {
}
nz-range-picker {
width: 100%;
word-break: break-all;
word-wrap : break-word;
width : 100%;
word-break: break-all;
word-wrap : break-word;
}
.ant-select-tree .ant-select-tree-treenode-disabled {
.ant-select-tree-checkbox {
margin: 0;
.ant-select-tree-checkbox {
margin: 0;
.ant-select-tree-checkbox-inner {
width : 0px;
border-color: #ffffff !important;
}
.ant-select-tree-checkbox-inner {
width : 0px;
border-color: #ffffff !important;
}
}
.ant-select-tree-node-content-wrapper {
color : unset;
cursor: not-allowed;
}
.ant-select-tree-node-content-wrapper {
color : unset;
cursor: not-allowed;
}
}
.area-tree-select {
.ant-select-tree .ant-select-tree-treenode-disabled {
.ant-select-tree-checkbox {
margin: 0;
.ant-select-tree .ant-select-tree-treenode-disabled {
.ant-select-tree-checkbox {
margin: 0;
.ant-select-tree-checkbox-inner {
width : 0px;
border-color: #ffffff !important;
}
}
.ant-select-tree-node-content-wrapper {
color : unset;
cursor: not-allowed;
}
.ant-select-tree-checkbox-inner {
width : 0px;
border-color: #ffffff !important;
}
}
.ant-select-tree-node-content-wrapper {
color : unset;
cursor: not-allowed;
}
}
}
.print_order_select {
cdk-virtual-scroll-viewport {
min-height: 54px;
}
}