queryView 对象
由 0x400 发布于
`queryView` 对象仅可在视图的前端脚本里使用,其诸多方法和 `form` 类似。你能在视图中通过 `this.queryView` 获取该对象。
### 二、方法详情
#### 1. `getParentEnvironment()`
- **功能**:当视图被嵌入到门户页面、流程表单或者内容管理表单时,可借助此方法获取页面或者表单的上下文。
- **语法**:
```javascript
this.queryView.getParentEnvironment();
```
- **返回值**:`MWF.xScript.Environment` 或者 `MWF.xScript.CMSEnvironment` 类型的对象,即页面或表单的上下文。
- **示例**:
```javascript
var env = this.queryView.getParentEnvironment();
env.page.toPortal( "公文门户" );
```
#### 2. `getViewInfor()`
- **功能**:获取查询的配置信息。
- **语法**:
```javascript
this.queryView.getViewInfor();
```
- **返回值**:视图的配置信息对象,格式如下:
```javascript
{
"application": "db9fc893-7dbc-4e0f-a617-99089d2c6323",
"query": "db9fc893-7dbc-4e0f-a617-99089d2c6323",
"name": "视图自定义测试",
"viewName": "视图自定义测试",
"isExpand": "no",
"id": "705ce967-2f9c-425c-8873-3bd729249e1d",
"alias": "",
"description": "",
"display": true,
"type": "cms",
"count": 2000,
"pageSize": 20,
"createTime": "2019-09-02 10:18:27",
"updateTime": "2020-03-26 15:53:03"
}
```
#### 3. `getPageInfor()`
- **功能**:获取视图当前页的基本信息。
- **语法**:
```javascript
this.queryView.getPageInfor();
```
- **返回值**:当前页的信息对象,格式如下:
```javascript
{
"pages": 3,
"perPageCount": 50,
"currentPageNumber": 1
}
```
#### 4. `getPageData()`
- **功能**:获取当前页的数据。
- **语法**:
```javascript
var data = this.queryView.getPageData();
```
- **返回值**:当前页数据数组。
- 无分类时:
```javascript
[
{
"bundle": "099ed3c9-dfbc-4094-a8b7-5bfd6c5f7070",
"data": {
"title": "考勤管理-配置-统计周期设置",
"time": "2018-08-25 11:29:45"
}
}
]
```
- 有分类时:
```javascript
[
{
"group": "工作日志",
"list": [
{
"bundle": "001257be-725a-43cf-9679-3892bbab696a",
"data": {
"title": "标题",
"time": "2018-07-31 15:39:13",
"category": "工作日志"
}
}
]
}
]
```
#### 5. `toPage(pageNumber, callback)`
- **功能**:跳转到指定的页面。
- **语法**:
```javascript
var data = this.queryView.toPage( pageNumber, callback );
```
- **参数**:
- `pageNumber`:要跳转的页码。
- `callback`(可选):页面数据加载完成后的回调方法。
- **示例**:
```javascript
this.queryView.toPage( 2, function(){
var data = this.queryView.getPageData();
}.bind(this) )
```
#### 6. `selectAll()`
- **功能**:当视图设置了允许多选时,可通过此方法选中当前页面的所有条目。
- **语法**:
```javascript
this.queryView.selectAll();
```
#### 7. `unSelectAll()`
- **功能**:当视图设置了允许多选时,可通过此方法取消选中的条目。
- **语法**:
```javascript
this.queryView.unSelectAll();
```
#### 8. `getSelectedData()`
- **功能**:获取选中条目的数据。
- **语法**:
```javascript
var data = this.queryView.getSelectedData();
```
- **返回值**:选中条目的数据数组,格式如下:
```javascript
[
{
"bundle": "099ed3c9-dfbc-4094-a8b7-5bfd6c5f7070",
"data": {
"title": "考勤管理-配置-统计周期设置",
"time": "2018-08-25 11:29:45"
}
}
]
```
#### 9. `setFilter(filter, callback)`
- **功能**:设置视图的过滤条件,此方法无法修改视图中默认的过滤条件,而是在其基础上新增。
- **语法**:
```javascript
this.queryView.setFilter( filter );
```
- **参数**:
- `filter`(可选):过滤条件,可为 `Array.<ViewFilter>`、`ViewFilter` 或者 `Null`。若不传参数、参数为 `null` 或为空数组,则表示清空非视图默认的过滤条件;若传入对象或非空数组,示例如下:
```javascript
[
{
"logic":"and",
"path":"$work.title",
"comparison":"like",
"value":"7月",
"formatType":"textValue"
}
]
```
- `callback`(可选):过滤完成并重新加载数据后的回调方法。
#### 10. `switchView(options)`
- **功能**:把当前视图切换成另一个视图。
- **语法**:
```javascript
this.queryView.switchView( options );
```
- **参数**:
```javascript
{
"application": application,
"viewName": viewName,
"filter": [
{
"logic":"and",
"path":"$work.title",
"comparison":"like",
"value":"7月",
"formatType":"textValue"
}
],
"isTitle": "yes",
"select": "none",
"titleStyles": {
"color" : "red",
"font-size" : "14px"
},
"itemStyles": {
"color" : "#333",
"font-size" : "12px"
},
"isExpand": "no"
}
```
#### 11. `reload()`
- **功能**:重新加载视图。
- **语法**:
```javascript
this.queryView.reload( callback );
```
#### 12. `getApp()`
- **功能**:获取打开当前页面的 `component` 对象。
- **语法**:
```javascript
this.queryView.getApp();
```
#### 13. `node()`
- **功能**:获取 `queryView` 对应的 DOM 对象。
- **语法**:
```javascript
this.queryView.node();
```
#### 14. `confirm()`
- **功能**:弹出一个确认框。
- **语法**:
```javascript
this.queryView.confirm();
```
#### 15. `alert()`
- **功能**:显示一个带关闭按钮的信息框。
- **语法**:
```javascript
this.queryView.alert();
```
#### 16. `notice()`
- **功能**:显示一个信息框。
- **语法**:
```javascript
this.queryView.notice();
```
#### 17. `dialog()`
- **功能**:打开一个对话框。
- **语法**:
```javascript
this.queryView.dialog();
```
#### 18. `selectOrg()`
- **功能**:打开人员组织选择界面。
- **语法**:
```javascript
this.queryView.selectOrg();
```
#### 19. `addEvent()`
- **功能**:给视图添加事件。
- **语法**:
```javascript
this.queryView.addEvent();
```
#### 20. `openWork()`
- **功能**:打开一个在流转或已完成的流程实例。
- **语法**:
```javascript
this.queryView.openWork();
```
#### 21. `openJob()`
- **功能**:根据流程的 `jobId` 打开工作。
- **语法**:
```javascript
this.queryView.openJob();
```
#### 22. `openDocument()`
- **功能**:打开一个内容管理文档。
- **语法**:
```javascript
this.queryView.openDocument();
```
#### 23. `openPortal()`
- **功能**:打开一个门户页面。
- **语法**:
```javascript
this.queryView.openPortal();
```
#### 24. `openCMS()`
- **功能**:打开一个内容管理栏目。
- **语法**:
```javascript
this.queryView.openCMS();
```
#### 25. `openProcess()`
- **功能**:打开一个流程应用。
- **语法**:
```javascript
this.queryView.openProcess();
```
#### 26. `openApplication()`
- **功能**:打开一个任意的 `component` 应用。
- **语法**:
```javascript
this.queryView.openApplication();
```
#### 27. `createDocument()`
- **功能**:创建一个内容管理文档。
- **语法**:
```javascript
this.queryView.createDocument();
```
#### 28. `startProcess()`
- **功能**:启动一个流程实例。
- **语法**:
```javascript
this.queryView.startProcess();
```
评论