diff --git a/src/app/routes/partner/rebate-management/components/rebate-setting/add-partnerlist/add-partnerlist.component.html b/src/app/routes/partner/rebate-management/components/rebate-setting/add-partnerlist/add-partnerlist.component.html
index a7dd9b7c..a537892f 100644
--- a/src/app/routes/partner/rebate-management/components/rebate-setting/add-partnerlist/add-partnerlist.component.html
+++ b/src/app/routes/partner/rebate-management/components/rebate-setting/add-partnerlist/add-partnerlist.component.html
@@ -1,38 +1,30 @@
+
-
+
-
-
-
4">
-
-
-
-
-
-
-
-
-
-
+ [scroll]="{ x: '1000' }">
-
-
diff --git a/src/app/routes/partner/rebate-management/components/rebate-setting/add-partnerlist/add-partnerlist.component.ts b/src/app/routes/partner/rebate-management/components/rebate-setting/add-partnerlist/add-partnerlist.component.ts
index 6e7c094b..e78d09ef 100644
--- a/src/app/routes/partner/rebate-management/components/rebate-setting/add-partnerlist/add-partnerlist.component.ts
+++ b/src/app/routes/partner/rebate-management/components/rebate-setting/add-partnerlist/add-partnerlist.component.ts
@@ -2,7 +2,7 @@ import { Component, OnInit, ViewChild, Type } from '@angular/core';
import { STComponent, STColumn, STChange } from '@delon/abc/st';
import { SFComponent, SFDateWidgetSchema, SFRadioWidgetSchema, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
import { ShipperBaseService } from '@shared';
-import { NzModalService } from 'ng-zorro-antd/modal';
+import { NzModalService, NzModalRef } from 'ng-zorro-antd/modal';
import { of } from 'rxjs';
import { map } from 'rxjs/operators';
import { RebateManagementService } from '../../../services/rebate-management.service';
@@ -32,45 +32,30 @@ export class ParterRebateManageMentAddPartnerListComponent implements OnInit {
columns: STColumn[] = [
{ title: '', type: 'checkbox', width: '50px', className: 'text-center' },
- { title: '异常编号', index: 'exceptionCode', width: '140px', className: 'text-left', },
- { title: '订单号', index: 'billCode', width: '160px', className: 'text-left', },
- { title: '装货地', index: 'loadingAddressArr', width: '220px', className: 'text-left', },
- { title: '卸货地', index: 'unloadingAddressArr', width: '220px', className: 'text-left', },
- { title: '承运司机', index: 'driver', width: '180px', className: 'text-left', },
- { title: '异常信息', index: 'exceptionContent', width: '100px', className: 'text-left', },
- { title: '异常图片', render: 'exceptionCertificateFirstFilePath', width: '150px', className: 'text-left', },
- { title: '上报时间', index: 'createTime', width: '140px', className: 'text-left', },
{
- title: '操作', index: 'createTime', width: '90px', className: 'text-left',
+ title: '合伙人名称',
+ index: 'enterpriseName',
+ width: 180,
+ format: item => (item.partnerType ? `${item.enterpriseName || item.contactName}` : '')
+ },
+ { title: '联系人', index: 'contactName', width: 150, format: item => (item.partnerType ? `${item.contactName}` : '') },
+ { title: '手机号', index: 'contactMobile', className: 'text-center', width: 150 },
+ { title: '类型', index: 'partnerType', className: 'text-center', width: 130, type: 'enum', enum: { 1: '企业', 2: '个人' } },
+ {
+ title: '操作', width: '90px', fixed: 'right',
buttons: [
{
- text: '回复',
- click: _record => this.reply(_record),
+ text: '添加',
+ click: _record => this.add(_record),
acl: { ability: ['AbnormalAppear-reply'] }
},
]
},
];
- columns2: STColumn[] = [
- { title: '异常编号', index: 'exceptionCode', width: '140px', className: 'text-left' },
- { title: '订单号', index: 'billCode', width: '160px', className: 'text-left' },
- { title: '装货地', index: 'loadingAddressArr', width: '220px', className: 'text-left' },
- { title: '卸货地', index: 'unloadingAddressArr', width: '220px', className: 'text-left' },
- { title: '承运司机', index: 'driver', width: '180px', className: 'text-left' },
- { title: '异常信息', index: 'exceptionContent', width: '100px', className: 'text-left' },
- { title: '异常图片', render: 'exceptionCertificateFirstFilePath', width: '150px', className: 'text-left' },
- { title: '上报时间', index: 'createTime', width: '140px', className: 'text-left' },
- { title: '回复内容', index: 'replyContent', width: '150px', className: 'text-left' },
- { title: '回复人', index: 'replyAppUserName', width: '90px', className: 'text-left' },
- { title: '回复时间', index: 'replyTime', width: '140px', className: 'text-left' },
- ];
get reqParams() {
- let params: any = { ...this.sf?.value };
- if (params.reportingTime) {
- const reportingTime = { start: this.sf?.value?.reportingTime?.[0], end: this.sf?.value?.reportingTime?.[1] }
- params.reportingTime = reportingTime;
- }
+ // signStatus固定传20 代表签约完成
+ let params: any = { ...this.sf?.value,signStatus: 20 };
return params;
}
@@ -80,93 +65,46 @@ export class ParterRebateManageMentAddPartnerListComponent implements OnInit {
constructor(
public service: RebateManagementService,
- private nzModalService: NzModalService,
public shipperSrv: ShipperBaseService,
private modal: NzModalService,
+ private modals: NzModalRef,
) { }
ngOnInit(): void {
this.initSF()
}
-
- /**
- * 伸缩查询条件
- */
- expandToggle(): void {
- this._$expand = !this._$expand;
- this.sf?.setValue('/_$expand', this._$expand);
- }
- /**
- * 查询字段个数
- */
- get queryFieldCount(): number {
- return Object.keys(this.schema?.properties || {}).length;
- }
initSF() {
this.schema = {
properties: {
- _$expand: { type: 'boolean', ui: { hidden: true } },
- exceptionCode: {
+ enterpriseName: {
type: 'string',
- title: '异常编号',
- ui: { placeholder: '请输入' }
+ title: '合伙人名称'
},
- billCode: {
- type: 'string',
- title: '订单号',
- ui: {
- placeholder: '最多100个订单,空号隔开',
- }
- },
- exceptionType: {
- title: '异常类型',
- type: 'string',
- ui: {
- widget: 'dict-select',
- containsAllLabel: true,
- params: { dictKey: 'exception:report:type' },
- } as SFSelectWidgetSchema
- },
- driverName: {
- title: '承运司机',
+ partnerType: {
type: 'string',
+ title: '类型',
+ enum: [
+ { value: '', label: '全部' },
+ { value: 1, label: '企业' },
+ { value: 2, label: '个人' }
+ ],
ui: {
+ widget: 'select',
+ placeholder: '请选择',
visibleIf: {
- _$expand: (value: boolean) => value
+ expand: (value: boolean) => value
}
- }
+ },
+ default: ''
},
- carNo: {
- title: '车牌号',
- type: 'string',
- ui: {
- visibleIf: {
- _$expand: (value: boolean) => value
- }
- }
- },
- reportingTime: {
- title: '上报时间',
- type: 'string',
- ui: {
- widget: 'date',
- mode: 'range',
- format: 'yyyy-MM-dd',
- visibleIf: {
- _$expand: (value: boolean) => value
- }
- } as SFDateWidgetSchema
}
- }
- };
+ }
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } };
}
search() {
- if (this.selectedIndex === 0) {
this.st?.load(1)
- }
}
selectedIndexChange(event: any) {
@@ -181,22 +119,10 @@ export class ParterRebateManageMentAddPartnerListComponent implements OnInit {
this.sf.reset();
}
// 回复操作
- reply(item: any) {
- // const modalRef = this.modal.create({
- // nzTitle: '回复',
- // nzWidth: 700,
- // nzContent: AbnormalReplyComponent,
- // nzComponentParams: {
- // i: item
- // },
- // nzFooter: null
- // });
- // modalRef.afterClose.subscribe((res) => {
- // if (res) {
- // this.resetSF;
- // this.st.load();
- // }
- // });
+ add(item: any) {
+ console.log(item);
+ this.modals.destroy(item)
+
}
// 批量回复操作
batchReply() {
@@ -204,17 +130,6 @@ export class ParterRebateManageMentAddPartnerListComponent implements OnInit {
// this.service.msgSrv.warning('请勾选数据!')
// return;
// }
- // const modalRef = this.modal.create({
- // nzTitle: '批量回复',
- // nzContent: AbnormalreplyBatchComponent,
- // nzComponentParams: {
- // selectedRows: this.selectedRows
- // },
- // nzFooter: null
- // });
- // modalRef.afterClose.subscribe(() => {
- // this.resetSF;
- // this.st.load();
- // });
+ this.modals.destroy(this.selectedRows)
}
}
diff --git a/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.html b/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.html
index 1256170c..e0092a17 100644
--- a/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.html
+++ b/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.html
@@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2022-02-24 20:09:49
* @LastEditors : Shiming
- * @LastEditTime : 2022-03-28 15:39:27
+ * @LastEditTime : 2022-03-28 19:46:23
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add\\add.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
@@ -14,26 +14,34 @@
-
+
固定结算费率配置
- %
+ %
业务量和管理费比例配置
-
-
-
+
+
+
-
+
+
关联合伙人配置
-
+
+
+ 添加
+
+
@@ -49,17 +57,11 @@
-
-
-
-
+
+
+
+
-
-
-
-
-
-
diff --git a/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.less b/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.less
index 0c812cac..fe7d3fd2 100644
--- a/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.less
+++ b/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.less
@@ -7,4 +7,10 @@
font-weight: 700;
}
}
+ .align-center {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+
}
diff --git a/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.ts b/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.ts
index 3821b57f..8cec166a 100644
--- a/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.ts
+++ b/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.ts
@@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2022-03-21 09:26:45
* @LastEditors : Shiming
- * @LastEditTime : 2022-03-28 14:45:41
+ * @LastEditTime : 2022-03-28 19:47:56
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add\\add.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@@ -17,17 +17,23 @@ import { processSingleSort, ShipperBaseService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal';
import { RebateManagementService } from '../../../services/rebate-management.service';
import { ParterRebateManageMentAddPartnerListComponent } from '../add-partnerlist/add-partnerlist.component';
+import { inRange } from '@delon/util';
@Component({
selector: 'app-parter-channel-rebate-management-add',
styleUrls: ['./add.component.less'],
templateUrl: './add.component.html'
})
export class ParterRebateManageMentAddComponent implements OnInit {
- setValue: string = '';
- toFixedValue: Number = 2;
- radioValue = 'A';
+ configName: string = '';
+ accountingRate: Number = 2;
+ partnerPeople: any;
+ partnerPeopleList: any;
+ peopleStatus: boolean = true;
+ configType = '1';
precision = 2;
inputValue = '';
+ @ViewChild('st', { static: true })
+ st!: STComponent;
@ViewChild('sf', { static: false }) sf!: SFComponent;
schema1!: SFSchema;
constructor(
@@ -37,6 +43,27 @@ export class ParterRebateManageMentAddComponent implements OnInit {
private modal: NzModalService,
public shipperservice: ShipperBaseService
) {}
+ columns: STColumn[] = [
+ {
+ title: '合伙人名称',
+ index: 'enterpriseName',
+ width: 180,
+ format: item => (item.partnerType ? `${item.enterpriseName || item.contactName}` : '')
+ },
+ { title: '联系人', index: 'contactName', width: 150, format: item => (item.partnerType ? `${item.contactName}` : '') },
+ { title: '手机号', index: 'contactMobile', className: 'text-center', width: 150 },
+ { title: '类型', index: 'partnerType', className: 'text-center', width: 130, type: 'enum', enum: { 1: '企业', 2: '个人' } },
+ {
+ title: '操作', width: '90px', fixed: 'right',
+ buttons: [
+ {
+ text: '移除',
+ click: _record => this.delete(_record),
+ acl: { ability: ['AbnormalAppear-reply'] }
+ },
+ ]
+ },
+ ];
initSF(data?: any) {
this.schema1 = {
properties: {
@@ -63,21 +90,46 @@ export class ParterRebateManageMentAddComponent implements OnInit {
window.history.go(-1);
}
/**
- *申请退款
+ *合伙人选择
*/
add(item?: any) {
const modalRef = this.modal.create({
- nzTitle: '申请退款',
+ nzTitle: '合伙人选择',
+ nzWidth: 1000,
nzContent: ParterRebateManageMentAddPartnerListComponent,
nzComponentParams: {
i: item,
},
nzFooter: null
});
- modalRef.afterClose.subscribe((res: boolean) => {
+ modalRef.afterClose.subscribe((res: any) => {
if (res) {
-
+ console.log(Array.isArray(res));
+ console.log(res);
+ if(Array.isArray(res)) {
+ this.partnerPeopleList = res;
+ this.peopleStatus = false
+ } else {
+ this.partnerPeople = res?.enterpriseName;
+ }
}
});
}
+ delete(item: any) {
+ console.log(item);
+ }
+ save () {
+ const params = {
+ accountingRate: this.accountingRate,
+ configName: this.configName,
+ configType: this.configType,
+ rebateConfigLineDTO: {}
+ }
+ this.service.request(this.service.$api_save_rebateConfig, params).subscribe((res: any) => {
+ if(res) {
+ console.log(res);
+
+ }
+ })
+ }
}
diff --git a/src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.ts b/src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.ts
index 3c4cd8df..7baea11d 100644
--- a/src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.ts
+++ b/src/app/routes/partner/rebate-management/components/rebate-setting/rebate-setting.component.ts
@@ -166,7 +166,7 @@ export class ParterRebateManageMentSettingComponent implements OnInit {
});
}
configAction() {
- this.router.navigate(['/partner/rebate/setting/add', ''])
+ this.router.navigate(['/partner/rebate/setting/add/', 1])
}
/**
* 重置表单
diff --git a/src/app/routes/partner/rebate-management/services/rebate-management.service.ts b/src/app/routes/partner/rebate-management/services/rebate-management.service.ts
index c7dd9b2e..2049cbba 100644
--- a/src/app/routes/partner/rebate-management/services/rebate-management.service.ts
+++ b/src/app/routes/partner/rebate-management/services/rebate-management.service.ts
@@ -19,6 +19,10 @@ export class RebateManagementService extends BaseService {
public $api_get_listCompliancePage = '/api/sdc/billRiskOperate/listRiskPage';
// 查询返佣配置表
public $api_get_rebateConfig = '/api/mdc/rebateConfig/list/page';
+ // 保存返佣配置表
+ public $api_save_rebateConfig = '/api/mdc/rebateConfig/save';
+ // 查询合伙人信息-分页
+ public $api_get_partner_page = '/api/mdc/partner/list/page';
constructor(public injector: Injector) {
super(injector);
}
diff --git a/src/app/shared/components/rebate-table/rebate-table.component.html b/src/app/shared/components/rebate-table/rebate-table.component.html
index d8912be8..2e0c766c 100644
--- a/src/app/shared/components/rebate-table/rebate-table.component.html
+++ b/src/app/shared/components/rebate-table/rebate-table.component.html
@@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2022-01-25 20:18:52
* @LastEditors : Shiming
- * @LastEditTime : 2022-03-21 14:14:06
+ * @LastEditTime : 2022-03-28 20:26:30
* @FilePath : \\tms-obc-web\\src\\app\\shared\\components\\rebate-table\\rebate-table.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
@@ -37,7 +37,7 @@
-
+
@@ -46,7 +46,7 @@
-
@@ -56,7 +56,7 @@
-
+
@@ -64,7 +64,7 @@
|
-
diff --git a/src/app/shared/components/rebate-table/rebate-table.component.ts b/src/app/shared/components/rebate-table/rebate-table.component.ts
index e8699d14..5274f3b1 100644
--- a/src/app/shared/components/rebate-table/rebate-table.component.ts
+++ b/src/app/shared/components/rebate-table/rebate-table.component.ts
@@ -10,7 +10,14 @@ import { SFComponent, SFSchema, SFUISchema } from '@delon/form';
styleUrls: ['./rebate-table.component.less']
})
export class RebateTableComponent implements OnInit {
- data: any[] = [];
+ data: any[] = [
+ {
+ gradeConfigId: '',
+ startAmount: 0,
+ endAmount: 0,
+ managementFeeRatio: 0,
+ }
+ ];
headers: any[] = [];
formatterDollar = (value: number): string => `${value}`;
changeSub = new Subject();
@@ -18,70 +25,57 @@ export class RebateTableComponent implements OnInit {
ngOnInit(): void {
this.loadData();
- this.changeEndKmAction();
+ this.changeendAmountAction();
}
loadData() {
- this.service.request('/api/mdc/cuc/insuranceConfig/list').subscribe(res => {
- if (res) {
- console.log(res);
- this.data = res;
- this.cdr.detectChanges();
- }
- });
- this.service.request('/api/mdc/pbc/sysConfigItem/findItemValueByItemKeys', [
- "rebate.config.minrebatePrice"
- ]).subscribe(res => {
- if (res) {
- console.log(res);
- }
- });
+ // this.service.request('/api/mdc/cuc/insuranceConfig/list').subscribe(res => {
+ // if (res) {
+ // console.log(res);
+ // this.data = res;
+ // this.cdr.detectChanges();
+ // }
+ // });
+ // this.service.request('/api/mdc/pbc/sysConfigItem/findItemValueByItemKeys', [
+ // "rebate.config.minrebatePrice"
+ // ]).subscribe(res => {
+ // if (res) {
+ // console.log(res);
+ // }
+ // });
}
- /**
- * 修改结束车长
- * @param event 车长
- * @param i 下标
- */
- changeEndLength(event: any, i: number) {
- if (event <= this.headers[i].startLength) {
- this.headers[i].endLength = this.headers[i].startLength + 1;
- this.changeNextStartLength(event, i + 1);
- return;
- }
- this.headers[i].endLength = event;
- this.changeNextStartLength(event, i + 1);
- }
+
/**
* 修改结束公里数
* @param event 车长
* @param i 下标
*/
- changeEndKm(event: any, i: number) {
+ changeendAmount(event: any, i: number) {
if (event) {
console.log(event);
this.changeSub.next(`${event},${i}`);
}
}
- changeEndKmAction() {
+ changeendAmountAction() {
this.changeSub.pipe(debounceTime(500)).subscribe((res: string) => {
if (res) {
const paras = res.split(',');
const num = Number(paras[0]);
const i = Number(paras[1]);
- if (num <= this.data[i].startKm) {
- this.data[i].endKm = null;
+ if (num <= this.data[i].startAmount) {
+ this.data[i].endAmount = null;
setTimeout(() => {
- this.data[i].endKm = this.data[i].startKm + 1 ;
+ this.data[i].endAmount = this.data[i].startAmount + 1 ;
}, 0);
- this.changeNextStartKm(this.data[i].startKm + 1, i + 1);
+ this.changeNextstartAmount(this.data[i].startAmount + 1, i + 1);
return;
}
- this.data[i].endKm = num;
- this.changeNextStartKm(num, i + 1);
+ this.data[i].endAmount = num;
+ this.changeNextstartAmount(num, i + 1);
}
});
}
@@ -90,14 +84,14 @@ export class RebateTableComponent implements OnInit {
console.log(this.data);
const tem = this.data[this.data?.length - 1];
- if (tem && tem.endKm) {
+ if (tem) {
this.data.push({
- endKm: '',
- startKm: tem.endKm
+ gradeConfigId: '',
+ startAmount: 0,
+ endAmount: 0,
+ managementFeeRatio: 0,
});
this.data = [...this.data];
- } else {
- this.service.msgSrv.warning('请填写完整公里数');
}
}
@@ -125,32 +119,18 @@ export class RebateTableComponent implements OnInit {
});
}
- /**
- * 遍历同步后置位车长
- * @param event 车长
- * @param i 下标
- */
- private changeNextStartLength(event: number, i: number) {
- if (this.headers[i]) {
- this.headers[i].startLength = event;
- if (this.headers[i].endLength <= event) {
- this.headers[i].endLength = this.headers[i].startLength + 0.5;
- this.changeNextStartLength(event + 0.5, i + 1);
- }
- }
- }
/**
* 遍历同步后置位公里数
* @param event 车长
* @param i 下标
*/
- private changeNextStartKm(event: number, i: number) {
+ private changeNextstartAmount(event: number, i: number) {
if (this.data[i]) {
- this.data[i].startKm = event;
- if (this.data[i].endKm <= event) {
- this.data[i].endKm = this.data[i].startKm + 1;
- this.changeNextStartKm(event + 1, i + 1);
+ this.data[i].startAmount = event;
+ if (this.data[i].endAmount <= event) {
+ this.data[i].endAmount = this.data[i].startAmount + 1;
+ this.changeNextstartAmount(event + 1, i + 1);
}
}
}
| | |