提交 98b7db3a 编写于 作者: KK's avatar KK

update:向导面板部件服务基类逻辑调整

上级 479103a6
......@@ -59,4 +59,51 @@ export class WizardPanelServiceBase extends ControlServiceBase {
}
return response;
}
/**
* 处理数据
*
* @param {string} action 行为名称
* @param {*} [data]
* @returns
* @memberof MdServiceBase
*/
public handleResponseData(action: string, data: any) {
if (!this.model || !Util.isFunction(this.model.getDataItems)) {
return data;
}
const result: any = {};
const dataItems: any[] = this.model.getDataItems();
const tempData: any = data;
if (!tempData) {
Object.assign(result, tempData);
} else if (tempData instanceof Array) {
if (tempData.length > 0) {
tempData.forEach((item: any) => {
dataItems.forEach(dataitem => {
let val = item.hasOwnProperty(dataitem.prop) ? item[dataitem.prop] : null;
if (!val) {
val = item.hasOwnProperty(dataitem.name) ? item[dataitem.name] : null;
}
item[dataitem.name] = val;
});
});
Object.assign(result, tempData);
} else {
Object.assign(result, {});
}
} else {
dataItems.forEach(dataitem => {
let val = tempData.hasOwnProperty(dataitem.prop) ? tempData[dataitem.prop] : null;
if (!val) {
val = tempData.hasOwnProperty(dataitem.name) ? tempData[dataitem.name] : null;
}
if (action != 'Remove') {
tempData[dataitem.name] = val;
}
});
Object.assign(result, tempData);
}
return result;
}
}
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册