@kp-ui/lowcode 2.15.0-beta.7 → 2.16.0-alpha.3

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 (200) hide show
  1. package/install.js +18 -16
  2. package/install.js.map +1 -1
  3. package/package.json +3 -6
  4. package/src/components/FormRender/FormContainer.vue.js +55 -0
  5. package/src/components/FormRender/FormContainer.vue.js.map +1 -0
  6. package/src/components/FormRender/FormContainer.vue2.js +5 -0
  7. package/src/components/FormRender/FormContainer.vue2.js.map +1 -0
  8. package/src/components/FormRender/index.vue.js +2 -2
  9. package/src/components/FormRender/index.vue2.js +35 -40
  10. package/src/components/FormRender/index.vue2.js.map +1 -1
  11. package/src/components/FormRender/useFormContext.js +128 -120
  12. package/src/components/FormRender/useFormContext.js.map +1 -1
  13. package/src/components/{designer.js → form-designer/designer.js} +76 -71
  14. package/src/components/form-designer/designer.js.map +1 -0
  15. package/src/components/form-designer/form-widget/RenderDesignerWigetList.vue.js +1 -1
  16. package/src/components/form-designer/form-widget/RenderDesignerWigetList.vue.js.map +1 -1
  17. package/src/components/form-designer/form-widget/container-widget/useTableWidget.js +116 -114
  18. package/src/components/form-designer/form-widget/container-widget/useTableWidget.js.map +1 -1
  19. package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue.js +2 -2
  20. package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue2.js +18 -19
  21. package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue2.js.map +1 -1
  22. package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue.js +2 -2
  23. package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue2.js +22 -16
  24. package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue2.js.map +1 -1
  25. package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget copy.vue.js +8 -0
  26. package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget copy.vue.js.map +1 -0
  27. package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget copy.vue2.js +58 -0
  28. package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget copy.vue2.js.map +1 -0
  29. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue.js +1 -1
  30. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue2.js +1 -1
  31. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue2.js.map +1 -1
  32. package/src/components/form-designer/form-widget/field-widget/index.js +1 -1
  33. package/src/components/form-designer/form-widget/field-widget/index.js.map +1 -1
  34. package/src/components/form-designer/form-widget/field-widget/rich-editor-widget.vue2.js.map +1 -1
  35. package/src/components/form-designer/form-widget/field-widget/useField.js +140 -140
  36. package/src/components/form-designer/form-widget/field-widget/useField.js.map +1 -1
  37. package/src/components/form-designer/form-widget/index.vue.js +2 -2
  38. package/src/components/form-designer/form-widget/index.vue2.js +56 -47
  39. package/src/components/form-designer/form-widget/index.vue2.js.map +1 -1
  40. package/src/components/form-designer/form-widget/useFormDesigner.js +34 -0
  41. package/src/components/form-designer/form-widget/useFormDesigner.js.map +1 -0
  42. package/src/components/form-designer/index.vue.js +77 -74
  43. package/src/components/form-designer/index.vue.js.map +1 -1
  44. package/src/components/form-designer/setting-panel/form-setting.vue.js +2 -2
  45. package/src/components/form-designer/setting-panel/form-setting.vue2.js +100 -126
  46. package/src/components/form-designer/setting-panel/form-setting.vue2.js.map +1 -1
  47. package/src/components/form-designer/setting-panel/index.vue.js +1 -1
  48. package/src/components/form-designer/setting-panel/index.vue2.js +1 -1
  49. package/src/components/form-designer/setting-panel/index.vue2.js.map +1 -1
  50. package/src/components/form-designer/setting-panel/option-items-setting.vue.js +2 -2
  51. package/src/components/form-designer/setting-panel/option-items-setting.vue2.js +1 -1
  52. package/src/components/form-designer/setting-panel/option-items-setting.vue2.js.map +1 -1
  53. package/src/components/form-designer/setting-panel/property-editor/boxModel-editor.vue.js +1 -1
  54. package/src/components/form-designer/setting-panel/property-editor/boxModel-editor.vue2.js +255 -201
  55. package/src/components/form-designer/setting-panel/property-editor/boxModel-editor.vue2.js.map +1 -1
  56. package/src/components/form-designer/setting-panel/property-editor/button-list-editor.vue2.js +45 -39
  57. package/src/components/form-designer/setting-panel/property-editor/button-list-editor.vue2.js.map +1 -1
  58. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-customClass-editor.vue2.js +1 -1
  59. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-customClass-editor.vue2.js.map +1 -1
  60. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-dsEnabled-editor.vue2.js +1 -1
  61. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-dsEnabled-editor.vue2.js.map +1 -1
  62. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showButtonsColumn-editor.vue.js +2 -2
  63. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showButtonsColumn-editor.vue2.js.map +1 -1
  64. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue.js +1 -1
  65. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js +1 -1
  66. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js.map +1 -1
  67. package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue.js +2 -2
  68. package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue2.js +1 -1
  69. package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue2.js.map +1 -1
  70. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-span-editor.vue2.js +1 -1
  71. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-span-editor.vue2.js.map +1 -1
  72. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue.js +1 -1
  73. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue2.js +1 -1
  74. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue2.js.map +1 -1
  75. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellHeight-editor.vue.js +32 -0
  76. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellHeight-editor.vue.js.map +1 -0
  77. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellWidth-editor.vue.js +32 -0
  78. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellWidth-editor.vue.js.map +1 -0
  79. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/cancelButtonLabel-editor.vue2.js.map +1 -1
  80. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/height-editor.vue2.js.map +1 -1
  81. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/left-editor.vue.js +5 -0
  82. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/left-editor.vue.js.map +1 -0
  83. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/left-editor.vue2.js +38 -0
  84. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/left-editor.vue2.js.map +1 -0
  85. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/top-editor.vue.js +5 -0
  86. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/top-editor.vue.js.map +1 -0
  87. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/top-editor.vue2.js +38 -0
  88. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/top-editor.vue2.js.map +1 -0
  89. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/width-editor.vue2.js +10 -10
  90. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/width-editor.vue2.js.map +1 -1
  91. package/src/components/form-designer/setting-panel/property-editor/customClass-editor.vue2.js +1 -1
  92. package/src/components/form-designer/setting-panel/property-editor/customClass-editor.vue2.js.map +1 -1
  93. package/src/components/form-designer/setting-panel/property-editor/event-handler/onTableChange-editor.vue2.js +4 -4
  94. package/src/components/form-designer/setting-panel/property-editor/event-handler/onTableChange-editor.vue2.js.map +1 -1
  95. package/src/components/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue2.js +1 -1
  96. package/src/components/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue2.js.map +1 -1
  97. package/src/components/form-designer/setting-panel/property-editor/field-slider/range-editor.vue2.js +1 -1
  98. package/src/components/form-designer/setting-panel/property-editor/field-slider/range-editor.vue2.js.map +1 -1
  99. package/src/components/form-designer/setting-panel/property-editor/field-switch/switch-defaultValue-editor.vue2.js +1 -1
  100. package/src/components/form-designer/setting-panel/property-editor/field-switch/switch-defaultValue-editor.vue2.js.map +1 -1
  101. package/src/components/form-designer/setting-panel/property-editor/index.js +178 -176
  102. package/src/components/form-designer/setting-panel/property-editor/index.js.map +1 -1
  103. package/src/components/form-designer/setting-panel/property-editor/multiple-editor.vue2.js.map +1 -1
  104. package/src/components/form-designer/setting-panel/property-editor/optionItems-editor.vue2.js +1 -1
  105. package/src/components/form-designer/setting-panel/property-editor/optionItems-editor.vue2.js.map +1 -1
  106. package/src/components/form-designer/setting-panel/property-editor/rightSlotCss-editor.vue2.js +1 -1
  107. package/src/components/form-designer/setting-panel/property-editor/rightSlotCss-editor.vue2.js.map +1 -1
  108. package/src/components/form-designer/setting-panel/property-editor/type-editor.vue2.js.map +1 -1
  109. package/src/components/form-designer/setting-panel/property-editor/useEditor.js +1 -1
  110. package/src/components/form-designer/setting-panel/property-editor/useEditor.js.map +1 -1
  111. package/src/components/form-designer/setting-panel/propertyRegister.js +12 -12
  112. package/src/components/form-designer/setting-panel/propertyRegister.js.map +1 -1
  113. package/src/components/form-designer/toolbar-panel/PreviewDialog.vue.js +1 -1
  114. package/src/components/form-designer/toolbar-panel/PreviewDialog.vue.js.map +1 -1
  115. package/src/components/form-designer/toolbar-panel/index.vue.js +2 -2
  116. package/src/components/form-designer/toolbar-panel/index.vue2.js +177 -137
  117. package/src/components/form-designer/toolbar-panel/index.vue2.js.map +1 -1
  118. package/src/components/form-designer/widget-panel/PanelItemDrag.vue.js +50 -0
  119. package/src/components/form-designer/widget-panel/PanelItemDrag.vue.js.map +1 -0
  120. package/src/components/form-designer/widget-panel/containers/vf-box.js +1 -4
  121. package/src/components/form-designer/widget-panel/containers/vf-box.js.map +1 -1
  122. package/src/components/form-designer/widget-panel/containers/vf-dialog.js +34 -10
  123. package/src/components/form-designer/widget-panel/containers/vf-dialog.js.map +1 -1
  124. package/src/components/form-designer/widget-panel/index.vue.js +2 -2
  125. package/src/components/form-designer/widget-panel/index.vue2.js +34 -74
  126. package/src/components/form-designer/widget-panel/index.vue2.js.map +1 -1
  127. package/src/components/form-render/container-items/data-table-widget.vue.js +1 -1
  128. package/src/components/form-render/container-items/data-table-widget.vue2.js +60 -61
  129. package/src/components/form-render/container-items/data-table-widget.vue2.js.map +1 -1
  130. package/src/components/form-render/dynamic-dialog.vue.js +72 -76
  131. package/src/components/form-render/dynamic-dialog.vue.js.map +1 -1
  132. package/src/components/public/ActionButtonListDialog.vue.js +1 -1
  133. package/src/components/public/ActionButtonListDialog.vue2.js +115 -94
  134. package/src/components/public/ActionButtonListDialog.vue2.js.map +1 -1
  135. package/src/components/public/ActionButtonListRender.vue.js +15 -13
  136. package/src/components/public/ActionButtonListRender.vue.js.map +1 -1
  137. package/src/components/public/ActionButtonListRender.vue2.js +35 -25
  138. package/src/components/public/ActionButtonListRender.vue2.js.map +1 -1
  139. package/src/constants/EditorTypeEnum.js +1 -1
  140. package/src/constants/EditorTypeEnum.js.map +1 -1
  141. package/src/constants/WidgetTypeEnum.js +3 -4
  142. package/src/constants/WidgetTypeEnum.js.map +1 -1
  143. package/src/hooks/useLowcode.js.map +1 -1
  144. package/src/lang/en-US.js +2 -1
  145. package/src/lang/en-US.js.map +1 -1
  146. package/src/lang/zh-CN.js +4 -5
  147. package/src/lang/zh-CN.js.map +1 -1
  148. package/src/utils/util.js +22 -21
  149. package/src/utils/util.js.map +1 -1
  150. package/stats.html +1 -1
  151. package/styles/style.css +1 -1
  152. package/src/components/FormRender/FormContainer.js +0 -52
  153. package/src/components/FormRender/FormContainer.js.map +0 -1
  154. package/src/components/bi-widget/echartBar/echart-bar-widget.vue.js +0 -8
  155. package/src/components/bi-widget/echartBar/echart-bar-widget.vue.js.map +0 -1
  156. package/src/components/bi-widget/echartBar/echart-bar-widget.vue2.js +0 -43
  157. package/src/components/bi-widget/echartBar/echart-bar-widget.vue2.js.map +0 -1
  158. package/src/components/bi-widget/echartBar/echart-bar.js +0 -35
  159. package/src/components/bi-widget/echartBar/echart-bar.js.map +0 -1
  160. package/src/components/bi-widget/index.js +0 -13
  161. package/src/components/bi-widget/index.js.map +0 -1
  162. package/src/components/designer.js.map +0 -1
  163. package/src/components/form-designer/form-widget/RenderDesignerPC.vue.js +0 -26
  164. package/src/components/form-designer/form-widget/RenderDesignerPC.vue.js.map +0 -1
  165. package/src/components/form-designer/form-widget/RenderDesignerPC.vue2.js +0 -5
  166. package/src/components/form-designer/form-widget/RenderDesignerPC.vue2.js.map +0 -1
  167. package/src/components/form-designer/form-widget/bi/RenderDesignerBI.vue.js +0 -8
  168. package/src/components/form-designer/form-widget/bi/RenderDesignerBI.vue.js.map +0 -1
  169. package/src/components/form-designer/form-widget/bi/RenderDesignerBI.vue2.js +0 -68
  170. package/src/components/form-designer/form-widget/bi/RenderDesignerBI.vue2.js.map +0 -1
  171. package/src/components/form-designer/form-widget/bi/RenderDesignerBIWigetList.vue.js +0 -8
  172. package/src/components/form-designer/form-widget/bi/RenderDesignerBIWigetList.vue.js.map +0 -1
  173. package/src/components/form-designer/form-widget/bi/RenderDesignerBIWigetList.vue2.js +0 -136
  174. package/src/components/form-designer/form-widget/bi/RenderDesignerBIWigetList.vue2.js.map +0 -1
  175. package/src/components/form-designer/form-widget/bi/WidgetContextMenu.vue.js +0 -8
  176. package/src/components/form-designer/form-widget/bi/WidgetContextMenu.vue.js.map +0 -1
  177. package/src/components/form-designer/form-widget/bi/WidgetContextMenu.vue2.js +0 -153
  178. package/src/components/form-designer/form-widget/bi/WidgetContextMenu.vue2.js.map +0 -1
  179. package/src/components/form-designer/form-widget/bi/useRuler.js +0 -66
  180. package/src/components/form-designer/form-widget/bi/useRuler.js.map +0 -1
  181. package/src/components/form-designer/setting-panel/panel/PanelItemDrag.vue.js +0 -51
  182. package/src/components/form-designer/setting-panel/panel/PanelItemDrag.vue.js.map +0 -1
  183. package/src/components/form-designer/setting-panel/panel/PanelItemDragForBI.vue.js +0 -51
  184. package/src/components/form-designer/setting-panel/panel/PanelItemDragForBI.vue.js.map +0 -1
  185. package/src/components/form-designer/setting-panel/panel/PanelItemDragForBI.vue2.js +0 -5
  186. package/src/components/form-designer/setting-panel/panel/PanelItemDragForBI.vue2.js.map +0 -1
  187. package/src/components/form-designer/setting-panel/property-editor/dsEnabled-editor.vue.js +0 -5
  188. package/src/components/form-designer/setting-panel/property-editor/dsEnabled-editor.vue.js.map +0 -1
  189. package/src/components/form-designer/setting-panel/property-editor/dsEnabled-editor.vue2.js +0 -71
  190. package/src/components/form-designer/setting-panel/property-editor/dsEnabled-editor.vue2.js.map +0 -1
  191. package/src/components/form-designer/setting-panel/property-editor/echart-bar-editor.vue.js +0 -5
  192. package/src/components/form-designer/setting-panel/property-editor/echart-bar-editor.vue.js.map +0 -1
  193. package/src/components/form-designer/setting-panel/property-editor/echart-bar-editor.vue2.js +0 -81
  194. package/src/components/form-designer/setting-panel/property-editor/echart-bar-editor.vue2.js.map +0 -1
  195. package/src/constants/LayoutTypeEnum.js +0 -5
  196. package/src/constants/LayoutTypeEnum.js.map +0 -1
  197. package/src/hooks/useDesigner.js +0 -51
  198. package/src/hooks/useDesigner.js.map +0 -1
  199. /package/src/components/form-designer/{setting-panel/panel → widget-panel}/PanelItemDrag.vue2.js +0 -0
  200. /package/src/components/form-designer/{setting-panel/panel → widget-panel}/PanelItemDrag.vue2.js.map +0 -0
