ui-process-h5 2.0.7-beta → 2.1.0-beta

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 (91) hide show
  1. package/README.md +11 -204
  2. package/build/configure/README.md +211 -0
  3. package/build/configure/package.json +32 -0
  4. package/debug.js +9 -0
  5. package/index.html +12 -0
  6. package/package.json +56 -25
  7. package/src/App.vue +233 -0
  8. package/src/assets/font-icon/iconfont.scss +57 -0
  9. package/src/assets/font-icon/iconfont.ttf +0 -0
  10. package/src/assets/img/add-file.png +0 -0
  11. package/src/assets/img/arrow-right.png +0 -0
  12. package/src/assets/img/arrow.png +0 -0
  13. package/src/assets/img/check.png +0 -0
  14. package/src/assets/img/del.png +0 -0
  15. package/src/assets/img/doc.png +0 -0
  16. package/src/assets/img/file.png +0 -0
  17. package/src/assets/img/image.png +0 -0
  18. package/src/assets/img/pdf.png +0 -0
  19. package/src/assets/img/process.png +0 -0
  20. package/src/assets/img/xls.png +0 -0
  21. package/src/assets/img/zip.png +0 -0
  22. package/src/assets/js/auth.js +65 -0
  23. package/src/assets/js/errorCode.js +6 -0
  24. package/src/assets/js/message.js +352 -0
  25. package/src/assets/js/request.js +99 -0
  26. package/src/assets/js/toast.js +239 -0
  27. package/src/assets/js/top.js +229 -0
  28. package/src/assets/js/utils.js +83 -0
  29. package/src/assets/js/vuePopper.js +123 -0
  30. package/src/assets/query.png +0 -0
  31. package/src/assets/status/check.png +0 -0
  32. package/src/assets/status/del.png +0 -0
  33. package/src/assets/status/error.png +0 -0
  34. package/src/assets/status/loading.png +0 -0
  35. package/src/assets/status/success.png +0 -0
  36. package/src/main.js +17 -0
  37. package/src/packages/attchUpload/index.js +375 -0
  38. package/src/packages/attchUpload/index.scss +143 -0
  39. package/src/packages/attchUpload/index.vue +173 -0
  40. package/src/packages/downSelect/index.js +119 -0
  41. package/src/packages/downSelect/index.scss +88 -0
  42. package/src/packages/downSelect/index.vue +62 -0
  43. package/src/packages/index.js +6 -0
  44. package/src/packages/popup/index.js +125 -0
  45. package/src/packages/popup/index.scss +178 -0
  46. package/src/packages/popup/index.vue +80 -0
  47. package/src/packages/preview/index.js +40 -0
  48. package/src/packages/preview/index.vue +15 -0
  49. package/src/packages/previewImage/index.js +286 -0
  50. package/src/packages/previewImage/index.scss +76 -0
  51. package/src/packages/previewImage/index.vue +53 -0
  52. package/src/packages/process/index.js +1016 -0
  53. package/src/packages/process/index.scss +188 -0
  54. package/src/packages/process/index.vue +291 -0
  55. package/src/packages/process/operation/backNode.vue +396 -0
  56. package/src/packages/process/operation/cancel.vue +425 -0
  57. package/src/packages/process/operation/ccTask.vue +256 -0
  58. package/src/packages/process/operation/complete.vue +1384 -0
  59. package/src/packages/process/operation/counterSign.vue +498 -0
  60. package/src/packages/process/operation/delegateTask.vue +493 -0
  61. package/src/packages/process/operation/index.js +8 -0
  62. package/src/packages/process/operation/index.scss +212 -0
  63. package/src/packages/process/operation/msgList.vue +174 -0
  64. package/src/packages/process/operation/treeNode.vue +901 -0
  65. package/src/packages/process/operation/treePerson.vue +304 -0
  66. package/src/packages/submitPopup/index.js +708 -0
  67. package/src/packages/submitPopup/index.scss +190 -0
  68. package/src/packages/submitPopup/index.vue +125 -0
  69. package/src/packages/tab/index.js +236 -0
  70. package/src/packages/tab/index.scss +177 -0
  71. package/src/packages/tab/index.vue +155 -0
  72. package/src/packages/tip/index.js +80 -0
  73. package/src/packages/tip/index.scss +121 -0
  74. package/src/packages/tip/index.vue +57 -0
  75. package/src/packages/viewAttchList/index.js +138 -0
  76. package/src/packages/viewAttchList/index.scss +76 -0
  77. package/src/packages/viewAttchList/index.vue +121 -0
  78. package/src/style.css +80 -0
  79. package/vite.config.ts +118 -0
  80. package/v2/style.css +0 -1
  81. package/v2/ui-process-h5.js +0 -9945
  82. package/v2/ui-process-h5.umd.cjs +0 -18
  83. package/v2.7/style.css +0 -1
  84. package/v2.7/ui-process-h5.js +0 -9322
  85. package/v2.7/ui-process-h5.umd.cjs +0 -18
  86. package/v3/style.css +0 -1
  87. package/v3/ui-process-h5.js +0 -6842
  88. package/v3/ui-process-h5.umd.cjs +0 -6
  89. /package/{scripts → build/scripts}/postinstall.mjs +0 -0
  90. /package/{scripts → build/scripts}/switch-cli.mjs +0 -0
  91. /package/{scripts → build/scripts}/utils.mjs +0 -0
