历史版本2 :利用标记字段实现上报审核流程 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

在企业的日常业务中,肯定会有一些上报和审核的流程,那么如何通过填报功能来实现此流程呢?

1.2 解决方案

平台的多级上报功能可以满足一部分的上报审核流程需求,但如果有一些个性化的需求,无法通过多级上报功能实现的,那就可以自己制作填报模板来实现。

核心思路是利用标记字段:在数据库相关表中设置一个用于记录上报流程节点的标记字段,后续利用该字段即可判断不同数据在流程中的状态,进而实现自定义的上报审核流程需求。


2. 示例编辑

2.1 准备数据

数据库表结构如下,其中状态列即为标记字段:

2.2 设计模板

一共需要2张模板来实现此示例的场景,一张用于员工填报,一张用于负责人审核。

员工填报表设计如下:

负责人审核表设计如下:

2.3 制作员工填报表

2.3.1 设置权限

1)新建ds1数据集,利用系统参数fine_username实现员工只能看到自己填写的数据。

sql为:SELECT * FROM [dbo].[雇员信息收集表] where 雇员ID = '${fine_username}'

2)将查询出的字段拖入员工填报表,这样员工就可以查看自己填写的数据,以及上报流程的状态了。

2.3.2 设置填报属性

1)如图所示设置员工填报表的填报属性,标记字段输入固定值0,代表待审核状态。

本示例中标记字段值的含义为:0代表待审核,1代表审核通过,2代表被退回,空代表未提交。

2)如果是待审核或者审核通过状态,则不能让用户重复提交。此处可以用数据校验来实现,判断只有标记字段为空或者2时,才可以提交。公式为:len(C9)=0||C9=2

2.3.3 设置页面权限

1) 当数据处于待审核或者审核通过状态时,不允许用户再次修改数据,只能查看。此处可以利用条件属性来实现,在C6、F6、C7、F7、C8、F8单元格设置条件属性,判断C9单元格的值为0或者1时,禁用控件。

2)C9单元格的状态为实际值,是数字,此处可以利用单元格形态的数据字典,来将其转换为文字说明。

3)如果状态为被退回时,需要展示退回原因,其他状态则不需要展示退回原因。此处可以在B10单元格设置条件属性来判断状态,当状态不等于2时,隐藏退回原因行。

2.4 制作负责人审核表

2.4.1 过滤数据

新建ds1数据集,利用标记字段过滤出待审核的数据,sql为:SELECT * FROM [dbo].[雇员信息收集表] where 状态=0

2.4.2 设置单选按钮组

在H2单元格添加单选按钮组,数据字典设置如下:

2.4.3 设置填报属性

1)如图设置填报属性,并勾选上未修改不更新,这样在数据较多时能提高提交速度。

2)审核结果为空的数据不需要提交,此处可以通过提交条件设置来实现。公式为:len(H2)!=0

3)当数据通过审核时,是不需要填写退回原因的;当数据被退回时,则需要填写退回原因。此处可以通过数据校验设置来实现。公式如下:

if(H2 = 1, len(I2) = 0, true):当状态为审核通过时,退回原因需为空。

if(H2 = 2, len(I2) != 0, true):当状态为被退回时,退回原因不能为空。

2.5 效果预览

员工填报:

1.gif

负责人审核:

1.gif


3. 模板下载编辑