cnhis-design-vue 3.3.3-beta.31 → 3.3.3-beta.41

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 (97) hide show
  1. package/README.md +87 -87
  2. package/es/components/button-print/src/components/NewPrintComponent.vue2.js +2 -0
  3. package/es/components/card-render/src/components/index.d.ts +23 -23
  4. package/es/components/classification/src/components/table-modal/index.vue.d.ts +3 -0
  5. package/es/components/form-config/index.d.ts +10 -0
  6. package/es/components/form-config/src/FormConfig.vue.d.ts +10 -0
  7. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +10 -0
  8. package/es/components/form-config/src/components/FormConfigEdit.vue2.js +4 -4
  9. package/es/components/form-config/src/constants/index.d.ts +3 -1
  10. package/es/components/form-config/src/constants/index.js +2 -0
  11. package/es/components/form-config/src/hooks/useConfigurationField.js +24 -4
  12. package/es/components/form-config/src/hooks/useLocale.d.ts +2 -0
  13. package/es/components/form-config/src/hooks/useLocale.js +2 -0
  14. package/es/components/form-config/src/types/index.d.ts +5 -0
  15. package/es/components/form-render/src/components/renderer/formItem.d.ts +2 -0
  16. package/es/components/form-render/src/components/renderer/formItem.js +9 -2
  17. package/es/components/form-render/src/components/renderer/levelSearchCascader/index.js +4 -2
  18. package/es/components/form-render/src/components/renderer/searchCascade.js +3 -0
  19. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +5 -2
  20. package/es/components/iho-chat/index.d.ts +836 -44
  21. package/es/components/iho-chat/src/Index.vue.d.ts +836 -44
  22. package/es/components/iho-chat/src/components/ChatAdd.vue.d.ts +24 -1
  23. package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +179 -6
  24. package/es/components/iho-chat/src/components/ChatFile.vue2.js +48 -28
  25. package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +61 -5
  26. package/es/components/iho-chat/src/components/ChatFooter.vue2.js +83 -38
  27. package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +327 -13
  28. package/es/components/iho-chat/src/components/ChatHeader.vue2.js +18 -17
  29. package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +232 -17
  30. package/es/components/iho-chat/src/components/ChatMain.vue2.js +299 -272
  31. package/es/components/iho-chat/src/components/ChatRecord.vue.d.ts +49 -3
  32. package/es/components/iho-chat/src/components/ChatSearch.vue.d.ts +24 -1
  33. package/es/components/iho-chat/src/components/ChatSet.vue.d.ts +48 -2
  34. package/es/components/iho-chat/src/components/ImageLightbox.vue.d.ts +104 -0
  35. package/es/components/iho-chat/src/components/ImageLightbox.vue.js +6 -0
  36. package/es/components/iho-chat/src/components/ImageLightbox.vue2.js +307 -0
  37. package/es/components/iho-chat/src/components/MessageEvent.vue.d.ts +24 -1
  38. package/es/components/iho-chat/src/components/MessageMergeForward.vue.d.ts +51 -4
  39. package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +48 -2
  40. package/es/components/iho-chat/src/components/PersonProfile.vue.d.ts +24 -1
  41. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  42. package/es/components/iho-chat/src/components/SelectLabel.vue.d.ts +1 -1
  43. package/es/components/iho-chat/src/components/SiderList.vue.d.ts +24 -1
  44. package/es/components/iho-chat/src/components/Video.vue.d.ts +24 -1
  45. package/es/components/iho-chat/src/hooks/useData.d.ts +51 -4
  46. package/es/components/iho-chat/src/hooks/useVideo.d.ts +24 -1
  47. package/es/components/iho-chat/src/types/index.d.ts +37 -1
  48. package/es/components/iho-chat/src/utils/emoji.d.ts +1 -1
  49. package/es/components/iho-chat/src/utils/emoji.js +1 -1
  50. package/es/components/iho-chat/src/utils/index.d.ts +1 -0
  51. package/es/components/iho-chat/src/utils/index.js +8 -1
  52. package/es/components/iho-chat/style/index.css +1 -1
  53. package/es/components/index.css +1 -1
  54. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue2.js +20 -15
  55. package/es/env.d.ts +25 -25
  56. package/es/shared/assets/img/defaultCover/10review_successful.png.js +1 -1
  57. package/es/shared/assets/img/defaultCover/11review_fail.png.js +1 -1
  58. package/es/shared/assets/img/defaultCover/12no_setting.png.js +1 -1
  59. package/es/shared/assets/img/defaultCover/13no_menu_setting.png.js +1 -1
  60. package/es/shared/assets/img/defaultCover/14no_call_setting.png.js +1 -1
  61. package/es/shared/assets/img/defaultCover/15no_use_tag.png.js +1 -1
  62. package/es/shared/assets/img/defaultCover/16no_table_data.png.js +1 -1
  63. package/es/shared/assets/img/defaultCover/1location.png.js +1 -1
  64. package/es/shared/assets/img/defaultCover/2notfound.png.js +1 -1
  65. package/es/shared/assets/img/defaultCover/3loading.png.js +1 -1
  66. package/es/shared/assets/img/defaultCover/4no_permission.png.js +1 -1
  67. package/es/shared/assets/img/defaultCover/5no_data.png.js +1 -1
  68. package/es/shared/assets/img/defaultCover/6no_network.png.js +1 -1
  69. package/es/shared/assets/img/defaultCover/7no_doctor.png.js +1 -1
  70. package/es/shared/assets/img/defaultCover/8system_error.png.js +1 -1
  71. package/es/shared/assets/img/defaultCover/9system_upgrade.png.js +1 -1
  72. package/es/shared/assets/img/failure.png.js +1 -1
  73. package/es/shared/assets/img/no-permission.png.js +1 -1
  74. package/es/shared/assets/img/nodata.png.js +1 -1
  75. package/es/shared/assets/img/notfound.png.js +1 -1
  76. package/es/shared/assets/img/qr.png.js +1 -1
  77. package/es/shared/assets/img/success.png.js +1 -1
  78. package/es/shared/assets/img/table_style_2.png.js +1 -1
  79. package/es/shared/assets/img/video.png.js +1 -1
  80. package/es/shared/assets/img/video_default_cover.png.js +1 -1
  81. package/es/shared/assets/img/xb_big.png.js +1 -1
  82. package/es/shared/assets/img/xb_small.png.js +1 -1
  83. package/es/shared/hooks/useLevelSearchCascader.js +3 -3
  84. package/es/shared/package.json.js +1 -1
  85. package/package.json +3 -2
  86. package/es/components/audio-sdk/src/utils/recorder/fft.d.ts +0 -4
  87. package/es/components/audio-sdk/src/utils/recorder/mp3-engine.d.ts +0 -4
  88. package/es/components/audio-sdk/src/utils/recorder/mp3.d.ts +0 -4
  89. package/es/components/audio-sdk/src/utils/recorder/recorder.d.ts +0 -4
  90. package/es/components/audio-sdk/src/utils/recorder/wave.d.ts +0 -4
  91. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  92. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +0 -1
  93. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +0 -1
  94. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +0 -1
  95. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +0 -86
  96. package/es/shared/utils/fabricjs/index.d.ts +0 -6823
  97. package/es/shared/utils/tapable/index.d.ts +0 -139
