494 lines
9.7 KiB
Markdown
494 lines
9.7 KiB
Markdown
# APP业务
|
||
|
||
js依赖
|
||
|
||
```html
|
||
<script src="static/form/js/app-oa-form-util.js?v="></script>
|
||
```
|
||
|
||
## 初始化
|
||
|
||
### 数据初始化
|
||
|
||
页面需要隐藏 `oa-form-footer-tool-bar`,由原生调用方法触发
|
||
|
||
> 页面加载 -> APP初始化
|
||
|
||
```js
|
||
appOaFormUtil.setForm(layui.form);
|
||
appOaFormUtil.initAppFormData(initObj);
|
||
```
|
||
|
||
参数
|
||
|
||
|名称|类型|说明|
|
||
|-|-|-|
|
||
|initObj|object|初始化对象|
|
||
|
||
initObj
|
||
|
||
|名称|类型|说明|
|
||
|-|-|-|
|
||
|confirmAssignees|array|[确认代理人](./app.md#代理人)列表|
|
||
|fields|array|[字段](./app.md#字段)列表|
|
||
|formButton|object|[表单按钮](./app.md#表单按钮)|
|
||
|currentUser|object|[当前用户](./app.md#当前用户)|
|
||
|
||
附件回显
|
||
|
||
```javascript
|
||
appOaFormUtil.initAppAttachments(files);
|
||
```
|
||
|
||
参数
|
||
|
||
|名称|类型|说明|
|
||
|-|-|-|
|
||
|files|string|英文逗号分割的文件列表|
|
||
|
||
### 流程日志
|
||
|
||
- Method: **GET**
|
||
|
||
- Content-Type: `application/json`
|
||
|
||
- URL:`app/oa/list-process-log/process-instance-id/{processInstanceId}`
|
||
|
||
- PathParams:
|
||
|
||
|参数|说明|
|
||
|-|-|
|
||
|processInstanceId|流程实例ID|
|
||
|
||
- Headers:
|
||
|
||
```json
|
||
{
|
||
token: token
|
||
}
|
||
```
|
||
|
||
- RequestBody:
|
||
|
||
```json
|
||
{
|
||
taskId: "任务ID",
|
||
taskName: "任务名称",
|
||
startTime: "开始时间",
|
||
endTime: "结束时间",
|
||
usedTime: "耗时"
|
||
userIds: "任务代理人ID",
|
||
userNames: "任务代理人名称",
|
||
taskStatus: "任务状态,needToBeDealtWith:待办,alreadyDone:已办",
|
||
// 任务变量,内容不固定
|
||
taskVariables: {},
|
||
// 流程变量,内容不固定
|
||
processVariables: {}
|
||
// 备注
|
||
comment: {
|
||
type: "批注类型。SIGN:签批,JOINTLY_SIGN:会签,GO_BACK:回退,FORCED_END:强制结束,TRANSFER:转交",
|
||
userId: "批注人ID",
|
||
userName: "批注人名称",
|
||
fieldName: "字段名称",
|
||
fieldExplain: "字段说明",
|
||
content: "批注内容",
|
||
time: "时间"
|
||
},
|
||
// 转交批注
|
||
transferComments: [
|
||
{
|
||
type: "批注类型。SIGN:签批,JOINTLY_SIGN:会签,GO_BACK:回退,FORCED_END:强制结束,TRANSFER:转交",
|
||
userId: "批注人ID",
|
||
userName: "批注人名称",
|
||
content: "批注内容",
|
||
time: "时间"
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
说明
|
||
|
||
|名称|类型|说明|参数值|
|
||
|-|-|-|-|
|
||
|taskId|string|任务ID||
|
||
|taskName|string|任务名称||
|
||
|startTime|string|开始时间||
|
||
|endTime|string|结束时间||
|
||
|usedTime|string|耗时||
|
||
|userIds|string|任务代理人ID||
|
||
|userNames|string|任务代理人名称||
|
||
|taskStatus|string|任务状态|needToBeDealtWith:待办,alreadyDone:已办|
|
||
|taskVariables|string|任务变量,内容不固定||
|
||
|processVariables|string|流程变量,内容不固定||
|
||
|comment|string|[日志备注](./app.md#日志备注)||
|
||
|transferComments|object|[日志转交批注](./app.md#日志转交批注)列表||
|
||
|
||
- Response
|
||
|
||
状态码
|
||
|
||
|名称|值|
|
||
|-|-|
|
||
|200|请求成功|
|
||
|400|请求错误|
|
||
|401|权限不足|
|
||
|403|访问禁止|
|
||
|500|系统错误|
|
||
|
||
Body:
|
||
|
||
```json
|
||
{
|
||
code: "错误编码",
|
||
msg: "错误原因"
|
||
}
|
||
```
|
||
|
||
js处理代码
|
||
|
||
```js
|
||
var commentText = '';
|
||
var comment = item.comment;
|
||
if (comment) {
|
||
if (comment.type === 'JOINTLY_SIGN') {
|
||
commentText = '动作:会签。批注:' + comment.content + '。时间:' + comment.time;
|
||
} else if (comment.type === 'GO_BACK') {
|
||
commentText = '动作:回退。批注:' + comment.content + '。时间:' + comment.time;
|
||
} else if (comment.type === 'FORCED_END') {
|
||
commentText = '动作:强制结束。批注:' + comment.content + '。时间:' + comment.time;
|
||
}
|
||
}
|
||
// 转交记录
|
||
var transferCommentText = '';
|
||
var transferComments = item.transferComments;
|
||
// 倒叙
|
||
for(var j = transferComments.length, transferComment; transferComment = transferComments[--j];) {
|
||
if(transferCommentText) {
|
||
transferCommentText += '\n'
|
||
}
|
||
transferCommentText += (transferComments.length - j) +'. 转交人:'+ transferComment.userName +'。原因:'+ transferComment.content +'。时间:'+ transferComment.time;
|
||
}
|
||
```
|
||
|
||
## 方法
|
||
|
||
### 字段赋值
|
||
|
||
> APP -> 页面字段
|
||
|
||
方法
|
||
|
||
```js
|
||
appOaFormUtil.setFieldValue(fieldName, fieldValue)
|
||
```
|
||
|
||
参数
|
||
|
||
|名称|类型|说明|参数值|
|
||
|-|-|-|-|
|
||
|fieldName|string|字段名|
|
||
|fieldValue|string|字段值|
|
||
|
||
### 附件赋值
|
||
|
||
方法
|
||
|
||
```js
|
||
appOaFormUtil.setAttachments(attachments)
|
||
```
|
||
|
||
参数
|
||
|
||
|名称|类型|说明|参数值|
|
||
|-|-|-|-|
|
||
|attachments|string|附件列表|格式:附件1,附件2。附件格式:ID:名称。英文冒号分割ID与名称,英文逗号分割组。名称不能有英文冒号与逗号|
|
||
|
||
### 抄送人赋值
|
||
|
||
方法
|
||
|
||
```js
|
||
appOaFormUtil.setCcs(ccs)
|
||
```
|
||
|
||
参数
|
||
|
||
|名称|类型|说明|参数值|
|
||
|-|-|-|-|
|
||
|ccs|string|抄送人列表|格式:抄送人ID1,抄送人ID2。英文逗号分割。|
|
||
|
||
### 提交表单
|
||
|
||
```js
|
||
appOaFormUtil.submitFormReport(btnIndex);
|
||
```
|
||
|
||
参数
|
||
|
||
|名称|类型|说明|参数值|
|
||
|-|-|-|-|
|
||
|btnIndex|int|按钮的下标||
|
||
|
||
## 回调
|
||
|
||
页面提交成功,通知APP
|
||
|
||
```javascript
|
||
appOaFormUtil.callbackAppSubmitStatus(submitStatus);
|
||
```
|
||
|
||
参数
|
||
|
||
|名称|类型|说明|参数值|
|
||
|-|-|-|-|
|
||
|submitStatus|boolean|提交状态|true:成功,false;失败|
|
||
|
||
## 事件
|
||
|
||
### 回退
|
||
|
||
- Method: **PUT**
|
||
|
||
- Content-Type: `application/json`
|
||
|
||
- URL:`app/oa-form-report/update-go-back/process-instance-id/{processInstanceId}/task-id/{taskId}/node-id/{nodeId}`
|
||
|
||
- PathParams:
|
||
|
||
|参数|说明|
|
||
|-|-|
|
||
|processInstanceId|流程实例ID|
|
||
|taskId|当前任务ID|
|
||
|nodeId|回退到的节点ID|
|
||
|
||
- Headers:
|
||
|
||
```json
|
||
{
|
||
token: token
|
||
}
|
||
```
|
||
|
||
- RequestBody:
|
||
|
||
```json
|
||
{
|
||
reason: "原因"
|
||
}
|
||
```
|
||
|
||
- Response
|
||
|
||
状态码
|
||
|
||
|名称|值|
|
||
|-|-|
|
||
|200|请求成功|
|
||
|400|请求错误|
|
||
|401|权限不足|
|
||
|403|访问禁止|
|
||
|500|系统错误|
|
||
|
||
Body:
|
||
|
||
```json
|
||
{
|
||
code: "错误编码",
|
||
msg: "错误原因"
|
||
}
|
||
```
|
||
|
||
### 强制结束
|
||
|
||
- Method: **PUT**
|
||
|
||
- Content-Type: `application/json`
|
||
|
||
- URL:`app/oa-form-report/update-forced-end/process-instance-id/{processInstanceId}/task-id/{taskId}`
|
||
|
||
- PathParams:
|
||
|
||
|参数|说明|
|
||
|-|-|
|
||
|processInstanceId|流程实例ID|
|
||
|taskId|当前任务ID|
|
||
|
||
- Headers:
|
||
|
||
```json
|
||
{
|
||
token: token
|
||
}
|
||
```
|
||
|
||
- RequestBody:
|
||
|
||
```json
|
||
{
|
||
reason: "原因"
|
||
}
|
||
```
|
||
- Response
|
||
|
||
状态码
|
||
|
||
|名称|值|
|
||
|-|-|
|
||
|200|请求成功|
|
||
|400|请求错误|
|
||
|401|权限不足|
|
||
|403|访问禁止|
|
||
|500|系统错误|
|
||
|
||
Body:
|
||
|
||
```json
|
||
{
|
||
code: "错误编码",
|
||
msg: "错误原因"
|
||
}
|
||
```
|
||
|
||
### 转交
|
||
|
||
- Method: **PUT**
|
||
|
||
- Content-Type: `application/json`
|
||
|
||
- URL:`app/oa-form-report/update-assignee/process-instance-id/{processInstanceId}/task-id/{taskId}`
|
||
|
||
- PathParams:
|
||
|
||
|参数|说明|
|
||
|-|-|
|
||
|processInstanceId|流程实例ID|
|
||
|taskId|当前任务ID|
|
||
|
||
- Headers:
|
||
|
||
```json
|
||
{
|
||
token: token
|
||
}
|
||
```
|
||
|
||
- RequestBody:
|
||
|
||
```json
|
||
{
|
||
assignee: "接收人ID",
|
||
reason: "原因"
|
||
}
|
||
```
|
||
|
||
- Response
|
||
|
||
状态码
|
||
|
||
|名称|值|
|
||
|-|-|
|
||
|200|请求成功|
|
||
|400|请求错误|
|
||
|401|权限不足|
|
||
|403|访问禁止|
|
||
|500|系统错误|
|
||
|
||
Body:
|
||
|
||
```json
|
||
{
|
||
code: "错误编码",
|
||
msg: "错误原因"
|
||
}
|
||
```
|
||
|
||
## 对象说明
|
||
|
||
### 代理人
|
||
|
||
|属性|类型|说明|参数值|
|
||
|-|-|-|-|
|
||
|assignees|Array|[代理人用户](./app.md#代理人用户)列表||
|
||
|btnExc|string|按钮条件||
|
||
|btnText|string|按钮名称||
|
||
|nextEndEvent|boolean|下节点是否为结束节点|true:是,false:否|
|
||
|nodeType|string|节点类型|normal:普通(单实例)节点,multiple:多实例节点|
|
||
|
||
### 代理人用户
|
||
|
||
|属性|类型|说明|参数值|
|
||
|-|-|-|-|
|
||
|userId|string|用户ID||
|
||
|userName|string|用户昵称||
|
||
|userUsername|string|用户名||
|
||
|avatar|string|头像ID||
|
||
|
||
### 字段
|
||
|
||
|属性|类型|说明|参数值|
|
||
|-|-|-|-|
|
||
|fieldName|string|字段名称||
|
||
|isEditable|int|可编辑|0:否,1:是|
|
||
|isVisible|int|可显示|0:否,1:是|
|
||
|editHistory|string|编辑历史|noRecord:不记录(默认),latest:记录最新(签批),all:记录全部(会签)
|
||
|autoBackFill|string|自动回填|noBackFill:不回填(默认),currentUserName:当前用户名,currentUserDepartment:当前用户部门|
|
||
|
||
### 表单按钮
|
||
|
||
|属性|类型|说明|参数值|
|
||
|-|-|-|-|
|
||
|btnAttachment|int|附件按钮|0:未激活,1:已激活|
|
||
|btnForcedEnd|int|强制结束按钮|0:未激活,1:已激活|
|
||
|btnPrint|int|打印按钮|0:未激活,1:已激活
|
||
|btnCc|int|抄送按钮|0:未激活,1:已激活|
|
||
|btnGoBack|int|回退按钮|0:未激活,1:已激活|
|
||
|btnTransfer|int|转交按钮|0:未激活,1:已激活|
|
||
|goBackUserTasks|array|[历史任务](./app.md#历史任务)列表(按执行顺序),当 <kbd>btnGoBack</kbd> 激活时有效||
|
||
|
||
### 历史任务
|
||
|
||
|属性|类型|说明|参数值|
|
||
|-|-|-|-|
|
||
|nodeId|string|节点ID||
|
||
|taskName|string|任务名称||
|
||
|
||
### 当前用户
|
||
|
||
|属性|类型|说明|参数值|
|
||
|-|-|-|-|
|
||
|userId|string|用户ID||
|
||
|userName|string|用户名||
|
||
|departments|array|[用户部门](./app.md#用户部门)列表||
|
||
|
||
### 用户部门
|
||
|
||
|属性|类型|说明|参数值|
|
||
|-|-|-|-|
|
||
|departmentId|string|部门ID||
|
||
|departmentParentId|string|部门上级ID||
|
||
|departmentName|string|部门名称||
|
||
|departmentCode|string|部门编码||
|
||
|departmentNo|string|部门编号||
|
||
|
||
### 日志备注
|
||
|
||
|属性|类型|说明|参数值|
|
||
|-|-|-|-|
|
||
|type|string|批注类型|SIGN:签批,JOINTLY_SIGN:会签,GO_BACK:回退,FORCED_END:强制结束,TRANSFER:转交|
|
||
|userId|string|批注人ID||
|
||
|userName|string|批注人名称||
|
||
|fieldName|string|字段名称||
|
||
|fieldExplain|string|字段说明||
|
||
|content|string|批注内容||
|
||
|time|string|时间||
|
||
|
||
### 日志转交批注
|
||
|
||
|属性|类型|说明|参数值|
|
||
|-|-|-|-|
|
||
|type|string|批注类型|SIGN:签批,JOINTLY_SIGN:会签,GO_BACK:回退,FORCED_END:强制结束,TRANSFER:转交|
|
||
|userId|string|批注人ID||
|
||
|userName|string|批注人名称||
|
||
|content|string|批注内容||
|
||
|time|string|时间|| |