cnhis-design-vue 3.1.31-beta.0 → 3.1.31-beta.10
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.
- package/es/components/big-table/index.js +1 -1
- package/es/components/big-table/src/{BigTable.js → BigTable.vue.js} +1 -1
- package/es/components/big-table/src/{BigTable.vue_vue_type_script_setup_true_lang.js → BigTable.vue2.js} +6 -6
- package/es/components/{scale-view/src/components/NoData.js → big-table/src/components/NoData.vue.js} +4 -4
- package/es/components/big-table/src/components/edit-form/{edit-separate.js → edit-separate.vue.js} +1 -1
- package/es/components/big-table/src/components/{input-button.js → input-button.vue.js} +0 -0
- package/es/components/big-table/src/components/{separate.js → separate.vue.js} +0 -0
- package/es/components/big-table/src/hooks/useEdit.js +1 -1
- package/es/components/big-table/src/utils.js +1 -1
- package/es/components/bpmn-workflow/index.js +1 -1
- package/es/components/bpmn-workflow/src/{BpmnWorkflow.js → BpmnWorkflow.vue.js} +0 -0
- package/es/components/button-print/index.d.ts +76 -79
- package/es/components/button-print/index.js +2 -2
- package/es/components/button-print/src/ButtonPrint.vue.d.ts +76 -79
- package/es/components/button-print/src/{ButtonPrint.js → ButtonPrint.vue.js} +1 -1
- package/es/components/button-print/src/{ButtonPrint.vue_vue_type_script_setup_true_lang.js → ButtonPrint.vue2.js} +47 -85
- package/es/components/button-print/src/components/{edit.vue.d.ts → EditFormat.vue.d.ts} +61 -54
- package/es/components/button-print/src/components/EditFormat.vue.js +173 -0
- package/es/components/button-print/src/components/IdentityVerification.vue.d.ts +76 -64
- package/es/components/button-print/src/components/{IdentityVerification.js → IdentityVerification.vue.js} +22 -10
- package/es/components/button-print/src/components/Preview.vue.d.ts +41 -0
- package/es/components/button-print/src/components/Preview.vue.js +6 -0
- package/es/components/button-print/src/components/Preview.vue2.js +67 -0
- package/es/components/button-print/src/utils/browserPrint.d.ts +2 -1
- package/es/components/button-print/src/utils/browserPrint.js +6 -3
- package/es/components/button-print/src/utils/dialog.d.ts +6 -2
- package/es/components/button-print/src/utils/dialog.js +69 -25
- package/es/components/button-print/src/utils/index.js +1 -1
- package/es/components/button-print/src/utils/print.d.ts +7 -3
- package/es/components/button-print/src/utils/print.js +51 -4
- package/es/components/button-print/style/index.css +1 -1
- package/es/components/drag-layout/index.js +1 -1
- package/es/components/drag-layout/src/{DragFormLeftItem.js → DragFormLeftItem.vue.js} +0 -0
- package/es/components/drag-layout/src/{DragFormRightItem.js → DragFormRightItem.vue.js} +0 -0
- package/es/components/drag-layout/src/{DragLayout.js → DragLayout.vue.js} +2 -2
- package/es/components/fabric-chart/index.js +1 -1
- package/es/components/fabric-chart/src/{FabricChart.js → FabricChart.vue.js} +1 -1
- package/es/components/fabric-chart/src/components/{PopupTip.js → PopupTip.vue.js} +0 -0
- package/es/components/fabric-chart/src/hooks/useCenter.js +5 -6
- package/es/components/fabric-chart/src/hooks/useGrid.js +3 -3
- package/es/components/fabric-chart/src/interface.d.ts +1 -1
- package/es/components/fabric-chart/src/utils/index.js +0 -1
- package/es/components/field-set/index.js +1 -1
- package/es/components/field-set/src/{FieldSet.js → FieldSet.vue.js} +0 -0
- package/es/components/form-config/index.js +1 -1
- package/es/components/form-config/src/{FormConfig.js → FormConfig.vue.js} +3 -3
- package/es/components/form-config/src/components/{FormConfigCreator.js → FormConfigCreator.vue.js} +0 -0
- package/es/components/form-config/src/components/{FormConfigDragDisplay.js → FormConfigDragDisplay.vue.js} +0 -0
- package/es/components/form-config/src/components/{FormConfigEdit.js → FormConfigEdit.vue.js} +0 -0
- package/es/components/form-config/src/components/index.js +6 -6
- package/es/components/form-config/src/components/renderer/{CloseButton.js → CloseButton.vue.js} +0 -0
- package/es/components/form-config/src/components/renderer/{ComplexNode.js → ComplexNode.vue.js} +2 -2
- package/es/components/form-config/src/components/renderer/{DefaultNode.js → DefaultNode.vue.js} +1 -1
- package/es/components/form-config/src/components/renderer/index.js +3 -3
- package/es/components/form-config/src/hooks/usePresetRenderer.js +2 -2
- package/es/components/form-render/index.js +2 -2
- package/es/components/form-render/src/{FormRender.js → FormRender.vue.js} +0 -0
- package/es/components/form-render/src/{FormRenderWrapper.js → FormRenderWrapper.vue.js} +1 -1
- package/es/components/form-render/src/components/renderer/checkbox.js +3 -5
- package/es/components/form-render/src/components/renderer/index.js +2 -0
- package/es/components/form-render/src/components/renderer/jsonCombination/index.js +1 -1
- package/es/components/form-render/src/components/renderer/levelSearchCascader.js +1 -1
- package/es/components/form-render/src/components/renderer/lineBar/{FormCollapse.js → FormCollapse.vue.js} +0 -0
- package/es/components/form-render/src/components/renderer/lineBar/index.js +1 -1
- package/es/components/form-render/src/components/renderer/recommendSelect.d.ts +131 -0
- package/es/components/form-render/src/components/renderer/recommendSelect.js +213 -0
- package/es/components/form-render/src/components/renderer/remoteSearch.js +0 -1
- package/es/components/form-render/src/components/renderer/select.js +3 -5
- package/es/components/form-render/src/hooks/useAsyncQueue.js +2 -1
- package/es/components/form-render/src/hooks/useAutographOptions.js +5 -7
- package/es/components/form-render/src/hooks/useBusinessBinding.d.ts +3 -2
- package/es/components/form-render/src/hooks/useBusinessBinding.js +20 -17
- package/es/components/form-render/src/hooks/useFieldListAdaptor.js +7 -0
- package/es/components/form-render/src/hooks/useFormRequest.d.ts +8 -1
- package/es/components/form-render/src/hooks/useFormRequest.js +24 -1
- package/es/components/form-render/src/utils/index.d.ts +2 -2
- package/es/components/form-render/src/utils/index.js +27 -3
- package/es/components/form-render/style/index.css +1 -1
- package/es/components/iho-table/index.d.ts +160 -102
- package/es/components/iho-table/index.js +1 -2
- package/es/components/iho-table/src/IhoTable.vue.d.ts +160 -102
- package/es/components/iho-table/src/{IhoTable.js → IhoTable.vue.js} +2 -1
- package/es/components/iho-table/src/components/IhoTableColumn.js +14 -11
- package/es/components/iho-table/src/constants/index.d.ts +5 -3
- package/es/components/iho-table/src/constants/index.js +5 -3
- package/es/components/iho-table/src/hooks/tapHooks/index.d.ts +64 -5
- package/es/components/iho-table/src/hooks/tapHooks/index.js +17 -9
- package/es/components/iho-table/src/hooks/tapHooks/useEventHooks.d.ts +60 -1
- package/es/components/iho-table/src/hooks/useColumnConfigAdaptor.js +5 -3
- package/es/components/iho-table/src/hooks/useTableContext.d.ts +1 -1
- package/es/components/iho-table/src/plugins/anchorPlugin/useAnchor.js +3 -2
- package/es/components/iho-table/src/plugins/filterPlugin/filter.vue.d.ts +1 -1
- package/es/components/iho-table/src/plugins/filterPlugin/{filter.js → filter.vue.js} +1 -0
- package/es/components/iho-table/src/plugins/filterPlugin/index.js +1 -1
- package/es/components/iho-table/src/plugins/index.js +14 -12
- package/es/components/iho-table/src/plugins/keyboardEventPlugin/index.d.ts +1 -0
- package/es/components/iho-table/src/plugins/keyboardEventPlugin/index.js +32 -0
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.vue.d.ts +1 -1
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/{editDate.js → editDate.vue.js} +0 -0
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/index.js +10 -12
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/inputRendererPlugin.js +11 -15
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/numberRendererPlugin.js +17 -24
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +11 -13
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/editSeparate.vue.d.ts +1 -1
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/{editSeparate.js → editSeparate.vue.js} +2 -1
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/index.js +9 -12
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin.js +13 -17
- package/es/components/iho-table/src/types/index.d.ts +6 -6
- package/es/components/iho-table/src/types/pluginType.d.ts +2 -1
- package/es/components/iho-table/src/utils/index.d.ts +12 -2
- package/es/components/iho-table/src/utils/index.js +33 -2
- package/es/components/iho-table/style/index.css +1 -1
- package/es/components/index.css +1 -1
- package/es/components/index.d.ts +2 -1
- package/es/components/index.js +6 -3
- package/es/components/info-header/index.js +1 -1
- package/es/components/info-header/src/{HiddenContent.js → HiddenContent.vue.js} +1 -1
- package/es/components/info-header/src/{InfoEllipsis.js → InfoEllipsis.vue.js} +0 -0
- package/es/components/info-header/src/{InfoHeader.js → InfoHeader.vue.js} +2 -2
- package/es/components/keyboard/index.d.ts +146 -78
- package/es/components/keyboard/index.js +1 -1
- package/es/components/keyboard/src/Keyboard.vue.d.ts +155 -78
- package/es/components/keyboard/src/Keyboard.vue.js +149 -0
- package/es/components/keyboard/src/components/InputNumber.vue.d.ts +6 -4
- package/es/components/keyboard/src/components/{InputNumber.js → InputNumber.vue.js} +0 -0
- package/es/components/keyboard/src/components/NumberPanel.vue.d.ts +118 -0
- package/es/components/keyboard/src/components/NumberPanel.vue.js +206 -0
- package/es/components/map/index.js +1 -1
- package/es/components/map/src/{Map.js → Map.vue.js} +0 -0
- package/es/components/recommend-search/index.d.ts +813 -0
- package/es/components/recommend-search/index.js +10 -0
- package/es/components/recommend-search/src/RecommendSearch.vue.d.ts +815 -0
- package/es/components/recommend-search/src/RecommendSearch.vue.js +62 -0
- package/es/components/recommend-search/src/components/BaseSearch.vue.d.ts +119 -0
- package/es/components/recommend-search/src/components/BaseSearch.vue.js +148 -0
- package/es/components/recommend-search/src/components/RecommendInput.vue.d.ts +303 -0
- package/es/components/recommend-search/src/components/RecommendInput.vue.js +103 -0
- package/es/components/recommend-search/src/components/RecommendMenu.vue.d.ts +63 -0
- package/es/components/recommend-search/src/components/RecommendMenu.vue.js +104 -0
- package/es/components/recommend-search/src/components/RecommendSelect.vue.d.ts +350 -0
- package/es/components/recommend-search/src/components/RecommendSelect.vue.js +156 -0
- package/es/components/recommend-search/src/constant/index.d.ts +4 -0
- package/es/components/recommend-search/src/constant/index.js +7 -0
- package/es/components/recommend-search/src/types/index.d.ts +9 -0
- package/es/components/recommend-search/src/types/index.js +1 -0
- package/es/components/recommend-search/style/index.css +1 -0
- package/es/components/scale-view/index.js +1 -1
- package/es/components/scale-view/src/{ScaleView.js → ScaleView.vue.js} +5 -5
- package/es/components/scale-view/src/components/{AnswerParse.js → AnswerParse.vue.js} +1 -1
- package/es/components/scale-view/src/components/{EvaluateCountdown.js → EvaluateCountdown.vue.js} +1 -1
- package/es/components/scale-view/src/components/{EvaluatePage.js → EvaluatePage.vue.js} +0 -0
- package/es/components/scale-view/src/components/{LoadingCom.js → LoadingCom.vue.js} +0 -0
- package/es/components/{big-table/src/components/NoData.js → scale-view/src/components/NoData.vue.js} +4 -4
- package/es/components/scale-view/src/components/formitem/r-cascader.js +1 -1
- package/es/components/scale-view/src/components/formitem/r-select.js +1 -1
- package/es/components/scale-view/src/hooks/use-component.js +1 -1
- package/es/components/search-cascader/index.js +1 -1
- package/es/components/search-cascader/src/{SearchCascader.js → SearchCascader.vue.js} +0 -0
- package/es/components/search-cascader/src/components/SearchMenu.js +3 -3
- package/es/components/select-label/index.js +2 -2
- package/es/components/select-label/src/{LabelFormContent.js → LabelFormContent.vue.js} +1 -1
- package/es/components/select-label/src/{SelectLabel.js → SelectLabel.vue.js} +1 -1
- package/es/components/select-label/src/{SelectLabel.vue_vue_type_script_setup_true_lang.js → SelectLabel.vue2.js} +2 -2
- package/es/components/select-label/src/components/{label-classify.js → label-classify.vue.js} +0 -0
- package/es/components/select-person/index.js +1 -1
- package/es/components/select-person/src/{SelectPerson.js → SelectPerson.vue.js} +1 -1
- package/es/components/select-person/src/{SelectPerson.vue_vue_type_script_setup_true_lang.js → SelectPerson.vue2.js} +0 -0
- package/es/components/shortcut-provider/index.js +1 -1
- package/es/components/shortcut-provider/src/{ShortcutProvider.js → ShortcutProvider.vue.js} +0 -0
- package/es/components/shortcut-setter/index.js +1 -1
- package/es/components/shortcut-setter/src/{ShortcutSetter.js → ShortcutSetter.vue.js} +1 -1
- package/es/components/shortcut-setter/src/{ShortcutSetterItem.js → ShortcutSetterItem.vue.js} +0 -0
- package/es/components/steps-wheel/index.d.ts +3 -0
- package/es/components/steps-wheel/index.js +1 -1
- package/es/components/steps-wheel/src/StepsWheel.vue.d.ts +3 -0
- package/es/components/steps-wheel/src/{StepsWheel.js → StepsWheel.vue.js} +38 -9
- package/es/components/steps-wheel/style/index.css +1 -1
- package/es/components/time-line/index.js +1 -1
- package/es/components/time-line/src/{TimeLine.js → TimeLine.vue.js} +0 -0
- package/es/components/vod-chunk-upload/index.js +1 -1
- package/es/components/vod-chunk-upload/src/{chunk-upload-new.js → chunk-upload-new.vue.js} +0 -0
- package/es/components/vod-chunk-upload/src/vod-chunk-upload/index.js +2 -2
- package/es/components/vod-chunk-upload/src/vod-chunk-upload/{vod-chunk-upload.js → vod-chunk-upload.vue.js} +3 -3
- package/es/components/vod-chunk-upload/src/vod-upload-modal.js +1 -1
- package/es/shared/assets/img/failure.js +1 -3
- package/es/shared/assets/img/failure.png.js +3 -0
- package/es/shared/assets/img/no-permission.js +1 -3
- package/es/shared/assets/img/no-permission.png.js +3 -0
- package/es/shared/assets/img/nodata.js +1 -3
- package/es/shared/assets/img/nodata.png.js +3 -0
- package/es/shared/assets/img/notfound.js +1 -3
- package/es/shared/assets/img/notfound.png.js +3 -0
- package/es/shared/assets/img/qr.js +1 -3
- package/es/shared/assets/img/qr.png.js +3 -0
- package/es/shared/assets/img/success.js +1 -3
- package/es/shared/assets/img/success.png.js +3 -0
- package/es/shared/assets/img/video.js +1 -3
- package/es/shared/assets/img/video.png.js +3 -0
- package/es/shared/assets/img/video_default_cover.js +1 -3
- package/es/shared/assets/img/video_default_cover.png.js +3 -0
- package/es/shared/assets/img/xb_big.js +1 -3
- package/es/shared/assets/img/xb_big.png.js +3 -0
- package/es/shared/assets/img/xb_small.js +1 -3
- package/es/shared/assets/img/xb_small.png.js +3 -0
- package/es/shared/components/SelectPage/{SelectPage.js → SelectPage.vue.js} +0 -0
- package/es/shared/components/SelectPage/index.js +2 -2
- package/es/shared/components/SvgIcon/{SvgIcon.js → SvgIcon.vue.js} +0 -0
- package/es/shared/components/SvgIcon/index.js +2 -2
- package/es/shared/components/TextOverTooltip/{TextOverTooltip.js → TextOverTooltip.vue.js} +0 -0
- package/es/shared/components/TextOverTooltip/index.js +2 -2
- package/es/shared/components/no-data/{NoData.js → NoData.vue.js} +4 -4
- package/es/shared/components/no-data/index.js +2 -2
- package/es/shared/utils/index.d.ts +1 -1
- package/es/shared/utils/index.js +3 -3
- package/package.json +2 -2
- package/es/components/button-print/src/components/edit.js +0 -142
- package/es/components/fabric-chart/index.d.ts +0 -207
- package/es/components/fabric-chart/src/FabricChart.vue.d.ts +0 -208
- package/es/components/keyboard/src/Keyboard.js +0 -285
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { defineComponent, inject, createVNode, ref, computed } from 'vue';
|
|
2
|
+
import { connect, mapProps } from '@formily/vue';
|
|
3
|
+
import { useVModel } from '@vueuse/core';
|
|
4
|
+
import { isFunction, omit } from 'lodash-es';
|
|
5
|
+
import '../../../index.js';
|
|
6
|
+
import { InjectionAsyncQueue } from '../../constants/index.js';
|
|
7
|
+
import RecommendSearch from '../../../../recommend-search/index.js';
|
|
8
|
+
import { useFormField } from '../../hooks/useFormField.js';
|
|
9
|
+
import { useAutographOptions } from '../../hooks/useAutographOptions.js';
|
|
10
|
+
import { assignUpdateValue, assignClearBindVisited } from '../../utils/schema.js';
|
|
11
|
+
import { useCommonInjection } from '../../hooks/useCommonInjection.js';
|
|
12
|
+
import { useFormRequest } from '../../hooks/useFormRequest.js';
|
|
13
|
+
|
|
14
|
+
function createPropRef(props, key) {
|
|
15
|
+
const _list = ref();
|
|
16
|
+
return computed({
|
|
17
|
+
get() {
|
|
18
|
+
if (_list.value)
|
|
19
|
+
return _list.value;
|
|
20
|
+
return props[key];
|
|
21
|
+
},
|
|
22
|
+
set(value) {
|
|
23
|
+
_list.value = value;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
const script = defineComponent({
|
|
28
|
+
name: "FormRecommendSearch",
|
|
29
|
+
props: {
|
|
30
|
+
value: {
|
|
31
|
+
type: String
|
|
32
|
+
},
|
|
33
|
+
commonList: {
|
|
34
|
+
type: Array
|
|
35
|
+
},
|
|
36
|
+
recentList: {
|
|
37
|
+
type: Array
|
|
38
|
+
},
|
|
39
|
+
options: {
|
|
40
|
+
type: Array,
|
|
41
|
+
default: () => []
|
|
42
|
+
},
|
|
43
|
+
autograph: {
|
|
44
|
+
type: String
|
|
45
|
+
},
|
|
46
|
+
lazyRequest: {
|
|
47
|
+
type: Boolean,
|
|
48
|
+
default: false
|
|
49
|
+
},
|
|
50
|
+
requestCache: {
|
|
51
|
+
type: Boolean,
|
|
52
|
+
default: true
|
|
53
|
+
},
|
|
54
|
+
wordbook: {
|
|
55
|
+
type: Object
|
|
56
|
+
},
|
|
57
|
+
getRecommendInfo: {
|
|
58
|
+
type: Function
|
|
59
|
+
},
|
|
60
|
+
recommendNum: {
|
|
61
|
+
type: Number,
|
|
62
|
+
default: 5
|
|
63
|
+
},
|
|
64
|
+
recommendCache: {
|
|
65
|
+
type: Boolean,
|
|
66
|
+
default: false
|
|
67
|
+
},
|
|
68
|
+
recommendDeletable: {
|
|
69
|
+
type: Boolean,
|
|
70
|
+
default: true
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
emits: ["update:value", "postRecommend", "deleteRecommend"],
|
|
74
|
+
setup(props, {
|
|
75
|
+
emit
|
|
76
|
+
}) {
|
|
77
|
+
const valueRef = useVModel(props, "value", emit);
|
|
78
|
+
const {
|
|
79
|
+
fieldKey
|
|
80
|
+
} = useFormField();
|
|
81
|
+
const {
|
|
82
|
+
labelKey,
|
|
83
|
+
valueKey,
|
|
84
|
+
options,
|
|
85
|
+
fetchData: fetchOptions
|
|
86
|
+
} = useAutographOptions(props, valueRef);
|
|
87
|
+
const commonListRef = createPropRef(props, "commonList");
|
|
88
|
+
const recentListRef = createPropRef(props, "recentList");
|
|
89
|
+
const asyncQueue = inject(InjectionAsyncQueue);
|
|
90
|
+
const {
|
|
91
|
+
getRecommendRequestInfo,
|
|
92
|
+
getHttpInstance
|
|
93
|
+
} = useFormRequest();
|
|
94
|
+
function getRecommendConfig(type) {
|
|
95
|
+
const {
|
|
96
|
+
url,
|
|
97
|
+
getRecommendIds
|
|
98
|
+
} = getRecommendRequestInfo();
|
|
99
|
+
const globInfo = isFunction(getRecommendIds) ? getRecommendIds() : {};
|
|
100
|
+
const widgetInfo = isFunction(props.getRecommendInfo) ? props.getRecommendInfo() : {};
|
|
101
|
+
return {
|
|
102
|
+
url: url[type],
|
|
103
|
+
info: Object.assign({}, globInfo, widgetInfo)
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
async function getRecommend() {
|
|
107
|
+
if (commonListRef.value && recentListRef.value && props.recommendCache)
|
|
108
|
+
return;
|
|
109
|
+
const list = await asyncQueue.addAsync(createParams(fieldKey.value, props.recommendCache));
|
|
110
|
+
const {
|
|
111
|
+
commonly,
|
|
112
|
+
recently
|
|
113
|
+
} = classifyList(list);
|
|
114
|
+
commonListRef.value = commonly;
|
|
115
|
+
recentListRef.value = recently;
|
|
116
|
+
function classifyList(list2) {
|
|
117
|
+
return list2.reduce((res, item) => {
|
|
118
|
+
if (item.type === "commonly") {
|
|
119
|
+
res.commonly.push(omit(item, ["type"]));
|
|
120
|
+
} else if (item.type === "recently") {
|
|
121
|
+
res.recently.push(omit(item, ["type"]));
|
|
122
|
+
}
|
|
123
|
+
return res;
|
|
124
|
+
}, {
|
|
125
|
+
commonly: [],
|
|
126
|
+
recently: []
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
function createParams(key2, cache) {
|
|
130
|
+
const {
|
|
131
|
+
url,
|
|
132
|
+
info
|
|
133
|
+
} = getRecommendConfig("get");
|
|
134
|
+
return {
|
|
135
|
+
url,
|
|
136
|
+
method: "get",
|
|
137
|
+
key: key2,
|
|
138
|
+
cache,
|
|
139
|
+
params: {
|
|
140
|
+
...info,
|
|
141
|
+
recNum: props.recommendNum,
|
|
142
|
+
keyword: ""
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
async function postRecommend({
|
|
148
|
+
option
|
|
149
|
+
}) {
|
|
150
|
+
const http = getHttpInstance();
|
|
151
|
+
if (!http)
|
|
152
|
+
return;
|
|
153
|
+
const {
|
|
154
|
+
url,
|
|
155
|
+
info
|
|
156
|
+
} = getRecommendConfig("post");
|
|
157
|
+
emit("postRecommend", await http.post(url, {
|
|
158
|
+
...info,
|
|
159
|
+
keyword: "",
|
|
160
|
+
itemId: valueKey.value,
|
|
161
|
+
itemObj: JSON.stringify(option)
|
|
162
|
+
}));
|
|
163
|
+
}
|
|
164
|
+
async function deleteRecommend(recType) {
|
|
165
|
+
const http = getHttpInstance();
|
|
166
|
+
if (!http)
|
|
167
|
+
return;
|
|
168
|
+
const {
|
|
169
|
+
url,
|
|
170
|
+
info
|
|
171
|
+
} = getRecommendConfig("delete");
|
|
172
|
+
if (recType === "COMMONLY")
|
|
173
|
+
commonListRef.value = [];
|
|
174
|
+
else if (recType === "RECENTLY")
|
|
175
|
+
recentListRef.value = [];
|
|
176
|
+
emit("deleteRecommend", await http.delete(url, {
|
|
177
|
+
...info,
|
|
178
|
+
keyword: "",
|
|
179
|
+
recType
|
|
180
|
+
}));
|
|
181
|
+
}
|
|
182
|
+
async function fetchData(content = "") {
|
|
183
|
+
fetchOptions(content);
|
|
184
|
+
getRecommend();
|
|
185
|
+
}
|
|
186
|
+
const {
|
|
187
|
+
injectValueBindKey
|
|
188
|
+
} = useCommonInjection();
|
|
189
|
+
const key = injectValueBindKey(valueRef);
|
|
190
|
+
return () => {
|
|
191
|
+
return createVNode(RecommendSearch, {
|
|
192
|
+
"mode": "select",
|
|
193
|
+
"value": valueRef.value,
|
|
194
|
+
"onUpdate:value": ($event) => valueRef.value = $event,
|
|
195
|
+
"label-key": labelKey.value,
|
|
196
|
+
"value-key": valueKey.value,
|
|
197
|
+
"key": key.value,
|
|
198
|
+
"options": options.value,
|
|
199
|
+
"common-list": commonListRef.value,
|
|
200
|
+
"recent-list": recentListRef.value,
|
|
201
|
+
"recommend-deletable": props.recommendDeletable,
|
|
202
|
+
"onSearch": fetchData,
|
|
203
|
+
"onChoose": postRecommend,
|
|
204
|
+
"onDelete": deleteRecommend
|
|
205
|
+
}, null);
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
const RECOMMEND_SELECT = connect(script, mapProps({
|
|
210
|
+
dataSource: "options"
|
|
211
|
+
}, assignUpdateValue, assignClearBindVisited));
|
|
212
|
+
|
|
213
|
+
export { RECOMMEND_SELECT };
|
|
@@ -5,7 +5,7 @@ import { useCommonInjection, useSelectOptionProps } from '../../hooks/useCommonI
|
|
|
5
5
|
import { InjectionAsyncQueue, InjectionChangeContextCollector, InjectionFormItemDepsCollector } from '../../constants/index.js';
|
|
6
6
|
import '../../../../../shared/utils/index.js';
|
|
7
7
|
import '../../../index.js';
|
|
8
|
-
import { createUrlConfigParams, formRenderLog,
|
|
8
|
+
import { createUrlConfigParams, formRenderLog, optionMatcherWithKeyword } from '../../utils/index.js';
|
|
9
9
|
import { useFormField } from '../../hooks/useFormField.js';
|
|
10
10
|
import '../../../../../shared/utils/tapable/SyncHook.js';
|
|
11
11
|
import '../../../../../shared/utils/tapable/SyncBailHook.js';
|
|
@@ -77,8 +77,6 @@ const script = defineComponent({
|
|
|
77
77
|
if (!props.urlConfig) {
|
|
78
78
|
return remoteOptions.value = null;
|
|
79
79
|
}
|
|
80
|
-
if (remoteOptions.value && props.requestCache)
|
|
81
|
-
return;
|
|
82
80
|
try {
|
|
83
81
|
remoteOptions.value = await asyncQueue.addAsync(await createUrlConfigParams({
|
|
84
82
|
config: props.urlConfig,
|
|
@@ -91,10 +89,10 @@ const script = defineComponent({
|
|
|
91
89
|
}, 300);
|
|
92
90
|
const parsedOptions = computed(() => {
|
|
93
91
|
if (remoteOptions.value)
|
|
94
|
-
return
|
|
92
|
+
return optionMatcherWithKeyword(remoteOptions.value, lastSearch.value, labelKey.value);
|
|
95
93
|
if (!Array.isArray(props.options))
|
|
96
94
|
return [];
|
|
97
|
-
return
|
|
95
|
+
return optionMatcherWithKeyword(props.options, lastSearch.value, labelKey.value);
|
|
98
96
|
});
|
|
99
97
|
const changeContextCollector = inject(InjectionChangeContextCollector);
|
|
100
98
|
changeContextCollector.setContext(fieldKey.value, (v) => {
|
|
@@ -116,7 +116,7 @@ function useAsyncQueue(requestInstance) {
|
|
|
116
116
|
return new AsyncQueue({
|
|
117
117
|
name: "FormRenderAsyncQueue",
|
|
118
118
|
parallelism,
|
|
119
|
-
async processor({ key, method = "post", params, url }, cb, removeCache) {
|
|
119
|
+
async processor({ key, method = "post", cache, params, url }, cb, removeCache) {
|
|
120
120
|
var _a, _b;
|
|
121
121
|
const http = (_a = unref(requestInstance)) != null ? _a : getHttpInstance();
|
|
122
122
|
if (!http) {
|
|
@@ -134,6 +134,7 @@ function useAsyncQueue(requestInstance) {
|
|
|
134
134
|
res = option.afterRequest(key, res);
|
|
135
135
|
}
|
|
136
136
|
cb(void 0, Array.isArray(res) ? res : []);
|
|
137
|
+
!cache && removeCache();
|
|
137
138
|
} catch (e) {
|
|
138
139
|
cb(new Error(`Request error => ${e}`));
|
|
139
140
|
removeCache();
|
|
@@ -3,7 +3,7 @@ import { isString, isEqual } from 'lodash-es';
|
|
|
3
3
|
import { getCurrentInstance, inject, computed, ref, watch } from 'vue';
|
|
4
4
|
import '../../index.js';
|
|
5
5
|
import { InjectionAsyncQueue } from '../constants/index.js';
|
|
6
|
-
import { formRenderLog,
|
|
6
|
+
import { formRenderLog, optionMatcherWithKeyword } from '../utils/index.js';
|
|
7
7
|
import { useFormField } from './useFormField.js';
|
|
8
8
|
import { useFormRequest } from './useFormRequest.js';
|
|
9
9
|
|
|
@@ -21,22 +21,20 @@ function useAutographOptions(props, valueRef) {
|
|
|
21
21
|
});
|
|
22
22
|
const remoteOptions = ref(null);
|
|
23
23
|
const lastSearch = ref("");
|
|
24
|
-
const {
|
|
24
|
+
const { fieldKey } = useFormField();
|
|
25
25
|
const { getSearchRequestInfo } = useFormRequest();
|
|
26
26
|
const fetchData = useDebounceFn(async function(content) {
|
|
27
27
|
if (!props.autograph || !props.wordbook)
|
|
28
28
|
return;
|
|
29
29
|
lastSearch.value = content || "";
|
|
30
|
-
if (remoteOptions.value && props.requestCache)
|
|
31
|
-
return;
|
|
32
30
|
try {
|
|
33
31
|
remoteOptions.value = await asyncQueue.addAsync(
|
|
34
|
-
createParams(props.wordbook, props.autograph,
|
|
32
|
+
createParams(props.wordbook, props.autograph, fieldKey.value)
|
|
35
33
|
);
|
|
36
34
|
} catch (e) {
|
|
37
35
|
isString(e) && formRenderLog(e);
|
|
38
36
|
}
|
|
39
|
-
function createParams(wordbook, autograph,
|
|
37
|
+
function createParams(wordbook, autograph, key) {
|
|
40
38
|
const params = {
|
|
41
39
|
autograph,
|
|
42
40
|
wordbookId: wordbook.id,
|
|
@@ -50,7 +48,7 @@ function useAutographOptions(props, valueRef) {
|
|
|
50
48
|
}, 300);
|
|
51
49
|
const options = computed(() => {
|
|
52
50
|
var _a;
|
|
53
|
-
return remoteOptions.value ?
|
|
51
|
+
return remoteOptions.value ? optionMatcherWithKeyword(remoteOptions.value, lastSearch.value, labelKey.value) : (_a = props.options) != null ? _a : [];
|
|
54
52
|
});
|
|
55
53
|
watch(
|
|
56
54
|
() => props.wordbook,
|
|
@@ -4,6 +4,7 @@ import { FIELD_BUSINESS_TYPE } from '../constants';
|
|
|
4
4
|
export declare class BusinessCollector {
|
|
5
5
|
private formModel;
|
|
6
6
|
private businessFormatter?;
|
|
7
|
+
private readonly typeLockMap;
|
|
7
8
|
private readonly typeCollector;
|
|
8
9
|
private readonly fieldNameCollector;
|
|
9
10
|
constructor(formModel: Form, businessFormatter?: FormBusinessFormatter | undefined);
|
|
@@ -14,12 +15,12 @@ export declare class BusinessCollector {
|
|
|
14
15
|
private getType;
|
|
15
16
|
private getValueByField;
|
|
16
17
|
getValueByType(type: FIELD_BUSINESS_TYPE): unknown;
|
|
17
|
-
setValueByType(type: FIELD_BUSINESS_TYPE, value: unknown
|
|
18
|
+
setValueByType(type: FIELD_BUSINESS_TYPE, value: unknown): void;
|
|
18
19
|
registerChangeBusiness(type: FIELD_BUSINESS_TYPE, handler: () => void): this;
|
|
19
20
|
registerBlurBusiness(type: FIELD_BUSINESS_TYPE, handler: () => void): this;
|
|
20
21
|
private changeHandlerMap;
|
|
21
22
|
private blurHandlerMap;
|
|
22
|
-
trigger(fieldName: string, triggerType?: 'change' | 'blur'):
|
|
23
|
+
trigger(fieldName: string, triggerType?: 'change' | 'blur'): Map<FIELD_BUSINESS_TYPE, number> | undefined;
|
|
23
24
|
}
|
|
24
25
|
export declare function useBusinessBinding(): {
|
|
25
26
|
create: (formModel: Form, formatter?: FormBusinessFormatter) => BusinessCollector;
|
|
@@ -9,6 +9,7 @@ class BusinessCollector {
|
|
|
9
9
|
constructor(formModel, businessFormatter) {
|
|
10
10
|
this.formModel = formModel;
|
|
11
11
|
this.businessFormatter = businessFormatter;
|
|
12
|
+
this.typeLockMap = /* @__PURE__ */ new Map();
|
|
12
13
|
this.typeCollector = /* @__PURE__ */ new Map();
|
|
13
14
|
this.fieldNameCollector = /* @__PURE__ */ new Map();
|
|
14
15
|
this.changeHandlerMap = /* @__PURE__ */ new Map([]);
|
|
@@ -39,12 +40,13 @@ class BusinessCollector {
|
|
|
39
40
|
const field = this.getField(type);
|
|
40
41
|
return field ? this.getValueByField(field) : null;
|
|
41
42
|
}
|
|
42
|
-
setValueByType(type, value
|
|
43
|
+
setValueByType(type, value) {
|
|
43
44
|
const field = this.getField(type);
|
|
44
45
|
field && this.formModel.setFieldState(field, (state) => {
|
|
45
46
|
if (state.value === value)
|
|
46
47
|
return;
|
|
47
|
-
|
|
48
|
+
const lock = this.typeLockMap.get(type);
|
|
49
|
+
this.typeLockMap.set(type, isNumber(lock) ? lock + 1 : 1);
|
|
48
50
|
state.value = this.formatter({ value, type, fieldKey: field });
|
|
49
51
|
});
|
|
50
52
|
}
|
|
@@ -57,10 +59,17 @@ class BusinessCollector {
|
|
|
57
59
|
return this;
|
|
58
60
|
}
|
|
59
61
|
trigger(fieldName, triggerType = "change") {
|
|
60
|
-
var _a
|
|
62
|
+
var _a;
|
|
61
63
|
const type = this.getType(fieldName);
|
|
62
|
-
|
|
63
|
-
|
|
64
|
+
if (!type)
|
|
65
|
+
return;
|
|
66
|
+
if (triggerType === "change" && this.typeLockMap.get(type) > 0) {
|
|
67
|
+
return this.typeLockMap.set(type, this.typeLockMap.get(type) - 1);
|
|
68
|
+
}
|
|
69
|
+
const handler = triggerType === "change" ? this.changeHandlerMap : triggerType === "blur" ? this.blurHandlerMap : null;
|
|
70
|
+
if (!handler)
|
|
71
|
+
return;
|
|
72
|
+
(_a = handler.get(type)) == null ? void 0 : _a.call(this);
|
|
64
73
|
}
|
|
65
74
|
}
|
|
66
75
|
function useBusinessBinding() {
|
|
@@ -72,38 +81,32 @@ function useBusinessBinding() {
|
|
|
72
81
|
}
|
|
73
82
|
const info = parseIdCard(idCard);
|
|
74
83
|
const { age, ageUnit } = parseAge2FromContext(info);
|
|
75
|
-
this.setValueByType(FIELD_BUSINESS_TYPE.AGE_UNIT, ageUnit
|
|
76
|
-
this.setValueByType(FIELD_BUSINESS_TYPE.AGE, age
|
|
84
|
+
this.setValueByType(FIELD_BUSINESS_TYPE.AGE_UNIT, ageUnit);
|
|
85
|
+
this.setValueByType(FIELD_BUSINESS_TYPE.AGE, age);
|
|
77
86
|
this.setValueByType(FIELD_BUSINESS_TYPE.SEX, info.sex);
|
|
78
|
-
this.setValueByType(FIELD_BUSINESS_TYPE.BIRTHDAY, info.birthday
|
|
87
|
+
this.setValueByType(FIELD_BUSINESS_TYPE.BIRTHDAY, info.birthday);
|
|
79
88
|
setSexDisabled.call(this, true);
|
|
80
89
|
function setSexDisabled(value) {
|
|
81
90
|
const sexField = this.getFieldInstanceByType(FIELD_BUSINESS_TYPE.SEX);
|
|
82
91
|
isField(sexField) && (sexField.disabled = value);
|
|
83
92
|
}
|
|
84
93
|
}
|
|
85
|
-
let birthdayHandlerLock = 0;
|
|
86
94
|
function handlerBirthdayType() {
|
|
87
|
-
if (birthdayHandlerLock > 0)
|
|
88
|
-
return birthdayHandlerLock--;
|
|
89
95
|
const birthday = this.getValueByType(FIELD_BUSINESS_TYPE.BIRTHDAY);
|
|
90
96
|
if (!isString(birthday))
|
|
91
97
|
return;
|
|
92
98
|
const { age, ageUnit } = parseAge2FromContext(parseBirthday(birthday));
|
|
93
|
-
this.setValueByType(FIELD_BUSINESS_TYPE.AGE_UNIT, ageUnit
|
|
94
|
-
this.setValueByType(FIELD_BUSINESS_TYPE.AGE, age
|
|
99
|
+
this.setValueByType(FIELD_BUSINESS_TYPE.AGE_UNIT, ageUnit);
|
|
100
|
+
this.setValueByType(FIELD_BUSINESS_TYPE.AGE, age);
|
|
95
101
|
}
|
|
96
|
-
let ageTypeHandlerLock = 0;
|
|
97
102
|
function handlerAgeType() {
|
|
98
|
-
if (ageTypeHandlerLock > 0)
|
|
99
|
-
return ageTypeHandlerLock--;
|
|
100
103
|
const age = this.getValueByType(FIELD_BUSINESS_TYPE.AGE);
|
|
101
104
|
const ageUnit = this.getValueByType(FIELD_BUSINESS_TYPE.AGE_UNIT);
|
|
102
105
|
if (!isString(age) && !isNumber(age) || age === "")
|
|
103
106
|
return;
|
|
104
107
|
if (!isString(ageUnit) || ageUnit === "")
|
|
105
108
|
return;
|
|
106
|
-
this.setValueByType(FIELD_BUSINESS_TYPE.BIRTHDAY, parseAge2Birthday(+age, ageUnit)
|
|
109
|
+
this.setValueByType(FIELD_BUSINESS_TYPE.BIRTHDAY, parseAge2Birthday(+age, ageUnit));
|
|
107
110
|
}
|
|
108
111
|
function create(formModel, formatter) {
|
|
109
112
|
return new BusinessCollector(formModel, formatter).registerChangeBusiness(FIELD_BUSINESS_TYPE.ID_CARD, handlerIdCardType).registerChangeBusiness(FIELD_BUSINESS_TYPE.AGE_UNIT, handlerAgeType).registerChangeBusiness(FIELD_BUSINESS_TYPE.AGE, handlerAgeType).registerChangeBusiness(FIELD_BUSINESS_TYPE.BIRTHDAY, handlerBirthdayType);
|
|
@@ -89,6 +89,12 @@ function useFieldListAdaptor(collector) {
|
|
|
89
89
|
multiple && (schema2.type = "array");
|
|
90
90
|
}
|
|
91
91
|
};
|
|
92
|
+
const createRecommendSelectSchema = (item) => {
|
|
93
|
+
const schema = createSelectSchema(item);
|
|
94
|
+
schema["x-component"] = "RECOMMEND_SELECT";
|
|
95
|
+
Object.assign(schema["x-component-props"], pick(item, ["commonList", "recentList"]));
|
|
96
|
+
return schema;
|
|
97
|
+
};
|
|
92
98
|
const createRadioSchema = (item) => {
|
|
93
99
|
const schema = createStandardSchema(item);
|
|
94
100
|
Object.assign(schema["x-component-props"], {
|
|
@@ -219,6 +225,7 @@ function useFieldListAdaptor(collector) {
|
|
|
219
225
|
["INPUT", createInputSchema],
|
|
220
226
|
["INPUT_NUMBER", createInputNumberSchema],
|
|
221
227
|
["SELECT", createSelectSchema],
|
|
228
|
+
["RECOMMEND_SELECT", createRecommendSelectSchema],
|
|
222
229
|
["REMOTE_SEARCH", createSelectSchema],
|
|
223
230
|
["DATE", createDateSchema],
|
|
224
231
|
["LEVEL_SEARCH_CASCADER", createLevelSearchCascadeSchema],
|
|
@@ -6,14 +6,21 @@ declare type SearchRequestInfo = {
|
|
|
6
6
|
url: string;
|
|
7
7
|
primaryKeyUrl?: string;
|
|
8
8
|
};
|
|
9
|
+
export declare type RecommendIds = Partial<Record<'businessId' | 'componentId' | 'deptId' | 'userId', string>>;
|
|
10
|
+
declare type RecommendRequestInfo = {
|
|
11
|
+
getRecommendIds(): RecommendIds;
|
|
12
|
+
url: Record<'get' | 'post' | 'delete', string>;
|
|
13
|
+
};
|
|
9
14
|
export declare function useFormRequest(): {
|
|
10
15
|
getHttpInstance: () => Nullable<RequestInstance>;
|
|
11
16
|
registGlobHttpInstance: (instance: RequestInstance) => void;
|
|
17
|
+
registGlobRecommendInfo: (info: Partial<RecommendRequestInfo>) => void;
|
|
18
|
+
registGlobSearchInfo: (info: SearchRequestInfo) => void;
|
|
12
19
|
getSearchRequestInfo: () => {
|
|
13
20
|
method: FormRequestType;
|
|
14
21
|
url: string;
|
|
15
22
|
primaryKeyUrl?: string | undefined;
|
|
16
23
|
};
|
|
17
|
-
|
|
24
|
+
getRecommendRequestInfo: () => RecommendRequestInfo;
|
|
18
25
|
};
|
|
19
26
|
export {};
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
import { cloneDeep } from 'lodash-es';
|
|
2
|
+
|
|
1
3
|
let http = null;
|
|
2
4
|
const searchRequestInfo = { method: "post", url: "", primaryKeyUrl: "" };
|
|
5
|
+
const recommendRequestInfo = {
|
|
6
|
+
url: {
|
|
7
|
+
get: "/fdp-api/fdp/aiRec/search",
|
|
8
|
+
post: "/fdp-api/fdp/aiRec/sendBehaviorData",
|
|
9
|
+
delete: "/fdp-api/fdp/aiRec/delete"
|
|
10
|
+
},
|
|
11
|
+
getRecommendIds: () => ({})
|
|
12
|
+
};
|
|
3
13
|
function useFormRequest() {
|
|
4
14
|
function getHttpInstance() {
|
|
5
15
|
return http;
|
|
@@ -10,10 +20,23 @@ function useFormRequest() {
|
|
|
10
20
|
function getSearchRequestInfo() {
|
|
11
21
|
return { ...searchRequestInfo };
|
|
12
22
|
}
|
|
23
|
+
function getRecommendRequestInfo() {
|
|
24
|
+
return cloneDeep(recommendRequestInfo);
|
|
25
|
+
}
|
|
13
26
|
function registGlobSearchInfo(info) {
|
|
14
27
|
Object.assign(searchRequestInfo, info);
|
|
15
28
|
}
|
|
16
|
-
|
|
29
|
+
function registGlobRecommendInfo(info) {
|
|
30
|
+
Object.assign(recommendRequestInfo, info);
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
getHttpInstance,
|
|
34
|
+
registGlobHttpInstance,
|
|
35
|
+
registGlobRecommendInfo,
|
|
36
|
+
registGlobSearchInfo,
|
|
37
|
+
getSearchRequestInfo,
|
|
38
|
+
getRecommendRequestInfo
|
|
39
|
+
};
|
|
17
40
|
}
|
|
18
41
|
|
|
19
42
|
export { useFormRequest };
|
|
@@ -13,8 +13,8 @@ export declare function createSlot(renderer: unknown, props: AnyObject, defaultR
|
|
|
13
13
|
default(): any;
|
|
14
14
|
};
|
|
15
15
|
export declare function createInputSlot(props: AnyObject, defaultRenderer?: (v: unknown) => unknown[]): import("vue").ComputedRef<Record<string, FunctionalComponent<{}, {}>>>;
|
|
16
|
-
export declare function presetRequestHandler(res: unknown):
|
|
17
|
-
export declare function
|
|
16
|
+
export declare function presetRequestHandler(res: unknown): AnyObject[];
|
|
17
|
+
export declare function optionMatcherWithKeyword(options: AnyObject[], input: Nullable<string>, key: string, matcherOption?: {
|
|
18
18
|
keyword?: string;
|
|
19
19
|
}): AnyObject[];
|
|
20
20
|
export declare function validateMessageParser(message: string, fieldItem: Omit<FieldItem, 'reactions'>): string;
|
|
@@ -83,7 +83,10 @@ function createInputSlot(props, defaultRenderer) {
|
|
|
83
83
|
function presetRequestHandler(res) {
|
|
84
84
|
if (!isObject(res))
|
|
85
85
|
throw res;
|
|
86
|
-
return res
|
|
86
|
+
return isSearchResult(res) ? handlerSearch(res) : isRecommendResult(res) ? handlerRecommend(res) : isSelectResult(res) ? handlerSelect(res) : [];
|
|
87
|
+
function isSelectResult(res2) {
|
|
88
|
+
return Reflect.has(res2, "data") && Reflect.has(res2, "success");
|
|
89
|
+
}
|
|
87
90
|
function handlerSelect(res2) {
|
|
88
91
|
const {
|
|
89
92
|
data,
|
|
@@ -93,6 +96,9 @@ function presetRequestHandler(res) {
|
|
|
93
96
|
throw res2;
|
|
94
97
|
return data;
|
|
95
98
|
}
|
|
99
|
+
function isSearchResult(res2) {
|
|
100
|
+
return Reflect.has(res2, "map") && Reflect.has(res2, "result");
|
|
101
|
+
}
|
|
96
102
|
function handlerSearch(res2) {
|
|
97
103
|
const {
|
|
98
104
|
result,
|
|
@@ -102,6 +108,24 @@ function presetRequestHandler(res) {
|
|
|
102
108
|
throw res2;
|
|
103
109
|
return map.rows;
|
|
104
110
|
}
|
|
111
|
+
function isRecommendResult(res2) {
|
|
112
|
+
return Reflect.has(res2, "result") && Reflect.has(res2, "obj");
|
|
113
|
+
}
|
|
114
|
+
function handlerRecommend(res2) {
|
|
115
|
+
const {
|
|
116
|
+
obj,
|
|
117
|
+
result
|
|
118
|
+
} = res2;
|
|
119
|
+
if (result !== "SUCCESS" || !isObject(obj))
|
|
120
|
+
throw res2;
|
|
121
|
+
return Object.entries(obj).reduce((res3, [type, list]) => {
|
|
122
|
+
list.forEach((item) => res3.push({
|
|
123
|
+
...item,
|
|
124
|
+
type
|
|
125
|
+
}));
|
|
126
|
+
return res3;
|
|
127
|
+
}, []);
|
|
128
|
+
}
|
|
105
129
|
}
|
|
106
130
|
const keywordMatcher = useMemoize(function(text, keyword) {
|
|
107
131
|
if (!isString(keyword) || !isString(text))
|
|
@@ -114,7 +138,7 @@ const keywordMatcher = useMemoize(function(text, keyword) {
|
|
|
114
138
|
}, "");
|
|
115
139
|
}
|
|
116
140
|
});
|
|
117
|
-
function
|
|
141
|
+
function optionMatcherWithKeyword(options, input, key, matcherOption = {
|
|
118
142
|
keyword: "keyword"
|
|
119
143
|
}) {
|
|
120
144
|
if (!input)
|
|
@@ -228,4 +252,4 @@ async function createUrlConfigParams({
|
|
|
228
252
|
};
|
|
229
253
|
}
|
|
230
254
|
|
|
231
|
-
export { combineExtendKey, createInputSlot, createSlot, createUrlConfigParams, formRenderLog, injectOrProvide, isNestedFieldType, isNestedType, mergeDeepProperties,
|
|
255
|
+
export { combineExtendKey, createInputSlot, createSlot, createUrlConfigParams, formRenderLog, injectOrProvide, isNestedFieldType, isNestedType, mergeDeepProperties, optionMatcherWithKeyword, parseNumberFromMaybeString, presetRequestHandler, splitExtendKey, validateMessageParser };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.annotation-edit{align-items:center;color:#0067ee;cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:#ff9828}.annotation-edit__icon{align-items:center;display:inline-flex}.form-render__wrapper{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));max-height:var(--form-height);overflow-y:auto;position:relative}.form-render__formItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__formItem .n-date-picker,.form-render__formItem .n-input-number{width:100%}.form-render__formItemLabel{align-items:center;display:inline-flex;position:relative}.form-render__formItemLabel--text.has-annotation{margin-right:15px}.form-render__formItemLabel--annotation{position:absolute;right:calc(var(--icon-right)*1px);top:50%;transform:translateY(-50%)}.form-render__formItem .n-form-item-label{display:inline-flex}.form-render__formItem .n-form-item-label [annotation-hover-show=true]{visibility:hidden}.form-render__formItem .n-form-item-label:hover [annotation-hover-show=true]{visibility:visible}.form-render__linebar{grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__linebarHeader{align-items:center;background:#f2f2f2;border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:32px;justify-content:space-between;margin-bottom:8px;padding:0 16px}.form-render__linebarHeader svg{color:rgba(33,33,33,.4);width:14px}.form-render__linebarItem{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__linebreaks{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup{align-items:flex-start;display:flex;grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__inputGroup>div{flex:1}.form-render__inputGroup>div:not(:last-of-type) .n-base-selection__border,.form-render__inputGroup>div:not(:last-of-type) .n-input__border{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.form-render__inputGroup>div:last-of-type .n-base-selection__border,.form-render__inputGroup>div:last-of-type .n-input__border{border-bottom-left-radius:0;border-top-left-radius:0}.form-render__combination{width:100%}.form-render__combinationHeader{display:flex;gap:12px}.form-render__combinationHeader>h3{font-size:16px;font-weight:700;margin:0;padding:0}.form-render__combinationHeader .n-button__icon{font-size:14px;margin:0 2px 0 0}.form-render__combinationHeaderText{font-size:16px;font-weight:500}.form-render__combinationClose{font-size:16px;height:14px;position:absolute;right:5px;top:5px;width:14px}.form-render__combinationContentJson{position:relative}.form-render__combinationContent{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));position:relative}.form-render__complex{width:100%}.form-render__complexContent--grid{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__complexContent--flex{display:flex!important;gap:0 8px}.form-render__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar,.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.form-render__selectMenu .v-vl-items{min-width:100%;width:max-content}.form-render__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}
|
|
1
|
+
.annotation-edit{align-items:center;color:#0067ee;cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:#ff9828}.annotation-edit__icon{align-items:center;display:inline-flex}.recommend-search__menuRecommendList{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.recommend-search__menuRecommendList .n-tag{cursor:pointer}.recommend-search__recentRecommend{margin-bottom:8px}.recommend-search__recentRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__recentRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__commonRecommend{margin-bottom:8px}.recommend-search__commonRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__commonRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__option{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:32px;padding:0 8px}.recommend-search__option:hover{background:rgba(0,0,0,.03)}.recommend-search__optionContainer{border:1px solid rgba(0,0,0,.1);border-radius:4px}.recommend-search__empty{align-items:center;color:rgba(0,0,0,.3);display:flex;height:100px;justify-content:center}.search-cascader__menuWrapper{display:flex;flex-wrap:nowrap;margin:-8px -14px}.search-cascader__input input{cursor:pointer!important}.search-cascader__option{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;height:32px;justify-content:space-between;padding:0 8px 0 16px;width:100%}.search-cascader__option--active{background:#f8f8f8}.search-cascader__option:hover{background:#f5f5f5;cursor:pointer}.search-cascader__optionWrapper{background:#fff;height:256px;overflow-x:auto;width:calc(var(--menu-width)*1px)}.search-cascader__optionWrapper:not(:last-of-type){border:solid #e5e5e5;border-width:0 1px 0 0}.search-cascader__optionText{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - 20px)}.search-cascader__option svg{color:#bfbfbf;flex-shrink:0;font-size:12px;width:20px}.search-cascader__option svg.rotate{animation:rotate 1s linear infinite}.search-cascader__emptyWrapper{align-items:center;background:#fff;box-sizing:border-box;display:flex;height:300px;justify-content:center;padding:16px;width:100%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.form-render__wrapper{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));max-height:var(--form-height);overflow-y:auto;position:relative}.form-render__formItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__formItem .n-date-picker,.form-render__formItem .n-input-number{width:100%}.form-render__formItemLabel{align-items:center;display:inline-flex;position:relative}.form-render__formItemLabel--text.has-annotation{margin-right:15px}.form-render__formItemLabel--annotation{position:absolute;right:calc(var(--icon-right)*1px);top:50%;transform:translateY(-50%)}.form-render__formItem .n-form-item-label{display:inline-flex}.form-render__formItem .n-form-item-label [annotation-hover-show=true]{visibility:hidden}.form-render__formItem .n-form-item-label:hover [annotation-hover-show=true]{visibility:visible}.form-render__linebar{grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__linebarHeader{align-items:center;background:#f2f2f2;border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:32px;justify-content:space-between;margin-bottom:8px;padding:0 16px}.form-render__linebarHeader svg{color:rgba(33,33,33,.4);width:14px}.form-render__linebarItem{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__linebreaks{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup{align-items:flex-start;display:flex;grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__inputGroup>div{flex:1}.form-render__inputGroup>div:not(:last-of-type) .n-base-selection__border,.form-render__inputGroup>div:not(:last-of-type) .n-input__border{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.form-render__inputGroup>div:last-of-type .n-base-selection__border,.form-render__inputGroup>div:last-of-type .n-input__border{border-bottom-left-radius:0;border-top-left-radius:0}.form-render__combination{width:100%}.form-render__combinationHeader{display:flex;gap:12px}.form-render__combinationHeader>h3{font-size:16px;font-weight:700;margin:0;padding:0}.form-render__combinationHeader .n-button__icon{font-size:14px;margin:0 2px 0 0}.form-render__combinationHeaderText{font-size:16px;font-weight:500}.form-render__combinationClose{font-size:16px;height:14px;position:absolute;right:5px;top:5px;width:14px}.form-render__combinationContentJson{position:relative}.form-render__combinationContent{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));position:relative}.form-render__complex{width:100%}.form-render__complexContent--grid{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__complexContent--flex{display:flex!important;gap:0 8px}.form-render__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar,.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.form-render__selectMenu .v-vl-items{min-width:100%;width:max-content}.form-render__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}
|