work-flow-master 1.0.0 → 1.0.2

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.
Files changed (47) hide show
  1. package/lib/App.css +92 -0
  2. package/lib/App.js +19 -0
  3. package/lib/api/index.js +83 -0
  4. package/lib/assets/images/add-close.png +0 -0
  5. package/lib/assets/images/add-close1.png +0 -0
  6. package/lib/assets/images/cancel.png +0 -0
  7. package/lib/assets/images/check_box.png +0 -0
  8. package/lib/assets/images/icon_file.png +0 -0
  9. package/lib/assets/images/icon_people.png +0 -0
  10. package/lib/assets/images/icon_role.png +0 -0
  11. package/lib/assets/images/jiaojiao.png +0 -0
  12. package/lib/assets/images/list_search.png +0 -0
  13. package/lib/assets/images/loading.gif +0 -0
  14. package/lib/assets/images/next_level.png +0 -0
  15. package/lib/assets/images/next_level_active.png +0 -0
  16. package/lib/assets/logo.svg +1 -0
  17. package/lib/components/AddNode/index.js +120 -0
  18. package/lib/components/AddNode/index.scss +120 -0
  19. package/lib/components/Dialog/ErrorDialog/index.js +61 -0
  20. package/lib/components/Dialog/ErrorDialog/index.scss +60 -0
  21. package/lib/components/Dialog/SelectDialog/index.js +336 -0
  22. package/lib/components/Dialog/SelectDialog/index.scss +34 -0
  23. package/lib/components/Drawer/ApproverDrawer/index.js +260 -0
  24. package/lib/components/Drawer/ApproverDrawer/index.scss +62 -0
  25. package/lib/components/Drawer/ConditionDrawer/index.js +431 -0
  26. package/lib/components/Drawer/ConditionDrawer/index.scss +113 -0
  27. package/lib/components/Drawer/CopyerDrawer/index.js +111 -0
  28. package/lib/components/Drawer/CopyerDrawer/index.scss +12 -0
  29. package/lib/components/Drawer/PromoterDrawer/index.js +82 -0
  30. package/lib/components/Drawer/PromoterDrawer/index.scss +16 -0
  31. package/lib/components/NodeWrap/index.js +383 -0
  32. package/lib/components/NodeWrap/index.scss +32 -0
  33. package/lib/components/SelectBox/index.js +72 -0
  34. package/lib/components/SelectBox/index.scss +27 -0
  35. package/lib/components/SelectResult/index.js +67 -0
  36. package/lib/components/SelectResult/index.scss +37 -0
  37. package/lib/components/setting/index.css +4 -0
  38. package/lib/components/setting/index.js +342 -0
  39. package/lib/css/override-element-ui.scss +119 -0
  40. package/lib/css/workflow.css +952 -0
  41. package/lib/index.js +0 -0
  42. package/lib/store/index.js +21 -0
  43. package/lib/store/models.js +91 -0
  44. package/lib/utils/axios.js +43 -0
  45. package/lib/utils/const.js +74 -0
  46. package/lib/utils/index.js +158 -0
  47. package/package.json +7 -5
