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

update:更新

上级 3d35f3df
......@@ -43,7 +43,26 @@
<#-- START: 绑定参数节点 -->
<#macro bindParamNode logicNode>
// TODO 等待补充
<#if logicNode.getDstPSDEUILogicParam?? && logicNode.getDstPSDEUILogicParam()?? && logicNode.getSrcPSDEUILogicParam?? && logicNode.getSrcPSDEUILogicParam()??>
try {
// 源数据
const srcParam = actionContext.getParam('${logicNode.getSrcPSDEUILogicParam().codeName}');
// 目标数据
const dstParam = actionContext.getParam('${logicNode.getDstPSDEUILogicParam().codeName}');
// 源属性
const srcFieldName: string = '<#if logicNode.getSrcFieldName?? && logicNode.getSrcFieldName()??>${logicNode.getSrcFieldName()?lower_case}</#if>';
if (srcFieldName) {
dstParam.bind(srcParam.get(srcFieldName));
} else {
dstParam.bind(srcParam.getReal());
}
actionContext.bindLastReturnParam(null);
} catch (error: any) {
throw new Error('逻辑参数<#if logicNode.getDstPSDEUILogicParam?? && logicNode.getDstPSDEUILogicParam()??>${logicNode.getDstPSDEUILogicParam().name}</#if> <#noparse>${error && error.message ? error.message : '发生未知错误!'}</#noparse>');
}
<#else>
throw new Error('操作参数或者源参数缺失!');
</#if>
console.log('已完成执行 ${logicNode.name} 节点');
</#macro>
<#-- END: 绑定参数节点 -->
......@@ -99,7 +118,26 @@
<#-- START: 视图部件调用节点 -->
<#macro viewCtrlInvokeNode logicNode>
// TODO 等待补充
const invokeCtrl = '<#if logicNode.getInvokeCtrl?? && logicNode.getInvokeCtrl()??>${logicNode.getInvokeCtrl().codeName}</#if>';
const invokeMethod = '<#if logicNode.getInvokeMethod?? && logicNode.getInvokeMethod()>${logicNode.getInvokeMethod()}</#if>';
const invokeParam = '<#if logicNode.getInvokeParam?? && logicNode.getInvokeParam()??>${logicNode.getInvokeParam().codeName}</#if>';
if (!invokeCtrl || !invokeMethod) {
throw new Error(`界面对象或者调用方法缺失`);
}
const invokeUICtrl = actionContext.getParam(invokeCtrl).getReal();
if (invokeUICtrl[invokeMethod] && invokeUICtrl[invokeMethod] instanceof Function) {
try {
const result = await invokeUICtrl[invokeMethod]();
if (invokeParam) {
actionContext.getParam(invokeParam).bind(result);
}
actionContext.bindLastReturnParam(result);
} catch (error:any) {
<#noparse>throw new Error(`${invokeCtrl}界面对象调用${invokeMethod}方法发生异常`);</#noparse>
}
} else {
<#noparse>throw new Error(`${invokeCtrl}界面对象不存在${invokeMethod}方法`);</#noparse>
}
console.log('已完成执行 ${logicNode.name} 节点');
</#macro>
<#-- END: 视图部件调用节点 -->
......@@ -150,7 +188,7 @@
<#-- 执行节点 -->
<#macro executenode logicNode>
/**
* 处理参数
* ${logicNode.name}
*
* @param {UIActionContext} actionContext 界面逻辑上下文
*/
......@@ -158,64 +196,64 @@
// <#if item?? && item.name??>${item.name}</#if>
<#if logicNode.getLogicNodeType() == 'BEGIN'>
<#-- 开始节点 -->
<@beginNode logicNode/>
<@beginNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'PREPAREJSPARAM'>
<#-- 准备参数节点 -->
<@prepareParamNode logicNode/>
<@prepareParamNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'RESETPARAM'>
<#-- 重置参数节点 -->
<@resetParamNode logicNode/>
<@resetParamNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'COPYPARAM'>
<#-- 拷贝参数节点 -->
<@copyParamNode logicNode/>
<@copyParamNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'BINDPARAM'>
<#-- 绑定参数节点 -->
<@bindParamNode logicNode/>
<@bindParamNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'RENEWPARAM'>
<#-- 重新建立参数节点 -->
<@renewParamNode logicNode/>
<@renewParamNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'DEUIACTION'>
<#-- 调用实体界面行为节点 -->
<@deUIActionNode logicNode/>
<@deUIActionNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'DEACTION'>
<#-- 行为处理节点 -->
<@deActionNode logicNode/>
<@deActionNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'DELOGIC'>
<#-- 实体处理逻辑节点 -->
<@deLogicNode logicNode/>
<@deLogicNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'DEDATASET'>
<#-- 实体数据集节点 -->
<@deDataSetNode logicNode/>
<@deDataSetNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'APPENDPARAM'>
<#-- 附加到数组参数节点 -->
<@appendParamNode logicNode/>
<@appendParamNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'SORTPARAM'>
<#-- 排序数组参数节点 -->
<@sortParamNode logicNode/>
<@sortParamNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'VIEWCTRLINVOKE'>
<#-- 视图部件调用节点 -->
<@viewCtrlInvokeNode logicNode/>
<@viewCtrlInvokeNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'VIEWCTRLFIREEVENT'>
<#-- 视图部件事件触发节点 -->
<@viewCtrlFireEventNode logicNode/>
<@viewCtrlFireEventNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'DEBUGPARAM'>
<#-- 调试逻辑参数节点 -->
<@debugParamNode logicNode/>
<@debugParamNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'MSGBOX'>
<#-- 消息弹窗节点 -->
<@msgBoxNode logicNode/>
<@msgBoxNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'RAWJSCODE'>
<#-- 前端代码节点 -->
<@rawJSCoreNode logicNode/>
<@rawJSCoreNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'THROWEXCEPTION'>
<#-- 异常处理节点 -->
<@throwExceptionNode logicNode/>
<@throwExceptionNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'END'>
<#-- 结束节点 -->
<@endNode logicNode/>
<@endNode logicNode/>
<#else>
console.log('${logicNode.getLogicNodeType()}暂未支持');
console.log('${logicNode.getLogicNodeType()}暂未支持');
</#if>
<@computeNextNode logicNode/>
<@computeNextNode logicNode/>
}
</#macro>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册