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

update

上级 2131c35f
...@@ -20,9 +20,9 @@ export class ${srfclassname('${ctrl.name}')} implements OnInit { ...@@ -20,9 +20,9 @@ export class ${srfclassname('${ctrl.name}')} implements OnInit {
* @memberof ${srfclassname('${ctrl.name}')} * @memberof ${srfclassname('${ctrl.name}')}
*/ */
@Input() @Input()
set data(val: any) { set formData(val: any) {
if (val) { 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 { ...@@ -32,7 +32,23 @@ export class ${srfclassname('${ctrl.name}')} implements OnInit {
* @type {*} * @type {*}
* @memberof ${srfclassname('${ctrl.name}')} * @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 { ...@@ -55,7 +71,12 @@ export class ${srfclassname('${ctrl.name}')} implements OnInit {
* @memberof ${srfclassname('${ctrl.name}')} * @memberof ${srfclassname('${ctrl.name}')}
*/ */
ngOnInit(): void { ngOnInit(): void {
this.formDataChange.pipe(
debounceTime(300),
distinctUntilChanged()
).subscribe(data => {
this.dataChangeEvent.emit(JSON.parse(data));
});
} }
<#list ctrl.getAllPSDEFormDetails() as formdetail> <#list ctrl.getAllPSDEFormDetails() as formdetail>
<#if formdetail.getDetailType?? && formdetail.getDetailType() == 'BUTTON'> <#if formdetail.getDetailType?? && formdetail.getDetailType() == 'BUTTON'>
...@@ -72,13 +93,29 @@ export class ${srfclassname('${ctrl.name}')} implements OnInit { ...@@ -72,13 +93,29 @@ export class ${srfclassname('${ctrl.name}')} implements OnInit {
</#if> </#if>
</#list> </#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 {string} name
* @param {*} newVal * @param {*} newVal
* @param {*} oldVal * @param {*} oldVal
* @memberof EditForm * @memberof ${srfclassname('${ctrl.name}')}
*/ */
public formLogic(name: string, newVal: any, oldVal: any) { public formLogic(name: string, newVal: any, oldVal: any) {
<#if P.getPartCode(item,'FORM_LOGIC').code?length gt 0> <#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()}"/> <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 \ No newline at end of file
<input nz-input name="${item.name}" [disabled]="true" readOnly style="${item.getEditorCssStyle()}"/> <input nz-input name="${item.name}" [ngModel]="data.${item.name}" [disabled]="true" readOnly style="${item.getEditorCssStyle()}"/>
\ No newline at end of file \ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册