cnhis-design-vue 3.1.23-beta.0 → 3.1.23-beta.11

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 (123) hide show
  1. package/README.md +123 -123
  2. package/es/components/big-table/index.d.ts +0 -3
  3. package/es/components/big-table/src/BigTable.vue.d.ts +0 -3
  4. package/es/components/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.js +9 -20
  5. package/es/components/big-table/src/utils.d.ts +1 -1
  6. package/es/components/big-table/src/utils2.js +11 -37
  7. package/es/components/fabric-chart/src/components/PopupMenu.js +7 -2
  8. package/es/components/fabric-chart/src/hooks/useCenter2.js +9 -5
  9. package/es/components/fabric-chart/src/hooks/useEvent2.js +40 -8
  10. package/es/components/field-set/index.d.ts +1 -0
  11. package/es/components/field-set/src/FieldSet.js +16 -10
  12. package/es/components/field-set/src/FieldSet.vue.d.ts +1 -0
  13. package/es/components/form-config/index.d.ts +6 -0
  14. package/es/components/form-config/src/FormConfig.vue.d.ts +6 -0
  15. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +6 -0
  16. package/es/components/form-render/index2.js +2 -1
  17. package/es/components/form-render/src/components/renderer/index.d.ts +2 -1
  18. package/es/components/form-render/src/components/renderer/index.js +2 -1
  19. package/es/components/form-render/src/components/renderer/index2.js +2 -1
  20. package/es/components/form-render/src/components/renderer/levelSearchCascade.d.ts +86 -0
  21. package/es/components/form-render/src/components/renderer/levelSearchCascade.js +229 -0
  22. package/es/components/form-render/src/components/renderer/search.d.ts +13 -1
  23. package/es/components/form-render/src/components/renderer/search.js +2 -1
  24. package/es/components/form-render/src/components/renderer/{cascader.d.ts → searchCascade.d.ts} +0 -0
  25. package/es/components/form-render/src/components/renderer/{cascader.js → searchCascade.js} +1 -0
  26. package/es/components/form-render/src/components/renderer/select.js +2 -1
  27. package/es/components/form-render/src/hooks/useAsyncQueue2.js +4 -4
  28. package/es/components/form-render/src/hooks/useFieldListAdaptor2.js +11 -4
  29. package/es/components/form-render/src/hooks/useFormRequest.d.ts +2 -0
  30. package/es/components/form-render/src/hooks/useFormRequest2.js +1 -1
  31. package/es/components/form-render/src/types/fieldItem.d.ts +6 -0
  32. package/es/components/form-render/src/utils/schema2.js +1 -4
  33. package/es/components/iho-table/index.d.ts +270 -101
  34. package/es/components/iho-table/src/IhoTable.vue.d.ts +270 -101
  35. package/es/components/iho-table/src/constants/index.d.ts +5 -3
  36. package/es/components/iho-table/src/constants/index.js +1 -1
  37. package/es/components/iho-table/src/constants/index2.js +9 -7
  38. package/es/components/iho-table/src/hooks/tapHooks/index.d.ts +2 -2
  39. package/es/components/iho-table/src/plugins/index.js +4 -1
  40. package/es/components/iho-table/src/plugins/index2.js +4 -1
  41. package/es/components/iho-table/src/plugins/lowCodeFieldAdaptorPlugin/index2.js +11 -8
  42. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.d.ts +31 -0
  43. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.js +205 -0
  44. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/index.d.ts +1 -0
  45. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/index.js +39 -0
  46. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useCommon.js +1 -0
  47. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useCommon2.js +17 -0
  48. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/index.d.ts +4 -1
  49. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/index.js +4 -1
  50. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/inputRendererPlugin.d.ts +1 -0
  51. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/{inputRendererPlugins.js → inputRendererPlugin.js} +4 -4
  52. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.d.ts +31 -0
  53. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.js +60 -0
  54. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.d.ts +1 -0
  55. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +40 -0
  56. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.d.ts +2 -0
  57. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js +1 -0
  58. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils2.js +20 -0
  59. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/{edit-separate.js → editSeparate.js} +20 -22
  60. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/{edit-separate.vue.d.ts → editSeparate.vue.d.ts} +1 -17
  61. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/index.js +13 -9
  62. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/{separate-utils.d.ts → separateUtils.d.ts} +0 -0
  63. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/{separate-utils.js → separateUtils.js} +1 -1
  64. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/{separate-utils2.js → separateUtils2.js} +4 -4
  65. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/editTime.d.ts +31 -0
  66. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/editTime.js +60 -0
  67. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/index.d.ts +1 -0
  68. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/index.js +39 -0
  69. package/es/components/iho-table/src/plugins/rendererPlugins/index.js +4 -1
  70. package/es/components/iho-table/src/plugins/rowGroupSettingPlugin/index2.js +1 -46
  71. package/es/components/iho-table/src/plugins/rowGroupSettingPlugin/rowGroupUtils.d.ts +11 -0
  72. package/es/components/iho-table/src/plugins/rowGroupSettingPlugin/rowGroupUtils.js +1 -0
  73. package/es/components/iho-table/src/plugins/rowGroupSettingPlugin/rowGroupUtils2.js +50 -0
  74. package/es/components/iho-table/src/types/index.d.ts +0 -3
  75. package/es/components/index.css +1 -1
  76. package/es/components/scale-view/src/hooks/use-component.d.ts +1 -0
  77. package/es/components/search-cascader/index.d.ts +196 -0
  78. package/es/components/search-cascader/index.js +1 -0
  79. package/es/components/search-cascader/index2.js +10 -0
  80. package/es/components/search-cascader/src/SearchCascader.js +168 -0
  81. package/es/components/search-cascader/src/SearchCascader.vue.d.ts +198 -0
  82. package/es/components/search-cascader/src/components/SearchMenu.d.ts +45 -0
  83. package/es/components/search-cascader/src/components/SearchMenu.js +134 -0
  84. package/es/components/search-cascader/src/components/index.d.ts +1 -0
  85. package/es/components/search-cascader/src/components/index.js +1 -0
  86. package/es/components/search-cascader/src/constants/index.d.ts +3 -0
  87. package/es/components/search-cascader/src/constants/index.js +1 -0
  88. package/es/components/search-cascader/src/constants/index2.js +3 -0
  89. package/es/components/search-cascader/src/hooks/index.d.ts +1 -0
  90. package/es/components/search-cascader/src/hooks/index.js +1 -0
  91. package/es/components/search-cascader/src/hooks/useCssVariable.d.ts +3 -0
  92. package/es/components/search-cascader/src/hooks/useCssVariable.js +1 -0
  93. package/es/components/search-cascader/src/hooks/useCssVariable2.js +7 -0
  94. package/es/components/search-cascader/src/utils/index.d.ts +2 -0
  95. package/es/components/search-cascader/src/utils/index.js +1 -0
  96. package/es/components/search-cascader/src/utils/index2.js +11 -0
  97. package/es/components/search-cascader/style/index.css +1 -0
  98. package/es/components/select-label/index.d.ts +1 -0
  99. package/es/components/select-label/src/SelectLabel.vue.d.ts +1 -0
  100. package/es/components/select-label/src/SelectLabel.vue_vue_type_script_setup_true_lang.js +16 -4
  101. package/es/components/select-person/index.d.ts +41 -0
  102. package/es/components/select-person/src/SelectPerson.vue.d.ts +41 -0
  103. package/es/components/select-person/src/SelectPerson.vue_vue_type_script_setup_true_lang.js +45 -10
  104. package/es/components/select-person/style/index.css +1 -1
  105. package/es/components/shortcut-provider/src/ShortcutProvider.js +2 -1
  106. package/es/components/shortcut-setter/index.d.ts +6 -0
  107. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +6 -0
  108. package/es/shared/components/no-data/NoData.js +74 -0
  109. package/es/shared/components/no-data/NoData.vue.d.ts +51 -0
  110. package/es/shared/components/no-data/index.d.ts +2 -0
  111. package/es/shared/components/no-data/index.js +1 -0
  112. package/es/shared/components/no-data/index2.js +2 -0
  113. package/es/shared/utils/index.d.ts +1 -1
  114. package/es/shared/utils/index2.js +14 -5
  115. package/package.json +2 -2
  116. package/es/components/big-table/src/components/edit-form/useCommon.d.ts +0 -4
  117. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  118. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +0 -1
  119. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +0 -1
  120. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +0 -1
  121. package/es/components/fabric-chart/src/utils/index.d.ts +0 -6823
  122. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/inputRendererPlugins.d.ts +0 -1
  123. package/es/shared/utils/tapable/index.d.ts +0 -139
