This commit is contained in:
wangshiming
2022-04-26 20:18:05 +08:00
parent e64feb0246
commit 48a7d1e5dd
2 changed files with 138 additions and 166 deletions

View File

@ -13,14 +13,14 @@
<h3 style="font-weight: 600">提现手续费配置</h3> <h3 style="font-weight: 600">提现手续费配置</h3>
<div nz-row nzGutter="8"> <div nz-row nzGutter="8">
<div nz-col nzSpan="24" se-container [labelWidth]="125" [se-container]="1"> <div nz-col nzSpan="24" se-container [labelWidth]="125" [se-container]="1">
<se label="个人提现手续费" style="margin-bottom: 0"> <se label="个人提现手续费" style="margin:15px 0 0 0">
<div> <div>
按照提现金额收取 按照提现金额收取
<nz-input-number [(ngModel)]="personValue" [nzMin]="0" [nzMax]="100" [nzPrecision]="2" [nzStep]="0.01"></nz-input-number> <nz-input-number [(ngModel)]="personValue" [nzMin]="0" [nzMax]="100" [nzPrecision]="2" [nzStep]="0.01"></nz-input-number>
<span> %手续费 </span> <span> %手续费 </span>
</div> </div>
</se> </se>
<se label="企业提现手续费" style="margin:15 0 0 0;"> <se label="企业提现手续费" style="margin:15px 0 0 0;">
<div> <div>
按照提现金额收取 按照提现金额收取
<nz-input-number <nz-input-number
@ -35,16 +35,16 @@
</se> </se>
</div> </div>
</div> </div>
<h3 style="font-weight: 600" class="mb-md">合伙人提现配置</h3> <h3 style="font-weight: 600;margin:15px 0 0 0;" class="mb-md">合伙人提现配置</h3>
<div nz-row nzGutter="8" class="audit"> <div nz-row nzGutter="8" class="audit">
<div nz-col nzSpan="24" se-container> <div nz-col nzSpan="24" se-container>
<se label="提现审核" style="margin-bottom: 0"> <se label="提现审核" style="margin:15px 0 0 0;">
<nz-radio-group [(ngModel)]="auditValue"> <nz-radio-group [(ngModel)]="auditValue">
<label nz-radio [nzValue]="false" class="mt-sm">关闭</label> <label nz-radio [nzValue]="false" class="mt-sm">关闭</label>
<label nz-radio [nzValue]="true" class="mt-sm">开启</label> <label nz-radio [nzValue]="true" class="mt-sm">开启</label>
</nz-radio-group> </nz-radio-group>
</se> </se>
<se label="审核时间" style="margin-bottom: 0"> <se label="审核时间" style="margin:15px 0 0 0;">
<div se-container [se-container]="1" style="margin-left: 0px"> <div se-container [se-container]="1" style="margin-left: 0px">
<nz-radio-group style="display: block" [(ngModel)]="auditTime" (ngModelChange)="changeAuto(auditTime)"> <nz-radio-group style="display: block" [(ngModel)]="auditTime" (ngModelChange)="changeAuto(auditTime)">
<label nz-radio [nzValue]="1" class="mt-sm">全天</label> <label nz-radio [nzValue]="1" class="mt-sm">全天</label>
@ -57,7 +57,7 @@
</div> </div>
</div> </div>
</div> </div>
<h3 style="font-weight: 600" class="mb-md">客户定义配置</h3> <h3 style="font-weight: 600;margin:15px 0 0 0;" class="mb-md">客户定义配置</h3>
<div nz-row nzGutter="8"> <div nz-row nzGutter="8">
<div nz-col nzSpan="24"> <div nz-col nzSpan="24">
<span>客户</span> <span>客户</span>
@ -67,7 +67,7 @@
<div nz-col nzSpan="24" style="margin-top: 10px;"> <div nz-col nzSpan="24" style="margin-top: 10px;">
<span>客户</span> <span>客户</span>
<nz-input-number style="margin: 0 10px; " [(ngModel)]="personValue" [nzMin]="0" [nzMax]="3000" [nzPrecision]="2" [nzStep]="0.1"></nz-input-number> <nz-input-number style="margin: 0 10px; " [(ngModel)]="personValue" [nzMin]="0" [nzMax]="3000" [nzPrecision]="2" [nzStep]="0.1"></nz-input-number>
<span>天内没有交易订单的视为“沉默客户”</span> <span>天内没有交易订单的视为“流失客户”</span>
</div> </div>
<div nz-col nzSpan="24"> <div nz-col nzSpan="24">
<span style="color: #797979; font-size: 14px;">说明:交易订单指从司机已接单开始的订单。</span> <span style="color: #797979; font-size: 14px;">说明:交易订单指从司机已接单开始的订单。</span>
@ -76,8 +76,7 @@
</nz-card> </nz-card>
<nz-card class="card-height" [nzBordered]="null" nzSize="small" *ngIf="selectedTab === 1"> <nz-card class="card-height" [nzBordered]="null" nzSize="small" *ngIf="selectedTab === 1">
<h2 style="font-weight: 800">司机端配置</h2> <h3 style="font-weight: 600;">邀请合伙人</h3>
<h3 style="font-weight: 600; margin-left: 120px">图片配置</h3>
<sf <sf
style="margin-left: 14px" style="margin-left: 14px"
#sf #sf
@ -86,81 +85,24 @@
[schema]="schema" [schema]="schema"
[ui]="{ '*': { spanLabelFixed: 200, grid: { span: 24 } } }" [ui]="{ '*': { spanLabelFixed: 200, grid: { span: 24 } } }"
button="none" button="none"
>
</sf>
<h3 style="font-weight: 600;">邀请客户</h3>
<sf
style="margin-left: 14px"
#sf2
mode="default"
[formData]="i"
[schema]="schema2"
[ui]="{ '*': { spanLabelFixed: 200, grid: { span: 24 } } }"
button="none"
> >
<ng-template sf-template="start" let-me let-ui="ui" let-schema="schema"> </ng-template> <ng-template sf-template="start" let-me let-ui="ui" let-schema="schema"> </ng-template>
<template id="tpl"> <template id="tpl">
<span>so good </span> <span>so good </span>
</template> </template>
<ng-template sf-template="time2" let-me let-ui="ui" let-schema="schema">
<div class="text-left">可输入字符</div>
<nz-range-picker extend nzFormat="HH:mm:ss"></nz-range-picker>
</ng-template>
</sf> </sf>
<h3 style="font-weight: 600; margin-left: 140px" class="mb-md">短信配置</h3>
<div nz-row nzGutter="8">
<div nz-col nzSpan="24" se-container [labelWidth]="80" [se-container]="1">
<se label="短信内容设置" style="margin-bottom: 0">
<p style="margin-top: 6px">配置用户端登陆页注册帐号、修改密码、修改手机号时的短信内容</p>
<textarea
nz-input
rows="4"
placeholder="【运多星】您的验证码XXXXXX。有效期10分钟请及时输入请勿向他人泄露您的验证码。如非本人操作请忽略。"
style="width: 400px"
></textarea>
</se>
</div>
</div>
<h3 style="font-weight: 600; margin-left: 140px" class="mb-md">通知配置</h3>
<div nz-row nzGutter="8">
<div nz-col nzSpan="24">
<div se-container [labelWidth]="0" [se-container]="1">
<se class="mb-sm">
<nz-radio-group [(ngModel)]="formDate.isAudit">
<label nz-radio [nzValue]="false" class="mt-sm">到期系统通知</label>
<label nz-radio [nzValue]="true" class="mt-sm">短信通知</label>
</nz-radio-group>
</se>
<se label="司机驾驶证证审核" class="mb-sm">
<nz-radio-group [(ngModel)]="formDate.isAudit">
<label nz-radio [nzValue]="false" class="mt-sm">审核通过系统通知</label>
<label nz-radio [nzValue]="true" class="mt-sm">短信通知</label>
</nz-radio-group>
</se>
<se class="mb-sm">
<nz-radio-group [(ngModel)]="formDate.isAudit">
<label nz-radio [nzValue]="false" class="mt-sm">审核驳回系统通知</label>
<label nz-radio [nzValue]="true" class="mt-sm">短信通知</label>
</nz-radio-group>
</se>
<se class="mb-sm">
<nz-radio-group [(ngModel)]="formDate.isAudit">
<label nz-radio [nzValue]="false" class="mt-sm">到期系统通知</label>
<label nz-radio [nzValue]="true" class="mt-sm">短信通知</label>
</nz-radio-group>
</se>
</div>
</div>
</div>
<h3 style="font-weight: 600; margin-left: 140px" class="mt-md">客服电话配置</h3>
<div nz-row nzGutter="8">
<div nz-col nzSpan="24" se-container [labelWidth]="80">
<se label="客服电话">
<input nz-input style="width: 325px" />
</se>
</div>
</div>
<h3 style="font-weight: 600; margin-left: 140px" class="mt-md">证件提醒配置</h3>
<div nz-row nzGutter="8">
<div nz-col nzSpan="24" se-container [labelWidth]="80" [se-container]="1">
<se label="证件临期提醒" style="margin-bottom: 0">
距离到期时间
<input type="number" nz-input style="width: 40px" />
天开始提醒,每隔
<input type="number" nz-input style="width: 40px" />
天提醒一次
</se>
</div>
</div>
</nz-card> </nz-card>
<div class="mb-md save-btn"> <div class="mb-md save-btn">

