hy-logic-flow 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,123 +1,111 @@
1
- # Antdv 工作流组件 hy-flow-design
1
+ yarn run dev
2
+ # 使用npm
3
+ # hy-logic-flow (hy-flow-design)
2
4
 
3
5
  <p align="center">
6
+ <a href="https://gitee.com/nirunfa/smart-flow-design">
7
+ <img src="https://img.shields.io/badge/repo-gitee-blue" alt="gitee">
8
+ </a>
4
9
  <a href="https://github.com/vuejs/vue">
5
10
  <img src="https://img.shields.io/badge/vue-2.7.16-brightgreen.svg" alt="vue">
6
11
  </a>
7
12
  <a href="https://github.com/vueComponent/ant-design-vue">
8
13
  <img src="https://img.shields.io/badge/Ant%20Design%20Vue-1.7.8-blue" alt="ant-design-vue">
9
14
  </a>
10
- <a href="https://gitee.com/nirunfa/hy-flow-design/blob/master/LICENSE">
15
+ <a href="https://gitee.com/nirunfa/smart-flow-design/blob/master/LICENSE">
11
16
  <img src="https://img.shields.io/badge/license-Apache-blue" alt="license">
12
17
  </a>
13
- <a href='https://gitee.com/nirunfa/hy-flow-design/stargazers'>
14
- <img src='https://gitee.com/nirunfa/hy-flow-design/badge/star.svg?theme=dark' alt='star'/>
15
- </a>
16
- <a href='https://gitee.com/nirunfa/hy-flow-design/members'><img src='https://gitee.com/nirunfa/hy-flow-design/badge/fork.svg?theme=white' alt='fork'/>
17
- </a>
18
18
  </p>
19
19
 
