@ximatai/muyun-web-app 0.26.18 → 0.26.20

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 (80) hide show
  1. package/dist/{BusinessActivityLogView-CNW817Sf.js → BusinessActivityLogView-BpcmlT8u.js} +2 -2
  2. package/dist/BusinessLogListDrawer-C3EteOgv.js +864 -0
  3. package/dist/CodeConfigurationView-CxqzINb9.js +1667 -0
  4. package/dist/{ConfigurationTranslationView-CbBt5s1q.js → ConfigurationTranslationView-QUeVtdcE.js} +37 -37
  5. package/dist/{LoginAuditLogView-CZF1Jfq_.js → LoginAuditLogView-Cd699_OD.js} +2 -2
  6. package/dist/ModuleActionManagementView-Ct1PqAXF.js +755 -0
  7. package/dist/{ModuleGovernanceView-CcwGyO3x.js → ModuleGovernanceView-CjKt6ryi.js} +2254 -2254
  8. package/dist/{RequestErrorLogView-DpudZrC2.js → RequestErrorLogView-B9sIOhWs.js} +2 -2
  9. package/dist/RoleDetailWorkspaceView-BnBL_Ihe.js +1435 -0
  10. package/dist/{RuntimeLogView-444BL_xs.js → RuntimeLogView-CjV223Pk.js} +70 -70
  11. package/dist/WorkflowAdministrationView-C2jgy4N4.js +650 -0
  12. package/dist/WorkflowConfigurationView-CNXwdgUP.js +980 -0
  13. package/dist/WorkflowWorkbenchView-DdJOTmtG.js +759 -0
  14. package/dist/{codeConfiguration-ChJ6ktRR.js → codeConfiguration-pvXI4qaR.js} +45 -45
  15. package/dist/index.css +1 -1
  16. package/dist/index.js +999 -627
  17. package/dist/{moduleMenuWorkspace-B8DKwC3L.js → moduleMenuWorkspace-D8ih_X-m.js} +204 -204
  18. package/dist/platform-components-DlKD3nyL.js +30676 -0
  19. package/dist/{platform-workbench-BhZPARiH.js → platform-workbench-D5w7Odpt.js} +5246 -5224
  20. package/dist/types/app/executeBusinessNotificationRecordAction.d.ts +7 -0
  21. package/dist/types/consumer/index.d.ts +8 -0
  22. package/dist/types/dynamic-page-runtime/ModulePageHostRuntime.vue.d.ts +3 -3
  23. package/dist/types/dynamic-page-runtime/composables/useModulePageDetailExtensionRuntime.d.ts +1 -0
  24. package/dist/types/dynamic-page-runtime/modulePageEnhancementState.d.ts +5 -0
  25. package/dist/types/dynamic-page-runtime/modulePageEnhancements.d.ts +4 -0
  26. package/dist/types/platform-admin-runtime/workflow/ModuleWorkflowDrawer.vue.d.ts +7 -0
  27. package/dist/types/platform-components/BusinessNotificationPanel.vue.d.ts +5 -3
  28. package/dist/types/platform-components/EmployeePicker.vue.d.ts +1 -1
  29. package/dist/types/platform-components/FormulaExpressionEditor.vue.d.ts +5 -0
  30. package/dist/types/platform-components/QueryCriteriaComposer.vue.d.ts +3 -1
  31. package/dist/types/platform-components/ReadonlyRecordWorkspace.vue.d.ts +56 -0
  32. package/dist/types/platform-components/RecordAdaptiveDetailPanel.vue.d.ts +30 -0
  33. package/dist/types/platform-components/RecordQueryControls.vue.d.ts +21 -0
  34. package/dist/types/platform-components/RecordQueryFieldControls.vue.d.ts +32 -0
  35. package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +1 -1
  36. package/dist/types/platform-components/RecordQueryListSurface.vue.d.ts +6 -2
  37. package/dist/types/platform-components/ReferencePicker.vue.d.ts +1 -1
  38. package/dist/types/platform-components/UserPicker.vue.d.ts +1 -1
  39. package/dist/types/platform-components/WorkflowBusinessTaskEditor.vue.d.ts +2 -0
  40. package/dist/types/platform-components/WorkflowDesignProperties.vue.d.ts +2 -6
  41. package/dist/types/platform-components/WorkflowDiagram.vue.d.ts +32 -1
  42. package/dist/types/platform-components/formulaExpressionTokens.d.ts +2 -0
  43. package/dist/types/platform-components/formulaExpressionTools.d.ts +6 -0
  44. package/dist/types/platform-components/index.d.ts +3 -0
  45. package/dist/types/platform-components/queryCriteria.d.ts +7 -0
  46. package/dist/types/platform-components/referencePickerModel.d.ts +5 -1
  47. package/dist/types/platform-components/useWorkflowDesignHistory.d.ts +14 -0
  48. package/dist/types/platform-components/useWorkspaceDetailSurface.d.ts +3 -0
  49. package/dist/types/platform-components/workflowDesignClipboard.d.ts +7 -0
  50. package/dist/types/platform-components/workflowPresentation.d.ts +4 -0
  51. package/dist/types/views/WorkflowConfigurationView.vue.d.ts +1 -0
  52. package/dist/types/views/WorkflowDefinitionSettings.vue.d.ts +35 -0
  53. package/dist/types/views/WorkflowSelectionFields.vue.d.ts +2 -4
  54. package/dist/types/views/useWorkflowConfigurationContext.d.ts +49 -0
  55. package/dist/types/views/workflowConfigurationWorkspaceView.d.ts +2 -0
  56. package/dist/types/vue-ui-antdv/components/UiIcon.vue.d.ts +1 -1
  57. package/dist/types/vue-ui-antdv/components/UiRadioGroup.vue.d.ts +4 -0
  58. package/dist/types/vue-ui-antdv/components/UiSidePanel.vue.d.ts +5 -0
  59. package/dist/types/vue-ui-antdv/index.d.ts +1 -0
  60. package/dist/types/vue-ui-antdv/overlayLayers.d.ts +5 -0
  61. package/dist/types/vue-ui-antdv/types.d.ts +2 -0
  62. package/dist/types/web-contracts/index.d.ts +7 -0
  63. package/dist/types/web-contracts/workflow.d.ts +16 -8
  64. package/dist/types/web-core/businessNotifications.d.ts +3 -1
  65. package/dist/types/web-core/index.d.ts +3 -0
  66. package/dist/types/web-core/recordReadEntry.d.ts +23 -0
  67. package/dist/types/web-core/recordReadView.d.ts +28 -0
  68. package/dist/types/web-core/useRecordReadSession.d.ts +27 -0
  69. package/dist/types/web-core/workflow.d.ts +13 -1
  70. package/dist/useWorkflowConfigurationContext-B6Wdt26l.js +66 -0
  71. package/dist/{workspaceViews-DeBqozVb.js → workspaceViews-B9wsCYdy.js} +1510 -930
  72. package/package.json +1 -1
  73. package/dist/BusinessLogListDrawer-YiJxOlnD.js +0 -864
  74. package/dist/CodeConfigurationView-DU8tjPMt.js +0 -1667
  75. package/dist/ModuleActionManagementView-CaiXH1l_.js +0 -755
  76. package/dist/RoleDetailWorkspaceView-DNMGsAJC.js +0 -1435
  77. package/dist/WorkflowAdministrationView-C-VIjvwB.js +0 -650
  78. package/dist/WorkflowConfigurationView-DLFY2x7V.js +0 -1110
  79. package/dist/WorkflowWorkbenchView-Gr02dbBc.js +0 -759
  80. package/dist/platform-components-5AE0j2_3.js +0 -29879
