智能办公如何创建e10流程
配置e10流程前,您要做的事情:
- 1、进入e10管理后台,创建应用,开放接口权限;
- 2、进入e10管理后台,配置千里聆套件,配置同步人员;
- 3、进入千里聆系统,进行“外联系统认证配置”;
- 4、进入e10系统,找到对应的表单信息;
- 5、进入千里聆系统,AI办公管理->文本结构化处理引擎,创建“必填字段表单”,创建表单字段关联的“词典”;
- 6、然后,进入意图智能化处理引擎,创建意图,并且关联上步中的表单;
- 7、最后,把创建的意图(编辑菜单时可以看到“权限”入口),赋权,所有人使用。
当然第4、5、6步骤可以省略,在“添加意图”中找到“意图云市场”,点击进入后,搜索“请假”,找到含有标签"e10"的意图执行安装,
然后编辑意图和表单。
1、新建流程
1.1 流程梳理
参考创建流程文档
如上图,我们可以得到相关信息:
- 请求地址:
/api/workflow/core/paService/v1/doCreateRequest
- 请求方式:
POST
- 请求类型:
application/json
参数名称 | 类型 | 必填 | 描述 |
---|---|---|---|
access_token | String | 必填 | 调用接口凭证 |
userid | Long | 必填 | 用户ID |
requestName | String | 必填 | 流程标题 |
workflowId | String | 必填 | 流程id |
otherParams | Json | 非必填 | 其他参数,示例:{“isnextflow”:1},这个值决定了创建流程是否自动流转下一个节点 |
formData | Json | 必填 | 表单字段参数,通过脚本配置 |
参数示例
{
"access_token": "9b981cc58b484212a9923c768acaee75",
"userid": "8614739288664195939",
"workflowId": "100003460000001155",
"otherParams": {
"isnextflow": 1
},
"formData":{}
}
返回结果
直接复制到意图配置结果中!
{
"message": {
"errcode": "0",
"errmsg": "success",
"requestId": "746802982236315648"
}
}
1.2、配置意图步骤
按照上图配置相关请求信息即可!
1.3 配置意图参数说明
参数 access_token
参数选择access_token
,下拉选择全局变量
, 下拉选择accessToken
参数 userid
参数选择userid
,下拉选择系统值
, 下拉选择当前用户id
参数 workflowId
参数选择workflowId
,下拉选择固定值
, 输入e10流程id
参数 requestName
在参数配置中,有两种实现方式,任意选择一个:
- 参数选择
requestName
,下拉选择固定值
, 输入框填写 . - 参数选择
requestName
, 下拉选择脚本
,脚本配置为:
requestName脚本示例:
function run(object) {
// 当前日期
var date = $_CURRENT_DATE_$;
// 当前用户名称
var username = $_CURRENT_USER_NAME_$;
// 返回示例:泛微请假流程-2024-01-02-张三
return "泛微请假流程-" + date + "-" + username;
}
参数 otherParams
otherParams.isnextflow
值的表示状态:
值 | 说明 |
---|---|
0 | 不流转节点 |
1 | 创建流程是否自动流转下一个节点 |
在参数配置中,有两种实现方式,任意选择一个:
- 参数选择
otherParams
, 下拉选择脚本
,脚本配置为:function run(object){ return {"isnextflow":1}; }
- 参数选择
otherParams.isnextflow
,下拉选择固定值
, 输入框填写1
.
参数 formData
表数据示例格式:
function run(object) {
// 默认系统值,用于表单中的人员和部门信息
var userId = $_CURRENT_USER_ID_$;
var userName = $_CURRENT_USER_NAME_$;
var deptId = $_CURRENT_DEPT_ID_$;
var deptName = $_CURRENT_DEPT_NAME_$;
var formData = {
"dataDetails": [],
"formId": "100003669000000968", // e10 或者 eteams 表单id
"module": "workflow"
};
// 普通字段: 日期、原因, 数字,字符串格式数据
// object.field_1863792674960646145,这里是智能小e自己创建的主表中的一个字段
// 100003720000104856, e10 或者 eteams 表单字段id
formData.dataDetails.push({
"content": getFormValue(object.field_1863792674960646145),
"fieldId": "100003720000104856"
});
// 下拉词典类型: 请假类型字段,人员
// object.field_1869557469645627300,这里是智能小e自己创建的主表中的一个字段,例如 请假类型
// 100003720000029730, e10 或者 eteams 表单字段id
formData.dataDetails.push(getFormOptionValue(object.field_1869557469645627300, "100003720000029730" ));
// 附件: 结婚证明、出生证明
// object.field_1863793461187125250,这里是智能小e自己创建的主表中的一个字段,例如 结婚证明
// 100003720000077043, e10 或者 eteams 表单字段id
formData.dataDetails.push(getFormFileValue(object.field_1863793461187125250, "100003720000077043"));
// 下面是明细表
// 普通字段:补打卡理由
// object.sc_1826901249786830850.field_1826901347786743810,这里是智能小e自己创建的明细表中的一个字段
var reasons = object.sc_1826901249786830850.field_1826901347786743810;
if(null != reasons){
for(var i = 0; i < reasons.length; i ++){
var demo = {
"content": "",
"dataIndex": i + 1, // 表示明细表的行
"subFormId": 100003690000000829, // e10明细表的表单id
"fieldId": "100003720000084125" // 明细表的字段id
};
var r = reasons[i];
if(null != r && null != r.value && r.value.length > 0){
demo.content = r.value[0];
}
formData.dataDetails.push(demo);
}
}
// 下拉词典类型: 请假类型字段,人员
var persons = object.sc_1826901249786830850.field_1826901347786743810; // object.sc_1826901249786830850.field_1826901347786743810,这里是智能小e自己创建的明细表中的一个字段
if(null != persons){
for(var i = 0; i < persons.length; i ++){
var demo = {
"dataOptions": [],
"dataIndex": i + 1, // 表示明细表的行
"subFormId": 100003690000000829, // e10明细表的表单id
"fieldId": "100003720000084125" // 明细表的字段id
};
var r = persons[i];
if(null != r && null != r.value && r.value.length > 0){
for(var j = 0; j < r.value.length; j++){
var op_id = r.value[j];
var opObj = {
"optionId": op_id,
"content": r.option[op_id]
};
demo.dataOptions.push(opObj);
}
}
formData.dataDetails.push(demo);
}
}
// 附件: 结婚证明、出生证明
var ttf = object.sc_1826901249786830850.field_1826901347786743810; // object.sc_1826901249786830850.field_1826901347786743810,这里是智能小e自己创建的主表中的一个字段
if(null != ttf && null!=ttf.value && ttf.value.length > 0){
for(var i = 0; i < ttf.length; i ++){
var demo = {
"dataOptions": [],
"dataIndex": i + 1, // 表示明细表的行
"subFormId": 100003690000000829, // e10明细表的表单id
"fieldId": "100003720000084125" // 明细表的字段id
};
var r = ttf[i];
if(null != r && null != r.value && r.value.length > 0){
for(var j = 0; j < r.value.length; j++){
var op_id = r.value[j];
var opObj = {
"optionId": op_id,
"content": r.option[op_id],
"type": "file"
};
demo.dataOptions.push(opObj);
}
}
formData.dataDetails.push(demo);
}
}
return formData;
}
function getFormValue(tmp){
if(null != tmp && null!=tmp.value && tmp.value.length > 0){
return tmp.value[0];
}
return "";
}
function getFormOptionValue(tmp, fieldId){
var demo={
"dataOptions": [],
"fieldId": fieldId // e10 或者 eteams 表单字段id
}
if(null != tmp && null != tmp.value && tmp.value.length > 0) {
for(var i = 0; i < tmp.value.length; i ++){
var op_id = tmp.value[i];
demo.dataOptions.push({
"optionId": op_id,
"content": tmp.option[op_id]
});
}
}
return demo;
}
function getFormFileValue(tmp, fieldId){
var demo={
"dataOptions": [],
"fieldId": fieldId // e10 或者 eteams 表单字段id
}
if(null != tmp && null != tmp.value && tmp.value.length > 0) {
for(var i = 0; i < tmp.value.length; i ++){
var op_id = tmp.value[i];
var item = tmp.option[optionId];
demo.dataOptions.push({
"optionId": op_id ,
"content": item.optionName,
"type": "file"
});
}
}
return demo;
}