2022-05-25 18:33:19 +08:00
|
|
|
|
# APP业务
|
|
|
|
|
|
|
|
|
|
js依赖
|
|
|
|
|
|
|
|
|
|
```html
|
|
|
|
|
<script src="static/form/js/app-oa-form-util.js?v="></script>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 初始化
|
|
|
|
|
|
2022-05-27 22:47:42 +08:00
|
|
|
|
### 数据初始化
|
|
|
|
|
|
2022-05-25 18:33:19 +08:00
|
|
|
|
页面需要隐藏 `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#当前用户)|
|
|
|
|
|
|
2022-05-27 22:47:42 +08:00
|
|
|
|
附件回显
|
|
|
|
|
|
|
|
|
|
```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;
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2022-05-25 18:33:19 +08:00
|
|
|
|
## 方法
|
|
|
|
|
|
|
|
|
|
### 字段赋值
|
|
|
|
|
|
|
|
|
|
> 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|按钮的下标||
|
|
|
|
|
|
2022-05-27 22:47:42 +08:00
|
|
|
|
## 回调
|
|
|
|
|
|
|
|
|
|
页面提交成功,通知APP
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
appOaFormUtil.callbackAppSubmitStatus(submitStatus);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
参数
|
|
|
|
|
|
|
|
|
|
|名称|类型|说明|参数值|
|
|
|
|
|
|-|-|-|-|
|
|
|
|
|
|submitStatus|boolean|提交状态|true:成功,false;失败|
|
|
|
|
|
|
2022-05-25 18:33:19 +08:00
|
|
|
|
## 事件
|
|
|
|
|
|
|
|
|
|
### 回退
|
|
|
|
|
|
|
|
|
|
- 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|部门编码||
|
2022-05-27 22:47:42 +08:00
|
|
|
|
|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|时间||
|