Files
bbq/src/app/routes/partner/account-management/components/virtual-account-detail/virtual-account-detail.component.ts
2022-03-21 17:24:05 +08:00

185 lines
5.3 KiB
TypeScript

import { Component, OnInit, ViewChild } from '@angular/core';
import { Router } from '@angular/router';
import { STColumn, STComponent } from '@delon/abc/st';
import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form';
import { _HttpClient } from '@delon/theme';
import { NzModalRef } from 'ng-zorro-antd/modal';
import { ShipperBaseService } from 'src/app/shared/services/business/shipper-base.service';
import { AccountManagemantService } from '../../services/account-managemant.service';
@Component({
selector: 'app-partner-account-management-virtual-account-detail',
templateUrl: './virtual-account-detail.component.html',
})
export class PartnerAccountManagementVirtualAccountDetailComponent implements OnInit {
url = `/user`;
schema!: SFSchema;
ui!: SFUISchema;
@ViewChild('st') private readonly st!: STComponent;
@ViewChild('sf') private readonly sf!: SFComponent;
columns: STColumn[] = [];
roleId = '';
_$expand = false;
record = {};
constructor(public shipperservice: ShipperBaseService, public service: AccountManagemantService,
private modalRef: NzModalRef, public router: Router) {
}
get reqParams() {
return { ...this.sf?.value, roleId: this.roleId };
}
ngOnInit(): void {
this.initSF();
this.initST();
}
initSF() {
this.schema = {
properties: {
_$expand: {
type: 'boolean', ui: { hidden: true }
},
userName: {
title: '合伙人名称',
type: 'string',
ui: {
placeholder: '请输入',
},
},
phone: {
title: '手机号',
type: 'string',
ui: {
placeholder: '请输入',
},
},
ltdId: {
title: '网络货运人',
type: 'string',
default: '',
ui: {
widget: 'select',
placeholder: '请选择',
allowClear: true,
asyncData: () => this.shipperservice.getNetworkFreightForwarder({}, true)
}
},
bankType: {
type: 'string',
title: '银行类型',
default: '',
ui: {
widget: 'dict-select',
params: {
dictKey: 'bankname:type'
},
placeholder: '请选择',
allowClear: true,
containsAllLabel: true,
visibleIf: {
_$expand: (value: boolean) => value,
},
},
},
virtualAccount: {
title: '虚拟账户',
type: 'string',
ui: {
placeholder: '请输入',
visibleIf: {
_$expand: (value: boolean) => value
},
},
},
createTime: {
type: 'string',
title: '创建时间',
ui: {
widget: 'sl-from-to',
type: 'date',
autoComplete: 'off',
format: 'yyyy-MM-dd',
visibleIf: {
_$expand: (value: boolean) => value
},
} as SFDateWidgetSchema,
},
}
}
this.ui = { '*': { spanLabelFixed: 100, grid: { span: 8, gutter: 4 } }, };
}
/**
* 初始化数据列表
*/
initST() {
this.columns = [
{ title: '合伙人', index: 'name', className: 'text-center', width: 200 },
{ title: '手机号', index: 'phone', className: 'text-center', width: 150 },
{ title: '网络货运人', index: 'ltdName', className: 'text-center', width: 200 },
{ title: '银行类型', index: 'bankTypeLabel', className: 'text-center', width: 120 },
{ title: '虚拟账户', index: 'virtualAccount', className: 'text-center', width: 180 },
{ title: '可用余额', render: 'availableBalance', className: 'text-center', width: 180 },
{ title: '账户总余额', render: 'allBalance', className: 'text-center', width: 180 },
{ title: '创建时间', index: 'createTime', className: 'text-center', width: 200 },
{ title: '状态', index: 'stateDeletedLabel', className: 'text-center', width: 120 },
{
title: '操作',
width: 120,
buttons: [
{
text: '查看明细',
click: (_record) => this.viewDetail(_record)
}
]
}
];
}
resetSF() {
this._$expand = false;
this.sf.reset();
setTimeout(() => {
this.st.reset();
})
}
/**
* 伸缩查询条件
*/
expandToggle() {
this._$expand = !this._$expand;
this.sf?.setValue('/_$expand', this._$expand);
}
add(): void {
// this.modal
// .createStatic(FormEditComponent, { i: { id: 0 } })
// .subscribe(() => this.st.reload());
}
search() {
this.st.load(1);
}
export() { }
/**
*
* @param _record 当前行信息
*/
viewDetail(_record: any) {
// this.router.navigate([`/partner/account-management/am/detail/${_record?.roleId}`], {
// queryParams: {
// channelSource: _record?.accountType,
// bankType: _record?.bankType,
// ltdId: _record?.ltdId
// }
// });
window.open(location.origin + `/#/partner/account-management/am/detail/${_record?.roleId}?ltdId=${_record?.ltdId}&channelSource=${_record?.accountType}&bankType=${_record?.bankType}`);
}
close() {
this.modalRef.destroy();
}
}