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

update:更新

上级 31a374bf
......@@ -7,7 +7,7 @@ TARGET=PSAPPDEUILOGIC
import { UIActionContext } from "@/logic/ui-logic";
import { LogicReturnType } from "@/logic/const/logic-return-type";
import { UILogicParamType } from "@/logic/const/ui-logic-param-type";
import { Util } from "@/utils";
import { Util, Verify } from "@/utils";
import { AppMessageBox } from "@/utils/app-message-box/app-message-box";
import { Subject } from "rxjs";
<#if item.getPSDEUILogicNodes?? && item.getPSDEUILogicNodes()??>
......
<#-- 获取判断条件 -->
<#macro getCond item><#if item.getLogicType() == 'GROUP'><#if item.isNotMode()>!(</#if><#if item.getPSDELogicLinkConds()??><#list item.getPSDELogicLinkConds() as subLogic><#if subLogic_index gt 0><#if item.getGroupOP() == 'AND'> && </#if><#if item.getGroupOP() == 'OR'> || </#if></#if><@getCond subLogic /></#list></#if><#if item.isNotMode()>)</#if><#elseif item.getLogicType() == 'SINGLE'>Verify.testCond(params.${item.getDstFieldName()?lower_case}, '${item.getCondOP()}', '${item.getValue()}')</#if></#macro>
<#-- START: 计算下一节点 -->
<#macro computeNextNode logicNode>
<#if logicNode.getPSDEUILogicLinks?? && logicNode.getPSDEUILogicLinks()??>
<#list logicNode.getPSDEUILogicLinks() as link>
<#if link.getDstPSDEUILogicNode?? && link.getDstPSDEUILogicNode()??>
<#if link.getPSDEUILogicLinkGroupCond?? && link.getPSDEUILogicLinkGroupCond()??>
// 暂未支持连接条件
</#if>
if(<@getCond linkCond />) {
await this.execute_${link.getDstPSDEUILogicNode().codeName?lower_case}_node(actionContext);
}
<#else>
await this.execute_${link.getDstPSDEUILogicNode().codeName?lower_case}_node(actionContext);
</#if>
</#if>
</#list>
</#if>
......@@ -398,12 +403,39 @@
<#-- START: 视图部件事件触发节点 -->
<#macro viewCtrlFireEventNode logicNode>
// TODO 等待补充
// 事件名称
const eventName: string = '${logicNode.getEventName()}';
// 事件参数
const eventParam = '<#if logicNode.getEventParam?? && logicNode.getEventParam()??>${logicNode.getEventParam().codeName}</#if>';
// 触发对象
const fireCtrl = '<#if logicNode.getFireCtrl?? && logicNode.getFireCtrl()??>${logicNode.getFireCtrl().codeName}</#if>';
if (!eventParam || !eventParam || !fireCtrl) {
throw new Error(`触发对象、事件名称或者事件参数缺失`);
}
// 触发UI对象
const fireUICtrl = actionContext.getParam(fireCtrl).getReal();
// 事件参数
const eventArgs = actionContext.getParam(eventParam).getReal();
if (!fireUICtrl) {
throw new Error(`获取触发对象异常`);
}
try {
// 自身触发
fireUICtrl.$emit(eventName, eventArgs);
actionContext.bindLastReturnParam(null);
} catch (error:any) {
throw new Error(`视图部件事件触发未执行成功!`);
}
</#macro>
<#-- END: 视图部件事件触发节点 -->
<#-- START: 调试逻辑参数节点 -->
<#macro debugParamNode logicNode>
// TODO 等待补充
<#if logicNode.getDstPSDEUILogicParam?? && logicNode.getDstPSDEUILogicParam()??>
const dstParamValue = actionContext.getParam('${logicNode.getDstPSDEUILogicParam().codeName}').getReal();
actionContext.bindLastReturnParam(null);
console.log('逻辑节点 ${logicNode.name} 操作参数值: ', dstParamValue);
</#if>
</#macro>
<#-- END: 调试逻辑参数节点 -->
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册