Files
bbq/src/app/routes/partner/knowledge/classification/components/edit/edit.component.ts
2022-03-12 15:37:45 +08:00

112 lines
2.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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();
}
}