cnhis-design-vue 3.1.23-beta.1 → 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 (111) hide show
  1. package/es/components/big-table/index.d.ts +0 -3
  2. package/es/components/big-table/src/BigTable.vue.d.ts +0 -3
  3. package/es/components/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.js +9 -20
  4. package/es/components/big-table/src/utils.d.ts +1 -1
  5. package/es/components/big-table/src/utils2.js +11 -37
  6. package/es/components/fabric-chart/src/components/PopupMenu.js +7 -2
  7. package/es/components/fabric-chart/src/hooks/useCenter2.js +9 -5
  8. package/es/components/fabric-chart/src/hooks/useEvent2.js +40 -8
  9. package/es/components/field-set/index.d.ts +1 -0
  10. package/es/components/field-set/src/FieldSet.js +16 -10
  11. package/es/components/field-set/src/FieldSet.vue.d.ts +1 -0
  12. package/es/components/form-config/index.d.ts +6 -0
  13. package/es/components/form-config/src/FormConfig.vue.d.ts +6 -0
  14. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +6 -0
  15. package/es/components/form-render/index2.js +2 -1
  16. package/es/components/form-render/src/components/renderer/index.d.ts +2 -1
  17. package/es/components/form-render/src/components/renderer/index.js +2 -1
  18. package/es/components/form-render/src/components/renderer/index2.js +2 -1
  19. package/es/components/form-render/src/components/renderer/levelSearchCascade.d.ts +86 -0
  20. package/es/components/form-render/src/components/renderer/levelSearchCascade.js +229 -0
  21. package/es/components/form-render/src/components/renderer/search.d.ts +13 -1
  22. package/es/components/form-render/src/components/renderer/search.js +2 -1
  23. package/es/components/form-render/src/components/renderer/{cascader.d.ts → searchCascade.d.ts} +0 -0
  24. package/es/components/form-render/src/components/renderer/{cascader.js → searchCascade.js} +1 -0
  25. package/es/components/form-render/src/components/renderer/select.js +2 -1
  26. package/es/components/form-render/src/hooks/useAsyncQueue2.js +4 -4
  27. package/es/components/form-render/src/hooks/useFieldListAdaptor2.js +11 -4
  28. package/es/components/form-render/src/hooks/useFormRequest.d.ts +2 -0
  29. package/es/components/form-render/src/hooks/useFormRequest2.js +1 -1
  30. package/es/components/form-render/src/types/fieldItem.d.ts +6 -0
  31. package/es/components/form-render/src/utils/schema2.js +1 -4
  32. package/es/components/iho-table/index.d.ts +0 -1
  33. package/es/components/iho-table/src/IhoTable.vue.d.ts +0 -1
  34. package/es/components/iho-table/src/constants/index.d.ts +5 -3
  35. package/es/components/iho-table/src/constants/index.js +1 -1
  36. package/es/components/iho-table/src/constants/index2.js +9 -7
  37. package/es/components/iho-table/src/hooks/tapHooks/index.d.ts +2 -2
  38. package/es/components/iho-table/src/plugins/index.js +4 -1
  39. package/es/components/iho-table/src/plugins/index2.js +4 -1
  40. package/es/components/iho-table/src/plugins/lowCodeFieldAdaptorPlugin/index2.js +11 -8
  41. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.d.ts +31 -0
  42. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.js +205 -0
  43. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/index.d.ts +1 -0
  44. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/index.js +39 -0
  45. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useCommon.js +1 -0
  46. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useCommon2.js +17 -0
  47. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/index.d.ts +4 -1
  48. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/index.js +4 -1
  49. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/inputRendererPlugin.d.ts +1 -0
  50. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/{inputRendererPlugins.js → inputRendererPlugin.js} +4 -4
  51. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.d.ts +31 -0
  52. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.js +60 -0
  53. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.d.ts +1 -0
  54. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +40 -0
  55. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.d.ts +2 -0
  56. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js +1 -0
  57. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils2.js +20 -0
  58. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/{edit-separate.js → editSeparate.js} +20 -22
  59. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/{edit-separate.vue.d.ts → editSeparate.vue.d.ts} +1 -17
  60. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/index.js +13 -9
  61. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/{separate-utils.d.ts → separateUtils.d.ts} +0 -0
  62. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/{separate-utils.js → separateUtils.js} +1 -1
  63. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/{separate-utils2.js → separateUtils2.js} +4 -4
  64. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/editTime.d.ts +31 -0
  65. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/editTime.js +60 -0
  66. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/index.d.ts +1 -0
  67. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/index.js +39 -0
  68. package/es/components/iho-table/src/plugins/rendererPlugins/index.js +4 -1
  69. package/es/components/iho-table/src/plugins/rowGroupSettingPlugin/index2.js +1 -46
  70. package/es/components/iho-table/src/plugins/rowGroupSettingPlugin/rowGroupUtils.d.ts +11 -0
  71. package/es/components/iho-table/src/plugins/rowGroupSettingPlugin/rowGroupUtils.js +1 -0
  72. package/es/components/iho-table/src/plugins/rowGroupSettingPlugin/rowGroupUtils2.js +50 -0
  73. package/es/components/iho-table/src/types/index.d.ts +0 -3
  74. package/es/components/index.css +1 -1
  75. package/es/components/scale-view/src/hooks/use-component.d.ts +1 -0
  76. package/es/components/search-cascader/index.d.ts +196 -0
  77. package/es/components/search-cascader/index.js +1 -0
  78. package/es/components/search-cascader/index2.js +10 -0
  79. package/es/components/search-cascader/src/SearchCascader.js +168 -0
  80. package/es/components/search-cascader/src/SearchCascader.vue.d.ts +198 -0
  81. package/es/components/search-cascader/src/components/SearchMenu.d.ts +45 -0
  82. package/es/components/search-cascader/src/components/SearchMenu.js +134 -0
  83. package/es/components/search-cascader/src/components/index.d.ts +1 -0
  84. package/es/components/search-cascader/src/components/index.js +1 -0
  85. package/es/components/search-cascader/src/constants/index.d.ts +3 -0
  86. package/es/components/search-cascader/src/constants/index.js +1 -0
  87. package/es/components/search-cascader/src/constants/index2.js +3 -0
  88. package/es/components/search-cascader/src/hooks/index.d.ts +1 -0
  89. package/es/components/search-cascader/src/hooks/index.js +1 -0
  90. package/es/components/search-cascader/src/hooks/useCssVariable.d.ts +3 -0
  91. package/es/components/search-cascader/src/hooks/useCssVariable.js +1 -0
  92. package/es/components/search-cascader/src/hooks/useCssVariable2.js +7 -0
  93. package/es/components/search-cascader/src/utils/index.d.ts +2 -0
  94. package/es/components/search-cascader/src/utils/index.js +1 -0
  95. package/es/components/search-cascader/src/utils/index2.js +11 -0
  96. package/es/components/search-cascader/style/index.css +1 -0
  97. package/es/components/select-label/index.d.ts +1 -0
  98. package/es/components/select-label/src/SelectLabel.vue.d.ts +1 -0
  99. package/es/components/select-label/src/SelectLabel.vue_vue_type_script_setup_true_lang.js +16 -4
  100. package/es/components/shortcut-provider/src/ShortcutProvider.js +2 -1
  101. package/es/components/shortcut-setter/index.d.ts +6 -0
  102. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +6 -0
  103. package/es/shared/components/no-data/NoData.js +74 -0
  104. package/es/shared/components/no-data/NoData.vue.d.ts +51 -0
  105. package/es/shared/components/no-data/index.d.ts +2 -0
  106. package/es/shared/components/no-data/index.js +1 -0
  107. package/es/shared/components/no-data/index2.js +2 -0
  108. package/es/shared/utils/index.d.ts +1 -1
  109. package/es/shared/utils/index2.js +14 -5
  110. package/package.json +2 -2
  111. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/inputRendererPlugins.d.ts +0 -1
