cnhis-design-vue 3.1.42-beta.5 → 3.1.42-beta.51

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 (250) hide show
  1. package/README.md +87 -87
  2. package/es/components/annotation-edit/src/AnnotationEdit.js +1 -1
  3. package/es/components/base-search/index.d.ts +2 -2
  4. package/es/components/base-search/src/index.vue.d.ts +2 -2
  5. package/es/components/base-search/style/index.css +1 -1
  6. package/es/components/big-table/index.d.ts +3 -4
  7. package/es/components/big-table/src/BigTable.vue.d.ts +3 -4
  8. package/es/components/big-table/src/BigTable.vue2.js +1 -1
  9. package/es/components/big-table/src/components/edit-form/edit-select-table.d.ts +1 -1
  10. package/es/components/big-table/src/components/edit-form/edit-select.js +1 -1
  11. package/es/components/big-table/src/hooks/useEvent.js +1 -1
  12. package/es/components/big-table/src/hooks/useFormat.js +1 -1
  13. package/es/components/big-table/src/hooks/useNestTable.js +1 -1
  14. package/es/components/big-table/src/hooks/useTableParse.js +1 -1
  15. package/es/components/big-table/src/utils.d.ts +11 -1
  16. package/es/components/big-table/src/utils.js +1 -1
  17. package/es/components/big-table/style/index.css +1 -1
  18. package/es/components/bpmn-workflow/index.d.ts +12 -0
  19. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  20. package/es/components/bpmn-workflow/src/BpmnWorkflow.vue.d.ts +12 -0
  21. package/es/components/bpmn-workflow/src/BpmnWorkflow.vue.js +1 -1
  22. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
  23. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
  24. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
  25. package/es/components/button-print/index.d.ts +4 -4
  26. package/es/components/button-print/src/ButtonPrint.vue.d.ts +4 -4
  27. package/es/components/button-print/src/ButtonPrint.vue2.js +1 -1
  28. package/es/components/button-print/src/components/EditFormat.vue.d.ts +4 -4
  29. package/es/components/button-print/src/components/IdentityVerification.vue.d.ts +4 -4
  30. package/es/components/button-print/src/utils/print.js +1 -1
  31. package/es/components/classification/index.d.ts +1 -1
  32. package/es/components/classification/src/index.vue.d.ts +2 -2
  33. package/es/components/classification/style/index.css +1 -1
  34. package/es/components/config-provider/src/ConfigProvider.js +1 -1
  35. package/es/components/config-provider/src/interface.d.ts +4 -4
  36. package/es/components/date-picker/index.d.ts +4 -0
  37. package/es/components/date-picker/src/DatePicker.vue.d.ts +4 -0
  38. package/es/components/date-picker/src/DatePicker.vue.js +1 -1
  39. package/es/components/fabric-chart/index.d.ts +2 -2
  40. package/es/components/fabric-chart/src/FabricChart.vue.d.ts +2 -2
  41. package/es/components/fabric-chart/src/hooks/useBirthProcess.d.ts +1 -0
  42. package/es/components/fabric-chart/src/hooks/useBirthProcess.js +1 -1
  43. package/es/components/fabric-chart/src/hooks/useBirthProcessChart.js +1 -1
  44. package/es/components/fabric-chart/src/hooks/useCenter.js +1 -1
  45. package/es/components/fabric-chart/src/hooks/useLeft.js +1 -1
  46. package/es/components/fabric-chart/src/hooks/useScaleColumn.d.ts +16 -0
  47. package/es/components/fabric-chart/src/hooks/useScaleColumn.js +1 -0
  48. package/es/components/fabric-chart/src/utils/index.d.ts +6823 -0
  49. package/es/components/field-set/index.d.ts +26 -81
  50. package/es/components/field-set/src/FieldSet.vue.d.ts +28 -32
  51. package/es/components/field-set/src/FieldSet.vue.js +1 -1
  52. package/es/components/field-set/style/index.css +1 -1
  53. package/es/components/form-config/index.d.ts +65 -39
  54. package/es/components/form-config/src/FormConfig.vue.d.ts +65 -39
  55. package/es/components/form-config/src/FormConfig.vue.js +1 -1
  56. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +28 -14
  57. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +33 -21
  58. package/es/components/form-config/src/components/FormConfigEdit.vue.js +1 -1
  59. package/es/components/form-config/src/components/renderer/DefaultNode.vue.js +1 -1
  60. package/es/components/form-config/src/constants/index.d.ts +12 -1
  61. package/es/components/form-config/src/constants/index.js +1 -1
  62. package/es/components/form-config/src/hooks/useConfigurationField.js +1 -1
  63. package/es/components/form-config/src/types/index.d.ts +1 -0
  64. package/es/components/form-render/index.d.ts +28 -14
  65. package/es/components/form-render/index.js +1 -1
  66. package/es/components/form-render/src/FormRender.vue.d.ts +28 -14
  67. package/es/components/form-render/src/FormRender.vue.js +1 -1
  68. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +28 -14
  69. package/es/components/form-render/src/components/renderer/combination.js +1 -1
  70. package/es/components/form-render/src/components/renderer/complex.d.ts +1 -1
  71. package/es/components/form-render/src/components/renderer/jsonCombination/index.js +1 -1
  72. package/es/components/form-render/src/components/renderer/levelSearchCascader.d.ts +18 -0
  73. package/es/components/form-render/src/components/renderer/levelSearchCascader.js +1 -1
  74. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.d.ts +1 -1
  75. package/es/components/form-render/src/components/renderer/lineBar/index.d.ts +1 -1
  76. package/es/components/form-render/src/components/renderer/radio&checkbox.d.ts +38 -2
  77. package/es/components/form-render/src/components/renderer/radio_checkbox.js +1 -1
  78. package/es/components/form-render/src/components/renderer/remoteSearch.d.ts +18 -0
  79. package/es/components/form-render/src/components/renderer/remoteSearch.js +1 -1
  80. package/es/components/form-render/src/components/renderer/searchCascade.d.ts +18 -0
  81. package/es/components/form-render/src/components/renderer/searchCascade.js +1 -1
  82. package/es/components/form-render/src/components/renderer/select.d.ts +32 -5
  83. package/es/components/form-render/src/components/renderer/select.js +1 -1
  84. package/es/components/form-render/src/hooks/index.d.ts +1 -1
  85. package/es/components/form-render/src/hooks/index.js +1 -1
  86. package/es/components/form-render/src/hooks/useFormAsyncQueue.d.ts +16 -0
  87. package/es/components/form-render/src/hooks/useFormAsyncQueue.js +1 -0
  88. package/es/components/form-render/src/hooks/useFormContext.js +1 -1
  89. package/es/components/form-render/src/hooks/useFormRenderOptions.d.ts +13 -8
  90. package/es/components/form-render/src/hooks/useFormRenderOptions.js +1 -1
  91. package/es/components/form-render/src/types/fieldItem.d.ts +3 -4
  92. package/es/components/form-render/src/types/index.d.ts +2 -1
  93. package/es/components/form-render/style/index.css +1 -1
  94. package/es/components/iho-table/index.d.ts +24 -5
  95. package/es/components/iho-table/src/IhoTable.vue.d.ts +24 -5
  96. package/es/components/iho-table/src/IhoTable.vue.js +1 -1
  97. package/es/components/iho-table/src/constants/index.d.ts +2 -2
  98. package/es/components/iho-table/src/constants/index.js +1 -1
  99. package/es/components/iho-table/src/hooks/tapHooks/index.d.ts +4 -4
  100. package/es/components/iho-table/src/hooks/tapHooks/index.js +1 -1
  101. package/es/components/iho-table/src/hooks/tapHooks/useConfigHooks.d.ts +22 -21
  102. package/es/components/iho-table/src/hooks/tapHooks/useConfigHooks.js +1 -1
  103. package/es/components/iho-table/src/hooks/tapHooks/useEventHooks.d.ts +60 -237
  104. package/es/components/iho-table/src/hooks/tapHooks/useExposeHooks.d.ts +1 -4
  105. package/es/components/iho-table/src/hooks/tapHooks/useFieldHooks.d.ts +4 -16
  106. package/es/components/iho-table/src/hooks/tapHooks/useSetupHooks.d.ts +2 -2
  107. package/es/components/iho-table/src/hooks/tapHooks/useSetupHooks.js +1 -1
  108. package/es/components/iho-table/src/plugins/anchorPlugin/useAnchor.js +1 -1
  109. package/es/components/iho-table/src/plugins/defaultConfigPlugin/index.js +1 -1
  110. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue.d.ts +1 -1
  111. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue.js +1 -1
  112. package/es/components/iho-table/src/plugins/filterRenderPlugin/index.js +1 -1
  113. package/es/components/iho-table/src/plugins/highLightSetPlugin.d.ts +1 -0
  114. package/es/components/iho-table/src/plugins/highLightSetPlugin.js +1 -0
  115. package/es/components/iho-table/src/plugins/index.js +1 -1
  116. package/es/components/iho-table/src/plugins/lowCodeFieldAdaptorPlugin/index.js +1 -1
  117. package/es/components/iho-table/src/plugins/maxCheckSizePlugin.d.ts +1 -0
  118. package/es/components/iho-table/src/plugins/maxCheckSizePlugin.js +1 -0
  119. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.vue.d.ts +4 -0
  120. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.d.ts +25 -3
  121. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.js +1 -1
  122. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +1 -1
  123. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/index.js +1 -1
  124. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/editTime.vue.d.ts +1 -1
  125. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/editTime.vue.js +1 -1
  126. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/defaultRendererPlugin.js +1 -1
  127. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/seqRendererPlugin.js +1 -1
  128. package/es/components/iho-table/src/plugins/rowDragPlugin/index.d.ts +1 -0
  129. package/es/components/iho-table/src/plugins/rowDragPlugin/index.js +1 -0
  130. package/es/components/iho-table/src/plugins/{rendererPlugins/widgets/variableHeightRendererPlugin.d.ts → varialbleHeightPlugin/index.d.ts} +1 -1
  131. package/es/components/iho-table/src/plugins/varialbleHeightPlugin/index.js +1 -0
  132. package/es/components/iho-table/src/types/index.d.ts +22 -5
  133. package/es/components/iho-table/src/types/pluginType.d.ts +10 -25
  134. package/es/components/iho-table/src/utils/index.d.ts +3 -0
  135. package/es/components/iho-table/src/utils/index.js +1 -1
  136. package/es/components/iho-table/style/iconfont.ttf +0 -0
  137. package/es/components/iho-table/style/index.css +1 -1
  138. package/es/components/index.css +1 -1
  139. package/es/components/index.js +1 -1
  140. package/es/components/info-header/index.d.ts +60 -32
  141. package/es/components/info-header/src/InfoHeader.vue.d.ts +60 -32
  142. package/es/components/info-header/src/InfoHeader.vue.js +1 -1
  143. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +3 -3
  144. package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +3 -3
  145. package/es/components/info-header/src/components/infoDescription/HiddenContent.vue.d.ts +2 -2
  146. package/es/components/info-header/src/components/infoDescription/HiddenContent.vue.js +1 -1
  147. package/es/components/info-header/src/components/infoDescription/InfoEllipsis.vue.d.ts +1 -1
  148. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +31 -17
  149. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +28 -14
  150. package/es/components/info-header/style/index.css +1 -1
  151. package/es/components/keyboard/index.d.ts +1 -1
  152. package/es/components/keyboard/src/Keyboard.vue.d.ts +1 -1
  153. package/es/components/keyboard/src/Keyboard.vue.js +1 -1
  154. package/es/components/keyboard/src/constants/index.js +1 -1
  155. package/es/components/keyboard/style/index.css +1 -1
  156. package/es/components/map/index.d.ts +2 -14
  157. package/es/components/map/src/Map.vue.d.ts +1 -14
  158. package/es/components/map/src/types/index.d.ts +19 -0
  159. package/es/components/map/src/types/index.js +1 -0
  160. package/es/components/recommend-search/index.d.ts +13 -128
  161. package/es/components/recommend-search/src/RecommendSearch.vue.d.ts +15 -130
  162. package/es/components/recommend-search/src/RecommendSearch.vue.js +1 -1
  163. package/es/components/recommend-search/src/components/BaseSearch.d.ts +84 -0
  164. package/es/components/recommend-search/src/components/BaseSearch.js +1 -0
  165. package/es/components/recommend-search/src/components/RecommendInput.vue.d.ts +3 -63
  166. package/es/components/recommend-search/src/components/RecommendInput.vue.js +1 -1
  167. package/es/components/recommend-search/src/components/RecommendMenu.vue.d.ts +1 -3
  168. package/es/components/recommend-search/src/components/RecommendMenu.vue.js +1 -1
  169. package/es/components/recommend-search/src/components/RecommendSelect.vue.d.ts +4 -62
  170. package/es/components/recommend-search/src/components/RecommendSelect.vue.js +1 -1
  171. package/es/components/recommend-search/src/constant/index.d.ts +3 -0
  172. package/es/components/recommend-search/src/constant/index.js +1 -1
  173. package/es/components/scale-view/index.d.ts +29 -94
  174. package/es/components/scale-view/index.js +1 -1
  175. package/es/components/scale-view/src/ScaleView.vue.d.ts +29 -94
  176. package/es/components/scale-view/src/ScaleView.vue.js +1 -1
  177. package/es/components/scale-view/src/components/formitem/r-address.js +1 -1
  178. package/es/components/scale-view/src/components/formitem/r-checkbox.js +1 -1
  179. package/es/components/scale-view/src/components/formitem/r-datetime.js +1 -1
  180. package/es/components/scale-view/src/components/formitem/r-map.js +1 -1
  181. package/es/components/scale-view/src/components/formitem/standard-modal.d.ts +4 -4
  182. package/es/components/scale-view/src/components/formitem/text-over-tooltip/TextOverTooltip.vue.d.ts +1 -1
  183. package/es/components/scale-view/src/hooks/scaleview-computed.d.ts +1 -1
  184. package/es/components/scale-view/src/hooks/scaleview-computed.js +1 -1
  185. package/es/components/scale-view/src/hooks/scaleview-init.js +1 -1
  186. package/es/components/scale-view/src/hooks/scaleview-submit.js +1 -1
  187. package/es/components/scale-view/src/hooks/scaleview-validate.js +1 -1
  188. package/es/components/scale-view/src/hooks/use-component.d.ts +73 -3
  189. package/es/components/scale-view/src/hooks/use-evaluate.js +1 -1
  190. package/es/components/scale-view/src/hooks/use-event.js +1 -1
  191. package/es/components/scale-view/style/index.css +1 -1
  192. package/es/components/search-cascader/index.d.ts +12 -1
  193. package/es/components/search-cascader/src/SearchCascader.vue.d.ts +12 -1
  194. package/es/components/search-cascader/src/SearchCascader.vue.js +1 -1
  195. package/es/components/search-cascader/src/components/SearchMenu.d.ts +8 -1
  196. package/es/components/search-cascader/src/components/SearchMenu.js +1 -1
  197. package/es/components/search-cascader/src/constants/index.d.ts +1 -0
  198. package/es/components/search-cascader/src/constants/index.js +1 -1
  199. package/es/components/select-label/src/LabelFormContent.vue.js +1 -1
  200. package/es/components/select-label/src/SelectLabel.vue2.js +1 -1
  201. package/es/components/select-label/style/index.css +1 -1
  202. package/es/components/select-person/index.d.ts +1 -1
  203. package/es/components/select-person/src/SelectPerson.vue.d.ts +1 -1
  204. package/es/components/shortcut-setter/index.d.ts +29 -16
  205. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +29 -16
  206. package/es/components/steps-wheel/src/StepsWheel.vue.js +1 -1
  207. package/es/components/steps-wheel/src/constants/index.js +1 -1
  208. package/es/components/steps-wheel/style/index.css +1 -1
  209. package/es/components/table-filter/src/components/render-widget/components/CheckboxGroup.vue.d.ts +1 -1
  210. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.d.ts +1 -1
  211. package/es/components/table-filter/src/types/index.d.ts +11 -2
  212. package/es/components/time-picker/src/TimePicker.vue.js +1 -1
  213. package/es/components/vod-chunk-upload/index.d.ts +73 -3
  214. package/es/components/vod-chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue.d.ts +73 -3
  215. package/es/components/vod-chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue.js +1 -1
  216. package/es/env.d.ts +25 -24
  217. package/es/shared/components/TextOverTooltip/TextOverTooltip.vue.d.ts +1 -1
  218. package/es/shared/components/TextOverTooltip/TextOverTooltip.vue.js +1 -1
  219. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
  220. package/es/shared/{mixins → hooks}/index.d.ts +1 -0
  221. package/es/shared/{mixins → hooks}/index.js +1 -1
  222. package/es/{components/form-render/src → shared}/hooks/useAsyncQueue.d.ts +0 -14
  223. package/es/shared/hooks/useAsyncQueue.js +1 -0
  224. package/es/shared/{mixins → hooks}/useDateTime.d.ts +2 -2
  225. package/es/shared/hooks/useDateTime.js +1 -0
  226. package/es/shared/utils/anime.d.ts +1 -1
  227. package/es/shared/utils/anime.js +1 -1
  228. package/es/shared/utils/index.d.ts +3 -3
  229. package/es/shared/utils/index.js +1 -1
  230. package/es/shared/utils/tapable/index.d.ts +139 -0
  231. package/es/shared/utils/vexutils.d.ts +2 -2
  232. package/es/shared/utils/vexutils.js +1 -1
  233. package/es/shared/utils/vexutilsExpand.d.ts +254 -0
  234. package/es/shared/utils/vexutilsExpand.js +1 -0
  235. package/package.json +2 -2
  236. package/es/components/form-render/src/hooks/useAsyncQueue.js +0 -1
  237. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/variableHeightRendererPlugin.js +0 -1
  238. package/es/components/recommend-search/src/components/BaseSearch.vue.d.ts +0 -143
  239. package/es/components/recommend-search/src/components/BaseSearch.vue.js +0 -1
  240. package/es/components/scale-view/src/hooks/scaleview-props.d.ts +0 -115
  241. package/es/components/scale-view/src/hooks/scaleview-props.js +0 -1
  242. package/es/shared/mixins/useDateTime.js +0 -1
  243. package/es/shared/utils/colorLog.d.ts +0 -31
  244. package/es/shared/utils/colorLog.js +0 -1
  245. /package/es/components/base-search/style/{iconfont.ttf → base-search-iconfont.ttf} +0 -0
  246. /package/es/components/classification/style/{iconfont.ttf → classification-iconfont.ttf} +0 -0
  247. /package/es/components/info-header/style/{iconfont.ttf → info-header-font.ttf} +0 -0
  248. /package/es/components/select-label/style/{iconfont.ttf → select-label-iconfont.ttf} +0 -0
  249. /package/es/shared/{mixins → hooks}/useTheme.d.ts +0 -0
  250. /package/es/shared/{mixins → hooks}/useTheme.js +0 -0