package/README.md CHANGED
@@ -1,87 +1,87 @@
1
- # 安装
2
-
3
- ```shell
4
- npm i cnhis-design-vue@[版本号]
5
- # or
6
- yarn add cnhis-design-vue@[版本号] #推荐
7
- ```
8
-
9
- ## 1.全局引入
10
-
11
- ```typescript
12
- // main.ts
13
- import { createApp } from 'vue';
14
- import App from './App.vue';
15
- import 'cnhis-design-vue/es/packages/index.css';
16
- import cui from 'cnhis-design-vue';
17
-
18
- const app = createApp(App);
19
- app.use(cui).mount('#app');
20
- ```
21
-
22
- ## 2. 按需引入
23
-
24
- 组件现在支持了自动按需引入, 但是样式文件需要额外的处理
25
-
26
- ### 2.1 样式处理方式1 (按需引入样式)
27
-
28
- ```shell
29
- # 安装自动导入样式的插件
30
- npm i -d vite-plugin-style-import
31
- ```
32
-
33
- ```typescript
34
- // vite.config.ts
35
- import { defineConfig } from 'vite';
36
- import { createStyleImportPlugin } from 'vite-plugin-style-import';
37
-
38
- export default defineConfig({
39
- plugins: [
40
- // ...otherPlugins
41
- createStyleImportPlugin({
42
- libs: [
43
- {
44
- libraryName: 'cnhis-design-vue',
45
- esModule: true,
46
- ensureStyleFile: true,
47
- resolveStyle: name => {
48
- return `cnhis-design-vue/es/components/${ name.slice(2) }/style/index.css`;
49
- }
50
- }
51
- ]
52
- })
53
- ]
54
- });
55
- ```
56
-
57
- ### 2.2 样式处理方式2 (全局引入样式)
58
-
59
- ```typescript
60
- // main.ts
61
- import 'cnhis-design-vue/es/components/index.css';
62
- ```
63
-
64
- ## 3.FAQ
65
-
66
- ### 3.1 项目打包后样式丢失
67
-
68
- 处理方法, 将 cnhis-design-vue 从 vendor 包中移除 (没有出现此问题则不需要)
69
-
70
- ```typescript
71
- // vite.config.ts
72
- import { defineConfig } from 'vite';
73
-
74
- export default defineConfig({
75
- build: {
76
- rollupOptions: {
77
- // ..otherOptions
78
- output: {
79
- dir: './dist',
80
- manualChunks: {
81
- 'cnhis-vendor': ['cnhis-design-vue']
82
- }
83
- }
84
- }
85
- }
86
- });
87
- ```
1
+ # 安装
2
+
3
+ ```shell
4
+ npm i cnhis-design-vue@[版本号]
5
+ # or
6
+ yarn add cnhis-design-vue@[版本号] #推荐
7
+ ```
8
+
9
+ ## 1.全局引入
10
+
11
+ ```typescript
12
+ // main.ts
13
+ import { createApp } from 'vue';
14
+ import App from './App.vue';
15
+ import 'cnhis-design-vue/es/packages/index.css';
16
+ import cui from 'cnhis-design-vue';
17
+
18
+ const app = createApp(App);
19
+ app.use(cui).mount('#app');
20
+ ```
21
+
22
+ ## 2. 按需引入
23
+
24
+ 组件现在支持了自动按需引入, 但是样式文件需要额外的处理
25
+
26
+ ### 2.1 样式处理方式1 (按需引入样式)
27
+
28
+ ```shell
29
+ # 安装自动导入样式的插件
30
+ npm i -d vite-plugin-style-import
31
+ ```
32
+
33
+ ```typescript
34
+ // vite.config.ts
35
+ import { defineConfig } from 'vite';
36
+ import { createStyleImportPlugin } from 'vite-plugin-style-import';
37
+
38
+ export default defineConfig({
39
+ plugins: [
40
+ // ...otherPlugins
41
+ createStyleImportPlugin({
42
+ libs: [
43
+ {
44
+ libraryName: 'cnhis-design-vue',
45
+ esModule: true,
46
+ ensureStyleFile: true,
47
+ resolveStyle: name => {
48
+ return `cnhis-design-vue/es/components/${ name.slice(2) }/style/index.css`;
49
+ }
50
+ }
51
+ ]
52
+ })
53
+ ]
54
+ });
55
+ ```
56
+
57
+ ### 2.2 样式处理方式2 (全局引入样式)
58
+
59
+ ```typescript
60
+ // main.ts
61
+ import 'cnhis-design-vue/es/components/index.css';
62
+ ```
63
+
64
+ ## 3.FAQ
65
+
66
+ ### 3.1 项目打包后样式丢失
67
+
68
+ 处理方法, 将 cnhis-design-vue 从 vendor 包中移除 (没有出现此问题则不需要)
69
+
70
+ ```typescript
71
+ // vite.config.ts
72
+ import { defineConfig } from 'vite';
73
+
74
+ export default defineConfig({
75
+ build: {
76
+ rollupOptions: {
77
+ // ..otherOptions
78
+ output: {
79
+ dir: './dist',
80
+ manualChunks: {
81
+ 'cnhis-vendor': ['cnhis-design-vue']
82
+ }
83
+ }
84
+ }
85
+ }
86
+ });
87
+ ```
@@ -1223,6 +1223,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
1223
1223
  }), createCommentVNode(" \u5916\u663E\u8BBE\u7F6E\u6309\u94AE "), outerPrintItems.value.length > 0 && outerPrintItems.value.length == unref(showSettingItems).length && unref(isShowOutSettingBtn) && unref(isPrintAllType) != 2 ? (openBlock(), createBlock(unref(NPopover), {
1224
1224
  key: 0,
1225
1225
  trigger: "click",
1226
+ placement: "bottom-start",
1226
1227
  to: unref(positionElement),
1227
1228
  "show-arrow": false,
1228
1229
  show: downlistPopover.isOutSetting,
@@ -1299,6 +1300,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
1299
1300
  }, [createCommentVNode(" \u6253\u5370\u5168\u90E8\u6309\u94AE "), createVNode(unref(NPopover), {
1300
1301
  trigger: "click",
1301
1302
  "show-arrow": false,
1303
+ placement: "bottom-start",
1302
1304
  to: unref(positionElement),
1303
1305
  show: downlistPopover.oneShow,
1304
1306
  onClickoutside: _cache[10] || (_cache[10] = ($event) => handleClickOutHide("oneShow"))
@@ -143,29 +143,6 @@ declare function getComponent(type: COMPONENT_TYPE): import("vue").DefineCompone
143
143
  default: () => {};
144
144
  type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
145
145
  };
146
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "button-click"[], "button-click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
147
- config: {
148
- default: () => {};
149
- type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
150
- };
151
- data: {
152
- default: () => {};
153
- type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
154
- };
155
- }>> & {
156
- "onButton-click"?: ((...args: any[]) => any) | undefined;
157
- }, {
158
- data: import("../../../../shared/types").AnyObject;
159
- config: import("../../../../shared/types").AnyObject;
160
- }> | import("vue").DefineComponent<{
161
- config: {
162
- default: () => {};
163
- type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
164
- };
165
- data: {
166
- default: () => {};
167
- type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
168
- };
169
146
  }, {
170
147
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
171
148
  config: {
@@ -491,6 +468,29 @@ declare function getComponent(type: COMPONENT_TYPE): import("vue").DefineCompone
491
468
  default: () => {};
492
469
  type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
493
470
  };
471
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "button-click"[], "button-click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
472
+ config: {
473
+ default: () => {};
474
+ type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
475
+ };
476
+ data: {
477
+ default: () => {};
478
+ type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
479
+ };
480
+ }>> & {
481
+ "onButton-click"?: ((...args: any[]) => any) | undefined;
482
+ }, {
483
+ data: import("../../../../shared/types").AnyObject;
484
+ config: import("../../../../shared/types").AnyObject;
485
+ }> | import("vue").DefineComponent<{
486
+ config: {
487
+ default: () => {};
488
+ type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
489
+ };
490
+ data: {
491
+ default: () => {};
492
+ type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
493
+ };
494
494
  }, {
495
495
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
496
496
  config: {
@@ -175,6 +175,9 @@ declare const _default: import("vue").DefineComponent<{
175
175
  modelValue: unknown[];
176
176
  componentData: Record<string, any>;
177
177
  } & {
178
+ /**
179
+ * 改变弹窗大小
180
+ */
178
181
  itemKey?: string | Function | undefined;
179
182
  }>, {
180
183
  move: Function;
@@ -2322,6 +2322,11 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
2322
2322
  text: string;
2323
2323
  value: string;
2324
2324
  }[] | undefined;
2325
+ elementExtraSetting?: {
2326
+ allowPartial?: boolean | undefined;
2327
+ partialLevel?: number | undefined;
2328
+ maxLevel?: number | undefined;
2329
+ } | undefined;
2325
2330
  __new?: boolean | undefined;
2326
2331
  __isCombinationChild?: boolean | undefined;
2327
2332
  __extra?: boolean | undefined;
@@ -2570,6 +2575,11 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
2570
2575
  text: string;
2571
2576
  value: string;
2572
2577
  }[] | undefined;
2578
+ elementExtraSetting?: {
2579
+ allowPartial?: boolean | undefined;
2580
+ partialLevel?: number | undefined;
2581
+ maxLevel?: number | undefined;
2582
+ } | undefined;
2573
2583
  __new?: boolean | undefined;
2574
2584
  __isCombinationChild?: boolean | undefined;
2575
2585
  __extra?: boolean | undefined;
@@ -2325,6 +2325,11 @@ declare const _default: import("vue").DefineComponent<{
2325
2325
  text: string;
2326
2326
  value: string;
2327
2327
  }[] | undefined;
2328
+ elementExtraSetting?: {
2329
+ allowPartial?: boolean | undefined;
2330
+ partialLevel?: number | undefined;
2331
+ maxLevel?: number | undefined;
2332
+ } | undefined;
2328
2333
  __new?: boolean | undefined;
2329
2334
  __isCombinationChild?: boolean | undefined;
2330
2335
  __extra?: boolean | undefined;
@@ -2573,6 +2578,11 @@ declare const _default: import("vue").DefineComponent<{
2573
2578
  text: string;
2574
2579
  value: string;
2575
2580
  }[] | undefined;
2581
+ elementExtraSetting?: {
2582
+ allowPartial?: boolean | undefined;
2583
+ partialLevel?: number | undefined;
2584
+ maxLevel?: number | undefined;
2585
+ } | undefined;
2576
2586
  __new?: boolean | undefined;
2577
2587
  __isCombinationChild?: boolean | undefined;
2578
2588
  __extra?: boolean | undefined;
@@ -767,6 +767,11 @@ declare const _default: import("vue").DefineComponent<{
767
767
  text: string;
768
768
  value: string;
769
769
  }[] | undefined;
770
+ elementExtraSetting?: {
771
+ allowPartial?: boolean | undefined;
772
+ partialLevel?: number | undefined;
773
+ maxLevel?: number | undefined;
774
+ } | undefined;
770
775
  __new?: boolean | undefined;
771
776
  __isCombinationChild?: boolean | undefined;
772
777
  __extra?: boolean | undefined;
@@ -1015,6 +1020,11 @@ declare const _default: import("vue").DefineComponent<{
1015
1020
  text: string;
1016
1021
  value: string;
1017
1022
  }[] | undefined;
1023
+ elementExtraSetting?: {
1024
+ allowPartial?: boolean | undefined;
1025
+ partialLevel?: number | undefined;
1026
+ maxLevel?: number | undefined;
1027
+ } | undefined;
1018
1028
  __new?: boolean | undefined;
1019
1029
  __isCombinationChild?: boolean | undefined;
1020
1030
  __extra?: boolean | undefined;
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, ref, inject, watch, toRaw, openBlock, createElementBlock, Fragment, createVNode, unref, mergeProps, withCtx, createElementVNode, toDisplayString, renderList, h } from 'vue';
2
- import { cloneDeep, isEmpty, isArray } from 'lodash-es';
2
+ import { cloneDeep, set, isEmpty, isArray } from 'lodash-es';
3
3
  import { InjectionActiveFieldItem, EditAbleField } from '../constants/index.js';
4
4
  import '../../../../shared/components/VueDraggable/src/vuedraggable.js';
5
5
  import { findFieldItemByKey } from '../utils/index.js';
@@ -40,7 +40,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
40
40
  expose
41
41
  }) {
42
42
  const props = __props;
43
- computed(() => `#${props.uuid} .form-config__config`);
43
+ const wrapperSelector = computed(() => `#${props.uuid} .form-config__config`);
44
44
  const formRenderRef = ref();
45
45
  const currentActiveField = inject(InjectionActiveFieldItem);
46
46
  const fieldList = ref([]);
@@ -69,7 +69,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
69
69
  }) {
70
70
  if (!currentActiveField.value)
71
71
  return;
72
- currentActiveField.value[fieldKey] = value;
72
+ set(currentActiveField.value, fieldKey, value);
73
73
  }
