mirror of
https://gitee.com/orangeform/orange-admin.git
synced 2026-01-18 02:56:30 +08:00
Compare commits
100 Commits
f95c7b8695
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c8a9508b89 | ||
|
|
6b2e2e48bd | ||
|
|
8c7c53b953 | ||
|
|
96597cce04 | ||
|
|
2af76cac58 | ||
|
|
e89291993a | ||
|
|
52c8e206a6 | ||
|
|
b6d22f0989 | ||
|
|
5aaf67ea44 | ||
|
|
a986a1ae6f | ||
|
|
670fd2561e | ||
|
|
8157d3e862 | ||
|
|
a01fe9c014 | ||
|
|
9621e82cab | ||
|
|
e89c1aeb33 | ||
|
|
23e3e23e61 | ||
|
|
d4198d6dfc | ||
|
|
55decc1525 | ||
|
|
9ab6813255 | ||
|
|
6ed71d1e32 | ||
|
|
8f8f6331c5 | ||
|
|
d4522a7978 | ||
|
|
5859a152ee | ||
|
|
6668faabdf | ||
|
|
d12f56a676 | ||
|
|
e7a95d3ccc | ||
|
|
08f8ca4d5e | ||
|
|
5e65d4dc99 | ||
|
|
68bca005fd | ||
|
|
4aa663dff5 | ||
|
|
a2d10f736c | ||
|
|
30f8fb663f | ||
|
|
e086628cb0 | ||
|
|
519ad4a88e | ||
|
|
c282460947 | ||
|
|
7a77e636ad | ||
|
|
344c9ad502 | ||
|
|
f342426ca5 | ||
|
|
1eb8b84c8c | ||
|
|
fbf894564f | ||
|
|
2d6746ca4b | ||
|
|
8e227c06e7 | ||
|
|
2ef1aec80a | ||
|
|
5b8f7b180f | ||
|
|
d28deec798 | ||
|
|
58380243bc | ||
|
|
2728d859c2 | ||
|
|
278778c087 | ||
|
|
3190fcacbc | ||
|
|
c9ce953533 | ||
|
|
ae9f188dff | ||
|
|
1273af2f44 | ||
|
|
901c8d2c31 | ||
|
|
2569aa0f25 | ||
|
|
f79ca5e028 | ||
|
|
2fc727b55b | ||
|
|
3630ea2c69 | ||
|
|
3ebad88743 | ||
|
|
5c16bd0a0a | ||
|
|
7d1740788e | ||
|
|
13af93b65d | ||
|
|
0bca37f294 | ||
|
|
3fe81ce5c7 | ||
|
|
23717f8f9a | ||
|
|
fed00463aa | ||
|
|
0f689b4f1d | ||
|
|
6f47efd2dc | ||
|
|
0c36efb517 | ||
|
|
50d8c2f7de | ||
|
|
1079153d8b | ||
|
|
a79d4f4e3b | ||
|
|
9740058e13 | ||
|
|
1f44ff2880 | ||
|
|
3c7baa9e30 | ||
|
|
760925f3a6 | ||
|
|
997483f839 | ||
|
|
4ddcab242e | ||
|
|
c4386e1f5f | ||
|
|
9d50c65b5b | ||
|
|
378c7ba61f | ||
|
|
caf7a51086 | ||
|
|
8342aa1de1 | ||
|
|
6e4098dccc | ||
|
|
933fdfde59 | ||
|
|
85e0859fd2 | ||
|
|
aecd7e6ff6 | ||
|
|
ad689610fe | ||
|
|
c34955f09f | ||
|
|
c6bbe93df5 | ||
|
|
ca88e19c48 | ||
|
|
8aaf851730 | ||
|
|
3463379c0c | ||
|
|
199845c632 | ||
|
|
9e693c0080 | ||
|
|
3dcb0191c8 | ||
|
|
c01d383213 | ||
|
|
e7df590337 | ||
|
|
5b2ab675a6 | ||
|
|
77e047519d | ||
|
|
fb1ed9ee7d |
53
.workflow/branch-pipeline.yml
Normal file
53
.workflow/branch-pipeline.yml
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
version: '1.0'
|
||||||
|
name: branch-pipeline
|
||||||
|
displayName: BranchPipeline
|
||||||
|
stages:
|
||||||
|
- stage:
|
||||||
|
name: compile
|
||||||
|
displayName: 编译
|
||||||
|
steps:
|
||||||
|
- step: build@maven
|
||||||
|
name: build_maven
|
||||||
|
displayName: Maven 构建
|
||||||
|
# 支持6、7、8、9、10、11六个版本
|
||||||
|
jdkVersion: 8
|
||||||
|
# 支持2.2.1、3.2.5、3.3.9、3.5.2、3.5.3、3.5.4、3.6.1、3.6.3八个版本
|
||||||
|
mavenVersion: 3.3.9
|
||||||
|
# 构建命令
|
||||||
|
commands:
|
||||||
|
- mvn -B clean package -Dmaven.test.skip=true
|
||||||
|
# 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除
|
||||||
|
artifacts:
|
||||||
|
# 构建产物名字,作为产物的唯一标识可向下传递,支持自定义,默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址
|
||||||
|
- name: BUILD_ARTIFACT
|
||||||
|
# 构建产物获取路径,是指代码编译完毕之后构建物的所在路径,如通常jar包在target目录下。当前目录为代码库根目录
|
||||||
|
path:
|
||||||
|
- ./target
|
||||||
|
- step: publish@general_artifacts
|
||||||
|
name: publish_general_artifacts
|
||||||
|
displayName: 上传制品
|
||||||
|
# 上游构建任务定义的产物名,默认BUILD_ARTIFACT
|
||||||
|
dependArtifact: BUILD_ARTIFACT
|
||||||
|
# 上传到制品库时的制品命名,默认output
|
||||||
|
artifactName: output
|
||||||
|
dependsOn: build_maven
|
||||||
|
- stage:
|
||||||
|
name: release
|
||||||
|
displayName: 发布
|
||||||
|
steps:
|
||||||
|
- step: publish@release_artifacts
|
||||||
|
name: publish_release_artifacts
|
||||||
|
displayName: '发布'
|
||||||
|
# 上游上传制品任务的产出
|
||||||
|
dependArtifact: output
|
||||||
|
# 发布制品版本号
|
||||||
|
version: '1.0.0.0'
|
||||||
|
# 是否开启版本号自增,默认开启
|
||||||
|
autoIncrement: true
|
||||||
|
triggers:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
exclude:
|
||||||
|
- master
|
||||||
|
include:
|
||||||
|
- .*
|
||||||
44
.workflow/master-pipeline.yml
Normal file
44
.workflow/master-pipeline.yml
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
version: '1.0'
|
||||||
|
name: master-pipeline
|
||||||
|
displayName: MasterPipeline
|
||||||
|
triggers:
|
||||||
|
trigger: auto
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
include:
|
||||||
|
- master
|
||||||
|
stages:
|
||||||
|
- name: compile
|
||||||
|
displayName: 编译
|
||||||
|
strategy: naturally
|
||||||
|
trigger: auto
|
||||||
|
steps:
|
||||||
|
- step: build@maven
|
||||||
|
name: build_maven
|
||||||
|
displayName: Maven 构建
|
||||||
|
jdkVersion: 8
|
||||||
|
mavenVersion: 3.3.9
|
||||||
|
commands:
|
||||||
|
- mvn -B clean package -Dmaven.test.skip=true
|
||||||
|
artifacts:
|
||||||
|
- name: BUILD_ARTIFACT
|
||||||
|
path:
|
||||||
|
- ./target
|
||||||
|
- step: publish@general_artifacts
|
||||||
|
name: publish_general_artifacts
|
||||||
|
displayName: 上传制品
|
||||||
|
dependArtifact: BUILD_ARTIFACT
|
||||||
|
artifactName: output
|
||||||
|
strategy: {}
|
||||||
|
dependsOn: build_maven
|
||||||
|
- name: release
|
||||||
|
displayName: 发布
|
||||||
|
strategy: naturally
|
||||||
|
trigger: auto
|
||||||
|
steps:
|
||||||
|
- step: publish@release_artifacts
|
||||||
|
name: publish_release_artifacts
|
||||||
|
displayName: 发布
|
||||||
|
dependArtifact: output
|
||||||
|
version: 1.0.0.0
|
||||||
|
autoIncrement: true
|
||||||
24
.workflow/pipeline-20250723.yml
Normal file
24
.workflow/pipeline-20250723.yml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
version: '1.0'
|
||||||
|
name: pipeline-20250723
|
||||||
|
displayName: pipeline-20250723
|
||||||
|
triggers:
|
||||||
|
trigger: auto
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
prefix:
|
||||||
|
- ''
|
||||||
|
stages:
|
||||||
|
- name: stage-d6d1ad59
|
||||||
|
displayName: 未命名
|
||||||
|
strategy: naturally
|
||||||
|
trigger: auto
|
||||||
|
executor: []
|
||||||
|
steps:
|
||||||
|
- step: sc@sbom
|
||||||
|
name: sbom
|
||||||
|
displayName: SBOM 扫描
|
||||||
|
scan: code
|
||||||
|
codePath: ./
|
||||||
|
notify: []
|
||||||
|
strategy:
|
||||||
|
retry: '0'
|
||||||
40
.workflow/pr-pipeline.yml
Normal file
40
.workflow/pr-pipeline.yml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
version: '1.0'
|
||||||
|
name: pr-pipeline
|
||||||
|
displayName: PRPipeline
|
||||||
|
stages:
|
||||||
|
- stage:
|
||||||
|
name: compile
|
||||||
|
displayName: 编译
|
||||||
|
steps:
|
||||||
|
- step: build@maven
|
||||||
|
name: build_maven
|
||||||
|
displayName: Maven 构建
|
||||||
|
# 支持6、7、8、9、10、11六个版本
|
||||||
|
jdkVersion: 8
|
||||||
|
# 支持2.2.1、3.2.5、3.3.9、3.5.2、3.5.3、3.5.4、3.6.1、3.6.3八个版本
|
||||||
|
mavenVersion: 3.3.9
|
||||||
|
# 构建命令
|
||||||
|
commands:
|
||||||
|
- mvn -B clean package -Dmaven.test.skip=true
|
||||||
|
# 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除
|
||||||
|
artifacts:
|
||||||
|
# 构建产物名字,作为产物的唯一标识可向下传递,支持自定义,默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址
|
||||||
|
- name: BUILD_ARTIFACT
|
||||||
|
# 构建产物获取路径,是指代码编译完毕之后构建物的所在路径,如通常jar包在target目录下。当前目录为代码库根目录
|
||||||
|
path:
|
||||||
|
- ./target
|
||||||
|
- step: publish@general_artifacts
|
||||||
|
name: publish_general_artifacts
|
||||||
|
displayName: 上传制品
|
||||||
|
# 上游构建任务定义的产物名,默认BUILD_ARTIFACT
|
||||||
|
dependArtifact: BUILD_ARTIFACT
|
||||||
|
# 构建产物制品库,默认default,系统默认创建
|
||||||
|
artifactRepository: default
|
||||||
|
# 上传到制品库时的制品命名,默认output
|
||||||
|
artifactName: output
|
||||||
|
dependsOn: build_maven
|
||||||
|
triggers:
|
||||||
|
pr:
|
||||||
|
branches:
|
||||||
|
include:
|
||||||
|
- master
|
||||||
@@ -5,6 +5,7 @@ import com.orangeforms.common.core.validator.ConstDictRef;
|
|||||||
import com.orangeforms.common.core.validator.UpdateGroup;
|
import com.orangeforms.common.core.validator.UpdateGroup;
|
||||||
import com.orangeforms.common.flow.model.constant.FlowBindFormType;
|
import com.orangeforms.common.flow.model.constant.FlowBindFormType;
|
||||||
import com.orangeforms.common.flow.model.constant.FlowEntryStatus;
|
import com.orangeforms.common.flow.model.constant.FlowEntryStatus;
|
||||||
|
import com.orangeforms.common.flow.model.constant.FlowEntryType;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
@@ -75,6 +76,14 @@ public class FlowEntryDto {
|
|||||||
@NotNull(message = "数据验证失败,工作流绑定表单类型不能为空!")
|
@NotNull(message = "数据验证失败,工作流绑定表单类型不能为空!")
|
||||||
private Integer bindFormType;
|
private Integer bindFormType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程类型。
|
||||||
|
*/
|
||||||
|
@Schema(description = "流程类型")
|
||||||
|
@ConstDictRef(constDictClass = FlowEntryType.class, message = "数据验证失败,工作流绑定表单类型为无效值!")
|
||||||
|
@NotNull(message = "数据验证失败,流程类型不能为空!")
|
||||||
|
private Integer flowType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 在线表单的页面Id。
|
* 在线表单的页面Id。
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -83,6 +83,12 @@ public class FlowEntryVo {
|
|||||||
@Schema(description = "绑定表单类型")
|
@Schema(description = "绑定表单类型")
|
||||||
private Integer bindFormType;
|
private Integer bindFormType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程类型。
|
||||||
|
*/
|
||||||
|
@Schema(description = "流程类型")
|
||||||
|
private Integer flowType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 在线表单的页面Id。
|
* 在线表单的页面Id。
|
||||||
*/
|
*/
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -5,6 +5,7 @@ import com.orangeforms.common.core.validator.ConstDictRef;
|
|||||||
import com.orangeforms.common.core.validator.UpdateGroup;
|
import com.orangeforms.common.core.validator.UpdateGroup;
|
||||||
import com.orangeforms.common.flow.model.constant.FlowBindFormType;
|
import com.orangeforms.common.flow.model.constant.FlowBindFormType;
|
||||||
import com.orangeforms.common.flow.model.constant.FlowEntryStatus;
|
import com.orangeforms.common.flow.model.constant.FlowEntryStatus;
|
||||||
|
import com.orangeforms.common.flow.model.constant.FlowEntryType;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
@@ -75,6 +76,14 @@ public class FlowEntryDto {
|
|||||||
@NotNull(message = "数据验证失败,工作流绑定表单类型不能为空!")
|
@NotNull(message = "数据验证失败,工作流绑定表单类型不能为空!")
|
||||||
private Integer bindFormType;
|
private Integer bindFormType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程类型。
|
||||||
|
*/
|
||||||
|
@Schema(description = "流程类型")
|
||||||
|
@ConstDictRef(constDictClass = FlowEntryType.class, message = "数据验证失败,工作流绑定表单类型为无效值!")
|
||||||
|
@NotNull(message = "数据验证失败,流程类型不能为空!")
|
||||||
|
private Integer flowType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 在线表单的页面Id。
|
* 在线表单的页面Id。
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -83,6 +83,12 @@ public class FlowEntryVo {
|
|||||||
@Schema(description = "绑定表单类型")
|
@Schema(description = "绑定表单类型")
|
||||||
private Integer bindFormType;
|
private Integer bindFormType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程类型。
|
||||||
|
*/
|
||||||
|
@Schema(description = "流程类型")
|
||||||
|
private Integer flowType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 在线表单的页面Id。
|
* 在线表单的页面Id。
|
||||||
*/
|
*/
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -399,7 +399,7 @@ const AutoTaskActionType = new DictionaryBase('自动化任务动作类型', [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 3,
|
||||||
name: '数据查询',
|
name: '单条查询',
|
||||||
symbol: 'QUERY_SINGLE_DATA',
|
symbol: 'QUERY_SINGLE_DATA',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -784,9 +784,9 @@ const operationDisabled = (type: string) => {
|
|||||||
return checkOperationDisabled(operation) || !checkOperationPermCode(operation);
|
return checkOperationDisabled(operation) || !checkOperationPermCode(operation);
|
||||||
};
|
};
|
||||||
const onLeftWidgetChange = (val: ANY_OBJECT | undefined, dictData: ANY_OBJECT | null) => {
|
const onLeftWidgetChange = (val: ANY_OBJECT | undefined, dictData: ANY_OBJECT | null) => {
|
||||||
|
onValueChange(leftWidget.value, val);
|
||||||
onWidgetValueChange(leftWidget.value, val, dictData);
|
onWidgetValueChange(leftWidget.value, val, dictData);
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
console.log('onLeftWidgetChange', val, formData.dsTeacher.level);
|
|
||||||
refreshTable(true);
|
refreshTable(true);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
<template #prepend>
|
<template #prepend>
|
||||||
<el-select
|
<el-select
|
||||||
class="url-select"
|
class="url-select"
|
||||||
|
style="width: 100px"
|
||||||
v-model="formData.httpRequestInfo.httpMethod"
|
v-model="formData.httpRequestInfo.httpMethod"
|
||||||
placeholder="请选择"
|
placeholder="请选择"
|
||||||
@change="onChange"
|
@change="onChange"
|
||||||
|
|||||||
@@ -174,6 +174,13 @@ export const routers: Array<RouteRecordRaw> = [
|
|||||||
props: getProps,
|
props: getProps,
|
||||||
meta: { title: '流程设计' },
|
meta: { title: '流程设计' },
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: 'formFlowDblink',
|
||||||
|
component: () => import('@/pages/workflow/formFlowDblink/index.vue'),
|
||||||
|
name: 'formFlowDblink',
|
||||||
|
props: getProps,
|
||||||
|
meta: { title: '流程数据库链接' },
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: 'formAllInstance',
|
path: 'formAllInstance',
|
||||||
component: () => import('@/pages/workflow/taskManager/formAllInstance.vue'),
|
component: () => import('@/pages/workflow/taskManager/formAllInstance.vue'),
|
||||||
|
|||||||
59
README.md
59
README.md
@@ -1,53 +1,40 @@
|
|||||||
### 新人印象
|
|
||||||
- 不妨来快速了解一下橙单,相信您会有令人惊喜的收获 [https://www.orangeforms.com/article/knowus](https://www.orangeforms.com/article/knowus)
|
|
||||||
|
|
||||||
### 良心开源
|
### 良心开源
|
||||||
- 功能完整、开箱即用、BUG 极少。
|
- 开源版本支持工作流、业务流编排、在线表单、数据权限和用户权限。
|
||||||
- 代码质量,行业翘楚,全部通过 SonarQube 扫描 0 警告。
|
- 功能全部打通,开箱即用、且 BUG 极少,代码质量高,全部通过 SonarQube 扫描 0 警告。
|
||||||
- 支持工作流、在线表单、数据权限和用户权限。
|
- 全部主流技术栈 Boot3 + Flowable7 + Sa-Token + Vue3 + Mybatis-Plus / Mybatis-Flex。
|
||||||
- 全部主流技术栈 Boot3 + Flowable7 + Sa-Token + Vue3。
|
|
||||||
- 后端提供 Mybatis-Flex 和 Mybatis-Plus 双版本。
|
|
||||||
- 高颜值的在线表单和流程编辑器,以及精致统一的前端样式规范。
|
- 高颜值的在线表单和流程编辑器,以及精致统一的前端样式规范。
|
||||||
- 环境搭建文档 [https://www.orangeforms.com/article/open-setup](https://www.orangeforms.com/article/open-setup)。
|
- 环境搭建文档 [https://www.orangeforms.com/article/open-setup](https://www.orangeforms.com/article/open-setup)。
|
||||||
- 若依集成橙单 [https://www.orangeforms.com/article/open-setup#若依集成](https://www.orangeforms.com/article/open-setup#%E8%8B%A5%E4%BE%9D%E9%9B%86%E6%88%90)。
|
- 若依集成橙单 [https://www.orangeforms.com/article/open-setup#若依集成](https://www.orangeforms.com/article/open-setup#%E8%8B%A5%E4%BE%9D%E9%9B%86%E6%88%90)。
|
||||||
|
|
||||||
### 联系我们
|
|
||||||
- 如橙单开源对您确有帮助,希望得到您的 Star,让更多同行知道我们的存在。
|
|
||||||
- 如需更多支持,请扫左侧二维码加我微信,邀您入群,扫右侧二维码可直接入群。
|
|
||||||
|
|
||||||
|||
|
|
||||||
|---|---|
|
|
||||||
|
|
||||||
### 线上资源
|
### 线上资源
|
||||||
- 免费生成指南 [https://www.orangeforms.com/article/free](https://www.orangeforms.com/article/free)
|
- 功能比对清单 [https://docs.qq.com/sheet/DQ0xIU09HTFlFc09U?tab=BB08J2](https://docs.qq.com/sheet/DQ0xIU09HTFlFc09U?tab=BB08J2)
|
||||||
- 橙单官方文档 [https://www.orangeforms.com](https://www.orangeforms.com)
|
- 橙单视频教程 [https://www.orangeforms.com/video](https://www.orangeforms.com/video)
|
||||||
- 免费代码生成 [https://code.orangeforms.com](https://code.orangeforms.com)
|
- 免费代码生成 [https://code.orangeforms.com](https://code.orangeforms.com)
|
||||||
- 橙单演示工程 [https://demo.orangeforms.com](https://demo.orangeforms.com)
|
- 橙单演示工程 [https://demo.orangeforms.com](https://demo.orangeforms.com)
|
||||||
- 租户管理演示 [https://tenantadmin.orangeforms.com](https://tenantadmin.orangeforms.com)
|
|
||||||
- 租户运营演示 [https://tenant.orangeforms.com](https://tenant.orangeforms.com)
|
|
||||||
|
|
||||||
### 视频分享
|
### 商业授权
|
||||||
- 代码生成能力 [https://www.bilibili.com/video/BV1nm421G7o8/?vd_source=83bce1401008f7ee3c485dbbb91cd4c3](https://www.bilibili.com/video/BV1nm421G7o8/?vd_source=83bce1401008f7ee3c485dbbb91cd4c3)
|
- 商业版功能可对标售价「40w」的知名快开平台,我们的价格仅为其 1/15。
|
||||||
- 租户架构应用 [https://www.bilibili.com/video/BV1aZ421g7Zh/?vd_source=83bce1401008f7ee3c485dbbb91cd4c3](https://www.bilibili.com/video/BV1aZ421g7Zh/?vd_source=83bce1401008f7ee3c485dbbb91cd4c3)
|
- 永久授权,免费升级,全部源码交付,无任何后续付费套路。
|
||||||
|
|
||||||
|
### 视频推荐
|
||||||
|
- [橙单快开平台企业最佳选择](https://www.bilibili.com/video/BV1WAq4YjEEj/?vd_source=83bce1401008f7ee3c485dbbb91cd4c3)
|
||||||
|
- [橙单赋能若依构建快开平台](https://www.bilibili.com/video/BV1EfqSYTEKM/?vd_source=83bce1401008f7ee3c485dbbb91cd4c3)
|
||||||
|
|
||||||
### 图和真相
|
### 图和真相
|
||||||

|
|
||||||
|
|
||||||

|
|||
|
||||||
|
|---|---|
|
||||||
|
|||
|
||||||
|
|||
|
||||||
|
|||
|
||||||
|
|||
|
||||||
|
|
||||||

|
### 联系我们
|
||||||
|
- 如橙单开源对您确有帮助,希望得到您的 Star,让更多同行知道我们的存在。
|
||||||
|
- 如需更多支持,请扫左侧二维码加我微信,邀您加入技术交流活跃的微信群,或扫右侧二维码进入新群。
|
||||||
|
|
||||||

|
|||
|
||||||
|
|---|---|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### 诚挚推荐
|
### 诚挚推荐
|
||||||
强烈推荐贺波老师的《深入Flowable流程引擎:核心原理与高阶实战》,Flowable 创始人 Tijs Rademakers 亲笔作序,该书对系统学习和深入掌握 Flowable 极有帮助,书中涵盖很多大型流程中心平台所涉及的技术架构和场景案例。橙单团队作为贺老师的忠实粉丝,我们希望这本书可以帮助到更多对工作流有兴趣的开发者们。[推荐购买链接](https://item.jd.com/14804836.html)
|
强烈推荐贺波老师的《深入Flowable流程引擎:核心原理与高阶实战》,Flowable 创始人 Tijs Rademakers 亲笔作序,该书对系统学习和深入掌握 Flowable 极有帮助,书中涵盖很多大型流程中心平台所涉及的技术架构和场景案例。橙单团队作为贺老师的忠实粉丝,我们希望这本书可以帮助到更多对工作流有兴趣的开发者们。[推荐购买链接](https://item.jd.com/14804836.html)
|
||||||
|
|||||||
BIN
images/autoFlow.png
Normal file
BIN
images/autoFlow.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 480 KiB |
BIN
images/autoFlowDingding2.png
Normal file
BIN
images/autoFlowDingding2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 400 KiB |
BIN
images/autoFlowRuoyi2.png
Normal file
BIN
images/autoFlowRuoyi2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 935 KiB |
BIN
images/hiprint.png
Normal file
BIN
images/hiprint.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 498 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 417 KiB |
BIN
images/wechatgroup7.png
Normal file
BIN
images/wechatgroup7.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 455 KiB |
Reference in New Issue
Block a user