package/lib/index.js CHANGED
File without changes
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _core = require("@rematch/core");
8
+ var models = _interopRequireWildcard(require("./models"));
9
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
10
+ /*
11
+ * @Date: 2023-03-15 15:34:08
12
+ * @LastEditors: StavinLi 495727881@qq.com
13
+ * @LastEditTime: 2023-03-15 19:59:21
14
+ * @FilePath: /workflow-react/src/store/index.js
15
+ */
16
+ // store.js
17
+
18
+ const store = (0, _core.init)({
19
+ models
20
+ });
21
+ var _default = exports.default = store;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.models = void 0;
7
+ /*
8
+ * @Date: 2023-03-15 16:42:35
9
+ * @LastEditors: StavinLi 495727881@qq.com
10
+ * @LastEditTime: 2023-03-17 15:03:13
11
+ * @FilePath: /workflow-react/src/store/models.js
12
+ */
13
+ const models = exports.models = {
14
+ state: {
15
+ tableId: '',
16
+ isTried: false,
17
+ promoterDrawer: false,
18
+ flowPermission1: [],
19
+ approverDrawer: false,
20
+ approverConfig1: {},
21
+ copyerDrawer: false,
22
+ copyerConfig1: {},
23
+ conditionDrawer: false,
24
+ conditionsConfig1: {
25
+ conditionNodes: []
26
+ }
27
+ },
28
+ // 初始化状态
29
+ reducers: {
30
+ setTableId(status, payload) {
31
+ return {
32
+ ...status,
33
+ tableId: payload
34
+ };
35
+ },
36
+ setIsTried(status, payload) {
37
+ return {
38
+ ...status,
39
+ isTried: payload
40
+ };
41
+ },
42
+ setPromoter(status, payload) {
43
+ return {
44
+ ...status,
45
+ promoterDrawer: payload
46
+ };
47
+ },
48
+ setFlowPermission(status, payload) {
49
+ return {
50
+ ...status,
51
+ flowPermission1: payload
52
+ };
53
+ },
54
+ setApprover(status, payload) {
55
+ return {
56
+ ...status,
57
+ approverDrawer: payload
58
+ };
59
+ },
60
+ setApproverConfig(status, payload) {
61
+ return {
62
+ ...status,
63
+ approverConfig1: payload
64
+ };
65
+ },
66
+ setCopyer(status, payload) {
67
+ return {
68
+ ...status,
69
+ copyerDrawer: payload
70
+ };
71
+ },
72
+ setCopyerConfig(status, payload) {
73
+ return {
74
+ ...status,
75
+ copyerConfig1: payload
76
+ };
77
+ },
78
+ setCondition(status, payload) {
79
+ return {
80
+ ...status,
81
+ conditionDrawer: payload
82
+ };
83
+ },
84
+ setConditionsConfig(status, payload) {
85
+ return {
86
+ ...status,
87
+ conditionsConfig1: payload
88
+ };
89
+ }
90
+ }
91
+ };
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _axios2 = _interopRequireDefault(require("axios"));
9
+ /*
10
+ * @Date: 2022-08-25 14:43:53
11
+ * @LastEditors: StavinLi 495727881@qq.com
12
+ * @LastEditTime: 2023-03-23 10:30:21
13
+ * @FilePath: /workflow-react/src/utils/axios.js
14
+ */
15
+
16
+ // Full config: https://github.com/axios/axios#request-config
17
+ // axios.defaults.baseURL = process.env.baseURL || process.env.apiUrl || '';
18
+ // axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
19
+ // axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
20
+
21
+ let config = {
22
+ // baseURL: process.env.baseURL || process.env.apiUrl || ""
23
+ // timeout: 60 * 1000, // Timeout
24
+ // withCredentials: true, // Check cross-site Access-Control
25
+ };
26
+ const _axios = _axios2.default.create(config);
27
+ _axios.interceptors.request.use(function (config) {
28
+ // Do something before request is sent
29
+ return config;
30
+ }, function (error) {
31
+ // Do something with request error
32
+ return Promise.reject(error);
33
+ });
34
+
35
+ // Add a response interceptor
36
+ _axios.interceptors.response.use(function (response) {
37
+ // Do something with response data
38
+ return response.data;
39
+ }, function (error) {
40
+ // Do something with response error
41
+ return Promise.reject(error);
42
+ });
43
+ var _default = exports.default = _axios;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.setTypes = exports.selectRanges = exports.selectModes = exports.placeholderList = exports.optTypes = exports.opt1s = exports.bgColors = void 0;
7
+ /*
8
+ * @Date: 2023-03-21 16:25:38
9
+ * @LastEditors: StavinLi 495727881@qq.com
10
+ * @LastEditTime: 2023-03-29 15:34:38
11
+ * @FilePath: /workflow-react/src/utils/const.js
12
+ */
13
+
14
+ let bgColors = exports.bgColors = ['87, 106, 149', '255, 148, 62', '50, 150, 250'];
15
+ let placeholderList = exports.placeholderList = ["发起人", "审核人", "抄送人"];
16
+ let setTypes = exports.setTypes = [{
17
+ value: 1,
18
+ label: '指定成员'
19
+ }, {
20
+ value: 2,
21
+ label: '主管'
22
+ }, {
23
+ value: 4,
24
+ label: '发起人自选'
25
+ }, {
26
+ value: 5,
27
+ label: '发起人自己'
28
+ }, {
29
+ value: 7,
30
+ label: '连续多级主管'
31
+ }];
32
+ let selectModes = exports.selectModes = [{
33
+ value: 1,
34
+ label: '选一个人'
35
+ }, {
36
+ value: 2,
37
+ label: '选多个人'
38
+ }];
39
+ let selectRanges = exports.selectRanges = [{
40
+ value: 1,
41
+ label: '全公司'
42
+ }, {
43
+ value: 2,
44
+ label: '指定成员'
45
+ }, {
46
+ value: 3,
47
+ label: '指定角色'
48
+ }];
49
+ let optTypes = exports.optTypes = [{
50
+ value: '1',
51
+ label: '小于'
52
+ }, {
53
+ value: '2',
54
+ label: '大于'
55
+ }, {
56
+ value: '3',
57
+ label: '小于等于'
58
+ }, {
59
+ value: '4',
60
+ label: '等于'
61
+ }, {
62
+ value: '5',
63
+ label: '大于等于'
64
+ }, {
65
+ value: '6',
66
+ label: '介于两个数之间'
67
+ }];
68
+ let opt1s = exports.opt1s = [{
69
+ value: '<',
70
+ label: '<'
71
+ }, {
72
+ value: '≤',
73
+ label: '≤'
74
+ }];
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.toggleStrClass = exports.toggleClass = exports.toChecked = exports.setApproverStr = exports.removeEle = exports.dealStr = exports.copyerStr = exports.conditionStr = exports.arrToStr = void 0;
7
+ let arrToStr = arr => {
8
+ if (arr) {
9
+ return arr.map(item => {
10
+ return item.name;
11
+ }).toString();
12
+ }
13
+ };
14
+ exports.arrToStr = arrToStr;
15
+ let toggleClass = function (arr, elem) {
16
+ let key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'id';
17
+ return arr.some(item => {
18
+ return item[key] === elem[key];
19
+ });
20
+ };
21
+ exports.toggleClass = toggleClass;
22
+ let toChecked = function (arr, elem) {
23
+ let key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'id';
24
+ var isIncludes = toggleClass(arr, elem, key);
25
+ !isIncludes ? arr.push(elem) : removeEle(arr, elem, key);
26
+ return [...arr];
27
+ };
28
+ exports.toChecked = toChecked;
29
+ let removeEle = function (arr, elem) {
30
+ let key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'id';
31
+ var includesIndex;
32
+ arr.forEach((item, index) => {
33
+ if (item[key] === elem[key]) {
34
+ includesIndex = index;
35
+ }
36
+ });
37
+ arr.splice(includesIndex, 1);
38
+ return [...arr];
39
+ };
40
+ exports.removeEle = removeEle;
41
+ let setApproverStr = nodeConfig => {
42
+ if (nodeConfig.settype === 1) {
43
+ if (nodeConfig.nodeUserList.length === 1) {
44
+ return nodeConfig.nodeUserList[0].name;
45
+ } else if (nodeConfig.nodeUserList.length > 1) {
46
+ if (nodeConfig.examineMode === 1) {
47
+ return arrToStr(nodeConfig.nodeUserList);
48
+ } else if (nodeConfig.examineMode === 2) {
49
+ return nodeConfig.nodeUserList.length + "人会签";
50
+ }
51
+ }
52
+ } else if (nodeConfig.settype === 2) {
53
+ let level = nodeConfig.directorLevel === 1 ? '直接主管' : '第' + nodeConfig.directorLevel + '级主管';
54
+ if (nodeConfig.examineMode === 1) {
55
+ return level;
56
+ } else if (nodeConfig.examineMode === 2) {
57
+ return level + "会签";
58
+ }
59
+ } else if (nodeConfig.settype === 4) {
60
+ if (nodeConfig.selectRange === 1) {
61
+ return "发起人自选";
62
+ } else {
63
+ if (nodeConfig.nodeUserList.length > 0) {
64
+ if (nodeConfig.selectRange === 2) {
65
+ return "发起人自选";
66
+ } else {
67
+ return '发起人从' + nodeConfig.nodeUserList[0].name + '中自选';
68
+ }
69
+ } else {
70
+ return "";
71
+ }
72
+ }
73
+ } else if (nodeConfig.settype === 5) {
74
+ return "发起人自己";
75
+ } else if (nodeConfig.settype === 7) {
76
+ return '从直接主管到通讯录中级别最高的第' + nodeConfig.examineEndDirectorLevel + '个层级主管';
77
+ }
78
+ };
79
+ exports.setApproverStr = setApproverStr;
80
+ let dealStr = (str, obj) => {
81
+ let arr = [];
82
+ let list = str.split(",");
83
+ for (var elem in obj) {
84
+ // eslint-disable-next-line no-loop-func
85
+ list.forEach(item => {
86
+ if (item === elem) {
87
+ arr.push(obj[elem].value);
88
+ }
89
+ });
90
+ }
91
+ return arr.join("或");
92
+ };
93
+ exports.dealStr = dealStr;
94
+ let conditionStr = (nodeConfig, index) => {
95
+ var {
96
+ conditionList,
97
+ nodeUserList
98
+ } = nodeConfig.conditionNodes[index];
99
+ if (conditionList.length === 0) {
100
+ return index === nodeConfig.conditionNodes.length - 1 && nodeConfig.conditionNodes[0].conditionList.length !== 0 ? '其他条件进入此流程' : '请设置条件';
101
+ } else {
102
+ let str = "";
103
+ for (var i = 0; i < conditionList.length; i++) {
104
+ var {
105
+ columnId,
106
+ columnType,
107
+ showType,
108
+ showName,
109
+ optType,
110
+ zdy1,
111
+ opt1,
112
+ zdy2,
113
+ opt2,
114
+ fixedDownBoxValue
115
+ } = conditionList[i];
116
+ if (columnId === 0) {
117
+ if (nodeUserList.length !== 0) {
118
+ str += '发起人属于:';
119
+ str += nodeUserList.map(item => {
120
+ return item.name;
121
+ }).join("或") + " 并且 ";
122
+ }
123
+ }
124
+ if (columnType === "String" && showType === "3") {
125
+ if (zdy1) {
126
+ str += showName + '属于:' + dealStr(zdy1, JSON.parse(fixedDownBoxValue)) + " 并且 ";
127
+ }
128
+ }
129
+ if (columnType === "Double") {
130
+ if (optType !== 6 && zdy1) {
131
+ var optTypeStr = ["", "<", ">", "≤", "=", "≥"][optType];
132
+ str += `${showName} ${optTypeStr} ${zdy1} 并且 `;
133
+ } else if (optType === 6 && zdy1 && zdy2) {
134
+ str += `${zdy1} ${opt1} ${showName} ${opt2} ${zdy2} 并且 `;
135
+ }
136
+ }
137
+ }
138
+ return str ? str.substring(0, str.length - 4) : '请设置条件';
139
+ }
140
+ };
141
+ exports.conditionStr = conditionStr;
142
+ let copyerStr = nodeConfig => {
143
+ if (nodeConfig.nodeUserList.length !== 0) {
144
+ return arrToStr(nodeConfig.nodeUserList);
145
+ } else {
146
+ if (nodeConfig.ccSelfSelectFlag === 1) {
147
+ return "发起人自选";
148
+ }
149
+ }
150
+ };
151
+ exports.copyerStr = copyerStr;
152
+ let toggleStrClass = (item, key) => {
153
+ let a = item.zdy1 ? item.zdy1.split(",") : [];
154
+ return a.some(item => {
155
+ return item === key;
156
+ });
157
+ };
158
+ exports.toggleStrClass = toggleStrClass;
package/package.json CHANGED
@@ -1,18 +1,20 @@
1
1
  {
2
2
  "name": "work-flow-master",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "main": "lib/index.js",
5
5
  "homepage": "/workflow/dist/",
6
6
  "keywords": [
7
- "workflow"
7
+ "work-flow-master"
8
8
  ],
9
9
  "author": "zhouhongwei",
10
10
  "license": "ISC",
11
11
  "description": "",
12
12
  "bin": {
13
- "work-flow-master": "./index.js"
13
+ "work-flow-master": "./lib/index.js"
14
14
  },
15
- "files": ["index.js"],
15
+ "files": [
16
+ "lib"
17
+ ],
16
18
  "dependencies": {
17
19
  "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3",
18
20
  "@rematch/core": "^2.2.0",
@@ -73,7 +75,7 @@
73
75
  "start": "react-scripts start",
74
76
  "dev": "node scripts/start.js",
75
77
  "serve": "node scripts/start.js",
76
- "build": "node scripts/build.js",
78
+ "build": "react-scripts build",
77
79
  "test": "node scripts/test.js"
78
80
  },
79
81
  "eslintConfig": {