视图
批量新建视图
批量新建视图
鉴权方式
AppKey + Sign 是应用密钥鉴权,由管理员创建,用于以应用管理员身份访问应用数据。
版本
请求地址
Path 参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
worksheet_id | string | 是 |
Header 参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
HAP-Appkey | string | 是 | HAP应用密钥 |
HAP-Sign | string | 是 | HAP签名 |
Body 参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
beforeId | string | 否 | 锚点视图 ID,新创建的视图组将有序排在此视图前面;不传默认加至末尾。 |
views | object[] | 是 | 视图列表 |
views.name | string | 是 | 视图名称 |
views.type | string | 是 | 视图类型 可选值: "table""kanban""gallery""calendar""hierarchy""gantt""resource""detail""map" |
views.config | object | 否 | 视图专有配置(除 table/gallery 外基本必填!): • kanban需要 groupField • map需要 locationField • hierarchy需要 relationField • calendar需要 dates 数组 • detail需要 mode |
views.config.groupField | string | 否 | kanban: 作为分组依据的关联字段或单选字典字段(传字段 alias 或字段 ID) |
views.config.locationField | string | 否 | map: 定位字段(传字段 alias 或字段 ID) |
views.config.relationField | string | 否 | hierarchy: 树形层级依赖的关联字段(传字段 alias 或字段 ID) |
views.config.dates | object[] | 否 | calendar: 包含 startField 和 endField |
views.config.dates.startField | string | 否 | 开始时间字段(传字段 alias 或字段 ID) |
views.config.dates.endField | string | 否 | 结束时间字段(传字段 alias 或字段 ID) |
views.config.startField | string | 否 | gantt/resource 的开始时间字段(传字段 alias 或字段 ID) |
views.config.endField | string | 否 | gantt/resource 的结束时间字段(传字段 alias 或字段 ID) |
views.config.resourceField | string | 否 | resource: 负责人字段(传字段 alias 或字段 ID) |
views.config.mode | string | 否 | detail 専用。all=左侧显示记录列表(默认);first=不显示列表,直接显示第一条记录详情,适用于参数配置页 可选值: "all""first" |
views.filter | object | 否 | 视图筛选器对象,用于定义视图数据的过滤条件。 filter 的根节点必须始终为 group,不能直接传 condition。即使只有一个筛选条件,也必须使用 group 包裹,并通过 children 传入 condition。 Filter 结构
注意事项
使用示例示例 1:单个筛选条件也必须使用 group 包裹
示例 2:简单筛选条件查询所有 1 月份入职、姓“张”的职员:
示例 3:多层筛选组查询华北区市场部/销售部,1 月入职且姓“张”的职员: |
views.filter.type | string | 否 | — 可选值: "group""condition" |
views.filter.logic | string | 否 | — 可选值: "AND""OR" |
views.filter.children | object[] | 否 | — |
views.filter.field | string | 否 | 必须传入Field ID,注意:当字段结构来自 Markdown 格式时,如果字段 ID 或中包含 '(isTitle)',该标记仅用于表示此字段是标题字段,不属于字段 ID 的一部分。在传参时应移除 '(isTitle)',仅保留真实字段 ID。 |
views.filter.operator | string | 否 | 支持的筛选运算符: 比较运算符:
为空运算符:
可选值: "eq""ne""gt""ge""lt""le""in""notin""contains""notcontains""concurrent""belongsto""notbelongsto""startswith""notstartswith""endswith""notendswith""between""notbetween""isempty""isnotempty" |
views.filter.value | object | 否 | 筛选值。根据运算符不同,可传字符串、数字或数组。
特殊 AccountID(适用于 Collaborator 等成员字段筛选):
|
views.sort | object[] | 否 | 排序规则列表。支持多个排序字段,数组顺序表示排序优先级。非必填。 |
views.sort.fieldId | string | 是 | 排序字段 alias 或字段 ID。 |
views.sort.sortType | integer | 是 | 排序方式。1=升序,2=降序。 可选值: 12 |
views.color | object | 否 | 记录颜色配置,只配置用于着色的字段。 |
views.color.fieldId | string | 否 | 用于着色的字段引用,传字段 alias或字段 ID。仅支持 fieldType=9、11 且已开启选项标签颜色的单选字段。 |
views.quickFilters | object[] | 否 | 快速筛选字段列表。数组顺序即显示顺序。仅支持 fieldType=2、4、7、32、33、6、8、31、9、10、11、26、27、28、29、35、36、15、16。建议选择 2-4 个最常用筛选维度;除选项字段 fieldType=9、10、11 可配置 selectionType 和 displayType 外,其他 UI 配置均由接口使用默认值。 |
views.quickFilters.fieldId | string | 是 | 快速筛选字段 alias 或字段 ID。 |
views.quickFilters.selectionType | string | 否 | 选项字段的筛选值数量,仅适用于 fieldType=9、10、11。single=单选,multiple=多选。 可选值: "single""multiple" |
views.quickFilters.displayType | string | 否 | 选项字段的显示方式,仅适用于 fieldType=9、10、11。dropdown=下拉框,tile=平铺。 可选值: "dropdown""tile" |
views.hiddenFields | string[] | 否 | 在此视图中隐藏的字段列表,对记录详情生效。 |
views.tableFields | string[] | 否 | 表格形态(table、gantt)中显示的字段列表。不填则显示全部字段。 |
views.filterList | object | 否 | 侧边栏筛选列表配置。设置后在视图左侧以该字段的选项值为维度显示筛选入口。 |
views.filterList.filterField | string | 否 | 用于侧边筛选的字段 alias 或字段 ID(不能传 name) |
views.card | object | 否 | 卡片显示配置,适用于 kanban / gallery / hierarchy 以及 calendar、gantt、map、resource hover 时的卡片。所有字段均传 alias 或字段 ID,不能传 name。 |
views.card.titleField | string | 否 | 卡片标题字段(所有文本类字段均可) |
views.card.summaryField | string | 否 | 卡片摘要字段(Text / RichText 类型) |
views.card.coverField | string | 否 | 卡片封面字段(仅支持附件类型字段) |
views.card.coverDirection | string | 否 | 封面位置。top=顶部(默认),left=左侧,right=右侧。gallery 推荐 top;detail/kanban 左右均可 可选值: "top""left""right" |
views.card.coverDisplayMode | string | 否 | 封面显示模式。full=铺满(默认),square=方形裁切,circle=圆形裁切。人员头像场景用 circle,产品图用 full 或 square 可选值: "full""square""circle" |
views.card.displayFields | string[] | 否 | 卡片中额外展示的字段列表,推荐 1-4 个 |
views.actions | object | 否 | 视图中显示的操作按钮配置。需要先调用 batch_create_custom_actions 获取自定义动作 ID,再在此引用。 |
views.actions.detailActions | string[] | 否 | 打开记录详情后显示的操作按钮(自定义动作 ID 数组) |
views.actions.quickActions | object[] | 否 | 表格行/卡片上直接显示的快捷操作按钮列表 |
views.actions.quickActions.type | string | 是 | 系统操作固定传: copy / print / delete / share;自定义动作传 action |
views.actions.quickActions.id | string | 否 | type=action 时传自定义动作 ID;系统操作不传 |
views.group | object | 否 | 分组配置。table / gallery / kanban 视图支持按指定字段分组显示记录。 |
views.group.groupField | string | 否 | 分组依据字段的 alias 或字段 ID |
响应参数
200成功创建视图| 名称 | 类型 | 描述 |
|---|---|---|
success | boolean | 是否调用成功 |
error_code | integer | 错误代码 |
error_msg | string | 错误消息 |
data | object | — |
data.views | object[] | 已创建的视图列表 |
data.views.id | string | 视图 ID |
data.views.name | string | 视图名称 |
data.views.type | string | 视图类型 |
curl -X POST "https://example.com/v3/app/worksheets/worksheet_id/views/batch" \ -H "HAP-Appkey: {{HAP-Appkey}}" \ -H "HAP-Sign: {{HAP-Sign}}" \ -H "Content-Type: application/json" \ -d '{ "beforeId": "viewId", "views": [ { "name": "新增表格视图", "type": "table" } ] }'{ "success": true, "data": { "views": [ { "id": "view_001", "name": "任务看板", "type": "kanban" } ] }}