@@ -1,1667 +0,0 @@
1
- import { n as e } from "./rolldown-runtime-BAC7EHh5.js";
2
- import { m as t, ut as n, y as r } from "./platform-workbench-BhZPARiH.js";
3
- import { $ as i, $i as a, $n as o, Ba as s, Cn as c, Fr as ee, Gt as l, Hr as te, Ia as u, Kn as d, Mr as f, Mt as p, Na as m, Nn as ne, Nt as re, On as ie, Pt as ae, Qn as h, Rn as g, Sn as oe, V as _, Wt as se, Xn as ce, Yn as v, Zi as le, bn as ue, ct as de, dn as fe, ea as pe, et as me, g as he, hn as ge, mn as _e, pa as ve, sn as ye, t as be, tr as xe, ua as Se, va as Ce, xa as we, yr as Te, zn as Ee } from "./platform-components-5AE0j2_3.js";
4
- import { a as De, c as Oe, d as ke, i as Ae, l as je, n as Me, o as Ne, p as Pe, r as Fe, s as Ie, t as Le, u as Re } from "./codeConfiguration-ChJ6ktRR.js";
5
- import { Fragment as y, computed as b, createBlock as x, createCommentVNode as S, createElementBlock as C, createElementVNode as w, createSlots as ze, createTextVNode as T, createVNode as E, defineComponent as Be, inject as Ve, mergeModels as D, nextTick as He, normalizeClass as Ue, onActivated as We, onBeforeUnmount as Ge, onDeactivated as Ke, onUnmounted as O, openBlock as k, ref as A, renderList as qe, toDisplayString as j, toRaw as M, unref as N, useModel as Je, vShow as Ye, watch as Xe, withCtx as P, withDirectives as Ze } from "vue";
6
- //#region src/views/CodeRuleFormatEditor.vue?vue&type=script&setup=true&lang.ts
7
- var Qe = { class: "code-format" }, $e = {
8
- class: "code-format__segments",
9
- role: "list"
10
- }, et = { class: "code-format__segment-heading" }, F = { class: "code-format__segment-number" }, tt = { class: "code-format__segment-actions" }, I = {
11
- key: 0,
12
- class: "code-format__grid"
13
- }, L = {
14
- key: 0,
15
- class: "code-format__field"
16
- }, nt = {
17
- key: 1,
18
- class: "code-format__field"
19
- }, rt = {
20
- key: 2,
21
- class: "code-format__field"
22
- }, it = {
23
- key: 3,
24
- class: "code-format__field"
25
- }, at = {
26
- key: 4,
27
- class: "code-format__field code-format__wide"
28
- }, ot = {
29
- key: 5,
30
- class: "code-format__field"
31
- }, R = { class: "code-format__advanced" }, z = { key: 0 }, B = { class: "code-format__grid" }, st = {
32
- key: 0,
33
- class: "code-format__help code-format__wide"
34
- }, V = {
35
- key: 1,
36
- class: "code-format__field"
37
- }, ct = {
38
- key: 2,
39
- class: "code-format__field"
40
- }, H = {
41
- key: 3,
42
- class: "code-format__field"
43
- }, lt = {
44
- key: 4,
45
- class: "code-format__field"
46
- }, U = { class: "code-format__field" }, ut = {
47
- key: 5,
48
- class: "code-format__field"
49
- }, dt = {
50
- key: 6,
51
- class: "code-format__field"
52
- }, ft = {
53
- key: 0,
54
- class: "code-format__help"
55
- }, W = {
56
- key: 1,
57
- class: "code-format__mapping"
58
- }, pt = {
59
- key: 0,
60
- class: "code-format__grid"
61
- }, mt = { class: "code-format__field" }, ht = { class: "code-format__field" }, G = { class: "code-format__sequence-advanced code-format__wide" }, K = { class: "code-format__grid" }, gt = { class: "code-format__field" }, _t = { class: "code-format__field" }, vt = { class: "code-format__field" }, q = {
62
- key: 0,
63
- class: "code-format__help"
64
- }, J = { class: "code-format__field" }, yt = /*#__PURE__*/ xe(/* @__PURE__ */ Be({
65
- __name: "CodeRuleFormatEditor",
66
- props: /*@__PURE__*/ D({
67
- sources: {},
68
- editable: { type: Boolean },
69
- trigger: {}
70
- }, {
71
- rule: { required: !0 },
72
- ruleModifiers: {}
73
- }),
74
- emits: ["update:rule"],
75
- setup(e) {
76
- let t = e, n = Je(e, "rule"), r = u(), i = (e, t) => r.t(`platform.code.config.${e}`, t), a = b(() => t.sources.map((e) => ({
77
- value: e.fieldName,
78
- label: Fe(e, r)
79
- }))), s = b(() => t.sources.map((e) => ({
80
- name: e.fieldName,
81
- label: Fe(e, r),
82
- valueType: e.type
83
- }))), c = {
84
- CONSTANT: "固定文字",
85
- FIELD_VALUE: "业务字段",
86
- CONTEXT_VAR: "动作上下文",
87
- SYSTEM_TIME: "业务时间",
88
- SEQUENCE: "流水号",
89
- VALUE_MAPPING: "值映射",
90
- FORMULA: "公式"
91
- }, ee = b(() => Me.map((e) => ({
92
- value: e,
93
- label: i(`segment.${e}`, c[e])
94
- }))), l = (e, t) => Object.entries(t).map(([t, n]) => ({
95
- value: t,
96
- label: i(`enum.${e}.${t}`, n)
97
- })), te = [
98
- "YY",
99
- "YYYY",
100
- "YYMM",
101
- "YYYYMM",
102
- "YYMMDD",
103
- "YYYYMMDD",
104
- "YYYY_MM",
105
- "YYYY_MM_DD",
106
- "YYYY_MM_DD_HH_MM_SS",
107
- "HHMMSS"
108
- ], f = /* @__PURE__ */ new WeakMap(), p = 0, m = /* @__PURE__ */ new WeakMap(), ne = null;
109
- Xe(() => n.value, () => {
110
- ne = null;
111
- });
112
- function re(e) {
113
- return e = M(e), f.has(e) || f.set(e, ++p), f.get(e);
114
- }
115
- function ie(e) {
116
- return [
117
- "FIELD_VALUE",
118
- "CONTEXT_VAR",
119
- "VALUE_MAPPING",
120
- "FORMULA"
121
- ].includes(e.segmentType);
122
- }
123
- function h(e) {
124
- return !!n.value.sequencePolicy && !["CONSTANT", "SEQUENCE"].includes(e.segmentType);
125
- }
126
- let oe = b(() => r.t("platform.code.config.inherited-sequence-length", "继承流水长度:{length}", { length: n.value.sequencePolicy?.sequenceLength ?? "—" })), _ = b(() => {
127
- let e = n.value.sequencePolicy?.sequenceLength;
128
- return e == null || !Number.isInteger(e) || e < 1 || e > 18 ? "" : r.t("platform.code.config.sequence-limit-hint", "按 {length} 位流水,最大 {maximum}", {
129
- length: e,
130
- maximum: "9".repeat(e)
131
- });
132
- });
133
- function se(e) {
134
- return e.length != null || !!e.separator || (e.padMode ?? "NONE") !== "NONE" || (e.truncatePolicy ?? "NONE") !== "NONE" || (e.nullPolicy ?? "ERROR") !== "ERROR" || !!e.sequenceBasis;
135
- }
136
- function le(e) {
137
- return e.segmentType === "SEQUENCE" && e.length != null ? r.t("platform.code.config.sequence-length-override-summary", "长度覆盖 {length} 位", { length: e.length }) : i("configured", "已配置");
138
- }
139
- let ue = b(() => {
140
- let e = n.value.sequencePolicy;
141
- if (!e) return "";
142
- let t = [
143
- e.startValue != null && e.startValue !== 1 ? `${i("start", "起始值")} ${e.startValue}` : "",
144
- e.stepValue != null && e.stepValue !== 1 ? `${i("step", "递增步长")} ${e.stepValue}` : "",
145
- e.maxValue == null ? "" : `${i("maximum", "流水上限")} ${e.maxValue}`,
146
- e.overflowPolicy === "RESET" ? i("enum.overflow.RESET", "从起点重新尝试") : ""
147
- ].filter(Boolean);
148
- return t.length ? t.join(" · ") : i("defaults", "默认设置");
149
- });
150
- function de(e) {
151
- return e === "" || e == null ? null : Number(e);
152
- }
153
- function fe() {
154
- n.value && (n.value.segments.some((e) => e.segmentType === "SEQUENCE") ? n.value.sequencePolicy ??= ne ?? Re() : (ne = n.value.sequencePolicy ?? ne, n.value.sequencePolicy = null));
155
- }
156
- function pe(e, t) {
157
- if (!n.value) return;
158
- let r = n.value.segments[e];
159
- if (r.segmentType === t) return;
160
- let i = m.get(M(r)) ?? /* @__PURE__ */ new Map();
161
- i.set(r.segmentType, JSON.parse(JSON.stringify(r)));
162
- let a = {
163
- ...i.get(t) ?? je(t),
164
- id: r.id,
165
- version: r.version
166
- };
167
- f.set(a, re(r)), m.set(a, i), n.value.segments[e] = a, fe();
168
- }
169
- function me() {
170
- n.value && (n.value.segments.push(je()), fe());
171
- }
172
- function he(e, t) {
173
- let r = n.value?.segments;
174
- if (!r || e + t < 0 || e + t >= r.length) return;
175
- let [i] = r.splice(e, 1);
176
- i && r.splice(e + t, 0, i);
177
- }
178
- function _e(e) {
179
- n.value?.segments.splice(e, 1), fe();
180
- }
181
- return (r, c) => (k(), C("section", Qe, [
182
- E(N(ae), { title: i("format", "编码格式") }, null, 8, ["title"]),
183
- w("ol", $e, [(k(!0), C(y, null, qe(n.value.segments, (r, u) => (k(), C("li", { key: re(r) }, [
184
- w("div", et, [
185
- w("span", F, j(u + 1), 1),
186
- E(N(v), {
187
- "aria-label": i("segment-type", "片段类型"),
188
- value: r.segmentType,
189
- disabled: !e.editable,
190
- options: ee.value,
191
- "onUpdate:value": (e) => pe(u, e)
192
- }, null, 8, [
193
- "aria-label",
194
- "value",
195
- "disabled",
196
- "options",
197
- "onUpdate:value"
198
- ]),
199
- ["FORMULA", "CONTEXT_VAR"].includes(r.segmentType) ? (k(), x(N(g), {
200
- key: 0,
201
- label: i("bounded-help-title", "片段长度说明")
202
- }, {
203
- default: P(() => [T(j(i("bounded-help", "为公式或外部上下文设置长度与截取方式,确保编码不超出目标字段长度。")), 1)]),
204
- _: 1
205
- }, 8, ["label"])) : S("v-if", !0),
206
- w("div", tt, [
207
- E(N(o), {
208
- type: "text",
209
- "icon-name": "up",
210
- "icon-only": "",
211
- size: "small",
212
- title: i("up", "上移"),
213
- "aria-label": i("up", "上移"),
214
- disabled: !e.editable || u === 0,
215
- onClick: (e) => he(u, -1)
216
- }, null, 8, [
217
- "title",
218
- "aria-label",
219
- "disabled",
220
- "onClick"
221
- ]),
222
- E(N(o), {
223
- type: "text",
224
- "icon-name": "down",
225
- "icon-only": "",
226
- size: "small",
227
- title: i("down", "下移"),
228
- "aria-label": i("down", "下移"),
229
- disabled: !e.editable || u === n.value.segments.length - 1,
230
- onClick: (e) => he(u, 1)
231
- }, null, 8, [
232
- "title",
233
- "aria-label",
234
- "disabled",
235
- "onClick"
236
- ]),
237
- E(N(o), {
238
- type: "text",
239
- "icon-name": "delete",
240
- "icon-only": "",
241
- size: "small",
242
- title: i("remove", "删除"),
243
- "aria-label": i("remove", "删除"),
244
- disabled: !e.editable,
245
- onClick: (e) => _e(u)
246
- }, null, 8, [
247
- "title",
248
- "aria-label",
249
- "disabled",
250
- "onClick"
251
- ])
252
- ])
253
- ]),
254
- r.segmentType === "SEQUENCE" ? S("v-if", !0) : (k(), C("div", I, [
255
- r.segmentType === "CONSTANT" ? (k(), C("label", L, [T(j(i("constant", "固定文字")), 1), E(N(d), {
256
- value: r.fixedValue,
257
- "onUpdate:value": (e) => r.fixedValue = e,
258
- disabled: !e.editable
259
- }, null, 8, [
260
- "value",
261
- "onUpdate:value",
262
- "disabled"
263
- ])])) : S("v-if", !0),
264
- ["FIELD_VALUE", "VALUE_MAPPING"].includes(r.segmentType) ? (k(), C("label", nt, [T(j(i("source", "来源字段")), 1), E(N(v), {
265
- value: r.sourceRef,
266
- "onUpdate:value": (e) => r.sourceRef = e,
267
- disabled: !e.editable,
268
- options: a.value
269
- }, null, 8, [
270
- "value",
271
- "onUpdate:value",
272
- "disabled",
273
- "options"
274
- ])])) : S("v-if", !0),
275
- r.segmentType === "CONTEXT_VAR" ? (k(), C("label", rt, [T(j(i("context", "动作传入的上下文名称")), 1), (t.trigger ?? n.value.fieldTrigger ?? "SAVE") === "EXPLICIT" ? (k(), x(N(d), {
276
- key: 1,
277
- value: r.sourceRef,
278
- "onUpdate:value": (e) => r.sourceRef = e,
279
- disabled: !e.editable
280
- }, null, 8, [
281
- "value",
282
- "onUpdate:value",
283
- "disabled"
284
- ])) : (k(), x(N(v), {
285
- key: 0,
286
- value: r.sourceRef,
287
- "onUpdate:value": (e) => r.sourceRef = e,
288
- disabled: !e.editable,
289
- options: a.value
290
- }, null, 8, [
291
- "value",
292
- "onUpdate:value",
293
- "disabled",
294
- "options"
295
- ]))])) : S("v-if", !0),
296
- r.segmentType === "SYSTEM_TIME" ? (k(), C("label", it, [T(j(i("date-format", "时间格式")), 1), E(N(v), {
297
- value: r.dateFormat,
298
- "onUpdate:value": (e) => r.dateFormat = e,
299
- disabled: !e.editable,
300
- options: te.map((e) => ({
301
- value: e,
302
- label: e
303
- }))
304
- }, null, 8, [
305
- "value",
306
- "onUpdate:value",
307
- "disabled",
308
- "options"
309
- ])])) : S("v-if", !0),
310
- r.segmentType === "FORMULA" ? (k(), C("label", at, [T(j(i("formula", "返回编码片段的公式")), 1), E(N(ge), {
311
- value: r.formulaExpr ?? "",
312
- "onUpdate:value": (e) => r.formulaExpr = e,
313
- disabled: !e.editable,
314
- fields: s.value
315
- }, null, 8, [
316
- "value",
317
- "onUpdate:value",
318
- "disabled",
319
- "fields"
320
- ])])) : S("v-if", !0),
321
- ["FORMULA", "CONTEXT_VAR"].includes(r.segmentType) ? (k(), C("label", ot, [T(j(i("length", "片段长度")) + " ", 1), E(N(d), {
322
- value: r.length ?? void 0,
323
- type: "number",
324
- disabled: !e.editable,
325
- "onUpdate:value": (e) => r.length = de(e)
326
- }, null, 8, [
327
- "value",
328
- "disabled",
329
- "onUpdate:value"
330
- ])])) : S("v-if", !0)
331
- ])),
332
- w("details", R, [w("summary", null, [T(j(i("advanced-format", "高级设置")), 1), se(r) ? (k(), C("span", z, " · " + j(le(r)), 1)) : S("v-if", !0)]), w("div", B, [
333
- r.segmentType !== "SEQUENCE" && !r.length ? (k(), C("p", st, j(i("length-dependent-hint", "设置片段长度后,补位与超长截取才会生效。")), 1)) : S("v-if", !0),
334
- ["FORMULA", "CONTEXT_VAR"].includes(r.segmentType) ? S("v-if", !0) : (k(), C("label", V, [T(j(r.segmentType === "SEQUENCE" ? i("sequence-length-override", "片段长度(覆盖流水长度)") : i("length", "片段长度")), 1), E(N(d), {
335
- value: r.length ?? void 0,
336
- placeholder: r.segmentType === "SEQUENCE" ? oe.value : void 0,
337
- type: "number",
338
- disabled: !e.editable,
339
- "onUpdate:value": (e) => r.length = de(e)
340
- }, null, 8, [
341
- "value",
342
- "placeholder",
343
- "disabled",
344
- "onUpdate:value"
345
- ])])),
346
- r.segmentType !== "SEQUENCE" || (r.padMode ?? "NONE") !== "NONE" ? (k(), C("label", ct, [T(j(i("padding", "补位")), 1), E(N(v), {
347
- value: r.padMode,
348
- "onUpdate:value": (e) => r.padMode = e,
349
- disabled: !e.editable,
350
- options: l("padding", {
351
- NONE: "不补位",
352
- LEFT: "左侧补位",
353
- RIGHT: "右侧补位"
354
- })
355
- }, null, 8, [
356
- "value",
357
- "onUpdate:value",
358
- "disabled",
359
- "options"
360
- ])])) : S("v-if", !0),
361
- (r.padMode ?? "NONE") === "NONE" ? S("v-if", !0) : (k(), C("label", H, [T(j(i("pad-char", "补位字符")), 1), E(N(d), {
362
- value: r.padChar,
363
- "onUpdate:value": (e) => r.padChar = e,
364
- disabled: !e.editable
365
- }, null, 8, [
366
- "value",
367
- "onUpdate:value",
368
- "disabled"
369
- ])])),
370
- r.segmentType !== "SEQUENCE" || (r.truncatePolicy ?? "NONE") !== "NONE" ? (k(), C("label", lt, [T(j(i("truncate", "超长截取")), 1), E(N(v), {
371
- value: r.truncatePolicy,
372
- "onUpdate:value": (e) => r.truncatePolicy = e,
373
- disabled: !e.editable,
374
- options: l("truncate", {
375
- NONE: "保留原值",
376
- LEFT: "截去左侧",
377
- RIGHT: "截去右侧"
378
- })
379
- }, null, 8, [
380
- "value",
381
- "onUpdate:value",
382
- "disabled",
383
- "options"
384
- ])])) : S("v-if", !0),
385
- w("label", U, [T(j(i("separator", "片段后分隔符")), 1), E(N(d), {
386
- value: r.separator,
387
- "onUpdate:value": (e) => r.separator = e,
388
- disabled: !e.editable
389
- }, null, 8, [
390
- "value",
391
- "onUpdate:value",
392
- "disabled"
393
- ])]),
394
- ie(r) || (r.nullPolicy ?? "ERROR") !== "ERROR" ? (k(), C("label", ut, [T(j(i("null-policy", "来源为空时")), 1), E(N(v), {
395
- value: r.nullPolicy,
396
- "onUpdate:value": (e) => r.nullPolicy = e,
397
- disabled: !e.editable,
398
- options: l("null", {
399
- ERROR: "拒绝生成",
400
- SKIP_SEGMENT: "跳过该片段",
401
- USE_DEFAULT: "使用默认文字"
402
- }).map((e) => r.segmentType === "VALUE_MAPPING" && e.value === "USE_DEFAULT" ? {
403
- ...e,
404
- label: i("use-default-source", "使用来源默认值")
405
- } : e)
406
- }, null, 8, [
407
- "value",
408
- "onUpdate:value",
409
- "disabled",
410
- "options"
411
- ])])) : S("v-if", !0),
412
- r.nullPolicy === "USE_DEFAULT" && r.segmentType !== "CONSTANT" ? (k(), C("label", dt, [
413
- T(j(r.segmentType === "VALUE_MAPPING" ? i("mapping-fallback", "来源默认值") : i("default-text", "默认文字")), 1),
414
- E(N(d), {
415
- value: r.fixedValue,
416
- "onUpdate:value": (e) => r.fixedValue = e,
417
- disabled: !e.editable
418
- }, null, 8, [
419
- "value",
420
- "onUpdate:value",
421
- "disabled"
422
- ]),
423
- r.segmentType === "VALUE_MAPPING" ? (k(), C("span", ft, j(i("mapping-fallback-hint", "默认值仍需匹配下方映射。")), 1)) : S("v-if", !0)
424
- ])) : S("v-if", !0),
425
- h(r) || r.sequenceBasis ? (k(), x(N(ce), {
426
- key: 7,
427
- class: "code-format__basis code-format__wide",
428
- checked: r.sequenceBasis,
429
- "onUpdate:checked": (e) => r.sequenceBasis = e,
430
- disabled: !e.editable
431
- }, {
432
- default: P(() => [T(j(i("basis", "按该片段分别计数")), 1)]),
433
- _: 1
434
- }, 8, [
435
- "checked",
436
- "onUpdate:checked",
437
- "disabled"
438
- ])) : S("v-if", !0)
439
- ])]),
440
- r.segmentType === "VALUE_MAPPING" ? (k(), C("div", W, [(k(!0), C(y, null, qe(r.mappings, (t, n) => (k(), C("div", {
441
- key: n,
442
- class: "code-format__mapping-row"
443
- }, [
444
- E(N(d), {
445
- value: t.sourceValue,
446
- "onUpdate:value": (e) => t.sourceValue = e,
447
- placeholder: i("mapping-source", "原值"),
448
- "aria-label": i("mapping-source", "原值"),
449
- disabled: !e.editable || t.defaultMapping
450
- }, null, 8, [
451
- "value",
452
- "onUpdate:value",
453
- "placeholder",
454
- "aria-label",
455
- "disabled"
456
- ]),
457
- c[6] ||= w("span", null, "→", -1),
458
- E(N(d), {
459
- value: t.targetValue,
460
- "onUpdate:value": (e) => t.targetValue = e,
461
- placeholder: i("mapping-target", "编码文字"),
462
- "aria-label": i("mapping-target", "编码文字"),
463
- disabled: !e.editable
464
- }, null, 8, [
465
- "value",
466
- "onUpdate:value",
467
- "placeholder",
468
- "aria-label",
469
- "disabled"
470
- ]),
471
- E(N(ce), {
472
- class: "code-format__mapping-default",
473
- checked: t.defaultMapping,
474
- "onUpdate:checked": (e) => t.defaultMapping = e,
475
- disabled: !e.editable
476
- }, {
477
- default: P(() => [T(j(i("mapping-default", "其他值")), 1)]),
478
- _: 1
479
- }, 8, [
480
- "checked",
481
- "onUpdate:checked",
482
- "disabled"
483
- ]),
484
- E(N(o), {
485
- class: "code-format__mapping-remove",
486
- disabled: !e.editable,
487
- onClick: (e) => r.mappings.splice(n, 1)
488
- }, {
489
- default: P(() => [T(j(i("remove", "删除")), 1)]),
490
- _: 1
491
- }, 8, ["disabled", "onClick"])
492
- ]))), 128)), E(N(o), {
493
- disabled: !e.editable,
494
- onClick: (e) => r.mappings.push({
495
- sourceValue: "",
496
- targetValue: "",
497
- defaultMapping: !1,
498
- enabled: !0
499
- })
500
- }, {
501
- default: P(() => [T(j(i("add-mapping", "增加映射")), 1)]),
502
- _: 1
503
- }, 8, ["disabled", "onClick"])])) : S("v-if", !0)
504
- ]))), 128))]),
505
- E(N(o), {
506
- type: "dashed",
507
- "icon-name": "plus",
508
- "aria-label": i("add-segment", "增加片段"),
509
- disabled: !e.editable,
510
- onClick: me
511
- }, {
512
- default: P(() => [T(j(i("add-segment", "增加片段")), 1)]),
513
- _: 1
514
- }, 8, ["aria-label", "disabled"]),
515
- n.value.sequencePolicy ? (k(), C("div", pt, [
516
- E(N(ae), {
517
- class: "code-format__wide",
518
- title: i("sequence", "流水策略")
519
- }, null, 8, ["title"]),
520
- w("label", mt, [T(j(i("sequence-length", "流水长度")), 1), E(N(d), {
521
- value: n.value.sequencePolicy.sequenceLength ?? void 0,
522
- type: "number",
523
- disabled: !e.editable,
524
- "onUpdate:value": c[0] ||= (e) => n.value.sequencePolicy.sequenceLength = de(e)
525
- }, null, 8, ["value", "disabled"])]),
526
- w("label", ht, [T(j(i("reset", "计数周期")), 1), E(N(v), {
527
- value: n.value.sequencePolicy.resetPolicy,
528
- "onUpdate:value": c[1] ||= (e) => n.value.sequencePolicy.resetPolicy = e,
529
- disabled: !e.editable,
530
- options: l("reset", {
531
- NONE: "持续计数",
532
- DAY: "每天重置",
533
- MONTH: "每月重置",
534
- YEAR: "每年重置"
535
- })
536
- }, null, 8, [
537
- "value",
538
- "disabled",
539
- "options"
540
- ])]),
541
- w("details", G, [w("summary", null, [T(j(i("sequence-advanced", "流水高级设置")), 1), w("span", null, " · " + j(ue.value), 1)]), w("div", K, [
542
- w("label", gt, [T(j(i("start", "起始值")), 1), E(N(d), {
543
- value: n.value.sequencePolicy.startValue ?? void 0,
544
- type: "number",
545
- disabled: !e.editable,
546
- "onUpdate:value": c[2] ||= (e) => n.value.sequencePolicy.startValue = de(e)
547
- }, null, 8, ["value", "disabled"])]),
548
- w("label", _t, [T(j(i("step", "递增步长")), 1), E(N(d), {
549
- value: n.value.sequencePolicy.stepValue ?? void 0,
550
- type: "number",
551
- disabled: !e.editable,
552
- "onUpdate:value": c[3] ||= (e) => n.value.sequencePolicy.stepValue = de(e)
553
- }, null, 8, ["value", "disabled"])]),
554
- w("label", vt, [
555
- T(j(i("maximum", "流水上限")), 1),
556
- E(N(d), {
557
- value: n.value.sequencePolicy.maxValue ?? void 0,
558
- type: "number",
559
- disabled: !e.editable,
560
- "onUpdate:value": c[4] ||= (e) => n.value.sequencePolicy.maxValue = de(e)
561
- }, null, 8, ["value", "disabled"]),
562
- _.value ? (k(), C("span", q, j(_.value), 1)) : S("v-if", !0)
563
- ]),
564
- w("label", J, [T(j(i("overflow", "达到上限后")), 1), E(N(v), {
565
- value: n.value.sequencePolicy.overflowPolicy,
566
- "onUpdate:value": c[5] ||= (e) => n.value.sequencePolicy.overflowPolicy = e,
567
- disabled: !e.editable,
568
- options: l("overflow", {
569
- ERROR: "拒绝生成",
570
- RESET: "从起点重新尝试"
571
- })
572
- }, null, 8, [
573
- "value",
574
- "disabled",
575
- "options"
576
- ])])
577
- ])])
578
- ])) : S("v-if", !0)
579
- ]));
580
- }
581
- }), [["__scopeId", "data-v-cccc510e"]]), bt = Symbol("module-runtime-activation-refresh");
582
- function xt(e, t = m) {
583
- let n = e.status === "PENDING" || e.installedRevision !== e.desiredRevision;
584
- return { message: {
585
- text: e.status === "UNTRACKED" ? t.t("platform.screen.moduleRuntimeActivation.no-module-runtime-activation-has-been-recorded", "尚无模块运行配置生效记录") : e.status === "FAILED" ? t.t("platform.screen.moduleRuntimeActivation.module-runtime-configuration-saved-activation-failed", "模块运行配置已保存,生效失败") : e.status === "PENDING" ? t.t("platform.screen.moduleRuntimeActivation.module-runtime-configuration-saved-activation-is-in-progress", "模块运行配置已保存,正在生效") : e.installedRevision === e.desiredRevision ? e.status === "INACTIVE" ? t.t("platform.screen.moduleRuntimeActivation.module-runtime-configuration-activated-business-runtime-entry-points-are-disabled", "模块运行配置已生效,业务运行入口已停用") : t.t("platform.screen.moduleRuntimeActivation.module-runtime-configuration-activated", "模块运行配置已生效") : t.t("platform.screen.moduleRuntimeActivation.module-runtime-configuration-saved-this-node-has-not-confirmed-activation", "模块运行配置已保存,当前节点尚未确认生效"),
586
- type: e.status === "FAILED" ? "WARNING" : n || e.status === "UNTRACKED" ? "INFO" : "SUCCESS"
587
- } };
588
- }
589
- //#endregion
590
- //#region src/views/ModuleRuntimeActivationStatus.vue?vue&type=script&setup=true&lang.ts
591
- var St = ["aria-label"], Ct = { class: "module-runtime-activation__summary" }, Y = { class: "module-runtime-activation__label" }, X = { class: "module-runtime-activation__guidance" }, wt = { class: "module-runtime-activation__actions" }, Tt = { class: "module-runtime-activation__details" }, Et = { class: "module-runtime-activation__scope" }, Dt = { key: 0 }, Ot = {
592
- key: 1,
593
- class: "module-runtime-activation__failure"
594
- }, kt = { key: 2 }, At = {
595
- key: 3,
596
- class: "module-runtime-activation__versions"
597
- }, jt = /*#__PURE__*/ xe(/* @__PURE__ */ Be({
598
- __name: "ModuleRuntimeActivationStatus",
599
- props: {
600
- moduleAlias: {},
601
- reloadKey: {}
602
- },
603
- setup(e, { expose: t }) {
604
- let n = u(), r = e, i = ee({ moduleAlias: "platform.module" }), a = A(), o = A(!1), s = A(!1), c = A(!1), l = 0, te = !0, d, f = b(() => {
605
- let e = a.value;
606
- return !(!e || e.status === "UNTRACKED" || e.status === "FAILED" || e.status !== "PENDING" && e.installedRevision === e.desiredRevision);
607
- }), m = b(() => c.value || a.value?.status === "FAILED" || f.value), ne = b(() => c.value ? n.t("platform.screen.ModuleRuntimeActivationStatus.unknown-status", "状态未知") : a.value?.status === "FAILED" ? n.t("platform.screen.ModuleRuntimeActivationStatus.activation-failed", "生效失败") : n.t("platform.screen.ModuleRuntimeActivationStatus.applying-changes", "正在应用修改")), re = b(() => c.value ? "NEUTRAL" : a.value?.status === "FAILED" ? "DANGER" : "WARNING"), ie = b(() => c.value ? n.t("platform.screen.ModuleRuntimeActivationStatus.cannot-check-the-status-right-now-try-again-later", "暂时无法查询,请稍后重试。") : a.value?.status === "FAILED" ? n.t("platform.screen.ModuleRuntimeActivationStatus.the-changes-were-saved-but-activation-failed", "修改已保存,但未能生效。") : n.t("platform.screen.ModuleRuntimeActivationStatus.this-notice-will-close-when-activation-completes", "完成后将自动关闭提示。")), ae = b(() => a.value?.desiredRevision != null && (a.value.status === "FAILED" || a.value.status === "PENDING" || a.value.installedRevision !== a.value.desiredRevision) && i.can("retryRuntimeActivation") === !0);
608
- Xe(() => [r.moduleAlias, r.reloadKey], () => {
609
- l++, a.value = void 0, s.value = !1, _();
610
- }, { immediate: !0 });
611
- function g() {
612
- clearTimeout(d), d = void 0;
613
- }
614
- function oe() {
615
- g(), te && f.value && !c.value && (d = setTimeout(() => void _(), 2e3));
616
- }
617
- Ke(() => {
618
- te = !1, l++, g();
619
- }), We(() => {
620
- te || (te = !0, s.value = !1, _());
621
- }), O(() => {
622
- te = !1, l++, g();
623
- });
624
- async function _() {
625
- if (!te || s.value) return;
626
- g();
627
- let e = ++l, t = r.moduleAlias;
628
- c.value = !1, o.value = !0;
629
- try {
630
- let r = await i.http.request({
631
- method: "GET",
632
- path: `/platform.module/${encodeURIComponent(t)}/runtime/activation`
633
- });
634
- if (e === l) return a.value = r, xt(r, n);
635
- } catch {
636
- if (e !== l) return;
637
- c.value = !0;
638
- } finally {
639
- e === l && (o.value = !1, oe());
640
- }
641
- }
642
- async function se() {
643
- if (!ae.value || s.value) return;
644
- g();
645
- let e = ++l, t = r.moduleAlias, o = a.value.desiredRevision;
646
- s.value = !0;
647
- try {
648
- let n = await i.http.request({
649
- method: "POST",
650
- path: `/platform.module/${encodeURIComponent(t)}/runtime/activation/retry?expectedRevision=${o}`
651
- });
652
- e === l && (a.value = pe(n), c.value = !1);
653
- } catch (t) {
654
- if (e !== l) return;
655
- ye(t, {
656
- language: n,
657
- source: "runtime-activation",
658
- phase: "action"
659
- }), s.value = !1, await _();
660
- } finally {
661
- e === l && (s.value = !1, oe());
662
- }
663
- }
664
- return t({ refresh: _ }), (t, r) => m.value ? (k(), C("section", {
665
- key: 0,
666
- class: "module-runtime-activation",
667
- "aria-label": N(n).t("platform.screen.ModuleRuntimeActivationStatus.module-runtime-configuration-activation-status", "模块运行配置生效状态"),
668
- "aria-live": "polite"
669
- }, [w("div", Ct, [
670
- w("span", Y, j(N(n).t("platform.screen.ModuleRuntimeActivationStatus.runtime-configuration", "运行配置")), 1),
671
- E(N(p), {
672
- enabled: !0,
673
- "enabled-label": ne.value,
674
- "enabled-tone": re.value
675
- }, null, 8, ["enabled-label", "enabled-tone"]),
676
- w("span", X, j(ie.value), 1)
677
- ]), w("div", wt, [
678
- ae.value ? (k(), x(N(h), {
679
- key: 0,
680
- density: "compact",
681
- disabled: o.value || s.value,
682
- loading: s.value,
683
- onClick: se
684
- }, {
685
- default: P(() => [T(j(N(n).t("platform.screen.ModuleRuntimeActivationStatus.retry-activation", "重试生效")), 1)]),
686
- _: 1
687
- }, 8, ["disabled", "loading"])) : S("v-if", !0),
688
- c.value ? (k(), x(N(h), {
689
- key: 1,
690
- density: "compact",
691
- disabled: o.value || s.value,
692
- "icon-name": "reload",
693
- onClick: _
694
- }, {
695
- default: P(() => [T(j(N(n).t("platform.screen.ModuleRuntimeActivationStatus.check-again", "重新查询")), 1)]),
696
- _: 1
697
- }, 8, ["disabled"])) : S("v-if", !0),
698
- (k(), x(N(Ee), {
699
- key: e.moduleAlias,
700
- placement: "bottomRight"
701
- }, {
702
- content: P(() => [w("div", Tt, [
703
- w("strong", null, j(N(n).t("platform.screen.ModuleRuntimeActivationStatus.diagnostics", "诊断信息")), 1),
704
- w("p", Et, j(N(n).t("platform.screen.ModuleRuntimeActivationStatus.activation-status-of-the-module-runtime-configuration", "模块运行配置的生效情况")), 1),
705
- c.value ? (k(), C("p", Dt, j(N(n).t("platform.screen.ModuleRuntimeActivationStatus.failed-to-check-the-status-check-again", "状态查询失败,请重新查询。")), 1)) : a.value?.status === "FAILED" ? (k(), C("p", Ot, j(a.value.failureMessage || N(n).t("platform.screen.ModuleRuntimeActivationStatus.no-failure-reason-is-available-retry-or-contact-an-administrator", "暂未提供失败原因,请重试或联系管理员。")), 1)) : f.value ? (k(), C("p", kt, j(N(n).t("platform.screen.ModuleRuntimeActivationStatus.the-service-is-loading-the-latest-configuration-the-status-will", "服务正在加载最新配置,状态将自动更新。")), 1)) : S("v-if", !0),
706
- a.value ? (k(), C("dl", At, [
707
- w("dt", null, j(N(n).t("platform.screen.ModuleRuntimeActivationStatus.configuration-revision", "配置版本")), 1),
708
- w("dd", null, j(a.value.desiredRevision ?? "—"), 1),
709
- w("dt", null, j(N(n).t("platform.screen.ModuleRuntimeActivationStatus.loaded-revision", "已加载版本")), 1),
710
- w("dd", null, j(a.value.installedRevision ?? "—"), 1)
711
- ])) : S("v-if", !0),
712
- E(N(h), {
713
- density: "compact",
714
- emphasis: "quiet",
715
- "icon-name": "reload",
716
- disabled: o.value || s.value,
717
- onClick: _
718
- }, {
719
- default: P(() => [T(j(N(n).t("platform.screen.ModuleRuntimeActivationStatus.refresh-status", "刷新状态")), 1)]),
720
- _: 1
721
- }, 8, ["disabled"])
722
- ])]),
723
- default: P(() => [E(N(h), {
724
- density: "compact",
725
- emphasis: "quiet",
726
- title: N(n).t("platform.screen.WorkbenchAssistantPanel.show-diagnostics", "查看诊断信息")
727
- }, {
728
- default: P(() => [T(j(a.value?.status === "FAILED" ? N(n).t("platform.screen.ModuleRuntimeActivationStatus.view-reason", "查看原因") : N(n).t("platform.screen.ModuleRuntimeActivationStatus.diagnostics", "诊断信息")), 1)]),
729
- _: 1
730
- }, 8, ["title"])]),
731
- _: 1
732
- }))
733
- ])], 8, St)) : S("v-if", !0);
734
- }
735
- }), [["__scopeId", "data-v-35af1777"]]), Mt = { class: "code-config" }, Nt = {
736
- key: 0,
737
- class: "code-config__error",
738
- role: "alert"
739
- }, Pt = {
740
- key: 1,
741
- role: "status"
742
- }, Ft = { class: "code-config__content" }, It = {
743
- key: 2,
744
- class: "code-config__unavailable"
745
- }, Lt = {
746
- key: 0,
747
- class: "code-config__actions"
748
- }, Rt = {
749
- key: 4,
750
- class: "code-config__overview"
751
- }, zt = { class: "code-config__directory-fields" }, Bt = { class: "code-config__field" }, Vt = {
752
- key: 0,
753
- class: "code-config__field"
754
- }, Ht = {
755
- key: 0,
756
- class: "code-config__binding-summary"
757
- }, Ut = { class: "code-config__identity" }, Wt = { class: "code-config__binding-fields" }, Gt = { class: "code-config__field" }, Kt = { class: "code-config__field" }, qt = {
758
- key: 0,
759
- class: "code-config__actions"
760
- }, Jt = { key: 1 }, Yt = {
761
- key: 0,
762
- class: "code-config__table-control"
763
- }, Xt = { class: "code-config__cell-label" }, Zt = { key: 1 }, Qt = { key: 1 }, $t = { key: 1 }, en = {
764
- key: 4,
765
- class: "code-config__row-actions"
766
- }, tn = {
767
- key: 1,
768
- role: "status"
769
- }, nn = {
770
- key: 2,
771
- class: "code-config__editor-content"
772
- }, rn = { class: "code-config__editor-main" }, an = { class: "code-config__basic" }, on = { class: "code-config__field" }, sn = { class: "code-config__field" }, cn = {
773
- key: 0,
774
- class: "code-config__muted"
775
- }, ln = { key: 0 }, un = { class: "code-config__checks code-config__policy-options" }, dn = {
776
- key: 0,
777
- class: "code-config__policy-option"
778
- }, fn = { class: "code-config__policy-option" }, pn = ["aria-label"], mn = { class: "code-config__muted" }, hn = { class: "code-config__preview" }, gn = { class: "code-config__preview-heading" }, _n = ["aria-label"], vn = {
779
- key: 2,
780
- class: "code-config__muted"
781
- }, yn = {
782
- key: 0,
783
- class: "code-config__trial-extra"
784
- }, bn = { class: "code-config__field" }, xn = { class: "code-config__cell-label" }, Sn = { class: "code-config__trial-fields" }, Cn = {
785
- key: 0,
786
- class: "code-config__field"
787
- }, wn = {
788
- key: 1,
789
- class: "code-config__muted"
790
- }, Tn = ["aria-label"], En = /*@__PURE__*/ Be({
791
- name: "CodeConfigurationView",
792
- __name: "CodeConfigurationView",
793
- props: {
794
- moduleAlias: {},
795
- moduleTitle: {},
796
- embedded: { type: Boolean }
797
- },
798
- setup(e) {
799
- let p = e, m = u(), h = (e, t) => m.t(`platform.code.config.${e}`, t);
800
- function pe(e) {
801
- return e instanceof le ? a(e, m) : ve(Se(e), m);
802
- }
803
- let ge = ee({ moduleAlias: "platform.code_rule" }), xe = t(), Ee = A(), Me = b(() => {
804
- switch (Ee.value) {
805
- case "no-model": return h("reason.no-model", "尚未关联业务数据模型,请先配置模型,再设置编号规则。");
806
- case "no-fields": return h("reason.no-fields", "当前数据模型没有可用于编号的字段,请先检查字段配置。");
807
- case "not-declared": return h("reason.not-declared", "该静态模块尚未声明可配置的编号字段,需由开发者在业务模型中声明。");
808
- default: return p.moduleAlias ? h("reason.unavailable", "当前模块没有可配置的编号字段,请返回模块管理检查配置。") : h("no-modules", "没有可配置业务编码的模块。");
809
- }
810
- });
811
- function Be() {
812
- let e = p.moduleAlias ?? L.value;
813
- e && xe?.openPage(n(Pe, {
814
- moduleAlias: e,
815
- moduleTitle: p.moduleTitle ?? Y.value?.moduleTitle,
816
- governanceTab: "metadata"
817
- }));
818
- }
819
- let D = r(), We = A(D?.value?.tenantId ?? ""), Ke = A(0), O = A(!1), M = b(() => !!We.value), Je = b(() => We.value && D?.value?.system ? s(ge.http, { "X-MuYun-Tenant-Id": We.value }) : ge.http), Qe = b(() => Ie(Je.value, m)), $e = b(() => D?.value?.system ? f({
820
- http: ge.http,
821
- language: m,
822
- moduleAlias: "iam.tenant",
823
- runtimeAccess: "REFERENCE"
824
- }) : void 0), et = b(() => M.value ? f({
825
- http: Je.value,
826
- language: m,
827
- moduleAlias: "iam.organization",
828
- runtimeAccess: "REFERENCE"
829
- }) : void 0), F = b(() => M.value && ge.can("saveTree") === !0), tt = b(() => ge.can("configureBinding") === !0), I = A([]), L = A(p.moduleAlias ?? ""), nt = A(""), rt = b(() => {
830
- let e = /* @__PURE__ */ new Map();
831
- for (let t of I.value) t.fields.length && (e.has(t.moduleAlias) || e.set(t.moduleAlias, {
832
- id: t.moduleAlias,
833
- title: Ce(t.moduleTitle || t.moduleAlias, t.moduleTitleText, m),
834
- code: t.moduleAlias
835
- }));
836
- return [...e.values()];
837
- }), it = b(() => M.value && !p.moduleAlias), at = b(() => I.value.filter((e) => e.moduleAlias === L.value)), ot = A(""), R = A(""), z = A([]), B = A(), st = A(""), V = A(), ct = A(""), H = A(!1), lt = A(!1), U = A(!1), ut = A(!1), dt = A(!1), ft = A([]), W = A(""), pt = A(""), mt = A(), ht = A(), G = A(""), K = A(), gt = A(), _t = A({}), vt = A(""), q = A("NORMAL"), J = A("SAVE"), xt = A(), St = Ve(bt, void 0), Ct = (e) => `${e.moduleAlias}/${e.entityAlias}`, Y = b(() => I.value.find((e) => Ct(e) === ot.value)), X = b(() => Y.value?.fields.find((e) => e.fieldName === R.value)), wt = b(() => [h(`enum.${q.value}`, q.value === "PRIMARY" ? "主编码" : "业务编码"), h(`enum.${J.value}`, J.value === "SAVE" ? "首次保存" : "业务操作时生成")].join(" · ")), Tt = b(() => !!B.value && Le(B.value)), Et = b(() => [Tt.value && B.value?.linkedUpdate ? h("linked-short", "来源变化时换号") : "", B.value?.allowRecycle ? h("recycle-short", "旧号可复用") : ""].filter(Boolean).join(" · ")), Dt = b(() => z.value.filter((e) => e.fieldName === R.value)), Ot = b(() => Dt.value.map((e) => ({ ...e }))), kt = A({}), At = 0;
838
- Xe(() => [Je.value, Dt.value.map((e) => e.orgScopeType === "ORG" ? e.orgScopeId : "").join(",")], async ([e]) => {
839
- let t = ++At;
840
- kt.value = {};
841
- let n = [...new Set(Dt.value.filter((e) => e.orgScopeType === "ORG").map((e) => e.orgScopeId).filter((e) => !!e))];
842
- if (M.value && n.length) try {
843
- let r = await te(e, { moduleAlias: "iam.organization" }).translate(n);
844
- t === At && (kt.value = Object.fromEntries(r.records.map((e) => [String(e.id), we(e, "title", m) ?? h("specific-org", "指定机构")])));
845
- } catch {}
846
- });
847
- function En(e) {
848
- return e.orgScopeType === "GLOBAL" ? h("all-orgs", "全部机构") : kt.value[e.orgScopeId ?? ""] ?? h("specific-org", "指定机构");
849
- }
850
- let Dn = b(() => [
851
- {
852
- fieldName: "title",
853
- title: h("rule-title", "规则名称"),
854
- width: 150
855
- },
856
- {
857
- fieldName: "scope",
858
- title: h("scope", "适用范围"),
859
- width: 152
860
- },
861
- {
862
- fieldName: "organization",
863
- title: h("organization", "适用组织"),
864
- width: 120
865
- },
866
- {
867
- fieldName: "effectiveFrom",
868
- title: h("effective-from-short", "开始生效时间"),
869
- width: 180
870
- },
871
- {
872
- fieldName: "effectiveTo",
873
- title: h("effective-to-short", "结束生效时间"),
874
- width: 180
875
- },
876
- {
877
- fieldName: "enabled",
878
- title: h("enable-rule", "启用规则"),
879
- width: 64
880
- },
881
- {
882
- fieldName: "actions",
883
- title: h("actions", "操作"),
884
- width: 112
885
- }
886
- ]), On = b(() => V.value != null && JSON.stringify(V.value) !== ct.value), kn = b(() => Y.value?.source === "DYNAMIC" && X.value?.role != null && (q.value !== X.value.role || J.value !== (X.value.trigger ?? "SAVE"))), An = b(() => On.value || kn.value || B.value != null && JSON.stringify(B.value) !== st.value), Z = b(() => H.value || U.value);
887
- Te(() => h("title", "业务编码"), () => An.value, () => Z.value);
888
- let jn = b(() => F.value && !Z.value), Mn = b(() => Y.value ? Ne(Y.value, B.value) : []), Nn = b(() => Y.value?.sources.filter((e) => !Mn.value.some((t) => t.fieldName === e.fieldName)) ?? []), Pn = b(() => [...Mn.value, ...Nn.value.filter((e) => ft.value.includes(e.fieldName))]), Fn = 0, In, Ln, Rn = b(() => O.value && B.value?.mode !== "MANUAL" && !!B.value && !!Y.value && !Z.value && ge.can("preview")), zn = b(() => {
889
- if (!Rn.value || !B.value) return "";
890
- let e = B.value;
891
- return JSON.stringify([
892
- e.id,
893
- e.moduleAlias,
894
- e.entityAlias,
895
- e.fieldName,
896
- e.fieldRole,
897
- e.fieldTrigger,
898
- e.mode,
899
- e.linkedUpdate,
900
- e.orgScopeId,
901
- e.segments,
902
- e.sequencePolicy,
903
- Pn.value.map((e) => [
904
- e.fieldName,
905
- e.type,
906
- _t.value[e.fieldName]
907
- ]),
908
- vt.value
909
- ]);
910
- });
911
- function Bn() {
912
- In != null && clearTimeout(In), In = void 0, dt.value = !1, Ln?.abort(), Ln = void 0, ut.value = !1, ++Fn;
913
- }
914
- Xe(zn, (e) => {
915
- Bn(), K.value = void 0, pt.value = "", e && (dt.value = !0, In = setTimeout(() => {
916
- ur();
917
- }, 500));
918
- }, { flush: "sync" }), Ge(Bn);
919
- let Vn = (e) => Object.entries(e).map(([e, t]) => ({
920
- value: e,
921
- label: h(`enum.${e}`, t)
922
- })), Q = 0;
923
- function $(e) {
924
- V.value = void 0, ct.value = "", vt.value = "", e || (O.value = !1), B.value = e == null ? void 0 : JSON.parse(JSON.stringify(e)), X.value?.role || (q.value = e?.fieldRole ?? "NORMAL", J.value = e?.fieldTrigger ?? "SAVE"), st.value = B.value == null ? "" : JSON.stringify(B.value);
925
- }
926
- Xe([q, J], () => {
927
- O.value && !X.value?.role && B.value && (B.value.fieldRole = q.value, B.value.fieldTrigger = J.value);
928
- }, { flush: "sync" });
929
- function Hn() {
930
- q.value = X.value?.role ?? "NORMAL", J.value = X.value?.trigger ?? "SAVE";
931
- }
932
- function Un() {
933
- return An.value ? (W.value = h("unsaved", "请先保存或取消当前修改。"), !1) : !Z.value;
934
- }
935
- function Wn(e) {
936
- Un() && (R.value = e, _t.value = {}, ft.value = [], Hn(), $(Dt.value[0]), W.value = "", G.value = "");
937
- }
938
- async function Gn(e) {
939
- if (!Un() || !rt.value.some((t) => t.id === e)) return;
940
- L.value = e, nt.value = "", G.value = "";
941
- let t = at.value.find((e) => e.fields.length) ?? at.value[0];
942
- await Kn(t ? Ct(t) : "");
943
- }
944
- async function Kn(e) {
945
- if (!Un()) return;
946
- let t = ++Q;
947
- ot.value = e, _t.value = {}, ft.value = [], R.value = "", z.value = [], $(), W.value = "", H.value = !0;
948
- try {
949
- let e = Y.value;
950
- if (!e) return;
951
- let n = M.value ? await Qe.value.rules(e) : [];
952
- if (t !== Q) return;
953
- z.value = n, R.value = e.fields.find((e) => e.role != null)?.fieldName ?? e.fields[0]?.fieldName ?? "", Hn(), $(Dt.value[0]);
954
- } catch (e) {
955
- t === Q && (W.value = pe(e));
956
- } finally {
957
- t === Q && (H.value = !1);
958
- }
959
- }
960
- async function qn() {
961
- let e = ++Q;
962
- if (lt.value = !1, !M.value) {
963
- H.value = !1, W.value = "";
964
- return;
965
- }
966
- H.value = !0, Ee.value = void 0, W.value = "";
967
- try {
968
- let t = await Qe.value.targets(p.moduleAlias);
969
- if (e !== Q) return;
970
- if (I.value = t, p.moduleAlias && !t.some((e) => e.fields.length)) {
971
- try {
972
- let t = await ke(Je.value, p.moduleAlias);
973
- if (e !== Q) return;
974
- Ee.value = t.reason;
975
- } catch {}
976
- if (e !== Q) return;
977
- }
978
- H.value = !1, rt.value.some((e) => e.id === L.value) || (L.value = "");
979
- let n = at.value.find((e) => e.fields.length) ?? at.value[0];
980
- await Kn(n ? Ct(n) : "");
981
- } catch (t) {
982
- e === Q && (W.value = pe(t), lt.value = !0);
983
- } finally {
984
- e === Q && (H.value = !1);
985
- }
986
- }
987
- Xe(() => p.moduleAlias, () => {
988
- L.value = p.moduleAlias ?? "", nt.value = "", $(), R.value = "", ot.value = "", I.value = [], z.value = [], qn();
989
- }, { immediate: !0 }), Xe(() => [
990
- D?.value?.userId,
991
- D?.value?.tenantId,
992
- D?.value?.system
993
- ], () => {
994
- We.value = D?.value?.tenantId ?? "", L.value = p.moduleAlias ?? "", nt.value = "", $(), I.value = [], z.value = [], R.value = "", ot.value = "", qn();
995
- });
996
- async function Jn(e) {
997
- Un() && (We.value = e ?? "", L.value = p.moduleAlias ?? "", nt.value = "", I.value = [], z.value = [], R.value = "", ot.value = "", $(), await qn());
998
- }
999
- function Yn(e, t, n) {
1000
- t && n === 1 && e.length === 1 && !We.value && Jn(String(e[0].id));
1001
- }
1002
- async function Xn() {
1003
- return Z.value ? !1 : !An.value || await ue({
1004
- title: h("discard-rule", "放弃未保存的编号规则修改?"),
1005
- content: h("discard-rule-help", "当前修改尚未保存,放弃后将恢复已保存的规则。"),
1006
- okText: h("discard", "放弃修改"),
1007
- danger: !0
1008
- }, m);
1009
- }
1010
- function Zn() {
1011
- er(), O.value = !1;
1012
- }
1013
- function Qn(e) {
1014
- Un() && (Hn(), $(e), O.value = !0, W.value = "", G.value = "");
1015
- }
1016
- function $n() {
1017
- if (Un() && Y.value && X.value) {
1018
- let e = Oe(Y.value, X.value);
1019
- e.fieldRole = q.value, e.fieldTrigger = J.value, $(e), O.value = !0, W.value = "", G.value = "";
1020
- }
1021
- }
1022
- function er() {
1023
- Hn(), $(B.value?.id ? z.value.find((e) => e.id === B.value?.id) : void 0), W.value = "";
1024
- }
1025
- function tr() {
1026
- Hn(), W.value = "", G.value = "";
1027
- }
1028
- async function nr() {
1029
- if (Y.value && X.value && !U.value) {
1030
- U.value = !0, W.value = "", G.value = "";
1031
- try {
1032
- let e = await Qe.value.bind(Y.value, X.value, q.value, J.value);
1033
- I.value = I.value.map((t) => Ct(t) === Ct(e) ? e : t), Hn(), St ? await St(e.moduleAlias) : await xt.value?.refresh(), G.value = h("binding-saved", "字段配置已保存,请查看运行态生效状态。");
1034
- } catch (e) {
1035
- W.value = pe(e), e instanceof le || ye(e, {
1036
- language: m,
1037
- source: "business-code",
1038
- phase: "action"
1039
- });
1040
- } finally {
1041
- U.value = !1;
1042
- }
1043
- }
1044
- }
1045
- async function rr(e) {
1046
- let t = Y.value?.source === "DYNAMIC" && !X.value?.role, n = await Qe.value.save(e);
1047
- if (z.value = [...z.value.filter((e) => e.id !== n.id), n], t && n.enabled) try {
1048
- I.value = await Qe.value.targets(p.moduleAlias), Hn(), St ? await St(n.moduleAlias) : await xt.value?.refresh();
1049
- } catch {
1050
- W.value = h("saved-refresh-failed", "规则已保存,但状态刷新失败,请刷新页面确认。");
1051
- }
1052
- return n;
1053
- }
1054
- async function ir() {
1055
- if (B.value && !U.value) {
1056
- U.value = !0, W.value = "", G.value = "";
1057
- try {
1058
- let e = await rr(B.value);
1059
- $(e), G.value = e.enabled ? h("active", "规则已启用,后续业务按适用范围匹配规则。") : h("saved-disabled", "规则已保存,可在规则列表中启用。");
1060
- } catch (e) {
1061
- W.value = pe(e), e instanceof le || ye(e, {
1062
- language: m,
1063
- source: "business-code",
1064
- phase: "action"
1065
- });
1066
- } finally {
1067
- U.value = !1, await He(), ht.value?.scrollIntoView?.({
1068
- block: "nearest",
1069
- behavior: "smooth"
1070
- });
1071
- }
1072
- }
1073
- }
1074
- async function ar(e, t) {
1075
- if (!V.value && Un() && F.value && (!t || X.value?.role || tt.value)) {
1076
- U.value = !0, W.value = "";
1077
- try {
1078
- let n = await rr({
1079
- ...e,
1080
- ...!X.value?.role && t ? {
1081
- fieldRole: q.value,
1082
- fieldTrigger: J.value
1083
- } : {},
1084
- enabled: t
1085
- });
1086
- B.value?.id === n.id && $(n), G.value = n.enabled ? h("active", "规则已启用,后续业务按适用范围匹配规则。") : h("rule-stopped", "规则已停用,已有编码保持不变。");
1087
- } catch (e) {
1088
- W.value = pe(e);
1089
- } finally {
1090
- U.value = !1;
1091
- }
1092
- }
1093
- }
1094
- function or(e) {
1095
- Un() && ($(), V.value = JSON.parse(JSON.stringify(e)), ct.value = JSON.stringify(V.value), W.value = "", G.value = "");
1096
- }
1097
- function sr() {
1098
- V.value = void 0, ct.value = "", W.value = "";
1099
- }
1100
- async function cr() {
1101
- if (V.value && F.value && !Z.value) {
1102
- U.value = !0, W.value = "", G.value = "";
1103
- try {
1104
- $(await rr(V.value)), G.value = h("usage-saved", "适用配置已保存。");
1105
- } catch (e) {
1106
- W.value = pe(e);
1107
- } finally {
1108
- U.value = !1;
1109
- }
1110
- }
1111
- }
1112
- function lr(e) {
1113
- B.value && (B.value.mode = e, e !== "MANUAL" && B.value.segments.length === 0 && (B.value.segments = [je(), je("SEQUENCE")], B.value.sequencePolicy = Re()));
1114
- }
1115
- async function ur(e = !1) {
1116
- if (!B.value || !Y.value || !Rn.value) return;
1117
- Bn();
1118
- let t = ++Fn, n = new AbortController();
1119
- Ln = n, ut.value = !0, pt.value = "", K.value = void 0;
1120
- try {
1121
- let r = await Qe.value.preview(B.value, Ae(Pn.value, _t.value, m), vt.value.trim() === "" ? B.value.sequencePolicy?.startValue ?? 1 : Number(vt.value), n.signal);
1122
- t === Fn && (K.value = r, e && (await He(), t === Fn && gt.value?.scrollIntoView?.({
1123
- block: "nearest",
1124
- behavior: "smooth"
1125
- })));
1126
- } catch (r) {
1127
- t === Fn && !n.signal.aborted && (pt.value = pe(r), e && (await He(), t === Fn && (mt.value?.scrollIntoView?.({
1128
- block: "nearest",
1129
- behavior: "smooth"
1130
- }), mt.value?.focus({ preventScroll: !0 }))));
1131
- } finally {
1132
- t === Fn && (ut.value = !1, Ln = void 0);
1133
- }
1134
- }
1135
- return (t, n) => (k(), C("section", Mt, [
1136
- W.value && !O.value ? (k(), C("div", Nt, [E(N(oe), {
1137
- title: h("request-failed", "操作未完成"),
1138
- message: W.value
1139
- }, null, 8, ["title", "message"]), lt.value ? (k(), x(N(o), {
1140
- key: 0,
1141
- disabled: Z.value,
1142
- onClick: qn
1143
- }, {
1144
- default: P(() => [T(j(h("retry", "重试加载")), 1)]),
1145
- _: 1
1146
- }, 8, ["disabled"])) : S("v-if", !0)])) : S("v-if", !0),
1147
- G.value && !O.value ? (k(), C("p", Pt, j(G.value), 1)) : S("v-if", !0),
1148
- E(N(l), {
1149
- class: "code-config__layout",
1150
- "explorer-count": (N(D)?.system && $e.value ? 1 : 0) + +!!it.value,
1151
- editing: Z.value || An.value || !!V.value
1152
- }, {
1153
- default: P(() => [
1154
- N(D)?.system && $e.value ? (k(), x(N(se), {
1155
- key: 0,
1156
- collapsible: "",
1157
- title: h("tenant-short", "租户"),
1158
- "has-selection": !!We.value
1159
- }, {
1160
- default: P(() => [N(D)?.system && $e.value ? (k(), x(N(be), {
1161
- key: 0,
1162
- context: $e.value,
1163
- "selected-id": We.value || void 0,
1164
- "reload-key": Ke.value,
1165
- disabled: Z.value || An.value,
1166
- onSelect: n[0] ||= (e) => Jn(String(e.id)),
1167
- onDeselect: n[1] ||= (e) => Jn(),
1168
- onLoaded: Yn,
1169
- onRefresh: n[2] ||= (e) => Ke.value++
1170
- }, null, 8, [
1171
- "context",
1172
- "selected-id",
1173
- "reload-key",
1174
- "disabled"
1175
- ])) : S("v-if", !0)]),
1176
- _: 1
1177
- }, 8, ["title", "has-selection"])) : S("v-if", !0),
1178
- it.value ? (k(), x(N(se), {
1179
- key: 1,
1180
- collapsible: "",
1181
- title: h("module", "所属模块"),
1182
- "has-selection": !!L.value
1183
- }, {
1184
- default: P(() => [E(N(i), {
1185
- title: h("module", "所属模块"),
1186
- "refresh-disabled": Z.value || An.value,
1187
- "search-keyword": nt.value,
1188
- onRefresh: qn,
1189
- "onUpdate:searchKeyword": n[4] ||= (e) => nt.value = e
1190
- }, {
1191
- default: P(() => [E(N(fe), {
1192
- records: rt.value,
1193
- "selected-id": L.value || void 0,
1194
- keyword: nt.value,
1195
- "empty-description": h("no-modules", "没有可配置业务编码的模块。"),
1196
- onSelect: n[3] ||= (e) => Gn(String(e.id))
1197
- }, null, 8, [
1198
- "records",
1199
- "selected-id",
1200
- "keyword",
1201
- "empty-description"
1202
- ])]),
1203
- _: 1
1204
- }, 8, [
1205
- "title",
1206
- "refresh-disabled",
1207
- "search-keyword"
1208
- ])]),
1209
- _: 1
1210
- }, 8, ["title", "has-selection"])) : S("v-if", !0),
1211
- w("div", Ft, [M.value ? H.value ? (k(), x(N(c), {
1212
- key: 1,
1213
- spinning: !0
1214
- }, {
1215
- default: P(() => [w("p", null, j(h("loading", "正在读取编码配置…")), 1)]),
1216
- _: 1
1217
- })) : !W.value && rt.value.length === 0 ? (k(), C("div", It, [E(N(ie), { description: Me.value }, null, 8, ["description"]), N(xe) ? (k(), C("div", Lt, [Ee.value === "no-model" || Ee.value === "no-fields" ? (k(), x(N(o), {
1218
- key: 0,
1219
- type: "primary",
1220
- onClick: Be
1221
- }, {
1222
- default: P(() => [T(j(h("configure-model", "配置模型")), 1)]),
1223
- _: 1
1224
- })) : S("v-if", !0), E(N(o), { onClick: n[5] ||= (e) => N(xe).openRoute("/platform/module") }, {
1225
- default: P(() => [T(j(h("back-to-modules", "返回模块管理")), 1)]),
1226
- _: 1
1227
- })])) : S("v-if", !0)])) : !L.value && I.value.length ? (k(), x(N(ie), {
1228
- key: 3,
1229
- description: h("select-module", "选择模块后,配置业务对象的编码规则。")
1230
- }, null, 8, ["description"])) : L.value && at.value.length ? (k(), C("div", Rt, [E(N(i), {
1231
- class: "code-config__directory",
1232
- title: h("binding-title", "编码对象"),
1233
- "refresh-disabled": Z.value || An.value,
1234
- searchable: !1,
1235
- onRefresh: qn
1236
- }, {
1237
- actions: P(() => [!e.embedded && Y.value?.source === "DYNAMIC" ? (k(), x(jt, {
1238
- key: 0,
1239
- ref_key: "localActivation",
1240
- ref: xt,
1241
- "module-alias": Y.value.moduleAlias
1242
- }, null, 8, ["module-alias"])) : S("v-if", !0)]),
1243
- default: P(() => [w("div", zt, [
1244
- w("label", Bt, [T(j(h("entity", "业务对象")), 1), E(N(v), {
1245
- value: ot.value,
1246
- disabled: Z.value,
1247
- options: at.value.map((e) => ({
1248
- value: Ct(e),
1249
- label: e.title
1250
- })),
1251
- "onUpdate:value": n[6] ||= (e) => Kn(String(e))
1252
- }, null, 8, [
1253
- "value",
1254
- "disabled",
1255
- "options"
1256
- ])]),
1257
- Y.value?.fields.length ? (k(), C("label", Vt, [T(j(h("field", "编码字段")), 1), E(N(v), {
1258
- value: R.value,
1259
- disabled: Z.value,
1260
- options: Y.value?.fields.map((e) => ({
1261
- value: e.fieldName,
1262
- label: e.title
1263
- })) ?? [],
1264
- "onUpdate:value": n[7] ||= (e) => Wn(String(e))
1265
- }, null, 8, [
1266
- "value",
1267
- "disabled",
1268
- "options"
1269
- ])])) : S("v-if", !0),
1270
- Y.value && !X.value ? (k(), C(y, { key: 1 }, [E(N(ie), { description: h("reason.no-fields", "当前数据模型没有可用于编号的字段,请先检查字段配置。") }, null, 8, ["description"]), N(xe) && Y.value.source === "DYNAMIC" ? (k(), x(N(o), {
1271
- key: 0,
1272
- onClick: Be
1273
- }, {
1274
- default: P(() => [T(j(h("configure-model", "配置模型")), 1)]),
1275
- _: 1
1276
- })) : S("v-if", !0)], 64)) : S("v-if", !0),
1277
- X.value ? (k(), C(y, { key: 2 }, [Y.value?.source === "STATIC" ? (k(), C("div", Ht, [w("span", null, j(wt.value), 1), E(N(g), { label: h("binding-info", "字段设置说明") }, {
1278
- default: P(() => [w("p", null, j(h("java-declaration", "字段角色和生成时机由业务模型预设。")), 1), w("dl", Ut, [
1279
- w("dt", null, j(h("module", "所属模块")), 1),
1280
- w("dd", null, j(Y.value.moduleAlias), 1),
1281
- w("dt", null, j(h("entity", "业务对象")), 1),
1282
- w("dd", null, j(Y.value.entityAlias), 1),
1283
- w("dt", null, j(h("field", "编码字段")), 1),
1284
- w("dd", null, j(X.value.fieldName), 1)
1285
- ])]),
1286
- _: 1
1287
- }, 8, ["label"])])) : (k(), C("section", {
1288
- key: `${ot.value}/${R.value}`,
1289
- class: "code-config__binding"
1290
- }, [w("div", Wt, [
1291
- w("label", Gt, [T(j(h("role", "编码角色")), 1), E(N(v), {
1292
- value: q.value,
1293
- "onUpdate:value": n[8] ||= (e) => q.value = e,
1294
- disabled: Z.value || (X.value.role ? !tt.value : !F.value),
1295
- options: Vn({
1296
- NORMAL: "业务编码",
1297
- PRIMARY: "主编码"
1298
- })
1299
- }, null, 8, [
1300
- "value",
1301
- "disabled",
1302
- "options"
1303
- ])]),
1304
- w("label", Kt, [T(j(h("trigger", "生成时机")), 1), E(N(v), {
1305
- value: J.value,
1306
- "onUpdate:value": n[9] ||= (e) => J.value = e,
1307
- disabled: Z.value || (X.value.role ? !tt.value : !F.value),
1308
- options: Vn({
1309
- SAVE: "首次保存",
1310
- EXPLICIT: "业务操作时生成"
1311
- })
1312
- }, null, 8, [
1313
- "value",
1314
- "disabled",
1315
- "options"
1316
- ])]),
1317
- X.value.role && kn.value ? (k(), C("div", qt, [E(N(o), {
1318
- disabled: !tt.value || Z.value,
1319
- onClick: nr
1320
- }, {
1321
- default: P(() => [T(j(h("save-binding", "保存字段配置")), 1)]),
1322
- _: 1
1323
- }, 8, ["disabled"]), E(N(o), {
1324
- disabled: Z.value,
1325
- onClick: tr
1326
- }, {
1327
- default: P(() => [T(j(h("cancel-settings", "取消修改")), 1)]),
1328
- _: 1
1329
- }, 8, ["disabled"])])) : S("v-if", !0)
1330
- ])])), X.value ? (k(), x(N(de), {
1331
- key: 2,
1332
- title: h("rules", "编号规则"),
1333
- kind: "relation"
1334
- }, {
1335
- actions: P(() => [E(N(_), {
1336
- "icon-name": "plus",
1337
- title: h("new-rule", "新增规则"),
1338
- "aria-label": h("new-rule", "新增规则"),
1339
- disabled: !F.value || Z.value,
1340
- onClick: $n
1341
- }, null, 8, [
1342
- "title",
1343
- "aria-label",
1344
- "disabled"
1345
- ])]),
1346
- default: P(() => [E(N(he), {
1347
- class: "code-config__rules-table",
1348
- columns: Dn.value,
1349
- rows: Ot.value,
1350
- density: "compact"
1351
- }, {
1352
- cell: P(({ row: e, column: t }) => [t.fieldName === "title" ? (k(), x(N(o), {
1353
- key: 0,
1354
- type: "link",
1355
- class: "code-config__rule-name",
1356
- disabled: Z.value,
1357
- onClick: (t) => Qn(e)
1358
- }, {
1359
- default: P(() => [T(j(e.title), 1)]),
1360
- _: 2
1361
- }, 1032, ["disabled", "onClick"])) : t.fieldName === "scope" ? (k(), C(y, { key: 1 }, [V.value && V.value.id === e.id ? (k(), x(N(v), {
1362
- key: 0,
1363
- value: V.value.orgScopeType,
1364
- "onUpdate:value": n[10] ||= (e) => V.value.orgScopeType = e,
1365
- "aria-label": h("scope", "适用范围"),
1366
- disabled: !jn.value,
1367
- options: Vn({
1368
- GLOBAL: "当前租户全部组织",
1369
- ORG: "指定组织及其下级"
1370
- })
1371
- }, null, 8, [
1372
- "value",
1373
- "aria-label",
1374
- "disabled",
1375
- "options"
1376
- ])) : (k(), C("span", Jt, j(e.orgScopeType === "GLOBAL" ? h("all-orgs", "全部机构") : h("enum.ORG", "指定组织及其下级")), 1))], 64)) : t.fieldName === "organization" ? (k(), C(y, { key: 2 }, [V.value && V.value.id === e.id && V.value.orgScopeType === "ORG" ? (k(), C("label", Yt, [w("span", Xt, j(h("organization", "适用组织")), 1), et.value ? (k(), x(N(me), {
1377
- key: 0,
1378
- value: V.value.orgScopeId ?? void 0,
1379
- context: et.value,
1380
- mode: "tree",
1381
- disabled: !jn.value,
1382
- "onUpdate:value": n[11] ||= (e) => V.value.orgScopeId = e
1383
- }, null, 8, [
1384
- "value",
1385
- "context",
1386
- "disabled"
1387
- ])) : (k(), C("span", Zt, j(h("tenant-required", "请使用租户身份选择组织。")), 1))])) : (k(), C("span", Qt, j((V.value && V.value.id === e.id ? V.value.orgScopeType : e.orgScopeType) === "GLOBAL" ? "—" : En(e)), 1))], 64)) : t.fieldName === "effectiveFrom" || t.fieldName === "effectiveTo" ? (k(), C(y, { key: 3 }, [V.value && V.value.id === e.id ? (k(), x(N(d), {
1388
- key: 0,
1389
- value: V.value[t.fieldName],
1390
- "onUpdate:value": (e) => V.value[t.fieldName] = e,
1391
- "aria-label": t.title,
1392
- type: "datetime-local",
1393
- step: 60,
1394
- disabled: !jn.value
1395
- }, null, 8, [
1396
- "value",
1397
- "onUpdate:value",
1398
- "aria-label",
1399
- "disabled"
1400
- ])) : (k(), C("span", $t, j(N(_e)(e[t.fieldName], {
1401
- language: N(m),
1402
- precision: "minute",
1403
- emptyText: h("unlimited", "不限")
1404
- }).text), 1))], 64)) : t.fieldName === "actions" ? (k(), C("div", en, [V.value && V.value.id === e.id ? (k(), C(y, { key: 0 }, [E(N(o), {
1405
- type: "link",
1406
- disabled: !F.value || Z.value || !On.value,
1407
- onClick: cr
1408
- }, {
1409
- default: P(() => [T(j(h("save", "保存")), 1)]),
1410
- _: 1
1411
- }, 8, ["disabled"]), E(N(o), {
1412
- type: "link",
1413
- disabled: Z.value,
1414
- onClick: sr
1415
- }, {
1416
- default: P(() => [T(j(h("cancel-settings", "取消修改")), 1)]),
1417
- _: 1
1418
- }, 8, ["disabled"])], 64)) : (k(), x(N(o), {
1419
- key: 1,
1420
- type: "link",
1421
- class: "code-config__edit-usage",
1422
- "aria-label": h("edit-usage", "编辑适用配置") + ":" + e.title,
1423
- disabled: !F.value || Z.value,
1424
- onClick: (t) => or(e)
1425
- }, {
1426
- default: P(() => [T(j(h("edit", "编辑")), 1)]),
1427
- _: 1
1428
- }, 8, [
1429
- "aria-label",
1430
- "disabled",
1431
- "onClick"
1432
- ]))])) : t.fieldName === "enabled" ? (k(), x(N(ne), {
1433
- key: 5,
1434
- "aria-label": N(m).t("platform.code.config.rule-switch", "启用规则:{name}", { name: e.title }),
1435
- checked: e.enabled,
1436
- disabled: !F.value || Z.value || An.value || !!V.value || !e.enabled && !X.value.role && !tt.value,
1437
- onChange: (t) => ar(e, t)
1438
- }, null, 8, [
1439
- "aria-label",
1440
- "checked",
1441
- "disabled",
1442
- "onChange"
1443
- ])) : S("v-if", !0)]),
1444
- empty: P(() => [T(j(h("no-rules", "暂无编号规则")), 1)]),
1445
- _: 1
1446
- }, 8, ["columns", "rows"])]),
1447
- _: 1
1448
- }, 8, ["title"])) : S("v-if", !0)], 64)) : S("v-if", !0)
1449
- ])]),
1450
- _: 1
1451
- }, 8, ["title", "refresh-disabled"])])) : S("v-if", !0) : (k(), x(N(ie), {
1452
- key: 0,
1453
- description: h("select-tenant", "选择规则所属租户后,可维护该租户的编号规则。")
1454
- }, null, 8, ["description"]))])
1455
- ]),
1456
- _: 1
1457
- }, 8, ["explorer-count", "editing"]),
1458
- O.value ? (k(), x(N(re), {
1459
- key: 2,
1460
- open: O.value,
1461
- width: "wide",
1462
- "before-close": Xn,
1463
- onClose: Zn,
1464
- class: "code-config__editor",
1465
- title: B.value?.id ? h("rules", "编号规则") : h("create-rule-title", "新增编号规则"),
1466
- subtitle: [Y.value?.title, X.value?.title].filter(Boolean).join(" · ")
1467
- }, ze({
1468
- default: P(() => [W.value || G.value ? (k(), C("div", {
1469
- key: 0,
1470
- ref_key: "editorFeedback",
1471
- ref: ht
1472
- }, [W.value ? (k(), x(N(oe), {
1473
- key: 0,
1474
- title: h("request-failed", "操作未完成"),
1475
- message: W.value
1476
- }, null, 8, ["title", "message"])) : S("v-if", !0), G.value ? (k(), C("p", tn, j(G.value), 1)) : S("v-if", !0)], 512)) : S("v-if", !0), B.value ? (k(), C("div", nn, [w("div", { class: Ue(["code-config__editor-grid", { "code-config__editor-grid--manual": B.value.mode === "MANUAL" }]) }, [w("div", rn, [
1477
- w("div", an, [w("label", on, [T(j(h("rule-title", "规则名称")), 1), E(N(d), {
1478
- value: B.value.title,
1479
- "onUpdate:value": n[12] ||= (e) => B.value.title = e,
1480
- disabled: !jn.value
1481
- }, null, 8, ["value", "disabled"])]), w("label", sn, [T(j(h("mode", "编号方式")), 1), E(N(v), {
1482
- value: B.value.mode,
1483
- disabled: !jn.value,
1484
- options: Vn({
1485
- AUTO: "自动编号",
1486
- MANUAL: "人工编号",
1487
- AUTO_WITH_MANUAL_EDIT: "自动编号,允许人工调整"
1488
- }),
1489
- "onUpdate:value": n[13] ||= (e) => lr(e)
1490
- }, null, 8, [
1491
- "value",
1492
- "disabled",
1493
- "options"
1494
- ])])]),
1495
- B.value.mode === "MANUAL" ? (k(), C("p", cn, j(h("manual-description", "人工填写编号,无需设置编码格式。")), 1)) : S("v-if", !0),
1496
- Ze(E(yt, {
1497
- rule: B.value,
1498
- "onUpdate:rule": n[14] ||= (e) => B.value = e,
1499
- sources: Y.value?.sources ?? [],
1500
- trigger: X.value?.trigger ?? J.value,
1501
- editable: jn.value
1502
- }, null, 8, [
1503
- "rule",
1504
- "sources",
1505
- "trigger",
1506
- "editable"
1507
- ]), [[Ye, B.value.mode !== "MANUAL"]]),
1508
- (k(), C("details", {
1509
- key: B.value.id ?? "new",
1510
- class: "code-config__policy"
1511
- }, [w("summary", null, [T(j(h("numbering-policy", "编号策略")), 1), Et.value ? (k(), C("span", ln, " · " + j(Et.value), 1)) : S("v-if", !0)]), w("div", un, [Tt.value ? (k(), C("div", dn, [E(N(ce), {
1512
- checked: B.value.linkedUpdate,
1513
- "onUpdate:checked": n[15] ||= (e) => B.value.linkedUpdate = e,
1514
- disabled: !jn.value
1515
- }, {
1516
- default: P(() => [T(j(h("linked", "修改编号来源后自动换号")), 1)]),
1517
- _: 1
1518
- }, 8, ["checked", "disabled"]), E(N(g), { label: h("linked-help-title", "自动换号说明") }, {
1519
- default: P(() => [w("p", null, j(h("linked-help", "已生成编号后,修改参与编号的业务字段并保存,将重新生成整个编号;包含流水号时会重新取号。未勾选则保留原编号,修改其他字段不受影响。")), 1), w("p", null, j(h("linked-example", "例如编号由“采购类别 + 流水号”组成:类别从“设备”改为“耗材”,编号会从 SB-0001 换为 HC-0002(示例)。")), 1)]),
1520
- _: 1
1521
- }, 8, ["label"])])) : S("v-if", !0), w("div", fn, [E(N(ce), {
1522
- checked: B.value.allowRecycle,
1523
- "onUpdate:checked": n[16] ||= (e) => B.value.allowRecycle = e,
1524
- disabled: !jn.value
1525
- }, {
1526
- default: P(() => [T(j(h("recycle-short-label", "允许复用旧号")), 1)]),
1527
- _: 1
1528
- }, 8, ["checked", "disabled"]), E(N(g), { label: h("recycle-help-title", "旧号复用说明") }, {
1529
- default: P(() => [w("p", null, j(h("recycle-help", "记录彻底删除或更换编号后,释放的旧号允许再次分配。移入回收站仍会占用原编号;取消勾选后,旧号不再分配给其他记录。")), 1)]),
1530
- _: 1
1531
- }, 8, ["label"])])])]))
1532
- ]), B.value.mode === "MANUAL" ? S("v-if", !0) : (k(), C("aside", {
1533
- key: 0,
1534
- class: "code-config__trial",
1535
- "aria-label": h("trial", "草稿试算")
1536
- }, [
1537
- E(N(ae), { title: h("trial", "草稿试算") }, null, 8, ["title"]),
1538
- w("p", mn, j(h("auto-trial-short", "自动试算,不占号")), 1),
1539
- w("div", hn, [w("div", gn, [w("span", null, j(h("trial-result", "试算结果")), 1), E(N(o), {
1540
- type: "text",
1541
- "icon-name": "reload",
1542
- "icon-only": "",
1543
- size: "small",
1544
- title: h("refresh-trial", "刷新试算"),
1545
- "aria-label": h("refresh-trial", "刷新试算"),
1546
- disabled: !Rn.value || ut.value,
1547
- loading: ut.value,
1548
- onClick: n[17] ||= (e) => ur(!0)
1549
- }, null, 8, [
1550
- "title",
1551
- "aria-label",
1552
- "disabled",
1553
- "loading"
1554
- ])]), pt.value ? (k(), C("div", {
1555
- key: 0,
1556
- ref_key: "trialErrorElement",
1557
- ref: mt,
1558
- tabindex: "-1",
1559
- class: "code-config__trial-error"
1560
- }, [E(N(oe), {
1561
- title: h("trial-failed", "试算未完成"),
1562
- message: pt.value
1563
- }, null, 8, ["title", "message"])], 512)) : K.value ? (k(), C("output", {
1564
- key: 1,
1565
- ref_key: "previewElement",
1566
- ref: gt,
1567
- "aria-label": h("trial-result", "试算结果")
1568
- }, [w("strong", null, j(K.value.value), 1)], 8, _n)) : (k(), C("p", vn, j(dt.value || ut.value ? h("trial-updating", "正在更新…") : h("auto-trial-placeholder", "修改配置后自动更新")), 1))]),
1569
- Nn.value.length ? (k(), C("details", yn, [w("summary", null, j(h("trial-extra-short", "补充试算来源")), 1), w("label", bn, [w("span", xn, j(h("trial-extra-short", "补充试算来源")), 1), E(N(v), {
1570
- value: ft.value,
1571
- "onUpdate:value": n[18] ||= (e) => ft.value = e,
1572
- mode: "multiple",
1573
- "show-search": "",
1574
- disabled: Z.value,
1575
- options: Nn.value.map((e) => ({
1576
- value: e.fieldName,
1577
- label: N(Fe)(e, N(m))
1578
- }))
1579
- }, null, 8, [
1580
- "value",
1581
- "disabled",
1582
- "options"
1583
- ])])])) : S("v-if", !0),
1584
- w("div", Sn, [(k(!0), C(y, null, qe(Pn.value, (e) => (k(), C("label", {
1585
- class: "code-config__field",
1586
- key: e.fieldName
1587
- }, [T(j(N(Fe)(e, N(m))), 1), N(De)(e) === "boolean" ? (k(), x(N(v), {
1588
- key: 0,
1589
- value: _t.value[e.fieldName],
1590
- "onUpdate:value": (t) => _t.value[e.fieldName] = t,
1591
- "allow-clear": "",
1592
- disabled: Z.value,
1593
- options: [{
1594
- value: "true",
1595
- label: h("boolean-true", "是")
1596
- }, {
1597
- value: "false",
1598
- label: h("boolean-false", "否")
1599
- }]
1600
- }, null, 8, [
1601
- "value",
1602
- "onUpdate:value",
1603
- "disabled",
1604
- "options"
1605
- ])) : (k(), x(N(d), {
1606
- key: 1,
1607
- value: _t.value[e.fieldName],
1608
- "onUpdate:value": (t) => _t.value[e.fieldName] = t,
1609
- step: N(De)(e) === "number" ? "any" : void 0,
1610
- type: N(De)(e) === "datetime" ? "datetime-local" : N(De)(e) === "number" ? "number" : N(De)(e) === "date" ? "date" : "text",
1611
- disabled: Z.value
1612
- }, null, 8, [
1613
- "value",
1614
- "onUpdate:value",
1615
- "step",
1616
- "type",
1617
- "disabled"
1618
- ]))]))), 128)), B.value.sequencePolicy ? (k(), C("label", Cn, [T(j(h("trial-sequence", "试算流水值")), 1), E(N(d), {
1619
- value: vt.value,
1620
- "onUpdate:value": n[19] ||= (e) => vt.value = e,
1621
- type: "number",
1622
- placeholder: String(B.value.sequencePolicy?.startValue ?? 1),
1623
- disabled: Z.value
1624
- }, null, 8, [
1625
- "value",
1626
- "placeholder",
1627
- "disabled"
1628
- ])])) : S("v-if", !0)]),
1629
- K.value?.segments.length ? (k(), C("p", wn, j(h("segment-results", "片段结果(不含分隔符)")), 1)) : S("v-if", !0),
1630
- K.value?.segments.length ? (k(), C("ol", {
1631
- key: 2,
1632
- class: "code-config__preview-segments",
1633
- "aria-label": h("segment-results", "片段结果(不含分隔符)")
1634
- }, [(k(!0), C(y, null, qe(K.value.segments, (e, t) => (k(), C("li", { key: t }, [w("span", null, j(h(`segment.${e.segmentType}`, e.segmentType)), 1), w("code", null, j(e.value), 1)]))), 128))], 8, Tn)) : S("v-if", !0)
1635
- ], 8, pn))], 2)])) : (k(), x(N(ie), {
1636
- key: 1,
1637
- description: h("choose-rule", "选择或新增编号规则。")
1638
- }, null, 8, ["description"]))]),
1639
- _: 2
1640
- }, [B.value ? {
1641
- name: "header-actions",
1642
- fn: P(() => [E(N(o), {
1643
- disabled: Z.value,
1644
- onClick: Zn
1645
- }, {
1646
- default: P(() => [T(j(h("cancel", "取消修改")), 1)]),
1647
- _: 1
1648
- }, 8, ["disabled"]), E(N(o), {
1649
- type: "primary",
1650
- disabled: !jn.value || kn.value,
1651
- loading: U.value,
1652
- onClick: ir
1653
- }, {
1654
- default: P(() => [T(j(h("save-rule", "保存规则")), 1)]),
1655
- _: 1
1656
- }, 8, ["disabled", "loading"])]),
1657
- key: "0"
1658
- } : void 0]), 1032, [
1659
- "open",
1660
- "title",
1661
- "subtitle"
1662
- ])) : S("v-if", !0)
1663
- ]));
1664
- }
1665
- }), Dn = /* @__PURE__ */ e({ default: () => On }), On = /*#__PURE__*/ xe(En, [["__scopeId", "data-v-a792aff4"]]);
1666
- //#endregion
1667
- export { bt as i, Dn as n, jt as r, On as t };