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

This commit is contained in:
Taric Xin
2022-04-15 17:35:04 +08:00
15 changed files with 253 additions and 64 deletions

View File

@ -1,6 +1,45 @@
<!--
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-03-30 13:55:41
* @LastEditors : Shiming
* @LastEditTime : 2022-04-15 17:13:53
* @FilePath : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\compliance\\customer\\customer.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<!-- 页头 -->
<page-header-wrapper [title]="'数据报表'"></page-header-wrapper>
<nz-card>
<sf mode="search" [schema]="searchSchema" (formSubmit)="st.reset($event)" (formReset)="st.reset($event)"></sf>
<st #st [data]="url" [columns]="columns"></st>
<sf #sf mode="search" [schema]="searchSchema" button="none"></sf>
<div class="chooseBox">
<div class="timeBox">
<nz-radio-group [(ngModel)]="mode" nzButtonStyle="solid" (ngModelChange)="changeData()">
<label nz-radio-button nzValue="year"></label>
<label nz-radio-button nzValue="month"></label>
<label nz-radio-button nzValue="date"></label>
<label nz-radio-button nzValue="define">自定义</label>
</nz-radio-group>
<div class="dateBox">
<nz-date-picker [(ngModel)]="date" [nzMode]="mode" [nzFormat]="dateFormat" *ngIf="mode !== 'define'" [nzDisabledDate]="disabledDate" (ngModelChange)="onChange($event)"></nz-date-picker>
<nz-range-picker [(ngModel)]="defineDate" [nzFormat]="dateFormat" *ngIf="mode === 'define'" [nzDisabledDate]="disabledDate" (ngModelChange)="onChange($event)"></nz-range-picker>
</div>
</div>
</div>
<st
#st
[bordered]="true"
[scroll]="{ x: '2000px' }"
[data]="service.$api_listCusComplianceReportPage"
[columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[scroll]="{ x: '1200px' }" [res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="false"
>
<ng-template st-row="freightPrice" let-item let-index="index">
{{ item.freightPrice | currency }}
</ng-template>
</st>
</nz-card>

View File

@ -0,0 +1,11 @@
.chooseBox{
display: flex;
}
.timeBox{
display: flex;
margin: 0 0 0 10px;
}
.dateBox{
display: inline-block;
margin: 0 0 0 10px;
}

View File

@ -1,45 +1,120 @@
import { SFComponent } from '@delon/form';
/*
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-03-30 13:55:41
* @LastEditors : Shiming
* @LastEditTime : 2022-04-15 17:13:03
* @FilePath : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\compliance\\customer\\customer.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
import { Component, OnInit, ViewChild } from '@angular/core';
import { STColumn, STComponent } from '@delon/abc/st';
import { STColumn, STComponent, STRequestOptions } from '@delon/abc/st';
import { SFSchema } from '@delon/form';
import { ModalHelper, _HttpClient } from '@delon/theme';
import { ModalHelper, _HttpClient ,DatePipe} from '@delon/theme';
import { DataService } from '../../../services/data.service';
import { differenceInCalendarDays } from 'date-fns';
@Component({
selector: 'app-datatable-compliance-customer',
templateUrl: './customer.component.html',
styleUrls: ['./customer.component.less'],
providers: [DatePipe]
})
export class DatatableComplianceCustomerComponent implements OnInit {
url = `/user`;
@ViewChild('sf', {static: false}) sf!: SFComponent
mode = 'year';
type = 1;
date: any = null;
defineDate = [];
time: any = ['2022']
dateFormat = 'yyyy';
dateNext: any = null;
modeNext = 'year';
timeNext: any = ['2022-01-01 00:00:00']
today = new Date();
searchSchema: SFSchema = {
properties: {
no: {
type: 'string',
title: '编号'
}
title: '客户名称'
},
no2: {
type: 'string',
title: '业务员'
},
no3: {
type: 'string',
title: '合伙人名称'
},
}
};
@ViewChild('st') private readonly st!: STComponent;
columns: STColumn[] = [
{ title: '编号', index: 'no' },
{ title: '调用次数', type: 'number', index: 'callNo' },
{ title: '头像', type: 'img', width: '50px', index: 'avatar' },
{ title: '时间', type: 'date', index: 'updatedAt' },
{
title: '',
buttons: [
// { text: '查看', click: (item: any) => `/form/${item.id}` },
// { text: '编辑', type: 'static', component: FormEditComponent, click: 'reload' },
]
}
{ title: '公司名称', index: 'enterpriseName' ,},
{ title: '注册时间', index: 'registerTime' },
{ title: '客户类型', width: '100px', index: 'customerType' },
{ title: '业务员', index: 'salesmanName' },
{ title: '合伙人', index: 'partnerName' },
{ title: '订单数', index: 'billCounts' },
{ title: '订单不合格数', index: 'billQuaCounts' },
{ title: '订单不合格率', index: 'billQuaCountsPer' },
{ title: '货源单订单数', index: 'gsourceCounts' },
{ title: '合同单数', index: 'billConCounts' },
{ title: '货源单个', index: 'gsourceCounts' },
{ title: '运费直付单数', index: 'freightDirPayCounts' },
{ title: '运费代收单数', index: 'freightRepPayCounts' },
{ title: '手机直付', index: 'updatedAt' },
{ title: '汇款单数', index: 'updatedAt' },
{ title: '及时付款', index: 'timelyPayPer' },
];
constructor(private http: _HttpClient, private modal: ModalHelper) { }
constructor(private http: _HttpClient, private modal: ModalHelper,public service: DataService,private datePipe: DatePipe) { }
/**
* 查询参数
*/
get reqParams() {
if (this.mode === 'year') {
this.type = 1
} else if (this.mode === 'month') {
this.type = 2
} else if (this.mode === 'date') {
this.type = 3
} else {
this.type = 4
}
const params: any = Object.assign({}, this.sf?.value || {});
params.type = this.type
params.queryTime = this.time
delete params._$expand;
return { ...params };
}
ngOnInit(): void { }
add(): void {
// this.modal
// .createStatic(FormEditComponent, { i: { id: 0 } })
// .subscribe(() => this.st.reload());
onChange(result: any) {
if (this.mode === 'year') {
this.time = [this.datePipe.transform(this.date, 'yyyy') + '-01-01 00:00:00']
} else if (this.mode === 'month') {
this.time = [this.datePipe.transform(this.date, 'yyyy-MM') + '-01 00:00:00']
} else if (this.mode === 'date') {
this.time = [this.datePipe.transform(this.date, 'yyyy-MM-dd') + ' 00:00:00']
} else {
this.time = [this.datePipe.transform(this.defineDate[0], 'yyyy-MM-dd') + '00:00:00', this.datePipe.transform(this.defineDate[1], 'yyyy-MM-dd') + ' 00:00:00']
}
this.st.reload({ ...this.reqParams });
}
changeData() {
if (this.mode === 'year') {
this.dateFormat = 'yyyy'
} else if (this.mode === 'month') {
this.dateFormat = 'yyyy-MM'
} else {
this.dateFormat = 'yyyy-MM-dd'
}
}
disabledDate = (current: Date): boolean =>
// Can not select days before today and today
differenceInCalendarDays(current, this.today) > 0;
}

View File

@ -181,7 +181,7 @@ export class DatatableOrderReportingComponent implements OnInit {
},
}
},
putTime: {
recentlyPutTime: {
title: '上传时间',
type: 'string',
ui: {

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-27 10:30:56
* @LastEditors : Shiming
* @LastEditTime : 2022-04-07 15:07:27
* @LastEditTime : 2022-04-15 16:03:46
* @FilePath : \\tms-obc-web\\src\\app\\routes\\datatable\\services\\data.service.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@ -85,6 +85,9 @@ export class DataService extends BaseService {
// 数据大屏-交易分布
$api_getTransactionDistribution = `/api/sdc/reportDataLargeScreen/getTransactionDistribution`;
// 客户-合规报表
$api_listCusComplianceReportPage = `/api/sdc/report/listCusComplianceReportPage`;
constructor(public injector: Injector) {

View File

@ -160,14 +160,11 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit {
allowClear: true,
} as SFSelectWidgetSchema
},
// enterpriseInfoName: {
// type: 'string',
// title: '网络货运人',
// ui: {
// widget: 'custom'
// },
// default: '天津市怡亚通XXXX有限公司'
// },
enterpriseInfoNamer: {
type: 'string',
title: '',
ui: { hidden: true }
},
enterpriseInfoId: {
type: 'string',
title: '网络货运人',
@ -175,7 +172,10 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit {
widget: 'select',
placeholder: '请选择',
allowClear: true,
asyncData: () => this.shipperSrv.getNetworkFreightForwarder()
asyncData: () => this.shipperSrv.getNetworkFreightForwarder(),
change: (q: any, qs: any) => {
this.sf1.setValue('/enterpriseInfoNamer', qs.label);
}
}
},
deadlineTime: {

View File

@ -173,9 +173,14 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
ui: {
widget: 'select',
placeholder: '请选择',
allowClear: true
allowClear: true,
} as SFSelectWidgetSchema
},
enterpriseInfoNamer: {
type: 'string',
title: '',
ui: { hidden: true }
},
enterpriseInfoName: {
type: 'string',
title: '网络货运人',
@ -184,7 +189,11 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
placeholder: '请选择',
allowClear: true,
asyncData: () => this.shipperSrv.getNetworkFreightForwarder(),
change: () => this.payChange()
change: (q: any, qs: any) => {
console.log(qs.label);
this.sf1.setValue('/enterpriseInfoNamer', qs.label);
this.payChange()
}
}
},
externalResourceCode: {
@ -753,8 +762,6 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
resourcetype: '1'
};
this.service.request(this.service.$api_getCalculatedSurcharge, params).subscribe(res => {
console.log('999');
console.log(this?.sf1.value);
if (res) {
this.sf7.setValue('/appendFee', res.surcharge);
this.sf7.setValue('/subtotal', subtotal);

View File

@ -1,3 +1,13 @@
<!--
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-03-23 14:24:05
* @LastEditors : Shiming
* @LastEditTime : 2022-04-15 15:18:33
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\tran-agreement\\tran-agreement.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<nz-card class="card-height" >
<div [innerHTML]="agreement | safehtml"></div>
</nz-card>

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2022-02-24 20:19:51
* @LastEditors : Shiming
* @LastEditTime : 2022-03-23 19:57:34
* @LastEditTime : 2022-04-15 15:18:29
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\tran-agreement\\tran-agreement.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@ -60,7 +60,7 @@ export class TranAgreementComponent {
shipperLegalPersonName: this.enterpriseInfo.legalPersonName || '', //托运法定代表人
carrierLegalPersonName: this.enterpriseInfo.netLegalPersonName || '', //承运法定代表人
shipperName: this?.shipperName || '', //托运人
carrierName: this.object?.enterpriseInfoName || '', //承运人
carrierName: this.object?.enterpriseInfoNamer || this.object?.enterpriseInfoName || '', //承运人
consignorInfo: `${this.object?.unLoadingPlaceDTOList[0]?.appUserName || ''} ${
this.object?.unLoadingPlaceDTOList[0]?.contractTelephone || ''
}`, // 发货信息
@ -98,7 +98,7 @@ export class TranAgreementComponent {
parametersDTO: {
contractCode: '',
shipperName: this?.shipperName || '', //托运人
carrierName: this.object?.enterpriseInfoName || '', //承运人
carrierName: this.object?.enterpriseInfoNamer || this.object?.enterpriseInfoName || '', //承运人
shipperLegalPersonName: this.enterpriseInfo.legalPersonName || '', //托运法定代表人
carrierLegalPersonName: this.enterpriseInfo.netLegalPersonName || '', //承运法定代表人
consignorInfo: `${this.object.unLoadingPlaceDTOList[0]?.appUserName || ''} ${

View File

@ -298,6 +298,10 @@ export class TaxManagementIndividualCollectComponent implements OnInit {
* @param params 更新数据
*/
uploadSetting() {
if (this.selectedRows.length === 0) {
this.service.msgSrv.warning('请选择需要更新的数据');
return;
}
// this.service.request(this.service.$api_recall_reporting, { rows: this.selectedRows }).subscribe((res: any) => {
// if (res) {
// this.service.msgSrv.success('更新成功');

View File

@ -54,10 +54,10 @@ export class TaxManagementIndividualDeclareComponent implements OnInit {
*/
get reqParams() {
console.log();
const params = Object.assign({}, this.sf?.value || {});
if(this.selectedIndex) {
params.declareStatus = this.selectedIndex
if (this.selectedIndex) {
params.declareStatus = this.selectedIndex;
}
delete params._$expand;
return { ...params };
@ -265,7 +265,14 @@ export class TaxManagementIndividualDeclareComponent implements OnInit {
{ title: '所属行业', index: 'hy', className: 'text-center', width: '200px' },
{ 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: 'jsyj',
className: 'text-center',
width: '200px',
type: 'widget',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.ynse }) }
},
{
title: '税率',
index: 'sl',
@ -282,14 +289,38 @@ export class TaxManagementIndividualDeclareComponent implements OnInit {
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: '减免税额',
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' }
];
}

View File

@ -195,7 +195,7 @@ export class ETCInvoicedRequestedComponent implements OnInit {
}
}
},
ltdId: {
enterpriseInfoName: {
type: 'string',
title: '网络货运人',
ui: {

View File

@ -1,7 +1,7 @@
<!--
* @Author: your name
* @Date: 2021-12-24 15:38:08
* @LastEditTime : 2022-04-13 20:05:09
* @LastEditTime : 2022-04-15 16:42:10
* @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
@ -42,7 +42,7 @@
</nz-card>
<nz-card class="content-box">
<nz-tabset [(nzSelectedIndex)]="selectedIndex">
<nz-tabset [(nzSelectedIndex)]="selectedIndex" (nzSelectedIndexChange)="selectChange($event)">
<nz-tab [nzTitle]="'待回复(' + tabs?.stayQuantity + ')'">
<st
#st
@ -69,12 +69,12 @@
</ng-template>
</st>
</nz-tab>
<nz-tab nzTitle='已回复'>
<nz-tab [nzTitle]="'已回复(' + tabs?.receivedQuantity + ')'">
<st
#st2
[data]="service.$api_get_listOperatePage"
[columns]="columns2"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams2 }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="false"

View File

@ -70,18 +70,19 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit {
{ title: '回复人', index: 'replyAppUserName', width: '180px', className: 'text-left' },
{ title: '回复时间', index: 'replyTime', width: '180px', className: 'text-left' }
];
resourceStatus: number | undefined;
get reqParams() {
return {
...this.sf?.value,
replyStatus: 0
replyStatus: this.resourceStatus || 0
};
}
get reqParams2() {
return {
...this.sf?.value,
replyStatus: 1
replyStatus:this.resourceStatus || 1
};
}
@ -214,6 +215,14 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit {
};
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } };
}
selectChange(e: number) {
console.log(e);
this.resourceStatus = e ;
setTimeout(() => {
this?.st?.load(1);
this?.st2?.load(1);
}, 0);
}
getGoodsSourceStatistical() {
this.tabs = {
stayQuantity: 0,

View File

@ -132,7 +132,7 @@ export class ShipperBaseService extends BaseService {
const list = res.map((item: any) => {
return {
label: item.enterpriseName,
value: item.id
value: item.enterpriseName
};
});
const obj = [];