edit
This commit is contained in:
@ -137,13 +137,7 @@ export class StartupService {
|
||||
.post(this.coreSrv.$api_get_current_user_menus, {
|
||||
appId: this.coreSrv.envSrv.getEnvironment().appId
|
||||
})
|
||||
.pipe(
|
||||
map((res: any) => {
|
||||
console.log(res);
|
||||
|
||||
return res.data;
|
||||
})
|
||||
);
|
||||
.pipe(map((res: any) => res.data));
|
||||
// const menuData = this.httpClient.get('assets/mocks/menu-data.json').pipe(map((res: any) => res.data.menu));
|
||||
|
||||
return zip(appData, userData, menuData);
|
||||
|
||||
@ -8,14 +8,14 @@
|
||||
</ng-template>
|
||||
<ng-template #mainLink let-i>
|
||||
<ng-template [ngTemplateOutlet]="icon" [ngTemplateOutletContext]="{ $implicit: i.icon }"></ng-template>
|
||||
<span class="alain-pro__menu-title-text" *ngIf="!pro.onlyIcon">{{ i.title }}</span>
|
||||
<span class="alain-pro__menu-title-text" *ngIf="!pro.onlyIcon">{{ i.text }}</span>
|
||||
<div *ngIf="i.badge" class="alain-pro__menu-title-badge">
|
||||
<em>{{ i.badge }}</em>
|
||||
</div>
|
||||
</ng-template>
|
||||
<ng-template #subLink let-i>
|
||||
<a *ngIf="!i.externalLink" [routerLink]="i.link" [target]="i.target">{{ i.title }} </a>
|
||||
<a *ngIf="i.externalLink" [attr.href]="i.externalLink" [attr.target]="i.target">{{ i.title }} </a>
|
||||
<a *ngIf="!i.externalLink" [routerLink]="i.link" [target]="i.target">{{ i.text }} </a>
|
||||
<a *ngIf="i.externalLink" [attr.href]="i.externalLink" [attr.target]="i.target">{{ i.text }} </a>
|
||||
</ng-template>
|
||||
<ul *ngIf="menus" nz-menu [nzMode]="mode" [nzTheme]="pro.theme"
|
||||
[nzInlineCollapsed]="pro.isMobile ? false : pro.collapsed">
|
||||
@ -36,7 +36,7 @@
|
||||
<ng-template #l1TitleTpl>
|
||||
<span title class="alain-pro__menu-title">
|
||||
<ng-template [ngTemplateOutlet]="icon" [ngTemplateOutletContext]="{ $implicit: l1.icon }"></ng-template>
|
||||
<span class="alain-pro__menu-title-text" *ngIf="pro.isMobile || !pro.onlyIcon">{{ l1.title }}</span>
|
||||
<span class="alain-pro__menu-title-text" *ngIf="pro.isMobile || !pro.onlyIcon">{{ l1.text }}</span>
|
||||
<div *ngIf="l1.badge" class="alain-pro__menu-title-badge">
|
||||
<em>{{ l1.badge }}</em>
|
||||
</div>
|
||||
@ -49,7 +49,7 @@
|
||||
(click)="closeCollapsed()">
|
||||
<ng-template [ngTemplateOutlet]="subLink" [ngTemplateOutletContext]="{ $implicit: l2 }"></ng-template>
|
||||
</li>
|
||||
<li *ngIf="!l2._hidden && l2.children!.length > 0" nz-submenu [nzTitle]="l2.title!" [nzOpen]="l2._open"
|
||||
<li *ngIf="!l2._hidden && l2.children!.length > 0" nz-submenu [nzTitle]="l2.text!" [nzOpen]="l2._open"
|
||||
[nzDisabled]="l2.disabled" (nzOpenChange)="openChange(l2, $event)">
|
||||
<ul>
|
||||
<ng-container *ngFor="let l3 of l2.children">
|
||||
|
||||
@ -0,0 +1,71 @@
|
||||
<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>
|
||||
<h3 class="font-weight-bold">天津怡亚通物流科技有限公司(浦发银行)</h3>
|
||||
<nz-row [nzGutter]="16">
|
||||
<nz-col [nzXl]="4" [nzLg]="8" [nzSm]="12">
|
||||
<nz-statistic [nzValue]="'100,000,000.00 元'" nzTitle="平台账户余额"
|
||||
[nzValueStyle]="{'font-size':'16px',color:'red'}" class="font-weight-bold">
|
||||
</nz-statistic>
|
||||
</nz-col>
|
||||
<nz-col [nzXl]="4" [nzLg]="8" [nzSm]="12">
|
||||
<nz-statistic [nzValue]="'100,000.00 元' " [nzTitle]="'货主账户余额'"
|
||||
[nzValueStyle]="{'font-size':'16px',color:'red'}" class="font-weight-bold">
|
||||
</nz-statistic>
|
||||
</nz-col>
|
||||
<nz-col [nzXl]="4" [nzLg]="8" [nzSm]="12">
|
||||
<nz-statistic [nzValue]="'100,000.00 元'" [nzTitle]="'司机账户余额'"
|
||||
[nzValueStyle]="{'font-size':'16px',color:'red'}" class="font-weight-bold">
|
||||
</nz-statistic>
|
||||
</nz-col>
|
||||
<nz-col [nzXl]="4" [nzLg]="8" [nzSm]="12">
|
||||
<nz-statistic [nzValue]="'100,000.00 元'" [nzTitle]="'累计充值金额'"
|
||||
[nzValueStyle]="{'font-size':'16px',color:'red'}" class="font-weight-bold">
|
||||
</nz-statistic>
|
||||
</nz-col>
|
||||
<nz-col [nzXl]="4" [nzLg]="8" [nzSm]="12">
|
||||
<nz-statistic [nzValue]="'100,000.00 元'" [nzTitle]="'货主累计提现金额'"
|
||||
[nzValueStyle]="{'font-size':'16px',color:'red'}" class="font-weight-bold">
|
||||
</nz-statistic>
|
||||
</nz-col>
|
||||
<nz-col [nzXl]="4" [nzLg]="8" [nzSm]="12">
|
||||
<nz-statistic [nzValue]="'100,000.00 元'" [nzTitle]="'司机累计提现金额'"
|
||||
[nzValueStyle]="{'font-size':'16px',color:'red'}" class="font-weight-bold">
|
||||
</nz-statistic>
|
||||
</nz-col>
|
||||
</nz-row>
|
||||
</nz-card>
|
||||
|
||||
<nz-card class="search-box" nzBordered>
|
||||
<div nz-row nzGutter="8">
|
||||
<div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24">
|
||||
<sf #sf [schema]="searchSchema"
|
||||
[ui]="{ '*': { spanLabelFixed: 90,grid: { lg: 8, md: 12, sm: 12, xs: 24 } }}" [compact]="true"
|
||||
[button]="'none'"></sf>
|
||||
</div>
|
||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||
class="text-right">
|
||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
||||
<button nz-button (click)="resetSF()">重置</button>
|
||||
<button nz-button (click)="exportList()"> 导出</button>
|
||||
<button nz-button nzType="link" (click)="expandToggle()">
|
||||
{{ !_$expand ? '展开' : '收起' }}
|
||||
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</nz-card>
|
||||
|
||||
<nz-card nzBordered>
|
||||
<st #st [data]="service.$api_get_driver_account_detail" [columns]="columns"
|
||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
|
||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '300px' }" (change)="stChange($event)"></st>
|
||||
</nz-card>
|
||||
@ -0,0 +1,221 @@
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
|
||||
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
|
||||
import { FreightAccountService } from '../../../services/freight-account.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-platform-account-detail',
|
||||
templateUrl: './platform-account-detail.component.html',
|
||||
styleUrls: ['../../../../commom/less/box.less', '../../../../commom/less/expend-but.less']
|
||||
})
|
||||
export class PlatformAccountDetailComponent implements OnInit {
|
||||
|
||||
@ViewChild('st', { static: true })
|
||||
st!: STComponent;
|
||||
@ViewChild('sf', { static: false })
|
||||
sf!: SFComponent;
|
||||
columns: STColumn[] = this.initST();
|
||||
searchSchema: SFSchema = this.initSF();
|
||||
|
||||
_$expand = false;
|
||||
|
||||
info: any = {};
|
||||
params: any = {};
|
||||
constructor(public service: FreightAccountService, private route: ActivatedRoute) {
|
||||
this.params = route.snapshot.queryParams;
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.loadInfo();
|
||||
}
|
||||
|
||||
beforeReq = (requestOptions: STRequestOptions) => {
|
||||
Object.assign(requestOptions.body, {
|
||||
ltdId: this.params.ltdId,
|
||||
projectId: this.params.projectId,
|
||||
enterpriseId: this.params.enterpriseId,
|
||||
roleId: this.params.roleId
|
||||
});
|
||||
if (this.sf) {
|
||||
Object.assign(requestOptions.body, {
|
||||
...this.sf.value,
|
||||
createTime: {
|
||||
start: this.sf.value?.createTime?.[0] || '',
|
||||
end: this.sf.value?.createTime?.[1] || ''
|
||||
}
|
||||
});
|
||||
}
|
||||
return requestOptions;
|
||||
};
|
||||
|
||||
loadInfo() {
|
||||
this.service
|
||||
.request(this.service.$api_get_driver_account_balance_detail, {
|
||||
...this.sf?.value,
|
||||
ltdId: this.params.ltdId,
|
||||
projectId: this.params.projectId,
|
||||
enterpriseId: this.params.enterpriseId,
|
||||
roleId: this.params.roleId,
|
||||
pageIndex: this.st.pi,
|
||||
pageSize: this.st.ps,
|
||||
createTime: {
|
||||
start: this.sf?.value?.createTime?.[0] || '',
|
||||
end: this.sf?.value?.createTime?.[1] || ''
|
||||
}
|
||||
})
|
||||
.subscribe(res => {
|
||||
if (res) {
|
||||
this.info = res;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
stChange(e: STChange): void {}
|
||||
|
||||
exportList() {
|
||||
this.service.downloadFile(this.service.$mock_url, { ...this.sf.value, pageIndex: this.st.pi, pageSize: this.st.ps });
|
||||
}
|
||||
|
||||
goBack() {
|
||||
history.go(-1);
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置表单
|
||||
*/
|
||||
resetSF() {
|
||||
this.sf.reset();
|
||||
this._$expand = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 伸缩查询条件
|
||||
*/
|
||||
expandToggle() {
|
||||
this._$expand = !this._$expand;
|
||||
this.sf?.setValue('/expand', this._$expand);
|
||||
}
|
||||
|
||||
private initSF(): SFSchema {
|
||||
return {
|
||||
properties: {
|
||||
expand: {
|
||||
type: 'boolean',
|
||||
ui: {
|
||||
hidden: true
|
||||
}
|
||||
},
|
||||
createTime: {
|
||||
title: '交易时间',
|
||||
type: 'string',
|
||||
ui: {
|
||||
widget: 'sl-from-to-search',
|
||||
format: 'yyyy-MM-dd',
|
||||
placeholder: '请选择',
|
||||
nzShowTime: true
|
||||
} as SFDateWidgetSchema
|
||||
},
|
||||
transactionNumber: {
|
||||
type: 'string',
|
||||
title: '流水号',
|
||||
ui: {
|
||||
placeholder: '请输入'
|
||||
}
|
||||
},
|
||||
businessNumber: {
|
||||
type: 'string',
|
||||
title: '交易单号',
|
||||
ui: {
|
||||
placeholder: '请输入'
|
||||
}
|
||||
},
|
||||
tradeType: {
|
||||
type: 'string',
|
||||
title: '交易类型',
|
||||
ui: {
|
||||
widget: 'dict-select',
|
||||
params: { dictKey: 'trade:type' },
|
||||
placeholder: '请选择',
|
||||
visibleIf: {
|
||||
expand: (value: boolean) => value
|
||||
}
|
||||
},
|
||||
default: ''
|
||||
},
|
||||
incomeType: {
|
||||
type: 'string',
|
||||
title: '收支类型',
|
||||
ui: {
|
||||
widget: 'dict-select',
|
||||
params: { dictKey: 'income:type' },
|
||||
placeholder: '请选择',
|
||||
visibleIf: {
|
||||
expand: (value: boolean) => value
|
||||
}
|
||||
},
|
||||
default: ''
|
||||
},
|
||||
incomeType1: {
|
||||
type: 'string',
|
||||
title: '货主',
|
||||
ui: {
|
||||
widget: 'select',
|
||||
placeholder: '请选择',
|
||||
visibleIf: {
|
||||
expand: (value: boolean) => value
|
||||
}
|
||||
},
|
||||
default: ''
|
||||
},
|
||||
incomeType2: {
|
||||
type: 'string',
|
||||
title: '所属项目',
|
||||
ui: {
|
||||
widget: 'select',
|
||||
placeholder: '请选择',
|
||||
visibleIf: {
|
||||
expand: (value: boolean) => value
|
||||
}
|
||||
},
|
||||
default: ''
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private initST(): STColumn[] {
|
||||
return [
|
||||
{ title: '交易时间', index: 'createTime', type: 'date' },
|
||||
{ title: '流水号', index: 'channelPaySn' },
|
||||
{ title: '交易类型', index: 'tradeTypeLabel', className: 'text-center' },
|
||||
{ title: '交易单号', index: 'businessNumber' },
|
||||
{ title: '订单号', index: 'businessNumber' },
|
||||
{ title: '运单号', index: 'businessNumber' },
|
||||
{ title: '账户类型', index: 'incomeTypeLabel', className: 'text-center' },
|
||||
{ title: '账户名称', index: 'incomeTypeLabel', className: 'text-center' },
|
||||
{ title: '所属项目', index: 'incomeTypeLabel', className: 'text-center' },
|
||||
{ title: '收支类型', index: 'incomeTypeLabel', className: 'text-center' },
|
||||
{
|
||||
title: '交易金额',
|
||||
index: 'amount',
|
||||
width: 150,
|
||||
type: 'widget',
|
||||
className: 'text-right',
|
||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.amount }) }
|
||||
},
|
||||
{
|
||||
title: '账户余额',
|
||||
index: 'accountBalance',
|
||||
width: 150,
|
||||
type: 'widget',
|
||||
className: 'text-right',
|
||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.accountBalance }) }
|
||||
},
|
||||
{ title: '付款方', index: 'incomeTypeLabel', className: 'text-center' },
|
||||
{ title: '收款方', index: 'incomeTypeLabel', className: 'text-center' },
|
||||
{ title: '备注', index: 'incomeTypeLabel', className: 'text-center' },
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
@ -52,7 +52,7 @@
|
||||
</nz-card>
|
||||
|
||||
<nz-card class="content-box">
|
||||
<st #st [data]="url" [columns]="columns" [req]="{ params: reqParams }" [scroll]="{ x: '1200px' }"
|
||||
[loading]="service.http.loading" (change)="stChange($event)">
|
||||
<st #st [data]="url" [columns]="columns" [req]="{ process: beforeReq }" [scroll]="{ x: '1200px' }"
|
||||
[loading]="service.http.loading">
|
||||
</st>
|
||||
</nz-card>
|
||||
@ -1,12 +1,9 @@
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { Router } from '@angular/router';
|
||||
import { STComponent, STColumn, STChange } from '@delon/abc/st';
|
||||
import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st';
|
||||
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
|
||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||
import { SystemStaffStaffModalComponent } from 'src/app/routes/sys-setting/components/staff-management/staff-modal/staff-modal.component';
|
||||
import { SystemService } from 'src/app/routes/sys-setting/services/system.service';
|
||||
import { FreightAccountService } from '../../services/freight-account.service';
|
||||
import { SettingFinancialComponent } from './setting-financial/setting-financial.component';
|
||||
|
||||
@Component({
|
||||
selector: 'app-platform-account',
|
||||
@ -18,40 +15,22 @@ export class PlatformAccountComponent implements OnInit {
|
||||
st!: STComponent;
|
||||
@ViewChild('sf', { static: false })
|
||||
sf!: SFComponent;
|
||||
searchSchema: SFSchema = this.initSF();
|
||||
columns: STColumn[] = this.initST();
|
||||
|
||||
url = `/rule?_allow_anonymous=true`;
|
||||
|
||||
searchSchema: SFSchema = this.initSF();
|
||||
|
||||
columns: STColumn[] = this.initST();
|
||||
reqParams = { pageIndex: 1, pageSize: 10 };
|
||||
|
||||
constructor(public service: FreightAccountService, private router: Router, private nzModalService: NzModalService) {}
|
||||
|
||||
ngOnInit(): void {}
|
||||
|
||||
stChange(e: STChange): void {
|
||||
switch (e.type) {
|
||||
case 'filter':
|
||||
this.st.load();
|
||||
break;
|
||||
beforeReq = (requestOptions: STRequestOptions) => {
|
||||
if (this.sf) {
|
||||
Object.assign(requestOptions.body, { ...this.sf.value });
|
||||
}
|
||||
}
|
||||
|
||||
settingFinanical(item: any) {
|
||||
const modal = this.nzModalService.create({
|
||||
nzContent: SettingFinancialComponent,
|
||||
nzComponentParams: item ? { i: { ...item, roleId: '1,2,3', name: '用户名', phone: 18555555555 } } : { i: { id: 0 } },
|
||||
nzFooter: null
|
||||
});
|
||||
modal.afterClose.subscribe(res => {
|
||||
this.st.load();
|
||||
});
|
||||
}
|
||||
|
||||
routeTo(item?: any) {
|
||||
this.router.navigate(['/financial-management/driver-account-detail/1']);
|
||||
}
|
||||
return requestOptions;
|
||||
};
|
||||
|
||||
/**
|
||||
* 重置表单
|
||||
@ -192,7 +171,7 @@ export class PlatformAccountComponent implements OnInit {
|
||||
buttons: [
|
||||
{
|
||||
text: '查看明细',
|
||||
click: item => this.routeTo(item)
|
||||
click: item => this.router.navigate(['/financial-management/platform-account/detail/' + item.id])
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -28,6 +28,7 @@ import { VoucherListComponent } from './components/voucher-summary/voucher-list/
|
||||
import { ReceiptOrderDetailComponent } from './components/receipt-order/receipt-order-detail/receipt-order-detail.component';
|
||||
import { PaymentOrderDetailComponent } from './components/payment-order/payment-order-detail/payment-order-detail.component';
|
||||
import { PlatformAccountComponent } from './components/platform-account/platform-account.component';
|
||||
import { PlatformAccountDetailComponent } from './components/platform-account/platform-account-detail/platform-account-detail.component';
|
||||
|
||||
const routes: Routes = [
|
||||
{ path: 'freight-account', component: FreightAccountComponent, data: { guard: { ability: ['FINANCIAL-FREIGHT-ACOUNT-list'] } } },
|
||||
@ -35,6 +36,7 @@ const routes: Routes = [
|
||||
{ path: 'driver-account', component: DriverAccountComponent },
|
||||
{ path: 'driver-account/detail/:id', component: DriverAccountDetailComponent },
|
||||
{ path: 'platform-account', component: PlatformAccountComponent },
|
||||
{ path: 'platform-account/detail/:id', component: PlatformAccountDetailComponent },
|
||||
{ path: 'recharge-record', component: RechargeRecordComponent },
|
||||
{ path: 'withdrawals-record', component: WithdrawalsRecordComponent },
|
||||
{ path: 'withdrawals-record/detail/:id', component: WithdrawalsDetailComponent },
|
||||
|
||||
@ -31,7 +31,7 @@ import { PaymentOrderDetailComponent } from './components/payment-order/payment-
|
||||
import { VoucherListComponent } from './components/voucher-summary/voucher-list/voucher-list.component';
|
||||
import { ReceiptOrderDetailComponent } from './components/receipt-order/receipt-order-detail/receipt-order-detail.component';
|
||||
import { PlatformAccountComponent } from './components/platform-account/platform-account.component';
|
||||
import { SettingFinancialComponent } from './components/platform-account/setting-financial/setting-financial.component';
|
||||
import { PlatformAccountDetailComponent } from './components/platform-account/platform-account-detail/platform-account-detail.component';
|
||||
|
||||
const ROUTESCOMPONENTS = [
|
||||
FreightAccountComponent,
|
||||
@ -57,12 +57,13 @@ const ROUTESCOMPONENTS = [
|
||||
ReceivableOrderDetailComponent,
|
||||
PayableOrderDetailComponent,
|
||||
PlatformAccountComponent,
|
||||
PlatformAccountDetailComponent,
|
||||
PaymentOrderDetailComponent,
|
||||
VoucherListComponent,
|
||||
ReceiptOrderDetailComponent
|
||||
];
|
||||
|
||||
const NOTROUTECOMPONENTS = [DriverAccountDetailComponent, FreightAccountDetailComponent, SettingFinancialComponent, ClearingModalComponent];
|
||||
const NOTROUTECOMPONENTS = [DriverAccountDetailComponent, FreightAccountDetailComponent, ClearingModalComponent];
|
||||
|
||||
@NgModule({
|
||||
declarations: [...ROUTESCOMPONENTS, ...NOTROUTECOMPONENTS],
|
||||
|
||||
@ -54,7 +54,7 @@ export class MenuManagerComponentsIndexComponent implements OnInit {
|
||||
this.listOfMapData.forEach(item => {
|
||||
this.mapOfExpandedData[item.key] = this.service.convertTreeToList(item);
|
||||
});
|
||||
console.log(this.listOfMapData, this.mapOfExpandedData);
|
||||
// console.log(this.listOfMapData, this.mapOfExpandedData);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -131,7 +131,8 @@ export class MenuModalComponent implements OnInit {
|
||||
const params = {
|
||||
...this.sf.value,
|
||||
...this.params,
|
||||
i18n: this.sf.value.keyCode,
|
||||
i18n: '',
|
||||
// i18n: this.sf.value.keyCode,
|
||||
menuType: 0,
|
||||
reuse: 0,
|
||||
shortcut: 0,
|
||||
|
||||
Reference in New Issue
Block a user