cnhis-design-vue 3.1.14-beta.8 → 3.1.15-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/README.md +23 -23
  2. package/es/_virtual/plugin-vue_export-helper.js +9 -0
  3. package/es/node_modules/@formily/path/esm/contexts.js +22 -0
  4. package/es/node_modules/@formily/path/esm/destructor.js +124 -0
  5. package/es/node_modules/@formily/path/esm/index.js +579 -0
  6. package/es/node_modules/@formily/path/esm/matcher.js +199 -0
  7. package/es/node_modules/@formily/path/esm/parser.js +402 -0
  8. package/es/node_modules/@formily/path/esm/shared.js +73 -0
  9. package/es/node_modules/@formily/path/esm/tokenizer.js +287 -0
  10. package/es/node_modules/@formily/path/esm/tokens.js +240 -0
  11. package/es/node_modules/@formily/path/esm/types.js +17 -0
  12. package/es/packages/big-table/index.d.ts +14 -0
  13. package/es/packages/big-table/index.js +1 -2
  14. package/es/packages/big-table/src/BigTable.js +5 -3
  15. package/es/packages/big-table/src/BigTable.vue.d.ts +36 -13
  16. package/es/packages/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.js +44 -31
  17. package/es/packages/big-table/src/bigTableProps.d.ts +4 -0
  18. package/es/packages/big-table/src/bigTableProps.js +1 -0
  19. package/es/packages/big-table/src/components/NoData.js +73 -3
  20. package/es/packages/big-table/src/components/edit-form/edit-date.js +11 -3
  21. package/es/packages/big-table/src/components/edit-form/edit-input.js +15 -4
  22. package/es/packages/big-table/src/components/edit-form/edit-separate.js +89 -3
  23. package/es/packages/big-table/src/components/edit-form/edit-separate.vue.d.ts +9 -14
  24. package/es/packages/big-table/src/components/edit-form/edit-time.d.ts +43 -0
  25. package/es/packages/big-table/src/components/edit-form/edit-time.js +52 -0
  26. package/es/packages/big-table/src/components/input-button.js +34 -3
  27. package/es/packages/big-table/src/components/separate.js +29 -3
  28. package/es/packages/big-table/src/components/separate.vue.d.ts +3 -4
  29. package/es/packages/big-table/src/hooks/useColumnConfigAdaptor.js +51 -12
  30. package/es/packages/big-table/src/hooks/useEdit.d.ts +51 -13
  31. package/es/packages/big-table/src/hooks/useEdit.js +4 -3
  32. package/es/packages/big-table/src/hooks/useFormat.js +8 -1
  33. package/es/packages/big-table/src/hooks/useSeparateRow.js +4 -4
  34. package/es/packages/big-table/src/utils.js +2 -1
  35. package/es/packages/big-table/style/index.css +156 -2
  36. package/es/packages/bpmn-workflow/index.js +1 -2
  37. package/es/packages/bpmn-workflow/src/BpmnWorkflow.js +253 -3
  38. package/es/packages/button-print/index.js +1 -2
  39. package/es/packages/button-print/src/ButtonPrint.js +5 -3
  40. package/es/packages/button-print/src/ButtonPrint.vue_vue_type_script_setup_true_lang.js +6 -7
  41. package/es/packages/button-print/src/components/IdentityVerification.js +129 -3
  42. package/es/packages/button-print/src/utils/print.d.ts +1 -1
  43. package/es/packages/button-print/src/utils/print.js +4 -4
  44. package/es/packages/chunk-upload/index.js +1 -1
  45. package/es/packages/chunk-upload/src/chunk-upload-new.js +474 -3
  46. package/es/packages/chunk-upload/src/vod-chunk-upload/index.js +2 -3
  47. package/es/packages/chunk-upload/src/vod-chunk-upload/vod-chunk-upload.js +328 -3
  48. package/es/packages/chunk-upload/src/vod-upload-modal.js +3 -4
  49. package/es/packages/drag-layout/index.js +1 -2
  50. package/es/packages/drag-layout/src/DragFormLeftItem.js +123 -3
  51. package/es/packages/drag-layout/src/DragFormRightItem.js +268 -3
  52. package/es/packages/drag-layout/src/DragLayout.js +658 -3
  53. package/es/packages/fabric-chart/index.d.ts +2 -0
  54. package/es/packages/fabric-chart/index.js +1 -2
  55. package/es/packages/fabric-chart/src/FabricChart.js +315 -3
  56. package/es/packages/fabric-chart/src/FabricChart.vue.d.ts +2 -0
  57. package/es/packages/fabric-chart/src/components/PopupTip.js +33 -3
  58. package/es/packages/fabric-chart/src/hooks/useCenter.js +41 -25
  59. package/es/packages/fabric-chart/src/hooks/useDraw.js +1 -0
  60. package/es/packages/fabric-chart/src/hooks/useEvent.js +9 -7
  61. package/es/packages/fabric-chart/src/hooks/useLeft.js +28 -17
  62. package/es/packages/fabric-chart/src/hooks/useRight.js +2 -13
  63. package/es/packages/fabric-chart/src/hooks/useTop.js +9 -10
  64. package/es/packages/fabric-chart/src/interface.d.ts +4 -0
  65. package/es/packages/field-set/index.d.ts +2509 -5166
  66. package/es/packages/field-set/index.js +1 -2
  67. package/es/packages/field-set/src/FieldSet.js +346 -3
  68. package/es/packages/field-set/src/FieldSet.vue.d.ts +2492 -5169
  69. package/es/packages/form-render/index.d.ts +0 -2
  70. package/es/packages/form-render/index.js +2 -3
  71. package/es/packages/form-render/src/FormRender.js +203 -3
  72. package/es/packages/form-render/src/FormRender.vue.d.ts +0 -2
  73. package/es/packages/form-render/src/components/renderer/cascader.d.ts +6 -6
  74. package/es/packages/form-render/src/components/renderer/cascader.js +73 -85
  75. package/es/packages/form-render/src/components/renderer/combination.d.ts +6 -0
  76. package/es/packages/form-render/src/components/renderer/combination.js +76 -20
  77. package/es/packages/form-render/src/components/renderer/formItem.js +1 -1
  78. package/es/packages/form-render/src/components/renderer/input.js +5 -16
  79. package/es/packages/form-render/src/components/renderer/inputNumber.d.ts +12 -0
  80. package/es/packages/form-render/src/components/renderer/inputNumber.js +11 -4
  81. package/es/packages/form-render/src/components/renderer/radio.d.ts +12 -4
  82. package/es/packages/form-render/src/components/renderer/radio.js +23 -5
  83. package/es/packages/form-render/src/components/renderer/select.js +56 -56
  84. package/es/packages/form-render/src/components/renderer/simpleComponent.d.ts +17 -2
  85. package/es/packages/form-render/src/components/renderer/simpleComponent.js +16 -14
  86. package/es/packages/form-render/src/hooks/useAsyncQueue.d.ts +1 -1
  87. package/es/packages/form-render/src/hooks/useAsyncQueue.js +1 -1
  88. package/es/packages/form-render/src/hooks/useChangeContext.d.ts +1 -1
  89. package/es/packages/form-render/src/hooks/useChangeContext.js +1 -1
  90. package/es/packages/form-render/src/hooks/useFieldListAdaptor.js +16 -10
  91. package/es/packages/form-render/src/hooks/useFormItemDeps.d.ts +3 -2
  92. package/es/packages/form-render/src/hooks/useFormItemDeps.js +5 -6
  93. package/es/packages/form-render/src/hooks/useFormRequest.d.ts +2 -2
  94. package/es/packages/form-render/src/types/fieldItem.d.ts +123 -35
  95. package/es/packages/form-render/src/types/index.d.ts +4 -2
  96. package/es/packages/form-render/src/utils/index.d.ts +8 -4
  97. package/es/packages/form-render/src/utils/index.js +45 -16
  98. package/es/packages/form-table/index.js +1 -2
  99. package/es/packages/form-table/src/FormTable.js +475 -3
  100. package/es/packages/form-table/src/components/index.js +28 -42
  101. package/es/packages/form-table/src/components/table-age.js +232 -3
  102. package/es/packages/form-table/src/components/table-date-picker.js +176 -3
  103. package/es/packages/form-table/src/components/table-digital.js +138 -3
  104. package/es/packages/form-table/src/components/table-input-password.js +138 -3
  105. package/es/packages/form-table/src/components/table-input.js +124 -3
  106. package/es/packages/form-table/src/components/table-month-picker.js +100 -3
  107. package/es/packages/form-table/src/components/table-search-more.js +5 -3
  108. package/es/packages/form-table/src/components/table-search-more.vue_vue_type_script_setup_true_lang.js +2 -2
  109. package/es/packages/form-table/src/components/table-search.js +5 -3
  110. package/es/packages/form-table/src/components/table-search.vue_vue_type_script_setup_true_lang.js +2 -2
  111. package/es/packages/form-table/src/components/table-select-multiple.js +161 -3
  112. package/es/packages/form-table/src/components/table-select.js +156 -3
  113. package/es/packages/form-table/src/components/table-textarea.js +154 -3
  114. package/es/packages/form-table/src/components/table-time-picker.js +146 -3
  115. package/es/packages/form-table/src/components/table-tree-select.js +282 -3
  116. package/es/packages/form-table/src/components/text-over-tooltip.js +63 -3
  117. package/es/packages/index.css +159 -2
  118. package/es/packages/info-header/index.d.ts +1376 -361
  119. package/es/packages/info-header/index.js +1 -2
  120. package/es/packages/info-header/src/HiddenContent.js +65 -3
  121. package/es/packages/info-header/src/HiddenContent.vue.d.ts +689 -178
  122. package/es/packages/info-header/src/InfoEllipsis.js +43 -0
  123. package/es/packages/info-header/src/InfoEllipsis.vue.d.ts +833 -0
  124. package/es/packages/info-header/src/InfoHeader.js +229 -3
  125. package/es/packages/info-header/src/InfoHeader.vue.d.ts +1376 -361
  126. package/es/packages/info-header/style/index.css +3 -0
  127. package/es/packages/map/index.js +1 -2
  128. package/es/packages/map/src/Map.js +337 -3
  129. package/es/packages/scale-view/index.js +1 -2
  130. package/es/packages/scale-view/src/ScaleView.js +418 -3
  131. package/es/packages/scale-view/src/components/AnswerParse.js +79 -3
  132. package/es/packages/scale-view/src/components/EvaluateCountdown.js +108 -3
  133. package/es/packages/scale-view/src/components/EvaluatePage.js +140 -3
  134. package/es/packages/scale-view/src/components/LoadingCom.js +17 -5
  135. package/es/packages/scale-view/src/components/NoData.js +73 -3
  136. package/es/packages/scale-view/src/components/formitem/r-cascader.js +3 -3
  137. package/es/packages/scale-view/src/components/formitem/r-select.js +3 -3
  138. package/es/packages/scale-view/src/components/formitem/text-over-tooltip/TextOverTooltip.js +78 -3
  139. package/es/packages/select-label/index.js +3 -5
  140. package/es/packages/select-label/src/LabelFormContent.js +441 -3
  141. package/es/packages/select-label/src/SelectLabel.js +5 -3
  142. package/es/packages/select-label/src/SelectLabel.vue_vue_type_script_setup_true_lang.js +5 -21
  143. package/es/packages/select-label/src/components/label-classify.js +128 -3
  144. package/es/packages/select-person/index.js +1 -2
  145. package/es/packages/select-person/src/SearchTree.js +5 -3
  146. package/es/packages/select-person/src/SearchTree.vue_vue_type_script_setup_true_lang.js +2 -2
  147. package/es/packages/select-person/src/SelectPerson.js +5 -3
  148. package/es/packages/select-person/src/SelectPerson.vue_vue_type_script_setup_true_lang.js +4 -5
  149. package/es/packages/shortcut-provider/index.js +1 -2
  150. package/es/packages/shortcut-provider/src/ShortcutProvider.js +33 -3
  151. package/es/packages/shortcut-provider/src/types/index.d.ts +11 -9
  152. package/es/packages/shortcut-provider/src/utils/index.js +5 -5
  153. package/es/packages/shortcut-setter/index.d.ts +3247 -1486
  154. package/es/packages/shortcut-setter/index.js +1 -2
  155. package/es/packages/shortcut-setter/src/ShortcutSetter.js +42 -3
  156. package/es/packages/shortcut-setter/src/ShortcutSetter.vue.d.ts +3247 -1486
  157. package/es/packages/shortcut-setter/src/ShortcutSetterItem.js +139 -3
  158. package/es/packages/shortcut-setter/src/ShortcutSetterItem.vue.d.ts +1700 -1661
  159. package/es/packages/steps-wheel/index.js +1 -2
  160. package/es/packages/steps-wheel/src/StepsWheel.js +264 -3
  161. package/es/packages/time-line/index.js +1 -2
  162. package/es/packages/time-line/src/TimeLine.js +69 -3
  163. package/es/src/components/SelectPage/SelectPage.js +62 -3
  164. package/es/src/components/SelectPage/index.js +2 -3
  165. package/es/src/components/SlotRender/SlotRender.d.ts +4 -8
  166. package/es/src/components/SlotRender/SlotRender.js +4 -5
  167. package/es/src/components/SvgIcon/SvgIcon.js +35 -3
  168. package/es/src/components/SvgIcon/index.js +2 -3
  169. package/es/src/components/TextOverTooltip/TextOverTooltip.js +75 -3
  170. package/es/src/components/TextOverTooltip/index.js +2 -3
  171. package/es/src/components/player-vod/index.js +13 -3
  172. package/es/src/utils/anime.d.ts +1 -1
  173. package/global.d.ts +8 -8
  174. package/package.json +2 -2
  175. package/es/packages/big-table/src/components/NoData.vue_vue_type_script_setup_true_lang.js +0 -72
  176. package/es/packages/big-table/src/components/edit-form/edit-separate.vue_vue_type_script_setup_true_lang.js +0 -90
  177. package/es/packages/big-table/src/components/input-button.vue_vue_type_script_setup_true_lang.js +0 -33
  178. package/es/packages/big-table/src/components/separate.vue_vue_type_script_setup_true_lang.js +0 -24
  179. package/es/packages/bpmn-workflow/src/BpmnWorkflow.vue_vue_type_script_setup_true_lang.js +0 -252
  180. package/es/packages/button-print/src/components/IdentityVerification.vue_vue_type_script_setup_true_lang.js +0 -128
  181. package/es/packages/chunk-upload/src/chunk-upload-new.vue_vue_type_script_setup_true_lang.js +0 -473
  182. package/es/packages/chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue_vue_type_script_setup_true_lang.js +0 -327
  183. package/es/packages/drag-layout/src/DragFormLeftItem.vue_vue_type_script_setup_true_lang.js +0 -122
  184. package/es/packages/drag-layout/src/DragFormRightItem.vue_vue_type_script_setup_true_lang.js +0 -267
  185. package/es/packages/drag-layout/src/DragLayout.vue_vue_type_script_setup_true_lang.js +0 -659
  186. package/es/packages/fabric-chart/src/FabricChart.vue_vue_type_script_setup_true_lang.js +0 -305
  187. package/es/packages/fabric-chart/src/components/PopupTip.vue_vue_type_script_setup_true_lang.js +0 -32
  188. package/es/packages/field-set/src/FieldSet.vue_vue_type_script_setup_true_lang.js +0 -22
  189. package/es/packages/field-set/src/NewFieldSet.js +0 -4
  190. package/es/packages/field-set/src/NewFieldSet.vue.d.ts +0 -2607
  191. package/es/packages/field-set/src/NewFieldSet.vue_vue_type_script_setup_true_lang.js +0 -299
  192. package/es/packages/field-set/src/OldFieldSet.js +0 -4
  193. package/es/packages/field-set/src/OldFieldSet.vue.d.ts +0 -2610
  194. package/es/packages/field-set/src/OldFieldSet.vue_vue_type_script_setup_true_lang.js +0 -330
  195. package/es/packages/form-render/src/FormRender.vue_vue_type_script_setup_true_lang.js +0 -187
  196. package/es/packages/form-table/src/FormTable.vue_vue_type_script_setup_true_lang.js +0 -474
  197. package/es/packages/form-table/src/components/table-age.vue_vue_type_script_setup_true_lang.js +0 -232
  198. package/es/packages/form-table/src/components/table-date-picker.vue_vue_type_script_setup_true_lang.js +0 -175
  199. package/es/packages/form-table/src/components/table-digital.vue_vue_type_script_setup_true_lang.js +0 -138
  200. package/es/packages/form-table/src/components/table-input-password.vue_vue_type_script_setup_true_lang.js +0 -138
  201. package/es/packages/form-table/src/components/table-input.vue_vue_type_script_setup_true_lang.js +0 -124
  202. package/es/packages/form-table/src/components/table-month-picker.vue_vue_type_script_setup_true_lang.js +0 -99
  203. package/es/packages/form-table/src/components/table-select-multiple.vue_vue_type_script_setup_true_lang.js +0 -160
  204. package/es/packages/form-table/src/components/table-select.vue_vue_type_script_setup_true_lang.js +0 -155
  205. package/es/packages/form-table/src/components/table-textarea.vue_vue_type_script_setup_true_lang.js +0 -153
  206. package/es/packages/form-table/src/components/table-time-picker.vue_vue_type_script_setup_true_lang.js +0 -145
  207. package/es/packages/form-table/src/components/table-tree-select.vue_vue_type_script_setup_true_lang.js +0 -281
  208. package/es/packages/form-table/src/components/text-over-tooltip.vue_vue_type_script_setup_true_lang.js +0 -62
  209. package/es/packages/info-header/src/HiddenContent.vue_vue_type_script_setup_true_lang.js +0 -66
  210. package/es/packages/info-header/src/InfoHeader.vue_vue_type_script_setup_true_lang.js +0 -233
  211. package/es/packages/map/src/Map.vue_vue_type_script_setup_true_lang.js +0 -336
  212. package/es/packages/scale-view/src/ScaleView.vue_vue_type_script_setup_true_lang.js +0 -422
  213. package/es/packages/scale-view/src/components/AnswerParse.vue_vue_type_script_setup_true_lang.js +0 -78
  214. package/es/packages/scale-view/src/components/EvaluateCountdown.vue_vue_type_script_setup_true_lang.js +0 -107
  215. package/es/packages/scale-view/src/components/EvaluatePage.vue_vue_type_script_setup_true_lang.js +0 -139
  216. package/es/packages/scale-view/src/components/LoadingCom.vue_vue_type_template_id_413329b0_lang.js +0 -16
  217. package/es/packages/scale-view/src/components/NoData.vue_vue_type_script_setup_true_lang.js +0 -72
  218. package/es/packages/scale-view/src/components/formitem/text-over-tooltip/TextOverTooltip.vue_vue_type_script_setup_true_lang.js +0 -77
  219. package/es/packages/select-label/src/LabelFormContent.vue_vue_type_script_setup_true_lang.js +0 -441
  220. package/es/packages/select-label/src/components/label-classify.vue_vue_type_script_setup_true_lang.js +0 -127
  221. package/es/packages/shortcut-provider/src/ShortcutProvider.vue_vue_type_script_setup_true_lang.js +0 -32
  222. package/es/packages/shortcut-setter/src/ShortcutSetter.vue_vue_type_script_setup_true_lang.js +0 -38
  223. package/es/packages/shortcut-setter/src/ShortcutSetterItem.vue_vue_type_script_setup_true_lang.js +0 -125
  224. package/es/packages/steps-wheel/src/StepsWheel.vue_vue_type_script_setup_true_lang.js +0 -263
  225. package/es/packages/time-line/src/TimeLine.vue_vue_type_script_setup_true_lang.js +0 -68
  226. package/es/src/components/SelectPage/SelectPage.vue_vue_type_script_setup_true_lang.js +0 -61
  227. package/es/src/components/SvgIcon/SvgIcon.vue_vue_type_script_setup_true_lang.js +0 -34
  228. package/es/src/components/TextOverTooltip/TextOverTooltip.vue_vue_type_script_setup_true_lang.js +0 -74
  229. package/es/src/components/player-vod/index.vue_vue_type_script_setup_true_lang.js +0 -12
