uni-flow-design 1.0.0

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.
@@ -0,0 +1,1431 @@
1
+ var Ue = Object.defineProperty, Re = Object.defineProperties;
2
+ var Me = Object.getOwnPropertyDescriptors;
3
+ var ue = Object.getOwnPropertySymbols;
4
+ var Te = Object.prototype.hasOwnProperty, Fe = Object.prototype.propertyIsEnumerable;
5
+ var pe = (e, o, n) => o in e ? Ue(e, o, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[o] = n, G = (e, o) => {
6
+ for (var n in o || (o = {}))
7
+ Te.call(o, n) && pe(e, n, o[n]);
8
+ if (ue)
9
+ for (var n of ue(o))
10
+ Fe.call(o, n) && pe(e, n, o[n]);
11
+ return e;
12
+ }, q = (e, o) => Re(e, Me(o));
13
+ var te = (e, o, n) => new Promise((t, d) => {
14
+ var I = (a) => {
15
+ try {
16
+ u(n.next(a));
17
+ } catch (i) {
18
+ d(i);
19
+ }
20
+ }, g = (a) => {
21
+ try {
22
+ u(n.throw(a));
23
+ } catch (i) {
24
+ d(i);
25
+ }
26
+ }, u = (a) => a.done ? t(a.value) : Promise.resolve(a.value).then(I, g);
27
+ u((n = n.apply(e, o)).next());
28
+ });
29
+ import { defineComponent as j, resolveComponent as O, openBlock as A, createBlock as M, withCtx as h, renderSlot as be, reactive as U, ref as v, computed as Z, createElementBlock as p, createVNode as D, createCommentVNode as B, createElementVNode as f, Fragment as le, renderList as de, normalizeClass as V, toDisplayString as w, createTextVNode as J, pushScopeId as we, popScopeId as Se, watch as Ge, provide as Ke, onMounted as Le, onUnmounted as Ve, normalizeStyle as Je, mergeProps as Pe, createApp as Ye, h as He } from "vue";
30
+ import je from "dayjs";
31
+ import "dayjs/locale/zh-cn";
32
+ import ze from "ant-design-vue/es/locale/zh_CN";
33
+ import { Modal as K, message as W, Select as Ce, Drawer as fe, ConfigProvider as Xe, Button as qe, Checkbox as Ze, Empty as We, Form as xe, Input as $e, InputNumber as _e, Menu as eo, Popover as oo, Radio as no, Spin as to, Switch as so, Table as io, Tabs as lo, Tag as ao, Tooltip as ro, Tree as Ao, TreeSelect as go } from "ant-design-vue";
34
+ import { createFromIconfontCN as co } from "@ant-design/icons-vue";
35
+ je.locale("zh-cn");
36
+ const uo = j({
37
+ props: {
38
+ selector: [String, Object]
39
+ },
40
+ setup(e) {
41
+ return { getPopupContainer: () => typeof e.selector == "string" ? document.querySelector(e.selector) || document.body : e.selector || document.body, zhCN: ze };
42
+ }
43
+ }), z = (e, o) => {
44
+ const n = e.__vccOpts || e;
45
+ for (const [t, d] of o)
46
+ n[t] = d;
47
+ return n;
48
+ };
49
+ function po(e, o, n, t, d, I) {
50
+ const g = O("a-config-provider");
51
+ return A(), M(g, {
52
+ "get-popup-container": e.getPopupContainer,
53
+ locale: e.zhCN
54
+ }, {
55
+ default: h(() => [
56
+ be(e.$slots, "default")
57
+ ]),
58
+ _: 3
59
+ }, 8, ["get-popup-container", "locale"]);
60
+ }
61
+ const Co = /* @__PURE__ */ z(uo, [["render", po]]);
62
+ var s = /* @__PURE__ */ ((e) => (e.Launch = "LAUNCH", e.Approval = "APPROVAL", e.Copy = "COPY", e.Transactor = "TRANSACTOR", e.Condition = "CONDITION", e.ConditionTerm = "CONDITION_TERM", e))(s || {});
63
+ const fo = {
64
+ [s.Launch]: "87, 106, 149",
65
+ [s.Approval]: "255, 148, 62",
66
+ [s.Copy]: "50, 150, 250",
67
+ [s.Transactor]: "251, 96, 45",
68
+ [s.Condition]: "251, 96, 45",
69
+ [s.ConditionTerm]: "251, 96, 45"
70
+ }, se = {
71
+ [s.Launch]: "发起人",
72
+ [s.Approval]: "审批",
73
+ [s.Copy]: "抄送",
74
+ [s.Transactor]: "处理"
75
+ }, P = {
76
+ [s.Launch]: "a",
77
+ [s.Approval]: "b",
78
+ [s.Copy]: "c",
79
+ [s.Transactor]: "d",
80
+ [s.Condition]: "e",
81
+ [s.ConditionTerm]: "e"
82
+ }, Io = U({
83
+ ALL: "会签",
84
+ ANY: "或签",
85
+ ALL_INORDER: "依次审批"
86
+ }), Bo = (e) => `background: rgb(${fo[e]});`;
87
+ class No {
88
+ arrToStr(o) {
89
+ if (o)
90
+ return o.map((n) => n.name).toString();
91
+ }
92
+ // 抄送
93
+ launcherStr(o) {
94
+ if (o.type === s.Launch)
95
+ return o.nodeUserList.length !== 0 ? this.arrToStr(o.nodeUserList) : "开始";
96
+ }
97
+ // 审批
98
+ setApproverStr(o) {
99
+ if (o.type === s.Approval) {
100
+ const n = o.assignees;
101
+ if (n && n.length > 0)
102
+ return this.arrToStr(n);
103
+ }
104
+ }
105
+ // 抄送
106
+ copyerStr(o) {
107
+ if (o.type === s.Copy) {
108
+ const n = o.assignees;
109
+ if (n && n.length > 0)
110
+ return this.arrToStr(n);
111
+ }
112
+ }
113
+ // 办理
114
+ setTransactorStr(o) {
115
+ if (o.type === s.Transactor) {
116
+ const n = o.assignees;
117
+ if (n && n.length > 0)
118
+ return this.arrToStr(n);
119
+ }
120
+ }
121
+ dealStr(o, n) {
122
+ const t = [], d = o.split(",");
123
+ for (const I in n)
124
+ d.map((g) => {
125
+ g === I && t.push(n[I].value);
126
+ });
127
+ return t.join("或");
128
+ }
129
+ conditionStrAsk(o, n) {
130
+ const t = o.conditionNodes[n].conditionList;
131
+ if (t && t.length === 0) {
132
+ let d = "";
133
+ return n === o.conditionNodes.length - 1 ? (d = "如未满足条件,则进入此分支", o.conditionNodes.forEach((I, g) => {
134
+ I.flag = "";
135
+ }), o.conditionNodes[o.conditionNodes.length - 1].flag = "unset") : d = "未定义条件", d;
136
+ } else {
137
+ let d = "";
138
+ return t.map((I) => {
139
+ d += I.ques.label + I.condi.label + ":" + I.answ.label + ";";
140
+ }), d;
141
+ }
142
+ }
143
+ }
144
+ const Ie = new No(), me = (e) => "conditionNodes" in e && e.conditionNodes.length > 0, x = () => ({
145
+ name: "条件",
146
+ action: "#spel#1==1",
147
+ toNode: "",
148
+ forward: "FORWARD",
149
+ toState: "",
150
+ description: null,
151
+ copyUserInfos: [],
152
+ toNodeAssigneeType: ""
153
+ }), Be = (e) => (e.transitions[0] || (e.transitions[0] = x()), e.transitions[0]);
154
+ U({
155
+ 通过: "通过",
156
+ 不通过: "不通过",
157
+ 作废: "已作废",
158
+ 撤销审批: "待审批",
159
+ 退回: "已退回",
160
+ 提交: "已处理"
161
+ });
162
+ U({
163
+ 通过: "FORWARD",
164
+ 不通过: "FINAL",
165
+ 作废: "FINAL_VOID",
166
+ 撤销审批: "NODE_REVOKE"
167
+ });
168
+ U({
169
+ 通过: "FORWARD",
170
+ 不通过: "TO_FINAL",
171
+ 作废: "VOID_TO_FINAL",
172
+ 撤销审批: "NODE_REVOKE"
173
+ });
174
+ U({
175
+ display: "flex",
176
+ height: "36px",
177
+ lineHeight: "36px",
178
+ alignItems: "center"
179
+ });
180
+ U([
181
+ { btnName: "通过", showName: "通过", status: !0, isEdit: !1 },
182
+ { btnName: "不通过", showName: "不通过", status: !0, isEdit: !1 },
183
+ {
184
+ btnName: "撤销审批",
185
+ showName: "撤销审批",
186
+ status: !1,
187
+ description: "审批同意且后续审批人尚未审批,可撤回“通过”的审批结果,重新进行审批",
188
+ isEdit: !1,
189
+ configType: "NODE_REVOKE"
190
+ },
191
+ {
192
+ btnName: "作废",
193
+ showName: "作废",
194
+ status: !1,
195
+ description: "在下一节点未操作时,进行“作废”操作,则流程终止",
196
+ isEdit: !1
197
+ }
198
+ ]);
199
+ U({
200
+ loading: !1,
201
+ data: [
202
+ { btnName: "通过", showName: "通过", status: !0, isEdit: !1 },
203
+ { btnName: "不通过", showName: "不通过", status: !0, isEdit: !1 },
204
+ {
205
+ btnName: "撤销审批",
206
+ showName: "撤销审批",
207
+ status: !1,
208
+ description: "审批同意且后续审批人尚未审批,可撤回“通过”的审批结果,重新进行审批",
209
+ isEdit: !1,
210
+ configType: "NODE_REVOKE"
211
+ },
212
+ {
213
+ btnName: "作废",
214
+ showName: "作废",
215
+ status: !1,
216
+ description: "在下一节点未操作时,进行“作废”操作,则流程终止",
217
+ isEdit: !1
218
+ }
219
+ ],
220
+ columns: [
221
+ {
222
+ dataIndex: "btnName",
223
+ title: "操作按钮",
224
+ align: "left",
225
+ width: "180px",
226
+ slots: { customRender: "btnName" }
227
+ },
228
+ {
229
+ dataIndex: "showName",
230
+ title: "显示名称",
231
+ align: "left",
232
+ width: "180px",
233
+ slots: { customRender: "showName" }
234
+ },
235
+ { title: "状态", align: "left", slots: { customRender: "status" } }
236
+ ]
237
+ });
238
+ U(
239
+ [
240
+ {
241
+ btnName: "提交",
242
+ showName: "提交",
243
+ status: !0,
244
+ isEdit: !1
245
+ },
246
+ {
247
+ btnName: "退回",
248
+ showName: "退回",
249
+ status: !0,
250
+ description: "本人不便处理时,可以退回到上一节点重新进行审批",
251
+ isEdit: !1,
252
+ configType: "NODE_SENDBACK"
253
+ }
254
+ ]
255
+ );
256
+ U({
257
+ loading: !1,
258
+ data: [
259
+ { btnName: "提交", showName: "提交", status: !0, isEdit: !1 },
260
+ {
261
+ btnName: "退回",
262
+ showName: "退回",
263
+ status: !0,
264
+ description: "本人不便处理时,可以退回到上一节点重新进行审批",
265
+ isEdit: !1,
266
+ configType: "NODE_SENDBACK"
267
+ }
268
+ ],
269
+ columns: [
270
+ { dataIndex: "btnName", title: "操作按钮", align: "left", width: "180px", slots: { customRender: "btnName" } },
271
+ {
272
+ dataIndex: "showName",
273
+ title: "显示名称",
274
+ align: "left",
275
+ width: "180px",
276
+ slots: { customRender: "showName" }
277
+ },
278
+ { title: "状态", align: "left", slots: { customRender: "status" } }
279
+ ]
280
+ });
281
+ const Y = (e) => {
282
+ e = e || 32;
283
+ const o = "ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678", n = o.length;
284
+ let t = "";
285
+ for (let d = 0; d < e; d++) t += o.charAt(Math.floor(Math.random() * n));
286
+ return t;
287
+ }, R = (e) => {
288
+ let o = e.name;
289
+ return e.type === s.Approval && (o = "待" + e.name), e.type === s.Transactor && (o = "待" + e.name), e.type === s.Condition && (o = "待" + e.name), e.type === s.Copy && (o = e.name), o;
290
+ }, $ = (e, o, n) => {
291
+ if (e.uid === o)
292
+ return n;
293
+ const t = G({}, e);
294
+ return e.childNode && (t.childNode = $(e.childNode, o, n)), e.conditionNodes && e.conditionNodes.length > 0 && (t.conditionNodes = e.conditionNodes.map((d) => d.childNode ? q(G({}, d), {
295
+ childNode: $(d.childNode, o, n)
296
+ }) : d)), t;
297
+ }, Ne = {
298
+ 0: s.Launch,
299
+ 1: s.Approval,
300
+ 2: s.Copy,
301
+ 3: s.Transactor,
302
+ 4: s.Condition,
303
+ 41: s.ConditionTerm
304
+ }, he = {
305
+ CC: s.Copy
306
+ }, H = (e) => {
307
+ if (!e || typeof e != "object") return e;
308
+ const o = e;
309
+ return typeof o.type == "number" && o.type in Ne ? o.type = Ne[o.type] : typeof o.type == "string" && o.type in he && (o.type = he[o.type]), o.childNode && H(o.childNode), Array.isArray(o.conditionNodes) && o.conditionNodes.forEach((n) => H(n)), e;
310
+ }, ie = (e, o) => {
311
+ if (e.uid === o)
312
+ return e;
313
+ let n = null;
314
+ if (e.childNode && (n = ie(e.childNode, o), n))
315
+ return n;
316
+ if (me(e)) {
317
+ for (const t of e.conditionNodes)
318
+ if (t.childNode && (n = ie(t.childNode, o), n))
319
+ return n;
320
+ }
321
+ return n;
322
+ }, _ = (e) => {
323
+ if (!(e.type === s.ConditionTerm && e.flag === "unset") && e.uiIsSetting === !1 || e.childNode && _(e.childNode))
324
+ return !0;
325
+ if (me(e)) {
326
+ for (const o of e.conditionNodes)
327
+ if (_(o))
328
+ return !0;
329
+ }
330
+ return !1;
331
+ }, L = (e, o) => {
332
+ const n = e ? JSON.parse(JSON.stringify(e)) : null;
333
+ if (n) {
334
+ if (n.type === s.Launch)
335
+ n.transitions = n.childNode ? [{
336
+ action: n.childNode.name,
337
+ toNode: n.childNode.key,
338
+ forward: "FORWARD",
339
+ toState: R(n.childNode),
340
+ description: "",
341
+ copyUserInfos: []
342
+ }] : [], n.childNode = L(n.childNode, null);
343
+ else if (n.transitions.forEach((t) => {
344
+ t.uiName === "提交" && (n.childNode ? (t.toNode = n.childNode.key, t.toState = R(n.childNode)) : (t.toNode = o ? o.key : "node_final", t.toState = o ? R(o) : "已处理")), t.uiName === "通过" && (n.childNode ? (t.toNode = n.childNode.key, t.toState = R(n.childNode)) : (t.toNode = o ? o.key : "node_final", t.toState = o ? R(o) : "通过")), t.uiName === "抄送" && (n.childNode ? (t.toNode = n.childNode.key, t.toState = R(n.childNode)) : (t.toNode = o ? o.key : "node_final", t.toState = o ? R(o) : "已完成"));
345
+ }), n.childNode = L(n.childNode, o), n.conditionNodes && n.conditionNodes.length > 0)
346
+ for (const t of n.conditionNodes)
347
+ if (t.childNode) {
348
+ if (t.type === s.ConditionTerm) {
349
+ const d = Be(t);
350
+ d.toNode = t.childNode.key, d.toState = R(t.childNode), d.forward = "FORWARD";
351
+ }
352
+ n.childNode ? t.childNode = L(t.childNode, n.childNode) : t.childNode = L(t.childNode, null);
353
+ } else {
354
+ const d = Be(t);
355
+ d.toNode = n.childNode ? n.childNode.key : "node_final", d.toState = n.childNode ? R(n.childNode) : "结束";
356
+ }
357
+ }
358
+ return n;
359
+ }, ho = "data:image/png;base64,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", Qo = "data:image/png;base64,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", Eo = "data:image/png;base64,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", wo = "data:image/png;base64,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", Qe = [s.Approval, s.Copy, s.Transactor, s.Condition], So = {
360
+ [s.Approval]: { label: "审批", className: "approver", icon: ho },
361
+ [s.Copy]: { label: "抄送", className: "notifier", icon: Eo },
362
+ [s.Transactor]: { label: "处理", className: "transactor", icon: Qo },
363
+ [s.Condition]: { label: "条件分支", className: "condition", icon: wo }
364
+ }, mo = j({
365
+ props: {
366
+ currentChildNode: {
367
+ type: Object
368
+ },
369
+ isPreviewStatus: {
370
+ type: Boolean
371
+ },
372
+ addableNodeTypes: {
373
+ type: Array,
374
+ default: () => Qe
375
+ }
376
+ },
377
+ emits: ["update:currentChildNode", "isSaveBtnUpdate"],
378
+ setup(e, { emit: o }) {
379
+ const n = v(!1), t = Z(() => e.addableNodeTypes.length ? e.addableNodeTypes : Qe), d = Z(() => t.value.map((g) => G({
380
+ type: g
381
+ }, So[g])));
382
+ function I(g) {
383
+ o("isSaveBtnUpdate", !1), n.value = !1;
384
+ const { currentChildNode: u } = e, a = P[g] + Y(16);
385
+ if (g === s.Condition)
386
+ o("update:currentChildNode", {
387
+ uid: P[g] + Y(16),
388
+ key: "node_decide" + String(Date.now()).slice(-6),
389
+ name: "条件判断",
390
+ nodeName: "条件判断分支",
391
+ nodeType: "DECIDE",
392
+ type: s.Condition,
393
+ childNode: void 0,
394
+ nodeUserList: [],
395
+ conditionNodes: [
396
+ {
397
+ uid: P[g] + Y(16),
398
+ name: "条件1",
399
+ error: !0,
400
+ uiIsSetting: !1,
401
+ type: s.ConditionTerm,
402
+ priorityLevel: 1,
403
+ conditionList: [],
404
+ nodeUserList: [],
405
+ childNode: u,
406
+ transitions: [x()]
407
+ },
408
+ {
409
+ uid: P[g] + Y(16),
410
+ name: "条件2",
411
+ type: s.ConditionTerm,
412
+ uiIsSetting: !1,
413
+ priorityLevel: 2,
414
+ conditionList: [],
415
+ nodeUserList: [],
416
+ childNode: null,
417
+ transitions: [x()]
418
+ }
419
+ ],
420
+ transitions: []
421
+ });
422
+ else {
423
+ let i;
424
+ g === s.Approval ? (i = {
425
+ uid: a,
426
+ name: "审批",
427
+ error: !0,
428
+ type: s.Approval,
429
+ childNode: u,
430
+ nodeUserList: [],
431
+ uiIsSetting: !1,
432
+ key: "node_state" + String(Date.now()).slice(-6),
433
+ nodeType: "STATE",
434
+ assignees: [],
435
+ forwardBehavior: "",
436
+ opinionFlag: !1,
437
+ autographFlag: !1,
438
+ uploadPhotoFlag: !1,
439
+ transitions: [],
440
+ conditionNodes: []
441
+ }, i && o("update:currentChildNode", i)) : g === s.Copy ? (i = {
442
+ uid: a,
443
+ uiIsSetting: !1,
444
+ name: "抄送",
445
+ error: !0,
446
+ type: s.Copy,
447
+ childNode: u,
448
+ nodeUserList: [],
449
+ key: "node_cc" + String(Date.now()).slice(-6),
450
+ nodeType: "CC",
451
+ assignees: [],
452
+ forwardBehavior: "",
453
+ opinionFlag: !1,
454
+ autographFlag: !1,
455
+ uploadPhotoFlag: !1,
456
+ transitions: [],
457
+ conditionNodes: []
458
+ }, i && o("update:currentChildNode", i)) : g === s.Transactor && (i = {
459
+ uid: a,
460
+ uiIsSetting: !1,
461
+ nodeName: "处理",
462
+ name: "处理",
463
+ error: !0,
464
+ type: s.Transactor,
465
+ childNode: u,
466
+ nodeUserList: [],
467
+ key: "node_cl" + String(Date.now()).slice(-6),
468
+ nodeType: "STATE",
469
+ assignees: [],
470
+ forwardBehavior: "",
471
+ opinionFlag: !1,
472
+ autographFlag: !1,
473
+ uploadPhotoFlag: !1,
474
+ transitions: [],
475
+ conditionNodes: []
476
+ }, i && o("update:currentChildNode", i));
477
+ }
478
+ }
479
+ return {
480
+ visible: n,
481
+ resolvedAddableNodeTypes: t,
482
+ addableNodeItems: d,
483
+ appendChild: I
484
+ };
485
+ }
486
+ }), yo = { class: "add-node-btn-box" }, vo = {
487
+ key: 0,
488
+ class: "add-node-btn"
489
+ }, ko = { class: "add-node-popover-body uni-add-node" }, Do = ["onClick"], Oo = ["src"], Uo = /* @__PURE__ */ f("span", { class: "iconfont flow-ddjiahao" }, null, -1), Ro = [
490
+ Uo
491
+ ], Mo = {
492
+ key: 1,
493
+ class: "add-node-btn"
494
+ }, To = /* @__PURE__ */ f("span", { class: "iconfont flow-ddjiahao" }, null, -1), Fo = [
495
+ To
496
+ ];
497
+ function bo(e, o, n, t, d, I) {
498
+ const g = O("a-popover");
499
+ return A(), p("div", yo, [
500
+ e.resolvedAddableNodeTypes.length > 1 ? (A(), p("div", vo, [
501
+ D(g, {
502
+ visible: e.visible,
503
+ "onUpdate:visible": o[1] || (o[1] = (u) => e.visible = u),
504
+ placement: "rightTop",
505
+ trigger: "click",
506
+ "overlay-class-name": "uni-add-node-popover"
507
+ }, {
508
+ content: h(() => [
509
+ f("ul", ko, [
510
+ (A(!0), p(le, null, de(e.addableNodeItems, (u) => (A(), p("li", {
511
+ key: u.type,
512
+ class: V(["add-node-popover-item", u.className]),
513
+ onClick: (a) => e.appendChild(u.type)
514
+ }, [
515
+ f("img", {
516
+ src: u.icon,
517
+ class: "iconStyleOA",
518
+ alt: ""
519
+ }, null, 8, Oo),
520
+ f("span", null, w(u.label), 1)
521
+ ], 10, Do))), 128))
522
+ ])
523
+ ]),
524
+ default: h(() => [
525
+ e.isPreviewStatus ? B("", !0) : (A(), p("button", {
526
+ key: 0,
527
+ class: "btn",
528
+ onClick: o[0] || (o[0] = (u) => e.visible = !0)
529
+ }, Ro))
530
+ ]),
531
+ _: 1
532
+ }, 8, ["visible"])
533
+ ])) : (A(), p("div", Mo, [
534
+ !e.isPreviewStatus && e.resolvedAddableNodeTypes.length === 1 ? (A(), p("button", {
535
+ key: 0,
536
+ class: "btn",
537
+ onClick: o[2] || (o[2] = (u) => e.appendChild(e.resolvedAddableNodeTypes[0]))
538
+ }, Fo)) : B("", !0)
539
+ ]))
540
+ ]);
541
+ }
542
+ const Go = /* @__PURE__ */ z(mo, [["render", bo]]), k = (e) => JSON.parse(JSON.stringify(e)), Ko = {
543
+ msg(e, o = "info") {
544
+ W[o === "warn" ? "warning" : o](e);
545
+ },
546
+ info(e) {
547
+ K.info(e);
548
+ },
549
+ confirm(e) {
550
+ K.confirm(G({
551
+ okText: "确定",
552
+ cancelText: "取消"
553
+ }, e));
554
+ }
555
+ }, Lo = j({
556
+ name: "FlowDesignNodeWrap",
557
+ components: {
558
+ AddNode: Go
559
+ },
560
+ emits: ["update:nodeConfig", "isSaveBtnUpdate", "updateNodeConfigAll", "node-click"],
561
+ props: {
562
+ nodeConfig: {
563
+ type: Object,
564
+ required: !0
565
+ },
566
+ nodeConfigAll: {
567
+ type: Object,
568
+ required: !0
569
+ },
570
+ tableId: String,
571
+ isPreviewStatus: {
572
+ type: Boolean
573
+ },
574
+ isSaveBtn: {
575
+ type: Boolean
576
+ },
577
+ flowOptions: {
578
+ type: Object,
579
+ default: () => ({})
580
+ }
581
+ },
582
+ setup(e, o) {
583
+ const n = Z(() => e.flowOptions), t = Z(() => {
584
+ var c, r, Q;
585
+ return {
586
+ addableNodeTypes: (c = n.value.addableNodeTypes) != null && c.length ? n.value.addableNodeTypes : [s.Approval, s.Copy, s.Transactor, s.Condition],
587
+ minNodeCounts: (r = n.value.minNodeCounts) != null ? r : {},
588
+ display: {
589
+ startLabel: ((Q = n.value.display) == null ? void 0 : Q.startLabel) || se[s.Launch]
590
+ }
591
+ };
592
+ }), d = (c) => c.type === s.Launch ? t.value.display.startLabel : c.name, I = v(!1), g = (c) => {
593
+ const r = c.currentTarget;
594
+ I.value = r.scrollHeight > r.clientHeight;
595
+ }, u = (c) => {
596
+ const r = k(e.nodeConfig);
597
+ r.childNode = c != null ? c : null, o.emit("update:nodeConfig", r);
598
+ }, a = (c, r) => {
599
+ if (e.nodeConfig.type !== s.Condition) return;
600
+ const Q = k(e.nodeConfig);
601
+ Q.conditionNodes[c].childNode = r != null ? r : null, o.emit("update:nodeConfig", Q);
602
+ };
603
+ function i(c, r) {
604
+ e.isPreviewStatus || e.nodeConfig.type === s.Condition && c === e.nodeConfig.conditionNodes.length - 1 || o.emit("node-click", {
605
+ node: k(e.nodeConfig),
606
+ nodeConfigAll: k(e.nodeConfigAll),
607
+ type: e.nodeConfig.type,
608
+ uid: r,
609
+ conditionTermIndex: e.nodeConfig.type === s.Condition ? c : void 0
610
+ });
611
+ }
612
+ const l = (c, r) => {
613
+ let Q = 0;
614
+ const m = (E) => {
615
+ E.type === c && (Q += 1), E.childNode && m(E.childNode), E.type === s.Condition && E.conditionNodes.forEach((y) => {
616
+ y.childNode && m(y.childNode);
617
+ });
618
+ };
619
+ return m(r), Q;
620
+ }, N = () => te(this, null, function* () {
621
+ var m;
622
+ if (e.nodeConfig.type === s.Approval || e.nodeConfig.type === s.Copy || e.nodeConfig.type === s.Transactor) {
623
+ const E = e.nodeConfig.type, y = (m = t.value.minNodeCounts[E]) != null ? m : 0, X = k(e.nodeConfigAll), ne = l(E, X);
624
+ if (y > 0 && ne <= y) {
625
+ Ko.msg(`删除失败,至少要有${y}个${se[E]}节点`, "warn");
626
+ return;
627
+ }
628
+ }
629
+ const { nodeConfig: c } = e;
630
+ o.emit("update:nodeConfig", c.childNode);
631
+ const r = k(e.nodeConfigAll), Q = L(r, null);
632
+ Q && o.emit("updateNodeConfigAll", Q);
633
+ });
634
+ function F(c) {
635
+ for (let r = 0; r < c.conditionNodes.length; r++)
636
+ c.conditionNodes[r].error = Ie.conditionStrAsk(c, r) === "请设置条件" && r !== c.conditionNodes.length - 1;
637
+ }
638
+ function oe() {
639
+ if (o.emit("isSaveBtnUpdate", !1), e.nodeConfig.type === s.Condition && !e.isPreviewStatus) {
640
+ const c = P[s.Condition] + Y(16), r = JSON.parse(JSON.stringify(e.nodeConfig)), Q = Math.max(r.conditionNodes.length - 1, 0);
641
+ r.conditionNodes.splice(Q, 0, {
642
+ name: "",
643
+ type: s.ConditionTerm,
644
+ uid: c,
645
+ uiIsSetting: !1,
646
+ priorityLevel: 0,
647
+ conditionList: [],
648
+ nodeUserList: [],
649
+ childNode: null,
650
+ transitions: [x()]
651
+ }), r.conditionNodes.forEach((m, E) => {
652
+ m.priorityLevel = E + 1, m.name = `条件${E + 1}`;
653
+ }), F(r), o.emit("update:nodeConfig", r);
654
+ }
655
+ }
656
+ function S(c, r) {
657
+ c.childNode ? S(c.childNode, r) : c.childNode = r;
658
+ }
659
+ return {
660
+ FlowTool: Ie,
661
+ NodeType: s,
662
+ getNodeColorStyle: Bo,
663
+ nodeLabelMap: se,
664
+ nodeLabelMapMode: Io,
665
+ resolvedFlowOptions: t,
666
+ getNodeTitle: d,
667
+ updateDirectChildNode: u,
668
+ updateConditionChildNode: a,
669
+ setNodeConfig: i,
670
+ deleteNode: N,
671
+ addTerm: oe,
672
+ delTerm: (c) => te(this, null, function* () {
673
+ const r = JSON.parse(JSON.stringify(e.nodeConfig));
674
+ r.conditionNodes.splice(c, 1), r.conditionNodes.map((E, y) => {
675
+ E.priorityLevel = y + 1, E.name = `条件${y + 1}`;
676
+ }), F(r), o.emit("update:nodeConfig", r), r.conditionNodes.length === 1 && (r.childNode && (r.conditionNodes[0].childNode ? S(r.conditionNodes[0].childNode, r.childNode) : r.conditionNodes[0].childNode = r.childNode), o.emit("update:nodeConfig", r.conditionNodes[0].childNode));
677
+ const Q = k(e.nodeConfigAll), m = L(Q, null);
678
+ m && o.emit("updateNodeConfigAll", m);
679
+ }),
680
+ handleNodeClick: (c) => {
681
+ o.emit("node-click", c);
682
+ },
683
+ handleUpdateSaveBtn: (c) => {
684
+ o.emit("isSaveBtnUpdate", !1);
685
+ },
686
+ handleupdateNodeConfigAll: (c) => {
687
+ o.emit("updateNodeConfigAll", c);
688
+ },
689
+ assigneesOverflow: I,
690
+ checkAssigneesOverflow: g
691
+ };
692
+ }
693
+ }), Vo = "data:image/png;base64,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", ae = (e) => (we("data-v-2e75e3de"), e = e(), Se(), e), Jo = {
694
+ key: 0,
695
+ class: "branch-wrap"
696
+ }, Po = { class: "branch-box-wrap" }, Yo = { class: "branch-box" }, Ho = { class: "condition-node" }, jo = { class: "condition-node-box" }, zo = { style: { position: "relative" } }, Xo = { class: "title-wrapper" }, qo = { class: "editable-title" }, Zo = ["onClick"], Wo = /* @__PURE__ */ ae(() => /* @__PURE__ */ f("img", {
697
+ style: { width: "14px" },
698
+ alt: "",
699
+ src: Vo
700
+ }, null, -1)), xo = [
701
+ Wo
702
+ ], $o = ["onClick"], _o = { key: 0 }, en = /* @__PURE__ */ J("未设置条件"), on = {
703
+ key: 0,
704
+ class: "error_tip"
705
+ }, nn = /* @__PURE__ */ ae(() => /* @__PURE__ */ f("i", {
706
+ class: "iconfont flow-ddjinggao",
707
+ style: { color: "rgb(242, 86, 67)", "font-size": "30px" }
708
+ }, null, -1)), tn = [
709
+ nn
710
+ ], sn = {
711
+ key: 1,
712
+ class: "top-left-cover-line"
713
+ }, ln = {
714
+ key: 2,
715
+ class: "bottom-left-cover-line"
716
+ }, dn = {
717
+ key: 3,
718
+ class: "top-right-cover-line"
719
+ }, an = {
720
+ key: 4,
721
+ class: "bottom-right-cover-line"
722
+ }, rn = {
723
+ key: 1,
724
+ class: "node-wrap"
725
+ }, An = { style: { position: "relative" } }, gn = {
726
+ key: 0,
727
+ class: "text"
728
+ }, cn = {
729
+ key: 1,
730
+ class: "text node-text-with-assignees"
731
+ }, un = { class: "node-label" }, pn = { key: 0 }, Cn = {
732
+ key: 1,
733
+ class: "node-assignees is-empty"
734
+ }, fn = {
735
+ key: 2,
736
+ class: "text node-text-with-assignees"
737
+ }, In = { class: "node-label" }, Bn = {
738
+ key: 1,
739
+ class: "node-assignees is-empty"
740
+ }, Nn = {
741
+ key: 3,
742
+ class: "text node-text-with-assignees"
743
+ }, hn = { class: "node-label" }, Qn = {
744
+ key: 1,
745
+ class: "node-assignees is-empty"
746
+ }, En = { key: 0 }, wn = { key: 1 }, Sn = { key: 2 }, mn = { key: 3 }, yn = {
747
+ key: 0,
748
+ class: "error_tip"
749
+ }, vn = /* @__PURE__ */ ae(() => /* @__PURE__ */ f("i", {
750
+ class: "iconfont flow-ddjinggao",
751
+ style: { color: "rgb(242, 86, 67)", "font-size": "30px" }
752
+ }, null, -1)), kn = [
753
+ vn
754
+ ];
755
+ function Dn(e, o, n, t, d, I) {
756
+ const g = O("a-tooltip"), u = O("AddNode"), a = O("FlowDesignNodeWrap");
757
+ return A(), p("div", null, [
758
+ e.nodeConfig.type === e.NodeType.Condition ? (A(), p("div", Jo, [
759
+ f("div", Po, [
760
+ f("div", Yo, [
761
+ e.isPreviewStatus ? B("", !0) : (A(), p("button", {
762
+ key: 0,
763
+ class: "add-branch",
764
+ onClick: o[0] || (o[0] = (...i) => e.addTerm && e.addTerm(...i))
765
+ }, "+ 条件判断")),
766
+ (A(!0), p(le, null, de(e.nodeConfig.conditionNodes, (i, l) => (A(), p("div", {
767
+ class: "col-box",
768
+ key: l
769
+ }, [
770
+ f("div", Ho, [
771
+ f("div", jo, [
772
+ f("div", zo, [
773
+ f("div", {
774
+ class: V(["auto-judge", {
775
+ error: e.isSaveBtn && !i.uiIsSetting && l !== e.nodeConfig.conditionNodes.length - 1,
776
+ "auto-judge2": !e.isPreviewStatus
777
+ }])
778
+ }, [
779
+ f("div", Xo, [
780
+ f("span", qo, w(i.name), 1),
781
+ f("span", {
782
+ class: V(["priority-title", e.isPreviewStatus ? "" : "priority-title2"])
783
+ }, " 优先级" + w(i.priorityLevel), 3),
784
+ !e.isPreviewStatus && l !== e.nodeConfig.conditionNodes.length - 1 ? (A(), p("i", {
785
+ key: 0,
786
+ class: "delBtn close",
787
+ onClick: (N) => e.delTerm(l)
788
+ }, xo, 8, Zo)) : B("", !0)
789
+ ]),
790
+ f("div", {
791
+ class: "content",
792
+ onClick: (N) => e.setNodeConfig(l, e.nodeConfig.uid)
793
+ }, [
794
+ e.nodeConfig.conditionNodes[l].conditionList.length === 0 ? (A(), p("span", _o, w(e.FlowTool.conditionStrAsk(e.nodeConfig, l)), 1)) : (A(), M(g, { key: 1 }, {
795
+ title: h(() => [
796
+ J(w(e.FlowTool.conditionStrAsk(e.nodeConfig, l)), 1)
797
+ ]),
798
+ default: h(() => [
799
+ J(" " + w(e.FlowTool.conditionStrAsk(e.nodeConfig, l)), 1)
800
+ ]),
801
+ _: 2
802
+ }, 1024))
803
+ ], 8, $o)
804
+ ], 2),
805
+ D(g, {
806
+ placement: "top",
807
+ "arrow-point-at-center": ""
808
+ }, {
809
+ title: h(() => [
810
+ en
811
+ ]),
812
+ default: h(() => [
813
+ e.isSaveBtn && !i.uiIsSetting && l !== e.nodeConfig.conditionNodes.length - 1 ? (A(), p("div", on, tn)) : B("", !0)
814
+ ]),
815
+ _: 2
816
+ }, 1024)
817
+ ]),
818
+ D(u, {
819
+ currentChildNode: i.childNode,
820
+ isPreviewStatus: e.isPreviewStatus,
821
+ addableNodeTypes: e.resolvedFlowOptions.addableNodeTypes,
822
+ "onUpdate:currentChildNode": (N) => e.updateConditionChildNode(l, N),
823
+ onIsSaveBtnUpdate: e.handleUpdateSaveBtn
824
+ }, null, 8, ["currentChildNode", "isPreviewStatus", "addableNodeTypes", "onUpdate:currentChildNode", "onIsSaveBtnUpdate"])
825
+ ])
826
+ ]),
827
+ i.childNode ? (A(), M(a, {
828
+ key: 0,
829
+ tableId: e.tableId,
830
+ nodeConfig: i.childNode,
831
+ nodeConfigAll: e.nodeConfigAll,
832
+ isPreviewStatus: e.isPreviewStatus,
833
+ isSaveBtn: e.isSaveBtn,
834
+ "onUpdate:nodeConfig": (N) => e.updateConditionChildNode(l, N),
835
+ onUpdateNodeConfigAll: e.handleupdateNodeConfigAll,
836
+ onIsSaveBtnUpdate: e.handleUpdateSaveBtn,
837
+ onNodeClick: e.handleNodeClick,
838
+ flowOptions: e.flowOptions
839
+ }, null, 8, ["tableId", "nodeConfig", "nodeConfigAll", "isPreviewStatus", "isSaveBtn", "onUpdate:nodeConfig", "onUpdateNodeConfigAll", "onIsSaveBtnUpdate", "onNodeClick", "flowOptions"])) : B("", !0),
840
+ l == 0 ? (A(), p("div", sn)) : B("", !0),
841
+ l == 0 ? (A(), p("div", ln)) : B("", !0),
842
+ l == e.nodeConfig.conditionNodes.length - 1 ? (A(), p("div", dn)) : B("", !0),
843
+ l == e.nodeConfig.conditionNodes.length - 1 ? (A(), p("div", an)) : B("", !0)
844
+ ]))), 128))
845
+ ]),
846
+ D(u, {
847
+ currentChildNode: e.nodeConfig.childNode,
848
+ isPreviewStatus: e.isPreviewStatus,
849
+ addableNodeTypes: e.resolvedFlowOptions.addableNodeTypes,
850
+ "onUpdate:currentChildNode": e.updateDirectChildNode,
851
+ onIsSaveBtnUpdate: e.handleUpdateSaveBtn
852
+ }, null, 8, ["currentChildNode", "isPreviewStatus", "addableNodeTypes", "onUpdate:currentChildNode", "onIsSaveBtnUpdate"])
853
+ ])
854
+ ])) : (A(), p("div", rn, [
855
+ f("div", An, [
856
+ f("div", {
857
+ class: V(["node-wrap-box", {
858
+ error: e.isSaveBtn && !e.nodeConfig.uiIsSetting,
859
+ "start-node": e.nodeConfig.type === e.NodeType.Launch,
860
+ isStart: e.nodeConfig.type === e.NodeType.Launch,
861
+ isApprove: e.nodeConfig.type === e.NodeType.Approval,
862
+ isSendPerson: e.nodeConfig.type === e.NodeType.Copy,
863
+ isHandle: e.nodeConfig.type === e.NodeType.Transactor,
864
+ isCursorPointer: !e.isPreviewStatus,
865
+ "node-wrap-box-preview": !e.isPreviewStatus
866
+ }])
867
+ }, [
868
+ f("div", {
869
+ class: "content",
870
+ onClick: o[4] || (o[4] = (i) => e.setNodeConfig(0, e.nodeConfig.uid))
871
+ }, [
872
+ e.nodeConfig.type === e.NodeType.Launch ? (A(), p("div", gn, w(e.getNodeTitle(e.nodeConfig)), 1)) : B("", !0),
873
+ e.nodeConfig.type === e.NodeType.Approval ? (A(), p("div", cn, [
874
+ f("div", un, [
875
+ J(w(e.getNodeTitle(e.nodeConfig)) + " ", 1),
876
+ e.nodeConfig.assignees.length > 1 && e.nodeConfig.forwardBehavior !== "" ? (A(), p("span", pn, " (" + w(e.nodeLabelMapMode[e.nodeConfig.forwardBehavior]) + ") ", 1)) : B("", !0)
877
+ ]),
878
+ e.FlowTool.setApproverStr(e.nodeConfig) ? (A(), M(g, {
879
+ key: 0,
880
+ placement: "top",
881
+ title: e.assigneesOverflow ? e.FlowTool.setApproverStr(e.nodeConfig) : ""
882
+ }, {
883
+ default: h(() => [
884
+ f("div", {
885
+ class: "node-assignees",
886
+ onMouseenter: o[1] || (o[1] = (...i) => e.checkAssigneesOverflow && e.checkAssigneesOverflow(...i))
887
+ }, w(e.FlowTool.setApproverStr(e.nodeConfig)), 33)
888
+ ]),
889
+ _: 1
890
+ }, 8, ["title"])) : (A(), p("div", Cn, "未设置"))
891
+ ])) : B("", !0),
892
+ e.nodeConfig.type === e.NodeType.Copy ? (A(), p("div", fn, [
893
+ f("div", In, w(e.getNodeTitle(e.nodeConfig)), 1),
894
+ e.FlowTool.copyerStr(e.nodeConfig) ? (A(), M(g, {
895
+ key: 0,
896
+ placement: "top",
897
+ title: e.assigneesOverflow ? e.FlowTool.copyerStr(e.nodeConfig) : ""
898
+ }, {
899
+ default: h(() => [
900
+ f("div", {
901
+ class: "node-assignees",
902
+ onMouseenter: o[2] || (o[2] = (...i) => e.checkAssigneesOverflow && e.checkAssigneesOverflow(...i))
903
+ }, w(e.FlowTool.copyerStr(e.nodeConfig)), 33)
904
+ ]),
905
+ _: 1
906
+ }, 8, ["title"])) : (A(), p("div", Bn, "未设置"))
907
+ ])) : B("", !0),
908
+ e.nodeConfig.type === e.NodeType.Transactor ? (A(), p("div", Nn, [
909
+ f("div", hn, w(e.getNodeTitle(e.nodeConfig)), 1),
910
+ e.FlowTool.setTransactorStr(e.nodeConfig) ? (A(), M(g, {
911
+ key: 0,
912
+ placement: "top",
913
+ title: e.assigneesOverflow ? e.FlowTool.setTransactorStr(e.nodeConfig) : ""
914
+ }, {
915
+ default: h(() => [
916
+ f("div", {
917
+ class: "node-assignees",
918
+ onMouseenter: o[3] || (o[3] = (...i) => e.checkAssigneesOverflow && e.checkAssigneesOverflow(...i))
919
+ }, w(e.FlowTool.setTransactorStr(e.nodeConfig)), 33)
920
+ ]),
921
+ _: 1
922
+ }, 8, ["title"])) : (A(), p("div", Qn, "未设置"))
923
+ ])) : B("", !0)
924
+ ]),
925
+ e.nodeConfig.type !== e.NodeType.Launch && !e.isPreviewStatus ? (A(), p("i", {
926
+ key: 0,
927
+ class: "iconfont flow-ddtoastquxiaochacha close",
928
+ onClick: o[5] || (o[5] = (...i) => e.deleteNode && e.deleteNode(...i))
929
+ })) : B("", !0)
930
+ ], 2),
931
+ D(g, {
932
+ placement: "top",
933
+ "arrow-point-at-center": ""
934
+ }, {
935
+ title: h(() => [
936
+ e.nodeConfig.type === e.NodeType.Launch ? (A(), p("span", En, "未设置发起人")) : B("", !0),
937
+ e.nodeConfig.type === e.NodeType.Approval ? (A(), p("span", wn, "未设置审批人")) : B("", !0),
938
+ e.nodeConfig.type === e.NodeType.Copy ? (A(), p("span", Sn, "未设置抄送人")) : B("", !0),
939
+ e.nodeConfig.type === e.NodeType.Transactor ? (A(), p("span", mn, "未设置处理人")) : B("", !0)
940
+ ]),
941
+ default: h(() => [
942
+ e.isSaveBtn && !e.nodeConfig.uiIsSetting ? (A(), p("div", yn, kn)) : B("", !0)
943
+ ]),
944
+ _: 1
945
+ })
946
+ ]),
947
+ D(u, {
948
+ currentChildNode: e.nodeConfig.childNode,
949
+ isPreviewStatus: e.isPreviewStatus,
950
+ onIsSaveBtnUpdate: e.handleUpdateSaveBtn,
951
+ addableNodeTypes: e.resolvedFlowOptions.addableNodeTypes,
952
+ "onUpdate:currentChildNode": e.updateDirectChildNode
953
+ }, null, 8, ["currentChildNode", "isPreviewStatus", "onIsSaveBtnUpdate", "addableNodeTypes", "onUpdate:currentChildNode"])
954
+ ])),
955
+ e.nodeConfig.childNode ? (A(), M(a, {
956
+ key: 2,
957
+ nodeConfig: e.nodeConfig.childNode,
958
+ nodeConfigAll: e.nodeConfigAll,
959
+ isSaveBtn: e.isSaveBtn,
960
+ tableId: e.tableId,
961
+ "onUpdate:nodeConfig": e.updateDirectChildNode,
962
+ onUpdateNodeConfigAll: e.handleupdateNodeConfigAll,
963
+ onIsSaveBtnUpdate: e.handleUpdateSaveBtn,
964
+ onNodeClick: e.handleNodeClick,
965
+ isPreviewStatus: e.isPreviewStatus,
966
+ flowOptions: e.flowOptions
967
+ }, null, 8, ["nodeConfig", "nodeConfigAll", "isSaveBtn", "tableId", "onUpdate:nodeConfig", "onUpdateNodeConfigAll", "onIsSaveBtnUpdate", "onNodeClick", "isPreviewStatus", "flowOptions"])) : B("", !0)
968
+ ]);
969
+ }
970
+ const On = /* @__PURE__ */ z(Lo, [["render", Dn], ["__scopeId", "data-v-2e75e3de"]]);
971
+ function Un() {
972
+ return {
973
+ type: s.Launch,
974
+ uiIsSetting: !1,
975
+ uid: "0-123123sfdiofj",
976
+ name: "开始",
977
+ nodeName: "开始",
978
+ key: "node_initial",
979
+ nodeType: "INITIAL",
980
+ forwardBehavior: "ANY",
981
+ nodeUserList: [],
982
+ assignees: [],
983
+ transitions: [],
984
+ conditionNodes: [],
985
+ childNode: null,
986
+ error: !1,
987
+ opinionFlag: !1,
988
+ autographFlag: !1,
989
+ uploadPhotoFlag: !1
990
+ };
991
+ }
992
+ const Rn = j({
993
+ components: { FlowDesignNodeWrap: On },
994
+ emits: ["node-click"],
995
+ props: {
996
+ isPreviewStatus: {
997
+ type: Boolean
998
+ },
999
+ defaultValue: [String, Object],
1000
+ flowOptions: {
1001
+ type: Object,
1002
+ default: () => ({})
1003
+ },
1004
+ uiOptions: {
1005
+ type: Object,
1006
+ default: () => ({})
1007
+ }
1008
+ },
1009
+ setup(e, { emit: o }) {
1010
+ const n = v(100), t = () => e.uiOptions, d = () => t().theme || "light", I = v(d()), g = (C) => {
1011
+ I.value = C === "dark" ? "dark" : "light";
1012
+ };
1013
+ Ge(() => e.uiOptions, () => {
1014
+ I.value = d();
1015
+ }, { deep: !0 });
1016
+ const u = v(100), a = v(!1), i = v(!1), l = v(!1), N = v(null), F = v(null), oe = U([
1017
+ { label: "100%", value: 100 },
1018
+ { label: "90%", value: 90 },
1019
+ { label: "80%", value: 80 },
1020
+ { label: "75%", value: 75 },
1021
+ { label: "50%", value: 50 },
1022
+ { label: "25%", value: 25 }
1023
+ ]), S = v(Un());
1024
+ let b = null;
1025
+ Ke("stadioFn", (C) => {
1026
+ i.value = C;
1027
+ });
1028
+ const re = () => {
1029
+ if (e.defaultValue) {
1030
+ const C = typeof e.defaultValue == "string" ? JSON.parse(e.defaultValue) : JSON.parse(JSON.stringify(e.defaultValue));
1031
+ S.value = H(C);
1032
+ }
1033
+ }, Ae = () => {
1034
+ l.value = !l.value, document.exitFullscreen ? document.exitFullscreen() : W.info("你的浏览器不支持退出全屏模式");
1035
+ }, c = (C) => {
1036
+ l.value = !l.value, C.preventDefault();
1037
+ const T = document.documentElement;
1038
+ r(T);
1039
+ }, r = (C) => {
1040
+ C.requestFullscreen ? C.requestFullscreen() : C.msRequestFullscreen ? C.msRequestFullscreen() : C.mozRequestFullScreen ? C.mozRequestFullScreen() : C.webkitRequestFullscreen ? C.webkitRequestFullscreen() : W.info("你的浏览器不支持全屏模式");
1041
+ }, Q = (C) => {
1042
+ S.value = C;
1043
+ }, m = (C) => {
1044
+ o("node-click", C);
1045
+ }, E = (C) => {
1046
+ a.value = C;
1047
+ }, y = () => {
1048
+ if (N.value && F.value && N.value.scrollWidth > F.value.clientWidth) {
1049
+ const T = Number((F.value.clientWidth / N.value.scrollWidth).toFixed(1)) * 100;
1050
+ T < 50 ? n.value = 50 : n.value = T, u.value = n.value;
1051
+ }
1052
+ }, X = () => {
1053
+ y();
1054
+ }, ne = () => {
1055
+ y();
1056
+ }, ge = () => {
1057
+ l.value = !!document.fullscreenElement;
1058
+ };
1059
+ Le(() => {
1060
+ y(), document.addEventListener("fullscreenchange", ge), window.addEventListener("resize", X), N.value && (b = new MutationObserver(ne), b.observe(N.value, {
1061
+ childList: !0,
1062
+ subtree: !0,
1063
+ attributes: !0
1064
+ }));
1065
+ }), Ve(() => {
1066
+ document.removeEventListener("fullscreenchange", ge), window.removeEventListener("resize", X), b == null || b.disconnect(), b = null;
1067
+ });
1068
+ const ke = (C) => {
1069
+ n.value = C, u.value = C;
1070
+ };
1071
+ function De(C) {
1072
+ if (C === -1) {
1073
+ if (n.value <= 40)
1074
+ return;
1075
+ n.value -= 10;
1076
+ } else {
1077
+ if (n.value >= 95)
1078
+ return;
1079
+ n.value += 10;
1080
+ }
1081
+ u.value = n.value;
1082
+ }
1083
+ return re(), {
1084
+ isFull: l,
1085
+ content: N,
1086
+ dingflowDesign: F,
1087
+ theme: I,
1088
+ setTheme: g,
1089
+ isSaveBtn: a,
1090
+ scaleVal: n,
1091
+ scaleValSele: u,
1092
+ scaleList: oe,
1093
+ zoomSize: De,
1094
+ mockFlow: S,
1095
+ stadioShow: i,
1096
+ handleNodeClick: m,
1097
+ handleUpdateSaveBtn: E,
1098
+ handleupdateNodeConfigAll: Q,
1099
+ fullScreen: c,
1100
+ fullScreenCancel: Ae,
1101
+ handleChange: ke,
1102
+ getValue: () => S.value,
1103
+ setValue: (C) => {
1104
+ S.value = H(JSON.parse(JSON.stringify(C)));
1105
+ },
1106
+ updateNode: (C, T) => {
1107
+ S.value = $(k(S.value), C, k(T));
1108
+ },
1109
+ setNodeName: (C, T) => {
1110
+ const ce = ie(k(S.value), C);
1111
+ if (!ce) return !1;
1112
+ const Oe = q(G({}, ce), { name: T });
1113
+ return S.value = $(k(S.value), C, Oe), !0;
1114
+ },
1115
+ validate: () => !_(S.value),
1116
+ markInvalid: (C = !0) => {
1117
+ a.value = C;
1118
+ }
1119
+ };
1120
+ }
1121
+ }), Mn = "data:image/png;base64,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", Tn = "data:image/png;base64,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", ee = (e) => (we("data-v-8aa807b1"), e = e(), Se(), e), Fn = ["data-theme"], bn = {
1122
+ class: "dingflow-design",
1123
+ ref: "dingflowDesign"
1124
+ }, Gn = { class: "zoom" }, Kn = /* @__PURE__ */ ee(() => /* @__PURE__ */ f("span", { class: "line" }, null, -1)), Ln = /* @__PURE__ */ ee(() => /* @__PURE__ */ f("img", { src: Mn }, null, -1)), Vn = [
1125
+ Ln
1126
+ ], Jn = /* @__PURE__ */ ee(() => /* @__PURE__ */ f("img", { src: Tn }, null, -1)), Pn = [
1127
+ Jn
1128
+ ], Yn = /* @__PURE__ */ ee(() => /* @__PURE__ */ f("div", { class: "end-node" }, [
1129
+ /* @__PURE__ */ f("div", { class: "end-node-text" }, "结束")
1130
+ ], -1));
1131
+ function Hn(e, o, n, t, d, I) {
1132
+ const g = O("a-tooltip"), u = O("a-select-option"), a = O("a-select"), i = O("FlowDesignNodeWrap");
1133
+ return A(), p("div", {
1134
+ class: "fd-content",
1135
+ id: "full-screen",
1136
+ "data-theme": e.theme
1137
+ }, [
1138
+ f("div", bn, [
1139
+ f("div", Gn, [
1140
+ D(g, { placement: "top" }, {
1141
+ title: h(() => [
1142
+ J(w(e.scaleVal === 40 ? "" : "缩小画布"), 1)
1143
+ ]),
1144
+ default: h(() => [
1145
+ f("div", {
1146
+ class: V(["zoom-out", e.scaleVal === 40 ? "scaleDis" : ""]),
1147
+ onClick: o[0] || (o[0] = (l) => e.zoomSize(-1))
1148
+ }, null, 2)
1149
+ ]),
1150
+ _: 1
1151
+ }),
1152
+ D(a, {
1153
+ style: { width: "70px" },
1154
+ class: "zoomSelect",
1155
+ value: e.scaleValSele,
1156
+ "onUpdate:value": o[1] || (o[1] = (l) => e.scaleValSele = l),
1157
+ dropdownStyle: { "min-width": "100px", width: "100px" },
1158
+ dropdownMatchSelectWidth: !1,
1159
+ bordered: !1,
1160
+ allowClear: !1,
1161
+ onChange: e.handleChange,
1162
+ mode: "combobox"
1163
+ }, {
1164
+ default: h(() => [
1165
+ (A(!0), p(le, null, de(e.scaleList, (l) => (A(), M(u, {
1166
+ key: l.value,
1167
+ value: l.value
1168
+ }, {
1169
+ default: h(() => [
1170
+ J(w(l.label), 1)
1171
+ ]),
1172
+ _: 2
1173
+ }, 1032, ["value"]))), 128))
1174
+ ]),
1175
+ _: 1
1176
+ }, 8, ["value", "onChange"]),
1177
+ D(g, { placement: "top" }, {
1178
+ title: h(() => [
1179
+ J(w(e.scaleVal === 100 ? "" : "放大画布"), 1)
1180
+ ]),
1181
+ default: h(() => [
1182
+ f("div", {
1183
+ class: V(["zoom-in", e.scaleVal === 100 ? "scaleDis" : ""]),
1184
+ onClick: o[2] || (o[2] = (l) => e.zoomSize(1))
1185
+ }, null, 2)
1186
+ ]),
1187
+ _: 1
1188
+ }),
1189
+ Kn,
1190
+ e.isFull ? B("", !0) : (A(), p("span", {
1191
+ key: 0,
1192
+ class: "fullIcon",
1193
+ onClick: o[3] || (o[3] = (...l) => e.fullScreen && e.fullScreen(...l))
1194
+ }, Vn)),
1195
+ e.isFull ? (A(), p("span", {
1196
+ key: 1,
1197
+ class: "fullIcon",
1198
+ onClick: o[4] || (o[4] = (...l) => e.fullScreenCancel && e.fullScreenCancel(...l))
1199
+ }, Pn)) : B("", !0)
1200
+ ]),
1201
+ f("div", {
1202
+ class: V(["box-scale", { trans: e.stadioShow }]),
1203
+ id: "box-scale",
1204
+ ref: "content",
1205
+ style: Je("zoom:" + e.scaleVal / 100 + ";padding: 50px;")
1206
+ }, [
1207
+ D(i, {
1208
+ tableId: "666",
1209
+ isPreviewStatus: e.isPreviewStatus,
1210
+ flowOptions: e.flowOptions,
1211
+ nodeConfig: e.mockFlow,
1212
+ nodeConfigAll: e.mockFlow,
1213
+ isSaveBtn: e.isSaveBtn,
1214
+ "onUpdate:nodeConfig": o[5] || (o[5] = (l) => e.mockFlow = l),
1215
+ onIsSaveBtnUpdate: e.handleUpdateSaveBtn,
1216
+ onUpdateNodeConfigAll: e.handleupdateNodeConfigAll,
1217
+ onNodeClick: e.handleNodeClick
1218
+ }, null, 8, ["isPreviewStatus", "flowOptions", "nodeConfig", "nodeConfigAll", "isSaveBtn", "onIsSaveBtnUpdate", "onUpdateNodeConfigAll", "onNodeClick"]),
1219
+ Yn
1220
+ ], 6)
1221
+ ], 512)
1222
+ ], 8, Fn);
1223
+ }
1224
+ const jn = /* @__PURE__ */ z(Rn, [["render", Hn], ["__scopeId", "data-v-8aa807b1"]]), zn = j({
1225
+ components: { Common: Co, FlowDesign: jn },
1226
+ emits: ["node-click"],
1227
+ props: {
1228
+ selector: [String, Object]
1229
+ },
1230
+ setup() {
1231
+ const e = v();
1232
+ return { designer: e, getValue: () => {
1233
+ var a, i;
1234
+ return (i = (a = e.value) == null ? void 0 : a.getValue) == null ? void 0 : i.call(a);
1235
+ }, setValue: (a) => {
1236
+ var i, l;
1237
+ return (l = (i = e.value) == null ? void 0 : i.setValue) == null ? void 0 : l.call(i, a);
1238
+ }, updateNode: (a, i) => {
1239
+ var l, N;
1240
+ return (N = (l = e.value) == null ? void 0 : l.updateNode) == null ? void 0 : N.call(l, a, i);
1241
+ }, setNodeName: (a, i) => {
1242
+ var l, N;
1243
+ return (N = (l = e.value) == null ? void 0 : l.setNodeName) == null ? void 0 : N.call(l, a, i);
1244
+ }, setTheme: (a) => {
1245
+ var i, l;
1246
+ return (l = (i = e.value) == null ? void 0 : i.setTheme) == null ? void 0 : l.call(i, a);
1247
+ }, validate: () => {
1248
+ var a, i;
1249
+ return (i = (a = e.value) == null ? void 0 : a.validate) == null ? void 0 : i.call(a);
1250
+ }, markInvalid: (a = !0) => {
1251
+ var i, l;
1252
+ return (l = (i = e.value) == null ? void 0 : i.markInvalid) == null ? void 0 : l.call(i, a);
1253
+ } };
1254
+ }
1255
+ });
1256
+ function Xn(e, o, n, t, d, I) {
1257
+ const g = O("FlowDesign"), u = O("Common");
1258
+ return A(), M(u, { selector: e.selector }, {
1259
+ default: h(() => [
1260
+ D(g, Pe({ ref: "designer" }, e.$attrs, {
1261
+ onNodeClick: o[0] || (o[0] = (a) => e.$emit("node-click", a))
1262
+ }), null, 16)
1263
+ ]),
1264
+ _: 1
1265
+ }, 8, ["selector"]);
1266
+ }
1267
+ const qn = /* @__PURE__ */ z(zn, [["render", Xn]]);
1268
+ W.config({
1269
+ duration: 3,
1270
+ maxCount: 1
1271
+ });
1272
+ const Zn = co({
1273
+ scriptUrl: "//at.alicdn.com/t/c/font_2899069_i9rr6g7am0b.js"
1274
+ });
1275
+ function Wn(e) {
1276
+ const o = K.confirm;
1277
+ K.confirm = (n) => o(Object.assign({
1278
+ okText: "确定",
1279
+ cancelText: "取消"
1280
+ }, n)), Ce.props.allowClear.default = !0, K.props.keyboard.default = !1, K.props.maskClosable.default = !1, fe.props.getContainer.default = !1, e.component("icon-font", Zn), e.use(Xe).use(qe).use(Ze).use(fe).use(We).use(xe).use($e).use(_e).use(eo).use(K).use(oo).use(no).use(Ce).use(to).use(so).use(io).use(lo).use(ao).use(ro).use(Ao).use(go);
1281
+ }
1282
+ const xn = {
1283
+ [s.Launch]: "START_APPLY_TASK",
1284
+ [s.Approval]: "APPROVAL_TASK",
1285
+ [s.Copy]: "HANDLE_TASK",
1286
+ [s.Transactor]: "HANDLE_TASK",
1287
+ [s.Condition]: "HANDLE_TASK",
1288
+ [s.ConditionTerm]: "HANDLE_TASK"
1289
+ };
1290
+ function ye(e, o) {
1291
+ let n = [];
1292
+ if (e.type !== s.Condition) {
1293
+ const t = String(e.uid), d = {
1294
+ id: t,
1295
+ name: e.name,
1296
+ "flowable:assignee": e.nodeUserList.length > 0 ? e.nodeUserList[0].id : "",
1297
+ "flowable:category": xn[e.type],
1298
+ "flowable:formFieldValidation": "true",
1299
+ sequenceFlow: {
1300
+ sourceRef: t,
1301
+ targetRef: e.childNode ? String(e.childNode.uid) : "endEvent"
1302
+ }
1303
+ };
1304
+ if (e.childNode) {
1305
+ const I = ye(e.childNode);
1306
+ n = [d, ...I];
1307
+ } else n = [d];
1308
+ }
1309
+ return n;
1310
+ }
1311
+ function $n(e) {
1312
+ let o = `<?xml version="1.0" encoding="UTF-8"?>
1313
+ <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef">
1314
+ <PROCESS_SLOT />
1315
+ <bpmndi:BPMNDiagram id="BPMNDiagram_简单流程1_ylxcz_zrz">
1316
+ <bpmndi:BPMNPlane bpmnElement="简单流程1_ylxcz_zrz" id="BPMNPlane_简单流程1_ylxcz_zrz">
1317
+ <bpmndi:BPMNShape bpmnElement="startEvent" id="BPMNShape_startEvent">
1318
+ <omgdc:Bounds height="30.0" width="30.0" x="100.0" y="163.0"></omgdc:Bounds>
1319
+ </bpmndi:BPMNShape>
1320
+ </bpmndi:BPMNPlane>
1321
+ </bpmndi:BPMNDiagram>
1322
+ </definitions>
1323
+ `, n = `
1324
+ <process id="固定流程1" name="测试流程" isExecutable="true">
1325
+ <startEvent id="startEvent" flowable:formFieldValidation="true"></startEvent>
1326
+ <userTask id="startApply" name="申请1" flowable:category="START_APPLY_TASK" flowable:formFieldValidation="true"></userTask>
1327
+ <FLOW_SLOT_TASK/>
1328
+ <endEvent id="endEvent"></endEvent>
1329
+ <FLOW_SLOT_SEQUENCE/>
1330
+ </process>
1331
+ `;
1332
+ try {
1333
+ if (e.childNode) {
1334
+ const t = ye(e.childNode, "startApply"), d = [], I = [];
1335
+ let g = "";
1336
+ t.forEach((a) => {
1337
+ let i = "";
1338
+ for (const l in a)
1339
+ l === "sequenceFlow" ? (I.length === 0 && (g = a.id), I.push(
1340
+ `<${l} id="seq-${a.id}" sourceRef="${a[l].sourceRef}" targetRef="${a[l].targetRef}"></${l}>`
1341
+ )) : i += `${l}="${a[l]}" `;
1342
+ d.push(`<userTask ${i}></userTask>`);
1343
+ }), n = n.replace("<FLOW_SLOT_TASK/>", d.join(`
1344
+ `));
1345
+ const u = `<sequenceFlow id="startOIUSFD883" sourceRef="startEvent" targetRef="startApply"></sequenceFlow>
1346
+ <sequenceFlow id="sid-413B88D4-B0C9-4105-BCA0-1BF0173232121123" sourceRef="startApply" targetRef="${g}"></sequenceFlow>
1347
+ `;
1348
+ n = n.replace("<FLOW_SLOT_SEQUENCE/>", u + I.join(`
1349
+ `)), o = o.replace("<PROCESS_SLOT />", n);
1350
+ }
1351
+ return o;
1352
+ } catch (t) {
1353
+ return "";
1354
+ }
1355
+ }
1356
+ class ut {
1357
+ constructor(o, n = {}) {
1358
+ var g, u, a;
1359
+ this.instance = null, this.nodeClickFn = null, this.handleNodeClick = (i) => {
1360
+ var l;
1361
+ (l = this.nodeClickFn) == null || l.call(this, i);
1362
+ };
1363
+ const t = (g = n.uiOptions) != null ? g : {}, d = (u = t.primaryColor) != null ? u : "#40a9ff", I = (a = t.theme) != null ? a : "light";
1364
+ this.selector = o, this.app = Ye(He(qn, q(G({}, n), {
1365
+ selector: o,
1366
+ onNodeClick: this.handleNodeClick
1367
+ }))), _n(d, o), Ee(I, o), Wn(this.app), this.instance = this.app.mount(o);
1368
+ }
1369
+ // 订阅节点点击:宿主据此渲染自己的设置抽屉
1370
+ on(o, n) {
1371
+ o === "node-click" && (this.nodeClickFn = n);
1372
+ }
1373
+ getValue() {
1374
+ var o, n;
1375
+ return (n = (o = this.instance) == null ? void 0 : o.getValue) == null ? void 0 : n.call(o);
1376
+ }
1377
+ setValue(o) {
1378
+ var n, t;
1379
+ return (t = (n = this.instance) == null ? void 0 : n.setValue) == null ? void 0 : t.call(n, o);
1380
+ }
1381
+ // 抽屉里改完单个节点后,按 uid 写回画布
1382
+ updateNode(o, n) {
1383
+ var t, d;
1384
+ return (d = (t = this.instance) == null ? void 0 : t.updateNode) == null ? void 0 : d.call(t, o, n);
1385
+ }
1386
+ // 仅更新节点名称:业务抽屉确定时调用,无需回传整个节点对象。
1387
+ // 返回 true 表示命中并更新;节点标题即显示该 name。
1388
+ setNodeName(o, n) {
1389
+ var t, d;
1390
+ return (d = (t = this.instance) == null ? void 0 : t.setNodeName) == null ? void 0 : d.call(t, o, n);
1391
+ }
1392
+ // 运行时切换明暗主题。宿主页面的开关直接调用,画布即时变色。
1393
+ setTheme(o) {
1394
+ var n, t;
1395
+ return Ee(o, this.selector), (t = (n = this.instance) == null ? void 0 : n.setTheme) == null ? void 0 : t.call(n, o);
1396
+ }
1397
+ validate() {
1398
+ var o, n;
1399
+ return (n = (o = this.instance) == null ? void 0 : o.validate) == null ? void 0 : n.call(o);
1400
+ }
1401
+ // 高亮未配置完整的节点(保存校验失败时调用)
1402
+ markInvalid(o = !0) {
1403
+ var n, t;
1404
+ return (t = (n = this.instance) == null ? void 0 : n.markInvalid) == null ? void 0 : t.call(n, o);
1405
+ }
1406
+ unmount() {
1407
+ try {
1408
+ this.app.unmount();
1409
+ } finally {
1410
+ this.instance = null;
1411
+ }
1412
+ }
1413
+ }
1414
+ function _n(e, o) {
1415
+ const n = typeof o == "string" ? document.querySelector(o) : o;
1416
+ n instanceof HTMLElement && (n.classList.add("uni-flow-design"), n.style.setProperty("--ant-primary-color", e));
1417
+ }
1418
+ function Ee(e, o) {
1419
+ const n = typeof o == "string" ? document.querySelector(o) : o;
1420
+ n instanceof HTMLElement && n.setAttribute("data-theme", e === "dark" ? "dark" : "light");
1421
+ }
1422
+ const pt = (e) => _(e), Ct = (e) => L(e, null), ft = (e) => H(e), It = (e) => $n(e);
1423
+ export {
1424
+ s as NodeType,
1425
+ ut as UniFlowDesign,
1426
+ Un as createDefaultFlow,
1427
+ pt as flowCheckIsSetting,
1428
+ ft as flowNormalizeTypes,
1429
+ It as flowTransToXML,
1430
+ Ct as flowTransformData
1431
+ };