@@ -1,119 +1,119 @@
1
- import { ref as l, provide as c, computed as m, watchEffect as le, onMounted as ce, nextTick as fe } from "vue";
2
- import { useFormValidation as V } from "./formValidation.js";
3
- import { getContainerWidgetByName as B, cloneFormConfigWithoutEventHandler as ue, insertCustomCssToHead as me, insertGlobalFunctionsToHtml as de, generateId as ve } from "../../utils/util.js";
4
- import { set as ge, cloneDeep as pe } from "lodash-es";
5
- import { message as H } from "ant-design-vue";
6
- import { useI18n as Ce } from "../../utils/i18n.js";
7
- import { getUuidKey as Fe } from "@kp-ui/tool";
8
- import { useComRef as we, useRef as he, useExecFunction as Re } from "tmgc2-share";
9
- import De from "../form-render/dynamic-dialog.vue.js";
1
+ import { ref as l, provide as c, computed as d, watchEffect as ue, onMounted as me, nextTick as de } from "vue";
2
+ import { useFormValidation as B } from "./formValidation.js";
3
+ import { insertCustomCssToHead as ve, insertGlobalFunctionsToHtml as ge, getContainerWidgetByName as H, cloneFormConfigWithoutEventHandler as pe, generateId as Ce } from "../../utils/util.js";
4
+ import { set as Fe, cloneDeep as we } from "lodash-es";
5
+ import { message as J } from "ant-design-vue";
6
+ import { useI18n as he } from "../../utils/i18n.js";
7
+ import { getUuidKey as xe } from "@kp-ui/tool";
8
+ import { useComRef as De, useRef as Re, useExecFunction as Le } from "tmgc2-share";
9
+ import be from "../form-render/dynamic-dialog.vue.js";
10
10
  /* empty css */
