Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-R7
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
22
议题
22
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-R7
提交
8834bc5d
提交
8834bc5d
编写于
9月 23, 2021
作者:
Mosher
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update:更新工作流逻辑
上级
ad27066c
变更
4
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
143 行增加
和
26 行删除
+143
-26
MODEL.ts.ftl
@CONTROL/表格/MODEL.ts.ftl
+16
-0
LOGIC.vue.ftl
@LOGIC/@UIACTION/系统预置/sys/开始流程/LOGIC.vue.ftl
+112
-24
LOGIC.vue.ftl
@LOGIC/@VIEWLOGIC/编辑/LOGIC.vue.ftl
+12
-0
VIEW-BASE.vue.ftl
@VIEW/实体工作流动态编辑视图/VIEW-BASE.vue.ftl
+3
-2
未找到文件。
@CONTROL/表格/MODEL.ts.ftl
浏览文件 @
8834bc5d
...
@@ -134,6 +134,22 @@ ${P.getCtrlCode('searchform', 'MODEL_CONTENT.ts').code}
...
@@ -134,6 +134,22 @@ ${P.getCtrlCode('searchform', 'MODEL_CONTENT.ts').code}
prop: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
dataType: 'TEXT',
},
},
// 预置工作流数据字段
{
name: 'srfprocessdefinitionkey',
prop: 'srfprocessdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskdefinitionkey',
prop: 'srftaskdefinitionkey',
dataType: 'TEXT'
},
{
name: 'srftaskid',
prop: 'srftaskid',
dataType: 'TEXT'
}
]
]
}
}
}
}
...
...
@LOGIC/@UIACTION/系统预置/sys/开始流程/LOGIC.vue.ftl
浏览文件 @
8834bc5d
...
@@ -10,34 +10,121 @@
...
@@ -10,34 +10,121 @@
* @memberof ${srfclassname('${view.name}')}Base
* @memberof ${srfclassname('${view.name}')}Base
*/
*/
public ${item.getFullCodeName()}(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
public ${item.getFullCodeName()}(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const
_this
: any = this;
const
that
: any = this;
if (!xData || !(xData.wfstart instanceof Function)) {
if (!xData || !(xData.wfstart instanceof Function)) {
return;
return;
}
}
<#if view.getPSWorkflow()??>
let validateStatus: boolean = true;
<#assign curWorkflow = view.getPSWorkflow() />
if (xData.formValidateStatus && xData.formValidateStatus instanceof Function) {
<#-- 通过是否使用代理模式来区分流程启动的模式 -->
validateStatus = xData.formValidateStatus();
<#if curWorkflow.isUseWFProxyApp()>
}
xData.wfstart(args).then((response: any) => {
if (!validateStatus) {
<#else>
return;
let localdata:any = {processDefinitionKey:null};
}
xData.wfstart(args,localdata).then((response: any) => {
const startWorkFlow: Function = (param: any, localdata: any) => {
</#if>
<#if view.getPSWorkflow()??>
<#else>
<#assign curWorkflow = view.getPSWorkflow() />
xData.wfstart(args).then((response: any) => {
<#-- 通过是否使用代理模式来区分流程启动的模式 -->
</#if>
<#if curWorkflow.isUseWFProxyApp()>
if (!response || response.status !== 200) {
xData.wfstart(args).then((response: any) => {
return;
<#else>
let localdata:any = {processDefinitionKey:null};
xData.wfstart(args,localdata).then((response: any) => {
</#if>
<#else>
xData.wfstart(args).then((response: any) => {
</#if>
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
that.closeView(_data);
});
}
const openStartView: Function = async (item: any, localdata: any) => {
if (item['wfversion']) {
<#noparse>const targetView: any = that.viewRefData ? that.viewRefData[`WFSTART@${item['wfversion']}`] : null;</#noparse>
if (targetView) {
const tempContext = Util.deepCopy(that.context);
<#noparse>const tempViewParams = { actionView: `WFSTART@${item['wfversion']}`, actionForm: item['process-form'] };</#noparse>
ViewOpenService.getInstance().openModal(targetView, tempContext, tempViewParams).then((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const tempSubmitData: any = Util.deepCopy(args[0]);
if (result.datas && result.datas[0]) {
const resultData: any = result.datas[0];
if (Object.keys(resultData).length > 0) {
let tempData: any = {};
Object.keys(resultData).forEach((key: any) => {
if (resultData[key] || (resultData[key] === 0) || (resultData[key] === false)) {
tempData[key] = resultData[key];
}
})
Object.assign(tempSubmitData, tempData);
}
}
startWorkFlow([tempSubmitData], localdata);
})
} else {
startWorkFlow(args, localdata);
}
} else {
startWorkFlow(args, localdata);
}
}
const { data: _data } = response;
}
if(window.parent){
let localData: any;
window.parent.postMessage({ ..._data },'*');
const localContext = Util.deepCopy(that.context);
const requestResult: Promise<any> = that.appEntityService.getStandWorkflow(localContext);
requestResult.then((response: any) => {
const { data: targetData, status } = response;
if (status !== 200 || targetData.length === 0) {
return;
}
}
if (_this.viewdata) {
if (targetData && targetData.length > 1) {
_this.$emit('viewdataschange', [{ ..._data }]);
const h = that.$createElement;
_this.$emit('close');
targetData.forEach((element: any) => {
}else if (this.$tabPageExp) {
Object.assign(element, { value: element.definitionkey, label: element.definitionname });
this.$tabPageExp.onClose(this.$route.fullPath);
})
that.$msgbox({
title: '请选择流程版本',
message: h('i-select', {
key: Util.createUUID(),
props: {
value: localData,
placeholder: "请选择流程版本...",
transfer: true,
transferClassName: "start-workflow-select-wraper"
},
on: {
'on-change': ($event: any) => {
localData = { processDefinitionKey: $event };
}
}
}, targetData.map((item: any) => {
return h('i-option', {
key: item.value,
props: {
value: item.value,
label: item.label
}
})
})),
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then((action: string) => {
if (Object.is(action, 'confirm') && localData && Object.keys(localData).length > 0) {
let targetItem: any = targetData.find((item: any) => {
return item.definitionkey === localData.processDefinitionKey;
})
openStartView(targetItem, localData);
}
})
} else {
localData = { processDefinitionKey: targetData[0]['definitionkey'] }
targetData[0]['process-view'] = "WFSTART@1";
openStartView(targetData[0], localData);
}
}
})
;
})
}
}
\ No newline at end of file
@LOGIC/@VIEWLOGIC/编辑/LOGIC.vue.ftl
浏览文件 @
8834bc5d
...
@@ -164,6 +164,18 @@
...
@@ -164,6 +164,18 @@
<#elseif dataview.getOpenMode() == 'INDEXVIEWTAB' || dataview.getOpenMode() == ''>
<#elseif dataview.getOpenMode() == 'INDEXVIEWTAB' || dataview.getOpenMode() == ''>
<#-- 打开顶级分页视图 -->
<#-- 打开顶级分页视图 -->
const _this: any = this;
const _this: any = this;
if (fullargs && fullargs.length > 0) {
const _args = fullargs[0];
if (_args['srfprocessdefinitionkey'] && _args['srftaskdefinitionkey']) {
Object.assign(data, {
processDefinitionKey: _args['srfprocessdefinitionkey'],
taskDefinitionKey: _args['srftaskdefinitionkey']
});
if (_args['srftaskid']) {
Object.assign(data, { 'srftaskid': _args['srftaskid'] });
}
}
}
if(fullargs && fullargs.copymode){
if(fullargs && fullargs.copymode){
Object.assign(data,{copymode:true});
Object.assign(data,{copymode:true});
}
}
...
...
@VIEW/实体工作流动态编辑视图/VIEW-BASE.vue.ftl
浏览文件 @
8834bc5d
...
@@ -52,8 +52,9 @@
...
@@ -52,8 +52,9 @@
public getWFLinkModel():Promise<any>{
public getWFLinkModel():Promise<any>{
return new Promise((resolve:any, reject:any) =>{
return new Promise((resolve:any, reject:any) =>{
let datas: any[] = [];
let datas: any[] = [];
if(Object.keys(this.viewparams).length > 0){
if (Object.keys(this.viewparams).length > 0) {
Object.assign(datas,{'taskDefinitionKey':this.viewparams.userTaskId});
Object.assign(datas, { 'processDefinitionKey': this.viewparams.processDefinitionKey });
Object.assign(datas, { 'taskDefinitionKey': this.viewparams.taskDefinitionKey });
}
}
this.appEntityService.GetWFLink(JSON.parse(JSON.stringify(this.context)),datas,true).then((response:any) =>{
this.appEntityService.GetWFLink(JSON.parse(JSON.stringify(this.context)),datas,true).then((response:any) =>{
if (response && response.status === 200) {
if (response && response.status === 200) {
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录