@@ -408,9 +408,7 @@ declare const FormRender: SFCWithInstall<import("vue").DefineComponent<{
408
408
  title: string;
409
409
  }[]>;
410
410
  formHeight: import("vue").ComputedRef<any>;
411
- scrollTo: (id: string) => Promise<void>;
412
411
  onScroll: () => void;
413
- bindInfo: (info: import("../../../es/src/types").AnyObject) => import("../../../es/src/types").AnyObject;
414
412
  queryWidget: (key: string, wrapperElement: HTMLElement, fieldList: import("./src/types").FieldItem[]) => Promise<{
415
413
  widgetElement: HTMLInputElement | null | undefined;
416
414
  widgetElementList: HTMLInputElement[];
@@ -1,7 +1,6 @@
1
1
  import { COMPONENT_NAMESPACE } from '../../src/global/variable';
2
2
  import { safeComponentRegister } from '../../src/utils';
3
- import './src/FormRender.js';
4
- import script from './src/FormRender.vue_vue_type_script_setup_true_lang.js';
3
+ import FormRender$1 from './src/FormRender.js';
5
4
  export { useFieldListAdaptor } from './src/hooks/useFieldListAdaptor.js';
6
5
  export { useFormRequest } from './src/hooks/useFormRequest.js';
7
6
  export { useCommonLog } from './src/hooks/useCommonLog.js';
@@ -17,7 +16,7 @@ export { useInitialData } from './src/hooks/useInitialData.js';
17
16
  export { useAnchor } from './src/hooks/useAnchor.js';
18
17
  export { useFormContext } from './src/hooks/useFormContext.js';
19
18
 
20
- const FormRender = script;
19
+ const FormRender = FormRender$1;
21
20
  FormRender.install = function(app) {
22
21
  safeComponentRegister(app, FormRender, COMPONENT_NAMESPACE + "FormRender");
23
22
  };
@@ -1,4 +1,204 @@
1
- import script from './FormRender.vue_vue_type_script_setup_true_lang.js';
2
- export { default } from './FormRender.vue_vue_type_script_setup_true_lang.js';
1
+ import { defineComponent, computed, watch, openBlock, createBlock, unref, withCtx, createElementBlock, createVNode, isRef, Fragment, renderList, createCommentVNode, createElementVNode, normalizeStyle, renderSlot, toDisplayString, nextTick } from 'vue';
2
+ import { createForm, onFieldValueChange, isField } from '@formily/core';
3
+ import { FormProvider, FormConsumer } from '@formily/vue';
4
+ import { cloneDeep, isArray, isObject } from 'lodash-es';
5
+ import { NForm, NTabs, NTabPane, NConfigProvider } from 'naive-ui';
6
+ import { FormItemLineBarDepKeyPrepend } from '../../../packages/form-render/src/constants';
7
+ import { arrayed, queryDecorator, queryInput, getParentLinebar } from '../../../packages/form-render/src/utils';
8
+ import { useNuiThemeOverrides } from '../../../packages/form-table/src/hooks/useNuiThemeOverrides';
9
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.js';
10
+ import { useFormContext } from './hooks/useFormContext.js';
11
+ import { useInitialData } from './hooks/useInitialData.js';
12
+ import { useFieldListAdaptor } from './hooks/useFieldListAdaptor.js';
13
+ import { useFieldVisitor } from './hooks/useFieldVisitor.js';
14
+ import { useAnchor } from './hooks/useAnchor.js';
3
15
 
4
- script.__file = "packages/form-render/src/FormRender.vue";
16
+ const _hoisted_1 = {
17
+ key: 0,
18
+ style: { "height": "50px" }
19
+ };
20
+ const _hoisted_2 = { style: { "white-space": "pre" } };
21
+ const _sfc_main = /* @__PURE__ */ defineComponent({
22
+ __name: "FormRender",
23
+ props: {
24
+ fieldList: { type: Array },
25
+ initialData: { type: Object, default: () => ({}) },
26
+ fieldVisitor: { type: Object },
27
+ column: { type: Number, default: 12 },
28
+ maxHeight: { type: [Number, String], default: "" },
29
+ anchor: { type: Boolean, default: false },
30
+ parallelism: { type: Number, default: 3 },
31
+ schema: { type: Object },
32
+ components: {
33
+ type: Object,
34
+ default: () => ({})
35
+ },
36
+ businessFilter: { type: Function },
37
+ scope: { type: Object, default: () => ({}) },
38
+ annotation: { type: Object },
39
+ consumer: { type: Boolean, default: false },
40
+ uuid: { type: String }
41
+ },
42
+ emits: [
43
+ "formChange"
44
+ ],
45
+ setup(__props, { expose, emit }) {
46
+ const props = __props;
47
+ const { nuiThemeOverrides } = useNuiThemeOverrides();
48
+ const { SchemaField, businessCollector, formItemDepsCollector, changeContextCollector, formUUID } = useFormContext(props);
49
+ const formModel = createForm({
50
+ initialValues: useInitialData().assignInitialData(props.initialData, props.fieldList),
51
+ effects() {
52
+ onFieldValueChange("*", (field) => {
53
+ const fieldKey = field.props.name.toString();
54
+ emit("formChange", {
55
+ fieldInstance: field,
56
+ fieldKey,
57
+ fieldName: field.title,
58
+ value: field.value,
59
+ context: changeContextCollector.getContext(fieldKey)
60
+ });
61
+ businessCollector.trigger(formModel, fieldKey, field.value);
62
+ formItemDepsCollector.trigger(fieldKey);
63
+ });
64
+ }
65
+ });
66
+ const { schemaAdaptor } = useFieldListAdaptor(businessCollector, formUUID);
67
+ const parsedSchema = computed(() => {
68
+ if (props.schema) {
69
+ return props.schema;
70
+ }
71
+ if (props.fieldList) {
72
+ const _fieldList = useFieldVisitor().traverse(cloneDeep(props.fieldList), props.fieldVisitor);
73
+ return { type: "object", properties: schemaAdaptor(_fieldList) };
74
+ }
75
+ return { type: "object", properties: {} };
76
+ });
77
+ const { currentAnchor, scrollbarRef, generateAnchorList, anchorIdList, formHeight, onScroll } = useAnchor(props, formItemDepsCollector);
78
+ watch(parsedSchema, generateAnchorList, { immediate: true });
79
+ async function queryWidget(key, wrapperElement, fieldList) {
80
+ if (!scrollbarRef.value)
81
+ return createResult();
82
+ const decoratorElement = queryDecorator(key, wrapperElement, formUUID);
83
+ if (decoratorElement)
84
+ return createResult(decoratorElement);
85
+ const parentLinebarKey = getParentLinebar(key, fieldList);
86
+ if (!parentLinebarKey)
87
+ return createResult();
88
+ formItemDepsCollector.trigger(FormItemLineBarDepKeyPrepend + parentLinebarKey, true);
89
+ await nextTick();
90
+ return createResult(queryDecorator(key, wrapperElement, formUUID));
91
+ function createResult(decoratorElement2) {
92
+ return { decoratorElement: decoratorElement2, ...queryInput(decoratorElement2) };
93
+ }
94
+ }
95
+ expose({
96
+ validate(path = "*") {
97
+ return formModel.validate(path).catch((err) => {
98
+ return Promise.reject(Array.isArray(err) ? err.reduce(errInfoNormalize, []) : err);
99
+ });
100
+ function errInfoNormalize(result, error) {
101
+ let childMessageNum = 0;
102
+ if (isArray(error.messages)) {
103
+ error.messages.forEach((message) => {
104
+ if (!isObject(message))
105
+ return;
106
+ result.push(...arrayed(message).map(bindInfo));
107
+ childMessageNum++;
108
+ });
109
+ }
110
+ !childMessageNum && result.push(bindInfo(error));
111
+ return result;
112
+ }
113
+ function bindInfo(info) {
114
+ if (info.decoratorElement)
115
+ return info;
116
+ info.title = formModel.query(info.path).get("title");
117
+ info.decoratorElement = queryDecorator(info.path, scrollbarRef.value, formUUID);
118
+ Object.assign(info, queryInput(info.decoratorElement));
119
+ return info;
120
+ }
121
+ },
122
+ getFormValues() {
123
+ return formModel.getFormState().values;
124
+ },
125
+ setFieldState(path, handler) {
126
+ formModel.setFieldState(path, handler);
127
+ },
128
+ resetFields(path = "*") {
129
+ formModel.setFieldState(path, (field) => {
130
+ var _a;
131
+ if (isField(field)) {
132
+ field.modified = false;
133
+ field.visited = false;
134
+ field.feedbacks = [];
135
+ field.selfModified = false;
136
+ field.caches = {};
137
+ field.value = (_a = field.initialValue) != null ? _a : null;
138
+ }
139
+ });
140
+ },
141
+ async queryWidget(key) {
142
+ return scrollbarRef.value ? await queryWidget(key, scrollbarRef.value, props.fieldList || []) : null;
143
+ }
144
+ });
145
+ return (_ctx, _cache) => {
146
+ return openBlock(), createBlock(unref(NForm), {
147
+ class: "form-render",
148
+ "require-mark-placement": "left"
149
+ }, {
150
+ default: withCtx(() => [
151
+ __props.anchor ? (openBlock(), createElementBlock("section", _hoisted_1, [
152
+ createVNode(unref(NTabs), {
153
+ value: unref(currentAnchor),
154
+ "onUpdate:value": _cache[0] || (_cache[0] = ($event) => isRef(currentAnchor) ? currentAnchor.value = $event : null),
155
+ type: "line"
156
+ }, {
157
+ default: withCtx(() => [
158
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(anchorIdList), (anchor) => {
159
+ return openBlock(), createBlock(unref(NTabPane), {
160
+ name: anchor.name,
161
+ tab: anchor.title,
162
+ key: anchor.name
163
+ }, null, 8, ["name", "tab"]);
164
+ }), 128))
165
+ ]),
166
+ _: 1
167
+ }, 8, ["value"])
168
+ ])) : createCommentVNode("v-if", true),
169
+ createVNode(unref(NConfigProvider), { "theme-overrides": unref(nuiThemeOverrides) }, {
170
+ default: withCtx(() => [
171
+ createElementVNode("section", {
172
+ class: "form-render__wrapper",
173
+ style: normalizeStyle({ "--column": __props.column, "--form-height": unref(formHeight) }),
174
+ ref_key: "scrollbarRef",
175
+ ref: scrollbarRef,
176
+ onScroll: _cache[1] || (_cache[1] = (...args) => unref(onScroll) && unref(onScroll)(...args))
177
+ }, [
178
+ createVNode(unref(FormProvider), { form: unref(formModel) }, {
179
+ default: withCtx(() => [
180
+ renderSlot(_ctx.$slots, "default", { schemaFiled: unref(SchemaField) }, () => [
181
+ createVNode(unref(SchemaField), { schema: unref(parsedSchema) }, null, 8, ["schema"])
182
+ ]),
183
+ __props.consumer ? (openBlock(), createBlock(unref(FormConsumer), { key: 0 }, {
184
+ default: withCtx(({ form }) => [
185
+ createElementVNode("div", _hoisted_2, toDisplayString(JSON.stringify(form.values, null, 2)), 1)
186
+ ]),
187
+ _: 1
188
+ })) : createCommentVNode("v-if", true)
189
+ ]),
190
+ _: 3
191
+ }, 8, ["form"])
192
+ ], 36)
193
+ ]),
194
+ _: 3
195
+ }, 8, ["theme-overrides"])
196
+ ]),
197
+ _: 3
198
+ });
199
+ };
200
+ }
201
+ });
202
+ var FormRender = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "FormRender.vue"]]);
203
+
204
+ export { FormRender as default };
@@ -408,9 +408,7 @@ declare const _default: import("vue").DefineComponent<{
408
408
  title: string;
409
409
  }[]>;
