Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
@ -88,8 +88,8 @@ export class DatatableBusiindexComponent implements OnInit {
|
||||
if (res) {
|
||||
this.chartData = res
|
||||
if(flag) {
|
||||
// this.pillar.reRender()
|
||||
// this.curve.reRender()
|
||||
this.pillar.reRender()
|
||||
this.curve.reRender()
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@ -4,18 +4,18 @@
|
||||
* @Author : Shiming
|
||||
* @Date : 2022-03-30 17:57:46
|
||||
* @LastEditors : Shiming
|
||||
* @LastEditTime : 2022-04-18 16:37:41
|
||||
* @LastEditTime : 2022-04-18 17:21:43
|
||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\compliance\\salesman\\salesman.component.html
|
||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||
-->
|
||||
<!-- 页头 -->
|
||||
<page-header-wrapper [title]="'业务员-合规报告'"></page-header-wrapper>
|
||||
<nz-card [nzExtra]="extraTemplate">
|
||||
<nz-card >
|
||||
|
||||
<ng-template #extraTemplate>
|
||||
<div class="chooseBox">
|
||||
<div nz-row nzGutter="8">
|
||||
<div nz-col [nzXl]="24" [nzLg]="24" [nzSm]="24" [nzXs]="24">
|
||||
<sf #sf [schema]="searchSchema" button="none"
|
||||
[ui]="{ '*': { spanLabelFixed: 0, grid: { xxl:4,xl:4, lg: 4, md: 4, sm: 4, xs: 4,gutter:4 } } }"
|
||||
[ui]="{ '*': { spanLabelFixed: 0, grid: { xxl:5,xl:4, lg: 8, md: 12, sm: 12, xs: 24,gutter:20 } } }"
|
||||
[compact]="true">
|
||||
<ng-template sf-template="no4" let-me let-ui="ui" let-schema="schema">
|
||||
<div class="chooseBox">
|
||||
@ -37,7 +37,7 @@
|
||||
</ng-template>
|
||||
</sf>
|
||||
</div>
|
||||
</ng-template>
|
||||
</div>
|
||||
<st #st multiSort [columns]="columns" [ps]="20" [data]="service.$api_listPartComplianceReportPage"
|
||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||
[scroll]="{ x: '1200px' }" [res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||
|
||||
@ -1,4 +1,7 @@
|
||||
|
||||
.chooseBox {
|
||||
display: flex;
|
||||
float : right;
|
||||
}
|
||||
|
||||
.timeBox {
|
||||
display: flex;
|
||||
|
||||
@ -68,7 +68,8 @@ export class DatatableComplianceSalesmanComponent implements OnInit {
|
||||
ui: {
|
||||
class: 'custom',
|
||||
widget: 'custom',
|
||||
grid: { xxl: 12, xl: 12, lg: 12, md: 12, sm: 12, xs: 12 }
|
||||
grid: { xxl: 9, xl: 10, lg: 12, md: 24, sm: 24, xs: 24 }
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -20,6 +20,7 @@ export class DatatableMancustomtableComponent implements OnInit {
|
||||
mode = 'year';
|
||||
date: any = null;
|
||||
defineDate = [];
|
||||
resourceStatus: number = 1;
|
||||
time: any = ['2022-01-01 00:00:00'];
|
||||
dateFormat = 'yyyy';
|
||||
today = new Date();
|
||||
@ -61,31 +62,37 @@ export class DatatableMancustomtableComponent implements OnInit {
|
||||
}
|
||||
};
|
||||
columns: STColumn[] = [
|
||||
{ title: '部门', index: 'enterpriseName', className: 'text-center', width: '200px' },
|
||||
{ title: '业务员', index: 'registerTime', className: 'text-center', width: '200px' },
|
||||
{ title: '已认证货主数', index: 'customerType', className: 'text-center', width: '100px' },
|
||||
{ title: '新增合伙人', index: 'customerType', className: 'text-center', width: '100px' },
|
||||
{ title: '合伙人活跃率', index: 'customerType', className: 'text-center', width: '100px' },
|
||||
{ title: '主动合伙人', index: 'customerType', className: 'text-center', width: '100px' },
|
||||
{ title: '纪念合伙人', index: 'customerType', className: 'text-center', width: '100px' },
|
||||
{ title: '流失合伙人', index: 'customerType', className: 'text-center', width: '100px' },
|
||||
{ title: '未搭档合伙人', index: 'customerType', className: 'text-center', width: '100px' },
|
||||
{ title: '新增货主数', index: 'salesmanName', className: 'text-center', width: '100px' },
|
||||
{ title: '货主活跃率', index: 'partnerName', className: 'text-center', width: '100px' },
|
||||
{ title: '部门', index: 'department', className: 'text-center', width: '200px' },
|
||||
{ title: '业务员', index: 'salesmen', className: 'text-center', width: '200px' },
|
||||
{ title: '已认证货主数', index: 'certifiedCount', className: 'text-center', width: '100px', iif: ()=> {
|
||||
console.log(this.resourceStatus);
|
||||
return this.resourceStatus !== 1
|
||||
|
||||
} },
|
||||
{ title: '已认证合伙人', index: 'certifiedCount', className: 'text-center', width: '100px' },
|
||||
{ title: '新增合伙人数', index: 'addCount', className: 'text-center', width: '100px' },
|
||||
{ title: '合伙人活跃率', index: 'alivePer', className: 'text-center', width: '100px' },
|
||||
{ title: '活跃合伙人数', index: 'aliveCount', className: 'text-center', width: '100px' },
|
||||
{ title: '沉默合伙人数', index: 'silentCount', className: 'text-center', width: '100px' },
|
||||
{ title: '流失合伙人数', index: 'drainCount', className: 'text-center', width: '100px' },
|
||||
{ title: '未激活合伙人数', index: 'notActiveCount', className: 'text-center', width: '100px' },
|
||||
|
||||
{ title: '新增货主数', index: 'addCount', className: 'text-center', width: '100px' },
|
||||
{ title: '货主活跃率', index: 'alivePer', className: 'text-center', width: '100px' },
|
||||
{
|
||||
title: '活跃货主数',
|
||||
index: 'customerStatus',
|
||||
index: 'aliveCount',
|
||||
className: 'text-center',
|
||||
width: '100px'
|
||||
},
|
||||
{ title: '纪念货主数', index: 'zsl', className: 'text-center', width: '100px' },
|
||||
{ title: '沉默货主数', index: 'silentCount', className: 'text-center', width: '100px' },
|
||||
{
|
||||
title: '货货主数',
|
||||
index: 'ddje',
|
||||
title: '流失货主数',
|
||||
index: 'drainCount',
|
||||
className: 'text-right',
|
||||
width: '100px',
|
||||
},
|
||||
{ title: '未激活货主数', index: 'ysdds', className: 'text-center', width: '120px' }
|
||||
{ title: '未激活货主数', index: 'notActiveCount', className: 'text-center', width: '120px' }
|
||||
];
|
||||
/**
|
||||
* 查询参数
|
||||
@ -103,10 +110,12 @@ export class DatatableMancustomtableComponent implements OnInit {
|
||||
let params: any = {
|
||||
time: this.time,
|
||||
type: this.type,
|
||||
parType: this.resourceStatus,
|
||||
...this.sf?.value
|
||||
};
|
||||
|
||||
delete params._$expand;
|
||||
delete params.sort;
|
||||
return { ...params };
|
||||
}
|
||||
constructor(public service: DataService, private datePipe: DatePipe) {}
|
||||
@ -225,7 +234,9 @@ export class DatatableMancustomtableComponent implements OnInit {
|
||||
this.isLoading = true;
|
||||
}
|
||||
selectChange(e: number) {
|
||||
// this.resourceStatus = e;
|
||||
console.log(e);
|
||||
|
||||
this.resourceStatus = e + 1;
|
||||
// this.initST();
|
||||
setTimeout(() => {
|
||||
this.st.load();
|
||||
|
||||
@ -59,6 +59,7 @@ export class DatatableFinancetableComponent implements OnInit {
|
||||
} else {
|
||||
this.type = 4
|
||||
}
|
||||
|
||||
let params: any = {
|
||||
time: this.time,
|
||||
type: this.type
|
||||
@ -76,10 +77,10 @@ export class DatatableFinancetableComponent implements OnInit {
|
||||
|
||||
initPillarData(){
|
||||
let type = 1
|
||||
if(this.mode === 'year') {
|
||||
type = 1
|
||||
} else if(this.mode === 'month') {
|
||||
type = 2
|
||||
if (this.modeNext === 'year') {
|
||||
this.type = 1
|
||||
} else if (this.modeNext === 'month') {
|
||||
this.type = 2
|
||||
}
|
||||
const params: any = {
|
||||
time: this.timeNext,
|
||||
@ -138,9 +139,9 @@ export class DatatableFinancetableComponent implements OnInit {
|
||||
|
||||
}
|
||||
changeDataNext() {
|
||||
if(this.mode === 'year') {
|
||||
if(this.modeNext === 'year') {
|
||||
this.dateFormat = 'yyyy'
|
||||
} else if(this.mode === 'month') {
|
||||
} else if(this.modeNext === 'month') {
|
||||
this.dateFormat = 'yyyy-MM'
|
||||
}
|
||||
}
|
||||
@ -148,9 +149,9 @@ export class DatatableFinancetableComponent implements OnInit {
|
||||
if(result === null) {
|
||||
return
|
||||
}
|
||||
if(this.mode === 'year') {
|
||||
if(this.modeNext === 'year') {
|
||||
this.timeNext = [this.datePipe.transform(this.dateNext, 'yyyy') + '-01-01 00:00:00']
|
||||
} else if(this.mode === 'month') {
|
||||
} else if(this.modeNext === 'month') {
|
||||
this.timeNext = [this.datePipe.transform(this.dateNext, 'yyyy-MM') + '-01 00:00:00']
|
||||
}
|
||||
this.initPillarData();
|
||||
|
||||
@ -13,9 +13,10 @@ export class OperationtablePieComponent implements OnInit {
|
||||
@ViewChild('pie', { static: false }) pie!: G2PieComponent;
|
||||
chartData: any = [];
|
||||
el: any;
|
||||
chart: any;
|
||||
enterpriseInfoIdPie = ''
|
||||
interManlist: any = []
|
||||
|
||||
innerView: any =[];
|
||||
constructor(private service: DataService, private ngZone: NgZone) {
|
||||
}
|
||||
|
||||
@ -27,7 +28,11 @@ export class OperationtablePieComponent implements OnInit {
|
||||
this.service.request(this.service.$api_operationalReportWaybillStatusDistribution, {id: this.enterpriseInfoIdPie}).subscribe(res => {
|
||||
if (res) {
|
||||
this.chartData = res
|
||||
this.ngZone.runOutsideAngular(() => this.init(this.el));
|
||||
// this.ngZone.runOutsideAngular(() => this.init(this.el));
|
||||
setTimeout(() => {
|
||||
this.chart?.data(this.chartData);
|
||||
this.chart?.render();
|
||||
}, 1000)
|
||||
}
|
||||
})
|
||||
}
|
||||
@ -39,21 +44,26 @@ export class OperationtablePieComponent implements OnInit {
|
||||
}
|
||||
render(el: ElementRef<HTMLDivElement>): void {
|
||||
this.el = el.nativeElement
|
||||
setTimeout(() => {
|
||||
this.ngZone.runOutsideAngular(() => this.init(this.el));
|
||||
}, 500)
|
||||
}
|
||||
private init(el: HTMLElement): void {
|
||||
const chart = new Chart({
|
||||
this.chart = new Chart({
|
||||
container: el,
|
||||
autoFit: true,
|
||||
height: 400,
|
||||
});
|
||||
// 新建一个 view 用来单独渲染Annotation
|
||||
const innerView = chart.createView();
|
||||
chart.coordinate('theta', {
|
||||
// const innerView = chart.createView();
|
||||
|
||||
this.innerView = this.chart.createView();
|
||||
this.chart.coordinate('theta', {
|
||||
radius: 0.6,
|
||||
innerRadius: 0.7,
|
||||
});
|
||||
|
||||
chart.data(this.chartData);
|
||||
// this.chart.data(this.chartData);
|
||||
|
||||
// chart.scale('percent', {
|
||||
// formatter: val => {
|
||||
@ -62,10 +72,10 @@ export class OperationtablePieComponent implements OnInit {
|
||||
// },
|
||||
// });
|
||||
|
||||
chart.tooltip(false);
|
||||
this.chart.tooltip(false);
|
||||
|
||||
// 声明需要进行自定义图例字段: 'item'
|
||||
chart.legend('item', {
|
||||
this.chart.legend('item', {
|
||||
position: 'right', // 配置图例显示位置
|
||||
custom: true, // 关键字段,告诉 G2,要使用自定义的图例
|
||||
items: this.chartData.map((obj: any, index: any) => {
|
||||
@ -77,7 +87,7 @@ export class OperationtablePieComponent implements OnInit {
|
||||
symbol: 'square', // marker 的形状
|
||||
style: {
|
||||
r: 5, // marker 图形半径
|
||||
fill: chart.getTheme().colors10[index], // marker 颜色,使用默认颜色,同图形对应
|
||||
fill: this.chart.getTheme().colors10[index], // marker 颜色,使用默认颜色,同图形对应
|
||||
},
|
||||
}, // marker 配置
|
||||
};
|
||||
@ -90,7 +100,7 @@ export class OperationtablePieComponent implements OnInit {
|
||||
},
|
||||
});
|
||||
|
||||
const interval = chart
|
||||
const interval = this.chart
|
||||
.interval()
|
||||
.adjust('stack')
|
||||
.position('percent')
|
||||
@ -102,7 +112,7 @@ export class OperationtablePieComponent implements OnInit {
|
||||
})
|
||||
.state({
|
||||
active: {
|
||||
style: element => {
|
||||
style: (element: any) => {
|
||||
const shape = element.shape;
|
||||
return {
|
||||
lineWidth: 1,
|
||||
@ -114,17 +124,17 @@ export class OperationtablePieComponent implements OnInit {
|
||||
});
|
||||
|
||||
// 移除图例点击过滤交互
|
||||
chart.removeInteraction('legend-filter');
|
||||
chart.interaction('element-active');
|
||||
this.chart.removeInteraction('legend-filter');
|
||||
this.chart.interaction('element-active');
|
||||
|
||||
chart.render(true);
|
||||
this.chart.render(true);
|
||||
// 默认选择
|
||||
interval.elements[0].setState('selected', true);
|
||||
const ele = interval.elements[0].getData();
|
||||
|
||||
|
||||
// 监听 element 上状态的变化来动态更新 Annotation 信息
|
||||
chart.on('element:statechange', (ev: any) => {
|
||||
this.chart.on('element:statechange', (ev: any) => {
|
||||
const { state, stateStatus, element } = ev.gEvent.originalEvent;
|
||||
|
||||
// 本示例只需要监听 active 的状态变化
|
||||
@ -142,10 +152,10 @@ export class OperationtablePieComponent implements OnInit {
|
||||
|
||||
// 绘制 annotation
|
||||
let lastItem: any;
|
||||
function updateAnnotation(data: any) {
|
||||
const updateAnnotation = (data: any) => {
|
||||
if (data.item !== lastItem) {
|
||||
innerView.annotation().clear(true);
|
||||
innerView
|
||||
this.innerView.annotation().clear(true);
|
||||
this.innerView
|
||||
.annotation()
|
||||
.text({
|
||||
position: ['50%', '50%'],
|
||||
@ -168,7 +178,7 @@ export class OperationtablePieComponent implements OnInit {
|
||||
offsetX: -10,
|
||||
offsetY: 20,
|
||||
})
|
||||
innerView.render(true);
|
||||
this.innerView.render(true);
|
||||
|
||||
|
||||
lastItem = data.item;
|
||||
@ -176,9 +186,9 @@ export class OperationtablePieComponent implements OnInit {
|
||||
}
|
||||
|
||||
// 清空 annotation
|
||||
function clearAnnotation() {
|
||||
innerView.annotation().clear(true);
|
||||
innerView.render(true);
|
||||
function clearAnnotation(this: any) {
|
||||
this.innerView?.annotation()?.clear(true);
|
||||
this.innerView.render(true);
|
||||
lastItem = null;
|
||||
}
|
||||
|
||||
|
||||
@ -60,13 +60,12 @@ export class DatatableReportingFundInfoComponent implements OnInit {
|
||||
title: '本地校验',
|
||||
render: 'checkStatus',
|
||||
className: 'text-center',
|
||||
type: 'enum',
|
||||
|
||||
enum: {
|
||||
'0': '校验中',
|
||||
'1': '通过',
|
||||
'2': '不通过'
|
||||
},
|
||||
// type: 'enum',
|
||||
// enum: {
|
||||
// '0': '校验中',
|
||||
// '1': '通过',
|
||||
// '2': '不通过'
|
||||
// },
|
||||
width: '10%',
|
||||
},
|
||||
{ title: '错误内容', index: 'remark', className: 'text-center', width: '20%', },
|
||||
|
||||
@ -31,21 +31,22 @@
|
||||
[page]="{ show: true, showSize: true, pageSizes: [10,20, 50, 100] }" [loading]="service.http.loading"
|
||||
(change)="changeSt($event)">
|
||||
<ng-template st-row="billPutStatus" let-item let-index="index">
|
||||
<a *ngIf="item?.billPutStatus === 2" (click)="viewAuditResult(item)">{{filterStatus(item?.billPutStatus)}}</a>
|
||||
<span *ngIf="item?.billPutStatus !== 2">{{filterStatus(item?.billPutStatus)}}</span>
|
||||
<a *ngIf="item?.billPutStatus === '2'" (click)="viewAuditResult(item)">{{filterStatus(item?.billPutStatus)}}</a>
|
||||
<span *ngIf="item?.billPutStatus !== '2'">{{filterStatus(item?.billPutStatus)}}</span>
|
||||
</ng-template>
|
||||
<ng-template st-row="driverPutStatus" let-item let-index="index">
|
||||
<a (click)="viewAuditResult(item)" *ngIf="item?.driverPutStatus === 2">{{filterStatus(item?.driverPutStatus)}}</a>
|
||||
<span *ngIf="item?.driverPutStatus !== 2">{{filterStatus(item?.driverPutStatus)}}</span>
|
||||
<a (click)="viewAuditResult(item)"
|
||||
*ngIf="item?.driverPutStatus === '2'">{{filterStatus(item?.driverPutStatus)}}</a>
|
||||
<span *ngIf="item?.driverPutStatus !== '2'">{{filterStatus(item?.driverPutStatus)}}</span>
|
||||
</ng-template>
|
||||
<ng-template st-row="carPutStatus" let-item let-index="index">
|
||||
<a (click)="viewAuditResult(item)" *ngIf="item?.carPutStatus === 2">{{filterStatus(item?.carPutStatus)}}</a>
|
||||
<span *ngIf="item?.carPutStatus !== 2">{{filterStatus(item?.carPutStatus)}}</span>
|
||||
<a (click)="viewAuditResult(item)" *ngIf="item?.carPutStatus === '2'">{{filterStatus(item?.carPutStatus)}}</a>
|
||||
<span *ngIf="item?.carPutStatus !== '2'">{{filterStatus(item?.carPutStatus)}}</span>
|
||||
</ng-template>
|
||||
|
||||
<ng-template st-row="checkStatus" let-item let-index="index">
|
||||
<a *ngIf="item?.checkStatus === 2" (click)="viewResult(item)">{{filterCheckStatus(item?.checkStatus)}}</a>
|
||||
<span *ngIf="item?.checkStatus !== 2">{{filterCheckStatus(item?.checkStatus)}}</span>
|
||||
<a *ngIf="item?.checkStatus === '2'" (click)="viewResult(item)">{{filterCheckStatus(item?.checkStatus)}}</a>
|
||||
<span *ngIf="item?.checkStatus !== '2'">{{filterCheckStatus(item?.checkStatus)}}</span>
|
||||
</ng-template>
|
||||
|
||||
<ng-template st-row="billCode" let-item>
|
||||
|
||||
@ -283,10 +283,8 @@ export class DatatableOrderReportingComponent implements OnInit {
|
||||
{ title: '', type: 'checkbox', className: 'text-center', width: '60px', },
|
||||
{ title: '订单状态', index: 'billPutStatusLabel', className: 'text-center', width: '120px', },
|
||||
{ title: '司机状态', index: 'driverPutStatusLabel', className: 'text-center', width: '120px', },
|
||||
|
||||
{ title: '车辆状态', index: 'carPutStatusLabel', className: 'text-center', width: '120px', },
|
||||
|
||||
{ title: '本地校验', index: 'checkStatusLabel', className: 'text-center', width: '120px', },
|
||||
{ title: '本地校验', render: 'checkStatus', className: 'text-center', width: '120px', },
|
||||
{
|
||||
title: '订单号',
|
||||
render: 'billCode',
|
||||
@ -584,13 +582,13 @@ export class DatatableOrderReportingComponent implements OnInit {
|
||||
}
|
||||
}
|
||||
|
||||
filterCheckStatus(status: number) {
|
||||
filterCheckStatus(status: string | number) {
|
||||
switch (status) {
|
||||
case 0:
|
||||
case '0':
|
||||
return '检测中';
|
||||
case 1:
|
||||
case '1':
|
||||
return '通过';
|
||||
case 2:
|
||||
case '2':
|
||||
return '不通过';
|
||||
default:
|
||||
return '';
|
||||
|
||||
@ -64,13 +64,13 @@ export class DatatableReportingVerifyResultComponent implements OnInit {
|
||||
},
|
||||
{ title: '上传值', index: 'fieldValue', className: 'text-center', width: '150px', },
|
||||
{
|
||||
title: '本地校验', index: 'checkStatus', className: 'text-center', width: '100px',
|
||||
type: 'enum',
|
||||
enum: {
|
||||
0: '校验中',
|
||||
1: '通过',
|
||||
2: '不通过'
|
||||
}
|
||||
title: '本地校验', render: 'checkStatus', className: 'text-center', width: '100px',
|
||||
// type: 'enum',
|
||||
// enum: {
|
||||
// 0: '校验中',
|
||||
// 1: '通过',
|
||||
// 2: '不通过'
|
||||
// }
|
||||
},
|
||||
{ title: '错误内容', index: 'remark', className: 'text-center', width: '150px', },
|
||||
]
|
||||
@ -120,7 +120,7 @@ export class DatatableReportingVerifyResultComponent implements OnInit {
|
||||
filterCheckStatus(status: number) {
|
||||
switch (status) {
|
||||
case 0:
|
||||
return '校验中';
|
||||
return '检测中';
|
||||
case 1:
|
||||
return '通过';
|
||||
case 2:
|
||||
|
||||
@ -93,10 +93,17 @@ export class OrderManagementComplaintComponent implements OnInit {
|
||||
initSF() {
|
||||
this.schema = {
|
||||
properties: {
|
||||
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||
complaintCode: {
|
||||
type: 'string',
|
||||
title: '投诉单号'
|
||||
},
|
||||
wayBillCode: {
|
||||
type: 'string',
|
||||
title: '运单号',
|
||||
ui: {
|
||||
}
|
||||
},
|
||||
complaintCause: {
|
||||
title: '投诉原因',
|
||||
type: 'string',
|
||||
@ -124,7 +131,10 @@ export class OrderManagementComplaintComponent implements OnInit {
|
||||
ui: {
|
||||
widget: 'sl-from-to',
|
||||
type: 'date',
|
||||
format: 'yyyy-MM-dd'
|
||||
format: 'yyyy-MM-dd',
|
||||
visibleIf: {
|
||||
_$expand: (value: boolean) => value
|
||||
},
|
||||
} as SFDateWidgetSchema
|
||||
}
|
||||
}
|
||||
|
||||
@ -94,19 +94,6 @@ export class TaxManagementIndividualCollectComponent implements OnInit {
|
||||
},
|
||||
default: ''
|
||||
},
|
||||
declareResult: {
|
||||
title: '申报结果',
|
||||
type: 'string',
|
||||
ui: {
|
||||
placeholder: '请选择',
|
||||
widget: 'dict-select',
|
||||
params: { dictKey: 'service:type' },
|
||||
containsAllLabel: true,
|
||||
visibleIf: {
|
||||
_$expand: (value: boolean) => value
|
||||
}
|
||||
}
|
||||
},
|
||||
overdueStatus: {
|
||||
title: '是否逾期',
|
||||
type: 'string',
|
||||
|
||||
Reference in New Issue
Block a user