@@ -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
  }
@@ -2456,7 +2456,6 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
2456
2456
  }>[]) | undefined;
2457
2457
  getTitle?: (() => string) | undefined;
2458
2458
  getKey?: (() => string) | undefined;
2459
- context?: import("../../../es/shared/types").AnyObject | undefined;
2460
2459
  }[]>;
2461
2460
  updateFieldListRef: () => void;
2462
2461
  dataTransfer: (data: import("../../../es/shared/types").AnyObject[]) => Promise<import("../../../es/shared/types").AnyObject[]>;
@@ -2455,7 +2455,6 @@ declare const _default: import("vue").DefineComponent<{
2455
2455
  }>[]) | undefined;
2456
2456
  getTitle?: (() => string) | undefined;
2457
2457
  getKey?: (() => string) | undefined;
2458
- context?: AnyObject | undefined;
2459
2458
  }[]>;
2460
2459
  updateFieldListRef: () => void;
2461
2460
  dataTransfer: (data: AnyObject[]) => Promise<AnyObject[]>;
@@ -20,7 +20,6 @@ export declare enum WIDGET_TYPE {
20
20
  VIDEO = "VIDEO",
21
21
  SYSTEMFIELDS = "SYSTEMFIELDS",
22
22
  PERCENTAGE = "PERCENTAGE",
23
- DATE = "DATE",
24
23
  CANDIDATE_COMPONENTS = "CANDIDATE_COMPONENTS",
25
24
  TASKDATE = "TASKDATE",
26
25
  AGE = "AGE",
@@ -40,9 +39,12 @@ export declare enum WIDGET_TYPE {
40
39
  export declare const VxeEventListenerNameList: Readonly<UnionToTuple<keyof VxeTableEventProps>>;
41
40
  export declare const IhoTableRowGroupSequence: readonly ["firstRowGroup", "secondRowGroup", "thirdRowGroup", "fourthRowGroup", "fifthRowGroup", "sixthRowGroup", "seventhRowGroup", "eighthRowGroup", "ninthRowGroup", "tenthRowGroup"];
42
41
  export declare const HIGHEST_PRIORITY: number;
43
- export declare enum INPUT_TYPE {
42
+ export declare enum EDITABLE_WIDGET_TYPE {
44
43
  INPUT = "INPUT",
45
- SEPARATE = "SEPARATE"
44
+ SEPARATE = "SEPARATE",
45
+ SELECT = "SELECT",
46
+ DATE = "DATE",
47
+ TIME = "TIME"
46
48
  }
47
49
  export declare const InjectionIhoTableConfig: InjectionKey<Ref<Nullable<IhoTableConfig>>>;
48
50
  export declare const InjectionIhoTableEmits: InjectionKey<(event: string, ...args: unknown[]) => void>;
@@ -1 +1 @@
1
- export { HIGHEST_PRIORITY, INPUT_TYPE, IhoTableRowGroupSequence, InjectionIhoTableConfig, InjectionIhoTableEmits, InjectionIhoTableHandler, InjectionIhoTableUUID, VxeEventListenerNameList, WIDGET_TYPE } from './index2.js';
1
+ export { EDITABLE_WIDGET_TYPE, HIGHEST_PRIORITY, IhoTableRowGroupSequence, InjectionIhoTableConfig, InjectionIhoTableEmits, InjectionIhoTableHandler, InjectionIhoTableUUID, VxeEventListenerNameList, WIDGET_TYPE } from './index2.js';
@@ -16,7 +16,6 @@ var WIDGET_TYPE = /* @__PURE__ */ ((WIDGET_TYPE2) => {
16
16
  WIDGET_TYPE2["VIDEO"] = "VIDEO";
17
17
  WIDGET_TYPE2["SYSTEMFIELDS"] = "SYSTEMFIELDS";
18
18
  WIDGET_TYPE2["PERCENTAGE"] = "PERCENTAGE";
19
- WIDGET_TYPE2["DATE"] = "DATE";
20
19
  WIDGET_TYPE2["CANDIDATE_COMPONENTS"] = "CANDIDATE_COMPONENTS";
21
20
  WIDGET_TYPE2["TASKDATE"] = "TASKDATE";
22
21
  WIDGET_TYPE2["AGE"] = "AGE";
@@ -108,14 +107,17 @@ const IhoTableRowGroupSequence = Object.freeze([
108
107
  "tenthRowGroup"
109
108
  ]);
110
109
  const HIGHEST_PRIORITY = -Infinity;
111
- var INPUT_TYPE = /* @__PURE__ */ ((INPUT_TYPE2) => {
112
- INPUT_TYPE2["INPUT"] = "INPUT";
113
- INPUT_TYPE2["SEPARATE"] = "SEPARATE";
114
- return INPUT_TYPE2;
115
- })(INPUT_TYPE || {});
110
+ var EDITABLE_WIDGET_TYPE = /* @__PURE__ */ ((EDITABLE_WIDGET_TYPE2) => {
111
+ EDITABLE_WIDGET_TYPE2["INPUT"] = "INPUT";
112
+ EDITABLE_WIDGET_TYPE2["SEPARATE"] = "SEPARATE";
113
+ EDITABLE_WIDGET_TYPE2["SELECT"] = "SELECT";
114
+ EDITABLE_WIDGET_TYPE2["DATE"] = "DATE";
115
+ EDITABLE_WIDGET_TYPE2["TIME"] = "TIME";
116
+ return EDITABLE_WIDGET_TYPE2;
117
+ })(EDITABLE_WIDGET_TYPE || {});
116
118
  const InjectionIhoTableConfig = Symbol("injectionIhoTableConfig");
117
119
  const InjectionIhoTableEmits = Symbol("InjectionIhoTableEmits");
118
120
  const InjectionIhoTableUUID = Symbol("InjectionIhoTableUUID");
119
121
  const InjectionIhoTableHandler = Symbol("InjectionIhoTableHandler");
120
122
 
121
- export { HIGHEST_PRIORITY, INPUT_TYPE, IhoTableRowGroupSequence, InjectionIhoTableConfig, InjectionIhoTableEmits, InjectionIhoTableHandler, InjectionIhoTableUUID, VxeEventListenerNameList, WIDGET_TYPE };
123
+ export { EDITABLE_WIDGET_TYPE, HIGHEST_PRIORITY, IhoTableRowGroupSequence, InjectionIhoTableConfig, InjectionIhoTableEmits, InjectionIhoTableHandler, InjectionIhoTableUUID, VxeEventListenerNameList, WIDGET_TYPE };
@@ -2,7 +2,7 @@ import { AnyObject, Func, Nullable } from '../../../../../../es/shared/types';
2
2
  import { MaybeRef } from '@vueuse/core';
3
3
  import { VxeTableInstance } from 'vxe-table';
4
4
  import { VxeTableEventProps } from 'vxe-table/types/table';
5
- import { IhoTableConfig, IhoTableEventContext, IhoTableFieldItem, TableHooks } from '../../../../../../es/components/iho-table/src/types';
5
+ import { IhoTableConfig, IhoTableFieldItem, IhoTableHandler, TableHooks } from '../../../../../../es/components/iho-table/src/types';
6
6
  export declare const createTableHooks: () => Readonly<{
7
7
  configHooks: import("../../../../../../es/components/iho-table/src/types").AbstractConfigHooks;
8
8
  fieldHooks: import("../../../../../../es/components/iho-table/src/types").AbstractFieldHooks;
@@ -17,6 +17,6 @@ export declare function createTableEventHandlers({ hooks, config, $table, emits,
17
17
  config: MaybeRef<IhoTableConfig>;
18
18
  $table: MaybeRef<Nullable<VxeTableInstance>>;
19
19
  emits: Func;
20
- context: IhoTableEventContext;
20
+ context: IhoTableHandler;
21
21
  }): Record<keyof VxeTableEventProps, any>;
22
22
  export declare function createDataTransfer(hooks: TableHooks, config: MaybeRef<IhoTableConfig>, $table: MaybeRef<Nullable<VxeTableInstance>>): (data: AnyObject[]) => Promise<AnyObject[]>;
@@ -6,6 +6,9 @@ export { colorRendererPlugin } from './rendererPlugins/widgets/colorRendererPlug
6
6
  export { seqRendererPlugin } from './rendererPlugins/widgets/seqRendererPlugin.js';
7
7
  export { checkRendererPlugin } from './rendererPlugins/widgets/checkRendererPlugin.js';
8
8
  export { pictureRendererPlugin } from './rendererPlugins/widgets/pictureRendererPlugin.js';
9
- export { inputRendererPlugins } from './rendererPlugins/editableWidgets/inputRendererPlugins.js';
9
+ export { inputRendererPlugin } from './rendererPlugins/editableWidgets/inputRendererPlugin.js';
10
10
  export { separateRendererPlugins } from './rendererPlugins/editableWidgets/separateRendererPlugin/index.js';
11
+ export { selectRendererPlugin } from './rendererPlugins/editableWidgets/selectRendererPlugin/index.js';
12
+ export { dateRendererPlugin } from './rendererPlugins/editableWidgets/dateRendererPlugin/index.js';
13
+ export { timeRendererPlugin } from './rendererPlugins/editableWidgets/timeRendererPlugin/index.js';
11
14
  export { rowGroupSettingPlugin } from './rowGroupSettingPlugin/index2.js';
@@ -6,6 +6,9 @@ export { colorRendererPlugin } from './rendererPlugins/widgets/colorRendererPlug
6
6
  export { seqRendererPlugin } from './rendererPlugins/widgets/seqRendererPlugin.js';
7
7
  export { checkRendererPlugin } from './rendererPlugins/widgets/checkRendererPlugin.js';
8
8
  export { pictureRendererPlugin } from './rendererPlugins/widgets/pictureRendererPlugin.js';
9
- export { inputRendererPlugins } from './rendererPlugins/editableWidgets/inputRendererPlugins.js';
9
+ export { inputRendererPlugin } from './rendererPlugins/editableWidgets/inputRendererPlugin.js';
10
10
  export { separateRendererPlugins } from './rendererPlugins/editableWidgets/separateRendererPlugin/index.js';
11
+ export { selectRendererPlugin } from './rendererPlugins/editableWidgets/selectRendererPlugin/index.js';
12
+ export { dateRendererPlugin } from './rendererPlugins/editableWidgets/dateRendererPlugin/index.js';
13
+ export { timeRendererPlugin } from './rendererPlugins/editableWidgets/timeRendererPlugin/index.js';
11
14
  export { rowGroupSettingPlugin } from './rowGroupSettingPlugin/index2.js';
@@ -1,4 +1,5 @@
1
- import { pick } from 'lodash-es';
1
+ import { pick, cloneDeep } from 'lodash-es';
2
+ import { toRaw } from 'vue';
2
3
  import { HIGHEST_PRIORITY, WIDGET_TYPE } from '../../constants/index2.js';
3
4
  import { defineTablePlugin } from '../../hooks/useTablePlugin2.js';
4
5
 
@@ -13,21 +14,23 @@ function lowCodeFieldAdaptorPlugin() {
13
14
  field: _field.columnName,
14
15
  width: _field.colWidth,
15
16
  showOverflow: "tooltip",
16
- ...pick(_field, ["title"]),
17
- context: _field.context || {}
17
+ ...pick(_field, ["title"])
18
18
  };
19
- settingObjAdaptor(_field.settingObj, result);
19
+ settingObjAdaptor(result, _field);
20
20
  return result;
21
21
  });
22
22
  }
23
23
  });
24
24
  }