@@ -133,6 +133,10 @@ declare const _default: import("vue").DefineComponent<{}, {
133
133
  linebarAutoHidden: {
134
134
  type: BooleanConstructor;
135
135
  };
136
+ bordered: {
137
+ type: BooleanConstructor;
138
+ default: boolean;
139
+ };
136
140
  }, {
137
141
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
138
142
  fieldList: {
@@ -261,12 +265,17 @@ declare const _default: import("vue").DefineComponent<{}, {
261
265
  linebarAutoHidden: {
262
266
  type: BooleanConstructor;
263
267
  };
268
+ bordered: {
269
+ type: BooleanConstructor;
270
+ default: boolean;
271
+ };
264
272
  }>> & {
265
273
  onFormChange?: ((...args: any[]) => any) | undefined;
266
274
  onScroll?: ((...args: any[]) => any) | undefined;
267
275
  onAnnotationChange?: ((...args: any[]) => any) | undefined;
268
276
  }>>;
269
- emit: (event: "scroll" | "formChange" | "annotationChange", ...args: any[]) => void;
277
+ emit: (event: "formChange" | "scroll" | "annotationChange", ...args: any[]) => void;
278
+ cssVars: import("vue").ComputedRef<import("vue").CSSProperties>;
270
279
  nuiThemeOverrides: import("naive-ui").GlobalThemeOverrides;
271
280
  formRenderRef: import("vue").Ref<HTMLElement | undefined>;
272
281
  formHeight: import("vue").ComputedRef<string>;
@@ -422,32 +431,32 @@ declare const _default: import("vue").DefineComponent<{}, {
422
431
  data: any;
423
432
  loading: boolean;
424
433
  required: boolean;
425
- hidden: boolean;
426
- visible: boolean;
427
- content: any;
428
- reset: (options?: import("../../../../es/components/form-render").IFieldResetOptions | undefined) => Promise<void>;
429
- active: boolean;
430
- disabled: boolean;
431
- display: import("../../../../es/components/form-render").FieldDisplayTypes;
432
434
  value: string;
433
435
  readonly index: string | number;
436
+ disabled: boolean;
434
437
  onFocus: (...args: any[]) => Promise<void>;
435
438
  onBlur: (...args: any[]) => Promise<void>;
436
439
  onInput: (...args: any[]) => Promise<void>;
440
+ reset: (options?: import("../../../../es/components/form-render").IFieldResetOptions | undefined) => Promise<void>;
441
+ title: string;
442
+ editable: boolean;
443
+ visible: boolean;
437
444
  submit: <T>(onSubmit?: ((values: any) => void | Promise<T>) | undefined) => Promise<T>;
438
445
  validator: import("../../../../es/components/form-render").FieldValidator;
439
446
  pattern: import("../../../../es/components/form-render").FieldPatternTypes;
440
- title: string;
441
447
  form: import("../../../../es/components/form-render").Form<any>;
448
+ content: any;
442
449
  componentProps: Record<string, any>;
443
450
  decoratorProps: Record<string, any>;
451
+ display: import("../../../../es/components/form-render").FieldDisplayTypes;
444
452
  description: string;
445
453
  readOnly: boolean;
446
- editable: boolean;
454
+ hidden: boolean;
447
455
  component: import("../../../../es/components/form-render").FieldComponent<any, any>;
448
456
  decorator: import("../../../../es/components/form-render").FieldDecorator<any, any>;
449
457
  validating: boolean;
450
458
  submitting: boolean;
459
+ active: boolean;
451
460
  visited: boolean;
452
461
  selfModified: boolean;
453
462
  modified: boolean;
@@ -534,7 +543,7 @@ declare const _default: import("vue").DefineComponent<{}, {
534
543
  };
535
544
  readonly disabled: BooleanConstructor;
536
545
  readonly displayDirective: {
537
- readonly type: import("vue").PropType<"show" | "if" | "show:lazy">;
546
+ readonly type: import("vue").PropType<"if" | "show" | "show:lazy">;
538
547
  readonly default: "if";
539
548
  };
540
549
  readonly closable: {
@@ -559,7 +568,7 @@ declare const _default: import("vue").DefineComponent<{}, {
559
568
  };
560
569
  readonly disabled: BooleanConstructor;
561
570
  readonly displayDirective: {
562
- readonly type: import("vue").PropType<"show" | "if" | "show:lazy">;
571
+ readonly type: import("vue").PropType<"if" | "show" | "show:lazy">;
563
572
  readonly default: "if";
564
573
  };
565
574
  readonly closable: {
@@ -573,10 +582,10 @@ declare const _default: import("vue").DefineComponent<{}, {
573
582
  }>>, {
574
583
  readonly disabled: boolean;
575
584
  readonly closable: boolean | undefined;
576
- readonly displayDirective: "show" | "if" | "show:lazy";
585
+ readonly displayDirective: "if" | "show" | "show:lazy";
577
586
  }>;
578
587
  NTabs: any;
579
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("scroll" | "formChange" | "annotationChange")[], "scroll" | "formChange" | "annotationChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
588
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("formChange" | "scroll" | "annotationChange")[], "scroll" | "formChange" | "annotationChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
580
589
  fieldList: {
581
590
  type: import("vue").PropType<import("../../../../es/components/form-render").FieldItem[]>;
582
591
  };
@@ -703,6 +712,10 @@ declare const _default: import("vue").DefineComponent<{}, {
703
712
  linebarAutoHidden: {
704
713
  type: BooleanConstructor;
705
714
  };
715
+ bordered: {
716
+ type: BooleanConstructor;
717
+ default: boolean;
718
+ };
706
719
  }>> & {
707
720
  onFormChange?: ((...args: any[]) => any) | undefined;
708
721
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -718,6 +731,7 @@ declare const _default: import("vue").DefineComponent<{}, {
718
731
  consumer: boolean;
719
732
  enterToNextWidget: boolean | ((fieldItem: import("../../../../es/components/form-render").FieldItem) => boolean | void);
720
733
  linebarAutoHidden: boolean;
734
+ bordered: boolean;
721
735
  }>;
722
736
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
723
737
  export default _default;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as o,computed as t,watch as r,inject as i,createVNode as n}from"vue";import{isObjectField as a}from"@formily/core";import{RecursionField as m,connect as s}from"@formily/vue";import{AddCircleOutline as l,RemoveCircle as u}from"@vicons/ionicons5";import{isNumber as p,isArray as c,range as d}from"lodash-es";import{NButton as f,NIcon as v}from"naive-ui";import"../../../index.js";import{InjectionBusinessCollector as y}from"../../constants/index.js";import"../../utils/index.js";import{useFormField as x}from"../../hooks/useFormField.js";import{useFieldListAdaptor as h}from"../../hooks/useFieldListAdaptor.js";import{createObjSchema as b}from"../../utils/schema.js";const _=s(e({name:"FormCombination",props:{title:{type:String,default:""},value:{type:Array},maxGroupNum:{type:Number},disabled:{type:Boolean},getProperties:{type:Function,default:()=>[]},onInput:{},onBlur:{},onChange:{}},emits:["update:value"],setup(e){const{field:s,fieldKey:_}=x(),j=o(1),C=t((()=>p(e.maxGroupNum)?e.maxGroupNum<1?0:~~e.maxGroupNum:1/0));function g(){j.value++}r((()=>e.value),(e=>{c(e)&&(j.value=Math.min(Math.max(e.length,1),C.value))}),{immediate:!0});const k=i(y),{schemaAdaptor:F}=h(k);return()=>n("section",{class:"form-render__combination"},[n("header",{class:"form-render__combinationHeader"},[n("div",{class:"form-render__combinationHeaderText"},[e.title]),n(f,{onClick:g,type:"info",text:!0,disabled:j.value>=C.value||e.disabled},{icon:()=>n(v,{component:l},null),default:()=>"新增"})]),d(j.value).map(((o,t)=>n("section",{class:"form-render__combinationContent"},[n(m,{schema:b(F(e.getProperties())),name:t},null),n(f,{text:!0,type:"error",class:"form-render__combinationClose",onClick:()=>async function(e){if(j.value>1)j.value--,await s.value.remove(e);else{const o=s.value.query(`${_.value}.${e}`).take();if(!o||!a(o))return;await o.reset()}}(t)},{icon:()=>n(v,{component:u},null)})])))])}}));export{_ as COMBINATION};
1
+ import{defineComponent as e,ref as o,computed as t,watch as r,inject as i,createVNode as n}from"vue";import{isObjectField as a}from"@formily/core";import{RecursionField as m,connect as l}from"@formily/vue";import{AddCircleOutline as s,RemoveCircle as u}from"@vicons/ionicons5";import{isNumber as c,isArray as p,range as d}from"lodash-es";import{NButton as f,NIcon as v}from"naive-ui";import"../../../index.js";import{InjectionBusinessCollector as y}from"../../constants/index.js";import"../../utils/index.js";import{useFormField as x}from"../../hooks/useFormField.js";import{useFieldListAdaptor as h}from"../../hooks/useFieldListAdaptor.js";import{createObjSchema as b}from"../../utils/schema.js";const _=l(e({name:"FormCombination",props:{title:{type:String,default:""},value:{type:Array},maxGroupNum:{type:Number},disabled:{type:Boolean},getProperties:{type:Function,default:()=>[]},onInput:{},onBlur:{},onChange:{}},emits:["update:value"],setup(e){const{field:l,fieldKey:_}=x(),j=o(1),C=t((()=>c(e.maxGroupNum)?e.maxGroupNum<1?0:~~e.maxGroupNum:1/0));function g(){j.value++}r((()=>e.value),(e=>{p(e)&&(j.value=Math.min(Math.max(e.length,1),C.value))}),{immediate:!0});const k=i(y),{schemaAdaptor:F}=h(k);return()=>n("section",{class:"form-render__combination"},[n("header",{class:"form-render__combinationHeader"},[n("div",{class:"form-render__combinationHeaderText"},[e.title]),n(f,{onClick:g,text:!0,style:{"--n-text-color":"var(--c-primary-color)"},disabled:j.value>=C.value||e.disabled},{icon:()=>n(v,{component:s},null),default:()=>"新增"})]),d(j.value).map(((o,t)=>n("section",{class:"form-render__combinationContent"},[n(m,{schema:b(F(e.getProperties())),name:t},null),n(f,{text:!0,type:"error",class:"form-render__combinationClose",onClick:()=>async function(e){if(j.value>1)j.value--,await l.value.remove(e);else{const o=l.value.query(`${_.value}.${e}`).take();if(!o||!a(o))return;await o.reset()}}(t)},{icon:()=>n(v,{component:u},null)})])))])}}));export{_ as COMBINATION};
@@ -28,7 +28,7 @@ export declare const COMPLEX: import("vue").DefineComponent<{
28
28
  default: () => {};
29
29
  };
30
30
  }>>, {
31
- display: "flex" | "grid";
32
31
  span: number;
32
+ display: "flex" | "grid";
33
33
  wrapperStyle: CSSProperties;
34
34
  }>;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as o,computed as t,watch as n,onMounted as r,createVNode as i}from"vue";import{isField as l}from"@formily/core";import{Path as a}from"@formily/path";import{AddCircleOutline as u,RemoveCircle as s}from"@vicons/ionicons5";import{isNumber as m,range as c,isArray as p,isEqual as f}from"lodash-es";import{useDeepValidate as v}from"./hooks/useDeepValidate.js";import{formRenderLog as d,mergeDeepProperties as h}from"../../../utils/index.js";import{connect as y,mapProps as g}from"@formily/vue";import{useDebounceFn as b,isObject as N}from"@vueuse/core";import{NButton as _,NIcon as x}from"naive-ui";import C from"../../../FormRender.vue.js";import{assignUpdateValue as j}from"../../../utils/schema.js";const F=y(e({name:"FormJsonCombination",props:{title:{type:String,default:""},value:{type:[String,Array]},maxGroupNum:{type:Number},getProperties:{type:Function,default:()=>[]},onInput:{},onBlur:{},onChange:{}},emits:["update:value"],setup(e,{emit:y}){d("当前COMBINATION控件为json模式,推荐使用非json模式,FieldItem.jsonCombination=false");const g=b((function(){y("update:value",JSON.stringify(j.value))}),300),j=o([]),F=t((()=>j.value.length));function I(o,t=!1){p(o)&&(o.length||o.push({}),o=JSON.stringify(o));const n=function(e){try{if(!e)return null;const o=JSON.parse(e);return Array.isArray(o)?o:null}catch(e){return null}}(o);var r;(r=n)&&!f(r,j.value)&&(n.splice(A.value),n.forEach((function(o,n){if(!N(o))return;j.value[n]=o,t&&h(o,e.getProperties())})),j.value.splice(n.length),j.value.forEach(J))}n((()=>e.value),(e=>I(e))),r((()=>{I(e.value||"[{}]",!0),g()}));const S=o([]);function J(e,o){var t;null==(t=S.value[o])||t.setFieldState("*",(o=>{l(o)&&(o.value=a.getIn(e,o.path))}))}function O(){j.value.push(h({},e.getProperties())),g()}v().bindDeepValidate(S);const A=t((()=>m(e.maxGroupNum)?e.maxGroupNum<1?0:~~e.maxGroupNum:1/0));n(A,(e=>{F.value<=e||(j.value.splice(e),g(),S.value.splice(e))}),{immediate:!0});const G=C;return()=>i("section",{class:"form-render__combination"},[i("header",{class:"form-render__combinationHeader"},[i("div",{class:"form-render__combinationHeaderText"},[e.title]),i(_,{onClick:O,type:"info",text:!0,disabled:F.value>=A.value},{icon:()=>i(x,{component:u},null),default:()=>"新增"})]),c(F.value).map(((o,t)=>i("section",{class:"form-render__combinationContentJson"},[i(G,{ref:e=>function(e,o){S.value[e]=o,J(j.value[e]||{},e)}(t,e),fieldList:e.getProperties(),onFormChange:e=>function(e,{fieldKey:o,value:t}){!j.value[e]&&(j.value[e]={}),a.setIn(j.value[e],o,t),g()}(t,e)},null),i(_,{text:!0,class:"form-render__combinationClose",type:"error",onClick:()=>function(e){j.value.length>1?(j.value.splice(e,1),S.value.splice(e,1)):j.value.splice(e,1,{}),g()}(t)},{icon:()=>i(x,{component:s},null)})])))])}}),g(j));export{F as JSON_COMBINATION};
1
+ import{defineComponent as e,ref as o,computed as t,watch as r,onMounted as n,createVNode as i}from"vue";import{isField as l}from"@formily/core";import{Path as a}from"@formily/path";import{AddCircleOutline as u,RemoveCircle as s}from"@vicons/ionicons5";import{isNumber as m,range as c,isArray as p,isEqual as f}from"lodash-es";import{useDeepValidate as v}from"./hooks/useDeepValidate.js";import{formRenderLog as d,mergeDeepProperties as h}from"../../../utils/index.js";import{connect as y,mapProps as g}from"@formily/vue";import{useDebounceFn as b,isObject as x}from"@vueuse/core";import{NButton as N,NIcon as _}from"naive-ui";import C from"../../../FormRender.vue.js";import{assignUpdateValue as j}from"../../../utils/schema.js";const F=y(e({name:"FormJsonCombination",props:{title:{type:String,default:""},value:{type:[String,Array]},maxGroupNum:{type:Number},getProperties:{type:Function,default:()=>[]},onInput:{},onBlur:{},onChange:{}},emits:["update:value"],setup(e,{emit:y}){d("当前COMBINATION控件为json模式,推荐使用非json模式,FieldItem.jsonCombination=false");const g=b((function(){y("update:value",JSON.stringify(j.value))}),300),j=o([]),F=t((()=>j.value.length));function I(o,t=!1){p(o)&&(o.length||o.push({}),o=JSON.stringify(o));const r=function(e){try{if(!e)return null;const o=JSON.parse(e);return Array.isArray(o)?o:null}catch(e){return null}}(o);var n;(n=r)&&!f(n,j.value)&&(r.splice(A.value),r.forEach((function(o,r){if(!x(o))return;j.value[r]=o,t&&h(o,e.getProperties())})),j.value.splice(r.length),j.value.forEach(J))}r((()=>e.value),(e=>I(e))),n((()=>{I(e.value||"[{}]",!0),g()}));const S=o([]);function J(e,o){var t;null==(t=S.value[o])||t.setFieldState("*",(o=>{l(o)&&(o.value=a.getIn(e,o.path))}))}function O(){j.value.push(h({},e.getProperties())),g()}v().bindDeepValidate(S);const A=t((()=>m(e.maxGroupNum)?e.maxGroupNum<1?0:~~e.maxGroupNum:1/0));r(A,(e=>{F.value<=e||(j.value.splice(e),g(),S.value.splice(e))}),{immediate:!0});const G=C;return()=>i("section",{class:"form-render__combination"},[i("header",{class:"form-render__combinationHeader"},[i("div",{class:"form-render__combinationHeaderText"},[e.title]),i(N,{onClick:O,style:{"--n-text-color":"var(--c-primary-color)"},text:!0,disabled:F.value>=A.value},{icon:()=>i(_,{component:u},null),default:()=>"新增"})]),c(F.value).map(((o,t)=>i("section",{class:"form-render__combinationContentJson"},[i(G,{ref:e=>function(e,o){S.value[e]=o,J(j.value[e]||{},e)}(t,e),fieldList:e.getProperties(),onFormChange:e=>function(e,{fieldKey:o,value:t}){!j.value[e]&&(j.value[e]={}),a.setIn(j.value[e],o,t),g()}(t,e)},null),i(N,{text:!0,class:"form-render__combinationClose",type:"error",onClick:()=>function(e){j.value.length>1?(j.value.splice(e,1),S.value.splice(e,1)):j.value.splice(e,1,{}),g()}(t)},{icon:()=>i(_,{component:s},null)})])))])}}),g(j));export{F as JSON_COMBINATION};
@@ -6,6 +6,14 @@ export declare const LEVEL_SEARCH_CASCADER: import("vue").DefineComponent<{
6
6
  type: PropType<AnyObject[]>;
7
7
  default: () => never[];
8
8
  };
9
+ labelField: {
10
+ type: StringConstructor;
11
+ default: string;
12
+ };
13
+ valueField: {
14
+ type: StringConstructor;
15
+ default: string;
16
+ };
9
17
  autograph: {
10
18
  type: StringConstructor;
11
19
  required: true;
@@ -46,6 +54,14 @@ export declare const LEVEL_SEARCH_CASCADER: import("vue").DefineComponent<{
46
54
  type: PropType<AnyObject[]>;
47
55
  default: () => never[];
48
56
  };
57
+ labelField: {
58
+ type: StringConstructor;
59
+ default: string;
60
+ };
61
+ valueField: {
62
+ type: StringConstructor;
63
+ default: string;
64
+ };
49
65
  autograph: {
50
66
  type: StringConstructor;
51
67
  required: true;
@@ -85,6 +101,8 @@ export declare const LEVEL_SEARCH_CASCADER: import("vue").DefineComponent<{
85
101
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
86
102
  }, {
87
103
  options: AnyObject[];
104
+ labelField: string;
105
+ valueField: string;
88
106
  lazyRequest: boolean;
89
107
  requestCache: boolean;
90
108
  }>;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as r,computed as o,inject as t,watch as a,createVNode as n}from"vue";import{useVModel as u}from"@vueuse/core";import{isEqual as i,isString as l,isEmpty as s,isFunction as c,omit as d}from"lodash-es";import"../../../index.js";import{InjectionAsyncQueue as p}from"../../constants/index.js";import{useCommonInjection as m}from"../../hooks/useCommonInjection.js";import{formRenderLog as f}from"../../utils/index.js";import{connect as y,mapProps as v}from"@formily/vue";import h from"../../../../search-cascader/index.js";import k from"../../../../../shared/components/no-data/NoData.vue.js";import{createVisitedSetter as j,assignUpdateValue as _}from"../../utils/schema.js";import{useFormField as w}from"../../hooks/useFormField.js";import{useFormRequest as b}from"../../hooks/useFormRequest.js";const g=y(e({name:"FormSearchCascade",props:{options:{type:Array,default:()=>[]},autograph:{type:String,required:!0},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},wordbook:{type:Object,required:!0},onChange:{},value:{type:[String,Array]}},emits:["update:value"],setup(e,{emit:y}){const v=u(e,"value",y),_=r(!1),g=r([]),{field:K,fieldKey:O}=w(),q=o((()=>{var r,o,t;return null!=(t=null==(o=null==(r=e.wordbook)?void 0:r.render_key)?void 0:o[0])?t:"text"})),F=o((()=>{var r,o;return null!=(o=null==(r=e.wordbook)?void 0:r.value_key)?o:"value"})),S=o((()=>{var r;return(null==(r=e.wordbook)?void 0:r.level_num)||1/0})),x=t(p),{getSearchRequestInfo:C}=b();async function L(r,o){try{if(r&&!r.__keyword&&r.isLeaf)return t(r);if(null==r?void 0:r.__keyword){if(!l(r.id_link))return Promise.reject();const o=r.id_link.split("_").filter((e=>e)),t=await async function(r){if(!C().primaryKeyUrl)return[];try{return await x.addAsync(o(e.wordbook,e.autograph,r,O.value))}catch(e){l(e)&&f(e)}function o(r,o,t,a){const n=C();return{key:a,params:{autograph:o,tableId:r.id,primaryKeyValue:t.join(","),page:1},...n,url:n.primaryKeyUrl,cache:e.requestCache}}}(o);if(!t)return Promise.reject();const{lastOption:a,options:n}=function(e,r){let o=e[0];return{options:r.reduce(((r,a,n)=>{const u=t(e,a);return 0===n?(o=u,[u]):(Object.assign(u,{parent:o,isLeaf:n+1>=S.value}),o.children=[u],o=u,r)}),[]),lastOption:o};function t(e,r){return e.find((e=>e[F.value]===r))}}(t,o);return await L(a),s(a.children)?(v.value=function(e,r){return r.map((r=>e.find((e=>e[F.value]===r))))}(t,o),_.value=!1,Promise.reject()):(g.value=n,a)}{const n=await x.addAsync(function(r,t,a,n,u){const i={autograph:()=>t,wordbookId:"id",wordbookType:"type",fieldKeys:()=>r.search_key?JSON.stringify(r.search_key):void 0,conObj:()=>JSON.stringify(function(e,r,o){return r?e.conObj||[]:o?[{con:"EQ",is_compare_field:!1,field_key:e.level_key,value:o[F.value]}]:e.conObjFirstLevel||[]}(r,o,n)),primaryKey:"primary_key",levelKey:"level_key",keyword:()=>o,page:()=>1},s=Object.entries(i).reduce(((e,[o,t])=>(e[o]=l(t)?r[t]:c(t)?t():void 0,e)),{});return{...C(),params:s,key:u,cache:e.requestCache}}(e.wordbook,e.autograph,K.value,r,O.value));if(r){if(!n.length)return t(r);r.children=n.map((e=>function(e,r,o){return{...e,parent:r,isLeaf:a(r)+1>=o}}(e,r,S.value)))}else g.value=n.map((e=>function(e,r){return e.__keyword=!!r,e.isLeaf=!!r,e}(e,o)))}}catch(e){l(e)&&f(e)}function t(e){return v.value=function(e){const r=[];let o=e;for(;o;)r.unshift(d(o,["parent","isLeaf","__keyword","children"])),o=o.parent;return r}(e),_.value=!1,Promise.reject()}function a(e){let r=1,o=e.parent;for(;o;)r++,o=o.parent;return r}}a((()=>e.wordbook),((r,o)=>{i(r,o)||(g.value=[],r&&(v.value||!e.lazyRequest)&&L())}),{immediate:!0});const{injectValueValidate:V,injectValueWatchFromEmpty:A,injectValueBindKey:I}=m();A(v,L),V(v);const P=I(v);return()=>n(h,{value:v.value,"onUpdate:value":e=>v.value=e,show:_.value,"onUpdate:show":e=>_.value=e,options:g.value,key:P.value,labelKey:q.value,valueKey:F.value,search:L,onFocus:j(K)},{empty:()=>n(k,null,null)})}}),v({dataSource:"options"},_));export{g as LEVEL_SEARCH_CASCADER};
1
+ import{defineComponent as e,ref as r,computed as t,inject as o,watch as a,createVNode as n}from"vue";import{useVModel as u}from"@vueuse/core";import{isEqual as i,isString as l,isEmpty as s,isFunction as c,omit as d}from"lodash-es";import"../../../index.js";import{InjectionAsyncQueue as p}from"../../constants/index.js";import{useCommonInjection as f}from"../../hooks/useCommonInjection.js";import{formRenderLog as m}from"../../utils/index.js";import{connect as y,mapProps as v}from"@formily/vue";import h from"../../../../search-cascader/index.js";import k from"../../../../../shared/components/no-data/NoData.vue.js";import{createVisitedSetter as j,assignUpdateValue as _}from"../../utils/schema.js";import{useFormField as w}from"../../hooks/useFormField.js";import{useFormRequest as b}from"../../hooks/useFormRequest.js";const g=y(e({name:"FormSearchCascade",props:{options:{type:Array,default:()=>[]},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},autograph:{type:String,required:!0},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},wordbook:{type:Object,required:!0},onChange:{},value:{type:[String,Array]}},emits:["update:value"],setup(e,{emit:y}){const v=u(e,"value",y),_=r(!1),g=r([]),{field:F,fieldKey:K}=w(),O=t((()=>{var r,t,o,a;return null!=(a=null!=(o=null==(t=null==(r=e.wordbook)?void 0:r.render_key)?void 0:t[0])?o:e.labelField)?a:"text"})),q=t((()=>{var r,t,o;return null!=(o=null!=(t=null==(r=e.wordbook)?void 0:r.value_key)?t:e.valueField)?o:"value"})),S=t((()=>{var r;return(null==(r=e.wordbook)?void 0:r.level_num)||1/0})),x=o(p),{getSearchRequestInfo:C}=b();async function L(r,t){try{if(r&&!r.__keyword&&r.isLeaf)return o(r);if(null==r?void 0:r.__keyword){if(!l(r.id_link))return Promise.reject();const t=r.id_link.split("_").filter((e=>e)),o=await async function(r){if(!C().primaryKeyUrl)return[];try{return await x.addAsync(t(e.wordbook,e.autograph,r,K.value))}catch(e){l(e)&&m(e)}function t(r,t,o,a){const n=C();return{key:a,params:{autograph:t,tableId:r.id,primaryKeyValue:o.join(","),page:1},...n,url:n.primaryKeyUrl,cache:e.requestCache}}}(t);if(!o)return Promise.reject();const{lastOption:a,options:n}=function(e,r){let t=e[0];return{options:r.reduce(((r,a,n)=>{const u=o(e,a);return 0===n?(t=u,[u]):(Object.assign(u,{parent:t,isLeaf:n+1>=S.value}),t.children=[u],t=u,r)}),[]),lastOption:t};function o(e,r){return e.find((e=>e[q.value]===r))}}(o,t);return await L(a),s(a.children)?(v.value=function(e,r){return r.map((r=>e.find((e=>e[q.value]===r))))}(o,t),_.value=!1,Promise.reject()):(g.value=n,a)}{const n=await x.addAsync(function(r,o,a,n,u){const i={autograph:()=>o,wordbookId:"id",wordbookType:"type",fieldKeys:()=>r.search_key?JSON.stringify(r.search_key):void 0,conObj:()=>JSON.stringify(function(e,r,t){return r?e.conObj||[]:t?[{con:"EQ",is_compare_field:!1,field_key:e.level_key,value:t[q.value]}]:e.conObjFirstLevel||[]}(r,t,n)),primaryKey:"primary_key",levelKey:"level_key",keyword:()=>t,page:()=>1},s=Object.entries(i).reduce(((e,[t,o])=>(e[t]=l(o)?r[o]:c(o)?o():void 0,e)),{});return{...C(),params:s,key:u,cache:e.requestCache}}(e.wordbook,e.autograph,F.value,r,K.value));if(r){if(!n.length)return o(r);r.children=n.map((e=>function(e,r,t){return{...e,parent:r,isLeaf:a(r)+1>=t}}(e,r,S.value)))}else g.value=n.map((e=>function(e,r){return e.__keyword=!!r,e.isLeaf=!!r,e}(e,t)))}}catch(e){l(e)&&m(e)}function o(e){return v.value=function(e){const r=[];let t=e;for(;t;)r.unshift(d(t,["parent","isLeaf","__keyword","children"])),t=t.parent;return r}(e),_.value=!1,Promise.reject()}function a(e){let r=1,t=e.parent;for(;t;)r++,t=t.parent;return r}}a((()=>e.wordbook),((r,t)=>{i(r,t)||(g.value=[],r&&(v.value||!e.lazyRequest)&&L())}),{immediate:!0});const{injectValueValidate:V,injectValueWatchFromEmpty:A,injectValueBindKey:I}=f();A(v,L),V(v);const P=I(v);return()=>n(h,{value:v.value,"onUpdate:value":e=>v.value=e,show:_.value,"onUpdate:show":e=>_.value=e,options:g.value,key:P.value,labelKey:O.value,valueKey:q.value,search:L,onFocus:j(F)},{empty:()=>n(k,null,null)})}}),v({dataSource:"options"},_));export{g as LEVEL_SEARCH_CASCADER};
@@ -65,8 +65,8 @@ declare const _default: import("vue").DefineComponent<{
65
65
  default: boolean;
66
66
  };
67
67
  }>>, {
68
- show: boolean;
69
68
  disabled: boolean;
69
+ show: boolean;
70
70
  title: string;
71
71
  }>;
