@fecp/designer 5.5.71 → 5.5.73

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 (59) hide show
  1. package/es/designer/package.json.mjs +1 -1
  2. package/es/designer/src/components/DocumentParam.vue.mjs +1 -1
  3. package/es/designer/src/components/OptionConfig.vue.mjs +2 -2
  4. package/es/designer/src/components/ParamsConfig.vue2.mjs +1 -1
  5. package/es/designer/src/layout/aside/HiddenFieldDialog.vue.mjs +1 -1
  6. package/es/designer/src/packages/advancedFilter/ValueInput.vue2.mjs +1 -1
  7. package/es/designer/src/packages/dataLinkage/index.vue.mjs +1 -1
  8. package/es/designer/src/packages/dialog/useDialogDialog.mjs +1 -1
  9. package/es/designer/src/packages/dialogGlobal/index.vue2.mjs +1 -1
  10. package/es/designer/src/packages/dialogGlobal/useDialogGlobalDialog.mjs +1 -1
  11. package/es/designer/src/packages/eventFlow/dialog/action/FormSubmit.vue2.mjs +17 -8
  12. package/es/designer/src/packages/eventFlow/dialog/action/RiskSch.vue.mjs +14 -5
  13. package/es/designer/src/packages/form/property/approvalHistory.vue.mjs +1 -1
  14. package/es/designer/src/packages/form/property/contract.vue.mjs +1 -1
  15. package/es/designer/src/packages/form/property/subForm.vue.mjs +1 -1
  16. package/es/designer/src/packages/form/property/widgets.vue.mjs +2 -2
  17. package/es/designer/src/packages/formulaEditor/core/calculate.mjs +0 -1
  18. package/es/designer/src/packages/prod/index.vue.mjs +1 -1
  19. package/es/designer/src/packages/table/headerBtn.vue.mjs +1 -1
  20. package/es/designer.css +228 -64
  21. package/es/packages/mobile/src/components/base/card/Card.vue.mjs +2 -2
  22. package/es/packages/mobile/src/components/navigation/actionBar/ActionBar.vue.mjs +4 -4
  23. package/es/packages/vue/src/components/bus/approvalHistory/ApproveIdea.vue.mjs +64 -0
  24. package/es/packages/vue/src/components/bus/approvalHistory/timeLine.vue.mjs +37 -46
  25. package/es/packages/vue/src/components/bus/contract/Contract.vue.mjs +6 -1
  26. package/es/packages/vue/src/components/bus/document/Document.vue.mjs +15 -1
  27. package/es/packages/vue/src/components/details/main/Main.vue.mjs +1 -1
  28. package/es/packages/vue/src/components/forms/form/Form.vue.mjs +46 -30
  29. package/es/packages/vue/src/utils/eventFlow/actionHandlers.mjs +32 -4
  30. package/lib/designer/package.json.js +1 -1
  31. package/lib/designer/src/components/DocumentParam.vue.js +1 -1
  32. package/lib/designer/src/components/OptionConfig.vue.js +2 -2
  33. package/lib/designer/src/components/ParamsConfig.vue2.js +1 -1
  34. package/lib/designer/src/layout/aside/HiddenFieldDialog.vue.js +1 -1
  35. package/lib/designer/src/packages/advancedFilter/ValueInput.vue2.js +1 -1
  36. package/lib/designer/src/packages/dataLinkage/index.vue.js +1 -1
  37. package/lib/designer/src/packages/dialog/useDialogDialog.js +1 -1
  38. package/lib/designer/src/packages/dialogGlobal/index.vue2.js +1 -1
  39. package/lib/designer/src/packages/dialogGlobal/useDialogGlobalDialog.js +1 -1
  40. package/lib/designer/src/packages/eventFlow/dialog/action/FormSubmit.vue2.js +17 -8
  41. package/lib/designer/src/packages/eventFlow/dialog/action/RiskSch.vue.js +14 -5
  42. package/lib/designer/src/packages/form/property/approvalHistory.vue.js +1 -1
  43. package/lib/designer/src/packages/form/property/contract.vue.js +1 -1
  44. package/lib/designer/src/packages/form/property/subForm.vue.js +1 -1
  45. package/lib/designer/src/packages/form/property/widgets.vue.js +2 -2
  46. package/lib/designer/src/packages/formulaEditor/core/calculate.js +0 -1
  47. package/lib/designer/src/packages/prod/index.vue.js +1 -1
  48. package/lib/designer/src/packages/table/headerBtn.vue.js +1 -1
  49. package/lib/designer.css +228 -64
  50. package/lib/packages/mobile/src/components/base/card/Card.vue.js +2 -2
  51. package/lib/packages/mobile/src/components/navigation/actionBar/ActionBar.vue.js +3 -3
  52. package/lib/packages/vue/src/components/bus/approvalHistory/ApproveIdea.vue.js +64 -0
  53. package/lib/packages/vue/src/components/bus/approvalHistory/timeLine.vue.js +37 -46
  54. package/lib/packages/vue/src/components/bus/contract/Contract.vue.js +6 -1
  55. package/lib/packages/vue/src/components/bus/document/Document.vue.js +15 -1
  56. package/lib/packages/vue/src/components/details/main/Main.vue.js +1 -1
  57. package/lib/packages/vue/src/components/forms/form/Form.vue.js +45 -29
  58. package/lib/packages/vue/src/utils/eventFlow/actionHandlers.js +32 -4
  59. package/package.json +1 -1
