本帖最后由 willning 于 2022-8-15 15:34 编辑
重要提示
活字格在V8.0中提供“流程中心”,可直接解决该问题。
观看工作流教学课程
============以下为旧版本的解决方案,适用于V7.0 Update 1及更早期版本============
对于活字格的工作流,相信大家已经很熟悉了,但我们往往真实的使用环境下,可能会有好几个表都需要有工作流,比如下面的截图
请假表需要走工作流,但是报销表也需要走工作流,当然在的业务可能比我这里举的例子中的表更多,越多,我们就会越有一个期望,我们在想做待办的时候,总是想将所有有待办事项,都放到同一个表里统一提醒这样比较的方便。
那么在活字格中应该怎么解决这个问题呢?
答案很简单就是----视图。
我们这个例子中,有2个表第一个是“请假”一个是“报销”,我们的视图是要这样写的- with cte as (
- Select FGC_AssignTo,FGC_State,"请假表" as tablename,id||"请假表" as key,id as "原表ID" from 请假
- union all
- select FGC_AssignTo,FGC_State,"报销表" as tablename,id||"报销表" as key,id as "原表ID" from 报销
- )
- select
- (select count(*) from cte b where a.key >= b.key) as ID,
- tablename as 目标表,
- FGC_AssignTo,
- FGC_State as 状态,
- 原表ID
- from cte as a
- order by key
复制代码
PS:如果有多个表的时候,找上面的继续往这个地方加就行,
大致的做法如下
with cte as (
Select FGC_AssignTo,FGC_State,"请假表" as tablename,id||"请假表" as key,id as "原表ID" from 请假
union all
select FGC_AssignTo,FGC_State,"报销表" as tablename,id||"报销表" as key,id as "原表ID" from 报销
union all
select FGC_AssignTo,FGC_State,"表1" as tablename,id||"表1" as key,id as "原表ID" from 表1
)
于是,我们就有了这样的一个视图
切记将这个ID设置成主键,以便于我们后面的联动
基础的准备工作已经做好了,接下来我要装逼了~
装B设计1:制作2个页面,来专门处理审批,同时也为下一步的页面容器单元格做素材
装B设计2: 搞一个主页,将刚才的视图绑定上来,并且做如下的几部设置
大功告成,我们来看看效果:
本来在一个页面中处理多个表的工作流,是一件很让人头疼的事,但是,现在我们这样做了以后就不一样了,多个表的工作流已经让我们看起来合并到一个视图里了
但是在,我们提交或者审批了以后表里的数据似乎不变,这个我们要做一个小技巧,就是刷新一下数据
在“请假审批”和“报销审批”中都加上如下的设计,即可。具体需要的代码如下:
- Forguncy.Page.reloadBindingData(null);
复制代码
完成后的效果:
具体的做法个工程文件,见附件
|