72
72
  export default _default;
@@ -65,7 +65,7 @@ export declare const LINEBAR: import("vue").DefineComponent<{
65
65
  default: boolean;
66
66
  };
67
67
  }>>, {
68
- show: boolean;
69
68
  disabled: boolean;
69
+ show: boolean;
70
70
  title: string;
71
71
  }>;
@@ -19,6 +19,14 @@ export declare const RADIO: import("vue").DefineComponent<{
19
19
  type: BooleanConstructor;
20
20
  default: boolean;
21
21
  };
22
+ labelField: {
23
+ type: StringConstructor;
24
+ default: string;
25
+ };
26
+ valueField: {
27
+ type: StringConstructor;
28
+ default: string;
29
+ };
22
30
  wordbook: {
23
31
  type: PropType<Partial<{
24
32
  level_num: number;
@@ -61,6 +69,14 @@ export declare const RADIO: import("vue").DefineComponent<{
61
69
  type: BooleanConstructor;
62
70
  default: boolean;
63
71
  };
72
+ labelField: {
73
+ type: StringConstructor;
74
+ default: string;
75
+ };
76
+ valueField: {
77
+ type: StringConstructor;
78
+ default: string;
79
+ };
64
80
  wordbook: {
65
81
  type: PropType<Partial<{
66
82
  level_num: number;
@@ -87,10 +103,12 @@ export declare const RADIO: import("vue").DefineComponent<{
87
103
  }>> & {
88
104
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
89
105
  }, {
90
- vertical: boolean;
91
106
  options: AnyObject[];
107
+ labelField: string;
108
+ valueField: string;
92
109
  lazyRequest: boolean;
93
110
  requestCache: boolean;
111
+ vertical: boolean;
94
112
  }>;
95
113
  export declare const CHECKBOX: import("vue").DefineComponent<{
96
114
  value: {
@@ -111,6 +129,14 @@ export declare const CHECKBOX: import("vue").DefineComponent<{
111
129
  type: BooleanConstructor;
112
130
  default: boolean;
113
131
  };
132
+ labelField: {
133
+ type: StringConstructor;
134
+ default: string;
135
+ };
136
+ valueField: {
137
+ type: StringConstructor;
138
+ default: string;
139
+ };
114
140
  wordbook: {
115
141
  type: PropType<Partial<{
116
142
  level_num: number;
@@ -153,6 +179,14 @@ export declare const CHECKBOX: import("vue").DefineComponent<{
153
179
  type: BooleanConstructor;
154
180
  default: boolean;
155
181
  };
182
+ labelField: {
183
+ type: StringConstructor;
184
+ default: string;
185
+ };
186
+ valueField: {
187
+ type: StringConstructor;
188
+ default: string;
189
+ };
156
190
  wordbook: {
157
191
  type: PropType<Partial<{
158
192
  level_num: number;
@@ -179,8 +213,10 @@ export declare const CHECKBOX: import("vue").DefineComponent<{
179
213
  }>> & {
180
214
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
181
215
  }, {
182
- vertical: boolean;
183
216
  options: AnyObject[];
217
+ labelField: string;
218
+ valueField: string;
184
219
  lazyRequest: boolean;
185
220
  requestCache: boolean;
221
+ vertical: boolean;
186
222
  }>;
@@ -1 +1 @@
1
- import{defineComponent as e,createVNode as o,isVNode as t}from"vue";import{connect as a,mapProps as l}from"@formily/vue";import{NSpace as r,NRadio as u,NRadioGroup as i,NCheckbox as n,NCheckboxGroup as p}from"naive-ui";import"../../../index.js";import{useComplexOptions as s}from"../../hooks/useComplexOptions.js";import"../../utils/index.js";import{useAutographOptions as m}from"../../hooks/useFormRenderOptions.js";import{useCommonInjection as v}from"../../hooks/useCommonInjection.js";import{assignUpdateValue as c,createVisitedSetter as d}from"../../utils/schema.js";import{useFormField as f}from"../../hooks/useFormField.js";function y(a,l,u){return e({name:a,props:{value:{type:[String,Number,Object,Array]},options:{type:Array,default:()=>[]},autograph:{type:String},lazyRequest:{type:Boolean,default:!1},requestCache:{type:Boolean,default:!0},wordbook:{type:Object},vertical:{type:Boolean,default:!1},onChange:{}},emits:["update:value"],setup(e,{emit:a}){const{field:i}=f(),{renderComplexOption:n,valueRef:p}=s(e,a),{labelKey:c,valueKey:y,fullOptions:j}=m(e,p),{injectValueBindKey:b,injectValueValidate:h}=v();h(p);const k=b(p);return()=>o(l,{key:k.value,value:p.value,"onUpdate:value":e=>p.value=e,onClick:d(i)},{default:()=>[o(r,{vertical:e.vertical,"vertical-space":e.vertical},{default:()=>{var e;return[null==(e=j.value)?void 0:e.map((e=>{let a;return o(u,{key:e[y.value],value:e[y.value],disabled:e.disabled},"function"==typeof(l=a=n({value:p.value,option:e,valueKey:y.value,labelKey:c.value}))||"[object Object]"===Object.prototype.toString.call(l)&&!t(l)?a:{default:()=>[a]});var l}))]}})]})}})}const j=a(y("FormRadio",i,u),l({dataSource:"options"},c)),b=a(y("FormCheckbox",p,n),l({dataSource:"options"},c));export{b as CHECKBOX,j as RADIO};
1
+ import{defineComponent as e,createVNode as t,isVNode as o}from"vue";import{connect as a,mapProps as l}from"@formily/vue";import{NSpace as r,NRadio as u,NRadioGroup as i,NCheckbox as n,NCheckboxGroup as p}from"naive-ui";import"../../../index.js";import{useComplexOptions as s}from"../../hooks/useComplexOptions.js";import"../../utils/index.js";import{useAutographOptions as m}from"../../hooks/useFormRenderOptions.js";import{useCommonInjection as v}from"../../hooks/useCommonInjection.js";import{assignUpdateValue as d,createVisitedSetter as c}from"../../utils/schema.js";import{useFormField as f}from"../../hooks/useFormField.js";function y(a,l,u){return e({name:a,props:{value:{type:[String,Number,Object,Array]},options:{type:Array,default:()=>[]},autograph:{type:String},lazyRequest:{type:Boolean,default:!1},requestCache:{type:Boolean,default:!0},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},wordbook:{type:Object},vertical:{type:Boolean,default:!1},onChange:{}},emits:["update:value"],setup(e,{emit:a}){const{field:i}=f(),{renderComplexOption:n,valueRef:p}=s(e,a),{labelKey:d,valueKey:y,fullOptions:j}=m(e,p),{injectValueBindKey:b,injectValueValidate:h}=v();h(p);const k=b(p);return()=>t(l,{key:k.value,value:p.value,"onUpdate:value":e=>p.value=e,onClick:c(i)},{default:()=>[t(r,{vertical:e.vertical,"vertical-space":e.vertical},{default:()=>{var e;return[null==(e=j.value)?void 0:e.map((e=>{let a;return t(u,{key:e[y.value],value:e[y.value],disabled:e.disabled},"function"==typeof(l=a=n({value:p.value,option:e,valueKey:y.value,labelKey:d.value}))||"[object Object]"===Object.prototype.toString.call(l)&&!o(l)?a:{default:()=>[a]});var l}))]}})]})}})}const j=a(y("FormRadio",i,u),l({dataSource:"options"},d)),b=a(y("FormCheckbox",p,n),l({dataSource:"options"},d));export{b as CHECKBOX,j as RADIO};
@@ -13,6 +13,14 @@ export declare const REMOTE_SEARCH: import("vue").DefineComponent<{
13
13
  type: PropType<AnyObject[]>;
14
14
  default: () => never[];
15
15
  };
16
+ labelField: {
17
+ type: StringConstructor;
18
+ default: string;
19
+ };
20
+ valueField: {
21
+ type: StringConstructor;
22
+ default: string;
23
+ };
16
24
  urlConfig: {
17
25
  type: PropType<UrlConfig>;
18
26
  };
@@ -29,6 +37,14 @@ export declare const REMOTE_SEARCH: import("vue").DefineComponent<{
29
37
  type: PropType<AnyObject[]>;
30
38
  default: () => never[];
31
39
  };
40
+ labelField: {
41
+ type: StringConstructor;
42
+ default: string;
43
+ };
44
+ valueField: {
45
+ type: StringConstructor;
46
+ default: string;
47
+ };
32
48
  urlConfig: {
33
49
  type: PropType<UrlConfig>;
34
50
  };
@@ -37,5 +53,7 @@ export declare const REMOTE_SEARCH: import("vue").DefineComponent<{
37
53
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
38
54
  }, {
39
55
  options: AnyObject[];
56
+ labelField: string;
57
+ valueField: string;
40
58
  requestCache: boolean;
41
59
  }>;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as l,computed as o,inject as u,watch as a,createVNode as r}from"vue";import{connect as t,mapProps as n}from"@formily/vue";import{useVModel as i,useDebounceFn as s}from"@vueuse/core";import{isString as v,isArray as m,cloneDeep as p,isEqual as d}from"lodash-es";import{NSelect as f}from"naive-ui";import"../../../index.js";import{InjectionAsyncQueue as c,InjectionChangeContextCollector as y,InjectionFormItemDepsCollector as h}from"../../constants/index.js";import{createUrlConfigParams as C,formRenderLog as g}from"../../utils/index.js";import{useCommonInjection as j,useSelectOptionProps as x}from"../../hooks/useCommonInjection.js";import{useFormField as F}from"../../hooks/useFormField.js";import{createVisitedSetter as K,assignUpdateValue as b,assignClearBindVisited as k}from"../../utils/schema.js";const w=t(e({name:"FormRemoteSearch",props:{value:{type:String},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},urlConfig:{type:Object},onChange:{}},emits:["update:value"],setup(e,{slots:t,emit:n}){const b=i(e,"value",n),{field:k,fieldKey:w}=F(),S=l(null),V=o((()=>{var l,o;return null!=(o=null==(l=e.urlConfig)?void 0:l.nameKey)?o:"text"})),q=o((()=>{var l,o;return null!=(o=null==(l=e.urlConfig)?void 0:l.valueKey)?o:"value"})),A=u(c),B=s((async(l="",o="label")=>{if(!e.urlConfig)return S.value=null;try{S.value=await A.addAsync(await C({config:{...e.urlConfig,params:{...e.urlConfig.params,["value"===o?q.value:"keyword"]:l}},cache:e.requestCache,field:k.value}))}catch(e){v(e)&&g(e)}})),O=o((()=>m(S.value)?S.value:m(e.options)?e.options:[])),{injectValueValidate:P,injectValueBindKey:U}=j();P(b);const D=U(b);a(b,(e=>{if(e&&!O.value.find((l=>l[q.value]===e)))return B(e,"value")}));u(y).setContext(w.value,(e=>{return{currentOption:p((l=e,O.value.find((e=>e[q.value]===l))))};var l}));const I=u(h);a((()=>e.urlConfig),((e,l)=>{d(e,l)||(S.value=null,e&&(I.setDeps(w.value,e.dependKey||[],(async()=>{S.value=null,b.value=null})),b.value&&B(b.value,"value")))}),{immediate:!0});const{menuProps:R,nodeProps:z}=x();return()=>r(f,{remote:!0,filterable:!0,key:D.value,value:b.value,"onUpdate:value":e=>b.value=e,labelField:V.value,valueField:q.value,"menu-props":R,"node-props":z,onSearch:B,"onUpdate:show":e=>e&&B(),options:O.value,onFocus:K(k)},t)}}),n(b,k));export{w as REMOTE_SEARCH};
1
+ import{defineComponent as e,ref as l,computed as u,inject as a,watch as o,createVNode as t}from"vue";import{connect as n,mapProps as r}from"@formily/vue";import{useVModel as i,useDebounceFn as s}from"@vueuse/core";import{isString as v,isArray as m,cloneDeep as p,isEqual as d}from"lodash-es";import{NSelect as f}from"naive-ui";import"../../../index.js";import{InjectionAsyncQueue as c,InjectionChangeContextCollector as y,InjectionFormItemDepsCollector as g}from"../../constants/index.js";import{createUrlConfigParams as h,formRenderLog as C}from"../../utils/index.js";import{useCommonInjection as j,useSelectOptionProps as F}from"../../hooks/useCommonInjection.js";import{useFormField as x}from"../../hooks/useFormField.js";import{createVisitedSetter as b,assignUpdateValue as K,assignClearBindVisited as S}from"../../utils/schema.js";const k=n(e({name:"FormRemoteSearch",props:{value:{type:String},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},urlConfig:{type:Object},onChange:{}},emits:["update:value"],setup(e,{slots:n,emit:r}){const K=i(e,"value",r),{field:S,fieldKey:k}=x(),w=l(null),V=u((()=>{var l,u,a;return null!=(a=null!=(u=null==(l=e.urlConfig)?void 0:l.nameKey)?u:e.labelField)?a:"text"})),q=u((()=>{var l,u,a;return null!=(a=null!=(u=null==(l=e.urlConfig)?void 0:l.valueKey)?u:e.valueField)?a:"value"})),A=a(c),B=s((async(l="",u="label")=>{if(!e.urlConfig)return w.value=null;try{w.value=await A.addAsync(await h({config:{...e.urlConfig,params:{...e.urlConfig.params,["value"===u?q.value:"keyword"]:l}},cache:e.requestCache,field:S.value}))}catch(e){v(e)&&C(e)}})),O=u((()=>m(w.value)?w.value:m(e.options)?e.options:[])),{injectValueValidate:P,injectValueBindKey:U}=j();P(K);const D=U(K);o(K,(e=>{if(e&&!O.value.find((l=>l[q.value]===e)))return B(e,"value")}));a(y).setContext(k.value,(e=>{return{currentOption:p((l=e,O.value.find((e=>e[q.value]===l))))};var l}));const I=a(g);o((()=>e.urlConfig),((e,l)=>{d(e,l)||(w.value=null,e&&(I.setDeps(k.value,e.dependKey||[],(async()=>{w.value=null,K.value=null})),K.value&&B(K.value,"value")))}),{immediate:!0});const{menuProps:R,nodeProps:z}=F();return()=>t(f,{remote:!0,filterable:!0,key:D.value,value:K.value,"onUpdate:value":e=>K.value=e,labelField:V.value,valueField:q.value,"menu-props":R,"node-props":z,onSearch:B,"onUpdate:show":e=>e&&B(),options:O.value,onFocus:b(S)},n)}}),r(K,S));export{k as REMOTE_SEARCH};
@@ -23,6 +23,14 @@ export declare const SEARCH_CASCADER: import("vue").DefineComponent<{
23
23
  type: BooleanConstructor;
24
24
  default: boolean;
25
25
  };
26
+ labelField: {
27
+ type: StringConstructor;
28
+ default: string;
29
+ };
30
+ valueField: {
31
+ type: StringConstructor;
32
+ default: string;
33
+ };
26
34
  onChange: {};
27
35
  value: {};
28
36
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:value"[], "update:value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -47,12 +55,22 @@ export declare const SEARCH_CASCADER: import("vue").DefineComponent<{
47
55
  type: BooleanConstructor;
48
56
  default: boolean;
49
57
  };
58
+ labelField: {
59
+ type: StringConstructor;
60
+ default: string;
61
+ };
62
+ valueField: {
63
+ type: StringConstructor;
64
+ default: string;
65
+ };
50
66
  onChange: {};
51
67
  value: {};
52
68
  }>> & {
53
69
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
54
70
  }, {
55
71
  options: AnyObject[];
72
+ labelField: string;
73
+ valueField: string;
56
74
  requestCache: boolean;
57
75
  filterable: boolean;
58
76
  }>;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as a,inject as o,watch as r,createVNode as l,nextTick as n}from"vue";import{isEqual as i,isArray as u}from"lodash-es";import"../../../index.js";import{useCommonInjection as s}from"../../hooks/useCommonInjection.js";import{InjectionAsyncQueue as c,InjectionFormUUID as p}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"../../utils/index.js";import{useFormField as m}from"../../hooks/useFormField.js";import"@vueuse/core";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import"@formily/core";import"date-fns";import"@formily/reactive";import{connect as d,mapProps as v}from"@formily/vue";import"@vue/shared";import"./index.js";import"../../hooks/useFormRenderOptions.js";import{NCascader as f}from"naive-ui";import{createVisitedSetter as h,assignUpdateValue as y,traverseDependKey as j}from"../../utils/schema.js";const b=d(e({name:"FormCascader",props:{options:{type:Array,default:()=>[]},depth:{type:[Number,String]},urlConfig:{type:Object},requestCache:{type:Boolean,default:!0},onFocus:{type:Function},filterable:{type:Boolean,default:!1},onChange:{},value:{}},emits:["update:value"],setup(e,{slots:d,emit:v}){const y=t(),{field:b,title:k}=m(),C=a((()=>{var t,a;return null!=(a=null==(t=e.urlConfig)?void 0:t.nameKey)?a:"text"})),g=a((()=>{var t,a;return null!=(a=null==(t=e.urlConfig)?void 0:t.valueKey)?a:"value"})),A=a((()=>{try{const t=Array.isArray(e.value)?e.value:JSON.parse(e.value||"");return Array.isArray(t)&&t.length?t.map((e=>e[C.value])).join(" / "):null}catch(e){return null}}));function S(e,t,a){v("update:value",a.map((function(e){return{...e,label:e[C.value],children:void 0,parent:void 0}})))}const F=o(c);async function w(t){e.filterable?await async function(){if(!e.urlConfig||y.value&&e.requestCache)return;const t=await F.addAsync({...e.urlConfig,params:{lvlnr:"1"},key:k.value,cache:e.requestCache});function a(e,t){const o={[C.value]:e[C.value],[g.value]:e[g.value],depth:t+1,isLeaf:!0};return u(e.children)&&(o.children=e.children.map((e=>a(e,t+1))),o.isLeaf=!e.children.length),o}y.value=t.map((e=>a(e,0)))}():await async function(t){if(r(e,t))return;const a=await F.addAsync(l(s(t),u(e),k.value,t));if(!a.length&&t)return t.isLeaf=!0,S(0,0,n(t)),void(K.value=!1);const o=a.map((e=>i(e,s(t))));function r(e,t){return!u(e)||!t&&y.value&&e.requestCache||s(t)>=s(e)-1}function l(t,a,o,r){const l={lvlnr:t+1+""};return r&&a.dependKey&&j(a.dependKey,((e,t)=>{l[t]=r[e]})),{params:l,...a,key:o,cache:e.requestCache}}function n(e){let t=e;const a=[e];for(;t.parent;)a.unshift(t.parent),t=t.parent;return a}function i(a,o){return{[C.value]:a[C.value],[g.value]:a[g.value],depth:o+1,parent:t,isLeaf:o+2>=s(e)}}function u(e){return e.urlConfig}function s(e){var t;return null!=(t=null==e?void 0:e.depth)?t:-1}t?t.children=o:y.value=o}(t),await x()}const H=`form-render__cascade--menu-${o(p)}`;async function x(){await n();const e=document.querySelector(`.${H} .v-vl`);e&&e.dispatchEvent(new CustomEvent("scroll"))}const{injectValueValidate:L,injectValueWatchFromEmpty:q,injectValueBindKey:B}=s();q((()=>e.value),w),L((()=>e.value)),r((()=>e.urlConfig),(async(e,t)=>{i(e,t)||(y.value=null,await w())}));const K=t(!1);function V(e){K.value=!!e,e&&w()}const E=a((()=>y.value||e.options||[])),O=a((()=>!e.filterable)),W=B(A);return()=>l(f,{key:W.value,remote:O.value,filterable:e.filterable,"menu-props":{class:H,onClick:x},checkStrategy:"child",show:!!K.value,"onUpdate:show":V,value:A.value,"onUpdate:value":S,labelField:C.value,valueField:g.value,options:E.value,onLoad:w,onFocus:h(b)},d)}}),v({dataSource:"options"},y));export{b as SEARCH_CASCADER};
1
+ import{defineComponent as e,ref as t,computed as a,inject as l,watch as r,createVNode as o,nextTick as n}from"vue";import{isEqual as i,isArray as u,isString as s}from"lodash-es";import"../../../index.js";import{useCommonInjection as c}from"../../hooks/useCommonInjection.js";import{InjectionAsyncQueue as p,InjectionFormUUID as d}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"../../utils/index.js";import{useFormField as m}from"../../hooks/useFormField.js";import{NCascader as v}from"naive-ui";import"@vueuse/core";import"date-fns";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import"@formily/core";import"@formily/reactive";import{connect as f,mapProps as y}from"@formily/vue";import"@vue/shared";import"./index.js";import"../../hooks/useFormRenderOptions.js";import{createVisitedSetter as h,assignUpdateValue as j,traverseDependKey as k}from"../../utils/schema.js";const b=f(e({name:"FormCascader",props:{options:{type:Array,default:()=>[]},depth:{type:[Number,String]},urlConfig:{type:Object},requestCache:{type:Boolean,default:!0},onFocus:{type:Function},filterable:{type:Boolean,default:!1},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},onChange:{},value:{}},emits:["update:value"],setup(e,{slots:f,emit:y}){const j=t(),{field:b,title:C}=m(),g=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.nameKey)?a:e.labelField)?l:"text"})),F=a((()=>{var t,a,l;return null!=(l=null!=(a=null==(t=e.urlConfig)?void 0:t.valueKey)?a:e.valueField)?l:"value"})),S=a((()=>{try{const t=Array.isArray(e.value)?e.value:JSON.parse(e.value||"");return Array.isArray(t)&&t.length?t.map((e=>e[g.value])).join(" / "):null}catch(e){return null}}));function w(e,t,a){y("update:value",u(a)?a.map((function(e){return{...e,label:e[g.value],children:void 0,parent:void 0}})):null)}const A=l(p);async function H(t){e.filterable?await async function(){if(!e.urlConfig||j.value&&e.requestCache)return;const t=await A.addAsync({...e.urlConfig,params:{lvlnr:"1"},key:C.value,cache:e.requestCache});function a(e,t){const l={[g.value]:e[g.value],[F.value]:e[F.value],depth:t+1,isLeaf:!0,keyword:e.keyword};return u(e.children)&&(l.children=e.children.map((e=>a(e,t+1))),l.isLeaf=!e.children.length),l}j.value=t.map((e=>a(e,0)))}():await async function(t){if(r(e,t))return;const a=await A.addAsync(o(s(t),u(e),C.value,t));if(!a.length&&t)return t.isLeaf=!0,w(0,0,n(t)),void(E.value=!1);const l=a.map((e=>i(e,s(t))));function r(e,t){return!u(e)||!t&&j.value&&e.requestCache||s(t)>=s(e)-1}function o(t,a,l,r){const o={lvlnr:t+1+""};return r&&a.dependKey&&k(a.dependKey,((e,t)=>{o[t]=r[e]})),{params:o,...a,key:l,cache:e.requestCache}}function n(e){let t=e;const a=[e];for(;t.parent;)a.unshift(t.parent),t=t.parent;return a}function i(a,l){return{[g.value]:a[g.value],[F.value]:a[F.value],depth:l+1,parent:t,isLeaf:l+2>=s(e)}}function u(e){return e.urlConfig}function s(e){var t;return null!=(t=null==e?void 0:e.depth)?t:-1}t?t.children=l:j.value=l}(t),await L()}const x=`form-render__cascade--menu-${l(d)}`;async function L(){await n();const e=document.querySelector(`.${x} .v-vl`);e&&e.dispatchEvent(new CustomEvent("scroll"))}function q(e,t){if(!e||!t)return!1;const{keyword:a,[g.value]:l}=t;return s(a)?a.split(",").some((t=>t.includes(e))):!!s(l)&&l.includes(e)}const{injectValueValidate:B,injectValueWatchFromEmpty:K,injectValueBindKey:V}=c();K((()=>e.value),H),B((()=>e.value)),r((()=>e.urlConfig),(async(e,t)=>{i(e,t)||(j.value=null,await H())}));const E=t(!1);function O(e){E.value=!!e,e&&H()}const W=a((()=>j.value||e.options||[])),N=a((()=>!e.filterable)),P=V(S);return()=>o(v,{key:P.value,remote:N.value,filterable:e.filterable,"menu-props":{class:x,onClick:L},checkStrategy:"child",show:!!E.value,"onUpdate:show":O,value:S.value,filter:q,"onUpdate:value":w,labelField:g.value,valueField:F.value,options:W.value,onLoad:H,onFocus:h(b)},f)}}),y({dataSource:"options"},j));export{b as SEARCH_CASCADER};
@@ -5,7 +5,7 @@ import { UrlConfig } from '../../types';
5
5
  import { PropType } from 'vue';
