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

update:更新

上级 3d35f3df
...@@ -43,7 +43,26 @@ ...@@ -43,7 +43,26 @@
<#-- START: 绑定参数节点 --> <#-- START: 绑定参数节点 -->
<#macro bindParamNode logicNode> <#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} 节点'); console.log('已完成执行 ${logicNode.name} 节点');
</#macro> </#macro>
<#-- END: 绑定参数节点 --> <#-- END: 绑定参数节点 -->
...@@ -99,7 +118,26 @@ ...@@ -99,7 +118,26 @@
<#-- START: 视图部件调用节点 --> <#-- START: 视图部件调用节点 -->
<#macro viewCtrlInvokeNode logicNode> <#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} 节点'); console.log('已完成执行 ${logicNode.name} 节点');
</#macro> </#macro>
<#-- END: 视图部件调用节点 --> <#-- END: 视图部件调用节点 -->
...@@ -150,7 +188,7 @@ ...@@ -150,7 +188,7 @@
<#-- 执行节点 --> <#-- 执行节点 -->
<#macro executenode logicNode> <#macro executenode logicNode>
/** /**
* 处理参数 * ${logicNode.name}
* *
* @param {UIActionContext} actionContext 界面逻辑上下文 * @param {UIActionContext} actionContext 界面逻辑上下文
*/ */
...@@ -158,64 +196,64 @@ ...@@ -158,64 +196,64 @@
// <#if item?? && item.name??>${item.name}</#if> // <#if item?? && item.name??>${item.name}</#if>
<#if logicNode.getLogicNodeType() == 'BEGIN'> <#if logicNode.getLogicNodeType() == 'BEGIN'>
<#-- 开始节点 --> <#-- 开始节点 -->
<@beginNode logicNode/> <@beginNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'PREPAREJSPARAM'> <#elseif logicNode.getLogicNodeType() == 'PREPAREJSPARAM'>
<#-- 准备参数节点 --> <#-- 准备参数节点 -->
<@prepareParamNode logicNode/> <@prepareParamNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'RESETPARAM'> <#elseif logicNode.getLogicNodeType() == 'RESETPARAM'>
<#-- 重置参数节点 --> <#-- 重置参数节点 -->
<@resetParamNode logicNode/> <@resetParamNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'COPYPARAM'> <#elseif logicNode.getLogicNodeType() == 'COPYPARAM'>
<#-- 拷贝参数节点 --> <#-- 拷贝参数节点 -->
<@copyParamNode logicNode/> <@copyParamNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'BINDPARAM'> <#elseif logicNode.getLogicNodeType() == 'BINDPARAM'>
<#-- 绑定参数节点 --> <#-- 绑定参数节点 -->
<@bindParamNode logicNode/> <@bindParamNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'RENEWPARAM'> <#elseif logicNode.getLogicNodeType() == 'RENEWPARAM'>
<#-- 重新建立参数节点 --> <#-- 重新建立参数节点 -->
<@renewParamNode logicNode/> <@renewParamNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'DEUIACTION'> <#elseif logicNode.getLogicNodeType() == 'DEUIACTION'>
<#-- 调用实体界面行为节点 --> <#-- 调用实体界面行为节点 -->
<@deUIActionNode logicNode/> <@deUIActionNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'DEACTION'> <#elseif logicNode.getLogicNodeType() == 'DEACTION'>
<#-- 行为处理节点 --> <#-- 行为处理节点 -->
<@deActionNode logicNode/> <@deActionNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'DELOGIC'> <#elseif logicNode.getLogicNodeType() == 'DELOGIC'>
<#-- 实体处理逻辑节点 --> <#-- 实体处理逻辑节点 -->
<@deLogicNode logicNode/> <@deLogicNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'DEDATASET'> <#elseif logicNode.getLogicNodeType() == 'DEDATASET'>
<#-- 实体数据集节点 --> <#-- 实体数据集节点 -->
<@deDataSetNode logicNode/> <@deDataSetNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'APPENDPARAM'> <#elseif logicNode.getLogicNodeType() == 'APPENDPARAM'>
<#-- 附加到数组参数节点 --> <#-- 附加到数组参数节点 -->
<@appendParamNode logicNode/> <@appendParamNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'SORTPARAM'> <#elseif logicNode.getLogicNodeType() == 'SORTPARAM'>
<#-- 排序数组参数节点 --> <#-- 排序数组参数节点 -->
<@sortParamNode logicNode/> <@sortParamNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'VIEWCTRLINVOKE'> <#elseif logicNode.getLogicNodeType() == 'VIEWCTRLINVOKE'>
<#-- 视图部件调用节点 --> <#-- 视图部件调用节点 -->
<@viewCtrlInvokeNode logicNode/> <@viewCtrlInvokeNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'VIEWCTRLFIREEVENT'> <#elseif logicNode.getLogicNodeType() == 'VIEWCTRLFIREEVENT'>
<#-- 视图部件事件触发节点 --> <#-- 视图部件事件触发节点 -->
<@viewCtrlFireEventNode logicNode/> <@viewCtrlFireEventNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'DEBUGPARAM'> <#elseif logicNode.getLogicNodeType() == 'DEBUGPARAM'>
<#-- 调试逻辑参数节点 --> <#-- 调试逻辑参数节点 -->
<@debugParamNode logicNode/> <@debugParamNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'MSGBOX'> <#elseif logicNode.getLogicNodeType() == 'MSGBOX'>
<#-- 消息弹窗节点 --> <#-- 消息弹窗节点 -->
<@msgBoxNode logicNode/> <@msgBoxNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'RAWJSCODE'> <#elseif logicNode.getLogicNodeType() == 'RAWJSCODE'>
<#-- 前端代码节点 --> <#-- 前端代码节点 -->
<@rawJSCoreNode logicNode/> <@rawJSCoreNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'THROWEXCEPTION'> <#elseif logicNode.getLogicNodeType() == 'THROWEXCEPTION'>
<#-- 异常处理节点 --> <#-- 异常处理节点 -->
<@throwExceptionNode logicNode/> <@throwExceptionNode logicNode/>
<#elseif logicNode.getLogicNodeType() == 'END'> <#elseif logicNode.getLogicNodeType() == 'END'>
<#-- 结束节点 --> <#-- 结束节点 -->
<@endNode logicNode/> <@endNode logicNode/>
<#else> <#else>
console.log('${logicNode.getLogicNodeType()}暂未支持'); console.log('${logicNode.getLogicNodeType()}暂未支持');
</#if> </#if>
<@computeNextNode logicNode/> <@computeNextNode logicNode/>
} }
</#macro> </#macro>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册