fix bug
This commit is contained in:
@ -27,9 +27,9 @@ export class WithdrawalsRecordComponent implements OnInit {
|
|||||||
refundStatus: any = '';
|
refundStatus: any = '';
|
||||||
|
|
||||||
msg = '';
|
msg = '';
|
||||||
constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) {}
|
constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) { }
|
||||||
|
|
||||||
ngOnInit(): void {}
|
ngOnInit(): void { }
|
||||||
|
|
||||||
beforeReq = (requestOptions: STRequestOptions) => {
|
beforeReq = (requestOptions: STRequestOptions) => {
|
||||||
if (this.sf) {
|
if (this.sf) {
|
||||||
@ -42,6 +42,7 @@ export class WithdrawalsRecordComponent implements OnInit {
|
|||||||
refundStatus: this.refundStatus || null
|
refundStatus: this.refundStatus || null
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
delete requestOptions?.body?.expand;
|
||||||
return requestOptions;
|
return requestOptions;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -80,6 +81,10 @@ export class WithdrawalsRecordComponent implements OnInit {
|
|||||||
label: '拒绝',
|
label: '拒绝',
|
||||||
type: 'default',
|
type: 'default',
|
||||||
onClick: () => {
|
onClick: () => {
|
||||||
|
if (!this.msg || this.msg.trim().length === 0) {
|
||||||
|
this.service.msgSrv.warning('请填写拒绝原因 ');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
this.service
|
this.service
|
||||||
.request(this.service.$api_disagree_refund, {
|
.request(this.service.$api_disagree_refund, {
|
||||||
refundApplicationId: params,
|
refundApplicationId: params,
|
||||||
@ -92,6 +97,7 @@ export class WithdrawalsRecordComponent implements OnInit {
|
|||||||
this.st.load(1);
|
this.st.load(1);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,4 +1,10 @@
|
|||||||
<page-header-wrapper [title]="'账户详情'"></page-header-wrapper>
|
<page-header-wrapper [title]="'合伙人账户明细'" [logo]="logo">
|
||||||
|
<ng-template #logo>
|
||||||
|
<button nz-button (click)="goBack()">
|
||||||
|
<i nz-icon nzType="left" nzTheme="outline"></i>
|
||||||
|
</button>
|
||||||
|
</ng-template>
|
||||||
|
</page-header-wrapper>
|
||||||
<nz-card>
|
<nz-card>
|
||||||
<sv-container layout="vertical" [noColon]="true" col="4">
|
<sv-container layout="vertical" [noColon]="true" col="4">
|
||||||
<sv [label]="labelTpl">
|
<sv [label]="labelTpl">
|
||||||
|
|||||||
@ -150,4 +150,8 @@ export class PartnerAccountManagementAccountDetailComponent implements OnInit {
|
|||||||
this.st.load(1);
|
this.st.load(1);
|
||||||
}
|
}
|
||||||
export() { }
|
export() { }
|
||||||
|
|
||||||
|
goBack() {
|
||||||
|
window.history.go(-1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,17 +5,15 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
<sf [schema]="schema" [mode]="'search'" [ui]="ui" [button]="'none'" (formSubmit)="st.load(1)" (formReset)="resetSF()"
|
<sf [schema]="schema" [mode]="'search'" [ui]="ui" [button]="'none'" #sf>
|
||||||
#sf>
|
<button nz-button nzType="primary" [disabled]="!sf.valid" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="service.http.loading"
|
|
||||||
(click)="st?.load(1)">查询</button>
|
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button (click)="export()" nzType="primary" nzGhost>导出</button>
|
<button nz-button (click)="export()" nzType="primary" nzGhost>导出</button>
|
||||||
</sf>
|
</sf>
|
||||||
|
|
||||||
</nz-card>
|
</nz-card>
|
||||||
<nz-card>
|
<nz-card>
|
||||||
<st #st [data]="service. $api_get_account_management_page" [columns]="columns" [scroll]="{ x: '1200px' }"
|
<st #st [data]="service.$api_get_account_management_page" [columns]="columns" [scroll]="{ x: '1200px' }"
|
||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
|
|||||||
@ -1,4 +1,10 @@
|
|||||||
<page-header-wrapper [title]="'待入账明细'"></page-header-wrapper>
|
<page-header-wrapper [title]="'待入账明细'" [logo]="logo">
|
||||||
|
<ng-template #logo>
|
||||||
|
<button nz-button (click)="goBack()">
|
||||||
|
<i nz-icon nzType="left" nzTheme="outline"></i>
|
||||||
|
</button>
|
||||||
|
</ng-template>
|
||||||
|
</page-header-wrapper>
|
||||||
<nz-card>
|
<nz-card>
|
||||||
<sv-container layout="vertical" [noColon]="true" col="4">
|
<sv-container layout="vertical" [noColon]="true" col="4">
|
||||||
<sv [label]="labelTpl">
|
<sv [label]="labelTpl">
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
import { STColumn, STComponent } from '@delon/abc/st';
|
import { STColumn, STComponent } from '@delon/abc/st';
|
||||||
import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form';
|
import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema, Widget } from '@delon/form';
|
||||||
import { ModalHelper, _HttpClient } from '@delon/theme';
|
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||||
import { AccountManagemantService } from '../../services/account-managemant.service';
|
import { AccountManagemantService } from '../../services/account-managemant.service';
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ export class PartnerAccountManagementRecordedDetailComponent implements OnInit {
|
|||||||
title: '操作', className: 'text-center', width: '20%', buttons: [
|
title: '操作', className: 'text-center', width: '20%', buttons: [
|
||||||
{
|
{
|
||||||
text: '订单明细',
|
text: '订单明细',
|
||||||
click: (_record) => this.router.navigate(['/'])
|
click: (_record) => window.open(location.origin + `#/partner/rebate/record?ltdId=${_record?.ltdId}`)
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -129,7 +129,7 @@ export class PartnerAccountManagementRecordedDetailComponent implements OnInit {
|
|||||||
* @param record 当前行
|
* @param record 当前行
|
||||||
*/
|
*/
|
||||||
viewBookedRecord(record: any) {
|
viewBookedRecord(record: any) {
|
||||||
|
window.open(location.origin + `#/partner/recorded/record?ltdId=${record?.ltdId}&userId=${record?.userId}&userIdLabel=${record?.banktypeLabel}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -142,5 +142,8 @@ export class PartnerAccountManagementRecordedDetailComponent implements OnInit {
|
|||||||
handleCancel() {
|
handleCancel() {
|
||||||
this.showBillDetail = false;
|
this.showBillDetail = false;
|
||||||
}
|
}
|
||||||
|
goBack() {
|
||||||
|
window.history.go(-1);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||||
class="text-right">
|
class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button> 导出</button>
|
<button nz-button> 导出</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
@ -44,7 +44,7 @@
|
|||||||
<st #st [data]="service.$api_get_refund_page" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_refund_page" [columns]="columns" [req]="{ process: beforeReq }"
|
||||||
[loading]="service.http.loading" [scroll]="{ x:'1200px' }" (change)="stChange($event)"
|
[loading]="service.http.loading" [scroll]="{ x:'1200px' }" (change)="stChange($event)"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: afterRes }"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: afterRes }"
|
||||||
[page]="{ show: true, pageSizes: [10, 20, 50, 100, 200, 500] }" [loading]="service.http.loading">
|
[page]="{ show: true, pageSizes: [10, 20, 50, 100, 200, 500] }">
|
||||||
<ng-template st-row="bankCardNumber" let-item let-index="index" let-column="column">
|
<ng-template st-row="bankCardNumber" let-item let-index="index" let-column="column">
|
||||||
{{ item.bankName }} <br> {{ item.bankCardNumber }}
|
{{ item.bankName }} <br> {{ item.bankCardNumber }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|||||||
@ -325,7 +325,7 @@ export class PartnerAccountManagementWithdrawalsRecordComponent implements OnIni
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '详情',
|
text: '详情',
|
||||||
click: item => this.router.navigate(['./detail/' + item.id], { relativeTo: this.ar })
|
click: item => this.router.navigate(['./../detail/' + item.id], { relativeTo: this.ar })
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,17 @@
|
|||||||
|
<page-header-wrapper [title]="''"></page-header-wrapper>
|
||||||
|
<nz-card>
|
||||||
|
<sf #sf [ui]="ui" [schema]="schema" [button]="'none'">
|
||||||
|
</sf>
|
||||||
|
|
||||||
|
<div *nzModalFooter>
|
||||||
|
<button nz-button nzType="default" (click)="close()">取消</button>
|
||||||
|
<button nz-button nzType="primary" (click)="save()">确认</button>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
|
<nz-card>
|
||||||
|
<div class="align-center" style="display: flex; justify-content: center;">
|
||||||
|
<button nz-button nzType="default" (click)="close()">取消</button>
|
||||||
|
<button nz-button nzType="primary" (click)="save()" style="margin-left: 48px">确认</button>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
|
|
||||||
@ -0,0 +1,189 @@
|
|||||||
|
import { AfterViewInit, ChangeDetectorRef, Component, OnChanges, OnInit, ViewChild } from '@angular/core';
|
||||||
|
import { ActivatedRoute } from '@angular/router';
|
||||||
|
import { apiConf } from '@conf/api.conf';
|
||||||
|
import { SFComponent, SFRadioWidgetSchema, SFSchema, SFSchemaEnumType, SFSelectWidgetSchema, SFTextareaWidgetSchema, SFUISchema, SFUploadWidgetSchema } from '@delon/form';
|
||||||
|
import { _HttpClient } from '@delon/theme';
|
||||||
|
import { Observable, Observer } from 'rxjs';
|
||||||
|
import { map } from 'rxjs/operators';
|
||||||
|
import { AmapPoiPickerComponent } from 'src/app/shared/components/amap';
|
||||||
|
import { ChannelSalesService } from '../../services/channel-sales.service';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-parter-article-management-edit',
|
||||||
|
templateUrl: './edit.component.html'
|
||||||
|
})
|
||||||
|
export class ParterArticleManagementEditComponent implements OnInit {
|
||||||
|
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||||
|
schema!: SFSchema;
|
||||||
|
ui!: SFUISchema;
|
||||||
|
i: any;
|
||||||
|
type: any;
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public http: _HttpClient,
|
||||||
|
private cdr: ChangeDetectorRef,
|
||||||
|
private route: ActivatedRoute,
|
||||||
|
public service: ChannelSalesService,
|
||||||
|
) {}
|
||||||
|
|
||||||
|
ngOnInit(): void {
|
||||||
|
this.initSF();
|
||||||
|
}
|
||||||
|
initSF() {
|
||||||
|
this.schema = {
|
||||||
|
properties: {
|
||||||
|
id: {
|
||||||
|
type: 'string',
|
||||||
|
title: '',
|
||||||
|
ui: { hidden: true }
|
||||||
|
},
|
||||||
|
name1: {
|
||||||
|
type: 'string',
|
||||||
|
title: '文章标题',
|
||||||
|
maxLength: 50,
|
||||||
|
ui: {
|
||||||
|
widget: 'textarea',
|
||||||
|
autosize: { minRows: 3, maxRows: 6 },
|
||||||
|
placeholder:'请输入50字符'
|
||||||
|
} as SFTextareaWidgetSchema,
|
||||||
|
},
|
||||||
|
name2: {
|
||||||
|
type: 'string',
|
||||||
|
title: '文章简介',
|
||||||
|
maxLength: 50,
|
||||||
|
ui: {
|
||||||
|
widget: 'textarea',
|
||||||
|
autosize: { minRows: 3, maxRows: 6 },
|
||||||
|
placeholder:'请输入50字符'
|
||||||
|
} as SFTextareaWidgetSchema,
|
||||||
|
},
|
||||||
|
name3: {
|
||||||
|
type: 'string',
|
||||||
|
title: '封面图',
|
||||||
|
ui: {
|
||||||
|
action: apiConf.fileUpload,
|
||||||
|
accept: 'image/png,image/jpeg,image/jpg',
|
||||||
|
limit: 1,
|
||||||
|
limitFileCount: 1,
|
||||||
|
resReName: 'data.fullFilePath',
|
||||||
|
urlReName: 'data.fullFilePath',
|
||||||
|
widget: 'upload',
|
||||||
|
descriptionI18n: '支持JPG、PNG格式,文件小于2M(建议尺寸 280px * 180 px)',
|
||||||
|
name: 'multipartFile',
|
||||||
|
multiple: false,
|
||||||
|
listType: 'picture-card',
|
||||||
|
beforeUpload: (file: any, _fileList: any) => {
|
||||||
|
return new Observable((observer: Observer<boolean>) => {
|
||||||
|
const isLt2M = file.size / 1024 / 1024 < 2;
|
||||||
|
if (!isLt2M) {
|
||||||
|
this.service.msgSrv.warning('图片大小超过2M!');
|
||||||
|
observer.complete();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
observer.next(isLt2M);
|
||||||
|
observer.complete();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} as SFUploadWidgetSchema
|
||||||
|
},
|
||||||
|
name: {
|
||||||
|
title: '分类',
|
||||||
|
type: 'string',
|
||||||
|
enum: [
|
||||||
|
{ label: '管理员', value: '1'},
|
||||||
|
],
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
} as SFSelectWidgetSchema,
|
||||||
|
},
|
||||||
|
name4: {
|
||||||
|
type: 'number',
|
||||||
|
title: '排序',
|
||||||
|
minimum: 0,
|
||||||
|
maximum: 99,
|
||||||
|
ui: {
|
||||||
|
widgetWidth: 300 ,
|
||||||
|
placeholder:'请输入0~99,数字越大,排序越靠前'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
name5: {
|
||||||
|
type: 'string',
|
||||||
|
title: '跳转路径',
|
||||||
|
enum: [
|
||||||
|
{ label: '图文', value: '1'},
|
||||||
|
{ label: '视频', value: '2'},
|
||||||
|
],
|
||||||
|
ui: {
|
||||||
|
widget: 'radio',
|
||||||
|
} as SFRadioWidgetSchema,
|
||||||
|
default: '1',
|
||||||
|
},
|
||||||
|
content: {
|
||||||
|
type: 'string',
|
||||||
|
title: '正文',
|
||||||
|
ui: {
|
||||||
|
widget: 'tinymce',
|
||||||
|
loadingTip: 'loading...',
|
||||||
|
config: {
|
||||||
|
height: 450
|
||||||
|
},
|
||||||
|
visibleIf: { name5: (value: string) => value === '1' }
|
||||||
|
},
|
||||||
|
},
|
||||||
|
name6: {
|
||||||
|
type: 'string',
|
||||||
|
title: '视频',
|
||||||
|
ui: {
|
||||||
|
action: apiConf.fileUpload,
|
||||||
|
accept: 'video/mp4,video/avi,video/mkv,video/vob',
|
||||||
|
limit: 1,
|
||||||
|
limitFileCount: 1,
|
||||||
|
resReName: 'data.fullFilePath',
|
||||||
|
urlReName: 'data.fullFilePath',
|
||||||
|
widget: 'upload',
|
||||||
|
descriptionI18n: '支持MP4、AVI、DAT、MKV、FLV、VOB格式,文件小于20M。',
|
||||||
|
name: 'multipartFile',
|
||||||
|
multiple: false,
|
||||||
|
listType: 'picture-card',
|
||||||
|
beforeUpload: (file: any, _fileList: any) => {
|
||||||
|
return new Observable((observer: Observer<boolean>) => {
|
||||||
|
const isLt2M = file.size / 1024 / 1024 < 20;
|
||||||
|
if (!isLt2M) {
|
||||||
|
this.service.msgSrv.warning('视频大小超过20M!');
|
||||||
|
observer.complete();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
observer.next(isLt2M);
|
||||||
|
observer.complete();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
visibleIf: { name5: (value: string) => value === '2' }
|
||||||
|
} as SFUploadWidgetSchema
|
||||||
|
},
|
||||||
|
},
|
||||||
|
required: ['name1', 'name2']
|
||||||
|
};
|
||||||
|
this.ui = {
|
||||||
|
'*': {
|
||||||
|
spanLabelFixed: 150,
|
||||||
|
grid: { span: 20 }
|
||||||
|
},
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
close() {
|
||||||
|
|
||||||
|
}
|
||||||
|
save() {
|
||||||
|
this.sf.validator({ emitError: true });
|
||||||
|
if(!this.sf.valid) return;
|
||||||
|
// this.service.request('', { ...this.sf.value }).subscribe(res => {
|
||||||
|
// if (res) {
|
||||||
|
// this.modalRef.destroy(true);
|
||||||
|
// } else {
|
||||||
|
// this.service.msgSrv.error(res.msg);
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
<page-header-wrapper [title]="''"></page-header-wrapper>
|
||||||
|
<!-- 搜索表单 -->
|
||||||
|
<nz-card>
|
||||||
|
<div nz-row nzGutter="8">
|
||||||
|
<!-- 查询字段小于或等于3个时,不显示伸缩按钮 -->
|
||||||
|
<div nz-col nzSpan="24" *ngIf="queryFieldCount <= 4">
|
||||||
|
<sf
|
||||||
|
#sf
|
||||||
|
[schema]="schema"
|
||||||
|
[ui]="ui"
|
||||||
|
[mode]="'search'"
|
||||||
|
[loading]="service.http.loading"
|
||||||
|
(formSubmit)="search()"
|
||||||
|
(formReset)="resetSF()"
|
||||||
|
></sf>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 查询字段大于3个时,根据展开状态调整布局 -->
|
||||||
|
<ng-container *ngIf="queryFieldCount > 4">
|
||||||
|
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
||||||
|
<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" (click)="search()" >查询</button>
|
||||||
|
<button nz-button (click)="resetSF()" >重置</button>
|
||||||
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
|
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</ng-container>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
|
|
||||||
|
<nz-card>
|
||||||
|
<button nz-button nzType="primary" style="margin-bottom: 24px" (click)="add()">新增文章</button>
|
||||||
|
<!-- 数据列表 -->
|
||||||
|
<st
|
||||||
|
#st
|
||||||
|
[data]="data"
|
||||||
|
[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, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
|
[loadingDelay]="500"
|
||||||
|
[loading]="service.http.loading"
|
||||||
|
>
|
||||||
|
</st>
|
||||||
|
</nz-card>
|
||||||
@ -0,0 +1,200 @@
|
|||||||
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
|
import { STColumn, STComponent, STData, STRequestOptions } from '@delon/abc/st';
|
||||||
|
import { SFComponent, SFSchema, SFUISchema } from '@delon/form';
|
||||||
|
import { processSingleSort } from '@shared';
|
||||||
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
|
import { ChannelSalesService } from '../../services/channel-sales.service';
|
||||||
|
import { ParterArticleManagementEditComponent } from '../edit/edit.component';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-parter-article-management-list',
|
||||||
|
templateUrl: './list.component.html'
|
||||||
|
})
|
||||||
|
export class ParterArticleManagementListComponent implements OnInit {
|
||||||
|
schema: SFSchema = {};
|
||||||
|
columns!: STColumn[];
|
||||||
|
ui!: SFUISchema;
|
||||||
|
@ViewChild('st', { static: false })
|
||||||
|
st!: STComponent;
|
||||||
|
@ViewChild('sf', { static: false })
|
||||||
|
sf!: SFComponent;
|
||||||
|
spuStatus = '1';
|
||||||
|
_$expand = false;
|
||||||
|
|
||||||
|
data=[{name1:1111}]
|
||||||
|
constructor(
|
||||||
|
public router: Router,
|
||||||
|
public ar: ActivatedRoute,
|
||||||
|
public service: ChannelSalesService,
|
||||||
|
private modalService: NzModalService
|
||||||
|
) {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询参数
|
||||||
|
*/
|
||||||
|
get reqParams() {
|
||||||
|
return { ...this.sf?.value };
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重置表单
|
||||||
|
*/
|
||||||
|
resetSF() {
|
||||||
|
this.sf.reset();
|
||||||
|
this.st.load(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
search() {
|
||||||
|
// this.st1?.load(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询字段个数
|
||||||
|
*/
|
||||||
|
get queryFieldCount(): number {
|
||||||
|
return Object.keys(this.schema?.properties || {}).length;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 伸缩查询条件
|
||||||
|
*/
|
||||||
|
expandToggle(): void {
|
||||||
|
this._$expand = !this._$expand;
|
||||||
|
this.sf?.setValue('/_$expand', this._$expand);
|
||||||
|
}
|
||||||
|
ngOnInit() {
|
||||||
|
this.initSF();
|
||||||
|
this.initST();
|
||||||
|
}
|
||||||
|
|
||||||
|
initSF() {
|
||||||
|
this.schema = {
|
||||||
|
properties: {
|
||||||
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
|
name: {
|
||||||
|
type: 'string',
|
||||||
|
title: '文章标题'
|
||||||
|
},
|
||||||
|
phone: {
|
||||||
|
type: 'string',
|
||||||
|
title: '分类'
|
||||||
|
},
|
||||||
|
phone1: {
|
||||||
|
type: 'string',
|
||||||
|
title: '状态'
|
||||||
|
},
|
||||||
|
phone2: {
|
||||||
|
type: 'string',
|
||||||
|
title: '推荐到首页',
|
||||||
|
ui: {
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.ui = {
|
||||||
|
'*': {
|
||||||
|
grid: { span: 8, gutter: 4 }
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
initST() {
|
||||||
|
this.columns = [
|
||||||
|
{
|
||||||
|
title: '销售渠道姓名',
|
||||||
|
index: 'name1'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '手机号',
|
||||||
|
index: 'name1'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '所属组织',
|
||||||
|
index: 'name1'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '职级',
|
||||||
|
index: 'name1'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '等级',
|
||||||
|
index: 'name1'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '省市',
|
||||||
|
index: 'name1'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '邀请码',
|
||||||
|
index: 'name1'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '操作',
|
||||||
|
className: 'text-center',
|
||||||
|
buttons: [
|
||||||
|
{
|
||||||
|
text: '修改',
|
||||||
|
click: (_record, _modal, _instance) => this.edit(_record),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '禁用',
|
||||||
|
click: (_record, _modal, _instance) => this.stop(_record),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '启用',
|
||||||
|
click: (_record, _modal, _instance) => this.start(_record.id),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '推荐到首页',
|
||||||
|
click: (_record, _modal, _instance) => this.recommend(_record.id),
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
// 新增
|
||||||
|
add() {
|
||||||
|
this.router.navigate(['/partner/knowledge/article-management-add'], { queryParams: {} });
|
||||||
|
}
|
||||||
|
|
||||||
|
// 编辑
|
||||||
|
edit(record: STData) {
|
||||||
|
this.router.navigate(['/partner/knowledge/article-management-edit'], { queryParams: {} });
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
stop(record: STData) {
|
||||||
|
this.modalService.confirm({
|
||||||
|
nzTitle: '<i>禁用确认</i>',
|
||||||
|
nzContent: `<b>确定禁用此文章吗?</br>`,
|
||||||
|
// nzOnOk: () =>
|
||||||
|
// this.service.request('', '').subscribe(res => {
|
||||||
|
// if (res) {
|
||||||
|
// this.service.msgSrv.success('冻结成功!');
|
||||||
|
// this.st.reload();
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
});
|
||||||
|
}
|
||||||
|
start(record: STData) {
|
||||||
|
this.modalService.confirm({
|
||||||
|
nzTitle: '<i>启用确认</i>',
|
||||||
|
nzContent: `<b>确定启用此文章吗?</br>`,
|
||||||
|
// nzOnOk: () =>
|
||||||
|
// this.service.request('', '').subscribe(res => {
|
||||||
|
// if (res) {
|
||||||
|
// this.service.msgSrv.success('冻结成功!');
|
||||||
|
// this.st.reload();
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
});
|
||||||
|
}
|
||||||
|
recommend(record: STData) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
import { Injectable, Injector } from '@angular/core';
|
||||||
|
import { BaseService } from '@shared';
|
||||||
|
|
||||||
|
@Injectable({
|
||||||
|
providedIn: 'root',
|
||||||
|
})
|
||||||
|
export class ChannelSalesService extends BaseService {
|
||||||
|
|
||||||
|
constructor(public injector: Injector) {
|
||||||
|
super(injector);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
<nz-spin *ngIf="!i && status !== 'add'" class="modal-spin"></nz-spin>
|
||||||
|
<sf #sf mode="edit" [schema]="schema" [ui]="ui" [formData]="i" button="none">
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button nz-button type="button" (click)="close()">关闭</button>
|
||||||
|
<button nz-button type="submit" nzType="primary" (click)="save(sf.value)" [disabled]="!sf.valid"
|
||||||
|
[nzLoading]="service.http.loading">保存</button>
|
||||||
|
</div>
|
||||||
|
</sf>
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
import { PartnerEditComponent } from './edit.component';
|
||||||
|
|
||||||
|
describe('PartnerEditComponent', () => {
|
||||||
|
let component: PartnerEditComponent;
|
||||||
|
let fixture: ComponentFixture<PartnerEditComponent>;
|
||||||
|
|
||||||
|
beforeEach(waitForAsync(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ PartnerEditComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(PartnerEditComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,111 @@
|
|||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
import { apiConf } from '@conf/api.conf';
|
||||||
|
import { SFSchema, SFUISchema } from '@delon/form';
|
||||||
|
import { NzModalRef } from 'ng-zorro-antd/modal';
|
||||||
|
import { Observable, Observer } from 'rxjs';
|
||||||
|
import { ClassificationService } from '../../services/classification.service';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-partner-edit',
|
||||||
|
templateUrl: './edit.component.html',
|
||||||
|
})
|
||||||
|
export class PartnerEditComponent implements OnInit {
|
||||||
|
record: any = {};
|
||||||
|
i: any;
|
||||||
|
schema!: SFSchema;
|
||||||
|
ui!: SFUISchema;
|
||||||
|
status = 'add';
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
private modal: NzModalRef,
|
||||||
|
public service: ClassificationService
|
||||||
|
) { }
|
||||||
|
|
||||||
|
ngOnInit(): void {
|
||||||
|
if (this.i) {
|
||||||
|
this.i.icon = [
|
||||||
|
{
|
||||||
|
uid: -1,
|
||||||
|
name: 'xxx.png',
|
||||||
|
status: 'done',
|
||||||
|
url: this.i.url,
|
||||||
|
response: {
|
||||||
|
resource_id: 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]
|
||||||
|
}
|
||||||
|
this.initSF();
|
||||||
|
|
||||||
|
}
|
||||||
|
initSF() {
|
||||||
|
this.schema = {
|
||||||
|
properties: {
|
||||||
|
abnormalCause: {
|
||||||
|
title: '分类名称',
|
||||||
|
type: 'string',
|
||||||
|
maxLength: 5,
|
||||||
|
ui: {
|
||||||
|
placeholder: '请输入',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
icon: {
|
||||||
|
type: 'string',
|
||||||
|
title: '图标',
|
||||||
|
ui: {
|
||||||
|
action: apiConf.fileUpload,
|
||||||
|
fileType: 'image/png,image/jpeg,image/jpg',
|
||||||
|
limit: 1,
|
||||||
|
resReName: 'url',
|
||||||
|
urlReName: 'url',
|
||||||
|
widget: 'upload',
|
||||||
|
descriptionI18n: '支持JPG、PNG格式,文件小于2M(建议尺寸 88px * 88px)',
|
||||||
|
name: 'multipartFile',
|
||||||
|
multiple: false,
|
||||||
|
listType: 'picture-card',
|
||||||
|
beforeUpload: (file: any, _fileList: any) => {
|
||||||
|
return new Observable((observer: Observer<boolean>) => {
|
||||||
|
const isLt2M = file.size / 1024 / 1024 < 2;
|
||||||
|
if (!isLt2M) {
|
||||||
|
this.service.msgSrv.warning('图片大小超过2M!');
|
||||||
|
observer.complete();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
observer.next(isLt2M);
|
||||||
|
observer.complete();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
abnormalCause2: {
|
||||||
|
title: '排序',
|
||||||
|
type: 'number',
|
||||||
|
maximum: 99,
|
||||||
|
minimum: 0,
|
||||||
|
ui: {
|
||||||
|
placeholder: '请输入',
|
||||||
|
widgetWidth: 350
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
required: ['abnormalCause', 'icon', 'abnormalCause2']
|
||||||
|
|
||||||
|
}
|
||||||
|
this.ui = { '*': { spanLabelFixed: 90, grid: { span: 20, gutter: 4 } }, };
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
save(value: any): void {
|
||||||
|
this.service.request(`/user/${this.record.id}`, value).subscribe(res => {
|
||||||
|
if (res) {
|
||||||
|
this.service.msgSrv.success('保存成功');
|
||||||
|
this.modal.close(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
close(): void {
|
||||||
|
this.modal.destroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
<page-header-wrapper [title]="''">
|
||||||
|
</page-header-wrapper>
|
||||||
|
<nz-card>
|
||||||
|
<div nz-row nzGutter="8">
|
||||||
|
<div nz-col [nzSpan]="16">
|
||||||
|
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
|
||||||
|
</div>
|
||||||
|
<div nz-col [nzSpan]="8">
|
||||||
|
<button nz-button nzType="primary" (click)="st?.load(1)">查询</button>
|
||||||
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
|
<nz-card>
|
||||||
|
|
||||||
|
<div class="mb-sm">
|
||||||
|
<button nz-button nzType="primary" (click)="add()">新增分类</button>
|
||||||
|
</div>
|
||||||
|
<st #st [data]="service.$api_get_account_management_page" [columns]="columns" [scroll]="{ x: '1200px' }"
|
||||||
|
[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, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
|
[loading]="service.http.loading">
|
||||||
|
<ng-template st-row="icon" let-item>
|
||||||
|
<img nz-image width="64px" height="64px" [nzSrc]="item?.icon" alt="" />
|
||||||
|
</ng-template>
|
||||||
|
</st>
|
||||||
|
</nz-card>
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
import { PartnerListComponent } from './list.component';
|
||||||
|
|
||||||
|
describe('PartnerListComponent', () => {
|
||||||
|
let component: PartnerListComponent;
|
||||||
|
let fixture: ComponentFixture<PartnerListComponent>;
|
||||||
|
|
||||||
|
beforeEach(waitForAsync(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ PartnerListComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(PartnerListComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,173 @@
|
|||||||
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
|
import { STColumn, STComponent } from '@delon/abc/st';
|
||||||
|
import { SFComponent, SFSchema, SFUISchema } from '@delon/form';
|
||||||
|
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||||
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
|
import { PartnerAccountManagementVirtualAccountDetailComponent } from 'src/app/routes/partner/account-management/components/virtual-account-detail/virtual-account-detail.component';
|
||||||
|
import { AccountManagemantService } from 'src/app/routes/partner/account-management/services/account-managemant.service';
|
||||||
|
import { PartnerEditComponent } from '../edit/edit.component';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-partner-list',
|
||||||
|
templateUrl: './list.component.html',
|
||||||
|
})
|
||||||
|
export class PartnerKnowledgeClassificationListComponent implements OnInit {
|
||||||
|
url = `/user`;
|
||||||
|
schema!: SFSchema;
|
||||||
|
ui!: SFUISchema;
|
||||||
|
@ViewChild('st') private readonly st!: STComponent;
|
||||||
|
@ViewChild('sf') private readonly sf!: SFComponent;
|
||||||
|
columns: STColumn[] = [];
|
||||||
|
|
||||||
|
constructor(public service: AccountManagemantService, public modal: NzModalService) { }
|
||||||
|
/**
|
||||||
|
* 查询参数
|
||||||
|
*/
|
||||||
|
get reqParams() {
|
||||||
|
const params = { ...this.sf?.value };
|
||||||
|
return params
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnInit(): void {
|
||||||
|
this.initSF();
|
||||||
|
this.initST();
|
||||||
|
}
|
||||||
|
|
||||||
|
initSF() {
|
||||||
|
this.schema = {
|
||||||
|
properties: {
|
||||||
|
abnormalCause: {
|
||||||
|
title: '分类ID',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
placeholder: '请输入',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
abnormalCause1: {
|
||||||
|
title: '分类名称',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
placeholder: '请输入',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
abnormalCause2: {
|
||||||
|
title: '状态',
|
||||||
|
type: 'string',
|
||||||
|
enum: [
|
||||||
|
{ label: '全部', value: '' },
|
||||||
|
{ label: '正常', value: '1' },
|
||||||
|
{ label: '禁用', value: '2' }
|
||||||
|
],
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.ui = { '*': { spanLabelFixed: 90, grid: { span: 8, gutter: 4 } }, };
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 初始化数据列表
|
||||||
|
*/
|
||||||
|
initST() {
|
||||||
|
this.columns = [
|
||||||
|
{ title: '分类ID', index: 'carNo', className: 'text-center', width: 150 },
|
||||||
|
{ title: '分类名称', render: 'carModelLabel', className: 'text-center', width: 200 },
|
||||||
|
{ title: '图标', render: 'icon', className: 'text-center', width: 200 },
|
||||||
|
{ title: '文章数', render: 'approvalStatus2', className: 'text-center', width: 120 },
|
||||||
|
{ title: '排序', render: 'approvalStatus3', className: 'text-center', width: 120 },
|
||||||
|
{ title: '状态', index: 'approvalStatus4', className: 'text-center', width: 120 },
|
||||||
|
{ title: '最后修改时间', index: 'approvalStatus4', className: 'text-center', width: 180 },
|
||||||
|
{
|
||||||
|
title: '操作',
|
||||||
|
width: 150,
|
||||||
|
buttons: [
|
||||||
|
{
|
||||||
|
text: '修改',
|
||||||
|
click: (_record) => this.edit(_record)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '启用',
|
||||||
|
click: (_record) => this.operate(_record, 1)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '禁用',
|
||||||
|
click: (_record) => this.operate(_record, 2)
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
resetSF() {
|
||||||
|
this.sf.reset();
|
||||||
|
setTimeout(() => {
|
||||||
|
this.st.reset();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*新增
|
||||||
|
* @param _record 当前行信息
|
||||||
|
*/
|
||||||
|
add() {
|
||||||
|
const modalRef = this.modal.create({
|
||||||
|
nzTitle: '新增分类',
|
||||||
|
nzContent: PartnerEditComponent,
|
||||||
|
nzWidth: 600,
|
||||||
|
nzComponentParams: {
|
||||||
|
i: null
|
||||||
|
},
|
||||||
|
nzFooter: null
|
||||||
|
});
|
||||||
|
modalRef.afterClose.subscribe((res: any) => {
|
||||||
|
if (res) {
|
||||||
|
this.st.load(1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*编辑
|
||||||
|
* @param _record 当前行信息
|
||||||
|
*/
|
||||||
|
edit(record: any) {
|
||||||
|
const modalRef = this.modal.create({
|
||||||
|
nzTitle: '修改分类',
|
||||||
|
nzContent: PartnerEditComponent,
|
||||||
|
nzWidth: 600,
|
||||||
|
nzComponentParams: {
|
||||||
|
i: record
|
||||||
|
},
|
||||||
|
nzFooter: null
|
||||||
|
});
|
||||||
|
modalRef.afterClose.subscribe((res: any) => {
|
||||||
|
if (res) {
|
||||||
|
this.st.load(1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*禁用或者启动
|
||||||
|
* @param _record 当前行信息
|
||||||
|
*/
|
||||||
|
operate(record: any, type = 1) {
|
||||||
|
this.modal.confirm({
|
||||||
|
nzTitle: `<b>确定${type === 1 ? '启用' : '禁用'}此分类吗?</b>`,
|
||||||
|
nzOnOk: () =>
|
||||||
|
this.service.request(this.service.$api_edit_one, { id: record.id }).subscribe((res) => {
|
||||||
|
if (res) {
|
||||||
|
this.st.load(1);
|
||||||
|
this.service.msgSrv.success(`${type === 1 ? '启用' : '禁用'}成功!`);
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
export() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
import { Injectable, Injector } from '@angular/core';
|
||||||
|
import { BaseService } from '@shared';
|
||||||
|
|
||||||
|
@Injectable({
|
||||||
|
providedIn: 'root'
|
||||||
|
})
|
||||||
|
export class ClassificationService extends BaseService {
|
||||||
|
|
||||||
|
constructor(public injector: Injector) {
|
||||||
|
super(injector);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -39,6 +39,9 @@ import { PartnerDetailComponent } from './partner-list/components/partner-detail
|
|||||||
import { PartnerListComponent } from './partner-list/components/index/partner-list.component';
|
import { PartnerListComponent } from './partner-list/components/index/partner-list.component';
|
||||||
import { ParterRebateManageMentAddComponent } from './rebate-management/components/rebate-setting/add/add.component';
|
import { ParterRebateManageMentAddComponent } from './rebate-management/components/rebate-setting/add/add.component';
|
||||||
import { ScrollImgComponentsListComponent } from './ad/components/list/list.component';
|
import { ScrollImgComponentsListComponent } from './ad/components/list/list.component';
|
||||||
|
import { PartnerKnowledgeClassificationListComponent } from './knowledge/classification/components/list/list.component';
|
||||||
|
import { ParterArticleManagementListComponent } from './article-management/components/list/list.component';
|
||||||
|
import { ParterArticleManagementEditComponent } from './article-management/components/edit/edit.component';
|
||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{
|
{
|
||||||
@ -81,11 +84,24 @@ const routes: Routes = [
|
|||||||
{
|
{
|
||||||
path: 'account-management',
|
path: 'account-management',
|
||||||
children: [
|
children: [
|
||||||
{ path: 'list', component: PartnerAccountManagementListComponent },
|
{
|
||||||
{ path: 'account-detail', component: PartnerAccountManagementAccountDetailComponent },
|
path: 'am',
|
||||||
{ path: 'recorded-detail/:id', component: PartnerAccountManagementRecordedDetailComponent },
|
children: [
|
||||||
{ path: 'withdraw-record', component: PartnerAccountManagementWithdrawalsRecordComponent },
|
{ path: '', redirectTo: 'list' },
|
||||||
{ path: 'withdraw-record/:id', component: PartnerAccountManagementWithdralDetailComponent }
|
{ path: 'list', component: PartnerAccountManagementListComponent },
|
||||||
|
{ path: 'detail/:id', component: PartnerAccountManagementAccountDetailComponent },
|
||||||
|
{ path: 'recorded/detail/:id', component: PartnerAccountManagementRecordedDetailComponent },
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'withdraw-record',
|
||||||
|
children: [
|
||||||
|
{ path: '', redirectTo: 'list' },
|
||||||
|
{ path: 'list', component: PartnerAccountManagementWithdrawalsRecordComponent },
|
||||||
|
{ path: 'detail/:id', component: PartnerAccountManagementWithdralDetailComponent }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -95,22 +111,6 @@ const routes: Routes = [
|
|||||||
{ path: 'detail/:id', component: PartnerDetailComponent },
|
{ path: 'detail/:id', component: PartnerDetailComponent },
|
||||||
{ path: 'add-etp-partner', component: AddEtpPartnerComponent },
|
{ path: 'add-etp-partner', component: AddEtpPartnerComponent },
|
||||||
{ path: 'add-personal-partner', component: AddPersonalPartnerComponent },
|
{ path: 'add-personal-partner', component: AddPersonalPartnerComponent },
|
||||||
{
|
|
||||||
path: 'am',
|
|
||||||
children: [
|
|
||||||
{ path: '', redirectTo: 'list' },
|
|
||||||
{ path: '', component: PartnerAccountManagementListComponent },
|
|
||||||
{ path: 'detail/:id', component: PartnerAccountManagementAccountDetailComponent },
|
|
||||||
{ path: 'recorded/detail/:id', component: PartnerAccountManagementRecordedDetailComponent },
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'withdraw-record',
|
|
||||||
children: [
|
|
||||||
{ path: '', component: PartnerAccountManagementWithdrawalsRecordComponent },
|
|
||||||
{ path: 'detail/:id', component: PartnerAccountManagementWithdralDetailComponent }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -130,12 +130,12 @@ const routes: Routes = [
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'scroll-img',
|
path: 'knowledge',
|
||||||
children: [
|
children: [
|
||||||
{ path: '', component: ScrollImgComponentsListComponent },
|
{ path: 'classification', component: PartnerKnowledgeClassificationListComponent },
|
||||||
{ path: 'list', component: ScrollImgComponentsListComponent },
|
{ path: 'article-management-list', component: ParterArticleManagementListComponent},
|
||||||
{ path: 'channel-detail', component: ParterClaimAuditListChannelDetailComponent },
|
{ path: 'article-management-add', component: ParterArticleManagementEditComponent},
|
||||||
{ path: 'partner-detail', component: ParterClaimAuditListPartnerDetailComponent }
|
{ path: 'article-management-edit', component: ParterArticleManagementEditComponent},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
*/
|
*/
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { NgModule } from '@angular/core';
|
import { NgModule } from '@angular/core';
|
||||||
import { rebateTableModule, SharedModule } from '@shared';
|
import { SharedModule } from '@shared';
|
||||||
import { PartnerAccountManagementAccountDetailComponent } from './account-management/components/account-detail/account-detail.component';
|
import { PartnerAccountManagementAccountDetailComponent } from './account-management/components/account-detail/account-detail.component';
|
||||||
import { PartnerAccountManagementListComponent } from './account-management/components/list/list.component';
|
import { PartnerAccountManagementListComponent } from './account-management/components/list/list.component';
|
||||||
import { PartnerAccountManagementRecordedDetailComponent } from './account-management/components/recorded-detail/recorded-detail.component';
|
import { PartnerAccountManagementRecordedDetailComponent } from './account-management/components/recorded-detail/recorded-detail.component';
|
||||||
@ -52,6 +52,10 @@ import { PartnerRecordedRecordComponent } from './recorded/components/record/rec
|
|||||||
import { ParterRebateManageMentAddComponent } from './rebate-management/components/rebate-setting/add/add.component';
|
import { ParterRebateManageMentAddComponent } from './rebate-management/components/rebate-setting/add/add.component';
|
||||||
import { ScrollImgComponentsListComponent } from './ad/components/list/list.component';
|
import { ScrollImgComponentsListComponent } from './ad/components/list/list.component';
|
||||||
import { ScrollimgComponentsAddComponent } from './ad/components/add/add.component';
|
import { ScrollimgComponentsAddComponent } from './ad/components/add/add.component';
|
||||||
|
import { ParterArticleManagementEditComponent } from './article-management/components/edit/edit.component';
|
||||||
|
import { ParterArticleManagementListComponent } from './article-management/components/list/list.component';
|
||||||
|
import { PartnerKnowledgeClassificationListComponent } from './knowledge/classification/components/list/list.component';
|
||||||
|
import { PartnerEditComponent } from './knowledge/classification/components/edit/edit.component';
|
||||||
|
|
||||||
const COMPONENTS: any[] = [
|
const COMPONENTS: any[] = [
|
||||||
PartnerBusinessStatisticsIndexComponent,
|
PartnerBusinessStatisticsIndexComponent,
|
||||||
@ -93,12 +97,16 @@ const COMPONENTS: any[] = [
|
|||||||
AddEtpPartnerComponent,
|
AddEtpPartnerComponent,
|
||||||
AddPersonalPartnerComponent,
|
AddPersonalPartnerComponent,
|
||||||
ScrollImgComponentsListComponent,
|
ScrollImgComponentsListComponent,
|
||||||
ScrollimgComponentsAddComponent
|
ScrollimgComponentsAddComponent,
|
||||||
|
ParterArticleManagementEditComponent,
|
||||||
|
ParterArticleManagementListComponent,
|
||||||
|
PartnerKnowledgeClassificationListComponent,
|
||||||
|
PartnerEditComponent
|
||||||
];
|
];
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [...COMPONENTS],
|
declarations: [...COMPONENTS],
|
||||||
imports: [CommonModule, PartnerRoutingModule, SharedModule,rebateTableModule],
|
imports: [CommonModule, PartnerRoutingModule, SharedModule],
|
||||||
providers: [PartnerListService]
|
providers: [PartnerListService]
|
||||||
})
|
})
|
||||||
export class PartnerModule { }
|
export class PartnerModule { }
|
||||||
|
|||||||
@ -8,57 +8,89 @@
|
|||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\financial-management\\components\\withdrawals-record\\withdrawals-detail\\withdrawals-detail.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\financial-management\\components\\withdrawals-record\\withdrawals-detail\\withdrawals-detail.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
<page-header-wrapper [title]="'入账详情'" [logo]="logo">
|
<page-header-wrapper [title]="'入账详情'" [logo]="logo" [action]="action">
|
||||||
<ng-template #logo>
|
<ng-template #logo>
|
||||||
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
|
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
|
||||||
<i nz-icon nzType="left" nzTheme="outline"></i>
|
<i nz-icon nzType="left" nzTheme="outline"></i>
|
||||||
</button>
|
</button>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
<ng-template #action>
|
||||||
|
<div class="mr-xl">
|
||||||
|
<p class="text-lg mb-sm mt-xs">待审批</p>
|
||||||
|
<div>
|
||||||
|
<button nz-button [nzType]="'primary'"
|
||||||
|
(click)="auditAction(formData,formData?.refundStatus)">{{formData?.refundStatusLabel ===
|
||||||
|
'1'?'审核':'复审'}}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
</page-header-wrapper>
|
</page-header-wrapper>
|
||||||
|
|
||||||
|
|
||||||
<nz-card [nzLoading]="service.http.loading">
|
<nz-card [nzLoading]="service.http.loading">
|
||||||
<nz-alert nzType="info" nzMessage="提现信息" class="mb-md"></nz-alert>
|
<nz-alert nzType="info" nzMessage="入账信息" class="mb-md"></nz-alert>
|
||||||
<div se-container [labelWidth]="130">
|
<div se-container [labelWidth]="130">
|
||||||
|
<se label="账户名称">
|
||||||
|
{{formData?.ltdName}}
|
||||||
|
</se>
|
||||||
<se label="网络货运人">
|
<se label="网络货运人">
|
||||||
{{formData?.ltdName}}
|
{{formData?.ltdName}}
|
||||||
</se>
|
</se>
|
||||||
|
<se label="入账单号">
|
||||||
|
{{formData?.refundApplyCode}}
|
||||||
|
</se>
|
||||||
<se label="银行类型">
|
<se label="银行类型">
|
||||||
{{formData?.bankType==='1'?'平安银行':'浦发银行'}}
|
{{formData?.bankType==='1'?'平安银行':'浦发银行'}}
|
||||||
</se>
|
</se>
|
||||||
<se label="提现单号">
|
|
||||||
{{formData?.refundApplyCode}}
|
|
||||||
</se>
|
|
||||||
<se label="账户名称">
|
|
||||||
{{formData?.bankAccountName}}
|
|
||||||
</se>
|
|
||||||
<se label="提现时间">
|
|
||||||
{{formData?.createTime}}
|
|
||||||
</se>
|
|
||||||
<se label="虚拟账户">
|
<se label="虚拟账户">
|
||||||
{{formData?.virtualAccount}}
|
{{formData?.virtualAccount}}
|
||||||
</se>
|
</se>
|
||||||
<se label="提现状态">
|
<se label="提交时间">
|
||||||
|
{{formData?.createTime}}
|
||||||
|
</se>
|
||||||
|
<se label="开票金额">
|
||||||
|
{{formData?.amount | currency}}
|
||||||
|
</se>
|
||||||
|
<se label="代缴个税">
|
||||||
|
{{formData?.amount | currency}}
|
||||||
|
</se>
|
||||||
|
<se label="入账金额">
|
||||||
|
{{formData?.amount | currency}}
|
||||||
|
</se>
|
||||||
|
<se label="入账状态">
|
||||||
{{formData?.refundStatusLabel}}
|
{{formData?.refundStatusLabel}}
|
||||||
</se>
|
</se>
|
||||||
<se label="提现金额">
|
<se label="发票图片">
|
||||||
{{formData?.amount | currency}}
|
<img nz-image width="200px" height="200px"
|
||||||
|
nzSrc="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png" alt="" />
|
||||||
|
</se>
|
||||||
|
<se label="快递单号">
|
||||||
|
{{formData?.bankCardNumber}}
|
||||||
|
</se>
|
||||||
|
<se label="纳税凭证">
|
||||||
|
<img nz-image width="200px" height="200px"
|
||||||
|
nzSrc="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png" alt="" />
|
||||||
</se>
|
</se>
|
||||||
<se label="银行流水号">
|
<se label="银行流水号">
|
||||||
{{formData?.bankSerialNumber}}
|
{{formData?.bankSerialNumber}}
|
||||||
</se>
|
</se>
|
||||||
<se label="提现至银行卡">
|
|
||||||
{{formData?.bankCardNumber}}
|
|
||||||
</se>
|
|
||||||
<se label="银行回单" col="1">
|
|
||||||
<a (click)="downBack()">{{formData?.refundStatus==='3'?'下载回单':'暂无回单'}}</a>
|
|
||||||
</se>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<nz-alert nzType="info" nzMessage="提现进度" class="mb-md mt-md"></nz-alert>
|
<nz-alert nzType="info" nzMessage="入账进度" class="mb-md mt-md"></nz-alert>
|
||||||
<div nz-row class="mt-xl">
|
<div nz-row class="mt-xl">
|
||||||
<div nz-col nzSpan="12" nzOffset="1">
|
<div nz-col nzSpan="12" nzOffset="1">
|
||||||
<app-logistics-time-line [data]="timeLineData"></app-logistics-time-line>
|
<app-logistics-time-line [data]="timeLineData"></app-logistics-time-line>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
|
<ng-template #auditModal>
|
||||||
|
<div nz-row nzGutter="8">
|
||||||
|
<div nz-col nzSpan="24" se-container [labelWidth]="80">
|
||||||
|
<se [col]="1" label="备注">
|
||||||
|
<textarea nz-input rows="3" [(ngModel)]="msg" placeholder="同意可以不用填写原因 ,拒绝必须说明原因"
|
||||||
|
style="width: 325px;margin-left: 14px;"></textarea>
|
||||||
|
</se>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { FreightAccountService } from 'src/app/routes/financial-management/services/freight-account.service';
|
import { FreightAccountService } from 'src/app/routes/financial-management/services/freight-account.service';
|
||||||
|
|
||||||
|
|
||||||
@ -9,13 +10,15 @@ import { FreightAccountService } from 'src/app/routes/financial-management/servi
|
|||||||
styleUrls: ['./detail.component.less']
|
styleUrls: ['./detail.component.less']
|
||||||
})
|
})
|
||||||
export class PartnerRecordedDetailComponent implements OnInit {
|
export class PartnerRecordedDetailComponent implements OnInit {
|
||||||
|
@ViewChild('auditModal', { static: false }) auditModal!: any;
|
||||||
formData: any = {};
|
formData: any = {};
|
||||||
|
|
||||||
timeLineData: any = [];
|
timeLineData: any = [];
|
||||||
|
msg = '';
|
||||||
|
id = '';
|
||||||
|
|
||||||
constructor(public service: FreightAccountService, private route: ActivatedRoute) {
|
constructor(public service: FreightAccountService, private route: ActivatedRoute, private nzModalService: NzModalService) {
|
||||||
const id = route.snapshot.params.id;
|
this.id = route.snapshot.params.id;
|
||||||
this.loadRefundDetail(id);
|
this.loadRefundDetail(this.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void { }
|
ngOnInit(): void { }
|
||||||
@ -68,19 +71,61 @@ export class PartnerRecordedDetailComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
downBack() {
|
auditAction(item?: any, type: string = '1') {
|
||||||
if (this.formData?.refundStatus !== '3') {
|
this.msg = '';
|
||||||
return;
|
let params: Array<string> = [];
|
||||||
}
|
params = [item.id];
|
||||||
this.service.getReceiptUrl(this.formData.receiptUrl, {
|
const modal = this.nzModalService.create({
|
||||||
bankType: this.formData.bankType,
|
nzTitle: type === '1' ? '审核' : '复审',
|
||||||
rmYll: this.formData.userId,
|
nzContent: this.auditModal,
|
||||||
snglFlgCd: this.formData.coreSerNo,
|
nzFooter: [
|
||||||
bussType: '06',
|
{
|
||||||
ltdId: this.formData.ltdId
|
label: '拒绝',
|
||||||
|
type: 'default',
|
||||||
|
onClick: () => {
|
||||||
|
if (!this.msg || this.msg.trim().length === 0) {
|
||||||
|
this.service.msgSrv.warning('请填写拒绝原因 ');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
this.service
|
||||||
|
.request(this.service.$api_disagree_refund, {
|
||||||
|
refundApplicationId: params,
|
||||||
|
msg: this.msg
|
||||||
|
})
|
||||||
|
.subscribe(res => {
|
||||||
|
if (res) {
|
||||||
|
this.service.msgSrv.success('审核拒绝成功');
|
||||||
|
modal.destroy(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '通过',
|
||||||
|
type: 'primary',
|
||||||
|
onClick: () => {
|
||||||
|
this.service
|
||||||
|
.request(this.service.$api_agree_refund, {
|
||||||
|
refundApplicationId: params,
|
||||||
|
msg: this.msg
|
||||||
|
})
|
||||||
|
.subscribe(res => {
|
||||||
|
if (res) {
|
||||||
|
this.service.msgSrv.success('审核通过成功');
|
||||||
|
modal.destroy(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
modal.afterClose.subscribe((res: any) => {
|
||||||
|
if (res) {
|
||||||
|
this.loadRefundDetail(this.id);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
goBack() {
|
goBack() {
|
||||||
history.go(-1);
|
history.go(-1);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||||
class="text-right">
|
class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button> 导出</button>
|
<button nz-button> 导出</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
@ -44,7 +44,7 @@
|
|||||||
<st #st [data]="service.$api_get_refund_page" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_refund_page" [columns]="columns" [req]="{ process: beforeReq }"
|
||||||
[loading]="service.http.loading" [scroll]="{ x:'1200px' }" (change)="stChange($event)"
|
[loading]="service.http.loading" [scroll]="{ x:'1200px' }" (change)="stChange($event)"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: afterRes }"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: afterRes }"
|
||||||
[page]="{ show: true, pageSizes: [10, 20, 50, 100, 200, 500] }" [loading]="service.http.loading">
|
[page]="{ show: true, pageSizes: [10, 20, 50, 100, 200, 500] }">
|
||||||
<ng-template st-row="bankCardNumber" let-item let-index="index" let-column="column">
|
<ng-template st-row="bankCardNumber" let-item let-index="index" let-column="column">
|
||||||
{{ item.bankName }} <br> {{ item.bankCardNumber }}
|
{{ item.bankName }} <br> {{ item.bankCardNumber }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|||||||
@ -17,8 +17,8 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||||
@ViewChild('auditModal', { static: false }) auditModal!: any;
|
@ViewChild('auditModal', { static: false }) auditModal!: any;
|
||||||
@ViewChild('viewReasonModal', { static: false }) viewReasonModal!: any;
|
@ViewChild('viewReasonModal', { static: false }) viewReasonModal!: any;
|
||||||
columns: STColumn[] = this.initST();
|
columns!: STColumn[];
|
||||||
searchSchema: SFSchema = this.initSF();
|
searchSchema!: SFSchema;
|
||||||
totalInfo: any = {
|
totalInfo: any = {
|
||||||
partnerNum: 34,
|
partnerNum: 34,
|
||||||
count: 98,
|
count: 98,
|
||||||
@ -34,9 +34,22 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
refundStatus: any = '';
|
refundStatus: any = '';
|
||||||
|
|
||||||
msg = '';
|
msg = '';
|
||||||
constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router, public ar: ActivatedRoute) { }
|
|
||||||
|
|
||||||
ngOnInit(): void { }
|
ltdId = ''; // 网络货运人
|
||||||
|
accountName = ''; // 账户名称
|
||||||
|
|
||||||
|
|
||||||
|
constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router, public ar: ActivatedRoute) {
|
||||||
|
|
||||||
|
this.accountName = this.ar.snapshot.queryParams?.userIdLabel || '';
|
||||||
|
this.ltdId = this.ar.snapshot.queryParams?.ltdId || '';
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnInit(): void {
|
||||||
|
this.searchSchema = this.initSF();
|
||||||
|
this.columns = this.initST();
|
||||||
|
}
|
||||||
|
|
||||||
beforeReq = (requestOptions: STRequestOptions) => {
|
beforeReq = (requestOptions: STRequestOptions) => {
|
||||||
if (this.sf) {
|
if (this.sf) {
|
||||||
@ -49,6 +62,7 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
refundStatus: this.refundStatus || null
|
refundStatus: this.refundStatus || null
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
delete requestOptions?.body?.expand;
|
||||||
return requestOptions;
|
return requestOptions;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -107,7 +121,7 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
this.st.load(1);
|
this.st.load(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
auditAction(item?: any) {
|
auditAction(item?: any, type: string = '1') {
|
||||||
this.msg = '';
|
this.msg = '';
|
||||||
let params: Array<string> = [];
|
let params: Array<string> = [];
|
||||||
if (item) {
|
if (item) {
|
||||||
@ -116,13 +130,17 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
params = this.selectedRows.map(node => node.id);
|
params = this.selectedRows.map(node => node.id);
|
||||||
}
|
}
|
||||||
const modal = this.nzModalService.create({
|
const modal = this.nzModalService.create({
|
||||||
nzTitle: '审核',
|
nzTitle: type === '1' ? '审核' : '复审',
|
||||||
nzContent: this.auditModal,
|
nzContent: this.auditModal,
|
||||||
nzFooter: [
|
nzFooter: [
|
||||||
{
|
{
|
||||||
label: '备注',
|
label: '拒绝',
|
||||||
type: 'default',
|
type: 'default',
|
||||||
onClick: () => {
|
onClick: () => {
|
||||||
|
if (!this.msg || this.msg.trim().length === 0) {
|
||||||
|
this.service.msgSrv.warning('请填写拒绝原因 ');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
this.service
|
this.service
|
||||||
.request(this.service.$api_disagree_refund, {
|
.request(this.service.$api_disagree_refund, {
|
||||||
refundApplicationId: params,
|
refundApplicationId: params,
|
||||||
@ -135,6 +153,7 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
this.st.load(1);
|
this.st.load(1);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -203,79 +222,47 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
hidden: true
|
hidden: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
refundApplyCode: {
|
accountName: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '提现单号',
|
title: '账户名称',
|
||||||
|
default: this.accountName,
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入'
|
placeholder: '请输入'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
refundStatus: {
|
refundStatus: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '提现状态',
|
title: '入账状态',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'dict-select',
|
widget: 'dict-select',
|
||||||
params: { dictKey: 'refund:apply:status' },
|
params: { dictKey: 'refund:apply:status' },
|
||||||
placeholder: '请选择'
|
placeholder: '请选择'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
createTime: {
|
|
||||||
title: '提现时间',
|
|
||||||
type: 'string',
|
|
||||||
ui: {
|
|
||||||
widget: 'sl-from-to-search',
|
|
||||||
format: 'yyyy-MM-dd',
|
|
||||||
placeholder: '请选择',
|
|
||||||
nzShowTime: true
|
|
||||||
} as SFDateWidgetSchema
|
|
||||||
},
|
|
||||||
bankAccountName: {
|
|
||||||
type: 'string',
|
|
||||||
title: '账户名称',
|
|
||||||
ui: {
|
|
||||||
placeholder: '请输入',
|
|
||||||
visibleIf: {
|
|
||||||
expand: (value: boolean) => value
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
accountType: {
|
|
||||||
type: 'string',
|
|
||||||
title: '账户类型',
|
|
||||||
ui: {
|
|
||||||
widget: 'dict-select',
|
|
||||||
params: { dictKey: 'bank:type' },
|
|
||||||
placeholder: '请选择',
|
|
||||||
visibleIf: {
|
|
||||||
expand: (value: boolean) => value
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
ltdId: {
|
ltdId: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '网络货运人',
|
title: '网络货运人',
|
||||||
|
default: this.ltdId,
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
asyncData: () => this.service.getNetworkFreightForwarder(),
|
asyncData: () => this.service.getNetworkFreightForwarder(),
|
||||||
visibleIf: {
|
|
||||||
expand: (value: boolean) => value
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
bankType: {
|
createTime: {
|
||||||
|
title: '提交时间',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '银行类型',
|
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'dict-select',
|
widget: 'sl-from-to-search',
|
||||||
params: { dictKey: 'bankname:type' },
|
format: 'yyyy-MM-dd',
|
||||||
placeholder: '请输入',
|
placeholder: '请选择',
|
||||||
|
nzShowTime: true,
|
||||||
visibleIf: {
|
visibleIf: {
|
||||||
expand: (value: boolean) => value
|
expand: (value: boolean) => value
|
||||||
}
|
}
|
||||||
}
|
} as SFDateWidgetSchema
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -285,7 +272,7 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
{ title: '', index: 'key', type: 'checkbox', className: 'text-center' },
|
{ title: '', index: 'key', type: 'checkbox', className: 'text-center' },
|
||||||
{ title: '账户名称', index: 'createTime', width: 180, className: 'text-center' },
|
{ title: '账户名称', index: 'createTime', width: 180, className: 'text-center' },
|
||||||
{ title: '虚拟账户', index: 'virtualAccount', width: 180, className: 'text-center' },
|
{ title: '虚拟账户', index: 'virtualAccount', width: 180, className: 'text-center' },
|
||||||
{ title: '入账单号', index: 'refundApplyCode', width: 180, className: 'text-center' },
|
{ title: '入账单号', index: 'refundApplyCode', width: 190, className: 'text-center' },
|
||||||
{ title: '网络货运人', index: 'ltdName', width: 220, className: 'text-center' },
|
{ title: '网络货运人', index: 'ltdName', width: 220, className: 'text-center' },
|
||||||
{
|
{
|
||||||
title: '开票金额',
|
title: '开票金额',
|
||||||
@ -324,6 +311,11 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
iif: item => item.refundStatus === '1',
|
iif: item => item.refundStatus === '1',
|
||||||
click: item => this.auditAction(item)
|
click: item => this.auditAction(item)
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
text: '复审',
|
||||||
|
iif: item => item.refundStatus === '2',
|
||||||
|
click: item => this.router.navigate(['./detail/' + item.id], { relativeTo: this.ar })
|
||||||
|
},
|
||||||
{
|
{
|
||||||
text: '详情',
|
text: '详情',
|
||||||
click: item => this.router.navigate(['./detail/' + item.id], { relativeTo: this.ar })
|
click: item => this.router.navigate(['./detail/' + item.id], { relativeTo: this.ar })
|
||||||
|
|||||||
@ -44,8 +44,10 @@ import { NzUploadModule } from 'ng-zorro-antd/upload';
|
|||||||
import { NzCascaderModule } from 'ng-zorro-antd/cascader';
|
import { NzCascaderModule } from 'ng-zorro-antd/cascader';
|
||||||
import { NzAnchorModule } from 'ng-zorro-antd/anchor';
|
import { NzAnchorModule } from 'ng-zorro-antd/anchor';
|
||||||
import { NzAffixModule } from 'ng-zorro-antd/affix';
|
import { NzAffixModule } from 'ng-zorro-antd/affix';
|
||||||
import { NzTypographyModule } from 'ng-zorro-antd/typography';
|
import { NzTypographyModule } from 'ng-zorro-antd/typography';
|
||||||
import { NzSwitchModule } from 'ng-zorro-antd/switch';
|
import { NzSwitchModule } from 'ng-zorro-antd/switch';
|
||||||
|
import { NzImageModule } from 'ng-zorro-antd/image';
|
||||||
|
|
||||||
export const SHARED_ZORRO_MODULES = [
|
export const SHARED_ZORRO_MODULES = [
|
||||||
NzButtonModule,
|
NzButtonModule,
|
||||||
NzGridModule,
|
NzGridModule,
|
||||||
@ -85,5 +87,6 @@ export const SHARED_ZORRO_MODULES = [
|
|||||||
NzAnchorModule,
|
NzAnchorModule,
|
||||||
NzAffixModule,
|
NzAffixModule,
|
||||||
NzTypographyModule,
|
NzTypographyModule,
|
||||||
NzSwitchModule
|
NzSwitchModule,
|
||||||
|
NzImageModule
|
||||||
];
|
];
|
||||||
|
|||||||
@ -37,6 +37,7 @@ import { ImageListModule } from './components/imagelist';
|
|||||||
import { DictSelectComponent } from './components/dict-select';
|
import { DictSelectComponent } from './components/dict-select';
|
||||||
import { PipeModule } from './pipes';
|
import { PipeModule } from './pipes';
|
||||||
import { AccountDetailComponent } from './components/account-detail/account-detail.component';
|
import { AccountDetailComponent } from './components/account-detail/account-detail.component';
|
||||||
|
import { rebateTableModule } from './components/rebate-table';
|
||||||
|
|
||||||
const MODULES = [
|
const MODULES = [
|
||||||
AddressModule,
|
AddressModule,
|
||||||
@ -51,6 +52,7 @@ const MODULES = [
|
|||||||
AmapModule,
|
AmapModule,
|
||||||
ImageListModule,
|
ImageListModule,
|
||||||
PipeModule,
|
PipeModule,
|
||||||
|
rebateTableModule,
|
||||||
...PRO_SHARED_MODULES
|
...PRO_SHARED_MODULES
|
||||||
];
|
];
|
||||||
// #endregion
|
// #endregion
|
||||||
@ -88,4 +90,4 @@ const SHAREDCOMPONENTS = [LogisticsTimeLineComponent, DictSelectComponent, Accou
|
|||||||
],
|
],
|
||||||
declarations: SHAREDCOMPONENTS
|
declarations: SHAREDCOMPONENTS
|
||||||
})
|
})
|
||||||
export class SharedModule {}
|
export class SharedModule { }
|
||||||
|
|||||||
@ -508,8 +508,7 @@
|
|||||||
{
|
{
|
||||||
"text": "合伙人管理",
|
"text": "合伙人管理",
|
||||||
"icon": "anticon anticon-dashboard",
|
"icon": "anticon anticon-dashboard",
|
||||||
"children": [
|
"children": [{
|
||||||
{
|
|
||||||
"text": "合伙人列表",
|
"text": "合伙人列表",
|
||||||
"link": "/partner/partner-list"
|
"link": "/partner/partner-list"
|
||||||
},
|
},
|
||||||
@ -547,7 +546,7 @@
|
|||||||
"group": true,
|
"group": true,
|
||||||
"children": [{
|
"children": [{
|
||||||
"text": "账户管理",
|
"text": "账户管理",
|
||||||
"link": "/partner/account-management/am"
|
"link": "/partner/account-management/am/list"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"text": "账户明细",
|
"text": "账户明细",
|
||||||
@ -572,18 +571,17 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"text": "客户认领审核",
|
"text": "客户认领审核",
|
||||||
"link": "/partner/claim-audit/list",
|
"link": "/partner/claim-audit/list"
|
||||||
"children": [{
|
},
|
||||||
"text": "合伙人客户认领详情",
|
{
|
||||||
"link": "/partner/claim-audit/partner-detail",
|
"text": "合伙人客户认领详情",
|
||||||
"hide": true
|
"link": "/partner/claim-audit/partner-detail",
|
||||||
},
|
"hide": true
|
||||||
{
|
},
|
||||||
"text": "渠道销售客户认领详情",
|
{
|
||||||
"link": "/partner/claim-audit/channel-detail",
|
"text": "渠道销售客户认领详情",
|
||||||
"hide": true
|
"link": "/partner/claim-audit/channel-detail",
|
||||||
}
|
"hide": true
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"text": "入账记录",
|
"text": "入账记录",
|
||||||
@ -605,7 +603,27 @@
|
|||||||
"children": [{
|
"children": [{
|
||||||
"text": "banner管理",
|
"text": "banner管理",
|
||||||
"link": "/knowledge/banner"
|
"link": "/knowledge/banner"
|
||||||
}]
|
},
|
||||||
|
{
|
||||||
|
"text": "文章管理",
|
||||||
|
"link": "/partner/knowledge/article-management-list"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "新增文章",
|
||||||
|
"link": "/partner/knowledge/article-management-add",
|
||||||
|
"hide": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "编辑文章",
|
||||||
|
"link": "/partner/knowledge/article-management-edit",
|
||||||
|
"hide": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "分类管理",
|
||||||
|
"link": "/partner/knowledge/classification"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user