6
6
  export declare const SELECT: import("vue").DefineComponent<{
7
7
  value: {
8
- type: PropType<ArrayAble<string> | null>;
8
+ type: PropType<ArrayAble<string | number> | null>;
9
9
  };
10
10
  lazyRequest: {
11
11
  type: BooleanConstructor;
@@ -20,6 +20,14 @@ export declare const SELECT: import("vue").DefineComponent<{
20
20
  default: () => never[];
21
21
  };
22
22
  onChange: {};
23
+ labelField: {
24
+ type: StringConstructor;
25
+ default: string;
26
+ };
27
+ valueField: {
28
+ type: StringConstructor;
29
+ default: string;
30
+ };
23
31
  allowCreate: BooleanConstructor;
24
32
  urlConfig: {
25
33
  type: PropType<UrlConfig>;
@@ -58,7 +66,11 @@ export declare const SELECT: import("vue").DefineComponent<{
58
66
  getRecommendInfo: {
59
67
  type: PropType<() => RecommendIds>;
60
68
  };
61
- recommendNum: {
69
+ commonNum: {
70
+ type: NumberConstructor;
71
+ default: number;
72
+ };
73
+ recentNum: {
62
74
  type: NumberConstructor;
63
75
  default: number;
64
76
  };
@@ -68,7 +80,7 @@ export declare const SELECT: import("vue").DefineComponent<{
68
80
  };
69
81
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:value" | "postRecommend")[], "update:value" | "postRecommend", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
70
82
  value: {
71
- type: PropType<ArrayAble<string> | null>;
83
+ type: PropType<ArrayAble<string | number> | null>;
72
84
  };
73
85
  lazyRequest: {
74
86
  type: BooleanConstructor;
@@ -83,6 +95,14 @@ export declare const SELECT: import("vue").DefineComponent<{
83
95
  default: () => never[];
84
96
  };
85
97
  onChange: {};
98
+ labelField: {
99
+ type: StringConstructor;
100
+ default: string;
101
+ };
102
+ valueField: {
103
+ type: StringConstructor;
104
+ default: string;
105
+ };
86
106
  allowCreate: BooleanConstructor;
87
107
  urlConfig: {
88
108
  type: PropType<UrlConfig>;
@@ -121,7 +141,11 @@ export declare const SELECT: import("vue").DefineComponent<{
121
141
  getRecommendInfo: {
122
142
  type: PropType<() => RecommendIds>;
123
143
  };
124
- recommendNum: {
144
+ commonNum: {
145
+ type: NumberConstructor;
146
+ default: number;
147
+ };
148
+ recentNum: {
125
149
  type: NumberConstructor;
126
150
  default: number;
127
151
  };
@@ -134,10 +158,13 @@ export declare const SELECT: import("vue").DefineComponent<{
134
158
  onPostRecommend?: ((...args: any[]) => any) | undefined;
135
159
  }, {
136
160
  options: AnyObject[];
161
+ labelField: string;
162
+ valueField: string;
137
163
  lazyRequest: boolean;
138
164
  requestCache: boolean;
139
165
  recommend: boolean;
140
166
  recommendCache: boolean;
141
- recommendNum: number;
167
+ commonNum: number;
168
+ recentNum: number;
142
169
  allowCreate: boolean;
143
170
  }>;
@@ -1 +1 @@
1
- import{defineComponent as e,computed as o,inject as t,ref as a,createVNode as r}from"vue";import{useDebounceFn as l}from"@vueuse/core";import{cloneDeep as s,isString as i}from"lodash-es";import{useCommonInjection as n,useSelectOptionProps as u}from"../../hooks/useCommonInjection.js";import{InjectionChangeContextCollector as p}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"../../../index.js";import"../../utils/index.js";import{useFormField as m}from"../../hooks/useFormField.js";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import"@formily/core";import"date-fns";import"@formily/reactive";import{connect as c,mapProps as d}from"@formily/vue";import"@vue/shared";import"./index.js";import{useUrlConfigOptions as y,useAutographOptions as v,useRecommendOptions as f,searchContentMatcher as h}from"../../hooks/useFormRenderOptions.js";import{NSelect as j}from"naive-ui";import{createVisitedSetter as b,assignUpdateValue as k,assignClearBindVisited as S}from"../../utils/schema.js";const g=c(e({name:"FormSelect",props:{value:{type:[String,Array]},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},onChange:{},allowCreate:Boolean,urlConfig:{type:Object},autograph:{type:String},wordbook:{type:Object},recommend:{type:Boolean,default:!1},commonList:{type:Array},recentList:{type:Array},getRecommendInfo:{type:Function},recommendNum:{type:Number,default:10},recommendCache:{type:Boolean,default:!1}},emits:["update:value","postRecommend"],setup(e,{slots:c,emit:d}){const k=o({get:()=>e.value,async set(e){d("update:value",e),C(e)}}),{labelKey:S,valueKey:g,fetchData:A,fullOptions:F,filterOptions:H}=e.urlConfig?y(e,k):v(e,k),{getRecommend:B,postRecommend:C,sortedOptions:x}=f(e,H,d,S,g),{field:O,fieldKey:R}=m();t(p).setContext(R.value,(e=>{return{currentOption:s((o=e,F.value.find((e=>e[g.value]===o))))};var o}));const L=a(""),V=l((async(e="")=>{L.value=e,A(e),B(e)}),300),{injectValueValidate:w,injectValueWatchFromEmpty:K,injectValueBindKey:P}=n();K(k,V),w(k);const W=P(k),{menuProps:q,nodeProps:I}=u();function N(e){const o=e[S.value];if(!o||!i(o))return"";const t=h(L.value,o);return t?r("section",null,[t.map(((e,o)=>0!==o&&e?r("span",{style:{color:o%2==0?"var(--n-option-text-color-active)":""}},[e]):null))]):o}const U=o((()=>x.value.length||!e.allowCreate?x.value:L.value?[{[S.value]:L.value,[g.value]:L.value},...x.value]:x.value));return()=>r(j,{key:W.value,remote:!0,filterable:!0,value:k.value,"onUpdate:value":e=>k.value=e,"menu-props":q,"node-props":I,labelField:S.value,valueField:g.value,options:U.value,onSearch:V,"onUpdate:show":e=>e&&V(),onFocus:b(O),renderLabel:N},c)}}),d({dataSource:"options"},k,S));export{g as SELECT};
1
+ import{defineComponent as e,computed as o,inject as t,ref as a,createVNode as r}from"vue";import{useDebounceFn as l}from"@vueuse/core";import{cloneDeep as s,isArray as i,isString as n}from"lodash-es";import{useCommonInjection as u,useSelectOptionProps as p}from"../../hooks/useCommonInjection.js";import{InjectionChangeContextCollector as m}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"../../../index.js";import"../../utils/index.js";import{useFormField as c}from"../../hooks/useFormField.js";import{NSelect as d}from"naive-ui";import"date-fns";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import"@formily/core";import"@formily/reactive";import{connect as y,mapProps as v}from"@formily/vue";import"@vue/shared";import"./index.js";import{useUrlConfigOptions as f,useAutographOptions as h,useRecommendOptions as j,searchContentMatcher as b}from"../../hooks/useFormRenderOptions.js";import{createVisitedSetter as k,assignUpdateValue as S,assignClearBindVisited as g}from"../../utils/schema.js";const F=y(e({name:"FormSelect",props:{value:{type:[String,Array,Number]},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},onChange:{},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},allowCreate:Boolean,urlConfig:{type:Object},autograph:{type:String},wordbook:{type:Object},recommend:{type:Boolean,default:!1},commonList:{type:Array},recentList:{type:Array},getRecommendInfo:{type:Function},commonNum:{type:Number,default:10},recentNum:{type:Number,default:10},recommendCache:{type:Boolean,default:!1}},emits:["update:value","postRecommend"],setup(e,{slots:y,emit:v}){const S=o({get:()=>e.value,async set(e){v("update:value",e),C(e)}}),{labelKey:g,valueKey:F,fetchData:A,fullOptions:H,filterOptions:x}=e.urlConfig?f(e,S):h(e,S),{getRecommend:B,postRecommend:C,sortedOptions:O}=j(e,x,v,g,F),{field:R,fieldKey:L}=c();t(m).setContext(L.value,(e=>{return{currentOption:s((o=e,i(o)?function(e){const o=H.value.reduce(((e,o)=>(e[o[F.value]]=o,e)),{});return e.map((e=>o[e]))}(o):(t=o,H.value.find((e=>e[F.value]===t)))))};var o,t}));const N=a(""),V=l((async(e="")=>{N.value=e,A(e),B(e)}),300),{injectValueValidate:w,injectValueWatchFromEmpty:K,injectValueBindKey:P}=u();K(S,V),w(S);const W=P(S),{menuProps:q,nodeProps:I}=p();function U(e){const o=e[g.value];if(!o||!n(o))return"";const t=b(N.value,o);return t?r("section",null,[t.map(((e,o)=>0!==o&&e?r("span",{style:{color:o%2==0?"var(--n-option-text-color-active)":""}},[e]):null))]):o}const z=o((()=>O.value.length||!e.allowCreate?O.value:N.value?[{[g.value]:N.value,[F.value]:N.value},...O.value]:O.value));return()=>r(d,{key:W.value,remote:!0,filterable:!0,value:S.value,"onUpdate:value":e=>S.value=e,"menu-props":q,"node-props":I,labelField:g.value,valueField:F.value,options:z.value,onSearch:V,"onUpdate:show":e=>e&&V(),onFocus:k(R),renderLabel:U},y)}}),v({dataSource:"options"},S,g));export{F as SELECT};
@@ -2,7 +2,7 @@ export * from './useFieldListAdaptor';
2
2
  export * from './useFormRequest';
3
3
  export * from './useCommonLog';
4
4
  export * from './useFormField';
5
- export * from './useAsyncQueue';
5
+ export * from './useFormAsyncQueue';
6
6
  export * from './useFieldVisitor';
7
7
  export * from './useFieldNormalize';
8
8
  export * from './useFormValidator';
@@ -1 +1 @@
1
- export{useFieldListAdaptor}from"./useFieldListAdaptor.js";export{useFormRequest}from"./useFormRequest.js";export{useCommonLog}from"./useCommonLog.js";export{useFormField}from"./useFormField.js";export{AsyncQueue,useAsyncQueue}from"./useAsyncQueue.js";export{useFieldVisitor}from"./useFieldVisitor.js";export{useFieldNormalize}from"./useFieldNormalize.js";export{useFormValidator,validateMessageLocale}from"./useFormValidator.js";export{BusinessCollector,useBusinessBinding}from"./useBusinessBinding.js";export{ContextCollector,useChangeContext}from"./useChangeContext.js";export{FormItemDepsCollector,useFormItemDeps}from"./useFormItemDeps.js";export{useAnchor}from"./useAnchor.js";export{useFormContext}from"./useFormContext.js";export{useCommonInjection,useSelectOptionProps}from"./useCommonInjection.js";export{searchContentMatcher,useAutographOptions,useRecommendOptions,useUrlConfigOptions}from"./useFormRenderOptions.js";
1
+ export{useFieldListAdaptor}from"./useFieldListAdaptor.js";export{useFormRequest}from"./useFormRequest.js";export{useCommonLog}from"./useCommonLog.js";export{useFormField}from"./useFormField.js";export{useFormAsyncQueue}from"./useFormAsyncQueue.js";export{useFieldVisitor}from"./useFieldVisitor.js";export{useFieldNormalize}from"./useFieldNormalize.js";export{useFormValidator,validateMessageLocale}from"./useFormValidator.js";export{BusinessCollector,useBusinessBinding}from"./useBusinessBinding.js";export{ContextCollector,useChangeContext}from"./useChangeContext.js";export{FormItemDepsCollector,useFormItemDeps}from"./useFormItemDeps.js";export{useAnchor}from"./useAnchor.js";export{useFormContext}from"./useFormContext.js";export{useCommonInjection,useSelectOptionProps}from"./useCommonInjection.js";export{searchContentMatcher,useAutographOptions,useRecommendOptions,useUrlConfigOptions}from"./useFormRenderOptions.js";
@@ -0,0 +1,16 @@
1
+ import { AsyncQueue } from '../../../../../es/shared/hooks';
2
+ import { AnyObject, UndefinedAble } from '../../../../../es/shared/types';
3
+ import { ComputedRef } from 'vue';
4
+ import { FormAsyncQueueItem } from '../types';
5
+ import { RequestInstance } from '../../../../../es/components/form-render';
6
+ declare type ProcessorOption = Partial<{
7
+ afterRequest(key: string, payload?: unknown): AnyObject[];
8
+ beforeRequest(key: string, params?: unknown): UndefinedAble<AnyObject> | void;
9
+ }>;
10
+ export declare function useFormAsyncQueue(requestInstance: ComputedRef<UndefinedAble<RequestInstance>>): {
11
+ create: (parallelism?: number, option?: ProcessorOption) => AsyncQueue<FormAsyncQueueItem, any, {
12
+ label: string;
13
+ value: unknown;
14
+ }[]>;
15
+ };
16
+ export {};
@@ -0,0 +1 @@
1
+ import{uuidGenerator as e}from"../../../../shared/utils/index.js";import{isFunction as r}from"lodash-es";import"naive-ui";import{unref as t}from"vue";import"@vueuse/core";import"date-fns";import{AsyncQueue as o}from"../../../../shared/hooks/useAsyncQueue.js";import"../../index.js";import{useCommonLog as s}from"./useCommonLog.js";import{useFormRequest as n}from"./useFormRequest.js";function a(a){const{getHttpInstance:i}=n();return{create:function(n=3,u){return new o({name:"FormRenderAsyncQueue",parallelism:n,async processor({key:e,method:o="post",cache:n,params:m,url:p},c,f){var l,d;const h=null!=(l=t(a))?l:i();if(!h)return s().invalidHttpInstanceLog(),c(),void f();try{u&&r(u.beforeRequest)&&(m=null!=(d=u.beforeRequest(e,m))?d:{});let t=await h[o](p,m);u&&r(u.afterRequest)&&(t=u.afterRequest(e,t)),c(void 0,Array.isArray(t)?t:[]),!n&&f()}catch(e){c(new Error(`Request error => ${e}`)),f()}},getKey:({url:r,method:t="post",cache:o,params:s})=>o?r+t+JSON.stringify(s||{}):e()})}}}export{a as useFormAsyncQueue};