@@ -0,0 +1,64 @@
1
+ import { ref, onMounted, watch, createElementBlock, createCommentVNode, openBlock, createElementVNode, normalizeClass, toDisplayString, nextTick } from "vue";
2
+ /* empty css */
3
+ import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const _hoisted_1 = {
5
+ key: 0,
6
+ class: "app-content"
7
+ };
8
+ const _sfc_main = {
9
+ __name: "ApproveIdea",
10
+ props: {
11
+ approveDesc: {
12
+ type: String,
13
+ default: ""
14
+ },
15
+ uniqueKey: {
16
+ type: String,
17
+ required: true
18
+ }
19
+ },
20
+ setup(__props) {
21
+ const props = __props;
22
+ const ideaRef = ref(null);
23
+ const isExpanded = ref(false);
24
+ const isOverflow = ref(false);
25
+ const checkOverflow = () => {
26
+ if (!ideaRef.value) return;
27
+ nextTick(() => {
28
+ isOverflow.value = ideaRef.value.scrollHeight > ideaRef.value.offsetHeight;
29
+ });
30
+ };
31
+ const toggle = () => {
32
+ isExpanded.value = !isExpanded.value;
33
+ };
34
+ onMounted(() => {
35
+ checkOverflow();
36
+ });
37
+ watch(
38
+ () => props.approveDesc,
39
+ () => {
40
+ isExpanded.value = false;
41
+ checkOverflow();
42
+ }
43
+ );
44
+ return (_ctx, _cache) => {
45
+ return __props.approveDesc ? (openBlock(), createElementBlock("div", _hoisted_1, [
46
+ createElementVNode("div", {
47
+ class: normalizeClass(["approveIdea", { "is-expanded": isExpanded.value || !isOverflow.value }]),
48
+ ref: (el) => {
49
+ if (el) ideaRef.value = el;
50
+ }
51
+ }, toDisplayString(__props.approveDesc), 3),
52
+ isOverflow.value ? (openBlock(), createElementBlock("div", {
53
+ key: 0,
54
+ class: "approve-toggle",
55
+ onClick: toggle
56
+ }, toDisplayString(isExpanded.value ? "收起" : "展开"), 1)) : createCommentVNode("", true)
57
+ ])) : createCommentVNode("", true);
58
+ };
59
+ }
60
+ };
61
+ const ApproveIdea = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f893cd22"]]);
62
+ export {
63
+ ApproveIdea as default
64
+ };
@@ -9,6 +9,7 @@ import "../../../../../../node_modules/element-plus/es/index.mjs";
9
9
  import { ref, watch, nextTick, resolveComponent, createElementBlock, openBlock, createVNode, withCtx, Fragment, renderList, unref, createBlock, createElementVNode, createCommentVNode, toDisplayString, createTextVNode, isRef } from "vue";
10
10
  import api from "./api/index.mjs";
11
11
  import { getCurrentVueInstance } from "../../../utils/getInstance.mjs";
12
+ import ApproveIdea from "./ApproveIdea.vue.mjs";
12
13
  /* empty css */
13
14
  import { ElScrollbar } from "../../../../../../node_modules/element-plus/es/components/scrollbar/index.mjs";
14
15
  import { ElTimeline, ElTimelineItem } from "../../../../../../node_modules/element-plus/es/components/timeline/index.mjs";