@@ -26,7 +26,7 @@ import './src/components/renderer/inputNumber.js';
26
26
  import './src/components/renderer/linebar.js';
27
27
  import './src/components/renderer/inputGroup2.js';
28
28
  import './src/components/renderer/date.js';
29
- import './src/components/renderer/cascader.js';
29
+ import './src/components/renderer/levelSearchCascade.js';
30
30
  import './src/components/renderer/jsonCombination/index.js';
31
31
  import './src/components/renderer/combination.js';
32
32
  import './src/components/renderer/checkbox.js';
@@ -37,6 +37,7 @@ import './src/components/renderer/slider.js';
37
37
  import './src/components/renderer/complex.js';
38
38
  import './src/components/renderer/simpleComponent.js';
39
39
  import './src/components/renderer/search.js';
40
+ import './src/components/renderer/searchCascade.js';
40
41
 
41
42
  const FormRender = script;
42
43
  FormRender.install = function(app) {
@@ -6,7 +6,7 @@ export * from './inputNumber';
6
6
  export * from './linebar';
7
7
  export * from './inputGroup';
8
8
  export * from './date';
9
- export * from './cascader';
9
+ export * from './levelSearchCascade';
10
10
  export * from './jsonCombination';
11
11
  export * from './combination';
12
12
  export * from './checkbox';
@@ -17,3 +17,4 @@ export * from './slider';
17
17
  export * from './complex';
18
18
  export * from './simpleComponent';
19
19
  export * from './search';
20
+ export * from './searchCascade';
@@ -6,7 +6,7 @@ export { INPUT_NUMBER } from './inputNumber.js';
6
6
  export { LINEBAR } from './linebar.js';
7
7
  export { INPUT_GROUP } from './inputGroup2.js';
8
8
  export { DATE } from './date.js';
9
- export { SEARCH_CASCADE } from './cascader.js';
9
+ export { LEVEL_SEARCH_CASCADE } from './levelSearchCascade.js';
10
10
  export { JSON_COMBINATION } from './jsonCombination/index.js';
11
11
  export { COMBINATION } from './combination.js';
12
12
  export { CHECKBOX } from './checkbox.js';
@@ -17,3 +17,4 @@ export { SLIDER } from './slider.js';
17
17
  export { COMPLEX } from './complex.js';
18
18
  export { BUTTON, LINE_BREAKS, TEXT } from './simpleComponent.js';
19
19
  export { SEARCH } from './search.js';
20
+ export { SEARCH_CASCADE } from './searchCascade.js';
@@ -6,7 +6,7 @@ export { INPUT_NUMBER } from './inputNumber.js';
6
6
  export { LINEBAR } from './linebar.js';
7
7
  export { INPUT_GROUP } from './inputGroup2.js';
8
8
  export { DATE } from './date.js';
9
- export { SEARCH_CASCADE } from './cascader.js';
9
+ export { LEVEL_SEARCH_CASCADE } from './levelSearchCascade.js';
10
10
  export { JSON_COMBINATION } from './jsonCombination/index.js';
11
11
  export { COMBINATION } from './combination.js';
12
12
  export { CHECKBOX } from './checkbox.js';
@@ -17,3 +17,4 @@ export { SLIDER } from './slider.js';
17
17
  export { COMPLEX } from './complex.js';
18
18
  export { BUTTON, LINE_BREAKS, TEXT } from './simpleComponent.js';
19
19
  export { SEARCH } from './search.js';
20
+ export { SEARCH_CASCADE } from './searchCascade.js';
@@ -0,0 +1,86 @@
1
+ import { AnyObject, Func } from '../../../../../../es/shared/types';
2
+ import { PropType } from 'vue';
3
+ declare type ValueType = string | AnyObject[];
4
+ export declare const LEVEL_SEARCH_CASCADE: import("vue").DefineComponent<{
5
+ options: {
6
+ type: PropType<AnyObject[]>;
7
+ default: () => never[];
8
+ };
9
+ onFocus: {
10
+ type: PropType<Func<any[], any>>;
11
+ };
12
+ autograph: {
13
+ type: StringConstructor;
14
+ required: true;
15
+ };
16
+ lazyRequest: {
17
+ type: BooleanConstructor;
18
+ default: boolean;
19
+ };
20
+ wordbook: {
21
+ type: PropType<Partial<{
22
+ level_num: number;
23
+ id: string;
24
+ name: string;
25
+ render_key: string[];
26
+ search_key: string[];
27
+ type: string;
28
+ value_key: string;
29
+ level_key: string;
30
+ link_key: string;
31
+ link_key_split: string;
32
+ show_key: string[];
33
+ conObj: AnyObject[];
34
+ conObjFirstLevel: AnyObject[];
35
+ }>>;
36
+ required: true;
37
+ };
38
+ onChange: {};
39
+ value: {
40
+ type: PropType<ValueType>;
41
+ };
42
+ }, () => 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<{
43
+ options: {
44
+ type: PropType<AnyObject[]>;
45
+ default: () => never[];
46
+ };
47
+ onFocus: {
48
+ type: PropType<Func<any[], any>>;
49
+ };
50
+ autograph: {
51
+ type: StringConstructor;
52
+ required: true;
53
+ };
54
+ lazyRequest: {
55
+ type: BooleanConstructor;
56
+ default: boolean;
57
+ };
58
+ wordbook: {
59
+ type: PropType<Partial<{
60
+ level_num: number;
61
+ id: string;
62
+ name: string;
63
+ render_key: string[];
64
+ search_key: string[];
65
+ type: string;
66
+ value_key: string;
67
+ level_key: string;
68
+ link_key: string;
69
+ link_key_split: string;
70
+ show_key: string[];
71
+ conObj: AnyObject[];
72
+ conObjFirstLevel: AnyObject[];
73
+ }>>;
74
+ required: true;
75
+ };
76
+ onChange: {};
77
+ value: {
78
+ type: PropType<ValueType>;
79
+ };
80
+ }>> & {
81
+ "onUpdate:value"?: ((...args: any[]) => any) | undefined;
82
+ }, {
83
+ options: AnyObject[];
84
+ lazyRequest: boolean;
85
+ }>;
86
+ export {};
@@ -0,0 +1,229 @@
1
+ import { defineComponent, computed, ref, inject, watch, createVNode } from 'vue';
2
+ import { arrayed } from '../../../../../shared/utils/index2.js';
3
+ import { isEqual, isString, isEmpty } from 'lodash-es';
4
+ import '../../../index2.js';
5
+ import { InjectAsyncQueue } from '../../constants/index2.js';
6
+ import { useCommonInjection } from '../../hooks/useCommonInjection2.js';
7
+ import { formRenderLog } from '../../utils/index.js';
8
+ import { connect, mapProps } from '@formily/vue';
9
+ import SearchCascader from '../../../../search-cascader/index2.js';
10
+ import script$1 from '../../../../../shared/components/no-data/NoData.js';
11
+ import { useFormField } from '../../hooks/useFormField2.js';
12
+ import { visitedDecorator, assignUpdateValue } from '../../utils/schema2.js';
13
+ import { useFormRequest } from '../../hooks/useFormRequest2.js';
14
+
15
+ const script = defineComponent({
16
+ name: "FormSearchCascade",
17
+ props: {
18
+ options: {
19
+ type: Array,
20
+ default: () => []
21
+ },
22
+ onFocus: {
23
+ type: Function
24
+ },
25
+ autograph: {
26
+ type: String,
27
+ required: true
28
+ },
29
+ lazyRequest: {
30
+ type: Boolean,
31
+ default: true
32
+ },
33
+ wordbook: {
34
+ type: Object,
35
+ required: true
36
+ },
37
+ onChange: {},
38
+ value: {
39
+ type: [String, Array]
40
+ }
41
+ },
42
+ emits: ["update:value"],
43
+ setup(props, {
44
+ emit
45
+ }) {
46
+ const valueRef = computed({
47
+ get: () => props.value,
48
+ set: (v) => emit("update:value", v)
49
+ });
50
+ const optionsRef = ref([]);
51
+ const {
52
+ field,
53
+ fieldKey
54
+ } = useFormField();
55
+ const labelKey = computed(() => {
56
+ var _a, _b, _c;
57
+ return (_c = (_b = (_a = props.wordbook) == null ? void 0 : _a.render_key) == null ? void 0 : _b[0]) != null ? _c : "text";
58
+ });
59
+ const valueKey = computed(() => {
60
+ var _a, _b;
61
+ return (_b = (_a = props.wordbook) == null ? void 0 : _a.value_key) != null ? _b : "value";
62
+ });
63
+ computed(() => {
64
+ var _a;
65
+ return ((_a = props.wordbook) == null ? void 0 : _a.level_num) || Infinity;
66
+ });
67
+ const asyncQueue = inject(InjectAsyncQueue);
68
+ const {
69
+ getSearchRequestInfo
70
+ } = useFormRequest();
71
+ async function fetchData(node, keyword) {
72
+ try {
73
+ if (node && !node.__keyword && node.isLeaf) {
74
+ valueRef.value = createOptionValue(node);
75
+ return;
76
+ }
77
+ const result = await asyncQueue.addAsync(createParams(props.wordbook, props.autograph, field.value, fieldKey.value));
78
+ if (!node) {
79
+ optionsRef.value = result.map((option) => {
80
+ option.__keyword = !!keyword;
81
+ option.isLeaf = !!keyword;
82
+ return option;
83
+ });
84
+ return;
85
+ }
86
+ if (node == null ? void 0 : node.__keyword) {
87
+ if (!isString(node.id_link))
88
+ return;
89
+ const linkList = parseLinkFromString2List(node.id_link);
90
+ const primaryKeyOptions = await fetchPrimaryKeyValue(linkList);
91
+ if (!primaryKeyOptions)
92
+ return;
93
+ const {
94
+ lastOption,
95
+ options
96
+ } = generateOptionWithIdList(primaryKeyOptions, linkList);
97
+ await fetchData(lastOption);
98
+ if (isEmpty(lastOption.children)) {
99
+ valueRef.value = sortOptionWithIdList(primaryKeyOptions, linkList);
100
+ } else {
101
+ optionsRef.value = options;
102
+ }
103
+ } else {
104
+ node.children = result.map((option) => {
105
+ return {
106
+ ...option,
107
+ parent: node
108
+ };
109
+ });
110
+ }
111
+ } catch (e) {
112
+ isString(e) && formRenderLog(e);
113
+ }
114
+ function sortOptionWithIdList(options, idList) {
115
+ return idList.map((id) => {
116
+ return options.find((option) => option[valueKey.value] === id);
117
+ });
118
+ }
119
+ function generateOptionWithIdList(options, idList) {
120
+ let lastOption = options[0];
121
+ const resultOption = idList.reduce((res, id, index) => {
122
+ const option = getTargetOption(options, id);
123
+ if (index === 0)
124
+ return [option];
125
+ lastOption = option;
126
+ res[0].children = [option];
127
+ return res;
128
+ }, []);
129
+ return {
130
+ options: resultOption,
131
+ lastOption
132
+ };
133
+ function getTargetOption(options2, value) {
134
+ return options2.find((o) => o[valueKey.value] === value);
135
+ }
136
+ }
137
+ function parseLinkFromString2List(linkString) {
138
+ return linkString.split("_").filter((s) => s);
139
+ }
140
+ function createParams(wordbook, autograph, field2, key2) {
141
+ const params = {
142
+ autograph,
143
+ wordbookId: wordbook.id,
144
+ wordbookType: wordbook.type,
145
+ fieldKeys: wordbook.search_key ? JSON.stringify(wordbook.search_key) : void 0,
146
+ conObj: wordbook.conObj ? JSON.stringify(enrichConObj(wordbook.conObj, node)) : void 0,
147
+ keyword,
148
+ page: 1
149
+ };
150
+ return {
151
+ ...getSearchRequestInfo(),
152
+ params,
153
+ key: key2
154
+ };
155
+ function enrichConObj(conObj, node2) {
156
+ return arrayed(conObj).map((item) => ({
157
+ ...item,
158
+ value: node2 == null ? void 0 : node2[valueKey.value]
159
+ }));
160
+ }
161
+ }
162
+ }
163
+ async function fetchPrimaryKeyValue(primaryKeys) {
164
+ if (!getSearchRequestInfo().primaryKeyUrl)
165
+ return [];
166
+ try {
167
+ return await asyncQueue.addAsync(createParams(props.wordbook, props.autograph, primaryKeys, fieldKey.value));
168
+ } catch (e) {
169
+ isString(e) && formRenderLog(e);
170
+ }
171
+ function createParams(wordbook, autograph, primaryKeys2, key2) {
172
+ const requestInfo = getSearchRequestInfo();
173
+ return {
174
+ key: key2,
175
+ autograph,
176
+ tableId: wordbook.id,
177
+ primaryKeyValue: primaryKeys2.join(","),
178
+ page: 1,
179
+ ...requestInfo,
180
+ url: requestInfo.primaryKeyUrl
181
+ };
182
+ }
183
+ }
184
+ function createOptionValue(node) {
185
+ const result = [];
186
+ let current = node;
187
+ while (current) {
188
+ result.unshift(node);
189
+ current = node.parent;
190
+ }
191
+ return result;
192
+ }
193
+ watch(() => props.wordbook, (wordbook, oldWordbook) => {
194
+ if (isEqual(wordbook, oldWordbook))
195
+ return;
196
+ optionsRef.value = [];
197
+ if (!wordbook)
198
+ return;
199
+ (valueRef.value || !props.lazyRequest) && fetchData();
200
+ }, {
201
+ immediate: true
202
+ });
203
+ const {
204
+ injectValueValidate,
205
+ injectValueWatchFromEmpty,
206
+ injectValueBindKey
207
+ } = useCommonInjection();
208
+ injectValueWatchFromEmpty(valueRef, fetchData);
209
+ injectValueValidate(valueRef);
210
+ const key = injectValueBindKey(valueRef);
211
+ return () => createVNode(SearchCascader, {
212
+ "value": valueRef.value,
213
+ "onUpdate:value": ($event) => valueRef.value = $event,
214
+ "options": optionsRef.value,
215
+ "key": key.value,
216
+ "labelKey": labelKey.value,
217
+ "valueKey": valueKey.value,
218
+ "search": fetchData,
219
+ "onFocus": visitedDecorator(field, props.onFocus)
220
+ }, {
221
+ empty: () => createVNode(script$1, null, null)
222
+ });
223
+ }
224
+ });
225
+ const LEVEL_SEARCH_CASCADE = connect(script, mapProps({
226
+ dataSource: "options"
227
+ }, assignUpdateValue));
228
+
229
+ export { LEVEL_SEARCH_CASCADE };
@@ -1,4 +1,4 @@
1
- import { Func } from '../../../../../../es/shared/types';
1
+ import { AnyObject, Func } from '../../../../../../es/shared/types';
2
2
  import { PropType } from 'vue';
3
3
  export declare const SEARCH: import("vue").DefineComponent<{
4
4
  value: {
@@ -21,6 +21,12 @@ export declare const SEARCH: import("vue").DefineComponent<{
21
21
  search_key: string[];
22
22
  type: string;
23
23
  value_key: string;
24
+ level_key: string;
25
+ link_key: string;
26
+ link_key_split: string;
27
+ show_key: string[];
28
+ conObj: AnyObject[];
29
+ conObjFirstLevel: AnyObject[];
24
30
  }>>;
25
31
  required: true;
26
32
  };
@@ -49,6 +55,12 @@ export declare const SEARCH: import("vue").DefineComponent<{
49
55
  search_key: string[];
50
56
  type: string;
51
57
  value_key: string;
58
+ level_key: string;
59
+ link_key: string;
60
+ link_key_split: string;
61
+ show_key: string[];
62
+ conObj: AnyObject[];
63
+ conObjFirstLevel: AnyObject[];
52
64
  }>>;
53
65
  required: true;
54
66
  };
@@ -28,7 +28,7 @@ import './inputNumber.js';
28
28
  import './linebar.js';
29
29
  import './inputGroup2.js';
30
30
  import './date.js';
31
- import './cascader.js';
31
+ import './levelSearchCascade.js';
32
32
  import './jsonCombination/index.js';
33
33
  import './combination.js';
34
34
  import './checkbox.js';
@@ -38,6 +38,7 @@ import './labelSelect.js';
38
38
  import './slider.js';
39
39
  import './complex.js';
40
40
  import './simpleComponent.js';
41
+ import './searchCascade.js';
41
42
  import { NSelect } from 'naive-ui';
42
43
  import { visitedDecorator, assignUpdateValue, assignClearBindVisited } from '../../utils/schema2.js';
43
44
 
@@ -27,6 +27,7 @@ import './inputNumber.js';
27
27
  import './linebar.js';
28
28
  import './inputGroup2.js';
29
29
  import './date.js';
30
+ import './levelSearchCascade.js';
30
31
  import './jsonCombination/index.js';
31
32
  import './combination.js';
32
33
  import './checkbox.js';
@@ -26,7 +26,7 @@ import './inputNumber.js';
26
26
  import './linebar.js';
27
27
  import './inputGroup2.js';
28
28
  import './date.js';
29
- import './cascader.js';
29
+ import './levelSearchCascade.js';
30
30
  import './jsonCombination/index.js';
31
31
  import './combination.js';
32
32
  import './checkbox.js';
@@ -37,6 +37,7 @@ import './slider.js';
37
37
  import './complex.js';
38
38
  import './simpleComponent.js';
39
39
  import './search.js';
40
+ import './searchCascade.js';
40
41
  import { NSelect } from 'naive-ui';
41
42
  import { traverseDependKey, visitedDecorator, assignUpdateValue, assignClearBindVisited } from '../../utils/schema2.js';
42
43
 
@@ -1,4 +1,4 @@
1
- import { isFunction } from 'lodash-es';
1
+ import { cloneDeep, isFunction } from 'lodash-es';
2
2
  import '../../index2.js';
3
3
  import { useCommonLog } from './useCommonLog2.js';
4
4
  import { useFormRequest } from './useFormRequest2.js';
@@ -42,7 +42,7 @@ class AsyncQueue {
42
42
  const entry = this._entries.get(key);
43
43
  if (entry.state === 1 /* DONE */) {
44
44
  setTimeout(() => {
45
- callback && callback(entry.error, entry.result);
45
+ callback && callback(cloneDeep(entry.error), cloneDeep(entry.result));
46
46
  });
47
47
  } else if (!entry.callbacks) {
48
48
  entry.callbacks = [callback];
@@ -91,8 +91,8 @@ class AsyncQueue {
91
91
  const callback = entry.callback;
92
92
  entry.state = 1 /* DONE */;
93
93
  entry.callback = void 0;
94
- entry.result = r;
95
- entry.error = e;
94
+ entry.result = cloneDeep(r);
95
+ entry.error = cloneDeep(e);
96
96
  this._activeTasks--;
97
97
  callback && callback(e, r);
98
98
  if (entry.callbacks) {
@@ -79,8 +79,7 @@ function useFieldListAdaptor(collector) {
79
79
  function bindAutoGraphProps(schema2, item2) {
80
80
  schema2["x-component"] = "SEARCH";
81
81
  Object.assign(schema2["x-component-props"], {
82
- ...pick(item2, ["wordbook", "lazyRequest"]),
83
- autograph: item2.autograph
82
+ ...pick(item2, ["wordbook", "lazyRequest", "autograph"])
84
83
  });
85
84
  }
86
85
  function bindUrlProps(schema2, item2) {
@@ -106,7 +105,7 @@ function useFieldListAdaptor(collector) {
106
105
  });
107
106
  return schema;
108
107
  };
109
- const createCascaderSchema = (item) => {
108
+ const createSearchCascadeSchema = (item) => {
110
109
  var _a;
111
110
  const schema = createStandardSchema(item);
112
111
  Object.assign(schema["x-component-props"], {
@@ -116,6 +115,13 @@ function useFieldListAdaptor(collector) {
116
115
  });
117
116
  return schema;
118
117
  };
118
+ const createLevelSearchCascadeSchema = (item) => {
119
+ const schema = createStandardSchema(item);
120
+ Object.assign(schema["x-component-props"], {
121
+ ...pick(item, ["wordbook", "lazyRequest", "autograph"])
122
+ });
123
+ return schema;
124
+ };
119
125
  const createSwitchSchema = (item) => {
120
126
  const schema = createStandardSchema(item);
121
127
  Object.assign(schema["x-component-props"], {
@@ -210,7 +216,8 @@ function useFieldListAdaptor(collector) {
210
216
  ["INPUT_NUMBER", createInputNumberSchema],
211
217
  ["SELECT", createSelectSchema],
212
218
  ["DATE", createDateSchema],
213
- ["SEARCH_CASCADE", createCascaderSchema],
219
+ ["LEVEL_SEARCH_CASCADE", createLevelSearchCascadeSchema],
220
+ ["SEARCH_CASCADE", createSearchCascadeSchema],
214
221
  ["COMBINATION", createCombinationSchema],
215
222
  ["RADIO", createRadioSchema],
216
223
  ["CHECKBOX", createRadioSchema],
@@ -4,6 +4,7 @@ declare type RequestInstance = Record<string, Func>;
4
4
  declare type SearchRequestInfo = {
5
5
  method: FormRequestType;
6
6
  url: string;
7
+ primaryKeyUrl?: string;
7
8
  };
8
9
  export declare function useFormRequest(): {
9
10
  getHttpInstance: () => Nullable<RequestInstance>;
@@ -11,6 +12,7 @@ export declare function useFormRequest(): {
11
12
  getSearchRequestInfo: () => {
12
13
  method: FormRequestType;
13
14
  url: string;
15
+ primaryKeyUrl?: string | undefined;
14
16
  };
15
17
  registGlobSearchInfo: (info: SearchRequestInfo) => void;
16
18
  };
@@ -1,5 +1,5 @@
1
1
  let http = null;
2
- const searchRequestInfo = { method: "post", url: "" };
2
+ const searchRequestInfo = { method: "post", url: "", primaryKeyUrl: "" };
3
3
  function useFormRequest() {
4
4
  function getHttpInstance() {
5
5
  return http;
@@ -74,6 +74,12 @@ export declare type FormWordbook = Partial<{
74
74
  search_key: string[];
75
75
  type: string;
76
76
  value_key: string;
77
+ level_key: string;
78
+ link_key: string;
79
+ link_key_split: string;
80
+ show_key: string[];
81
+ conObj: AnyObject[];
82
+ conObjFirstLevel: AnyObject[];
77
83
  }>;
78
84
  export declare type FieldItem = {
79
85
  /**
@@ -27,16 +27,13 @@ function traverseDependKey(dependKeys, handler) {
27
27
  return handler(dependKey, valueKey);
28
28
  handler(dependKey, valueKey.key, valueKey.required);
29
29
  });
30
- Object.entries(createDependKeyMap()).forEach(([dependKey, valueKey]) => {
31
- handler(dependKey, valueKey);
32
- });
33
30
  function createDependKeyMap() {
34
31
  const result = /* @__PURE__ */ new Map();
35
32
  if (isArray(dependKeys)) {
36
33
  dependKeys.forEach((k) => {
37
34
  var _a;
38
35
  if (isObject(k)) {
39
- result.set(k.paramName, { key: (_a = k.paramName) != null ? _a : k.paramValue, required: k.required });
36
+ result.set(k.paramName, { key: (_a = k.paramValue) != null ? _a : k.paramName, required: k.required });
40
37
  } else {
41
38
  result.set(k, k);
42
39
  }