Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-R7
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
22
议题
22
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-R7
提交
0d0e2b84
提交
0d0e2b84
编写于
11月 08, 2022
作者:
Shine-zwj
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update:更新
上级
ba73d4da
变更
2
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
96 行增加
和
25 行删除
+96
-25
CONTROL_HEADER-BASE.vue.ftl
@CONTROL/@MACRO/CONTROL/CONTROL_HEADER-BASE.vue.ftl
+2
-2
CONTROL-BASE.vue.ftl
@CONTROL/面板/CONTROL-BASE.vue.ftl
+94
-23
未找到文件。
@CONTROL/@MACRO/CONTROL/CONTROL_HEADER-BASE.vue.ftl
浏览文件 @
0d0e2b84
...
...
@@ -184,7 +184,7 @@ export default class ${srfclassname('${ctrl.codeName}')}Base extends Vue impleme
</#list>
</#if>
<#if ctrl.getPSAppViewLogics?? && ctrl.getPSAppViewLogics()??>
<#if ctrl.get
ControlType() != 'PANEL' && ctrl.get
PSAppViewLogics?? && ctrl.getPSAppViewLogics()??>
<#list ctrl.getPSAppViewLogics() as logic>
<#if logic.getLogicTrigger() == "CUSTOM" || logic.getLogicTrigger() == "CTRLEVENT">
...
...
@@ -193,7 +193,7 @@ ${P.getLogicCode(logic, "LOGIC.vue").code}
</#list>
</#if>
<#if ctrl.getPSUIActions?? && ctrl.getPSUIActions()??>
<#if ctrl.get
ControlType() != 'PANEL' && ctrl.get
PSUIActions?? && ctrl.getPSUIActions()??>
<#list ctrl.getPSUIActions() as uiAction>
<#if !uiAction.getPSAppDataEntity()??>
${P.getLogicCode(uiAction, "LOGIC.vue").code}
...
...
@CONTROL/面板/CONTROL-BASE.vue.ftl
浏览文件 @
0d0e2b84
...
...
@@ -126,6 +126,20 @@ import UIService from '@/uiservice/ui-service';
*/
public layoutModelDetails:any = {};
/**
* 视图布局顶级成员名称
*
* @public
* @memberof ${srfclassname('${ctrl.name}')}Base
*/
public rootLayoutDetailNames: string[] = <@compress single_line=true>[
<#if ctrl.getRootPSPanelItems?? && ctrl.getRootPSPanelItems()??>
<#list ctrl.getRootPSPanelItems() as panelItem>
'${panelItem.name}'<#if panelItem_has_next>,</#if>
</#list>
</#if>
];</@compress>
/**
* 初始化布局
*
...
...
@@ -369,7 +383,7 @@ import UIService from '@/uiservice/ui-service';
this.computedUIData(newVal);
this.layoutData = Util.deepCopy(newVal);
this.computeButtonState(newVal);
this.panelLogic(
{ name: '', newVal: null, oldVal: null }
);
this.panelLogic(
''
);
this.$forceUpdate();
}
}
...
...
@@ -411,27 +425,6 @@ import UIService from '@/uiservice/ui-service';
}
}
/**
* 界面行为
*
* @param {*} row
* @param {*} tag
* @param {*} $event
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public uiAction(row: any, tag: any, $event: any) {
<#if ctrl.getPSAppViewLogics()??>
<#list ctrl.getPSAppViewLogics() as logic>
<#if logic.getPSAppViewUIAction().getPSUIAction()??>
<#assign action = logic.getPSAppViewUIAction().getPSUIAction()>
if(Object.is('${action.getUIActionTag()}', tag)) {
this.${logic.getName()}(row, tag, $event);
}
</#if>
</#list>
</#if>
}
/**
* 打开编辑数据视图
*
...
...
@@ -496,7 +489,7 @@ import UIService from '@/uiservice/ui-service';
this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value);
this.panelLogic(name);
this.panelEditItemChange(
data, name, nam
e);
this.panelEditItemChange(
this.data, name, valu
e);
}
/**
...
...
@@ -534,6 +527,84 @@ import UIService from '@/uiservice/ui-service';
</#if>
}
/**
* 获取按钮行为xData
*
* @public
* @memberof ${srfclassname('${ctrl.name}')}Base
*/
public getButtonXData(name: string): any {
let xData = null;
let curLayoutModel = null;
Object.values(this.layoutModelDetails).forEach((layoutModel: any) => {
if (layoutModel.name == name) {
curLayoutModel = layoutModel;
}
})
// 获取数据容器
if (curLayoutModel) {
const getDataArea = (cLayoutModel: any): any => {
let dataArea = null;
let parentLayoutModel = null;
Object.values(this.layoutModelDetails).forEach((pLayoutModel: any) => {
if (pLayoutModel.name == cLayoutModel.parentName) {
parentLayoutModel = pLayoutModel;
if (parentLayoutModel.dataRegionType == 'SINGLEDATA' || parentLayoutModel.dataRegionType == 'MULTIDATA') {
dataArea = parentLayoutModel;
}
}
})
if (!dataArea && parentLayoutModel) {
dataArea = getDataArea(parentLayoutModel);
}
return dataArea;
}
xData = getDataArea(curLayoutModel);
}
// 获取当前视图
if (!xData) {
xData = this;
}
return xData;
}
/**
* 处理按钮点击
*
* @public
* @memberof ${srfclassname('${ctrl.name}')}Base
*/
public handleButtonClick(name: string, $event?: any) {
const datas: any[] = [this.layoutData];
const xData: any = this.getButtonXData(name);
const paramJO: any = {};
const contextJO: any = {};
const _this: any = this;
<#list ctrl.getAllPSPanelItems() as panelItem>
<#if panelItem.getItemType() == 'BUTTON' && panelItem.getPSUIAction?? && panelItem.getPSUIAction()??>
if (Object.is(name, '${panelItem.name}')) {
<#if panelItem.getPSUIAction().getPSAppDataEntity?? && panelItem.getPSUIAction().getPSAppDataEntity()?? && panelItem.getPSUIAction().getUIActionMode()?? && (panelItem.getPSUIAction().getUIActionMode() == "FRONT" || panelItem.getPSUIAction().getUIActionMode() == "BACKEND" || panelItem.getPSUIAction().getUIActionMode() == "WFFRONT" || panelItem.getPSUIAction().getUIActionMode() == "WFBACKEND")>
<#assign curAppEntity = panelItem.getPSUIAction().getPSAppDataEntity() />
const curUIService: ${srfclassname('${curAppEntity.codeName}')}UIService = new ${srfclassname('${curAppEntity.codeName}')}UIService();
curUIService.${panelItem.getPSUIAction().getFullCodeName()}(datas, contextJO, paramJO, $event, xData, this, undefined);
<#else>
_this.${panelItem.getPSUIAction().getFullCodeName()}(datas, contextJO, paramJO, $event, xData, this, undefined);
</#if>
}
</#if>
</#list>
}
<#if ctrl.getPSUIActions?? && ctrl.getPSUIActions()??>
<#list ctrl.getPSUIActions() as uiAction>
<#if !P.exists("importService", uiAction.getFullCodeName(), "")>
<#if !(uiAction.getPSAppDataEntity?? && uiAction.getPSAppDataEntity()??) || (uiAction.getPSAppDataEntity?? && uiAction.getPSAppDataEntity()?? && uiAction.getUIActionMode?? && (uiAction.getUIActionMode() == 'SYS' || uiAction.getUIActionMode() == 'CUSTOM'))>
<@viewLayoutPanelUIAction item=uiAction />
</#if>
</#if>
</#list>
</#if>
<#ibizinclude>
../@MACRO/CONTROL/CONTROL_BOTTOM-BASE.vue.ftl
</#ibizinclude>
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录