Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-R7
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
22
议题
22
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-R7
提交
cbc336af
提交
cbc336af
编写于
11月 09, 2022
作者:
Mosher
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add:新增部件逻辑
上级
d0e8e267
变更
2
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
86 行增加
和
0 行删除
+86
-0
control-logic.txt
@CONTROL/@MACRO/CONTROL/@MACRO/control-logic.txt
+80
-0
CONTROL_HEADER-BASE.vue.ftl
@CONTROL/@MACRO/CONTROL/CONTROL_HEADER-BASE.vue.ftl
+6
-0
未找到文件。
@CONTROL/@MACRO/CONTROL/@MACRO/control-logic.txt
0 → 100644
浏览文件 @
cbc336af
<#macro initControlEvents ctrl view>
/**
* 处理部件事件
*
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public handleCtrlEvents(eventName: string, args: any = {}): Promise<boolean> {
const data = args && args.data ? args.data : this.getData() || {};
const event = args && args.event ? args.event : {};
const result = await this.executeCtrlLogic(eventName, data, event);
if (result && result.hasOwnProperty('srfret') && (result.srfret === 'false' || result.srfret === false)) {
return false;
}
this.$emit(eventName, data, event);
return true;
}
/**
* 执行部件逻辑(由部件触发)
*
* @param {string} eventName 部件事件名称
* @param {any[]} data 数据
* @param {*} event 源事件对象
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public async executeCtrlLogic(eventName: string, data: any[], event?: any): Promise<boolean> {
<#if ctrl.getPSControlLogics?? && ctrl.getPSControlLogics()??>
<#list ctrl.getPSControlLogics() as logic>
<#if logic.getLogicType() != 'APPVIEWLOGIC' && logic.getTriggerType() == 'CTRLEVENT'>
if ('${logic.getEventNames()?lower_case}'.indexOf(eventName) !== -1) {
return await this.execute_${logic.name}_ctrl_logic(data, event);
}
</#if>
</#list>
</#if>
return true;
}
<#if ctrl.getPSControlLogics?? && ctrl.getPSControlLogics()??>
<#list ctrl.getPSControlLogics() as logic>
<#if logic.getLogicType() != 'APPVIEWLOGIC' && logic.getTriggerType() == 'CTRLEVENT'>
/**
* 部件逻辑 -- ${logic.name}
*
* @param {string} eventName 部件事件名称
* @param {any[]} data 数据
* @param {*} event 源事件对象
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public async execute_${logic.name}_ctrl_logic(data: any[], event?: any): Promise<boolean> {
<#if logic.getLogicType() == 'DEUILOGIC'>
<#if logic.getPSAppDEUILogic?? && logic.getPSAppDEUILogic()??>
try {
const uiService = await window.uiServiceRegister.getService('${logic.getPSAppDEUILogic().getPSAppDataEntity().getCodeName()?lower_case}');
if (uiService) {
const result = await uiService.executeUILogic(
'${logic.getPSAppDEUILogic().codeName}',
data,
Util.deepCopy(this.context),
Util.deepCopy(this.viewparams),
event,
this,
this.viewCtx && this.viewCtx.view ? this.viewCtx.view : {},
this.context.srfparentdename ? this.context.srfparentdename : ''
);
if (result && result.hasOwnProperty('srfret') && (result.srfret === 'false' || result.srfret === false)) {
return false;
}
}
} catch (error: any) {
}
</#if>
</#if>
return true;
}
</#if>
</#list>
</#if>
</#macro>
@CONTROL/@MACRO/CONTROL/CONTROL_HEADER-BASE.vue.ftl
浏览文件 @
cbc336af
...
...
@@ -242,6 +242,12 @@ ${P.getLogicCode(uiAction, "LOGIC.vue").code}
})
}
}
<#ibizinclude>
./@MACRO/control-logic.txt
</#ibizinclude>
<#-- START: 部件事件 -->
<@initControlEvents ctrl view/>
<#-- END: 部件事件 -->
<#if ctrl.render?? && ctrl.render.code2??>
${ctrl.render.code2}
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录