410
410
  formHeight: import("vue").ComputedRef<any>;
411
- scrollTo: (id: string) => Promise<void>;
412
411
  onScroll: () => void;
413
- bindInfo: (info: AnyObject) => AnyObject;
414
412
  queryWidget: (key: string, wrapperElement: HTMLElement, fieldList: FieldItem[]) => Promise<{
415
413
  widgetElement: HTMLInputElement | null | undefined;
416
414
  widgetElementList: HTMLInputElement[];
@@ -6,18 +6,18 @@ declare type DependKeyObj = {
6
6
  paramValue: string;
7
7
  };
8
8
  declare type UrlConfig = {
9
- method: FormRequestType;
10
- nameKey: string;
11
- dependKey: ArrayAble<string> | ArrayAble<DependKeyObj>;
9
+ method?: FormRequestType;
10
+ nameKey?: string;
11
+ valueKey?: string;
12
+ dependKey?: ArrayAble<string> | Record<string, string> | ArrayAble<DependKeyObj>;
12
13
  url: string;
13
- valueKey: string;
14
14
  };
15
15
  export declare const SEARCH_CASCADE: import("vue").DefineComponent<{
16
16
  options: {
17
17
  type: PropType<AnyObject[]>;
18
18
  default: () => never[];
19
19
  };
20
- deep: {
20
+ depth: {
21
21
  type: (NumberConstructor | StringConstructor)[];
22
22
  required: true;
23
23
  };
@@ -34,7 +34,7 @@ export declare const SEARCH_CASCADE: import("vue").DefineComponent<{
34
34
  type: PropType<AnyObject[]>;
35
35
  default: () => never[];
36
36
  };
37
- deep: {
37
+ depth: {
38
38
  type: (NumberConstructor | StringConstructor)[];
39
39
  required: true;
40
40
  };
@@ -1,8 +1,8 @@
1
- import { defineComponent, ref, inject, computed, watch, createVNode } from 'vue';
1
+ import { defineComponent, ref, computed, inject, watch, createVNode } from 'vue';
2
2
  import { isField } from '@formily/core';
3
- import { isObject, isString } from 'lodash-es';
3
+ import { isEqual } from 'lodash-es';
4
4
  import { InjectAsyncQueue } from '../../constants/index.js';
5
- import { assignUpdateValue, formRenderLog, arrayed } from '../../utils/index.js';
5
+ import { assignUpdateValue, traverseDependKey } from '../../utils/index.js';
6
6
  import { connect, mapProps } from '@formily/vue';
7
7
  import { NCascader } from 'naive-ui';
8
8
  import { useFormField } from '../../hooks/useFormField.js';
@@ -14,7 +14,7 @@ const script = defineComponent({
14
14
  type: Array,
15
15
  default: () => []
16
16
  },
17
- deep: {
17
+ depth: {
18
18
  type: [Number, String],
19
19
  required: true
20
20
  },
@@ -32,59 +32,69 @@ const script = defineComponent({
32
32
  slots,
33
33
  emit
34
34
  }) {
35
- const _options = ref(null);
36
- const asyncQueue = inject(InjectAsyncQueue);
35
+ const remoteOptions = ref();
37
36
  const {
38
37
  field,
39
38
  title
40
39
  } = useFormField();
41
- async function fetchData(option) {
42
- if (!option && _options.value)
43
- return;
44
- const config = props.urlConfig;
45
- if (!config)
46
- return;
47
- if (!isObject(config)) {
48
- formRenderLog(`invalid urlConfig (${config}) in CASCADER => ${title.value}`, "warn");
49
- return;
40
+ const labelKey = computed(() => {
41
+ var _a, _b;
42
+ return (_b = (_a = props.urlConfig) == null ? void 0 : _a.nameKey) != null ? _b : "text";
43
+ });
44
+ const valueKey = computed(() => {
45
+ var _a, _b;
46
+ return (_b = (_a = props.urlConfig) == null ? void 0 : _a.valueKey) != null ? _b : "value";
47
+ });
48
+ const _value = computed(() => {
49
+ try {
50
+ const parsed = Array.isArray(props.value) ? props.value : JSON.parse(props.value || "");
51
+ if (!Array.isArray(parsed) || !parsed.length)
52
+ return null;
53
+ return parsed.map((option) => option[labelKey.value]).join(" / ");
54
+ } catch (e) {
55
+ return null;
50
56
  }
51
- if (deepFor(option) + 1 >= props.deep)
52
- return;
53
- let data = await asyncQueue.addAsync({
54
- ...createRequestParams(deepFor(option), config, option),
55
- key: title.value
56
- });
57
- if (!Array.isArray(data)) {
58
- data = [];
57
+ });
58
+ function updateValue(_, __, options) {
59
+ emit("update:value", options.map(optionSimplify));
60
+ function optionSimplify(option) {
61
+ return {
62
+ ...option,
63
+ label: option[labelKey.value],
64
+ children: void 0,
65
+ parent: void 0
66
+ };
59
67
  }
60
- if (!data.length && isObject(option)) {
68
+ }
69
+ const asyncQueue = inject(InjectAsyncQueue);
70
+ async function fetchData(option) {
71
+ if (notNeedToFetchData(props, option))
72
+ return;
73
+ const data = await asyncQueue.addAsync(createRequestParams(deepFor(option), configFor(props), title.value, option));
74
+ if (!data.length && option) {
61
75
  option.isLeaf = true;
62
76
  updateValue(null, null, getOptionChain(option));
63
77
  show.value = false;
64
78
  return;
65
79
  }
66
80
  const result = data.map((item) => optionNormalize(item, deepFor(option)));
67
- option ? option.children = result : _options.value = result;
68
- function deepFor(option2) {
69
- var _a;
70
- return (_a = option2 == null ? void 0 : option2.depth) != null ? _a : -1;
81
+ option ? option.children = result : remoteOptions.value = result;
82
+ function notNeedToFetchData(props2, option2) {
83
+ return !configFor(props2) || !option2 && remoteOptions.value || deepFor(option2) >= deepFor(props2) - 1;
71
84
  }
72
- function createRequestParams(deep, config2, option2) {
85
+ function createRequestParams(deep, config, key, option2) {
73
86
  const params = {
74
87
  lvlnr: deep + 1 + ""
75
88
  };
76
- if (option2 && config2.dependKey) {
77
- arrayed(config2.dependKey).forEach((key) => {
78
- if (isString(key)) {
79
- params[key] = option2[valueKey.value];
80
- } else if (isObject(key)) {
81
- params[key.paramName] = option2[key.paramValue];
82
- }
89
+ if (option2 && config.dependKey) {
90
+ traverseDependKey(config.dependKey, (dependKey, valueKey2) => {
91
+ params[valueKey2] = option2[dependKey];
83
92
  });
84
93
  }
85
94
  return {
86
95
  params,
87
- ...config2
96
+ ...config,
97
+ key
88
98
  };
89
99
  }
90
100
  function getOptionChain(option2) {
@@ -96,66 +106,44 @@ const script = defineComponent({
96
106
  }
97
107
  return result2;
98
108
  }
99
- function optionNormalize(data2, deep) {
109
+ function optionNormalize(data2, depth) {
100
110
  return {
101
111
  [labelKey.value]: data2[labelKey.value],
102
112
  [valueKey.value]: data2[valueKey.value],
103
- depth: deep + 1,
113
+ depth: depth + 1,
104
114
  parent: option,
105
- isLeaf: deep + 2 >= props.deep
115
+ isLeaf: depth + 2 >= deepFor(props)
106
116
  };
107
117
  }
118
+ function configFor(target) {
119
+ return target.urlConfig;
120
+ }
121
+ function deepFor(target) {
122
+ var _a;
123
+ return (_a = target == null ? void 0 : target.depth) != null ? _a : -1;
124
+ }
108
125
  }
109
- const renderOptions = computed(() => {
110
- return _options.value || props.options || [];
111
- });
112
126
  watch(() => props.value, (n, o) => {
113
127
  var _a, _b;
114
- if (n != null && o == null) {
115
- fetchData();
116
- }
117
- if (isField(field.value) && field.value.visited) {
118
- (_b = (_a = field.value).validate) == null ? void 0 : _b.call(_a);
119
- }
128
+ n != null && o == null && fetchData();
129
+ isField(field.value) && field.value.visited && ((_b = (_a = field.value).validate) == null ? void 0 : _b.call(_a));
120
130
  }, {
121
131
  immediate: true
122
132
  });
123
- const labelKey = computed(() => {
124
- var _a, _b;
125
- return (_b = (_a = props.urlConfig) == null ? void 0 : _a.nameKey) != null ? _b : "text";
126
- });
127
- const valueKey = computed(() => {
128
- var _a, _b;
129
- return (_b = (_a = props.urlConfig) == null ? void 0 : _a.valueKey) != null ? _b : "value";
130
- });
131
- const _value = computed(() => {
132
- try {
133
- const parsed = Array.isArray(props.value) ? props.value : JSON.parse(props.value || "");
134
- if (Array.isArray(parsed)) {
135
- return parsed.map((option) => option[labelKey.value]).join(" / ");
136
- } else {
137
- return [];
138
- }
139
- } catch (e) {
140
- return "";
141
- }
133
+ watch(() => props.urlConfig, async (config, oldConfig) => {
134
+ if (isEqual(config, oldConfig))
135
+ return;
136
+ remoteOptions.value = null;
137
+ await fetchData();
142
138
  });
143
- function updateValue(_, __, options) {
144
- emit("update:value", options.map(optionSimplify));
145
- function optionSimplify(option) {
146
- return {
147
- ...option,
148
- label: option[labelKey.value],
149
- children: void 0,
150
- parent: void 0
151
- };
152
- }
153
- }
154
139
  const show = ref(false);
155
140
  function updateShow(v) {
156
141
  show.value = !!v;
157
142
  v && fetchData();
158
143
  }
144
+ const parsedOptions = computed(() => {
145
+ return remoteOptions.value || props.options || [];
146
+ });
159
147
  function focusDecorator(onFocus) {
160
148
  return (...args) => {
161
149
  if (isField(field.value)) {
@@ -166,17 +154,17 @@ const script = defineComponent({
166
154
  }
167
155
  return () => {
168
156
  return createVNode(NCascader, {
169
- "value": _value.value,
157
+ "remote": true,
158
+ "checkStrategy": "child",
170
159
  "show": !!show.value,
160
+ "onUpdate:show": updateShow,
161
+ "value": _value.value,
171
162
  "onUpdate:value": updateValue,
172
- "remote": true,
173
163
  "labelField": labelKey.value,
174
164
  "valueField": valueKey.value,
175
- "options": renderOptions.value,
176
- "checkStrategy": "child",
165
+ "options": parsedOptions.value,
177
166
  "onLoad": fetchData,
178
- "onFocus": focusDecorator(props.onFocus),
179
- "onUpdate:show": updateShow
167
+ "onFocus": focusDecorator(props.onFocus)
180
168
  }, slots);
181
169
  };
182
170
  }
@@ -8,6 +8,9 @@ export declare const COMBINATION: import("vue").DefineComponent<{
8
8
  value: {
9
9
  type: StringConstructor;
10
10
  };
11
+ maxGroupNum: {
12
+ type: NumberConstructor;
13
+ };
11
14
  getProperties: {
12
15
  type: PropType<() => FieldItem[]>;
13
16
  default: () => never[];
@@ -20,6 +23,9 @@ export declare const COMBINATION: import("vue").DefineComponent<{
20
23
  value: {
21
24
  type: StringConstructor;
22
25
  };
26
+ maxGroupNum: {
27
+ type: NumberConstructor;
28
+ };
23
29
  getProperties: {
24
30
  type: PropType<() => FieldItem[]>;
25
31
  default: () => never[];