# 数据视图开发

视图是展现、查询流程和内容管理数据的重要途径,也是各应用进行数据关联的工具。

# 入口

点系统的左上角图标->应用->数据中心平台->具体应用->视图打开。

# 视图的后台服务

http://127.0.0.1:20020/x_query_assemble_surface/jest/index.html

# 视图属性

# 基本

属性名 说明
标识 视图名称
名称 视图ID
别名 视图别名
隐藏视图 隐藏后不会在点左上角导航->应用中显示
最大行数 视图展现的时候返回数据的最多数目
每页行数 视图展现的时候每页的数据数目
可执行人 允许执行视图的人。和可执行组织同时为空的时候,所有人可执行
可执行组织 允许执行视图的组织

# 范围

属性名 说明
可以选择流程平台数据或者是内容管理平台的数据
权限 带权限:当前人员只能看到流转过的工作
忽略:当前人员可以看到符合过滤条件所有工作,但是没有流转过的不能打开
流转状态 只有选择流程平台数据的时候起作用
选择应用 只对应流程平台应用的数据
选择流程 只对应流程的数据,如果应用和流程同时选择的情,取并集
数据类型 信息类:只显示内容管理栏目或分类里文档类型设置为“信息”的数据;
数据类:只显示内容管理栏目或分类里文档类型设置为“数据”的数据;
全部:对文档类型无限制
选择栏目 只显示对应内容管理栏目的数据
选择分类 只显示对应内容管理分类的数据,如果栏目和分类同时选择
拟稿组织 只显示选择的拟稿组织的数据
拟稿人员 只显示选择的拟稿人员的数据
拟稿身份 只显示选择的拟稿身份的数据
隐藏 隐藏后不会在点左上角导航-->应用中显示
时段 只显示符合时段内的数据,允许有偏移量
5.3版本(包括)之前,视图默认返回一年内的数据,
如果需要返回更早时间的数据,请配置时段

# 过滤

当选择“作为默认过滤条件”时,视图在执行的时候既根据该过滤条件进行过滤。

当选择“作为自定义过滤数据”时,用户可以根据配置自定义进行过滤。

路径:

# 平台流程填写对应的以下路径

{
    "$work" : {
        "title" : "" , //标题
        "startTime" : "", //创建时间
        "startTimeMonth": "", //创建月份
        "completedTime": "", //完成时间
        "completedTimeMonth": "", //完成月份
        "creatorPerson": "", //拟稿人
        "creatorIdentity": "", //拟稿人身份
        "creatorUnit": "", //拟稿组织
        "creatorUnitLevelName": "", //拟稿组织层级
        "application": "", //应用ID
        "applicationName": "", //应用名称
        "applicationAlias": "", //应用别名
        "process": "", //流程ID
        "processName": "", //流程名称
        "processAlias": "", //流程别名
        "serial": "", //编号
        "activityType": "", //活动类型
        "activityName": "", //活动名称
        "activityArrivedTime": "", //活动到达时间
        "workId": "", //工作ID
        "workCompletedId": "", //已完成工作ID
        "job": "", //JOB的ID(job)
        "completed": "", //是否已完成(completed)
    },
    "subject" : "", //标题
    "identity1" : [{ //身份/人员/组织/职务/群组 的存储形式
        {
            "name": "李四",  //身份名称,不唯一
            "unique": "23dd1b53-feed-485d-8c9c-1a4e64ff58a2", //身份唯一标识
            "description": "", //身份描述
            "distinguishedName": "李四@23dd1b53-feed-485d-8c9c-1a4e64ff58a2@I", //身份全称
            "person": "李四@lisi@P", //人员
            "unit": "开发部@kfb@U",  //组织
            "unitName": "开发部",   //组织名称, 不唯一
            "unitLevel": 2,         //组织层级
            "unitLevelName": "浙江兰德纵横/开发部", //组织层级名
            "orderNumber": 24920439 //排序号
        }
        ...
    }] 
    ...
}

如:流程ID "$work.workId"

标题填写:subject

身份dn填写:identity1.0.distinguishedName (数组用 “.0” 来表示下标)

# 内容管理填写对应的以下路径

{
    "$document" : {
        "title" : "", //标题
        "publishTime" : "", //发布时间
        "creatorPerson" : "", //拟稿人
        "creatorIdentity" : "", //拟稿人身份
        "creatorUnitName" : "", //拟稿组织
        "creatorTopUnitName" : "", //拟稿顶级组织
        "appId" : "", //栏目ID
        "appName" : "", //栏目名称
        "categoryId" : "", //分类ID
        "categoryName" : "", //分类名称
        "categoryAlias" : "", //分类别名
        "docid" : "", //文档ID
    },
    "subject" : "", //标题
    "identity1" : [{ //身份/人员/组织/职务/群组 的存储形式
        {
            "name": "李四",  //身份名称,不唯一
            "unique": "23dd1b53-feed-485d-8c9c-1a4e64ff58a2", //身份唯一标识
            "description": "", //身份描述
            "distinguishedName": "李四@23dd1b53-feed-485d-8c9c-1a4e64ff58a2@I", //身份全称
            "person": "李四@lisi@P", //人员
            "unit": "开发部@kfb@U",  //组织
            "unitName": "开发部",   //组织名称, 不唯一
            "unitLevel": 2,         //组织层级
            "unitLevelName": "浙江兰德纵横/开发部", //组织层级名
            "orderNumber": 24920439 //排序号
        }
        ...
    }] 
    ...
}

如:文档ID填写 "$document.docid"

标题填写:subject

身份dn填写:identity1.0.distinguishedName (数组用 “.0” 来表示下标)

# 列属性

属性 说明
列标题 表格的标题
列名 列名,当需要操作数据的时候要用到(比如嵌入到表单中选择数据的时候)
默认值 列值为空时的默认值
打开文档 点击该列的时候,是否打开文档
数据路径 查看本章-视图属性-过滤-路径的介绍
排序 该列是否排序,只有第一个排序列有效
分类 该列是否分类,只能有一个分类列
隐藏 显示的时候,该列是否隐藏
组织对象 如果选是,那么只显示数组第一个值的 name 属性
HTML值 如果选择是,则作为单元格的innerHTML显示
显示脚本 可以通过脚本对列值进行计算。
this.value:为列原来的值;
this.entry.data: 该行所有列的值;
显示脚本最终需要 return 返回值

# 视图的使用

# 在表单、页面中嵌入视图

可以在表单中使用“嵌入视图”组件

# 选择视图的数据到表单

在表单中使用“选择视图”组件,可以进行流程、内容管理分类直接的数据关联。

当 选择结果处理 选择 “赋值”的时候:

上图中的 field_1 为本表单的组件标识,column_1 为视图的列名。

当用户选择视图后,会将选中行 column_1 列的值赋值给 field_1 。

当 选择结果处理 选择 “脚本”的时候,可以通过this.target.selectedData来获取用户选择行的数据。数据格式如下:

{[
  bundle : "xxxx", //CMS文档Id/流程jobId
  data : {  //列数据
    column1Name : column1Value, //第一列的列名,第一列的列值
    column2Name : column2Value, //第二列的列名,第二列的列值
    ...
  },
  ...
]}