74
74
  function createLabelRender(originOptions) {
75
75
  return (label) => {
@@ -173,7 +173,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
173
173
  show: showOptionModal.value,
174
174
  "onUpdate:show": _cache[0] || (_cache[0] = ($event) => showOptionModal.value = $event),
175
175
  preset: "dialog",
176
- to: "body",
176
+ to: unref(wrapperSelector),
177
177
  "close-on-esc": false,
178
178
  "mask-closable": false,
179
179
  title: unref(useFormConfigLocale)("configArea.modifyOptionTitle"),
@@ -17,7 +17,9 @@ export declare enum EditAbleField {
17
17
  SHOW = "show",
18
18
  ROWS = "initialHigh",
19
19
  TITLE_RED = "fieldTitleRed",
20
- CONFIRM = "confirmBeforeValueChange"
20
+ CONFIRM = "confirmBeforeValueChange",
21
+ ALLOW_PARTIAL = "elementExtraSetting.allowPartial",
22
+ PARTIAL_LEVEL = "elementExtraSetting.partialLevel"
21
23
  }
22
24
  export declare function widgetWidthOptionConfig(): {
23
25
  option: {
@@ -21,6 +21,8 @@ var EditAbleField = /* @__PURE__ */ ((EditAbleField2) => {
21
21
  EditAbleField2["ROWS"] = "initialHigh";
22
22
  EditAbleField2["TITLE_RED"] = "fieldTitleRed";
23
23
  EditAbleField2["CONFIRM"] = "confirmBeforeValueChange";
24
+ EditAbleField2["ALLOW_PARTIAL"] = "elementExtraSetting.allowPartial";
25
+ EditAbleField2["PARTIAL_LEVEL"] = "elementExtraSetting.partialLevel";
24
26
  return EditAbleField2;
25
27
  })(EditAbleField || {});
26
28
  function widgetWidthOptionConfig() {
@@ -1,4 +1,4 @@
1
- import { omit, pick } from 'lodash-es';
1
+ import { omit, pick, range } from 'lodash-es';
2
2
  import { EditAbleField, widgetWidthOptionConfig, isShowOptionConfig, isNotFoldOptionConfig, isEditOptionConfig, isNullOptionConfig, isVisibleOptionConfig, rowsOptionConfig } from '../constants/index.js';
3
3
  import { useFormConfigLocale } from './useLocale.js';
4
4
  import '../../../form-render/index.js';
@@ -117,7 +117,24 @@ function useConfigurationField() {
117
117
  elem_width: 6,
118
118
  default_val: false,
119
119
  html_type: "SWITCH"
120
- })]]);
120
+ })], [EditAbleField.ALLOW_PARTIAL, () => ({
121
+ alias: useFormConfigLocale("configArea.allowPartial"),
122
+ elem_width: 6,
123
+ html_type: "SWITCH"
124
+ })], [EditAbleField.PARTIAL_LEVEL, (field) => {
125
+ var _a, _b;
126
+ return {
127
+ alias: useFormConfigLocale("configArea.partialLevel"),
128
+ elem_width: 6,
129
+ html_type: "SELECT",
130
+ componentProps: {
131
+ options: range((_b = (_a = field == null ? void 0 : field.elementExtraSetting) == null ? void 0 : _a.maxLevel) != null ? _b : 10).map((item) => ({
132
+ text: item + 1 + "",
133
+ value: item + 1
134
+ }))
135
+ }
136
+ };
137
+ }]]);
121
138
  function generateFieldListByKeys(keyList, formConfigItem, fieldItem) {
122
139
  return keyList.map((key) => {
123
140
  var _a, _b;
@@ -130,11 +147,14 @@ function useConfigurationField() {
130
147
  const htmlMap = new Map([["LINE_BAR", [EditAbleField.KEY, EditAbleField.NAME, EditAbleField.ALIAS, EditAbleField.LAYOUT_WIDTH_ENUM, EditAbleField.NOTES, EditAbleField.DEFAULT_EXPAND, EditAbleField.FOLD]], ["NEWLINE", [EditAbleField.KEY, EditAbleField.NAME, EditAbleField.ALIAS]], ...["COMPLEX", "COMBINATION"].map((key) => [key, [EditAbleField.KEY, EditAbleField.NAME, EditAbleField.ALIAS, EditAbleField.LAYOUT_WIDTH_ENUM]])]);
131
148
  const defaultItems = [EditAbleField.KEY, EditAbleField.NAME, EditAbleField.ALIAS, EditAbleField.DEFAULT_VALUE, EditAbleField.LAYOUT_WIDTH_ENUM, EditAbleField.DESC, EditAbleField.NOTES, EditAbleField.EDITABLE, EditAbleField.CONFIRM, EditAbleField.REQUIRED, EditAbleField.SHOW, EditAbleField.TITLE_RED];
132
149
  function generateFieldListByFormConfigItem(formConfigItem, fieldItem) {
133
- var _a;
134
- const keys = htmlMap.get(formConfigItem.type) || defaultItems;
150
+ var _a, _b, _c;
151
+ const keys = [...htmlMap.get(formConfigItem.type) || defaultItems];
135
152
  if ((fieldItem ? fieldItem.html_type : (_a = formConfigItem.originalSetting) == null ? void 0 : _a.html_type) === "TEXTAREA") {
136
153
  keys.splice(3, 0, EditAbleField.ROWS);
137
154
  }
155
+ if (["SEARCH_CASCADE", "LEVEL_SEARCH_CASCADE", "LEVEL_SEARCH_CASCADE2"].includes(fieldItem ? fieldItem.html_type : (_c = (_b = formConfigItem.originalSetting) == null ? void 0 : _b.html_type) != null ? _c : "")) {
156
+ keys.splice(9, 0, EditAbleField.ALLOW_PARTIAL, EditAbleField.PARTIAL_LEVEL);
157
+ }
138
158
  return generateFieldListByKeys(keys, formConfigItem, fieldItem);
139
159
  }
140
160
  return {
@@ -35,6 +35,8 @@ declare const formConfigLocale: {
35
35
  rowsTips: string;
36
36
  confirm: string;
37
37
  titleRed: string;
38
+ allowPartial: string;
39
+ partialLevel: string;
38
40
  positiveBtn: string;
39
41
  negativeBtn: string;
40
42
  fullLine: string;
@@ -224,6 +224,8 @@ const formConfigLocale = reactive({
224
224
  }(),
225
225
  confirm: "\u662F\u5426\u5728\u4FEE\u6539\u503C\u540E\u5F39\u7A97\u63D0\u9192",
226
226
  titleRed: "\u6807\u9898\u663E\u793A\u7EA2\u8272",
227
+ allowPartial: "\u5141\u8BB8\u9009\u62E9\u4E2D\u95F4\u5C42\u7EA7",
228
+ partialLevel: "\u81F3\u5C11\u9009\u62E9\u591A\u5C11\u7EA7",
227
229
  positiveBtn: function() {
228
230
  var _a, _b, _c;
229
231
  try {
@@ -48,6 +48,11 @@ export type FormConfigItem = {
48
48
  text: string;
49
49
  value: string;
50
50
  }[];
51
+ elementExtraSetting: Partial<{
52
+ allowPartial: boolean;
53
+ partialLevel: number;
54
+ maxLevel: number;
55
+ }>;
51
56
  __new: boolean;
52
57
  __isCombinationChild: boolean;
53
58
  __extra: boolean;
@@ -27,6 +27,7 @@ export declare const FORM_ITEM: import("vue").DefineComponent<{
27
27
  type: BooleanConstructor;
28
28
  default: boolean;
29
29
  };
30
+ onClickOutside: PropType<(...args: any[]) => void>;
30
31
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
31
32
  label: StringConstructor;
32
33
  propertyKey: StringConstructor;
@@ -54,6 +55,7 @@ export declare const FORM_ITEM: import("vue").DefineComponent<{
54
55
  type: BooleanConstructor;
55
56
  default: boolean;
56
57
  };
58
+ onClickOutside: PropType<(...args: any[]) => void>;
57
59
  }>>, {
58
60
  showFeedback: boolean;
59
61
  span: number;
@@ -3,7 +3,7 @@ import { arrayed, getStringWidth, widthAppend } from '../../../../../shared/util
3
3
  import { isVoidField } from '@formily/core';
4
4
  import { observe, autorun } from '@formily/reactive';
5
5
  import { connect, mapProps } from '@formily/vue';
6
- import { useDebounceFn } from '@vueuse/core';
6
+ import { useDebounceFn, onClickOutside } from '@vueuse/core';
7
7
  import { isString, isArray, isObject, isNumber, isFunction, uniq } from 'lodash-es';
8
8
  import { NFormItem, NTooltip, NButton } from 'naive-ui';
9
9
  import Annotation from '../../../../annotation-edit/index.js';
@@ -43,7 +43,8 @@ const script = /* @__PURE__ */ defineComponent({
43
43
  showTooltipFeedback: {
44
44
  type: Boolean,
45
45
  default: true
46
- }
46
+ },
47
+ onClickOutside: Function
47
48
  },
48
49
  setup(props, {
49
50
  slots,
@@ -326,8 +327,14 @@ const script = /* @__PURE__ */ defineComponent({
326
327
  return props.showFeedback;
327
328
  return !!props.feedback && props.feedback !== " " && props.showFeedback;
328
329
  });
330
+ const formItemRef = ref();
331
+ props.onClickOutside && onClickOutside(formItemRef, (event) => {
332
+ var _a;
333
+ return (_a = props.onClickOutside) == null ? void 0 : _a.call(props, event);
334
+ });
329
335
  return () => {
330
336
  return createVNode(NFormItem, mergeProps({
337
+ "ref": formItemRef,
331
338
  "class": ["form-render__formItem", {
332
339
  "form-render--no-border": !borderedRef.value,
333
340
  "form-render--underline": borderedRef.value === "underline",
@@ -112,8 +112,10 @@ const script = /* @__PURE__ */ defineComponent({
112
112
  if (!props.validateLastNode || !isField(field.value))
113
113
  return;
114
114
  const tempValidator = field.value.validator ? castArray(field.value.validator) : [];
115
- if (tempValidator.some((item) => isObject(item) && item.isLastOptionValidator))
116
- return;
115
+ const lastOptionValidatorIndex = tempValidator.findIndex((item) => isObject(item) && item.isLastOptionValidator);
116
+ if (lastOptionValidatorIndex !== -1) {
117
+ tempValidator.splice(lastOptionValidatorIndex, 1);
118
+ }
117
119
  field.value.validator = [{
118
120
  async validator() {
119
121
  var _a;
@@ -253,6 +253,7 @@ const script = /* @__PURE__ */ defineComponent({
253
253
  target.dispatchEvent(new CustomEvent("scroll"));
254
254
  }
255
255
  function filterValue(pattern, option) {
256
+ var _a;
256
257
  if (!pattern || !option)
257
258
  return false;
258
259
  const {
@@ -260,6 +261,8 @@ const script = /* @__PURE__ */ defineComponent({
260
261
  } = option;
261
262
  if (props.checkStrategy.includes("child") && option.depth < maxDepthValue.value)
262
263
  return false;
264
+ if (!mergeItemValue)
265
+ return (_a = option[labelKey.value]) == null ? void 0 : _a.includes(pattern.trim());
263
266
  return mergeItemValue.length > 0 && mergeItemValue.some((item) => item.includes(pattern.trim()));
264
267
  }
265
268
  const {
@@ -1,5 +1,5 @@
1
1
  import { arrayed, deepOmit } from '../../../../shared/utils/index.js';
2
- import { cloneDeep, castArray, pick } from 'lodash-es';
2
+ import { cloneDeep, castArray, omit, pick } from 'lodash-es';
3
3
  import '../../index.js';
4
4
  import { isPositive, isNegative, isValidWidgetCombination, parseNumberFromMaybeString, formRenderLog } from '../utils/index.js';
5
5
  import { useFieldNormalize } from './useFieldNormalize.js';
@@ -318,7 +318,10 @@ function useFieldListAdaptor(collector, globProps) {
318
318
  hide_title: "1",
319
319
  is_show: isNegative(suffix.is_show) ? "0" : item.is_show
320
320
  };
321
- })];
321
+ })].map((item2) => {
322
+ item2.decoratorProps = omit(item2.decoratorProps, ["onClickOutside"]);
323
+ return item2;
324
+ });
322
325
  const groupSpan = fieldList.reduce((res, item2) => {
323
326
  return res + +(item2.elem_width || 3) * 2;
324
327
  }, 0);