Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-R7
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
22
议题
22
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-R7
提交
a48cbd5f
提交
a48cbd5f
编写于
11月 04, 2022
作者:
Shine-zwj
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update:更新
上级
fa45dc9c
变更
10
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
642 行增加
和
54 行删除
+642
-54
BACKEND.ftl
...RO/VIEW_LAYOUTPANEL/VIEW_LAYOUTPANEL_UIACTION/BACKEND.ftl
+219
-0
CUSTOM.ftl
...CRO/VIEW_LAYOUTPANEL/VIEW_LAYOUTPANEL_UIACTION/CUSTOM.ftl
+22
-0
FRONT.ftl
...ACRO/VIEW_LAYOUTPANEL/VIEW_LAYOUTPANEL_UIACTION/FRONT.ftl
+1
-1
DATA_CREATEOBJECT.ftl
...PANEL/VIEW_LAYOUTPANEL_UIACTION/SYS/DATA_CREATEOBJECT.ftl
+3
-12
DATA_REMOVEOBJECT.ftl
...PANEL/VIEW_LAYOUTPANEL_UIACTION/SYS/DATA_REMOVEOBJECT.ftl
+3
-12
DATA_SAVECHANGES.ftl
...TPANEL/VIEW_LAYOUTPANEL_UIACTION/SYS/DATA_SAVECHANGES.ftl
+4
-13
DATA_SYNCHRONIZE.ftl
...TPANEL/VIEW_LAYOUTPANEL_UIACTION/SYS/DATA_SYNCHRONIZE.ftl
+3
-12
VIEW_LAYOUTPANEL_UIACTION.ftl
...L/VIEW_LAYOUTPANEL_UIACTION/VIEW_LAYOUTPANEL_UIACTION.ftl
+16
-4
WFBACKEND.ftl
.../VIEW_LAYOUTPANEL/VIEW_LAYOUTPANEL_UIACTION/WFBACKEND.ftl
+158
-0
WFFRONT.ftl
...RO/VIEW_LAYOUTPANEL/VIEW_LAYOUTPANEL_UIACTION/WFFRONT.ftl
+213
-0
未找到文件。
@VIEW/@MACRO/VIEW_LAYOUTPANEL/VIEW_LAYOUTPANEL_UIACTION/BACKEND.ftl
0 → 100644
浏览文件 @
a48cbd5f
此差异已折叠。
点击以展开。
@VIEW/@MACRO/VIEW_LAYOUTPANEL/VIEW_LAYOUTPANEL_UIACTION/CUSTOM.ftl
0 → 100644
浏览文件 @
a48cbd5f
<#-- 自定义行为 -->
<#macro custom item>
/**
* ${item.getCaption()}
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
*/
public ${item.getFullCodeName()}(args: any[], context: any = {}, params: any = {}, $event?: any, xData?: any, actionContext?: any, srfParentDeName?: string) {
<#if item.getScriptCode?? && item.getScriptCode()??>
const data = args;
eval('${item.getScriptCode()}');
<#else>
this.$Notice.error({ title: '错误', desc: '自定义行为未实现' });
</#if>
}
</#macro>
\ No newline at end of file
@VIEW/@MACRO/VIEW_LAYOUTPANEL/VIEW_LAYOUTPANEL_UIACTION/FRONT.ftl
浏览文件 @
a48cbd5f
...
@@ -18,7 +18,7 @@ ${front_block}
...
@@ -18,7 +18,7 @@ ${front_block}
* @memberof ${srfclassname('${item.getPSAppDataEntity().getCodeName()}')}UIService
* @memberof ${srfclassname('${item.getPSAppDataEntity().getCodeName()}')}UIService
</#if>
</#if>
*/
*/
public async ${item.getFullCodeName()}(args: any[], context:
any = {} ,params: any={}, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:
string) {
public async ${item.getFullCodeName()}(args: any[], context:
any = {}, params: any={}, $event?: any, xData?: any, actionContext?: any, srfParentDeName?:
string) {
<#if item.render??>
<#if item.render??>
${item.render.code}
${item.render.code}
...
...
@VIEW/@MACRO/VIEW_LAYOUTPANEL/VIEW_LAYOUTPANEL_UIACTION/SYS/DATA_CREATEOBJECT.ftl
浏览文件 @
a48cbd5f
...
@@ -4,23 +4,14 @@
...
@@ -4,23 +4,14 @@
* ${item.getCaption()}
* ${item.getCaption()}
*
*
* @param {any[]} args 当前数据
* @param {any[]} args 当前数据
* @param {any} context
JO
行为附加上下文
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @param {*} [srfParentDeName] 父实体名称
*/
*/
public ${item.getFullCodeName()}(args: any[], contextJO?:any, params?: any, $event?: any, xData?: any, actionContext?:any, srfParentDeName?:string) {
public ${item.getFullCodeName()}(args: any[], context: any = {}, params: any = {}, $event?: any, xData?: any, actionContext?: any, srfParentDeName?: string) {
if (xData && xData.create instanceof Function) {
// TODO 建立数据
xData.create().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
this.$emit('viewdataschange', [{ ...response.data }]);
});
} else {
this.$Notice.error({ title: '错误', desc: '建立数据未支持' });
}
}
}
</#macro>
</#macro>
\ No newline at end of file
@VIEW/@MACRO/VIEW_LAYOUTPANEL/VIEW_LAYOUTPANEL_UIACTION/SYS/DATA_REMOVEOBJECT.ftl
浏览文件 @
a48cbd5f
...
@@ -4,23 +4,14 @@
...
@@ -4,23 +4,14 @@
* ${item.getCaption()}
* ${item.getCaption()}
*
*
* @param {any[]} args 当前数据
* @param {any[]} args 当前数据
* @param {any} context
JO
行为附加上下文
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @param {*} [srfParentDeName] 父实体名称
*/
*/
public ${item.getFullCodeName()}(args: any[], contextJO?:any, params?: any, $event?: any, xData?: any, actionContext?:any, srfParentDeName?:string) {
public ${item.getFullCodeName()}(args: any[], context: any = {}, params: any = {}, $event?: any, xData?: any, actionContext?: any, srfParentDeName?: string) {
if (xData && xData.remove instanceof Function) {
// TODO 删除数据
xData.remove().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
this.$emit('viewdataschange', [{ ...response.data }]);
});
} else {
this.$Notice.error({ title: '错误', desc: '删除数据未支持' });
}
}
}
</#macro>
</#macro>
\ No newline at end of file
@VIEW/@MACRO/VIEW_LAYOUTPANEL/VIEW_LAYOUTPANEL_UIACTION/SYS/DATA_SAVECHANGES.ftl
浏览文件 @
a48cbd5f
<#-- 保存
数据
-->
<#-- 保存
变更
-->
<#macro dataSaveChanges item>
<#macro dataSaveChanges item>
/**
/**
* ${item.getCaption()}
* ${item.getCaption()}
*
*
* @param {any[]} args 当前数据
* @param {any[]} args 当前数据
* @param {any} context
JO
行为附加上下文
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @param {*} [srfParentDeName] 父实体名称
*/
*/
public ${item.getFullCodeName()}(args: any[], contextJO?:any, params?: any, $event?: any, xData?: any, actionContext?:any, srfParentDeName?:string) {
public ${item.getFullCodeName()}(args: any[], context: any = {}, params: any = {}, $event?: any, xData?: any, actionContext?: any, srfParentDeName?: string) {
if (xData && xData.save instanceof Function) {
// TODO 保存变更
xData.save().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
this.$emit('viewdataschange', [{ ...response.data }]);
});
} else {
this.$Notice.error({ title: '错误', desc: '保存数据未支持' });
}
}
}
</#macro>
</#macro>
\ No newline at end of file
@VIEW/@MACRO/VIEW_LAYOUTPANEL/VIEW_LAYOUTPANEL_UIACTION/SYS/DATA_SYNCHRONIZE.ftl
浏览文件 @
a48cbd5f
...
@@ -4,23 +4,14 @@
...
@@ -4,23 +4,14 @@
* ${item.getCaption()}
* ${item.getCaption()}
*
*
* @param {any[]} args 当前数据
* @param {any[]} args 当前数据
* @param {any} context
JO
行为附加上下文
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @param {*} [srfParentDeName] 父实体名称
*/
*/
public ${item.getFullCodeName()}(args: any[], contextJO?:any, params?: any, $event?: any, xData?: any, actionContext?:any, srfParentDeName?:string) {
public ${item.getFullCodeName()}(args: any[], context: any = {}, params: any = {}, $event?: any, xData?: any, actionContext?: any, srfParentDeName?: string) {
if (xData && xData.synchronize instanceof Function) {
// TODO 同步数据
xData.synchronize().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
this.$emit('viewdataschange', [{ ...response.data }]);
});
} else {
this.$Notice.error({ title: '错误', desc: '同步数据未支持' });
}
}
}
</#macro>
</#macro>
\ No newline at end of file
@VIEW/@MACRO/VIEW_LAYOUTPANEL/VIEW_LAYOUTPANEL_UIACTION/VIEW_LAYOUTPANEL_UIACTION.ftl
浏览文件 @
a48cbd5f
...
@@ -5,22 +5,34 @@
...
@@ -5,22 +5,34 @@
./FRONT.ftl
./FRONT.ftl
</#ibizinclude>
</#ibizinclude>
<#ibizinclude>
<#ibizinclude>
./BACKEND.ftl
</#ibizinclude>
<#ibizinclude>
./WFFRONT.ftl
</#ibizinclude>
<#ibizinclude>
./WFBACKEND.ftl
</#ibizinclude>
<#ibizinclude>
./SYS/SYS.ftl
./SYS/SYS.ftl
</#ibizinclude>
</#ibizinclude>
<#ibizinclude>
./CUSTOM.ftl
</#ibizinclude>
<#macro viewLayoutPanelUIAction item>
<#macro viewLayoutPanelUIAction item>
<#if item.getUIActionMode?? && item.getUIActionMode()??>
<#if item.getUIActionMode?? && item.getUIActionMode()??>
<#if item.getUIActionMode() == 'FRONT'>
<#if item.getUIActionMode() == 'FRONT'>
<@front item />
<@front item />
<#elseif item.getUIActionMode() == 'BACKEND'>
<#elseif item.getUIActionMode() == 'BACKEND'>
// 后台调用
<@backend item />
<#elseif item.getUIActionMode() == 'WFFRONT'>
<#elseif item.getUIActionMode() == 'WFFRONT'>
// 工作流前台调用
<@wfFront item />
<#elseif item.getUIActionMode() == 'WFBACKEND'>
<#elseif item.getUIActionMode() == 'WFBACKEND'>
// 工作流后台调用
<@wfBackend item />
<#elseif item.getUIActionMode() == 'SYS'>
<#elseif item.getUIActionMode() == 'SYS'>
<@sys item />
<@sys item />
<#elseif item.getUIActionMode() == 'CUSTOM'>
<#elseif item.getUIActionMode() == 'CUSTOM'>
// 自定义
<@custom item />
</#if>
</#if>
</#if>
</#if>
</#macro>
</#macro>
\ No newline at end of file
@VIEW/@MACRO/VIEW_LAYOUTPANEL/VIEW_LAYOUTPANEL_UIACTION/WFBACKEND.ftl
0 → 100644
浏览文件 @
a48cbd5f
<#macro wfBackend item>
/**
* ${item.getCaption()}
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
<#if item.getPSWFVersion?? && item.getPSWFVersion()??>
* @memberof ${srfclassname('${item.getPSWFVersion().getCodeName()}')}WFUIService<#t>
<#elseif item.getPSAppDataEntity?? && item.getPSAppDataEntity()??>
* @memberof ${srfclassname('${item.getPSAppDataEntity().getCodeName()}')}UIService<#t>
</#if>
*/
public async ${item.getFullCodeName()}(args: any[], context: any = {}, params: any = {}, $event?: any, xData?: any, actionContext?: any, srfParentDeName?: string) {
<#if item.render??>
${item.render.code}
<#else>
<#if item.getPSAppDataEntity?? && item.getPSAppDataEntity()??>
<#if item.getActionTarget() == 'SINGLEDATA'>
actionContext.$Notice.error({ title: '错误', desc: '不支持单项数据' });
<#elseif item.getActionTarget() == 'MULTIDATA'>
actionContext.$Notice.error({ title: '错误', desc: '不支持多项数据' });
<#else>
let data: any = {};
let parentContext:any = {};
let parentViewParam:any = {};
const _this: any = actionContext;
if(!args || args.length <1){
console.error("错误,无数据传入");
}
let tempsrfmome:any = {srfwfmemo:args[0].srfwfmemo};
<#-- 是否先保存目标数据start -->
<#if item.isSaveTargetFirst()>
const result:any = await xData.save(args,false);
args = [result.data];
</#if>
<#-- 是否先保存目标数据end -->
const _args: any[] = Util.deepCopy(args);
const actionTarget: string | null = <#if item.getActionTarget()??>'${item.getActionTarget()}'<#else>null</#if>;
<#if item.getPSAppDataEntity?? && item.getPSAppDataEntity()??>
<#assign appDataEntity = item.getPSAppDataEntity() />
<#if item.getActionTarget() == 'SINGLEKEY' || item.getActionTarget() == 'MULTIKEY'>
<#assign valueItem><#if item.getValueItem?? && item.getValueItem() != ''>${item.getValueItem()}<#else>${appDataEntity.getKeyPSAppDEField().getCodeName()?lower_case}</#if></#assign>
<#assign paramItem><#if item.getParamItem?? && item.getParamItem() != ''>${item.getParamItem()}<#else>${appDataEntity.getKeyPSAppDEField().getCodeName()?lower_case}</#if></#assign>
<#assign textItem><#if item.getTextItem?? && item.getTextItem() != ''>${item.getTextItem()}<#else>${appDataEntity.getMajorPSAppDEField().getCodeName()?lower_case}</#if></#assign>
<#if valueItem == paramItem>
Object.assign(context, { ${appDataEntity.getCodeName()?lower_case}: '%${valueItem}%' });
Object.assign(params, { ${valueItem}: '%${valueItem}%' });
Object.assign(params, { ${textItem}: '%${textItem}%' })
<#else>
Object.assign(context, { ${appDataEntity.getCodeName()?lower_case}: '%${paramItem}%' });
Object.assign(params, { ${valueItem}: '%${paramItem}%' });
Object.assign(params, { ${textItem}: '%${textItem}%' });
</#if>
</#if>
</#if>
if(_this.context){
parentContext = _this.context;
}
if(_this.viewparams){
parentViewParam = _this.viewparams;
}
context = UIActionTool.handleContextParam(actionTarget,_args,parentContext,parentViewParam,context);
data = UIActionTool.handleActionParam(actionTarget,_args,parentContext,parentViewParam,params);
//转化表单界面数据
const resultData:any = xData.service.handleRequestData('',actionContext.context,_args[0]);
Object.assign(context,resultData.context,context);
Object.assign(data,resultData.data,{viewparams:actionContext.viewparams});
Object.assign(data,tempsrfmome);
<#-- 构建srfparentdename和srfparentkey start -->
let parentObj:any = {srfparentdename:srfParentDeName?srfParentDeName:null,srfparentkey:srfParentDeName?context[srfParentDeName.toLowerCase()]:null};
Object.assign(data,parentObj);
Object.assign(context,parentObj);
<#-- 构建srfparentdename和srfparentkey end -->
const backend = () => {
<#if item.getPSAppDataEntity?? && item.getPSAppDataEntity()??>
const curService:${srfclassname('${item.getPSAppDataEntity().getCodeName()}')}Service = new ${srfclassname('${item.getPSAppDataEntity().getCodeName()}')}Service();
curService.WFSubmit(context,data, ${item.isShowBusyIndicator()?c}).then((response: any) => {
if (!response || response.status !== 200) {
actionContext.$Notice.error({ title: '错误', desc: response.message });
return;
}
<#if item.getSuccessMsg?? && item.getSuccessMsg()??>
actionContext.$Notice.success({ title: '成功', desc: '${item.getSuccessMsg()}' });
<#else>
actionContext.$Notice.success({ title: '成功', desc: '${item.getCaption()}成功!' });
</#if>
<#-- if(window.opener){
window.opener.postMessage({status:'OK',identification:'WF'},Environment.uniteAddress);
window.close();
} -->
return response;
}).catch((response: any) => {
if (!response || !response.status || !response.data) {
actionContext.$Notice.error({ title: '错误', desc: '系统异常!' });
return;
}
if (response.status === 401) {
return;
}
return null;
});
</#if>
};
<#if item.getFrontPSAppView()??>
<#assign frontview = item.getFrontPSAppView()>
<#if frontview.getOpenMode()?index_of('DRAWER') == 0>
const view: any = {
viewname: '${srffilepath2(frontview.getCodeName())}',
title: actionContext.<@getViewLanguageTitle frontview />,
height: ${frontview.getHeight()?c},
width: ${frontview.getWidth()?c},
placement: '${frontview.getOpenMode()}'
};
const appdrawer = actionContext.$appdrawer.openDrawer(view,context,data);
appdrawer.subscribe((result: any) => {
if (result && Object.is(result.ret, 'OK')) {
Object.assign(data, { srfactionparam: result.datas });
backend();
}
});
<#else>
const view = {
viewname: '${srffilepath2(frontview.getCodeName())}',
title: actionContext.<@getViewLanguageTitle frontview />,
height: ${frontview.getHeight()?c},
width: ${frontview.getWidth()?c},
};
const appmodal = actionContext.$appmodal.openModal(view,context,data);
appmodal.subscribe((result:any) => {
if (result && Object.is(result.ret, 'OK')) {
Object.assign(data, { srfactionparam: result.datas });
backend();
}
});
</#if>
<#elseif item.getConfirmMsg?? && item.getConfirmMsg()??>
actionContext.$Modal.confirm({
title: '警告',
content: '${item.getConfirmMsg()}',
onOk: () => {
backend();
},
onCancel: () => { }
});
<#else>
backend();
</#if>
</#if>
</#if>
</#if>
}
</#macro>
\ No newline at end of file
@VIEW/@MACRO/VIEW_LAYOUTPANEL/VIEW_LAYOUTPANEL_UIACTION/WFFRONT.ftl
0 → 100644
浏览文件 @
a48cbd5f
此差异已折叠。
点击以展开。
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录