Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-R7
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
22
议题
22
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-R7
提交
feb86829
提交
feb86829
编写于
11月 04, 2022
作者:
Mosher
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update:更新
上级
71fbdee6
变更
1
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
65 行增加
和
21 行删除
+65
-21
%APP_DEUILOGIC%-ui-logic-base.ts.ftl
...service/%DE_PKGPATH%/%APP_DEUILOGIC%-ui-logic-base.ts.ftl
+65
-21
未找到文件。
APP/src/uiservice/%DE_PKGPATH%/%APP_DEUILOGIC%-ui-logic-base.ts.ftl
浏览文件 @
feb86829
<#ibiztemplate>
TARGET=PSAPPDEUILOGIC
</#ibiztemplate>
<#-- 获取逻辑节点类型 -->
<#macro getLogicNodeByType logicNode>
<#compress>
<#if logicNode.getLogicNodeType?? && logicNode.getLogicNodeType()??>
<#assign type = logicNode.getLogicNodeType()>
<#if type == 'BEGIN'>
BeginNode
<#elseif type == 'END'>
EndNode
<#else>
LogicNodeBase
</#if>
<#else>
LogicNodeBase
</#if>
</#compress>
</#macro>
import { UIActionContext } from "@/logic/uiaction-context";
import { BeginNode, EndNode, AppendParamNode } from "@/logic/logic-node";
/**
* ${item.name}
...
...
@@ -35,8 +20,28 @@ export default class ${srfclassname('${item.getCodeName()}')}UILogicBase {
*/
constructor(opts: any = {}) { }
protected readonly startLogicNode: string = '<#if item.getStartPSDEUILogicNode?? && item.getStartPSDEUILogicNode()??>${item.getStartPSDEUILogicNode().codeName}</#if>';
protected logicParams: any[] = [
<#if item.getPSDEUILogicParams?? && item.getPSDEUILogicParams()??>
<#list item.getPSDEUILogicParams() as logicParam>
{
name: '${logicParam.name}',
codeName: '${logicParam.codeName}',
default: <#if logicParam.isDefault?? && logicParam.isDefault()>true<#else>false</#if>,
navContextParam: <#if logicParam.isNavContextParam?? && logicParam.isNavContextParam()>true<#else>false</#if>,
navViewParamParam: <#if logicParam.isNavViewParamParam?? && logicParam.isNavViewParamParam()>true<#else>false</#if>,
activeContainerParam: <#if logicParam.isActiveContainerParam?? && logicParam.isActiveContainerParam()>true<#else>false</#if>,
activeCtrlParam: <#if logicParam.isActiveCtrlParam?? && logicParam.isActiveCtrlParam()>true<#else>false</#if>,
activeViewParam: <#if logicParam.isActiveViewParam?? && logicParam.isActiveViewParam()>true<#else>false</#if>,
lastReturnParam: <#if logicParam.isLastReturnParam?? && logicParam.isLastReturnParam()>true<#else>false</#if>
},
</#list>
</#if>
];
protected logicNodes: any = {
protected logicNodes: ILogicNode[] = [
<#if item.getPSDEUILogicNodes?? && item.getPSDEUILogicNodes()??>
<#list item.getPSDEUILogicNodes() as logicNode>
<#assign node>
...
...
@@ -61,6 +66,15 @@ export default class ${srfclassname('${item.getCodeName()}')}UILogicBase {
<#if logicNode.getSrcSize?? && logicNode.getSrcSize()??>
srcSize: '${logicNode.getSrcSize()?c}',
</#if>
<#if logicNode.getReturnParam?? && logicNode.getReturnParam()??>
returnParam: '${logicNode.getReturnParam().codeName}',
</#if>
<#if logicNode.getReturnType?? && logicNode.getReturnType()??>
returnType: '${logicNode.getReturnType().codeName}',
</#if>
<#if logicNode.getRawValue?? && logicNode.getRawValue()??>
returnRawValue: '${logicNode.getRawValue()}',
</#if>
<#if logicNode.getPSDEUILogicLinks?? && logicNode.getPSDEUILogicLinks()??>
logicLinks: [
<#list logicNode.getPSDEUILogicLinks() as link>
...
...
@@ -76,9 +90,14 @@ export default class ${srfclassname('${item.getCodeName()}')}UILogicBase {
]
</#if>
</#assign>
<@compress single_line=true>
'${logicNode.codeName}': new <@getLogicNodeByType logicNode />({ ${node} }),
</@compress>
<@compress single_line=true>
{ ${node} }
</@compress>
</#list>
</#if>
];
public beforeExecute(args: any, context: any = {}, params: any = {},
$event?: any, xData?: any, actioncontext?: any, srfParentDeName?: string) {
return new UIActionContext(this.logicParams, args, context, params, $event, xData, actioncontext, srfParentDeName)
}
/**
...
...
@@ -93,8 +112,33 @@ export default class ${srfclassname('${item.getCodeName()}')}UILogicBase {
* @param {string} [srfParentDeName]
* @memberof GridViewLoadUILogicBase
*/
execute(args: any[], context:any = {} ,params: any = {}, $event?: any, xData?: any, actionContext?: any, srfParentDeName?: string) {
console.log('执行UILogic ${item.name}');
async execute(args: any[], context:any = {} ,params: any = {}, $event?: any, xData?: any, actioncontext?: any, srfParentDeName?: string) {
try {
const actionContext = this.beforeExecute(args, context, params, $event, xData, actioncontext, srfParentDeName);
const startNode = this.logicNodes.find((logicNode: ILogicNode) => logicNode.codeName === this.startLogicNode);
if (!startNode) {
throw new Error('没有开始节点');
}
await this.executeNode(startNode, actionContext);
return actionContext.getResult();
} catch (error: any) {
throw new Error(`${error?.message ? error?.message : '发生未知错误!'}`);
}
}
executeNode(logicNode: ILogicNode, actionContext: UIActionContext) {
try {
switch (logicNode.logicNodeType) {
case 'BEGIN':
console.log(111, '执行开始节点');
break;
case 'END':
console.log(111, '执行结束节点');
break;
}
} catch (error: any) {
}
}
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录