@@ -59,40 +60,30 @@ const _hoisted_21 = {
59
60
  const _hoisted_22 = { class: "app-header" };
60
61
  const _hoisted_23 = { class: "approveType" };
61
62
  const _hoisted_24 = { class: "duration" };
62
- const _hoisted_25 = {
63
- key: 0,
64
- class: "app-content"
65
- };
66
- const _hoisted_26 = { class: "approveIdea" };
67
- const _hoisted_27 = { class: "app-footer" };
68
- const _hoisted_28 = { class: "endTime" };
69
- const _hoisted_29 = {
63
+ const _hoisted_25 = { class: "app-footer" };
64
+ const _hoisted_26 = { class: "endTime" };
65
+ const _hoisted_27 = {
70
66
  key: 0,
71
67
  class: "assignee"
72
68
  };
73
- const _hoisted_30 = { class: "assignee-name" };
74
- const _hoisted_31 = {
69
+ const _hoisted_28 = { class: "assignee-name" };
70
+ const _hoisted_29 = {
75
71
  key: 1,
76
72
  class: "assignee"
77
73
  };
78
- const _hoisted_32 = {
74
+ const _hoisted_30 = {
79
75
  key: 1,
80
76
  class: "signContent"
81
77
  };
82
- const _hoisted_33 = { class: "content" };
83
- const _hoisted_34 = { class: "app-header" };
84
- const _hoisted_35 = { class: "approveType" };
85
- const _hoisted_36 = { class: "duration" };
86
- const _hoisted_37 = {
87
- key: 0,
88
- class: "app-content"
89
- };
90
- const _hoisted_38 = { class: "approveIdea" };
91
- const _hoisted_39 = { class: "app-footer" };
92
- const _hoisted_40 = { class: "endTime" };
93
- const _hoisted_41 = { class: "assignee" };
94
- const _hoisted_42 = { class: "assignee-name" };
95
- const _hoisted_43 = {
78
+ const _hoisted_31 = { class: "content" };
79
+ const _hoisted_32 = { class: "app-header" };
80
+ const _hoisted_33 = { class: "approveType" };
81
+ const _hoisted_34 = { class: "duration" };
82
+ const _hoisted_35 = { class: "app-footer" };
83
+ const _hoisted_36 = { class: "endTime" };
84
+ const _hoisted_37 = { class: "assignee" };
85
+ const _hoisted_38 = { class: "assignee-name" };
86
+ const _hoisted_39 = {
96
87
  key: 1,
97
88
  class: "content"
98
89
  };
@@ -257,19 +248,19 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
257
248
  createElementVNode("span", _hoisted_23, toDisplayString(node.approveName || "办理完成"), 1),
258
249
  createElementVNode("span", _hoisted_24, "耗时:" + toDisplayString(node.duration), 1)
259
250
  ]),
260
- node.approveDesc ? (openBlock(), createElementBlock("div", _hoisted_25, [
261
- createElementVNode("div", _hoisted_26, toDisplayString(node.approveDesc), 1)
262
- ])) : createCommentVNode("", true),
263
- createElementVNode("div", _hoisted_27, [
264
- createElementVNode("span", _hoisted_28, [
251
+ createVNode(ApproveIdea, {
252
+ approveDesc: node.approveDesc
253
+ }, null, 8, ["approveDesc"]),
254
+ createElementVNode("div", _hoisted_25, [
255
+ createElementVNode("span", _hoisted_26, [
265
256
  _cache[3] || (_cache[3] = createElementVNode("i", { class: "el-icon-time" }, null, -1)),
266
257
  createTextVNode(toDisplayString(node.endTime), 1)
267
258
  ]),
268
- node.taskType == "task" ? (openBlock(), createElementBlock("span", _hoisted_29, [
259
+ node.taskType == "task" ? (openBlock(), createElementBlock("span", _hoisted_27, [
269
260
  _cache[4] || (_cache[4] = createTextVNode("处理人:")),
270
- createElementVNode("span", _hoisted_30, toDisplayString(node.assigneeName), 1)
261
+ createElementVNode("span", _hoisted_28, toDisplayString(node.assigneeName), 1)
271
262
  ])) : createCommentVNode("", true),
272
- node.taskType == "callActivity" ? (openBlock(), createElementBlock("span", _hoisted_31, [
263
+ node.taskType == "callActivity" ? (openBlock(), createElementBlock("span", _hoisted_29, [
273
264
  createVNode(_component_el_button, {
274
265
  type: "primary",
275
266
  link: "",
@@ -285,29 +276,29 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
285
276
  _cache[6] || (_cache[6] = createElementVNode("div", { class: "addNodeList" }, null, -1))
286
277
  ])
287
278
  ])) : createCommentVNode("", true),
288
- node.taskType == "signTask" ? (openBlock(), createElementBlock("div", _hoisted_32, [
279
+ node.taskType == "signTask" ? (openBlock(), createElementBlock("div", _hoisted_30, [
289
280
  node.signTaskList && node.signTaskList.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(node.signTaskList, (sign) => {
290
- return openBlock(), createElementBlock("div", _hoisted_33, [
291
- createElementVNode("div", _hoisted_34, [
292
- createElementVNode("span", _hoisted_35, toDisplayString(sign.approveName || "办理完成"), 1),
293
- createElementVNode("span", _hoisted_36, "耗时:" + toDisplayString(sign.duration), 1)
281
+ return openBlock(), createElementBlock("div", _hoisted_31, [
282
+ createElementVNode("div", _hoisted_32, [
283
+ createElementVNode("span", _hoisted_33, toDisplayString(sign.approveName || "办理完成"), 1),
284
+ createElementVNode("span", _hoisted_34, "耗时:" + toDisplayString(sign.duration), 1)
294
285
  ]),
295
- sign.approveDesc ? (openBlock(), createElementBlock("div", _hoisted_37, [
296
- createElementVNode("div", _hoisted_38, toDisplayString(sign.approveDesc), 1)
297
- ])) : createCommentVNode("", true),
298
- createElementVNode("div", _hoisted_39, [
299
- createElementVNode("span", _hoisted_40, [
286
+ createVNode(ApproveIdea, {
287
+ approveDesc: sign.approveDesc
288
+ }, null, 8, ["approveDesc"]),
289
+ createElementVNode("div", _hoisted_35, [
290
+ createElementVNode("span", _hoisted_36, [
300
291
  _cache[7] || (_cache[7] = createElementVNode("i", { class: "el-icon-time" }, null, -1)),
301
292
  createTextVNode(toDisplayString(sign.endTime), 1)
302
293
  ]),
303
- createElementVNode("span", _hoisted_41, [
294
+ createElementVNode("span", _hoisted_37, [
304
295
  _cache[8] || (_cache[8] = createTextVNode("处理人:")),
305
- createElementVNode("span", _hoisted_42, toDisplayString(sign.assigneeName), 1)
296
+ createElementVNode("span", _hoisted_38, toDisplayString(sign.assigneeName), 1)
306
297
  ]),
307
298
  _cache[9] || (_cache[9] = createElementVNode("div", { class: "addNodeList" }, null, -1))
308
299
  ])
309
300
  ]);
310
- }), 256)) : (openBlock(), createElementBlock("div", _hoisted_43, _cache[10] || (_cache[10] = [
301
+ }), 256)) : (openBlock(), createElementBlock("div", _hoisted_39, _cache[10] || (_cache[10] = [
311
302
  createElementVNode("div", { class: "approve" }, [
312
303
  createElementVNode("span", { class: "point" }),
313
304
  createElementVNode("span", { class: "iconfont icon-flow-default approveIcon approve_color_11" }),
@@ -3,6 +3,7 @@ import "../../forms/h2/index.mjs";
3
3
  import { getCurrentVueInstance } from "../../../utils/getInstance.mjs";
4
4
  import { parseRouteParams, parseSingleParamValue } from "../../../utils/parseRouteParams.mjs";
5
5
  import { loadComponentByPath } from "../../../utils/common.mjs";
6
+ import emitter from "../../../utils/eventBus.mjs";
6
7
  const _hoisted_1 = { class: "contract-content" };
7
8
  const path = "/tech/ctr/components/DocCtrInfoComponent";
8
9
  const _sfc_main = /* @__PURE__ */ Object.assign({
@@ -58,7 +59,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
58
59
  onMounted(() => {
59
60
  loadComponentByPath(path, ctx.$router, currentComponent);
60
61
  });
61
- function loaded(dom) {
62
+ function loaded(dom, visibleData) {
62
63
  const foundItem = props.localConfig.fieldsData.find(
63
64
  (item) => item.id == props.config.id
64
65
  );
@@ -68,6 +69,10 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
68
69
  foundItem.h = dom.offsetHeight + titleHeight;
69
70
  setFormItemHeight(props.config.id, true, dom.offsetHeight + titleHeight);
70
71
  }
72
+ emitter.emit("onSubTableDataLoaded", {
73
+ subTableConfig: props.config,
74
+ visibleData
75
+ });
71
76
  }
72
77
  return (_ctx, _cache) => {
73
78
  return openBlock(), createElementBlock("div", _hoisted_1, [
@@ -27,7 +27,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
27
27
  default: ""
28
28
  }
29
29
  },
30
- setup(__props) {
30
+ setup(__props, { expose: __expose }) {
31
31
  const props = __props;
32
32
  const ctx = getCurrentVueInstance();
33
33
  ref("");
@@ -113,6 +113,18 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
113
113
  setFormItemHeight(props.config.id, true, dom.offsetHeight + titleHeight);
114
114
  }
115
115
  }
116
+ const docRef = ref();
117
+ function validate() {
118
+ var _a;
119
+ if (currentComponent.value) {
120
+ return (_a = docRef.value) == null ? void 0 : _a.validateFile();
121
+ } else {
122
+ return Promise.resolve();
123
+ }
124
+ }
125
+ __expose({
126
+ validate
127
+ });
116
128
  return (_ctx, _cache) => {
117
129
  return openBlock(), createElementBlock(Fragment, null, [
118
130
  __props.config.titleMode != "none" ? (openBlock(), createElementBlock("div", _hoisted_1, [
@@ -126,6 +138,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
126
138
  ])) : createCommentVNode("", true),
127
139
  createElementVNode("div", _hoisted_2, [
128
140
  (openBlock(), createBlock(resolveDynamicComponent(unref(currentComponent)), {
141
+ ref_key: "docRef",
142
+ ref: docRef,
129
143
  isEdit: __props.formMode != "query",
130
144
  isSupplement: __props.config.isSupplement,
131
145
  multiple: __props.config.multiple,
@@ -52,7 +52,7 @@ const _sfc_main = {
52
52
  };
53
53
  }
54
54
  };
55
- const component = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3ba17464"]]);
55
+ const component = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-29804f13"]]);
56
56
  export {
57
57
  component as default
58
58
  };
@@ -7,7 +7,7 @@ import "../../../../../../node_modules/element-plus/es/index.mjs";
7
7
  /* empty css */
8
8
  /* empty css */
9
9
  /* empty css */
10
- import { getCurrentInstance, ref, watch, onMounted, onBeforeUnmount, computed, provide, resolveDirective, withDirectives, createCommentVNode, createBlock, openBlock, withCtx, createVNode, normalizeStyle, unref, normalizeClass, createElementBlock, Fragment, renderList } from "vue";
10
+ import { getCurrentInstance, ref, watch, onMounted, onBeforeUnmount, computed, provide, resolveDirective, withDirectives, createCommentVNode, createBlock, openBlock, normalizeClass, withCtx, createVNode, normalizeStyle, unref, createElementBlock, Fragment, renderList } from "vue";
11
11
  import "../../../../../../node_modules/grid-layout-plus/es/index.mjs";
12
12
  import { getCurrentVueInstance } from "../../../utils/getInstance.mjs";
13
13
  import getJsonAsyncUtil from "../../../utils/getJsonAsyncUtil.mjs";
@@ -96,6 +96,10 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
96
96
  isApproval: {
97
97
  type: Boolean,
98
98
  default: false
99
+ },
100
+ class: {
101
+ type: String,
102
+ default: ""
99
103
  }
100
104
  },
101
105
  emits: [
@@ -658,6 +662,15 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
658
662
  subFormPromises.push((_a = formRef.value) == null ? void 0 : _a.validate());
659
663
  return Promise.all(subFormPromises).then(() => getFormData());
660
664
  };
665
+ const docValidate = () => {
666
+ const documentComps = gridLayoutFieldsData.value.filter((item) => item.component.fieldType == "document").map((item) => item.component);
667
+ const compPromises = documentComps.map((comp) => {
668
+ var _a;
669
+ const compRef = getFormItemRef(String(comp.id));
670
+ return ((_a = compRef == null ? void 0 : compRef.validate) == null ? void 0 : _a.call(compRef)) || Promise.resolve();
671
+ });
672
+ return Promise.all(compPromises);
673
+ };
661
674
  const resetFields = () => {
662
675
  var _a, _b;
663
676
  (_a = formRef.value) == null ? void 0 : _a.clearValidate();
@@ -849,10 +862,6 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
849
862
  };
850
863
  const applyLinkageEffectsForChangedFields = (changedFieldNames) => {
851
864
  var _a;
852
- console.log(
853
- "🚀 ~ applyLinkageEffectsForChangedFields ~ 变化的字段:",
854
- changedFieldNames
855
- );
856
865
  const linkedConfig = localConfig.value.linkedConfig || {};
857
866
  const fields = [...fieldsData.value, ...hiddenFields.value];
858
867
  const relevantConfigs = filterRelevantLinkageConfigs(
@@ -928,40 +937,46 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
928
937
  rules[fieldName] = prodRules.value[fieldName];
929
938
  }
930
939
  formRules.value = rules;
931
- relevantConfigs.readonly.forEach((item) => {
932
- const dataLinkFieldList = item.dataLinkFieldList || [];
933
- dataLinkFieldList.forEach((fieldId) => {
934
- const layoutFieldItem = updatedLayoutData.find((g) => g.id == fieldId);
935
- if (layoutFieldItem) {
936
- layoutFieldItem.component.readOnly = false;
937
- }
938
- });
939
- if (checkFilterMatch(item.filterConfig, formData.value, fields)) {
940
+ if (formMode.value != "query") {
941
+ relevantConfigs.readonly.forEach((item) => {
942
+ const dataLinkFieldList = item.dataLinkFieldList || [];
940
943
  dataLinkFieldList.forEach((fieldId) => {
941
944
  const layoutFieldItem = updatedLayoutData.find((g) => g.id == fieldId);
942
945
  if (layoutFieldItem) {
943
- layoutFieldItem.component.readOnly = true;
946
+ layoutFieldItem.component.readOnly = false;
944
947
  }
945
948
  });
946
- }
947
- });
948
- relevantConfigs.disabled.forEach((item) => {
949
- const dataLinkFieldList = item.dataLinkFieldList || [];
950
- dataLinkFieldList.forEach((fieldId) => {
951
- const layoutFieldItem = updatedLayoutData.find((g) => g.id == fieldId);
952
- if (layoutFieldItem) {
953
- layoutFieldItem.component.disabled = false;
949
+ if (checkFilterMatch(item.filterConfig, formData.value, fields)) {
950
+ dataLinkFieldList.forEach((fieldId) => {
951
+ const layoutFieldItem = updatedLayoutData.find(
952
+ (g) => g.id == fieldId
953
+ );
954
+ if (layoutFieldItem) {
955
+ layoutFieldItem.component.readOnly = true;
956
+ }
957
+ });
954
958
  }
955
959
  });
956
- if (checkFilterMatch(item.filterConfig, formData.value, fields)) {
960
+ relevantConfigs.disabled.forEach((item) => {
961
+ const dataLinkFieldList = item.dataLinkFieldList || [];
957
962
  dataLinkFieldList.forEach((fieldId) => {
958
963
  const layoutFieldItem = updatedLayoutData.find((g) => g.id == fieldId);
959
964
  if (layoutFieldItem) {
960
- layoutFieldItem.component.disabled = true;
965
+ layoutFieldItem.component.disabled = false;
961
966
  }
962
967
  });
963
- }
964
- });
968
+ if (checkFilterMatch(item.filterConfig, formData.value, fields)) {
969
+ dataLinkFieldList.forEach((fieldId) => {
970
+ const layoutFieldItem = updatedLayoutData.find(
971
+ (g) => g.id == fieldId
972
+ );
973
+ if (layoutFieldItem) {
974
+ layoutFieldItem.component.disabled = true;
975
+ }
976
+ });
977
+ }
978
+ });
979
+ }
965
980
  const fieldsConfigArr = updatedLayoutData.filter((item) => !item.hidden);
966
981
  gridLayoutFieldsData.value = sortLayoutItems(fieldsConfigArr);
967
982
  (_a = gridLayout == null ? void 0 : gridLayout.value) == null ? void 0 : _a.resizeEvent();
@@ -1077,6 +1092,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
1077
1092
  provide("getFormData", getFormData);
1078
1093
  __expose({
1079
1094
  validate,
1095
+ docValidate,
1080
1096
  resetFields,
1081
1097
  getFormData,
1082
1098
  setFormData,
@@ -1093,7 +1109,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
1093
1109
  const _directive_fec_layout = resolveDirective("fec-layout");
1094
1110
  return !configLoading.value ? withDirectives((openBlock(), createBlock(_component_el_container, {
1095
1111
  key: 0,
1096
- class: "fec-form",
1112
+ class: normalizeClass(["fec-form", __props.class]),
1097
1113
  "data-id": localConfig.value.templateKey,
1098
1114
  "data-name": localConfig.value.templateName,
1099
1115
  "data-pkId": localConfig.value.pkId,
@@ -1207,13 +1223,13 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
1207
1223
  })) : createCommentVNode("", true)
1208
1224
  ]),
1209
1225
  _: 1
1210
- }, 8, ["data-id", "data-name", "data-pkId"])), [
1226
+ }, 8, ["class", "data-id", "data-name", "data-pkId"])), [
1211
1227
  [_directive_fec_layout]
1212
1228
  ]) : createCommentVNode("", true);
1213
1229
  };
1214
1230
  }
1215
1231
  });
1216
- const _Form = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c86c3354"]]);
1232
+ const _Form = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d3057435"]]);
1217
1233
  export {
1218
1234
  _Form as default
1219
1235
  };
@@ -498,7 +498,7 @@ async function handleFormSetValue(node, data, fields, context) {
498
498
  }
499
499
  }
500
500
  async function handleFormSubmit(node, data, fields, context) {
501
- var _a, _b, _c, _d, _e, _f, _g, _h;
501
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
502
502
  const basic = node.basic || {};
503
503
  if (!(basic == null ? void 0 : basic.dataSourceId)) {
504
504
  console.error("form-setValue: 缺少 dataSourceId 配置");
@@ -527,6 +527,27 @@ async function handleFormSubmit(node, data, fields, context) {
527
527
  };
528
528
  }
529
529
  }
530
+ if (basic == null ? void 0 : basic.docValidate) {
531
+ const docValidateMethod = (_g = (_f = formComponent == null ? void 0 : formComponent.$) == null ? void 0 : _f.exposed) == null ? void 0 : _g.docValidate;
532
+ try {
533
+ if (typeof docValidateMethod === "function") {
534
+ await docValidateMethod();
535
+ } else {
536
+ console.error("未找到表单组件的 docValidate 方法");
537
+ return {
538
+ success: false,
539
+ message: "表单组件未正确配置或 docValidate 方法未暴露",
540
+ shouldShowError: true
541
+ };
542
+ }
543
+ } catch (error) {
544
+ return {
545
+ success: false,
546
+ message: "要件校验失败!",
547
+ shouldShowError: false
548
+ };
549
+ }
550
+ }
530
551
  if (typeof getFormDataMethod === "function") {
531
552
  try {
532
553
  let formData = getFormDataMethod();
@@ -553,8 +574,8 @@ async function handleFormSubmit(node, data, fields, context) {
553
574
  formData = removeEmptyValues(result.data || {});
554
575
  delete formData.pageNo;
555
576
  delete formData.pageSize;
556
- const formComponent2 = (_f = context.components) == null ? void 0 : _f.form;
557
- const setFormDataMethod = (_h = (_g = formComponent2 == null ? void 0 : formComponent2.$) == null ? void 0 : _g.exposed) == null ? void 0 : _h.setFormData;
577
+ const formComponent2 = (_h = context.components) == null ? void 0 : _h.form;
578
+ const setFormDataMethod = (_j = (_i = formComponent2 == null ? void 0 : formComponent2.$) == null ? void 0 : _i.exposed) == null ? void 0 : _j.setFormData;
558
579
  if (typeof setFormDataMethod === "function") {
559
580
  setFormDataMethod(formData);
560
581
  } else {
@@ -640,7 +661,7 @@ async function handleDialog(node, data, fields, context) {
640
661
  }
641
662
  }
642
663
  async function handleRiskSchDialog(node, data, fields, context) {
643
- var _a, _b, _c;
664
+ var _a, _b, _c, _d, _e, _f;
644
665
  const basic = node.basic || {};
645
666
  if (!(basic == null ? void 0 : basic.schNo)) {
646
667
  console.error("风险拦截校验: 缺少 schNo 配置");
@@ -657,6 +678,13 @@ async function handleRiskSchDialog(node, data, fields, context) {
657
678
  await validateMethod();
658
679
  }
659
680
  }
681
+ if (basic == null ? void 0 : basic.docValidate) {
682
+ const formComponent = (_d = context.components) == null ? void 0 : _d.form;
683
+ const docValidateMethod = (_f = (_e = formComponent == null ? void 0 : formComponent.$) == null ? void 0 : _e.exposed) == null ? void 0 : _f.docValidate;
684
+ if (typeof docValidateMethod === "function") {
685
+ await docValidateMethod();
686
+ }
687
+ }
660
688
  const schNo = basic.schNo;
661
689
  const paramList = parseRouteParams(basic == null ? void 0 : basic.params, data, fields);
662
690
  const busNo = parseSingleParamValue(basic.busNo, data, fields);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const version = "5.5.71";
3
+ const version = "5.5.73";
4
4
  const packageJson = {
5
5
  version
6
6
  };
@@ -11,7 +11,7 @@ require("../../../node_modules/element-plus/es/index.js");
11
11
  ;/* empty css */
12
12
  const Vue = require("vue");
13
13
  const index$2 = require("../../../node_modules/@element-plus/icons-vue/dist/index.js");
14
- const ValueSelector = require("./ValueSelector.vue.js");
14
+ const ValueSelector = require("./ValueSelector.vue2.js");
15
15
  const index = require("../api/index.js");
16
16
  ;/* empty css */
17
17
  const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
@@ -39,7 +39,7 @@ const _sfc_main = {
39
39
  modelValue: {
40
40
  type: Object,
41
41
  default: () => ({
42
- optionSource: "custom",
42
+ optionSource: "dictionary",
43
43
  options: [
44
44
  {
45
45
  id: 1769067474103,
@@ -295,5 +295,5 @@ const _sfc_main = {
295
295
  };
296
296
  }
297
297
  };
298
- const OptionConfig = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-fd4c229c"]]);
298
+ const OptionConfig = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-fe7440f2"]]);
299
299
  exports.default = OptionConfig;
@@ -6,7 +6,7 @@ require("../../../node_modules/element-plus/es/index.js");
6
6
  ;/* empty css */
7
7
  const Vue = require("vue");
8
8
  const index$1 = require("../../../node_modules/@element-plus/icons-vue/dist/index.js");
9
- const ValueSelector = require("./ValueSelector.vue.js");
9
+ const ValueSelector = require("./ValueSelector.vue2.js");
10
10
  ;/* empty css */
11
11
  const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
12
12
  const index = require("../../../node_modules/element-plus/es/components/button/index.js");
@@ -18,7 +18,7 @@ const index$2 = require("../../../../node_modules/@element-plus/icons-vue/dist/i
18
18
  const common = require("../../packages/utils/common.js");
19
19
  const index$5 = require("../../packages/form/aside/index.js");
20
20
  const index$6 = require("../../packages/table/aside/index.js");
21
- const ValueSelector = require("../../components/ValueSelector.vue.js");
21
+ const ValueSelector = require("../../components/ValueSelector.vue2.js");
22
22
  ;/* empty css */
23
23
  const _pluginVue_exportHelper = require("../../../../_virtual/_plugin-vue_export-helper.js");
24
24
  const index = require("../../../../node_modules/element-plus/es/components/dialog/index.js");
@@ -16,7 +16,7 @@ require("../../../../node_modules/element-plus/theme-chalk/el-tooltip.css.js");
16
16
  require("../../../../node_modules/element-plus/theme-chalk/el-date-picker.css.js");
17
17
  const Vue = require("vue");
18
18
  const index = require("../../../../node_modules/@vueuse/core/dist/index.js");
19
- const ValueSelector = require("../../components/ValueSelector.vue.js");
19
+ const ValueSelector = require("../../components/ValueSelector.vue2.js");
20
20
  const index$1 = require("../../api/index.js");
21
21
  const common = require("../utils/common.js");
22
22
  const datasource = require("../utils/datasource.js");
@@ -32,7 +32,7 @@ require("../../../../node_modules/element-plus/theme-chalk/el-date-picker.css.js
32
32
  ;/* empty css */
33
33
  ;/* empty css */
34
34
  const _pluginVue_exportHelper = require("../../../../_virtual/_plugin-vue_export-helper.js");
35
- ;/* empty css */
35
+ ;/* empty css */
36
36
  ;/* empty css */
37
37
  ;/* empty css */
38
38
  ;/* empty css */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./index.vue.js");
3
+ const index = require("./index.vue2.js");
4
4
  const Vue = require("vue");
5
5
  function useDialogDialog() {
6
6
  const dialogDialogVisible = Vue.ref(false);
@@ -86,7 +86,7 @@ const widgets = require("../table/property/widgets.vue.js");
86
86
  require("../../../../node_modules/element-plus/theme-chalk/el-tab-pane.css.js");
87
87
  ;/* empty css */
88
88
  ;/* empty css */
89
- ;/* empty css */
89
+ ;/* empty css */
90
90
  ;/* empty css */
91
91
  ;/* empty css */
92
92
  ;/* empty css */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./index.vue.js");
3
+ const index = require("./index.vue2.js");
4
4
  const Vue = require("vue");
5
5
  function useDialogGlobalDialog() {
6
6
  const dialogGlobalDialogVisible = Vue.ref(false);