20
- ![图片](https://gitee.com/nirunfa/hy-flow-design/raw/master/demo.jpg) ![图片](https://gitee.com/nirunfa/hy-flow-design/raw/master/setting.jpg)
20
+ 简体中文 | English (partial)
21
21
 
22
22
  ## 简介
23
23
 
24
- 基于 vue、ant-design-vue 的自定义组件
25
-
26
- 注:项目为 `vue2` 项目, 基于[github](https://github.com/smart-flow/hy-flow-design)这个项目根据公司某些独特的需求和组织架构进行了定制化的修改,在这里感谢这个作者!谢谢!
27
- - [码云](https://gitee.com/nirunfa/hy-flow-design)
28
-
29
- ## 特性 <以下特性待整理>
30
-
31
- - 支持在线流程设计器,钉钉审批模式,中国式工作流
32
- - 支持流程办理、退回、自由流、会签、并行、串行、服务任务等
33
- - 支持退回任务,退回到指定环节,退回到上一步,退回到发起人
34
- - 支持转办任务,将任务交接给他人办理,办理完成后继续下一步骤
35
- - 支持委托任务,将任务委托给他人,他人办理完成后再回到委托人
36
- - 支持智能提交,相同处理人自动跳过,支持自由指定下一步处理人
37
- - 支持作废流程,允许发起人快速终止流程,管理员维护终止流程
38
- - 支持自由流程,根据环节选择,自由跳转到指定环节,特事特办
39
- - 支持流程撤回,下一步未办理的任务,可进行取回撤销重做任务
40
- - 支持流程跟踪图,流程状态展现,流转信息,任务历史,任务分配信息
41
- - 支持一个流程模型挂接多个业务单据,如某公司 8 种费用审批流程,表单不一样,但流程相同
42
- - 支持一个表单挂接多个流程环节,以表单角度去管理流程,方便业务理解
43
- - 支持全局表单,用于流程全局表单配置,目前支持内置表单、url 表单。如果不配置则发起流程会提示错误。
44
- - 支持节点表单,节点表单配置。如果不配置默认使用全局表单。
45
- - 流程事件脚本在线编写,包括:流程启动、完成、取消;任务分配、创建、结束等
46
- - 我的待办任务处理,我的已办任务、我创建的任务查询、流程跟踪、审批记录查询
47
- - 流程管控,在无关联表单情况下流程调试,如流程发起、挂起;流程定义、实例、任务等查询;任务办理,重定位等
48
- - 支持流程组件标签定义(流程按钮、意见审批、下一步流程信息等)快速与自定义的业务表单建立关系。
49
- - 支持版本化管理流程,新调整的流程业务不影响正在运行,未结束的流程继续流转。
50
- - 支持任务加签、催办任务、传阅任务、流程委托设置、流水号管理、常用语管理
51
-
52
- ## 术语
53
-
54
- - **或签:** 一名负责人通过即可通过审批节点
55
- - **会签:** 需所有负责人通过才能通过审批节点
56
- - **加签:** 审批过程中加签
57
- - 前加签:在当前任务的前面加签,如果选择此操作,则当前待办会消失,等待选择的加签人审批后才能办理当前任务。
58
- - 后加签:即在当前任务的后面加签,选择此操作后会将任务发送给选择的加签人审批,加签人审批后再发给流程设计的下一步人审批。
59
- - 并签:即和当前任务并列审批。
60
- - **委托(派):** 将任务委托给他人处理,他人办理完成后再回到委托人的任务中
61
- - **转交:** 将审批单转交给指定人处理,直接将办理人换成别人,这时任务的拥有着不再是转办人
62
- - **签收:** 一般情况就是多个候选人,或者候选组的情况下,要先把这个任务签收下来,以免别人又做了同样的任务
63
- - **反签收:** 就是把执行人设置为空
64
- - 注意事项:反签收的时候,一定要先确定是否有候选人或者候选组,如果没有的话,不能反签收。因为会导致这个任务无法认领。
65
-
66
- #模块安装
67
-
68
- ## 组件
69
-
70
- - FlowDesign 流程设计
71
-
72
- ## 发布
73
-
74
- ```cmd
75
- npm login
24
+ `hy-logic-flow`(仓库名:`smart-flow-design`)是一个基于 Vue 2 + Ant Design Vue + Logic-Flow 的流程设计与流程组件库,封装了流程设计器、流程执行与常见工作流功能,方便在企业级应用中集成可视化流程管理能力。
76
25
 
77
- npm publish
78
- ```
26
+ 主要功能摘要:流程定义/设计、节点表单配置、任务办理、退回/转办/委托、会签/或签、并行分支、流程跟踪、流程版本管理等。
79
27
 
80
- ## 本地运行
28
+ 仓库地址(码云): https://gitee.com/nirunfa/smart-flow-design
81
29
 
82
- ```cmd
83
- # 使用yarn
84
- yarn install
30
+ ## 目录结构(简要)
85
31
 
86
- yarn run dev
32
+ - `packages/`:库入口与 mini 版本实现
33
+ - `FlowDesign/`:流程设计相关视图与逻辑
34
+ - `FlowNode/`:各类流程节点实现
35
+ - `Common/`、`Component/`:可复用组件
36
+ - `examples/`:示例用法和演示页面
87
37
 
88
- # 使用npm
38
+ 更多目录请参阅仓库根目录。
39
+
40
+ ## 快速开始
41
+
42
+ 安装(npm / yarn):
43
+
44
+ ```bash
45
+ # 使用 npm
89
46
  npm install
90
47
 
48
+ # 或使用 yarn
49
+ yarn install
50
+ ```
51
+
52
+ 本地开发:
53
+
54
+ ```bash
91
55
  npm run dev
56
+ # 或
57
+ yarn run dev
92
58
  ```
93
59
 
94
- ## 插件安装
60
+ 构建分发库(生成 `dist`):
95
61
 
96
- ```cmd
97
- # 使用yarn
98
- yarn add hy-logic-flow
62
+ ```bash
63
+ # 构建主库
64
+ npm run lib
99
65
 
100
- # 使用npm
66
+ # 构建 mini 版本(仅库,体积更小,需项目已引入 antd 组件)
67
+ npm run mini
68
+ ```
69
+
70
+ 发布到 npm(示例):
71
+
72
+ ```bash
73
+ npm login
74
+ npm publish
75
+ ```
76
+
77
+ (仓库还提供 `scripts/publish.js` 与 `scripts/publish-mini.js` 可选的发布自动化脚本)
78
+
79
+ ## 在项目中使用
80
+
81
+ 安装已发布的包:
82
+
83
+ ```bash
84
+ # 完整包:
101
85
  npm i hy-logic-flow --save
86
+
87
+ # 或 mini 包(前提:项目中已包含 Ant Design Vue):
88
+ npm i hy-logic-flow-mini --save
102
89
  ```
103
90
 
104
- ## 引入组件
91
+ `main.js` 中引入并注册:
105
92
 
106
93
  ```javascript
107
- // 在main.js引入
108
- import HyFlowDesign from 'hy-logic-flow;
109
- import 'hy-logic-flow/styles/hy-logic-flow.less';
110
- Vue.use(HyFlowDesign);
111
-
112
- // 注册 flowStore 到 Vuex
113
- const flowStore = HyFlowDesign.flowStore;
114
- console.log(flowStore)
115
- if (flowStore) {
116
- store.registerModule('flow', flowStore);
94
+ import Vue from 'vue'
95
+ import HyFlowDesign from 'hy-logic-flow'
96
+ import 'hy-logic-flow/styles/hy-logic-flow.less'
97
+
98
+ Vue.use(HyFlowDesign)
99
+
100
+ // 可选:将内部提供的 flow store 注册到你的 Vuex
101
+ const flowStore = HyFlowDesign.flowStore
102
+ if (flowStore && !$store.state.flow) {
103
+ // 假设你的 Vuex 实例为 store
104
+ store.registerModule('flow', flowStore)
117
105
  }
118
106
  ```
119
107
 
120
- ## 使用组件
108
+ 在组件中使用:
121
109
 
122
110
  ```html
123
111
  <template>
@@ -127,38 +115,40 @@ if (flowStore) {
127
115
  </template>
128
116
  ```
129
117
 
130
- ## 引入 mini 包
118
+ 示例请参考 `examples/` 目录。
131
119
 
132
- 默认包是集成了 antd ui 的,如果项目中也有使用 antd ui,可以选择引入 mini 包来达到减小最终项目的体积,当然要确认项目中已经引入 components_use.js 中的组件使用
120
+ ## 可用脚本(来自 `package.json`)
133
121
 
134
- ```javascript
135
- - import HyFlowDesign from 'hy-logic-flow-mini';
136
- + import HyFlowDesign from 'hy-logic-flow-mini/lib/hy-logic-flow-mini-mini.umd.min'
137
- import 'hy-logic-flow-mini/lib/hy-logic-flow-mini.css'
138
- Vue.use(HyFlowDesign)
122
+ - `npm run dev`:本地开发(vue-cli 服务)
123
+ - `npm run build`:构建示例/站点
124
+ - `npm run lib`:构建为库(lib)并同时触发 mini 构建
125
+ - `npm run mini`:生成 mini 包库文件
126
+ - `npm run lint`:运行 ESLint
127
+ - `npm run pub`:自定义发布脚本(`scripts/publish.js`)
139
128
 
140
- // 注册 flowStore 到 Vuex
141
- const flowStore = HyFlowDesign.flowStore;
142
- console.log(flowStore)
143
- if (flowStore) {
144
- store.registerModule('flow', flowStore);
145
- }
146
- ```
129
+ 完整脚本请查看 `package.json`。
147
130
 
148
- ```node
149
- # 构建mini,生成lib目录
150
- yarn run mini
131
+ ## 注意与建议
151
132
 
152
- # 在lib的文件发布到npm
153
- npm login
133
+ - 本项目基于 Vue 2.x(使用 `vue@2.7.x` 与 `vue-template-compiler@2.7.x`)。
134
+ - 如果你的项目已使用 Ant Design Vue,建议使用 `hy-logic-flow-mini`(mini 包)以减小 bundle 体积。
135
+ - 如果要定制节点、表单或事件脚本,请阅读 `FlowDesign/` 与 `FlowNode/` 下的实现并结合 `examples/` 调试。
154
136
 
155
- npm publish
156
- ```
137
+ ## 贡献
138
+
139
+ 欢迎提 PR 和 issue。建议先在本地运行并按照仓库代码风格提交(项目包含 ESLint / Prettier / Stylelint 配置)。
140
+
141
+ 常见贡献流程:
142
+
143
+ 1. Fork 本仓库并创建分支
144
+ 2. 编写代码并遵循现有代码风格
145
+ 3. 提交 PR 并在 PR 描述中说明变更点
157
146
 
158
- ## 字体资源地址
147
+ ## 许可证
159
148
 
160
- [FiraCode 和 Operator Mono 字体下载地址](https://gitcode.net/mirrors/beichensky/font)
149
+ Apache License
161
150
 
162
- ## License
151
+ 更多信息请查看仓库 LICENSE 文件。
163
152
 
164
- [Apache](https://gitee.com/nirunfa/hy-flow-design/blob/master/LICENSE) Copyright (c) 2022
153
+ ---
154
+ 文件位置: [README.md](README.md)