Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-R7
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
22
议题
22
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-R7
提交
30c0271a
提交
30c0271a
编写于
11月 10, 2022
作者:
Shine-zwj
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update:更新
上级
046ef750
变更
2
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
231 行增加
和
219 行删除
+231
-219
CONTROL-BASE.vue.ftl
@CONTROL/面板/CONTROL-BASE.vue.ftl
+14
-144
PANEL.ftl
@MACRO/PANEL.ftl
+217
-75
未找到文件。
@CONTROL/面板/CONTROL-BASE.vue.ftl
浏览文件 @
30c0271a
...
...
@@ -102,120 +102,19 @@ import UIService from '@/uiservice/ui-service';
public appUIService:UIService = new UIService();
</#if>
/**
* 视图布局是否加载
*
* @public
* @memberof ${srfclassname('${ctrl.name}')}Base
*/
public isLayoutLoadding: boolean = false;
/**
* 视图布局数据
*
* @public
* @memberof ${srfclassname('${ctrl.name}')}Base
*/
public layoutData:any = {};
/**
* 视图布局面板模型对象
*
* @public
* @memberof ${srfclassname('${ctrl.name}')}Base
*/
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>
/**
* 初始化布局
*
* @public
* @memberof ${srfclassname('${ctrl.name}')}Base
*/
public async initLayout() {
if (this.rootLayoutDetailNames.length > 0) {
for (let i = 0; i < this.rootLayoutDetailNames.length; i++) {
const name = this.rootLayoutDetailNames[i];
const rootItem = this.layoutItems[name];
if (!rootItem) {
return;
}
await this.initLayoutItem(rootItem);
}
}
return true;
}
<#assign panelItems = ctrl.getAllPSPanelItems()>
<#assign type='ITEMLAYOUT' />
<#assign item=ctrl />
<@getLayoutItemModel panelItems type view item/>
</#assign>
/**
* 初始化布局项
*
* @public
* @memberof ${srfclassname('${ctrl.name}')}Base
*/
public async initLayoutItem(layoutModelItem: any, index: number = 0) {
const { name } = layoutModelItem;
const layoutModelDetail = Util.getLayoutItemInstance(layoutModelItem);
if (!index) {
await layoutModelDetail.load(this.context, this.viewparams);
this.$set(this.layoutModelDetails, name, layoutModelDetail);
this.$set(this.layoutData, name, layoutModelDetail.getData());
} else {
layoutModelDetail.setIndex(index);
await layoutModelDetail.load(this.context, this.viewparams);
<#noparse>this.$set(this.layoutModelDetails, `${name}_${index}`, layoutModelDetail);</#noparse>
<#noparse>this.$set(this.layoutData, `${name}_${index}`, layoutModelDetail.getData());</#noparse>
}
if (layoutModelDetail && layoutModelDetail.details) {
if (layoutModelDetail.dataRegionType === 'MULTIDATA') {
const multiData = layoutModelDetail.getData();
if (multiData && multiData.length > 0) {
for (let i = 0; i < multiData.length; i++) {
for (let j = 0; j < layoutModelDetail.details.length; j++) {
const key = layoutModelDetail.details[j];
if (this.layoutItems[key]) {
await this.initLayoutItem(this.layoutItems[key], i);
}
}
}
}
} else {
for (let i = 0; i < layoutModelDetail.details.length; i++) {
const key = layoutModelDetail.details[i];
if (this.layoutItems[key]) {
await this.initLayoutItem(this.layoutItems[key],index);
}
}
}
}
}
/**
* 视图布局面板项模型对象
*
* @public
* @memberof ${srfclassname('${ctrl.name}')}Base
*/
public layoutItems:any = {
<#if ctrl.getAllPSPanelItems()??>
<#assign panelItems = ctrl.getAllPSPanelItems() />
<#assign type='ITEMLAYOUT' />
<@getLayoutItemModel panelItems type view />
</#if>
};
<#assign item=ctrl>
<#assign rootPanelItems=null />
<#if ctrl.getRootPSPanelItems?? && ctrl.getRootPSPanelItems()??>
<#assign rootPanelItems=ctrl.getRootPSPanelItems()>
</#if>
<@initLayout rootPanelItems item/>
</#assign>
/**
* 监听数据对象
...
...
@@ -333,20 +232,6 @@ import UIService from '@/uiservice/ui-service';
this.panelEditItemChange(name, value);
}
/**
* 计算按钮权限状态
*
* @public
* @memberof ${srfclassname('${ctrl.name}')}Base
*/
public computeButtonAuthState() {
Object.values(this.layoutModelDetails).forEach((layoutModel: any) => {
if (layoutModel.itemType == 'BUTTON') {
layoutModel.computeActionAuthState();
}
})
}
/**
* 面板编辑项值变化后续操作
*
...
...
@@ -368,26 +253,11 @@ import UIService from '@/uiservice/ui-service';
}
}
/**
* 面板逻辑
*
* @public
* @params name 改变项名称
* @params index 多数据容器下标
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public panelLogic(name: string, index?: number): void {
if (name && (index || index === 0)) {
<#noparse>name = name.replace(`_${index}`,"");</#noparse>
}
<#list ctrl.getAllPSPanelItems() as panelItem>
<@getPanelItemLogic panelItem />
</#list>
}
<#if ctrl.getAllPSPanelItems()??>
<#assign panelItems = ctrl.getAllPSPanelItems() />
<#assign item = ctrl />
<@panelDynamicLogic panelItems item />
<@handleButtonClick panelItems item />
</#if>
...
...
@MACRO/PANEL.ftl
浏览文件 @
30c0271a
此差异已折叠。
点击以展开。
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录