提交 b9e0bb94 编写于 作者: Mosher's avatar Mosher

update:更新

上级 df642ee6
......@@ -44,24 +44,60 @@ export default class ${srfclassname('${item.getCodeName()}')}UILogicBase {
{
name: '${logicParam.name}',
codeName: '${logicParam.codeName}',
<#if logicParam.isActiveContainerParam?? && logicParam.isActiveContainerParam()>activeContainerParam: true,</#if>
<#if logicParam.isActiveCtrlParam?? && logicParam.isActiveCtrlParam()>activeCtrlParam: true,</#if>
<#if logicParam.isActiveViewParam?? && logicParam.isActiveViewParam()>activeViewParam: true,</#if>
<#if logicParam.isAppGlobalParam?? && logicParam.isAppGlobalParam()>appGlobalParam: true,</#if>
<#if logicParam.isApplicationParam?? && logicParam.isApplicationParam()>applicationParam: true,</#if>
<#if logicParam.isCtrlParam?? && logicParam.isCtrlParam()>ctrlParam: true,</#if>
<#if logicParam.isDefault?? && logicParam.isDefault()>default: true,</#if>
<#if logicParam.isEntityParam?? && logicParam.isEntityParam()>entityParam: true,</#if>
<#if logicParam.isEntityListParam?? && logicParam.isEntityListParam()>entityListParam: true,</#if>
<#if logicParam.isEntityPageParam?? && logicParam.isEntityPageParam()>entityPageParam: true,</#if>
<#if logicParam.isFilterParam?? && logicParam.isFilterParam()>filterParam: true,</#if>
<#if logicParam.isNavContextParam?? && logicParam.isNavContextParam()>navContextParam: true,</#if>
<#if logicParam.isSimpleParam?? && logicParam.isSimpleParam()>simpleParam: true,</#if>
<#if logicParam.isSimpleListParam?? && logicParam.isSimpleListParam()>simpleListParam: true,</#if>
<#if logicParam.isRouteViewSessionParam?? && logicParam.isRouteViewSessionParam()>routeViewSessionParam: true,</#if>
<#if logicParam.isViewNavDataParam?? && logicParam.isViewNavDataParam()>viewNavDataParam: true,</#if>
<#if logicParam.isViewSessionParam?? && logicParam.isViewSessionParam()>viewSessionParam: true,</#if>
<#if logicParam.isLastReturnParam?? && logicParam.isLastReturnParam()>lastReturnParam: true</#if>
<#if logicParam.isActiveContainerParam?? && logicParam.isActiveContainerParam()>
activeContainerParam: true,
</#if>
<#if logicParam.isActiveCtrlParam?? && logicParam.isActiveCtrlParam()>
activeCtrlParam: true,
</#if>
<#if logicParam.isActiveViewParam?? && logicParam.isActiveViewParam()>
activeViewParam: true,
</#if>
<#if logicParam.isAppGlobalParam?? && logicParam.isAppGlobalParam()>
appGlobalParam: true,
</#if>
<#if logicParam.isApplicationParam?? && logicParam.isApplicationParam()>
applicationParam: true,
</#if>
<#if logicParam.isCtrlParam?? && logicParam.isCtrlParam()>
ctrlParam: true,
</#if>
<#if logicParam.isDefault?? && logicParam.isDefault()>
default: true,
</#if>
<#if logicParam.isEntityParam?? && logicParam.isEntityParam()>
entityParam: true,
</#if>
<#if logicParam.isEntityListParam?? && logicParam.isEntityListParam()>
entityListParam: true,
</#if>
<#if logicParam.isEntityPageParam?? && logicParam.isEntityPageParam()>
entityPageParam: true,
</#if>
<#if logicParam.isFilterParam?? && logicParam.isFilterParam()>
filterParam: true,
</#if>
<#if logicParam.isNavContextParam?? && logicParam.isNavContextParam()>
navContextParam: true,
</#if>
<#if logicParam.isSimpleParam?? && logicParam.isSimpleParam()>
simpleParam: true,
</#if>
<#if logicParam.isSimpleListParam?? && logicParam.isSimpleListParam()>
simpleListParam: true,
</#if>
<#if logicParam.isRouteViewSessionParam?? && logicParam.isRouteViewSessionParam()>
routeViewSessionParam: true,
</#if>
<#if logicParam.isViewNavDataParam?? && logicParam.isViewNavDataParam()>
viewNavDataParam: true,
</#if>
<#if logicParam.isViewSessionParam?? && logicParam.isViewSessionParam()>
viewSessionParam: true,
</#if>
<#if logicParam.isLastReturnParam?? && logicParam.isLastReturnParam()>
lastReturnParam: true
</#if>
},
</#list>
</#if>
......
......@@ -16,21 +16,126 @@
<#-- START: 开始节点 -->
<#macro beginNode logicNode>
actionContext.setResult(actionContext.defaultParam.getReal());
console.log('已完成执行 ${logicNode.name} 节点');
</#macro>
<#-- END: 开始节点 -->
<#-- START: 准备处理参数节点 -->
<#macro prepareParamNode logicNode>
// TODO 等待补充
console.log('已完成执行 ${logicNode.name} 节点');
<#if logicNode.getPSDEUILogicNodeParams?? && logicNode.getPSDEUILogicNodeParams()??>
try {
<#list logicNode.getPSDEUILogicNodeParams() as param>
<#if param.getParamAction?? && param.getParamAction()??>
<#if param.getParamAction() == 'SETPARAMVALUE'>
<#if (param.getDstPSDEUILogicParam?? && param.getDstPSDEUILogicParam()??) || (param.getSrcValueType?? && param.getSrcValueType()??)>
// 目标数据
const dstParam_${param?index}: any = actionContext.getParam('<#if param.getDstPSDEUILogicParam?? && param.getDstPSDEUILogicParam()??>${param.getDstPSDEUILogicParam().codeName}</#if>');
// 无值类型
<#if param.getSrcValueType?? && param.getSrcValueType()?? && param.getSrcValueType() == 'NONEVALUE'>
<#if param.getDstFieldName?? && param.getDstFieldName()??>
dstParam_${param?index}.reset('${param.getDstFieldName()?lower_case}');
<#else>
dstParam_${param?index}.bind(undefined);
</#if>
<#else>
<#if param.getSrcValueType?? && param.getSrcValueType()?? && (param.getSrcValueType() == 'SRCDLPARAM' || param.getSrcValueType() == 'WEBCONTEXT' || param.getSrcValueType() == 'VIEWPARAM')>
<#-- 源逻辑参数、网页请求上下文、当前视图参数 -->
const srcParam_${param?index} = actionContext.getParam('<#if param.getSrcPSDEUILogicParam?? && param.getSrcPSDEUILogicParam()??>${param.getSrcPSDEUILogicParam().codeName}</#if>');
const result_${param?index} = srcParam_${param?index}.get('<#if param.getSrcFieldName?? && param.getSrcFieldName()??>${param.getSrcFieldName()?lower_case}</#if>') ? srcParam_${param?index}.get('<#if param.getSrcFieldName?? && param.getSrcFieldName()??>${param.getSrcFieldName()?lower_case}</#if>') : null;
<#elseif param.getSrcValueType?? && param.getSrcValueType()?? && (param.getSrcValueType() == 'APPLICATION' || param.getSrcValueType() == 'SESSION' || param.getSrcValueType() == 'APPDATA' || param.getSrcValueType() == 'DATACONTEXT')>
<#-- 系统全局对象、用户全局对象、应用上下文、数据上下文 -->
const result_${param?index} = actionContext['<#if param.getSrcFieldName?? && param.getSrcFieldName()??>${param.getSrcFieldName()?lower_case}</#if>'];
<#elseif param.getSrcValueType?? && param.getSrcValueType()?? && param.getSrcValueType() == 'ENVPARAM'>
<#-- 环境参数 -->
// TODO 环境参数
const result_${param?index} = '';
<#elseif param.getSrcValueType?? && param.getSrcValueType()?? && param.getSrcValueType() == 'EXPRESSION'>
<#-- 计算式 -->
// TODO 计算式
const result_${param?index} = '';
<#elseif param.getSrcValueType?? && param.getSrcValueType()?? && param.getSrcValueType() == 'SRCVALUE'>
<#-- 直接值 -->
const result_${param?index} = '<#if param.getSrcValue?? && param.getSrcValue()??>${param.getSrcValue()}</#if>';
<#elseif param.getSrcValueType?? && param.getSrcValueType()?? && param.getSrcValueType() == 'NULLVALUE'>
<#-- 空值(NULL) -->
const result_${param?index} = null;
<#else>
<#-- 未支持 -->
const result_${param?index} = undefined;
</#if>
<#if param.getDstFieldName?? && param.getDstFieldName()??>
const dstParam_${param?index}.set('${param.getDstFieldName()?lower_case}', result_${param?index});
<#else>
dstParam_${param?index}.bind(result_${param?index});
</#if>
</#if>
<#else>
throw new Error(`逻辑参数${param.name}源类型参数或者目标逻辑参数缺失`);
</#if>
<#elseif param.getParamAction() == 'RESETPARAM'>
const dstParam_${param?index}: any = actionContext.getParam('<#if param.getDstPSDEUILogicParam?? && param.getDstPSDEUILogicParam()??>${param.getDstPSDEUILogicParam().codeName}</#if>');
dstParam_${param?index}.resetAll();
<#elseif param.getParamAction() == 'COPYPARAM'>
// 源数据
const srcParam_${param?index}: any = actionContext.getParam('<#if param.getSrcPSDEUILogicParam?? && param.getSrcPSDEUILogicParam()??>${param.getSrcPSDEUILogicParam().codeName}</#if>');
// 目标数据
const dstParam_${param?index}: any = actionContext.getParam('<#if param.getDstPSDEUILogicParam?? && param.getDstPSDEUILogicParam()??>${param.getDstPSDEUILogicParam().codeName}</#if>');
srcParam_${param?index}.copyTo(dstParam_${param?index});
<#elseif param.getParamAction() == 'BINDPARAM'>
// 源数据
const srcParam_${param?index}: any = actionContext.getParam('<#if param.getSrcPSDEUILogicParam?? && param.getSrcPSDEUILogicParam()??>${param.getSrcPSDEUILogicParam().codeName}</#if>');
// 目标数据
const dstParam_${param?index}: any = actionContext.getParam('<#if param.getDstPSDEUILogicParam?? && param.getDstPSDEUILogicParam()??>${param.getDstPSDEUILogicParam().codeName}</#if>');
const srcFieldName_${param?index} = '<#if param.getSrcFieldName?? && param.getSrcFieldName()??>${param.getSrcFieldName()?lower_case}</#if>';
if (srcFieldName_${param?index}) {
dstParam_${param?index}.bind(srcParam_${param?index}.get(srcFieldName_${param?index}));
} else {
dstParam_${param?index}.bind(srcParam_${param?index}.getReal());
}
<#elseif param.getParamAction() == 'RENEWPARAM'>
// 目标数据
const dstParam_${param?index}: any = actionContext.getParam('<#if param.getDstPSDEUILogicParam?? && param.getDstPSDEUILogicParam()??>${param.getDstPSDEUILogicParam().codeName}</#if>');
dstParam_${param?index}.renew();
<#elseif param.getParamAction() == 'APPENDPARAM'>
// 源数据
const srcParam_${param?index}: any = actionContext.getParam('<#if param.getSrcPSDEUILogicParam?? && param.getSrcPSDEUILogicParam()??>${param.getSrcPSDEUILogicParam().codeName}</#if>');
// 目标数据
const dstParam_${param?index}: any = actionContext.getParam('<#if param.getDstPSDEUILogicParam?? && param.getDstPSDEUILogicParam()??>${param.getDstPSDEUILogicParam().codeName}</#if>');
const srcFieldName_${param?index} = '<#if param.getSrcFieldName?? && param.getSrcFieldName()??>${param.getSrcFieldName()?lower_case}</#if>';
let objParam_${param?index}: any;
if (srcFieldName_${param?index}) {
objParam_${param?index} = srcParam_${param?index}.get(srcFieldName_${param?index});
} else {
objParam_${param?index} = srcParam_${param?index}.getReal();
}
dstParam_${param?index}.append(${param.getDstIndex()?c}, objParam_${param?index}, ${param.getSrcIndex()?c}, ${param.getSrcSize()?c});
<#elseif param.getParamAction() == 'SORTPARAM'>
// 目标数据
const dstParam_${param?index}: any = actionContext.getParam('<#if param.getDstPSDEUILogicParam?? && param.getDstPSDEUILogicParam()??>${param.getDstPSDEUILogicParam().codeName}</#if>');
const dstFieldName_${param?index} = '<#if param.getDstFieldName?? && param.getDstFieldName()??>${param.getDstFieldName()?lower_case}</#if>';
if (!dstFieldName_${param?index}) {
throw new Error(`逻辑参数${param.name}未指定设置排序属性`);
} else {
dstParam_${param?index}.sort(dstFieldName_${param?index}, '${param.getDstSortDir()}');
}
</#if>
</#if>
</#list>
} catch (error: any) {
throw new Error(`逻辑节点 ${logicNode.name} <#noparse>${error ## error.message ? error.message : '发生未知错误!'}`</#noparse>);
}
</#if>
</#macro>
<#-- END: 准备处理参数节点 -->
<#-- START: 重置参数节点 -->
<#macro resetParamNode logicNode>
// TODO 等待补充
console.log('已完成执行 ${logicNode.name} 节点');
<#if logicNode.getDstPSDEUILogicParam?? && logicNode.getDstPSDEUILogicParam()??>
const dstParam: any = actionContext.getParam('${logicNode.getDstPSDEUILogicParam().codeName}');
dstParam.resetAll();
actionContext.bindLastReturnParam(null);
<#else>
throw new Error(`操作参数缺失!`);
</#if>
</#macro>
<#-- END: 重置参数节点 -->
......@@ -50,7 +155,6 @@
<#else>
throw new Error('操作参数或者源参数缺失!');
</#if>
console.log('已完成执行 ${logicNode.name} 节点');
</#macro>
<#-- END: 拷贝参数节点 -->
......@@ -76,21 +180,27 @@
<#else>
throw new Error('操作参数或者源参数缺失!');
</#if>
console.log('已完成执行 ${logicNode.name} 节点');
</#macro>
<#-- END: 绑定参数节点 -->
<#-- START: 重新建立参数节点 -->
<#macro renewParamNode logicNode>
// TODO 等待补充
console.log('已完成执行 ${logicNode.name} 节点');
<#if logicNode.getDstPSDEUILogicParam?? && logicNode.getDstPSDEUILogicParam()??>
const dstParam: any = actionContext.getParam('${logicNode.getDstPSDEUILogicParam().codeName}');
dstParam.renew();
actionContext.bindLastReturnParam(null);
<#else>
throw new Error(`操作参数缺失!`);
</#if>
</#macro>
<#-- END: 重新建立参数节点 -->
<#-- START: 调用实体界面行为节点 -->
<#macro deUIActionNode logicNode>
// TODO 等待补充
console.log('已完成执行 ${logicNode.name} 节点');
const data = actionContext.defaultParam.getReal();
const { context, viewparams } = actionContext;
<#if logicNode.getDstPSAppDataEntity?? && logicNode.getDstPSAppDataEntity()??>
</#if>
</#macro>
<#-- END: 调用实体界面行为节点 -->
......@@ -101,35 +211,162 @@
throw new Error(`实体行为操作参数只能为数据对象变量类型或者数据对象列表类型`);
}
const retParam = actionContext.getParam('<#if logicNode.getRetPSDEUILogicParam?? && logicNode.getRetPSDEUILogicParam()??>${logicNode.getRetPSDEUILogicParam().codeName}</#if>');
console.log('已完成执行 ${logicNode.name} 节点');
<#if logicNode.getDstPSAppDataEntity?? && logicNode.getDstPSAppDataEntity()?? && logicNode.getDstPSAppDEAction?? && logicNode.getDstPSAppDEAction()??>
if (dstParam) {
try {
const service: ${srfclassname('${logicNode.getDstPSAppDataEntity().getCodeName()}')}Service = = new ${srfclassname('${logicNode.getDstPSAppDataEntity().getCodeName()}')}Service;
const getTempContext = (data: any) => {
const tempContext = Util.deepCopy(actionContext.context);
if (data) {
Object.assign(tempContext, data);
}
return tempContext;
}
// 数据对象变量类型
if (Object.is(dstParam.logicParamType, UILogicParamType.entityParam)) {
const tempContext = getTempContext(dstParam.getReal());
const res = await service['${logicNode.getDstPSAppDEAction().codeName}'](tempContext, dstParam.getReal() ? dstParam.getReal() : {});
if (res && res.ok && res.data) {
if (retParam) {
retParam.bind(res.data);
}
actionContext.bindLastReturnParam(res.data);
} else {
throw new Error(`执行实体行为失败`);
}
} else {
// 数据对象列表类型
if (dstParam.getReal() && (dstParam.getReal().length > 0)) {
if (dstParam.getReal().length > 20) {
throw new Error(`操作数据量超过20条,建议使用后台处理逻辑`);
}
let promises: any[] = [];
dstParam.getReal().forEach((item: any) => {
const tempContext = getTempContext(item);
promises.push(service['${logicNode.getDstPSAppDEAction().codeName}'](tempContext, item ? item : {}));
})
const resArray = await Promise.all(promises);
if (resArray && resArray.length > 0) {
const resultArray: any[] = [];
resArray.forEach((res: any) => {
if (res && res.ok && res.data) {
resultArray.push(res.data);
}
})
if (retParam) {
retParam.bind(resultArray);
}
actionContext.bindLastReturnParam(resultArray);
} else {
throw new Error(`执行实体行为失败`);
}
} else {
if (retParam) {
retParam.bind([]);
}
actionContext.bindLastReturnParam([]);
}
}
} catch (error: any) {
throw new Error(`${error.message ? error.message : error.data?.message ? error.data.message : '执行实体行为失败'}`);
}
} else {
throw new Error(`操作参数缺失!`);
}
<#else>
throw new Error(`操作参数缺失!`);
</#if>
</#macro>
<#-- END: 行为处理节点 -->
<#-- START: 实体处理逻辑节点 -->
<#macro deLogicNode logicNode>
// TODO 等待补充
console.log('已完成执行 ${logicNode.name} 节点');
<#if logicNode.getDstPSAppDataEntity?? && logicNode.getDstPSAppDataEntity()?? && logicNode.getDstPSAppDELogic?? && logicNode.getDstPSAppDELogic()??>
const dstParam = actionContext.getParam('<#if logicNode.getDstPSDEUILogicParam?? && logicNode.getDstPSDEUILogicParam()??>${logicNode.getDstPSDEUILogicParam().codeName}</#if>');
const retParam = actionContext.getParam('<#if logicNode.getDstPSDEUILogicParam?? && logicNode.getDstPSDEUILogicParam()??>${logicNode.getDstPSDEUILogicParam().codeName}</#if>');
if (dstParam) {
try {
const service: ${srfclassname('${logicNode.getDstPSAppDataEntity().getCodeName()}')}Service = = new ${srfclassname('${logicNode.getDstPSAppDataEntity().getCodeName()}')}Service;
const result = await service['executeAppDELogic']('${logicNode.getDstPSAppDELogic.codeName}', actionContext.context, dstParam.getReal() ? dstParam.getReal() : {});
if (result) {
if(retParam){
retParam.bind(result);
}
actionContext.bindLastReturnParam(result);
return retParam;
} else {
throw new Error(`调用实体处理逻辑异常`);
}
} catch (error: any) {
<#noparse>throw new Error(`调用实体处理逻辑异常${error && error.message ? error.message : ''}`);</#noparse>
}
} else {
throw new Error(`操作参数缺失!`);
}
<#else>
throw new Error(`操作参数缺失!`);
</#if>
</#macro>
<#-- END: 实体处理逻辑节点 -->
<#-- START: 实体数据集节点 -->
<#macro deDataSetNode logicNode>
// TODO 等待补充
console.log('已完成执行 ${logicNode.name} 节点');
<#if logicNode.getDstPSAppDataEntity?? && logicNode.getDstPSAppDataEntity()?? && logicNode.getDstPSAppDEDataSet?? && logicNode.getDstPSAppDEDataSet()??>
const dstParam = actionContext.getParam('<#if logicNode.getDstPSDEUILogicParam?? && logicNode.getDstPSDEUILogicParam()??>${logicNode.getDstPSDEUILogicParam().codeName}</#if>');
if (!Object.is(dstParam.logicParamType, UILogicParamType.filterParam)) {
throw new Error(`传入参数 <#if logicNode.getDstPSDEUILogicParam?? && logicNode.getDstPSDEUILogicParam()??>${logicNode.getDstPSDEUILogicParam().codeName}</#if> 类型不正确,必须为过滤器对象`);
}
try {
const service: ${srfclassname('${logicNode.getDstPSAppDataEntity().getCodeName()}')}Service = = new ${srfclassname('${logicNode.getDstPSAppDataEntity().getCodeName()}')}Service;
const res = await service['${logicNode.getDstPSAppDEDataSet().codeName}'](actionContext.context, dstParam.getReal() ? dstParam.getReal() : {});
if (res && res.ok && res.data) {
// 返回值绑定逻辑参数对象
<#if logicNode.getRetPSDEUILogicParam?? && logicNode.getRetPSDEUILogicParam()??>
const retParam = actionContext.getParam('${logicNode.getRetPSDEUILogicParam().codeName}');
retParam.bind(res.data);
actionContext.bindLastReturnParam(res.data);
<#else>
throw new Error(`查询实体数据集失败`);
</#if>
} catch (error: any) {
throw new Error(`${error.message ? error.message : error.data && error.data.message ? error.data.message : '查询实体数据集失败'}`);
}
<#else>
throw new Error(`操作参数缺失!`);
</#if>
</#macro>
<#-- END: 实体数据集节点 -->
<#-- START: 附加到数组参数节点 -->
<#macro appendParamNode logicNode>
// TODO 等待补充
console.log('已完成执行 ${logicNode.name} 节点');
// 源数据
const srcParam: any = actionContext.getParam('<#if logicNode.getSrcPSDEUILogicParam?? && logicNode.getSrcPSDEUILogicParam()??>${logicNode.getSrcPSDEUILogicParam().codeName}</#if>');
// 目标数据
const dstParam: any = actionContext.getParam('<#if logicNode.getDstPSDEUILogicParam?? && logicNode.getDstPSDEUILogicParam()??>${logicNode.getDstPSDEUILogicParam().codeName}</#if>');
// 源属性
const srcFieldName: string = '<#if logicNode.getSrcFieldName?? && logicNode.getSrcFieldName()??>${logicNode.getSrcFieldName()?lower_case}</#if>';
let objParam: any;
if (srcFieldName) {
objParam = srcParam.get(srcFieldName);
} else {
objParam = srcParam.getReal();
}
dstParam.append(${logicNode.getDstIndex()?c}, objParam, ${logicNode.getSrcIndex()?c}, ${logicNode.getSrcSize()?c});
actionContext.bindLastReturnParam(null);
</#macro>
<#-- END: 附加到数组参数节点 -->
<#-- START: 排序数组参数节点 -->
<#macro sortParamNode logicNode>
// TODO 等待补充
console.log('已完成执行 ${logicNode.name} 节点');
// 目标数据
const dstParam: any = actionContext.getParam('<#if logicNode.getDstPSDEUILogicParam?? && logicNode.getDstPSDEUILogicParam()??>${logicNode.getDstPSDEUILogicParam().codeName}</#if>');
// 目标属性
const dstFieldName: string = '<#if logicNode.getDstFieldName?? && logicNode.getDstFieldName()??>${logicNode.getDstFieldName()?lower_case}</#if>';
if (!dstFieldName) {
throw new Error(`逻辑参数${logicNodeParam.name}未指定设置排序属性`);
}
dstParam.sort(dstFieldName, '${logicNode.getDstSortDir()}');
actionContext.bindLastReturnParam(null);
</#macro>
<#-- END: 排序数组参数节点 -->
......@@ -155,42 +392,65 @@
} else {
<#noparse>throw new Error(`${invokeCtrl}界面对象不存在${invokeMethod}方法`);</#noparse>
}
console.log('已完成执行 ${logicNode.name} 节点');
</#macro>
<#-- END: 视图部件调用节点 -->
<#-- START: 视图部件事件触发节点 -->
<#macro viewCtrlFireEventNode logicNode>
// TODO 等待补充
console.log('已完成执行 ${logicNode.name} 节点');
</#macro>
<#-- END: 视图部件事件触发节点 -->
<#-- START: 调试逻辑参数节点 -->
<#macro debugParamNode logicNode>
// TODO 等待补充
console.log('已完成执行 ${logicNode.name} 节点');
</#macro>
<#-- END: 调试逻辑参数节点 -->
<#-- START: 消息弹窗节点 -->
<#macro msgBoxNode logicNode>
// TODO 等待补充
console.log('已完成执行 ${logicNode.name} 节点');
return new Promise<void>((resolve: any) => {
const msgBoxParam: any = actionContext.getParam('<#if logicNode.getMsgBoxParam?? && logicNode.getMsgBoxParam()??>${logicNode.getMsgBoxParam().codeName}</#if>');
const data = msgBoxParam ? msgBoxParam.getReal() : {};
const options = {
type: '${logicNode.getMsgBoxType()}',
title: data && data.title ? data.title : '<#if logicNode.getTitle()??>${logicNode.getTitle()}<#else>消息</#if>',
content: data && data.message ? data.message : '${logicNode.getMessage()}',
buttonType: '${logicNode.getButtonsType()?lower_case}',
showMode: '<#if>${logicNode.getShowMode()?lower_case}</#if>',
showClose: false,
mask: true,
maskClosable: true
};
// TODO 支持具体弹窗
// const subject: Subject<any> | null = AppMessageBoxService.getInstance().open(options);
// const subscription = subject?.subscribe((result: any) => {
// resolve(this.handleResponse(logicNode, actionContext, options, result));
// subscription!.unsubscribe();
// subject.complete();
// })
});
</#macro>
<#-- END: 消息弹窗节点 -->
<#-- START: 前端代码节点 -->
<#macro rawJSCoreNode logicNode>
// TODO 等待补充
console.log('已完成执行 ${logicNode.name} 节点');
let data: any = actionContext.defaultParam.getReal();
let { context } = actionContext;
<#if logicNode.getCode?? && logicNode.getCode()??>
eval(`${logicNode.getCode()}`);
<#else>
throw new Error('无代码片段');
</#if>
actionContext.bindLastReturnParam(null);
</#macro>
<#-- END: 前端代码节点 -->
<#-- START: 异常处理节点 -->
<#macro throwExceptionNode logicNode>
// TODO 等待补充
console.log('已完成执行 ${logicNode.name} 节点');
actionContext.actionContainer.$throw('<#if logicNode.getErrorInfo?? && logicNode.getErrorInfo()??>${logicNode.getErrorInfo()}</#if>');
actionContext.bindLastReturnParam(null);
</#macro>
<#-- END: 异常处理节点 -->
......@@ -287,6 +547,7 @@
<#else>
console.log('${logicNode.getLogicNodeType()}暂未支持');
</#if>
console.log('已完成执行 ${logicNode.name} 节点');
<@computeNextNode logicNode/>
}
</#macro>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册