View File

@ -1,8 +1,23 @@
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { SFComponent, SFSchema, SFUploadWidgetSchema } from '@delon/form'; import { SFComponent, SFSchema, SFUploadWidgetSchema } from '@delon/form';
import { Observable, Observer } from 'rxjs'; import { NzUploadFile } from 'ng-zorro-antd/upload';
import { Observable, Observer, of } from 'rxjs';
import { ConfigService } from '../../services/config.service'; import { ConfigService } from '../../services/config.service';
import { apiConf } from '@conf/api.conf';
const IMAGECONFIG = {
previewFile: (file: NzUploadFile) => of(file.url),
action: apiConf.waterFileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
fileSize: 5120,
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
widget: 'upload',
name: 'multipartFile',
multiple: false,
listType: 'picture-card'
} as SFUploadWidgetSchema;
@Component({ @Component({
selector: 'app-parterl-config', selector: 'app-parterl-config',
templateUrl: './config.component.html', templateUrl: './config.component.html',
@ -10,6 +25,7 @@ import { ConfigService } from '../../services/config.service';
}) })
export class PartnerSystemConfigComponent implements OnInit { export class PartnerSystemConfigComponent implements OnInit {
@ViewChild('sf', { static: false }) sf!: SFComponent; @ViewChild('sf', { static: false }) sf!: SFComponent;
@ViewChild('sf2', { static: false }) sf2!: SFComponent;
formDate: any = { formDate: any = {
isAudit: false, isAudit: false,
isEveryDay: false, isEveryDay: false,
@ -62,21 +78,23 @@ export class PartnerSystemConfigComponent implements OnInit {
i: any; i: any;
schema!: SFSchema; schema!: SFSchema;
schema2!: SFSchema;
imageConfig = { // IMAGECONFIG = {
widget: 'upload', // widget: 'upload',
action: `/scm/cms/cms/upload/multipartFile/fileModel`, // action: `/scm/cms/cms/upload/multipartFile/fileModel`,
limit: 1, // limit: 1,
limitFileCount: 1, // limitFileCount: 1,
resReName: 'url', // resReName: 'url',
urlReName: 'url', // urlReName: 'url',
data: { // data: {
appId: this.service.envSrv.getEnvironment().appId // appId: this.service.envSrv.getEnvironment().appId
}, // },
multiple: false, // multiple: false,
listType: 'picture-card', // listType: 'picture-card',
showRequired: true // showRequired: true
}; // };
constructor(private service: ConfigService) {} constructor(private service: ConfigService) {}
ngOnInit() { ngOnInit() {
@ -155,105 +173,117 @@ export class PartnerSystemConfigComponent implements OnInit {
this.schema = { this.schema = {
properties: { properties: {
sysMinLogo: { roadTransportPhoto: { title: '', type: 'string', ui: { hidden: true } },
roadTransportPhotoWatermark: {
type: 'string', type: 'string',
title: '系统LOGO(小)', title: '分享海报',
// enum: [],
ui: { ui: {
...this.imageConfig, ...IMAGECONFIG,
descriptionI18n: '小尺寸logo支持JPG、PNG格式文件小于2M建议尺寸32*32px。', descriptionI18n: '支持JPG、PNG格式文件小于2M建议尺寸 750px* 1624 px。',
change: args => { change: args => {
if (args.type === 'success') { if (args.type === 'success') {
const avatar = this.getImageModel(args, 'sysMinLogo'); this.sf.setValue('/roadTransportPhoto', args.fileList[0].response.data.fullFilePath);
this.sf?.setValue('/sysMinLogo', avatar);
this.i.sysMinLogo = avatar;
} }
}, },
beforeUpload: this.uploadBefore
} as SFUploadWidgetSchema } as SFUploadWidgetSchema
}, },
sysMaxLogo: { share: { title: '', type: 'string', ui: { hidden: true } },
shareWatermark: {
type: 'string', type: 'string',
title: '系统LOGO(大)', title: '分享图',
ui: { ui: {
...this.imageConfig, ...IMAGECONFIG,
descriptionI18n: '小尺寸logo支持JPG、PNG格式文件小于2M建议尺寸32*32px。', descriptionI18n: '支持JPG、PNG格式文件小于2M 建议尺寸 856px * 688px。',
change: args => { change: args => {
if (args.type === 'success') { if (args.type === 'success') {
const avatar = this.getImageModel(args, -1); this.sf.setValue('/share', args.fileList[0].response.data.fullFilePath);
this.sf?.setValue('/sysMaxLogo', avatar);
this.i.sysMaxLogo = avatar;
} }
}, },
beforeUpload: this.uploadBefore
} as SFUploadWidgetSchema } as SFUploadWidgetSchema
}, },
sysMaxLogo1: { take: { title: '', type: 'string', ui: { hidden: true } },
takeWatermark: {
type: 'string', type: 'string',
title: '用户默认头像', title: '受邀海报',
ui: { ui: {
...this.imageConfig, ...IMAGECONFIG,
descriptionI18n: '支持JPG、PNG格式文件小于2M建议尺寸60*60px。', descriptionI18n: '支持JPG、PNG格式文件小于2M建议尺寸 750px* 1624 px。',
change: args => { change: args => {
if (args.type === 'success') { if (args.type === 'success') {
const avatar = this.getImageModel(args, -1); this.sf.setValue('/take', args.fileList[0].response.data.fullFilePath);
this.sf?.setValue('/sysMaxLogo1', avatar);
this.i.sysMaxLogo1 = avatar;
} }
}, },
beforeUpload: this.uploadBefore
} as SFUploadWidgetSchema } as SFUploadWidgetSchema
}, },
sysMaxLogo2: { complianceRemark: {
title: '分享文案',
type: 'string', type: 'string',
title: '企业默认头像', maxLength: 50,
ui: { ui: {
...this.imageConfig, placeholder: '请不要超过50个字',
descriptionI18n: '支持JPG、PNG格式文件小于2M建议尺寸60*60px', widget: 'textarea',
change: args => { autosize: { minRows: 3, maxRows: 6 }
if (args.type === 'success') { }
const avatar = this.getImageModel(args, -1); }
this.sf?.setValue('/sysMaxLogo2', avatar);
this.i.sysMaxLogo2 = avatar;
}
},
beforeUpload: this.uploadBefore
} as SFUploadWidgetSchema
},
sysMaxLogo3: {
type: 'string',
title: '货主PC端登陆页海报',
ui: {
...this.imageConfig,
descriptionI18n: '支持JPG、PNG格式文件小于5M建议尺寸1920*630px。',
change: args => {
if (args.type === 'success') {
const avatar = this.getImageModel(args, -1);
this.sf?.setValue('/sysMaxLogo3', avatar);
this.i.sysMaxLogo3 = avatar;
}
},
beforeUpload: this.uploadBefore
} as SFUploadWidgetSchema
},
sysMaxLogo4: {
type: 'string',
title: 'APP开屏海报',
ui: {
...this.imageConfig,
descriptionI18n: '支持JPG、PNG格式文件小于5M建议尺寸375*773px。',
change: args => {
if (args.type === 'success') {
const avatar = this.getImageModel(args, -1);
this.sf?.setValue('/sysMaxLogo4', avatar);
this.i.sysMaxLogo4 = avatar;
}
},
beforeUpload: this.uploadBefore
} as SFUploadWidgetSchema
},
}, },
required: ['sysMinLogo', 'sysMaxLogo', 'sysMaxLogo1', 'sysMaxLogo2', 'sysMaxLogo3', 'sysMaxLogo4'] required: ['roadTransportPhotoWatermark', 'shareWatermark', 'takeWatermark', 'complianceRemark']
};
this.schema2 = {
properties: {
roadTransportPhoto: { title: '', type: 'string', ui: { hidden: true } },
roadTransportPhotoWatermark: {
type: 'string',
title: '分享海报',
ui: {
...IMAGECONFIG,
descriptionI18n: '支持JPG、PNG格式文件小于2M建议尺寸750px* 1624 px。',
change: args => {
if (args.type === 'success') {
this.sf2.setValue('/roadTransportPhoto', args.fileList[0].response.data.fullFilePath);
}
},
} as SFUploadWidgetSchema
},
share: { title: '', type: 'string', ui: { hidden: true } },
shareWatermark: {
type: 'string',
title: '分享图',
ui: {
...IMAGECONFIG,
descriptionI18n: '支持JPG、PNG格式文件小于2M建议尺寸 856px * 688px。',
change: args => {
if (args.type === 'success') {
this.sf2.setValue('/share', args.fileList[0].response.data.fullFilePath);
}
},
} as SFUploadWidgetSchema
},
take: { title: '', type: 'string', ui: { hidden: true } },
takeWatermark: {
type: 'string',
title: '受邀海报',
ui: {
...IMAGECONFIG,
descriptionI18n: '支持JPG、PNG格式文件小于2M建议尺寸750px* 1624 px。',
change: args => {
if (args.type === 'success') {
this.sf2.setValue('/take', args.fileList[0].response.data.fullFilePath);
}
},
} as SFUploadWidgetSchema
},
complianceRemark: {
title: '分享文案',
type: 'string',
maxLength: 50,
ui: {
placeholder: '请不要超过50个字',
widget: 'textarea',
autosize: { minRows: 3, maxRows: 6 }
}
}
},
required: ['roadTransportPhotoWatermark', 'shareWatermark', 'takeWatermark', 'complianceRemark']
}; };
} }
private uploadBefore = (file: any, fileList: any) => { private uploadBefore = (file: any, fileList: any) => {