25
- function settingObjAdaptor(settingObj, fieldItem) {
26
- if (!settingObj)
25
+ function settingObjAdaptor(fieldItem, lowCodeField) {
26
+ if (!lowCodeField.settingObj)
27
27
  return;
28
- fieldItem.editRender = { name: settingObj.attr || "DEFAULT" };
28
+ fieldItem.editRender = {
29
+ name: lowCodeField.settingObj.attr || "DEFAULT",
30
+ props: cloneDeep(toRaw(lowCodeField))
31
+ };
29
32
  fieldItem.editRender.enabled = !Reflect.get(WIDGET_TYPE, fieldItem.editRender.name);
30
- fieldItem.visible = settingObj.isHide !== "1";
33
+ fieldItem.visible = lowCodeField.settingObj.isHide !== "1";
31
34
  }
32
35
 
33
36
  export { lowCodeFieldAdaptorPlugin };
@@ -0,0 +1,31 @@
1
+ import { PropType } from 'vue';
2
+ import { IhoTableFieldItem } from '../../../../../../../../es/components/iho-table';
3
+ import { AnyObject } from '../../../../../../../../es/shared/types';
4
+ declare const _default: import("vue").DefineComponent<{
5
+ column: {
6
+ type: PropType<IhoTableFieldItem>;
7
+ required: true;
8
+ };
9
+ row: {
10
+ type: PropType<AnyObject>;
11
+ required: true;
12
+ };
13
+ index: {
14
+ type: NumberConstructor;
15
+ required: true;
16
+ };
17
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
18
+ column: {
19
+ type: PropType<IhoTableFieldItem>;
20
+ required: true;
21
+ };
22
+ row: {
23
+ type: PropType<AnyObject>;
24
+ required: true;
25
+ };
26
+ index: {
27
+ type: NumberConstructor;
28
+ required: true;
29
+ };
30
+ }>>, {}>;
31
+ export default _default;