11
- import { useEmitter as xe } from "../../utils/useEmitter.js";
12
- import { useAppRef as ye } from "../form-designer/useAppRef.js";
13
- const Te = ({ renderForm: D, props: i }) => {
14
- const { formJson: x } = i, C = we(De), { i18nt: d } = Ce(), [y, J] = he(!1), F = xe(), v = l(), a = l({}), L = l(!1), w = l(/* @__PURE__ */ new Map()), b = l({}), P = l(), h = Symbol("formWidget");
15
- c("refList", w), c("formData", a), c("getReadMode", () => y.value), c("designState", !1);
16
- const M = l(), { executeFunction: T, context: g, execHttpFunction: W } = Re(), { getFormRef: R, getWidgetRef: $, registerToRefList: k } = ye(w, h), o = m(() => {
11
+ import { useEmitter as ye } from "../../utils/useEmitter.js";
12
+ import { useAppRef as Me } from "../form-designer/useAppRef.js";
13
+ const _e = ({ renderForm: x, props: a }) => {
14
+ const { formJson: D } = a, p = De(be), { i18nt: v } = he(), [R, P] = Re(!1), C = ye(), g = l(), s = l({}), L = l(!1), F = l(/* @__PURE__ */ new Map()), b = l({}), T = l(), w = Symbol("formWidget");
15
+ c("refList", F), c("getFormConfig", () => o.value), c("formData", s), c("getReadMode", () => R.value), c("designState", !1);
16
+ const y = l(), { executeFunction: $, context: f, execHttpFunction: M } = Le(), { getFormRef: h, getWidgetRef: U, registerToRefList: _ } = Me(F, w), o = d(() => {
17
17
  var e;
18
- return ((e = v.value) == null ? void 0 : e.formConfig) || {};
18
+ return ((e = g.value) == null ? void 0 : e.formConfig) || {};
19
19
  });
20
- c("formConfig", o), c("formWidgetId", h);
21
- const p = m(() => {
20
+ c("formConfig", o), c("formWidgetId", w);
21
+ const W = d(() => {
22
22
  var e;
23
- return ((e = v.value) == null ? void 0 : e.widgetList) || [];
24
- }), U = m(() => {
23
+ return ((e = g.value) == null ? void 0 : e.widgetList) || [];
24
+ }), j = d(() => {
25
25
  var e;
26
26
  return ((e = o.value) == null ? void 0 : e.labelPosition) || "horizontal";
27
- }), _ = (e) => {
28
- P.value = e;
29
- }, j = m(() => {
27
+ }), q = (e) => {
28
+ T.value = e;
29
+ }, S = d(() => {
30
30
  var e;
31
31
  return (e = o.value) != null && e.labelWidth ? `${o.value.labelWidth}px` : "80px";
32
- }), q = m(() => {
32
+ }), k = d(() => {
33
33
  var e;
34
34
  return ((e = o.value) == null ? void 0 : e.customClass) || "";
35
35
  });
36
- let f = V(D, p.value || []);
37
- le(() => {
38
- f = V(D, p.value || []);
36
+ let u = B(x);
37
+ ue(() => {
38
+ u = B(x);
39
39
  });
40
- const E = async (e) => {
41
- console.log({ json: e }), v.value = e || { widgetList: [], formConfig: {} }, a.value = {}, re(), await fe(), ne();
42
- }, S = () => a.value || {}, z = (e) => {
40
+ const V = async (e) => {
41
+ console.log({ json: e }), g.value = e || { widgetList: [], formConfig: {} }, s.value = {}, await de(), re();
42
+ }, z = () => s.value || {}, A = (e) => {
43
43
  e && Object.keys(e).forEach((t) => {
44
- Object.prototype.hasOwnProperty.call(a.value, t) && (a.value[t] = e[t]);
44
+ t === "processingDescribe" && console.log(e[t]), Object.prototype.hasOwnProperty.call(s.value, t) && (s.value[t] = e[t]);
45
45
  });
46
- }, A = (e) => {
46
+ }, G = (e) => {
47
47
  L.value = e;
48
- }, G = () => {
49
- f.resetValidation();
50
48
  }, K = () => {
51
- f.clearValidate();
52
- }, Q = (e) => {
53
- M.value = e;
54
- }, X = () => {
55
- if (!i.parentForm)
56
- return R();
57
- let e = i.parentForm;
49
+ u.resetValidation();
50
+ }, Q = () => {
51
+ u.clearValidate();
52
+ }, X = (e) => {
53
+ y.value = e;
54
+ }, Y = () => {
55
+ if (!a.parentForm)
56
+ return h();
57
+ let e = a.parentForm;
58
58
  for (; e.parentForm; )
59
59
  e = e.parentForm;
60
60
  return e;
61
- }, Y = (e, t = {}, r = {}) => {
61
+ }, Z = (e, t = {}, r = {}) => {
62
62
  var I, O;
63
- const n = X(), s = B((n == null ? void 0 : n.widgetList) || [], e) || B(p.value || [], e);
64
- if (s === null) {
65
- H.error(d("render.hint.refNotFound") + e);
63
+ const n = Y(), i = H((n == null ? void 0 : n.widgetList) || [], e) || H(W.value || [], e);
64
+ if (i === null) {
65
+ J.error(v("render.hint.refNotFound") + e);
66
66
  return;
67
67
  }
68
- if (!e || s.type !== "vf-dialog") {
69
- H.error(d("render.hint.refNotFound") + e);
68
+ if (!e || i.type !== "vf-dialog") {
69
+ J.error(v("render.hint.refNotFound") + e);
70
70
  return;
71
71
  }
72
- const u = {
73
- widgetList: pe((s == null ? void 0 : s.widgetList) || []),
74
- formConfig: ue(((I = n == null ? void 0 : n.formConfig) == null ? void 0 : I.value) || {})
75
- }, ie = Fe();
72
+ const m = {
73
+ widgetList: we((i == null ? void 0 : i.widgetList) || []),
74
+ formConfig: pe(((I = n == null ? void 0 : n.formConfig) == null ? void 0 : I.value) || {})
75
+ }, fe = xe();
76
76
  b.value = {
77
- options: s.options,
78
- formJson: u,
77
+ options: i.options,
78
+ formJson: m,
79
79
  formData: { ...t },
80
80
  optionData: n.optionData,
81
81
  globalDsv: n.globalDsv,
82
- parentFormRef: g.value,
82
+ parentFormRef: f.value,
83
83
  extraData: r,
84
- wrapperId: ie,
84
+ wrapperId: fe,
85
85
  vfCtx: { ...t }
86
- }, (O = C.value) == null || O.show();
87
- }, Z = () => i.parentForm, N = () => {
86
+ }, (O = p.value) == null || O.show();
87
+ }, N = () => a.parentForm, ee = () => {
88
88
  var e;
89
- return (e = C.value) == null ? void 0 : e.getFormRef();
90
- }, ee = () => {
91
- F.off$("fieldChange"), F.on$("fieldChange", ({ fieldName: e, value: t }) => {
92
- typeof e < "u" && typeof t < "u" && ge(a.value, e, t);
89
+ return (e = p.value) == null ? void 0 : e.getFormRef();
90
+ }, te = () => {
91
+ C.off$("fieldChange"), C.on$("fieldChange", ({ fieldName: e, value: t }) => {
92
+ typeof e < "u" && typeof t < "u" && Fe(s.value, e, t);
93
93
  });
94
- }, te = async () => {
95
- const e = o.value.serveList, t = await W(e.vformDetail, {
96
- vfCtx: i.vfCtx
94
+ }, oe = async () => {
95
+ const e = o.value.serveList, t = await M(e.vformDetail, {
96
+ vfCtx: a.vfCtx
97
97
  });
98
98
  return console.log("res: ", t), t;
99
- }, oe = async () => {
100
- if (!await f.validate()) throw new Error(d("表单验证失败"));
101
- const t = o.value.serveList, r = await W(t.vformUpdate, {
102
- data: a.value,
103
- vfCtx: i.vfCtx
99
+ }, ne = async () => {
100
+ if (!await u.validate()) throw new Error(v("表单验证失败"));
101
+ const t = o.value.serveList, r = await M(t.vformUpdate, {
102
+ data: s.value,
103
+ vfCtx: a.vfCtx
104
104
  });
105
105
  return console.log("res: ", r), r;
106
- }, ne = () => {
106
+ }, re = () => {
107
107
  var e, t;
108
- (e = o.value) != null && e.onFormMounted && (console.log("onFormMounted: "), T({
108
+ (e = o.value) != null && e.onFormMounted && (console.log("onFormMounted: "), $({
109
109
  functionBody: (t = o.value) == null ? void 0 : t.onFormMounted
110
110
  }));
111
- }, re = () => {
112
- const e = "vfRender" + ve(), { cssCode: t, functions: r } = o.value;
113
- console.log({ cssCode: t }), t && me(t, e || ""), r && de(r, e || "");
114
111
  }, se = () => {
112
+ const e = "vfRender" + Ce(), { cssCode: t, functions: r } = o.value;
113
+ t && ve(t, e || ""), r && ge(r, e || "");
114
+ }, ie = () => {
115
115
  var t;
116
- const e = (t = g.value) == null ? void 0 : t.$router;
116
+ const e = (t = f.value) == null ? void 0 : t.$router;
117
117
  e == null || e.replace({
118
118
  query: {
119
119
  ...e.currentRoute.value.query,
@@ -121,62 +121,70 @@ const Te = ({ renderForm: D, props: i }) => {
121
121
  }
122
122
  });
123
123
  }, ae = (e, t) => {
124
- var n, s;
125
- const r = (n = R().vfCtx) == null ? void 0 : n.goBack;
124
+ var n, i;
125
+ const r = (n = h().vfCtx) == null ? void 0 : n.goBack;
126
126
  if (typeof r == "function")
127
127
  r(e, t);
128
128
  else {
129
- const u = (s = g.value) == null ? void 0 : s.$router;
130
- u == null || u.go(-1);
129
+ const m = (i = f.value) == null ? void 0 : i.$router;
130
+ m == null || m.go(-1);
131
131
  }
132
- };
133
- return ce(() => {
134
- x && E(x), ee();
135
- }), {
136
- i18nt: d,
132
+ }, le = (e) => s.value[e], ce = () => a.vfCtx;
133
+ me(() => {
134
+ D && V(D), te(), se();
135
+ });
136
+ const E = {
137
+ context: f,
138
+ i18nt: v,
137
139
  goBack: ae,
138
- reload: se,
139
- formWidgetId: h,
140
- vfCtx: i.vfCtx,
141
- getParentFormRef: Z,
142
- getFormRef: R,
143
- getWidgetRef: $,
144
- registerToRefList: k,
145
- dialogOrDrawerRef: M,
146
- setDialogOrDrawerRef: Q,
147
- showDialog: Y,
148
- setFormData: z,
149
- setReadMode: J,
150
- setFormJson: E,
151
- setLoading: A,
152
- onFormDetail: te,
153
- onFormUpdate: oe,
154
- emitter: F,
155
- context: g,
156
- getFormData: S,
157
- getChildFormRef: N,
158
- // 状态
159
- formJsonObj: v,
160
- formDataModel: a,
140
+ reload: ie,
141
+ getFieldValue: le,
142
+ resetValidation: K,
143
+ clearValidate: Q,
144
+ getVfCtx: ce,
145
+ getParentFormRef: N,
146
+ getFormRef: h,
147
+ getWidgetRef: U,
148
+ showDialog: Z,
149
+ getFormData: z,
150
+ getChildFormRef: ee,
151
+ setFormData: A,
152
+ setReadMode: P,
153
+ setFormJson: V,
154
+ setLoading: G,
155
+ onFormDetail: oe,
156
+ onFormUpdate: ne,
157
+ formDataModel: s,
161
158
  isLoading: L,
162
- readModeFlag: y,
163
- // 引用
164
- widgetRefList: w,
165
- formValidator: f,
159
+ vfCtx: a.vfCtx,
166
160
  // 计算属性
167
161
  formConfig: o,
168
- widgetList: p,
169
- labelPosition: U,
170
- labelWidth: j,
171
- customClass: q,
172
- dynamicDialgRef: C,
162
+ dynamicDialgRef: p,
163
+ setChildFormRef: q
164
+ };
165
+ return {
166
+ formWidgetId: w,
167
+ registerToRefList: _,
168
+ dialogOrDrawerRef: y,
169
+ setDialogOrDrawerRef: X,
170
+ emitter: C,
171
+ context: f,
172
+ // 状态
173
+ formJsonObj: g,
174
+ readModeFlag: R,
175
+ // 引用
176
+ widgetRefList: F,
177
+ formValidator: u,
178
+ widgetList: W,
179
+ labelPosition: j,
180
+ labelWidth: S,
181
+ customClass: k,
173
182
  dialogProps: b,
174
- setChildFormRef: _,
175
- resetValidation: G,
176
- clearValidate: K
183
+ expose: E,
184
+ ...E
177
185
  };
178
186
  };
179
187
  export {
180
- Te as useFormContext
188
+ _e as useFormContext
181
189
  };
182
190
  //# sourceMappingURL=useFormContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFormContext.js","sources":["../../../../src/components/FormRender/useFormContext.ts"],"sourcesContent":["import { computed, nextTick, onMounted, provide, ref, watchEffect } from 'vue';\nimport { useFormValidation } from './formValidation';\n\n/**\n * 表单上下文接口\n */\nimport { FormConfig, Widget } from '@/types/schema';\nimport {\n cloneFormConfigWithoutEventHandler,\n generateId,\n getContainerWidgetByName,\n insertCustomCssToHead,\n insertGlobalFunctionsToHtml\n} from '@/utils/util';\nimport { cloneDeep, set } from 'lodash-es';\nimport { message } from 'ant-design-vue';\nimport { useI18n } from '@/utils/i18n';\nimport { getUuidKey } from '@kp-ui/tool';\nimport { routerReloadStatus, useComRef, useExecFunction, useRef } from 'tmgc2-share';\nimport DynamicDialog from '../form-render/dynamic-dialog.vue';\nimport { useEmitter } from '@/utils/useEmitter';\nimport { useAppRef } from '../form-designer/useAppRef';\nexport interface FormRenderProps {\n vfCtx?: Record<string, any>;\n formJson?: any;\n formData?: Record<string, any>;\n optionData?: Record<string, any>;\n disabledMode?: boolean;\n renderConfig?: {\n languageName?: string;\n };\n globalDsv?: Record<string, any>;\n parentForm?: any;\n dynamicCreation?: boolean;\n debug?: boolean;\n}\n\n/**\n * 表单上下文配置\n */\nexport interface FormContextOptions {\n props: FormRenderProps;\n renderForm: any;\n}\n\n/**\n * 创建表单上下文\n * @param options 表单上下文配置\n * @returns 表单上下文\n */\nexport const useFormContext = ({ renderForm, props }: FormContextOptions) => {\n const { formJson } = props;\n const dynamicDialgRef = useComRef(DynamicDialog);\n const { i18nt } = useI18n();\n const [readModeFlag, setReadMode] = useRef(false);\n\n const emitter = useEmitter();\n\n const formJsonObj = ref();\n // 状态变量\n const formDataModel = ref<Record<string, any>>({});\n const isLoading = ref(false);\n const widgetRefList = ref<Map<string, any>>(new Map());\n const dialogProps = ref({});\n const childFormRef = ref();\n\n const formWidgetId = Symbol('formWidget');\n\n // 提供给子组件的数据\n provide('refList', widgetRefList);\n provide('formData', formDataModel);\n provide('getReadMode', () => readModeFlag.value);\n provide('designState', false); // 设计态标识\n\n const dialogOrDrawerRef = ref();\n\n const { executeFunction, context, execHttpFunction } = useExecFunction();\n const { getFormRef, getWidgetRef, registerToRefList } = useAppRef(widgetRefList, formWidgetId);\n\n // 计算属性\n const formConfig = computed<FormConfig>(() => formJsonObj.value?.formConfig || {});\n\n provide('formConfig', formConfig);\n provide('formWidgetId', formWidgetId);\n\n const widgetList = computed(() => formJsonObj.value?.widgetList || []);\n const labelPosition = computed(() => {\n return formConfig.value?.labelPosition || 'horizontal';\n });\n\n const setChildFormRef = chid => {\n childFormRef.value = chid;\n };\n\n const labelWidth = computed(() => {\n return formConfig.value?.labelWidth ? `${formConfig.value.labelWidth}px` : '80px';\n });\n\n const customClass = computed(() => {\n return formConfig.value?.customClass || '';\n });\n\n // 初始化表单验证器\n let formValidator = useFormValidation(renderForm, widgetList.value || []);\n\n // 监听 widgetList 变化,重新初始化验证器\n watchEffect(() => {\n formValidator = useFormValidation(renderForm, widgetList.value || []);\n });\n\n /**\n * 设置表单JSON数据\n */\n const setFormJson = async (json: any) => {\n console.log({ json });\n\n formJsonObj.value = json || { widgetList: [], formConfig: {} };\n // 重新构建表单数据模型\n formDataModel.value = {};\n insertCustomCode();\n await nextTick();\n handleOnMounted();\n };\n\n /**\n * 获取表单数据\n */\n const getFormData = () => {\n return formDataModel.value || {};\n };\n\n /**\n * 设置表单数据\n */\n const setFormData = (data: Record<string, any>) => {\n if (!data) return;\n // 更新表单数据模型\n Object.keys(data).forEach(key => {\n if (Object.prototype.hasOwnProperty.call(formDataModel.value, key)) {\n formDataModel.value[key] = data[key];\n }\n });\n };\n\n /**\n * 设置加载状态\n */\n const setLoading = (loading: boolean) => {\n isLoading.value = loading;\n };\n\n /**\n * 重置表单验证\n */\n const resetValidation = () => {\n formValidator.resetValidation();\n };\n\n /**\n * 清除表单验证\n */\n const clearValidate = () => {\n formValidator.clearValidate();\n };\n\n const setDialogOrDrawerRef = (ddRef: any) => {\n dialogOrDrawerRef.value = ddRef;\n };\n\n /**\n * 当显示多级嵌套弹窗或抽屉时,获取最顶层VFormRender组件实例\n * @returns {object}\n */\n const getTopFormRef = () => {\n if (!props.parentForm) {\n return getFormRef();\n }\n\n let topFormRef = props.parentForm;\n while (topFormRef.parentForm) {\n topFormRef = topFormRef.parentForm;\n }\n\n return topFormRef;\n };\n\n /**\n * 显示弹窗表单,动态创建v-form-render组件,option-data、global-dsv等属性继承父级表单\n * @param dialogName\n * @param formData\n * @param extraData\n */\n const showDialog = (dialogName, formData = {}, extraData = {}) => {\n const topFormRef = getTopFormRef();\n const dialogCon = (getContainerWidgetByName(topFormRef?.widgetList || [], dialogName) ||\n getContainerWidgetByName(widgetList.value || [], dialogName)) as Widget | null;\n\n if (dialogCon === null) {\n message.error(i18nt('render.hint.refNotFound') + dialogName);\n return;\n }\n\n if (!dialogName || dialogCon.type !== 'vf-dialog') {\n message.error(i18nt('render.hint.refNotFound') + dialogName);\n return;\n }\n const dFormJson = {\n widgetList: cloneDeep(dialogCon?.widgetList || []),\n formConfig: cloneFormConfigWithoutEventHandler(topFormRef?.formConfig?.value || {})\n };\n const wrapperDivId = getUuidKey();\n dialogProps.value = {\n options: dialogCon.options,\n formJson: dFormJson,\n formData: { ...formData },\n optionData: topFormRef.optionData,\n globalDsv: topFormRef.globalDsv,\n parentFormRef: context.value,\n extraData: extraData,\n wrapperId: wrapperDivId,\n vfCtx: { ...formData }\n };\n\n dynamicDialgRef.value?.show();\n };\n /**\n * 获取父级VFormRender组件实例\n * @returns {object}\n */\n const getParentFormRef = () => {\n return props.parentForm;\n };\n\n const getChildFormRef = () => {\n return dynamicDialgRef.value?.getFormRef();\n };\n\n /**\n * 字段值变化事件处理器\n */\n const fieldChangeEventHandler = () => {\n emitter.off$('fieldChange');\n emitter.on$('fieldChange', ({ fieldName, value }) => {\n // 过滤掉错误值\n if (typeof fieldName !== 'undefined' && typeof value !== 'undefined') {\n set(formDataModel.value, fieldName, value);\n }\n });\n };\n\n const onFormDetail = async () => {\n const serveList = formConfig.value.serveList;\n const res = await execHttpFunction(serveList.vformDetail, {\n vfCtx: props.vfCtx\n });\n console.log('res: ', res);\n return res;\n };\n\n const onFormUpdate = async () => {\n const valid = await formValidator.validate();\n if (!valid) throw new Error(i18nt('表单验证失败'));\n\n const serveList = formConfig.value.serveList;\n const res = await execHttpFunction(serveList.vformUpdate, {\n data: formDataModel.value,\n vfCtx: props.vfCtx\n });\n console.log('res: ', res);\n return res;\n };\n\n const handleOnMounted = () => {\n if (formConfig.value?.onFormMounted) {\n console.log('onFormMounted: ');\n executeFunction({\n functionBody: formConfig.value?.onFormMounted\n });\n }\n };\n\n /**\n * 插入自定义样式和脚本\n * @param cssCode CSS代码\n * @param functions 自定义函数\n * @param formId 表单ID\n */\n const insertCustomCode = () => {\n const formId = 'vfRender' + generateId();\n const { cssCode, functions } = formConfig.value;\n console.log({ cssCode });\n\n if (cssCode) {\n insertCustomCssToHead(cssCode, formId || '');\n }\n if (functions) {\n insertGlobalFunctionsToHtml(functions, formId || '');\n }\n };\n\n const reload = () => {\n const router = context.value?.$router;\n router?.replace({\n query: {\n ...router.currentRoute.value.query,\n _t: Date.now()\n }\n });\n };\n\n const goBack = (reloadStatus?: routerReloadStatus, cb?: () => void) => {\n const goBack = getFormRef().vfCtx?.goBack;\n if (typeof goBack === 'function') {\n goBack(reloadStatus, cb);\n } else {\n const router = context.value?.$router;\n router?.go(-1);\n }\n };\n\n onMounted(() => {\n if (formJson) {\n setFormJson(formJson);\n }\n fieldChangeEventHandler();\n });\n\n return {\n i18nt,\n goBack,\n reload,\n formWidgetId,\n vfCtx: props.vfCtx,\n getParentFormRef,\n getFormRef,\n getWidgetRef,\n registerToRefList,\n dialogOrDrawerRef,\n setDialogOrDrawerRef,\n showDialog,\n setFormData,\n setReadMode,\n setFormJson,\n setLoading,\n onFormDetail,\n onFormUpdate,\n emitter,\n context,\n getFormData,\n getChildFormRef,\n // 状态\n formJsonObj,\n formDataModel,\n isLoading,\n readModeFlag,\n\n // 引用\n widgetRefList,\n\n formValidator,\n\n // 计算属性\n formConfig,\n widgetList,\n labelPosition,\n labelWidth,\n customClass,\n dynamicDialgRef,\n dialogProps,\n\n setChildFormRef,\n resetValidation,\n clearValidate\n };\n};\n"],"names":["useFormContext","renderForm","props","formJson","dynamicDialgRef","useComRef","DynamicDialog","i18nt","useI18n","readModeFlag","setReadMode","useRef","emitter","useEmitter","formJsonObj","ref","formDataModel","isLoading","widgetRefList","dialogProps","childFormRef","formWidgetId","provide","dialogOrDrawerRef","executeFunction","context","execHttpFunction","useExecFunction","getFormRef","getWidgetRef","registerToRefList","useAppRef","formConfig","computed","_a","widgetList","labelPosition","setChildFormRef","chid","labelWidth","customClass","formValidator","useFormValidation","watchEffect","setFormJson","json","insertCustomCode","nextTick","handleOnMounted","getFormData","setFormData","data","key","setLoading","loading","resetValidation","clearValidate","setDialogOrDrawerRef","ddRef","getTopFormRef","topFormRef","showDialog","dialogName","formData","extraData","dialogCon","getContainerWidgetByName","message","dFormJson","cloneDeep","cloneFormConfigWithoutEventHandler","wrapperDivId","getUuidKey","_b","getParentFormRef","getChildFormRef","fieldChangeEventHandler","fieldName","value","set","onFormDetail","serveList","res","onFormUpdate","formId","generateId","cssCode","functions","insertCustomCssToHead","insertGlobalFunctionsToHtml","reload","router","goBack","reloadStatus","cb","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"useFormContext.js","sources":["../../../../src/components/FormRender/useFormContext.ts"],"sourcesContent":["import { computed, nextTick, onMounted, provide, ref, watchEffect } from 'vue';\nimport { useFormValidation } from './formValidation';\n\n/**\n * 表单上下文接口\n */\nimport { Widget } from '@/types/schema';\nimport {\n cloneFormConfigWithoutEventHandler,\n generateId,\n getContainerWidgetByName,\n insertCustomCssToHead,\n insertGlobalFunctionsToHtml\n} from '@/utils/util';\nimport { cloneDeep, set } from 'lodash-es';\nimport { message } from 'ant-design-vue';\nimport { useI18n } from '@/utils/i18n';\nimport { getUuidKey } from '@kp-ui/tool';\nimport { routerReloadStatus, useComRef, useExecFunction, useRef } from 'tmgc2-share';\nimport DynamicDialog from '../form-render/dynamic-dialog.vue';\nimport { useEmitter } from '@/utils/useEmitter';\nimport { useAppRef } from '../form-designer/useAppRef';\nexport interface FormRenderProps {\n vfCtx?: Record<string, any>;\n formJson?: any;\n formData?: Record<string, any>;\n optionData?: Record<string, any>;\n disabledMode?: boolean;\n renderConfig?: {\n languageName?: string;\n };\n globalDsv?: Record<string, any>;\n parentForm?: any;\n dynamicCreation?: boolean;\n debug?: boolean;\n}\n\n/**\n * 表单上下文配置\n */\nexport interface FormContextOptions {\n props: FormRenderProps;\n renderForm: any;\n}\n\n/**\n * 创建表单上下文\n * @param options 表单上下文配置\n * @returns 表单上下文\n */\nexport const useFormContext = ({ renderForm, props }: FormContextOptions) => {\n const { formJson } = props;\n const dynamicDialgRef = useComRef(DynamicDialog);\n const { i18nt } = useI18n();\n const [readModeFlag, setReadMode] = useRef(false);\n\n const emitter = useEmitter();\n\n const formJsonObj = ref();\n // 状态变量\n const formDataModel = ref<Record<string, any>>({});\n const isLoading = ref(false);\n const widgetRefList = ref<Map<string, any>>(new Map());\n const dialogProps = ref({});\n const childFormRef = ref();\n\n const formWidgetId = Symbol('formWidget');\n\n // 提供给子组件的数据\n provide('refList', widgetRefList);\n provide('getFormConfig', () => formConfig.value);\n provide('formData', formDataModel);\n provide('getReadMode', () => readModeFlag.value);\n provide('designState', false); // 设计态标识\n\n const dialogOrDrawerRef = ref();\n\n const { executeFunction, context, execHttpFunction } = useExecFunction();\n const { getFormRef, getWidgetRef, registerToRefList } = useAppRef(widgetRefList, formWidgetId);\n\n // 计算属性\n const formConfig = computed(() => formJsonObj.value?.formConfig || {});\n\n provide('formConfig', formConfig);\n provide('formWidgetId', formWidgetId);\n\n const widgetList = computed(() => formJsonObj.value?.widgetList || []);\n const labelPosition = computed(() => {\n return formConfig.value?.labelPosition || 'horizontal';\n });\n\n const setChildFormRef = chid => {\n childFormRef.value = chid;\n };\n\n const labelWidth = computed(() => {\n return formConfig.value?.labelWidth ? `${formConfig.value.labelWidth}px` : '80px';\n });\n\n const customClass = computed(() => {\n return formConfig.value?.customClass || '';\n });\n\n // 初始化表单验证器\n let formValidator = useFormValidation(renderForm);\n\n // 监听 widgetList 变化,重新初始化验证器\n watchEffect(() => {\n formValidator = useFormValidation(renderForm);\n });\n\n /**\n * 设置表单JSON数据\n */\n const setFormJson = async (json: any) => {\n console.log({ json });\n\n formJsonObj.value = json || { widgetList: [], formConfig: {} };\n // 重新构建表单数据模型\n formDataModel.value = {};\n\n await nextTick();\n handleOnMounted();\n };\n\n /**\n * 获取表单数据\n */\n const getFormData = () => {\n return formDataModel.value || {};\n };\n\n /**\n * 设置表单数据\n */\n const setFormData = (data: Record<string, any>) => {\n if (!data) return;\n // 更新表单数据模型\n Object.keys(data).forEach(key => {\n if (key === 'processingDescribe') {\n console.log(data[key]);\n }\n if (Object.prototype.hasOwnProperty.call(formDataModel.value, key)) {\n formDataModel.value[key] = data[key];\n }\n });\n };\n\n /**\n * 设置加载状态\n */\n const setLoading = (loading: boolean) => {\n isLoading.value = loading;\n };\n\n /**\n * 重置表单验证\n */\n const resetValidation = () => {\n formValidator.resetValidation();\n };\n\n /**\n * 清除表单验证\n */\n const clearValidate = () => {\n formValidator.clearValidate();\n };\n\n const setDialogOrDrawerRef = (ddRef: any) => {\n dialogOrDrawerRef.value = ddRef;\n };\n\n /**\n * 当显示多级嵌套弹窗或抽屉时,获取最顶层VFormRender组件实例\n * @returns {object}\n */\n const getTopFormRef = () => {\n if (!props.parentForm) {\n return getFormRef();\n }\n\n let topFormRef = props.parentForm;\n while (topFormRef.parentForm) {\n topFormRef = topFormRef.parentForm;\n }\n\n return topFormRef;\n };\n\n /**\n * 显示弹窗表单,动态创建v-form-render组件,option-data、global-dsv等属性继承父级表单\n * @param dialogName\n * @param formData\n * @param extraData\n */\n const showDialog = (dialogName, formData = {}, extraData = {}) => {\n const topFormRef = getTopFormRef();\n const dialogCon = (getContainerWidgetByName(topFormRef?.widgetList || [], dialogName) ||\n getContainerWidgetByName(widgetList.value || [], dialogName)) as Widget | null;\n\n if (dialogCon === null) {\n message.error(i18nt('render.hint.refNotFound') + dialogName);\n return;\n }\n\n if (!dialogName || dialogCon.type !== 'vf-dialog') {\n message.error(i18nt('render.hint.refNotFound') + dialogName);\n return;\n }\n const dFormJson = {\n widgetList: cloneDeep(dialogCon?.widgetList || []),\n formConfig: cloneFormConfigWithoutEventHandler(topFormRef?.formConfig?.value || {})\n };\n const wrapperDivId = getUuidKey();\n dialogProps.value = {\n options: dialogCon.options,\n formJson: dFormJson,\n formData: { ...formData },\n optionData: topFormRef.optionData,\n globalDsv: topFormRef.globalDsv,\n parentFormRef: context.value,\n extraData: extraData,\n wrapperId: wrapperDivId,\n vfCtx: { ...formData }\n };\n\n dynamicDialgRef.value?.show();\n };\n /**\n * 获取父级VFormRender组件实例\n * @returns {object}\n */\n const getParentFormRef = () => {\n return props.parentForm;\n };\n\n const getChildFormRef = () => {\n return dynamicDialgRef.value?.getFormRef();\n };\n\n /**\n * 字段值变化事件处理器\n */\n const fieldChangeEventHandler = () => {\n emitter.off$('fieldChange');\n emitter.on$('fieldChange', ({ fieldName, value }) => {\n // 过滤掉错误值\n if (typeof fieldName !== 'undefined' && typeof value !== 'undefined') {\n set(formDataModel.value, fieldName, value);\n }\n });\n };\n\n const onFormDetail = async () => {\n const serveList = formConfig.value.serveList;\n const res = await execHttpFunction(serveList.vformDetail, {\n vfCtx: props.vfCtx\n });\n console.log('res: ', res);\n return res;\n };\n\n const onFormUpdate = async () => {\n const valid = await formValidator.validate();\n if (!valid) throw new Error(i18nt('表单验证失败'));\n\n const serveList = formConfig.value.serveList;\n const res = await execHttpFunction(serveList.vformUpdate, {\n data: formDataModel.value,\n vfCtx: props.vfCtx\n });\n console.log('res: ', res);\n return res;\n };\n\n const handleOnMounted = () => {\n if (formConfig.value?.onFormMounted) {\n console.log('onFormMounted: ');\n executeFunction({\n functionBody: formConfig.value?.onFormMounted\n });\n }\n };\n\n /**\n * 插入自定义样式和脚本\n * @param cssCode CSS代码\n * @param functions 自定义函数\n * @param formId 表单ID\n */\n const insertCustomCode = () => {\n const formId = 'vfRender' + generateId();\n const { cssCode, functions } = formConfig.value;\n if (cssCode) {\n insertCustomCssToHead(cssCode, formId || '');\n }\n if (functions) {\n insertGlobalFunctionsToHtml(functions, formId || '');\n }\n };\n\n const reload = () => {\n const router = context.value?.$router;\n router?.replace({\n query: {\n ...router.currentRoute.value.query,\n _t: Date.now()\n }\n });\n };\n\n const goBack = (reloadStatus?: routerReloadStatus, cb?: () => void) => {\n const goBack = getFormRef().vfCtx?.goBack;\n if (typeof goBack === 'function') {\n goBack(reloadStatus, cb);\n } else {\n const router = context.value?.$router;\n router?.go(-1);\n }\n };\n\n const getFieldValue = (field: string) => {\n return formDataModel.value[field];\n };\n\n const getVfCtx = () => {\n return props.vfCtx;\n };\n\n onMounted(() => {\n if (formJson) {\n setFormJson(formJson);\n }\n fieldChangeEventHandler();\n insertCustomCode();\n });\n\n const expose = {\n context,\n i18nt,\n goBack,\n reload,\n getFieldValue,\n resetValidation,\n clearValidate,\n getVfCtx,\n getParentFormRef,\n getFormRef,\n getWidgetRef,\n showDialog,\n getFormData,\n getChildFormRef,\n setFormData,\n setReadMode,\n setFormJson,\n setLoading,\n onFormDetail,\n onFormUpdate,\n formDataModel,\n isLoading,\n vfCtx: props.vfCtx,\n // 计算属性\n formConfig,\n dynamicDialgRef,\n setChildFormRef\n };\n\n return {\n formWidgetId,\n registerToRefList,\n dialogOrDrawerRef,\n setDialogOrDrawerRef,\n\n emitter,\n context,\n // 状态\n formJsonObj,\n readModeFlag,\n // 引用\n widgetRefList,\n formValidator,\n\n widgetList,\n labelPosition,\n labelWidth,\n customClass,\n dialogProps,\n\n expose,\n ...expose\n };\n};\n"],"names":["useFormContext","renderForm","props","formJson","dynamicDialgRef","useComRef","DynamicDialog","i18nt","useI18n","readModeFlag","setReadMode","useRef","emitter","useEmitter","formJsonObj","ref","formDataModel","isLoading","widgetRefList","dialogProps","childFormRef","formWidgetId","provide","formConfig","dialogOrDrawerRef","executeFunction","context","execHttpFunction","useExecFunction","getFormRef","getWidgetRef","registerToRefList","useAppRef","computed","_a","widgetList","labelPosition","setChildFormRef","chid","labelWidth","customClass","formValidator","useFormValidation","watchEffect","setFormJson","json","nextTick","handleOnMounted","getFormData","setFormData","data","key","setLoading","loading","resetValidation","clearValidate","setDialogOrDrawerRef","ddRef","getTopFormRef","topFormRef","showDialog","dialogName","formData","extraData","dialogCon","getContainerWidgetByName","message","dFormJson","cloneDeep","cloneFormConfigWithoutEventHandler","wrapperDivId","getUuidKey","_b","getParentFormRef","getChildFormRef","fieldChangeEventHandler","fieldName","value","set","onFormDetail","serveList","res","onFormUpdate","insertCustomCode","formId","generateId","cssCode","functions","insertCustomCssToHead","insertGlobalFunctionsToHtml","reload","router","goBack","reloadStatus","cb","getFieldValue","field","getVfCtx","onMounted","expose"],"mappings":"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"}