This commit is contained in:
Taric Xin
2022-04-26 13:27:42 +08:00
13 changed files with 215 additions and 202 deletions

View File

@ -166,15 +166,6 @@ export class WithdrawalsRecordComponent extends BasicTableComponent {
placeholder: '请输入'
}
},
// refundStatus: {
// type: 'string',
// title: '提现状态',
// ui: {
// widget: 'dict-select',
// params: { dictKey: 'refund:apply:status' },
// placeholder: '请选择'
// }
// },
createTime: {
title: '提现时间',
type: 'string',
@ -195,10 +186,14 @@ export class WithdrawalsRecordComponent extends BasicTableComponent {
accountType: {
type: 'string',
title: '账户类型',
enum: [
{label: '全部', value: ''},
{label: '个人合伙人', value: '4'},
{label: '企业合伙人', value: '5'}
],
ui: {
widget: 'dict-select',
params: { dictKey: 'bank:type' },
placeholder: '请选择'
widget: 'select',
placeholder: '请选择',
}
},
ltdId: {

View File

@ -236,9 +236,13 @@ export class PartnerAccountManagementWithdrawalsRecordComponent implements OnIni
accountType: {
type: 'string',
title: '账户类型',
enum: [
{label: '全部', value: ''},
{label: '个人合伙人', value: '4'},
{label: '企业合伙人', value: '5'}
],
ui: {
widget: 'dict-select',
params: { dictKey: 'bank:type' },
widget: 'select',
placeholder: '请选择',
visibleIf: {
expand: (value: boolean) => value

View File

@ -33,12 +33,25 @@ export class ParterChannelSalesEditComponent implements OnInit {
if(!this.sts) {
this.service.request(this.service.$api_getChannelSalesInfo, {id:this.i?.id}).subscribe(res => {
if(res){
this.record = res;
this.initSF();
let value1 = Object.assign({}, res)
delete value1.employeeVO;
this.record = value1;
console.log(value1);
console.log(this.record);
let value = res.employeeVO;
let yeeVO = {label: value.empName+"/"+value.empNo, value: value.empNo}
console.log(yeeVO);
setTimeout(()=>{
this.sf.getProperty('/employeeVO')!.schema.enum = [yeeVO];
this.sf.getProperty('/employeeVO')!.widget.reset([yeeVO]);
})
this.initSF();
}
});
}
this.initSF();
}
initSF() {

View File

@ -1,3 +1,13 @@
<!--
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-04-21 13:49:22
* @LastEditors : Shiming
* @LastEditTime : 2022-04-26 09:47:43
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\channel-sales\\components\\list\\list.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<nz-card>
<!-- 搜索区 -->
<sf
@ -16,6 +26,7 @@
<st
#st
[data]="service.$api_getPage"
[scroll]="{x: '1200px'}"
[columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"

View File

@ -64,46 +64,65 @@ export class ParterChannelSalesListComponent implements OnInit {
this.columns = [
{
title: '销售渠道姓名',
index: 'name'
index: 'name',
width: '180px'
},
{
title: '手机号',
index: 'telephone'
index: 'telephone',
width: '150px'
},
{
title: '关联OA员工姓名',
index: 'empName',
width: '150px'
},
{
title: '关联OA员工手机号',
index: 'mobile',
width: '180px'
},
{
title: '所属组织',
index: 'organLable'
index: 'organLable',
width: '300px'
},
{
title: '职级',
index: 'station'
index: 'station',
width: '150px'
},
{
title: '等级',
index: 'postLevel'
index: 'postLevel',
width: '150px'
},
{
title: '省市',
index: 'residencePlace'
index: 'residencePlace',
width: '150px'
},
{
title: '邀请码',
index: 'inviteCode'
index: 'inviteCode',
width: '150px'
},
{
title: '状态',
className: 'text-center',
index: 'stateLocked',
type: 'badge',
width: '150px',
badge: {
true: { text: '冻结', color: 'error' },
false: { text: '正常', color: 'success' }
},
width: 130
},
{
title: '操作',
className: 'text-center',
width: '120px',
fixed: 'right',
buttons: [
{
text: '编辑',

View File

@ -4,24 +4,24 @@
* @Author : Shiming
* @Date : 2022-02-24 20:09:49
* @LastEditors : Shiming
* @LastEditTime : 2022-04-24 13:42:10
* @LastEditTime : 2022-04-26 10:53:50
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add\\add.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<page-header-wrapper [title]="'新增'"> </page-header-wrapper>
<page-header-wrapper [title]="titleText"> </page-header-wrapper>
<nz-card>
<!-- 数据列表 -->
<sv-container col="1">
<sv label="配置名称"> <input style="max-width: 400px;" nz-input placeholder="请输入" [(ngModel)]="configName" /></sv>
<sv label="配置名称"> <input style="max-width: 400px;" nz-input placeholder="请输入" [disabled]="hiden" [(ngModel)]="configName" /></sv>
<sv-title>固定结算费率配置</sv-title>
<sv label="固定结算费率"> <nz-input-number [(ngModel)]="accountingRate" [nzPrecision]="precision" nzPlaceHolder="请输入"></nz-input-number>&nbsp;%</sv>
<sv label="固定结算费率"> <nz-input-number [disabled]="hiden" [(ngModel)]="accountingRate" [nzPrecision]="precision" nzPlaceHolder="请输入"></nz-input-number>&nbsp;%</sv>
<sv-title>业务量和管理费比例配置</sv-title>
<sv label="选择配置类型">
<nz-radio-group [(ngModel)]="configType">
<nz-radio-group [(ngModel)]="configType" [disabled]="hiden" >
<label nz-radio nzValue="1">按全部等级配置</label>
<label nz-radio nzValue="2">按不同等级配置</label>
</nz-radio-group>
@ -36,7 +36,7 @@
<sv-title>关联合伙人配置</sv-title>
<sv label="合伙人选择">
<nz-select [(ngModel)]="partnerType" (ngModelChange)="changePartner(partnerType)" style="max-width: 400px; min-width: 200px;">
<nz-select [(ngModel)]="partnerType" [disabled]="hiden" (ngModelChange)="changePartner(partnerType)" style="max-width: 400px; min-width: 200px;">
<nz-option nzValue="1" nzLabel="全部合伙人"></nz-option>
<nz-option nzValue="2" nzLabel="新注册合伙人"></nz-option>
<nz-option nzValue="3" nzLabel="自定义合伙人"></nz-option>
@ -51,7 +51,7 @@
</sv>
<sv label="优先级" col="1">
<nz-select [(ngModel)]="priority" style="max-width: 400px; min-width: 200px;">
<nz-select [(ngModel)]="priority" [disabled]="hiden" style="max-width: 400px; min-width: 200px;margin-left: 28px;">
<nz-option nzValue=1 nzLabel="1">1</nz-option>
<nz-option nzValue=2 nzLabel="2">2</nz-option>
<nz-option nzValue=3 nzLabel="3">3</nz-option>
@ -60,18 +60,18 @@
</nz-select>
</sv>
<sv label="规则说明" col="1">
<sf #sf mode="edit" [schema]="schema1" [ui]="{ '*': { spanLabelFixed: 10, grid: { span: 12 }} }"
<sv label="规则说明" col="1" >
<sf #sf mode="edit" [disabled]="hiden" [formData]="formData" [schema]="schema1" [ui]="{ '*': { spanLabelFixed: 10, grid: { span: 12 }} }"
button="none"> </sf>
</sv>
<sv label="备注" col="1" style="margin-top: 16px;">
<textarea style="max-width: 400px; min-width: 200px;" rows="4" nz-input [(ngModel)]="remarke"></textarea>
<textarea [disabled]="hiden" style="max-width: 400px; min-width: 200px;margin-left: 40px;" rows="4" nz-input [(ngModel)]="remarke"></textarea>
</sv>
</sv-container>
<div class="align-center" style="margin-top: 15px;">
<div class="align-center" style="margin-top: 15px;" *ngIf="!hiden">
<button nz-button nzType="primary" (click)="goBack()">取消</button>
<button nz-button nzType="primary" style="margin-left: 48px" (click)="save()"
acl [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交</button

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2022-03-21 09:26:45
* @LastEditors : Shiming
* @LastEditTime : 2022-04-22 15:01:43
* @LastEditTime : 2022-04-26 11:04:46
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add\\add.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@ -23,8 +23,11 @@ import { ParterRebateManageMentAddPartnerListComponent } from '../add-partnerlis
})
export class ParterRebateManageMentAddComponent implements OnInit {
@ViewChild('table') table!: any;
titleText :string= '新增';
tabelData: any;
formData: any;
addStatus: boolean = false;
hiden: boolean = false;
configName: string = '';
partnerType: string = '';
remarke: string = '';
@ -46,36 +49,16 @@ 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'] }
}
]
}
];
columns: STColumn[] =[]
initSF(data?: any) {
this.schema1 = {
properties: {
ruleDescription: {
type: 'string',
title: '',
disabled: this.hiden,
ui: {
widget: 'tinymce',
loadingTip: 'loading...',
config: {
@ -86,8 +69,42 @@ export class ParterRebateManageMentAddComponent implements OnInit {
}
}
};
this.columns= [
{
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),
iif: ()=> {
console.log(this.hiden);
return !this.hiden
},
acl: { ability: ['AbnormalAppear-reply'] }
}
]
}
];
}
ngOnInit() {
console.log(this.ar.snapshot.queryParams.id);
if(this.ar.snapshot?.queryParams?.id) {
this.titleText= '查看'
this.hiden= true
this.initSF();
this.initData(this.ar.snapshot?.queryParams?.id);
}
this.addStatus = false;
this.initSF();
}
@ -131,13 +148,16 @@ export class ParterRebateManageMentAddComponent implements OnInit {
});
}
save() {
console.log(this.partnerId);
console.log(this.partnerId.join(','));
const params = {
accountingRate: this.accountingRate,
configName: this.configName,
configType: this.configType,
rebateConfigLineDTO: this.table.data,
priority: this.priority, // 优先级
partnerId: this.partnerId.join(','),
partnerIds: this.partnerId,
ruleDescription: this.sf.value.ruleDescription,
remarke: this.remarke,
partnerType: this.partnerType
@ -151,10 +171,29 @@ export class ParterRebateManageMentAddComponent implements OnInit {
}
});
}
initData(id:string) {
this.service.request(this.service.$api_get_getPartnerRebateConfigInfo, {id: id}).subscribe((res: any) => {
console.log(res);
if(res) {
this.configName = res?.configName;
this.accountingRate = res?.accountingRate;
this.accountingRate = res?.accountingRate;
this.configType = res?.configType + '';
this.tabelData = res?.partnerRebateConfigLineVOList;
this.partnerType = res?.partnerType + '';
this.partnerPeopleList = res?.partnerListVOs;
this.priority = res?.priority + '';
this.formData = {ruleDescription: res?.ruleDescription};
this.remarke = res.remark;
}
})
}
changePartner(value: any) {
console.log(value);
if (value) {
if (value == '3') {
this.addStatus = true;
} else {
this.addStatus = false;
}
}
}

View File

@ -120,12 +120,12 @@ export class ParterRebateManageMentSettingComponent implements OnInit {
{
title: '操作',
fixed: 'right',
width: '90px',
width: '120px',
className: 'text-left',
buttons: [
{
text: '查看',
click: _record => this.viewEvaluate(_record),
click: _record => this.configAction(_record),
},
{
text: '禁用',
@ -187,8 +187,8 @@ export class ParterRebateManageMentSettingComponent implements OnInit {
}
});
}
configAction() {
this.router.navigate(['/partner/rebate/setting/add/', 1])
configAction(value?: any) {
this.router.navigate(['/partner/rebate/setting/add/', '0'], {queryParams: value})
}
/**
* 重置表单

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2022-03-10 11:19:00
* @LastEditors : Shiming
* @LastEditTime : 2022-03-29 11:26:38
* @LastEditTime : 2022-04-25 19:23:25
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\services\\rebate-management.service.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@ -27,6 +27,8 @@ export class RebateManagementService extends BaseService {
// 运营端查询合伙人返佣
public $api_get_getIncomeByBillpage = '/api/bpc/partnerIncomeHead/getIncomeByBillpage';
// 获取返佣模板信息
public $api_get_getPartnerRebateConfigInfo = '/api/mdc/rebateConfig/getPartnerRebateConfigInfo';
  // 查询合伙人信息-分页
public $api_get_partner_page = '/api/mdc/partner/list/page';
constructor(public injector: Injector) {

View File

@ -11,41 +11,43 @@
<div nz-col nzSpan="20" style="overflow: scroll">
<nz-card class="card-height" [nzBordered]="null" nzSize="small" *ngIf="selectedTab===0 ">
<h2 style="font-weight: 800;">货主端配置</h2>
<h3 style="font-weight: 600;margin-left: 120px;">图片配置</h3>
<sf style="margin-left: 30px" #sf 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>
<template id="tpl">
<span>so good </span>
</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>
<h3 style="font-weight: 600;margin-left: 140px;" class="mb-md">短信配置</h3>
<h3 style="font-weight: 600;">提现手续费配置</h3>
<div nz-row nzGutter="8">
<div nz-col nzSpan="24" se-container [labelWidth]="230" [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 label="个人提现手续费" style="margin-bottom: 0;">
<div>
按照提现金额收取
<nz-input-number [(ngModel)]="personValue" [nzMin]="0" [nzMax]="100" [nzPrecision]='2' [nzStep]="0.01"></nz-input-number>
<span>
%手续费
</span>
</div>
</se>
<se label="企业提现手续费" style="margin-bottom: 0;">
<div>
按照提现金额收取
<nz-input-number [(ngModel)]="enterpriseValue" [nzMin]="0" [nzMax]="100" [nzPrecision]='2' [nzStep]="0.01"></nz-input-number>
<span>
%手续费
</span>
</div>
</se>
</div>
</div>
<h3 style="font-weight: 600;margin-left: 140px;" class="mb-md">通知配置</h3>
<h3 style="font-weight: 600;" class="mb-md">合伙人提现配置</h3>
<div nz-row nzGutter="8">
<div nz-col nzSpan="24">
<ng-container *ngTemplateOutlet="textMessage;context:{$implicit: 'World', title:'用户实名认证审核'}">
</ng-container>
<ng-container *ngTemplateOutlet="textMessage;context:{$implicit: 'World', title: '企业认证审核'}">
<div nz-col nzSpan="24" se-container>
<se label="提现审核" style="margin-bottom: 0;">
<nz-radio-group [(ngModel)]="auditValue">
<label nz-radio [nzValue]="false" class="mt-sm">关闭</label>
<label nz-radio [nzValue]="true" class="mt-sm">开启</label>
</nz-radio-group>
</se>
<ng-container *ngTemplateOutlet="auditTimes;context:{$implicit: 'auto', title:'审核时间'}">
</ng-container>
</div>
</div>
<h3 style="font-weight: 600;margin-left: 140px;" class="mb-md">客服电话配置</h3>
<h3 style="font-weight: 600;" class="mb-md">客服电话配置</h3>
<div nz-row nzGutter="8">
<div nz-col nzSpan="24" se-container [labelWidth]="230">
<se label="客服电话" style="margin-bottom: 0;">
@ -84,10 +86,6 @@
<h3 style="font-weight: 600;margin-left: 140px;" class="mb-md">通知配置</h3>
<div nz-row nzGutter="8">
<div nz-col nzSpan="24">
<ng-container *ngTemplateOutlet="textMessage;context:{$implicit: 'World', title:'司机实名认证审核'}">
</ng-container>
<ng-container *ngTemplateOutlet="textMessage;context:{$implicit: 'World', title: '司机驾驶证证审核'}">
</ng-container>
<div se-container [labelWidth]="230" [se-container]="1">
<se class="mb-sm">
<nz-radio-group [(ngModel)]="formDate.isAudit">
@ -146,42 +144,24 @@
</div>
</nz-card>
<ng-template #textMessage let-data="data" let-title="title">
<ng-template #auditTimes let-data="data" let-title="title">
<div se-container [labelWidth]="230" [se-container]="1">
<se [label]="title" style="margin-bottom: 0;">
<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 [(ngModel)]="auditTime">
<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">
<label for="">通知标题 : </label>
<input nz-input placeholder="请不要超过20个汉字" style="width: 325px;" maxlength="20" />
</se>
<se class="mb-sm">
<label for="">通知内容 : </label>
<input nz-input placeholder="请不要超过50个汉字" style="width: 325px;" maxlength="50" />
</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">
<label for="">通知标题 : </label>
<input nz-input placeholder="请不要超过20个汉字" style="width: 325px;" maxlength="20" />
</se>
<se class="mb-sm">
<label for="">通知内容 : </label>
<input nz-input placeholder="请不要超过50个汉字" style="width: 325px;" maxlength="50" />
</se>
<se class="mb-sm">
<div class=" d-flex">
<label for="">短信内容 : </label>
<textarea nz-input rows="3" placeholder="【运多星】您的账号XXXXXX。实名认证审核已被驳回请重新上传"
style="width: 325px;margin-left: 14px;"></textarea>
</div>
</se>
<div *ngIf="">
<se class="mb-sm">
<label for="">通知标题 : </label>
<input nz-input placeholder="请不要超过20个汉字" style="width: 325px;" maxlength="20" />
</se>
<se class="mb-sm">
<label for="">通知内容 : </label>
<input nz-input placeholder="请不要超过50个汉字" style="width: 325px;" maxlength="50" />
</se>
</div>
</div>
</ng-template>

View File

@ -4,7 +4,7 @@ import { Observable, Observer } from 'rxjs';
import { ConfigService } from '../../services/config.service';
@Component({
selector: 'app-config',
selector: 'app-parterl-config',
templateUrl: './config.component.html',
styleUrls: ['./config.component.less']
})
@ -15,12 +15,17 @@ export class PartnerSystemConfigComponent implements OnInit {
isEveryDay: false,
isEveryWeek: false
};
personValue!: number;
enterpriseValue!: number;
auditValue!: number;
auditTime!: any;
auditTimeStatus: boolean = false
tabs = [
{
name: '货主端配置'
name: '基础配置'
},
{
name: '司机端配置'
name: '分享配置'
}
];
selectedTab = 0;
@ -37,7 +42,6 @@ export class PartnerSystemConfigComponent implements OnInit {
i: any;
schema!: SFSchema;
schema2!: SFSchema;
imageConfig = {
widget: 'upload',
@ -64,61 +68,8 @@ export class PartnerSystemConfigComponent implements OnInit {
}
initSF() {
this.schema = {
properties: {
sysMinLogo: {
type: 'string',
title: '系统LOGO',
// enum: [],
ui: {
...this.imageConfig,
descriptionI18n: '大尺寸logo支持JPG、PNG格式文件小于2M建议尺寸300*170px。',
change: args => {
if (args.type === 'success') {
const avatar = this.getImageModel(args, 'sysMinLogo');
this.sf?.setValue('/sysMinLogo', avatar);
this.i.sysMinLogo = avatar;
}
},
beforeUpload: this.uploadBefore
} as SFUploadWidgetSchema
},
sysMaxLogo: {
type: 'string',
title: '用户默认头像',
ui: {
...this.imageConfig,
descriptionI18n: '支持JPG、PNG格式文件小于2M建议尺寸60*60px。',
change: args => {
if (args.type === 'success') {
const avatar = this.getImageModel(args, -1);
this.sf?.setValue('/sysMaxLogo', avatar);
this.i.sysMaxLogo = avatar;
}
},
beforeUpload: this.uploadBefore
} as SFUploadWidgetSchema
},
sysMaxLogo1: {
type: 'string',
title: '用户默认头像',
ui: {
...this.imageConfig,
descriptionI18n: '支持JPG、PNG格式文件小于5M建议尺寸375*773px。',
change: args => {
if (args.type === 'success') {
const avatar = this.getImageModel(args, -1);
this.sf?.setValue('/sysMaxLogo1', avatar);
this.i.sysMaxLogo1 = avatar;
}
},
beforeUpload: this.uploadBefore
} as SFUploadWidgetSchema
},
},
required: ['sysMinLogo', 'sysMaxLogo', 'sysMaxLogo1']
};
this.schema2 = {
properties: {
sysMinLogo: {
type: 'string',
@ -221,7 +172,11 @@ export class PartnerSystemConfigComponent implements OnInit {
required: ['sysMinLogo', 'sysMaxLogo', 'sysMaxLogo1', 'sysMaxLogo2', 'sysMaxLogo3', 'sysMaxLogo4']
};
}
auditTimeChange(ss: any,value: any) {
console.log(value);
this.auditTimeStatus = true
}
private uploadBefore = (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 2;

View File

@ -62,6 +62,7 @@ export class SettingRoleEditComponent implements OnInit {
}
getRoleInfo() {
this.roleInfoData = []
const params = {
id: this.params.id
};
@ -82,7 +83,7 @@ console.log(this.params.infoUrl)
close() {
this.modal.destroy();
}
changeIF(value: boolean) {
changeIF(value: any) {
console.log(value);
console.log('54545');
this.changeValue = true
@ -105,9 +106,6 @@ console.log(this.params.infoUrl)
authority: auths.authority,
authorityAssistId: auths.authorityAssistId
};
if(this.changeValue) {
params.isUpdateAuthority = 1
}
if (this.params.id === 0) {
delete params.id;

View File

@ -1,5 +1,5 @@
import { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';
import { ModalHelper, _HttpClient } from '@delon/theme';
import { _HttpClient } from '@delon/theme';
import { EAEnvironmentService } from '@shared';
import { NzTreeComponent } from 'ng-zorro-antd/tree';
import { SystemService } from '../../../services/system.service';
@ -26,7 +26,6 @@ export class SettingMenuComponent implements OnInit, OnChanges {
@Input() isAuthorityIdDTOList: any[] = [];
@Input() authorityAssistId: any[] = [];
@Input() roleId: any;
@Output() changeIF= new EventEmitter();
@Output() changeData = new EventEmitter();
constructor(public service: SystemService, private cdr: ChangeDetectorRef, private envSrv: EAEnvironmentService) {}
ngOnChanges(changes: SimpleChanges): void {
@ -35,9 +34,9 @@ export class SettingMenuComponent implements OnInit, OnChanges {
this.authority = this.isAuthorityIdDTOList || [];
}
}
if (changes.authorityAssistId) {
this.defaultCheckedKeys = [...this.authorityAssistId];
}
// if (changes.authorityAssistId) {
// this.defaultCheckedKeys = [...this.authorityAssistId];
// }
}
ngOnInit() {
@ -64,21 +63,19 @@ export class SettingMenuComponent implements OnInit, OnChanges {
// 判断此菜单权限是否已经存在权限列表中
// 当前操作菜单id存在权限列表里
this.authority.forEach(menuItem => {
console.log(menuItem);
console.log(item);
if (menuItem.authorityId === origin.id) {
menuItem.buttonAuthorityIds = menuItem.buttonAuthorityIds || []; // 防止属性不存在,给属性指定数据类型
if (item) {
this.changeIF.emit(true);
// 单选
if (item.checked) {
if (menuItem.buttonAuthorityIds.indexOf(item.functionButtonId) === -1) {
// 如果该按钮在数据权限数组中不存在
console.log('不存在');
menuItem.buttonAuthorityIds.push(item.functionButtonId);
}
} else {
console.log('存在');
if (menuItem.buttonAuthorityIds && menuItem.buttonAuthorityIds.length) {
menuItem.buttonAuthorityIds.forEach((btnItem: any, index: any) => {
if (btnItem === item.functionButtonId) {