@@ -0,0 +1,304 @@
1
+ <template>
2
+ <div class="test">
3
+ <div v-if="nodeItems && nodeItems.length">
4
+ <div class="treeperson" v-for="value in nodeItems">
5
+ <template v-if="value.childNode && value.childNode.length">
6
+ <div class="treeperson-title">
7
+ 下一步审批节点
8
+ <span class="treeperson-title--re">*</span>
9
+ </div>
10
+ <template v-if="nodeType == 'outing'">
11
+ <div class="treeperson-firstnode" v-if="!(value.type == 'ExclusiveGatewayModel' && value.childNode.length == 1)">
12
+ <div
13
+ class="treeperson-radio"
14
+ v-for="item in value.childNode"
15
+ :class="
16
+ firstCheck == item.id
17
+ ? 'treeperson-radio-active'
18
+ : ''
19
+ "
20
+ @click="handleFirstNodeClick(item)"
21
+ >
22
+ <span></span>
23
+ {{ item.nodeName || item.name }}
24
+ </div>
25
+ </div>
26
+
27
+ <TreeNode
28
+ :items="childrenItems"
29
+ :endNode="childrenEndItems"
30
+ :nodeType="nodeType"
31
+ :param="param"
32
+ :checkType="firstType"
33
+ @onMultiNode="onMultiNode"
34
+ @onVars="onVars"
35
+ />
36
+ </template>
37
+ </template>
38
+ <template v-else>
39
+ <div class="treeperson-title">
40
+ 下一步审批节点
41
+ <span class="treeperson-title--re">*</span>
42
+ </div>
43
+ <template v-if="nodeType == 'nexting'">
44
+ <TreeNode
45
+ :items="[value]"
46
+ :endNode="childrenEndItems"
47
+ :nodeType="nodeType"
48
+ :param="param"
49
+ :checkType="firstType"
50
+ @onMultiNode="onMultiNode"
51
+ @onVars="onVars"
52
+ />
53
+ </template>
54
+ <template v-else>
55
+ <TreeNode
56
+ :items="[value]"
57
+ :endNode="true"
58
+ nodeType="nexting"
59
+ :param="param"
60
+ :checkType="firstType"
61
+ @onMultiNode="onMultiNode"
62
+ @onVars="onVars"
63
+ />
64
+ </template>
65
+ </template>
66
+ </div>
67
+ </div>
68
+ </div>
69
+ </template>
70
+ <script>
71
+ import TreeNode from "./treeNode.vue";
72
+
73
+ export default {
74
+ name: "treeperson",
75
+ components: {
76
+ TreeNode,
77
+ },
78
+ props: {
79
+ // 传入节点数据
80
+ items: {
81
+ type: Array,
82
+ default: () => [],
83
+ },
84
+ nodeType: {
85
+ type: String,
86
+ default: "outing",
87
+ },
88
+ // 通用参数
89
+ param: {
90
+ type: Object,
91
+ default: () => {},
92
+ },
93
+ },
94
+ data() {
95
+ return {
96
+ // 传入节点
97
+ nodeItems: [],
98
+ // 选人弹窗
99
+ visible: false,
100
+ // 当前勾选Id
101
+ partObjId: "",
102
+ // 存储选中人
103
+ partNode: [],
104
+
105
+ // 首节点单选
106
+ firstCheck: "",
107
+ firstType: "",
108
+
109
+ // 子集数组
110
+ childrenItems: [],
111
+ childrenEndItems: false,
112
+
113
+ // 父级vars
114
+ gateVars: {},
115
+
116
+ // 选人id
117
+ multiNode: [],
118
+ // vars
119
+ getVars: {},
120
+ };
121
+ },
122
+ watch: {
123
+ items: {
124
+ handler(val, vals) {
125
+ if (val && val.length) {
126
+ if (this.nodeType == "nexting") {
127
+ this.nodeItems = [];
128
+ this.childrenEndItems = true;
129
+ val.forEach((v) => {
130
+ v = {
131
+ ...v,
132
+ ...v.userTaskModelDTO,
133
+ };
134
+ v.humanPerformerName = v.humanPerformer.name;
135
+ // console.log("打印当前处理后数据", v);
136
+ this.nodeItems.push(v);
137
+ });
138
+ // console.log("树结构获取当前节点:", this.nodeItems);
139
+ } else if (this.nodeType == "outing") {
140
+ this.nodeItems = val;
141
+ console.log("nodeItems", this.nodeItems);
142
+ }
143
+ if(this.nodeItems.length == 1 && this.nodeItems[0]['type'] == 'ExclusiveGatewayModel'){
144
+ if(this.nodeItems[0]['childNode'] && this.nodeItems[0]['childNode'].length == 1){
145
+ this.handleFirstNodeClick(this.nodeItems[0])
146
+ }
147
+ }
148
+ // console.log('nodeItems ===',this.nodeItems);
149
+ }
150
+ },
151
+ immediate: true,
152
+ deep: true,
153
+ },
154
+ },
155
+ methods: {
156
+ onMultiNode(val) {
157
+ this.multiNode = val;
158
+ this.$emit("onMultiNode", this.multiNode);
159
+ // console.log("onMultiNode:::", this.multiNode);
160
+ },
161
+ onVars(val) {
162
+ if (val) {
163
+ this.getVars = {
164
+ ...this.gateVars,
165
+ ...val,
166
+ };
167
+ } else {
168
+ this.getVars = {
169
+ ...this.gateVars,
170
+ };
171
+ }
172
+
173
+ this.$emit("onVars", this.getVars);
174
+ // console.log("onVars:::", this.getVars);
175
+ },
176
+ isOption(humanPerformer) {
177
+ return (
178
+ humanPerformer == "任意指定" ||
179
+ humanPerformer == "固定部门" ||
180
+ humanPerformer == "固定单位" ||
181
+ humanPerformer == "与流程申请人所在组织结构的位置相关" ||
182
+ humanPerformer == "固定群组"
183
+ );
184
+ },
185
+
186
+ handleFirstNodeClick(val) {
187
+ console.log('=====one',val);
188
+ if (val) {
189
+ this.firstCheck = val.id;
190
+ this.firstType = val.type;
191
+ let arr = [val];
192
+ if (val.childNode && val.childNode.length) {
193
+ this.childrenItems = val.childNode;
194
+ this.childrenEndItems = false;
195
+ } else {
196
+ this.childrenItems = [val];
197
+ this.childrenEndItems = true;
198
+ }
199
+
200
+ if (this.nodeType == "outing") {
201
+ this.gateVars = {};
202
+ arr.forEach((v) => {
203
+ this.gateVars[v.incomingConditionItemList[0].itemName] =
204
+ v.incomingConditionItemList[0].compareValue;
205
+ });
206
+ }
207
+ }
208
+ },
209
+ },
210
+ };
211
+ </script>
212
+ <style lang="scss" scoped>
213
+ .treeperson {
214
+ &-title {
215
+ font-weight: 400;
216
+ font-size: 12px;
217
+ color: #565959;
218
+ padding: 8px 0;
219
+ position: relative;
220
+
221
+ &::after {
222
+ content: "";
223
+ position: absolute;
224
+ width: 100%;
225
+ height: 1px;
226
+ background-color: #dcdcdc;
227
+ bottom: 0;
228
+ left: 0;
229
+ }
230
+
231
+ &--re {
232
+ font-weight: 400;
233
+ font-size: 12px;
234
+ line-height: 16px;
235
+ color: #f14a4b;
236
+ }
237
+ }
238
+
239
+ &-items {
240
+ }
241
+
242
+ &-radio,
243
+ &-checkbox {
244
+ display: inline-flex;
245
+ align-items: center;
246
+ font-weight: 400;
247
+ font-size: 14px;
248
+ color: #333;
249
+ }
250
+
251
+ &-radio {
252
+ span {
253
+ display: inline-block;
254
+ border: 1px solid #d1d1d1;
255
+ border-radius: 50%;
256
+ width: 16px;
257
+ height: 16px;
258
+ box-sizing: border-box;
259
+ background-color: #fff;
260
+ margin-right: 5px;
261
+ position: relative;
262
+ }
263
+
264
+ &-active {
265
+ span {
266
+ border-color: rgb(0, 122, 255);
267
+ &::after {
268
+ content: "";
269
+ background-color: rgb(0, 122, 255);
270
+ border-color: rgb(0, 122, 255);
271
+ width: 12px;
272
+ height: 12px;
273
+ position: absolute;
274
+ border-radius: 50%;
275
+ left: 1px;
276
+ top: 1px;
277
+ }
278
+ }
279
+ }
280
+ }
281
+ &-checkbox {
282
+ span {
283
+ display: inline-block;
284
+ border: 1px solid #d1d1d1;
285
+ border-radius: 3px;
286
+ width: 16px;
287
+ height: 16px;
288
+ box-sizing: border-box;
289
+ background-color: #fff;
290
+ margin-left: 5px;
291
+ }
292
+ }
293
+
294
+ &-firstnode {
295
+ padding: 11px 0;
296
+ .treeperson-radio {
297
+ margin-right: 20px;
298
+ }
299
+ .treeperson-radio:last-child {
300
+ margin-right: 0;
301
+ }
302
+ }
303
+ }
304
+ </style>