提交 3880d18c 编写于 作者: JunZai's avatar JunZai

update

上级 2131c35f
......@@ -20,9 +20,9 @@ export class ${srfclassname('${ctrl.name}')} implements OnInit {
* @memberof ${srfclassname('${ctrl.name}')}
*/
@Input()
set data(val: any) {
set formData(val: any) {
if (val) {
this.formData = JSON.parse(JSON.stringify(val));
this.data = JSON.parse(JSON.stringify(val));
}
}
......@@ -32,7 +32,23 @@ export class ${srfclassname('${ctrl.name}')} implements OnInit {
* @type {*}
* @memberof ${srfclassname('${ctrl.name}')}
*/
public formData: any = {};
public data: any = {};
/**
* 表单数据变化
*
* @type {Subject<any>}
* @memberof ${srfclassname('${ctrl.name}')}
*/
public formDataChange: Subject<any> = new Subject<any>();
/**
* 表单数据变化抛出事件
*
* @type {EventEmitter<any>}
* @memberof ${srfclassname('${ctrl.name}')}
*/
@Output() dataChangeEvent: EventEmitter<any> = new EventEmitter<any>();
/**
* 详情模型集合
......@@ -55,7 +71,12 @@ export class ${srfclassname('${ctrl.name}')} implements OnInit {
* @memberof ${srfclassname('${ctrl.name}')}
*/
ngOnInit(): void {
this.formDataChange.pipe(
debounceTime(300),
distinctUntilChanged()
).subscribe(data => {
this.dataChangeEvent.emit(JSON.parse(data));
});
}
<#list ctrl.getAllPSDEFormDetails() as formdetail>
<#if formdetail.getDetailType?? && formdetail.getDetailType() == 'BUTTON'>
......@@ -72,13 +93,29 @@ export class ${srfclassname('${ctrl.name}')} implements OnInit {
</#if>
</#list>
/**
* 表单项值变化事件
*
* @param {{name: string, value: any}} {name, value}
* @memberof ${srfclassname('${ctrl.name}')}
*/
public onFormDataChange({name, value}: {name: string, value: any}): void {
if (!this.data.hasOwnProperty(name)) {
return;
}
let oldVal: any = this.formData[name];
this.data[name] = value;
this.formDataChange.next(JSON.stringify(this.data));
this.formLogic(name, value, oldVal);
}
/**
* 表单逻辑
*
* @param {string} name
* @param {*} newVal
* @param {*} oldVal
* @memberof EditForm
* @memberof ${srfclassname('${ctrl.name}')}
*/
public formLogic(name: string, newVal: any, oldVal: any) {
<#if P.getPartCode(item,'FORM_LOGIC').code?length gt 0>
......
<input nz-input name="${item.name}" [ngModel]="formData.${item.name}" placeholder="<#if item.getPlaceHolder()??>${item.getPlaceHolder()}<#else>请输入...</#if>" style="${item.getEditorCssStyle()}"/>
\ No newline at end of file
<input nz-input name="${item.name}" [ngModel]="data.${item.name}" placeholder="<#if item.getPlaceHolder()??>${item.getPlaceHolder()}<#else>请输入...</#if>" style="${item.getEditorCssStyle()}"/>
\ No newline at end of file
<input nz-input name="${item.name}" [disabled]="true" readOnly style="${item.getEditorCssStyle()}"/>
\ No newline at end of file
<input nz-input name="${item.name}" [ngModel]="data.${item.name}" [disabled]="true" readOnly style="${item.getEditorCssStyle()}"/>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册