@gct-paas/core-web 0.1.5-dev.6 → 0.1.5-dev.8
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/dist/_plugin-vue_export-helper-BBfAJeJ1.js +1 -0
- package/dist/{icon-next-picker-CShmDJI0.js → icon-next-picker-y8hJhkCi.js} +1 -1
- package/dist/index.min.css +1 -1
- package/dist/loader.esm.min.js +1 -1
- package/dist/{monaco-editor-t8SRxaFC.js → monaco-editor-5qU4ukgX.js} +1 -1
- package/es/components/FullScreen/full-screen.vue.d.ts +30 -0
- package/es/components/FullScreen/full-screen.vue.mjs +5 -0
- package/es/components/FullScreen/full-screen.vue_vue_type_script_setup_true_lang.mjs +44 -0
- package/es/components/I18nSelect/src/i18n-select-btn.vue.mjs +2 -2
- package/es/components/I18nSelect/src/i18n-select-btn.vue_vue_type_script_setup_true_name_i18n-select-btn_lang.mjs +5 -5
- package/es/components/I18nSelect/src/{i18n-select-btn.vue_vue_type_style_index_0_scoped_d0fab479_lang.css → i18n-select-btn.vue_vue_type_style_index_0_scoped_b86f4068_lang.css} +16 -15
- package/es/components/I18nSelect/src/i18n-select-container.vue.d.ts +5 -1
- package/es/components/I18nSelect/src/i18n-select-container.vue.mjs +2 -2
- package/es/components/I18nSelect/src/i18n-select-container.vue_vue_type_script_setup_true_name_i18n-select-container_lang.mjs +1 -0
- package/es/components/I18nSelect/src/i18n-select-container.vue_vue_type_style_index_0_scoped_53df3982_lang.css +6 -0
- package/es/components/I18nSelect/src/i18n-select-input.vue.mjs +2 -2
- package/es/components/I18nSelect/src/i18n-select-input.vue_vue_type_script_setup_true_name_i18n-select-input_lang.mjs +2 -2
- package/es/components/I18nSelect/src/i18n-select-input.vue_vue_type_style_index_0_scoped_406c02b4_lang.css +3 -0
- package/es/components/app-full-screen-container/app-full-screen-container.css +77 -0
- package/es/components/app-full-screen-container/app-full-screen-container.d.ts +26 -0
- package/es/components/app-full-screen-container/app-full-screen-container.mjs +83 -0
- package/es/components/app-popover/app-popover-component.css +100 -0
- package/es/components/app-popover/app-popover-component.d.ts +13 -0
- package/es/components/app-popover/app-popover-component.mjs +160 -0
- package/es/components/copy-module-key/copy-module-key.vue.mjs +2 -2
- package/es/components/copy-module-key/copy-module-key.vue_vue_type_script_setup_true_name_copy-module-key_lang.mjs +1 -0
- package/es/components/copy-module-key/{copy-module-key.vue_vue_type_style_index_0_scoped_531b3cd2_lang.css → copy-module-key.vue_vue_type_style_index_0_scoped_66e22862_lang.css} +4 -4
- package/es/components/field-cascader/index.d.ts +2 -0
- package/es/components/field-cascader/index.mjs +1 -0
- package/es/components/field-cascader/src/FieldCascader.vue.d.ts +87 -0
- package/es/components/field-cascader/src/FieldCascader.vue.mjs +6 -0
- package/es/components/field-cascader/src/FieldCascader.vue_vue_type_script_setup_true_lang.mjs +115 -0
- package/es/components/field-cascader/src/FieldCascader.vue_vue_type_style_index_0_lang.css +69 -0
- package/es/components/field-cascader/src/SearchInput.vue.d.ts +11 -0
- package/es/components/field-cascader/src/SearchInput.vue.mjs +7 -0
- package/es/components/field-cascader/src/SearchInput.vue_vue_type_script_setup_true_lang.mjs +38 -0
- package/es/components/field-cascader/src/SearchInput.vue_vue_type_style_index_0_scoped_512c4b38_lang.css +9 -0
- package/es/components/field-cascader/src/hooks.d.ts +129 -0
- package/es/components/field-cascader/src/hooks.mjs +163 -0
- package/es/components/field-tree-select/field-sort-popover.vue.d.ts +129 -0
- package/es/components/field-tree-select/field-sort-popover.vue.mjs +7 -0
- package/es/components/field-tree-select/field-sort-popover.vue_vue_type_script_setup_true_lang.mjs +206 -0
- package/es/components/field-tree-select/field-sort-popover.vue_vue_type_style_index_0_scoped_c1811778_lang.css +136 -0
- package/es/components/field-tree-select/field-tree-select.vue.d.ts +119 -0
- package/es/components/field-tree-select/field-tree-select.vue.mjs +7 -0
- package/es/components/field-tree-select/field-tree-select.vue_vue_type_script_setup_true_lang.mjs +338 -0
- package/es/components/field-tree-select/field-tree-select.vue_vue_type_style_index_0_scoped_898030d3_lang.css +147 -0
- package/es/components/field-tree-select/index.d.ts +307 -0
- package/es/components/field-tree-select/index.mjs +7 -0
- package/es/components/icon-next-picker/icon-next-picker.vue_vue_type_script_setup_true_name_IconNextPicker_lang.mjs +1 -1
- package/es/components/index.d.ts +5 -1
- package/es/components/index.mjs +8 -1
- package/es/components/overlay-scrollbars/gct-overlay-scrollbars.css +72 -0
- package/es/components/overlay-scrollbars/gct-overlay-scrollbars.d.ts +75 -0
- package/es/components/overlay-scrollbars/gct-overlay-scrollbars.mjs +87 -0
- package/es/components/serial-number/index.d.ts +2 -0
- package/es/components/serial-number/index.mjs +1 -0
- package/es/components/serial-number/serial-number-container.vue.d.ts +23 -0
- package/es/components/serial-number/serial-number-container.vue.mjs +7 -0
- package/es/components/serial-number/serial-number-container.vue_vue_type_script_setup_true_name_serial-number-container_lang.mjs +219 -0
- package/es/components/serial-number/serial-number-container.vue_vue_type_style_index_0_scoped_35a73b4c_lang.css +30 -0
- package/es/components/serial-number/serial-number-item.vue.d.ts +22 -0
- package/es/components/serial-number/serial-number-item.vue.mjs +8 -0
- package/es/components/serial-number/serial-number-item.vue_vue_type_script_setup_true_lang.mjs +452 -0
- package/es/components/serial-number/serial-number-item.vue_vue_type_style_index_0_scoped_7baf8e25_lang.css +67 -0
- package/es/components/serial-number/serial-number-item.vue_vue_type_style_index_1_lang.css +51 -0
- package/es/create-app-vue.mjs +5 -3
- package/es/index.mjs +17 -1
- package/es/modules/color-picker/index.d.ts +2 -2
- package/es/modules/color-picker/index.mjs +1 -0
- package/es/modules/color-picker/src/ColorPicker.vue.mjs +1 -1
- package/es/modules/color-picker/src/color-editor.vue.d.ts +9 -0
- package/es/modules/color-picker/src/color-editor.vue.mjs +7 -0
- package/es/modules/color-picker/src/color-editor.vue_vue_type_script_setup_true_name_color-editor_lang.mjs +31 -0
- package/es/modules/color-picker/src/color-editor.vue_vue_type_style_index_0_scoped_7b102f87_lang.css +5 -0
- package/es/modules/gct-form/controller/form-edit-item/form-edit-item.controller.d.ts +0 -1
- package/es/modules/gct-form/controller/form-edit-item/form-edit-item.controller.mjs +1 -20
- package/es/modules/gct-form/controller/form-item-basic/form-item-basic.controller.d.ts +8 -0
- package/es/modules/gct-form/controller/form-item-basic/form-item-basic.controller.mjs +14 -0
- package/es/modules/gct-form/controller/gct-form/gct-form.controller.mjs +4 -10
- package/es/modules/gct-form/editor/gct-form-action/index.mjs +1 -1
- package/es/modules/gct-form/editor/gct-form-check-switch/gct-form-check-switch.css +2 -2
- package/es/modules/gct-form/editor/gct-form-color/gct-form-color.d.ts +1 -4
- package/es/modules/gct-form/editor/gct-form-color/gct-form-color.mjs +9 -10
- package/es/modules/gct-form/editor/gct-form-radio/gct-form-radio.css +25 -22
- package/es/modules/gct-form/editor/gct-form-radio/gct-form-radio.mjs +1 -1
- package/es/modules/gct-form/editor/gct-form-text/gct-form-text.d.ts +1 -5
- package/es/modules/gct-form/editor/gct-form-text/gct-form-text.mjs +18 -23
- package/es/modules/gct-form/index.d.ts +2 -0
- package/es/modules/gct-form/index.mjs +12 -1
- package/es/modules/gct-form/interface/i-controller/form-item-basic/form-item-basic.controller.d.ts +6 -0
- package/es/modules/gct-form/interface/i-editor/i-select-editor.d.ts +1 -1
- package/es/modules/gct-form/interface/i-form/i-form-edit-item.d.ts +0 -8
- package/es/modules/gct-form/interface/i-form/i-form-item-basic.d.ts +8 -0
- package/es/modules/gct-form/utils/index.d.ts +18 -0
- package/es/modules/gct-form/utils/index.mjs +37 -0
- package/es/modules/gct-form/widgets/gct-edit-form/gct-edit-form.mjs +2 -1
- package/es/modules/gct-form/widgets/gct-form/gct-form-collapse/gct-form-collapse.model.mjs +25 -0
- package/es/modules/gct-form/widgets/gct-form/gct-form-collapse/index.mjs +1 -0
- package/es/modules/gct-form/widgets/gct-form/gct-form-collapse-pane/gct-form-collapse-pane.model.mjs +25 -0
- package/es/modules/gct-form/widgets/gct-form/gct-form-collapse-pane/index.mjs +1 -0
- package/es/modules/gct-form/widgets/gct-form/gct-form-group/gct-form-group.d.ts +1 -6
- package/es/modules/gct-form/widgets/gct-form/gct-form-group/gct-form-group.mjs +31 -38
- package/es/modules/gct-form/widgets/gct-form/gct-form-group/gct-form-group.model.mjs +25 -0
- package/es/modules/gct-form/widgets/gct-form/gct-form-group/index.mjs +1 -0
- package/es/modules/gct-form/widgets/gct-form/gct-form-hidden-item/gct-form-hidden-item.model.mjs +21 -0
- package/es/modules/gct-form/widgets/gct-form/gct-form-hidden-item/index.mjs +1 -0
- package/es/modules/gct-form/widgets/gct-form/gct-form-item/gct-form-item.css +13 -6
- package/es/modules/gct-form/widgets/gct-form/gct-form-item/gct-form-item.model.mjs +23 -0
- package/es/modules/gct-form/widgets/gct-form/gct-form-item/index.mjs +1 -0
- package/es/modules/gct-form/widgets/gct-form/gct-form-line/gct-form-line.model.mjs +20 -0
- package/es/modules/gct-form/widgets/gct-form/gct-form-line/index.mjs +1 -0
- package/es/modules/gct-form/widgets/gct-form/gct-form-tab/gct-form-tab.model.mjs +16 -0
- package/es/modules/gct-form/widgets/gct-form/gct-form-tab/index.mjs +1 -0
- package/es/modules/gct-form/widgets/gct-form/gct-form-tab-pane/gct-form-tab-pane.model.mjs +24 -0
- package/es/modules/gct-form/widgets/gct-form/gct-form-tab-pane/index.mjs +1 -0
- package/es/modules/gct-form/widgets/gct-form/gct-form-title-group/gct-form-title-group.model.mjs +25 -0
- package/es/modules/gct-form/widgets/gct-form/gct-form-title-group/index.mjs +1 -0
- package/es/modules/gct-form/widgets/gct-form/gct-form.css +1 -3
- package/es/modules/gct-form/widgets/gct-form/gct-form.mjs +1 -1
- package/es/modules/gct-form/widgets/gct-form/index.d.ts +3 -3
- package/es/modules/gct-form/widgets/gct-form/index.mjs +9 -0
- package/es/modules/gct-table/editor/gct-table-date/gct-table-date.mjs +1 -1
- package/es/modules/gct-table/editor/gct-table-text/gct-table-text.mjs +1 -1
- package/es/modules/global-modal/src/BasicModal.vue.d.ts +4 -0
- package/es/modules/global-modal/src/BasicModal.vue_vue_type_script_setup_true_name_BasicModal_lang.mjs +1 -0
- package/es/modules/global-modal/src/components/ModalWrapper.vue.d.ts +1 -0
- package/es/modules/global-modal/src/components/ModalWrapper.vue.mjs +11 -6
- package/es/modules/global-modal/src/components/ModalWrapper.vue_vue_type_script_lang.mjs +3 -0
- package/es/modules/global-modal/src/components/ModalWrapper.vue_vue_type_style_index_0_lang.css +67 -0
- package/es/modules/personnel-selection/components/index.d.ts +3 -0
- package/es/modules/personnel-selection/components/personnel-select-tree/personnel-select-tree.d.ts +22 -0
- package/es/modules/personnel-selection/components/variable/check-variable/check-variable.d.ts +19 -0
- package/es/modules/personnel-selection/components/variable/index.d.ts +3 -0
- package/es/modules/personnel-selection/components/variable/list-variable/list-variable.d.ts +19 -0
- package/es/modules/personnel-selection/components/variable/tree-select-variable/tree-select-variable.d.ts +19 -0
- package/es/modules/personnel-selection/components/variable-select-pane/variable-select-pane.d.ts +21 -0
- package/es/modules/personnel-selection/constants/index.d.ts +16 -0
- package/es/modules/personnel-selection/controller/index.d.ts +2 -0
- package/es/modules/personnel-selection/controller/tab-item/tab-item.controller.d.ts +18 -0
- package/es/modules/personnel-selection/controller/variable-item/variable-item.controller.d.ts +17 -0
- package/es/modules/personnel-selection/editors/index.d.ts +1 -0
- package/es/modules/personnel-selection/editors/personnel-selection-editor/personnel-selection-editor.d.ts +2 -0
- package/es/modules/personnel-selection/enums/index.d.ts +31 -0
- package/es/modules/personnel-selection/index.d.ts +3 -0
- package/es/modules/personnel-selection/interface/controller/index.d.ts +3 -0
- package/es/modules/personnel-selection/interface/controller/tab-item/i-tab-item.controller.d.ts +86 -0
- package/es/modules/personnel-selection/interface/controller/tab-item/i-variable-tab-item.controller.d.ts +11 -0
- package/es/modules/personnel-selection/interface/controller/variable/i-variable-item.controller.d.ts +53 -0
- package/es/modules/personnel-selection/interface/data/i-data-node.d.ts +42 -0
- package/es/modules/personnel-selection/interface/index.d.ts +6 -0
- package/es/modules/personnel-selection/interface/options/index.d.ts +3 -0
- package/es/modules/personnel-selection/interface/options/personnel-selection-options/personnel-selection-options.d.ts +45 -0
- package/es/modules/personnel-selection/interface/options/select-area-options/select-area-options.d.ts +18 -0
- package/es/modules/personnel-selection/interface/options/select-region-options/select-region-options.d.ts +18 -0
- package/es/modules/personnel-selection/interface/providers/i-tab-item.provider.d.ts +51 -0
- package/es/modules/personnel-selection/interface/providers/i-variable-item.provider.d.ts +51 -0
- package/es/modules/personnel-selection/interface/state/i-tab-item.state.d.ts +27 -0
- package/es/modules/personnel-selection/interface/state/i-variable-item.state.d.ts +18 -0
- package/es/modules/personnel-selection/interface/state/index.d.ts +2 -0
- package/es/modules/personnel-selection/interface/store/i-variable-inst-store.d.ts +37 -0
- package/es/modules/personnel-selection/interface/store/i-variable-plugin-manage-store.d.ts +44 -0
- package/es/modules/personnel-selection/interface/store/i-variable-store.d.ts +29 -0
- package/es/modules/personnel-selection/interface/store/i-view-plugin-manage-store.d.ts +44 -0
- package/es/modules/personnel-selection/interface/store/i-view-store.d.ts +29 -0
- package/es/modules/personnel-selection/interface/store/i-view-tabs-store.d.ts +54 -0
- package/es/modules/personnel-selection/interface/store/index.d.ts +11 -0
- package/es/modules/personnel-selection/plugins/index.d.ts +23 -0
- package/es/modules/personnel-selection/plugins/tab-item/personnel-select-tab-item/personnel-select-tab-item.controller.d.ts +12 -0
- package/es/modules/personnel-selection/plugins/tab-item/variable-tab-item/variable-tab-item.controller.d.ts +14 -0
- package/es/modules/personnel-selection/plugins/variable-item/check-variable-item/check-variable-item.controller.d.ts +12 -0
- package/es/modules/personnel-selection/plugins/variable-item/list-variable-item/list-variable-item.controller.d.ts +12 -0
- package/es/modules/personnel-selection/plugins/variable-item/tree-select-variable-item/tree-select-variable-item.controller.d.ts +12 -0
- package/es/modules/personnel-selection/props/index.d.ts +75 -0
- package/es/modules/personnel-selection/state/index.d.ts +2 -0
- package/es/modules/personnel-selection/state/tab-item.state.d.ts +15 -0
- package/es/modules/personnel-selection/state/variable-item.state.d.ts +4 -0
- package/es/modules/personnel-selection/store/index.d.ts +1 -0
- package/es/modules/personnel-selection/store/variable/variable-inst.d.ts +10 -0
- package/es/modules/personnel-selection/store/variable/variable-plugin-manage.d.ts +10 -0
- package/es/modules/personnel-selection/store/variable/variable-store.d.ts +5 -0
- package/es/modules/personnel-selection/store/view/view-plugin-manage.d.ts +10 -0
- package/es/modules/personnel-selection/store/view/view-store.d.ts +11 -0
- package/es/modules/personnel-selection/store/view/view-tabs.d.ts +10 -0
- package/es/modules/personnel-selection/use/index.d.ts +40 -0
- package/es/modules/personnel-selection/utils/index.d.ts +1 -0
- package/es/modules/personnel-selection/views/index.d.ts +12 -0
- package/es/modules/personnel-selection/views/personnel-selection-view/personnel-selection-view.d.ts +181 -0
- package/es/modules/personnel-selection/widgets/index.d.ts +2 -0
- package/es/modules/personnel-selection/widgets/personnel-select-area/personnel-select-area.d.ts +1 -0
- package/es/modules/personnel-selection/widgets/personnel-select-region/personnel-select-region.d.ts +2 -0
- package/es/modules/picture-cropper/src/CopperFreeModal.vue.d.ts +2 -2
- package/es/modules/picture-cropper/src/CopperFreeModal.vue.mjs +2 -2
- package/es/modules/picture-cropper/src/{CopperFreeModal.vue_vue_type_style_index_0_scoped_488ed4c7_lang.css → CopperFreeModal.vue_vue_type_style_index_0_scoped_9069f48a_lang.css} +10 -10
- package/es/modules/picture-cropper/src/CopperModal.vue.d.ts +2 -2
- package/es/modules/picture-cropper/src/CopperModal.vue.mjs +2 -2
- package/es/modules/picture-cropper/src/{CopperModal.vue_vue_type_style_index_0_scoped_ee086999_lang.css → CopperModal.vue_vue_type_style_index_0_scoped_f1134678_lang.css} +14 -14
- package/es/modules/picture-cropper/src/CropperAvatar.vue.d.ts +2 -2
- package/es/modules/picture-cropper/src/CropperAvatar.vue.mjs +2 -2
- package/es/modules/picture-cropper/src/{CropperAvatar.vue_vue_type_style_index_0_scoped_b1cbaaf1_lang.css → CropperAvatar.vue_vue_type_style_index_0_scoped_ef939ff0_lang.css} +7 -7
- package/es/modules/picture-cropper/src/CropperFree.vue.d.ts +2 -2
- package/es/modules/picture-cropper/src/CropperFree.vue.mjs +2 -2
- package/es/modules/picture-cropper/src/{CropperFree.vue_vue_type_style_index_0_scoped_bab12130_lang.css → CropperFree.vue_vue_type_style_index_0_scoped_7a51c6b9_lang.css} +16 -16
- package/es/utils/overlay-controller/overlay-controller.d.ts +16 -1
- package/es/utils/overlay-controller/overlay-controller.mjs +18 -0
- package/es/utils/with-install.d.ts +1 -0
- package/es/utils/with-install.mjs +1 -1
- package/package.json +13 -9
- package/dist/_plugin-vue_export-helper-DySwtVV7.js +0 -1
- package/es/components/I18nSelect/src/i18n-select-container.vue_vue_type_style_index_0_scoped_5f75bfb2_lang.css +0 -6
- package/es/components/I18nSelect/src/i18n-select-input.vue_vue_type_style_index_0_scoped_b4baf3ec_lang.css +0 -3
- /package/es/modules/gct-table/editor/{gct-table-text/gct-table-text.css → gct-table-date/gct-table-date.css} +0 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { FieldMetaDTO } from '@gct-paas/api/apaas';
|
|
2
|
+
export declare function useFieldCascader(props: comPropsType, { onFieldClick }: IObject): {
|
|
3
|
+
visibleValue: import('vue').Ref<boolean, boolean>;
|
|
4
|
+
filterOptions: import('vue').ComputedRef<{
|
|
5
|
+
children: any;
|
|
6
|
+
value: string;
|
|
7
|
+
label?: any;
|
|
8
|
+
disabled?: boolean | undefined;
|
|
9
|
+
isLeaf?: boolean | undefined;
|
|
10
|
+
__props: {
|
|
11
|
+
backendOnly?: number | undefined;
|
|
12
|
+
bindFieldKey?: string | undefined;
|
|
13
|
+
bindInfo?: string | undefined;
|
|
14
|
+
createTime?: string | undefined;
|
|
15
|
+
createType?: string | undefined;
|
|
16
|
+
createUserId?: string | undefined;
|
|
17
|
+
createUserName?: string | undefined;
|
|
18
|
+
defaultValue?: {
|
|
19
|
+
name?: string | undefined;
|
|
20
|
+
type?: string | undefined;
|
|
21
|
+
value?: IObject | undefined;
|
|
22
|
+
} | undefined;
|
|
23
|
+
defaultValueTips?: string[] | undefined;
|
|
24
|
+
description?: string | undefined;
|
|
25
|
+
draft?: number | undefined;
|
|
26
|
+
expression?: string | undefined;
|
|
27
|
+
fieldCategory?: string | undefined;
|
|
28
|
+
functionName?: string | undefined;
|
|
29
|
+
i18nConfig?: string | undefined;
|
|
30
|
+
id?: string | undefined;
|
|
31
|
+
initCommitId?: string | undefined;
|
|
32
|
+
key?: string | undefined;
|
|
33
|
+
mappingType?: string | undefined;
|
|
34
|
+
modelCategory?: string | undefined;
|
|
35
|
+
modelKey?: string | undefined;
|
|
36
|
+
modelMeta?: {
|
|
37
|
+
constraint?: {
|
|
38
|
+
convertFromFieldUniqueConstraint?: boolean | undefined;
|
|
39
|
+
fieldKeys?: string[] | undefined;
|
|
40
|
+
fieldNames?: string[] | undefined;
|
|
41
|
+
type?: string | undefined;
|
|
42
|
+
}[] | undefined;
|
|
43
|
+
createTime?: string | undefined;
|
|
44
|
+
createUserId?: string | undefined;
|
|
45
|
+
createUserName?: string | undefined;
|
|
46
|
+
deletePolicy?: number | undefined;
|
|
47
|
+
deleted?: number | undefined;
|
|
48
|
+
description?: string | undefined;
|
|
49
|
+
displayField?: string | undefined;
|
|
50
|
+
hidden?: boolean | undefined;
|
|
51
|
+
id?: string | undefined;
|
|
52
|
+
initCommitId?: string | undefined;
|
|
53
|
+
key?: string | undefined;
|
|
54
|
+
maxSubLevel?: number | undefined;
|
|
55
|
+
modifyTime?: string | undefined;
|
|
56
|
+
modifyUserId?: string | undefined;
|
|
57
|
+
modifyUserName?: string | undefined;
|
|
58
|
+
name?: string | undefined;
|
|
59
|
+
order?: number | undefined;
|
|
60
|
+
permissionEnabled?: number | undefined;
|
|
61
|
+
recycled?: number | undefined;
|
|
62
|
+
refModelKey?: string | undefined;
|
|
63
|
+
source?: string | undefined;
|
|
64
|
+
specificConfig?: IObject | undefined;
|
|
65
|
+
subModel?: number | undefined;
|
|
66
|
+
supportMessage?: number | undefined;
|
|
67
|
+
supportProcess?: number | undefined;
|
|
68
|
+
supportStateMachine?: number | undefined;
|
|
69
|
+
sysBuiltin?: number | undefined;
|
|
70
|
+
type?: string | undefined;
|
|
71
|
+
} | undefined;
|
|
72
|
+
modelName?: string | undefined;
|
|
73
|
+
modelType?: string | undefined;
|
|
74
|
+
modifyTime?: string | undefined;
|
|
75
|
+
modifyUserId?: string | undefined;
|
|
76
|
+
modifyUserName?: string | undefined;
|
|
77
|
+
name?: string | undefined;
|
|
78
|
+
originFieldKey?: string | undefined;
|
|
79
|
+
originModelKey?: string | undefined;
|
|
80
|
+
parentField?: number | undefined;
|
|
81
|
+
rdoUniqueFieldKey?: boolean | undefined;
|
|
82
|
+
refModelSource?: string | undefined;
|
|
83
|
+
refModelType?: string | undefined;
|
|
84
|
+
relationModelName?: string | undefined;
|
|
85
|
+
required?: number | undefined;
|
|
86
|
+
sortNum?: number | undefined;
|
|
87
|
+
source?: string | undefined;
|
|
88
|
+
specificConfig?: IObject | undefined;
|
|
89
|
+
sysBuiltin?: number | undefined;
|
|
90
|
+
type?: string | undefined;
|
|
91
|
+
uniqueConstraint?: {
|
|
92
|
+
checkStrategy?: string | undefined;
|
|
93
|
+
fieldKeys?: string[] | undefined;
|
|
94
|
+
type?: string | undefined;
|
|
95
|
+
} | undefined;
|
|
96
|
+
__bindFields: string[];
|
|
97
|
+
};
|
|
98
|
+
__id?: string | undefined;
|
|
99
|
+
}[]>;
|
|
100
|
+
getChildrenOptionsByKey: ({ bindInfo, relationModelName, id, __bindFields, key, name, }: LocalFieldMetaDTO, level: number) => Promise<Option[] | undefined>;
|
|
101
|
+
fieldValues: import('vue').ComputedRef<string[]>;
|
|
102
|
+
fieldMapByKey: Record<string, {
|
|
103
|
+
name: string;
|
|
104
|
+
}>;
|
|
105
|
+
};
|
|
106
|
+
type LocalFieldMetaDTO = FieldMetaDTO & {
|
|
107
|
+
__bindFields: string[];
|
|
108
|
+
};
|
|
109
|
+
export interface Option {
|
|
110
|
+
value: string;
|
|
111
|
+
label?: any;
|
|
112
|
+
disabled?: boolean;
|
|
113
|
+
children?: Option[];
|
|
114
|
+
isLeaf?: boolean;
|
|
115
|
+
__props: LocalFieldMetaDTO;
|
|
116
|
+
__id?: string;
|
|
117
|
+
[key: string]: any;
|
|
118
|
+
}
|
|
119
|
+
export interface comPropsType {
|
|
120
|
+
fieldMetaList: LocalFieldMetaDTO[];
|
|
121
|
+
modelName: string;
|
|
122
|
+
maxLevel: number;
|
|
123
|
+
value: string;
|
|
124
|
+
valueSeparator?: string;
|
|
125
|
+
searchable?: boolean;
|
|
126
|
+
/**过滤函数 */
|
|
127
|
+
filterFieldByFunction?: (w: LocalFieldMetaDTO) => boolean;
|
|
128
|
+
}
|
|
129
|
+
export {};
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import SearchInput_default from "./SearchInput.vue.mjs";
|
|
2
|
+
import { computed, createTextVNode, createVNode, h, onMounted, reactive, ref } from "vue";
|
|
3
|
+
import { FIELD_TYPE } from "@gct-paas/core";
|
|
4
|
+
//#region src/components/field-cascader/src/hooks.tsx
|
|
5
|
+
function useFieldCascader(props, { onFieldClick }) {
|
|
6
|
+
const { fieldMetaList, modelName, maxLevel, filterFieldByFunction = () => true } = props;
|
|
7
|
+
const optionsMapByModalKey = ref({});
|
|
8
|
+
const fieldMapByKey = reactive({});
|
|
9
|
+
/**根节点第一个查询 */
|
|
10
|
+
const keyword = ref();
|
|
11
|
+
const options = ref([]);
|
|
12
|
+
const fieldValues = computed(() => {
|
|
13
|
+
return props.value ? props.value.split(props.valueSeparator || "$") : [];
|
|
14
|
+
});
|
|
15
|
+
const visibleValue = ref(false);
|
|
16
|
+
const filterOptions = computed(() => {
|
|
17
|
+
return options.value.filter((i) => !i.title || !keyword.value || i.title.includes(keyword.value || "")).map((i) => {
|
|
18
|
+
const children = i.isExpandField ? recursionTreeFilterByKeyword(i, 2, optionsMapByModalKey.value) : [];
|
|
19
|
+
return {
|
|
20
|
+
...i,
|
|
21
|
+
children
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
/**初始化自动展开 */
|
|
26
|
+
async function autoExpand() {
|
|
27
|
+
const fields = [...fieldValues.value];
|
|
28
|
+
let nodeOptions = [...options.value];
|
|
29
|
+
let level = 1;
|
|
30
|
+
while (fields.length > 1) {
|
|
31
|
+
const filedKey = fields.shift();
|
|
32
|
+
const fieldItem = nodeOptions.find((i) => i.value === filedKey);
|
|
33
|
+
if (!fieldItem) return;
|
|
34
|
+
level += 1;
|
|
35
|
+
nodeOptions = await getChildrenOptionsByKey(fieldItem.__props, level) || [];
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
onMounted(() => {
|
|
39
|
+
/**添加第一列 */
|
|
40
|
+
options.value = createOptionsByModel({
|
|
41
|
+
fields: fieldMetaList,
|
|
42
|
+
title: modelName,
|
|
43
|
+
search: (val) => {
|
|
44
|
+
keyword.value = val;
|
|
45
|
+
},
|
|
46
|
+
onFieldClick,
|
|
47
|
+
level: 1,
|
|
48
|
+
__bindFields: []
|
|
49
|
+
});
|
|
50
|
+
autoExpand();
|
|
51
|
+
});
|
|
52
|
+
/**根据模型key 获取子节点信息 */
|
|
53
|
+
async function getChildrenOptionsByKey({ bindInfo, relationModelName, id, __bindFields, key, name }, level) {
|
|
54
|
+
fieldMapByKey[key] = { name };
|
|
55
|
+
/**级联字段唯一标识 */
|
|
56
|
+
const fieldKey = id + level;
|
|
57
|
+
if (optionsMapByModalKey.value[fieldKey]) {
|
|
58
|
+
optionsMapByModalKey.value[fieldKey].keyword = "";
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const res = await _api.apaas.modelMeta.getDetail({ modelKey: bindInfo });
|
|
62
|
+
optionsMapByModalKey.value[fieldKey] = {
|
|
63
|
+
keyword: "",
|
|
64
|
+
option: []
|
|
65
|
+
};
|
|
66
|
+
optionsMapByModalKey.value[fieldKey].option = createOptionsByModel({
|
|
67
|
+
fields: res.fieldMetaList,
|
|
68
|
+
title: relationModelName,
|
|
69
|
+
search: (val) => {
|
|
70
|
+
optionsMapByModalKey.value[fieldKey].keyword = val;
|
|
71
|
+
},
|
|
72
|
+
onFieldClick,
|
|
73
|
+
level,
|
|
74
|
+
__bindFields
|
|
75
|
+
});
|
|
76
|
+
return optionsMapByModalKey.value[fieldKey].option;
|
|
77
|
+
}
|
|
78
|
+
function createSearchInput(onChange, level) {
|
|
79
|
+
return {
|
|
80
|
+
value: level,
|
|
81
|
+
label: h(SearchInput_default, {
|
|
82
|
+
visibleValue,
|
|
83
|
+
onChange
|
|
84
|
+
}),
|
|
85
|
+
isLeaf: false,
|
|
86
|
+
__props: {},
|
|
87
|
+
isExpandField: false
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* 根据模型名称获取模型下拉数据
|
|
92
|
+
*/
|
|
93
|
+
function createOptionsByModel({ fields, title, search, level, onFieldClick, __bindFields }) {
|
|
94
|
+
const options = [props.searchable ? createSearchInput(search, level) : null, createTitleItem(title)].filter(Boolean);
|
|
95
|
+
fields.filter(filterFieldByFunction).forEach((row) => {
|
|
96
|
+
options.push(createOptionItem(row, {
|
|
97
|
+
level,
|
|
98
|
+
onClick() {
|
|
99
|
+
onFieldClick(row, level);
|
|
100
|
+
},
|
|
101
|
+
__bindFields
|
|
102
|
+
}));
|
|
103
|
+
});
|
|
104
|
+
return options;
|
|
105
|
+
}
|
|
106
|
+
function createOptionItem(row, { level, onClick, __bindFields }) {
|
|
107
|
+
const isExpandField = level < maxLevel && isExpandFieldArg.includes(row.type);
|
|
108
|
+
row.__bindFields = [...__bindFields, row.key];
|
|
109
|
+
const titleWithRelation = isExpandField ? `${row.name}(${row.relationModelName})` : row.name;
|
|
110
|
+
const labels = row.name;
|
|
111
|
+
return {
|
|
112
|
+
value: row.key,
|
|
113
|
+
label: getFileldLabel(labels, isExpandField, onClick),
|
|
114
|
+
title: labels,
|
|
115
|
+
titleWithRelation,
|
|
116
|
+
isLeaf: false,
|
|
117
|
+
isExpandField,
|
|
118
|
+
children: [],
|
|
119
|
+
__props: row,
|
|
120
|
+
__level: level,
|
|
121
|
+
__id: row.id
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
/**根距关键字递归过滤tree */
|
|
125
|
+
function recursionTreeFilterByKeyword(row, level, optionKey) {
|
|
126
|
+
const { option = [], keyword = "" } = optionKey[row.__id + level] || {};
|
|
127
|
+
return option.filter((i) => !i.title || !keyword || i.title.includes(keyword)).map((i) => {
|
|
128
|
+
return {
|
|
129
|
+
...i,
|
|
130
|
+
children: i.isExpandField ? recursionTreeFilterByKeyword(i, level + 1, optionKey) : []
|
|
131
|
+
};
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
visibleValue,
|
|
136
|
+
filterOptions,
|
|
137
|
+
getChildrenOptionsByKey,
|
|
138
|
+
fieldValues,
|
|
139
|
+
fieldMapByKey
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
function createTitleItem(title) {
|
|
143
|
+
return {
|
|
144
|
+
value: title,
|
|
145
|
+
label: h("div", { class: "gct-option-title ell" }, title),
|
|
146
|
+
isLeaf: false,
|
|
147
|
+
__props: {},
|
|
148
|
+
isExpandField: false
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
var getFileldLabel = (labels, isExpandField, onClick) => {
|
|
152
|
+
return createVNode("div", {
|
|
153
|
+
"class": "ell gct-option-label ks-row",
|
|
154
|
+
"onClick": onClick
|
|
155
|
+
}, [createVNode("div", { "class": "ks-col ell" }, [createTextVNode(" "), labels]), isExpandField ? createVNode("span", { "class": "iconfont icon-pad_arrow_right" }, null) : null]);
|
|
156
|
+
};
|
|
157
|
+
var isExpandFieldArg = [
|
|
158
|
+
FIELD_TYPE.RDO_REF,
|
|
159
|
+
FIELD_TYPE.REF,
|
|
160
|
+
FIELD_TYPE.REF_MULTI
|
|
161
|
+
];
|
|
162
|
+
//#endregion
|
|
163
|
+
export { useFieldCascader };
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
declare function __VLS_template(): {
|
|
2
|
+
attrs: Partial<{}>;
|
|
3
|
+
slots: {
|
|
4
|
+
default?(_: {}): any;
|
|
5
|
+
};
|
|
6
|
+
refs: {};
|
|
7
|
+
rootEl: any;
|
|
8
|
+
};
|
|
9
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
10
|
+
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
11
|
+
/**字段map */
|
|
12
|
+
fieldMap: {
|
|
13
|
+
type: ObjectConstructor;
|
|
14
|
+
default: () => {};
|
|
15
|
+
};
|
|
16
|
+
/**多级表头数据 */
|
|
17
|
+
groupOptions: {
|
|
18
|
+
type: {
|
|
19
|
+
(arrayLength: number): IObject[];
|
|
20
|
+
(...items: IObject[]): IObject[];
|
|
21
|
+
new (arrayLength: number): IObject[];
|
|
22
|
+
new (...items: IObject[]): IObject[];
|
|
23
|
+
isArray(arg: any): arg is any[];
|
|
24
|
+
readonly prototype: any[];
|
|
25
|
+
from<T>(arrayLike: ArrayLike<T>): T[];
|
|
26
|
+
from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
|
|
27
|
+
from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
|
|
28
|
+
from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
|
|
29
|
+
of<T>(...items: T[]): T[];
|
|
30
|
+
readonly [Symbol.species]: ArrayConstructor;
|
|
31
|
+
fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
|
|
32
|
+
fromAsync<T, U>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>, index: number) => U, thisArg?: any): Promise<Awaited<U>[]>;
|
|
33
|
+
};
|
|
34
|
+
default: () => never[];
|
|
35
|
+
};
|
|
36
|
+
fieldNames: {
|
|
37
|
+
type: ObjectConstructor;
|
|
38
|
+
default: () => {
|
|
39
|
+
children: string;
|
|
40
|
+
title: string;
|
|
41
|
+
key: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
getLabelByFun: {
|
|
45
|
+
type: FunctionConstructor;
|
|
46
|
+
default: () => void;
|
|
47
|
+
};
|
|
48
|
+
getFieldTypeByFun: {
|
|
49
|
+
type: FunctionConstructor;
|
|
50
|
+
default: () => void;
|
|
51
|
+
};
|
|
52
|
+
getFieldHiddenByFun: {
|
|
53
|
+
type: FunctionConstructor;
|
|
54
|
+
default: (data: IObject) => any;
|
|
55
|
+
};
|
|
56
|
+
changeFieldHiddenByFun: {
|
|
57
|
+
type: FunctionConstructor;
|
|
58
|
+
default: (data: IObject, v: boolean) => void;
|
|
59
|
+
};
|
|
60
|
+
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
61
|
+
change: (...args: any[]) => void;
|
|
62
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
63
|
+
/**字段map */
|
|
64
|
+
fieldMap: {
|
|
65
|
+
type: ObjectConstructor;
|
|
66
|
+
default: () => {};
|
|
67
|
+
};
|
|
68
|
+
/**多级表头数据 */
|
|
69
|
+
groupOptions: {
|
|
70
|
+
type: {
|
|
71
|
+
(arrayLength: number): IObject[];
|
|
72
|
+
(...items: IObject[]): IObject[];
|
|
73
|
+
new (arrayLength: number): IObject[];
|
|
74
|
+
new (...items: IObject[]): IObject[];
|
|
75
|
+
isArray(arg: any): arg is any[];
|
|
76
|
+
readonly prototype: any[];
|
|
77
|
+
from<T>(arrayLike: ArrayLike<T>): T[];
|
|
78
|
+
from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
|
|
79
|
+
from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
|
|
80
|
+
from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
|
|
81
|
+
of<T>(...items: T[]): T[];
|
|
82
|
+
readonly [Symbol.species]: ArrayConstructor;
|
|
83
|
+
fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
|
|
84
|
+
fromAsync<T, U>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>, index: number) => U, thisArg?: any): Promise<Awaited<U>[]>;
|
|
85
|
+
};
|
|
86
|
+
default: () => never[];
|
|
87
|
+
};
|
|
88
|
+
fieldNames: {
|
|
89
|
+
type: ObjectConstructor;
|
|
90
|
+
default: () => {
|
|
91
|
+
children: string;
|
|
92
|
+
title: string;
|
|
93
|
+
key: string;
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
getLabelByFun: {
|
|
97
|
+
type: FunctionConstructor;
|
|
98
|
+
default: () => void;
|
|
99
|
+
};
|
|
100
|
+
getFieldTypeByFun: {
|
|
101
|
+
type: FunctionConstructor;
|
|
102
|
+
default: () => void;
|
|
103
|
+
};
|
|
104
|
+
getFieldHiddenByFun: {
|
|
105
|
+
type: FunctionConstructor;
|
|
106
|
+
default: (data: IObject) => any;
|
|
107
|
+
};
|
|
108
|
+
changeFieldHiddenByFun: {
|
|
109
|
+
type: FunctionConstructor;
|
|
110
|
+
default: (data: IObject, v: boolean) => void;
|
|
111
|
+
};
|
|
112
|
+
}>> & Readonly<{
|
|
113
|
+
onChange?: ((...args: any[]) => any) | undefined;
|
|
114
|
+
}>, {
|
|
115
|
+
fieldMap: Record<string, any>;
|
|
116
|
+
groupOptions: IObject[];
|
|
117
|
+
fieldNames: Record<string, any>;
|
|
118
|
+
getLabelByFun: Function;
|
|
119
|
+
getFieldTypeByFun: Function;
|
|
120
|
+
getFieldHiddenByFun: Function;
|
|
121
|
+
changeFieldHiddenByFun: Function;
|
|
122
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
123
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
124
|
+
export default _default;
|
|
125
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
126
|
+
new (): {
|
|
127
|
+
$slots: S;
|
|
128
|
+
};
|
|
129
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
2
|
+
import field_sort_popover_vue_vue_type_script_setup_true_lang_default from "./field-sort-popover.vue_vue_type_script_setup_true_lang.mjs";
|
|
3
|
+
import './field-sort-popover.vue_vue_type_style_index_0_scoped_c1811778_lang.css';/* empty css */
|
|
4
|
+
//#region src/components/field-tree-select/field-sort-popover.vue
|
|
5
|
+
var field_sort_popover_default = /* @__PURE__ */ _plugin_vue_export_helper_default(field_sort_popover_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-c1811778"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { field_sort_popover_default as default };
|
package/es/components/field-tree-select/field-sort-popover.vue_vue_type_script_setup_true_lang.mjs
ADDED
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, nextTick, normalizeClass, openBlock, reactive, ref, renderSlot, resolveComponent, toDisplayString, unref, withCtx } from "vue";
|
|
2
|
+
import { cloneDeep } from "lodash-es";
|
|
3
|
+
import { FieldIconMap } from "@gct-paas/core";
|
|
4
|
+
import { SvgIcon } from "@gct-paas/core-components";
|
|
5
|
+
//#region src/components/field-tree-select/field-sort-popover.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
+
var _hoisted_1 = { class: "w230px m--14px pb16px" };
|
|
7
|
+
var _hoisted_2 = { class: "ks-col ell" };
|
|
8
|
+
var _hoisted_3 = ["onClick"];
|
|
9
|
+
var field_sort_popover_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
10
|
+
__name: "field-sort-popover",
|
|
11
|
+
props: {
|
|
12
|
+
fieldMap: {
|
|
13
|
+
type: Object,
|
|
14
|
+
default: () => ({})
|
|
15
|
+
},
|
|
16
|
+
groupOptions: {
|
|
17
|
+
type: Array,
|
|
18
|
+
default: () => []
|
|
19
|
+
},
|
|
20
|
+
fieldNames: {
|
|
21
|
+
type: Object,
|
|
22
|
+
default: () => ({
|
|
23
|
+
children: "children",
|
|
24
|
+
title: "title",
|
|
25
|
+
key: "key"
|
|
26
|
+
})
|
|
27
|
+
},
|
|
28
|
+
getLabelByFun: {
|
|
29
|
+
type: Function,
|
|
30
|
+
default: () => {
|
|
31
|
+
console.log("getLabelByFun");
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
getFieldTypeByFun: {
|
|
35
|
+
type: Function,
|
|
36
|
+
default: () => {
|
|
37
|
+
console.log("getFieldTypeByFun");
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
getFieldHiddenByFun: {
|
|
41
|
+
type: Function,
|
|
42
|
+
default: (data) => data.visible
|
|
43
|
+
},
|
|
44
|
+
changeFieldHiddenByFun: {
|
|
45
|
+
type: Function,
|
|
46
|
+
default: (data, v) => {
|
|
47
|
+
data.visible = v;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
emits: ["change"],
|
|
52
|
+
setup(__props, { emit: __emit }) {
|
|
53
|
+
const props = __props;
|
|
54
|
+
/**记录能否拖拽成功开关 标记线的颜色 */
|
|
55
|
+
const selectedDrop = ref(true);
|
|
56
|
+
/**拖拽后需要收起的节点 */
|
|
57
|
+
const dropExpandedKey = ref();
|
|
58
|
+
const emit = __emit;
|
|
59
|
+
const { fieldNames, getLabelByFun, fieldMap, getFieldTypeByFun, getFieldHiddenByFun, changeFieldHiddenByFun } = props;
|
|
60
|
+
const groupOptions = reactive(props.groupOptions);
|
|
61
|
+
function getFieldTitle(data) {
|
|
62
|
+
if (data.isGroup) return data[fieldNames.title];
|
|
63
|
+
else return getLabelByFun(fieldMap[data[fieldNames.key]]);
|
|
64
|
+
}
|
|
65
|
+
function getFieldVisible(key) {
|
|
66
|
+
return getFieldHiddenByFun(fieldMap[key]);
|
|
67
|
+
}
|
|
68
|
+
function getFieldTypeByKey(key) {
|
|
69
|
+
return getFieldTypeByFun(fieldMap[key]);
|
|
70
|
+
}
|
|
71
|
+
/**拖拽前记录被拖拽文件夹状态 */
|
|
72
|
+
function dragend({ node }) {
|
|
73
|
+
if (!node.isGroup) return;
|
|
74
|
+
const dropClassKey = node.expanded ? "gct-" + node.key : void 0;
|
|
75
|
+
dropExpandedKey.value = dropClassKey;
|
|
76
|
+
node.dataRef.class = dropClassKey;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* 拖拽后的节点恢复展开 模拟点击
|
|
80
|
+
*/
|
|
81
|
+
async function closeDragNodeByClass() {
|
|
82
|
+
if (!dropExpandedKey.value) return;
|
|
83
|
+
await nextTick();
|
|
84
|
+
const dragNode = document.querySelector(`.${dropExpandedKey.value}`);
|
|
85
|
+
dragNode && dragNode.childNodes[2] && dragNode.childNodes[2].click();
|
|
86
|
+
}
|
|
87
|
+
const onDrop = async (info) => {
|
|
88
|
+
if (!selectedDrop.value) return;
|
|
89
|
+
const { dropToGap, dragNode, node } = info;
|
|
90
|
+
const dropPosition = info.dropPosition;
|
|
91
|
+
const _dNode = await new Promise((resolve) => {
|
|
92
|
+
loop(groupOptions, dragNode.key, (_value, index, children) => {
|
|
93
|
+
resolve(cloneDeep(children.splice(index, 1)[0]));
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
loop(groupOptions, node.key, (value, index, children) => {
|
|
97
|
+
if (node.isGroup && !dropToGap) value.children.unshift(_dNode);
|
|
98
|
+
else children.splice(dropPosition === -1 ? index : index + 1, 0, _dNode);
|
|
99
|
+
});
|
|
100
|
+
emit("change", cloneDeep(groupOptions));
|
|
101
|
+
closeDragNodeByClass();
|
|
102
|
+
};
|
|
103
|
+
const loop = (data, key, callback, parent) => {
|
|
104
|
+
const length = data.length;
|
|
105
|
+
for (let i = 0; i < length; i++) {
|
|
106
|
+
const item = data[i];
|
|
107
|
+
if (item[fieldNames.key] === key) {
|
|
108
|
+
callback(item, i, data, parent);
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
if (item.children) loop(item.children, key, callback, item);
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
/**计算是否可以拖拽 */
|
|
115
|
+
function getAllowDrop({ dragNode, dropNode }) {
|
|
116
|
+
let sameLevel = false;
|
|
117
|
+
loop(groupOptions, dropNode.key, (_value, _index, _children, parent) => {
|
|
118
|
+
sameLevel = dragNode.parent?.key === parent?.key;
|
|
119
|
+
});
|
|
120
|
+
return sameLevel;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* 同级拖拽
|
|
124
|
+
*/
|
|
125
|
+
function allowDrop({ dragNode, dropNode, dropPosition }) {
|
|
126
|
+
if (dragNode.dataRef.noDrag || dragNode.parent && dropPosition === -1) return false;
|
|
127
|
+
if (dropPosition === 0) return dragNode.parent?.key === dropNode.key;
|
|
128
|
+
/**记录不可拖拽状态 改变线条样式 */
|
|
129
|
+
selectedDrop.value = getAllowDrop({
|
|
130
|
+
dragNode,
|
|
131
|
+
dropNode,
|
|
132
|
+
dropPosition
|
|
133
|
+
});
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
function hiddenField(key) {
|
|
137
|
+
const visible = getFieldVisible(key);
|
|
138
|
+
changeFieldHiddenByFun(fieldMap[key], !visible);
|
|
139
|
+
emit("change", cloneDeep(groupOptions));
|
|
140
|
+
}
|
|
141
|
+
return (_ctx, _cache) => {
|
|
142
|
+
const _component_a_tooltip = resolveComponent("a-tooltip");
|
|
143
|
+
const _component_a_tree = resolveComponent("a-tree");
|
|
144
|
+
const _component_a_popover = resolveComponent("a-popover");
|
|
145
|
+
return openBlock(), createBlock(_component_a_popover, {
|
|
146
|
+
trigger: "click",
|
|
147
|
+
placement: "bottom",
|
|
148
|
+
"get-popup-container": (element) => element.parentNode,
|
|
149
|
+
"overlay-style": { paddingTop: 0 }
|
|
150
|
+
}, {
|
|
151
|
+
content: withCtx(() => [createElementVNode("div", _hoisted_1, [_cache[1] || (_cache[1] = createElementVNode("div", { class: "popover-title" }, "显示字段", -1)), groupOptions.length ? (openBlock(), createBlock(_component_a_tree, {
|
|
152
|
+
key: 0,
|
|
153
|
+
"default-expand-all": "",
|
|
154
|
+
"field-names": unref(fieldNames),
|
|
155
|
+
height: 300,
|
|
156
|
+
draggable: "",
|
|
157
|
+
"tree-data": groupOptions,
|
|
158
|
+
"show-icon": "",
|
|
159
|
+
class: normalizeClass(["tree-field", { "gct-no-drop": !selectedDrop.value }]),
|
|
160
|
+
selectable: false,
|
|
161
|
+
"allow-drop": allowDrop,
|
|
162
|
+
virtual: false,
|
|
163
|
+
onDrop,
|
|
164
|
+
onDragstart: dragend
|
|
165
|
+
}, {
|
|
166
|
+
icon: withCtx(({ isGroup, key }) => [isGroup ? (openBlock(), createBlock(unref(SvgIcon), {
|
|
167
|
+
key: 0,
|
|
168
|
+
class: "folder",
|
|
169
|
+
size: "20",
|
|
170
|
+
name: "folder"
|
|
171
|
+
})) : getFieldTypeByKey(key) ? (openBlock(), createElementBlock("span", {
|
|
172
|
+
key: 1,
|
|
173
|
+
class: normalizeClass(["iconfont primary-gct", unref(FieldIconMap)[getFieldTypeByKey(key)]])
|
|
174
|
+
}, null, 2)) : createCommentVNode("", true)]),
|
|
175
|
+
title: withCtx(({ noDrag, data, key, isGroup }) => [(openBlock(), createElementBlock("div", {
|
|
176
|
+
key,
|
|
177
|
+
class: "ks-row"
|
|
178
|
+
}, [
|
|
179
|
+
createElementVNode("div", _hoisted_2, toDisplayString(getFieldTitle(data)), 1),
|
|
180
|
+
!isGroup ? (openBlock(), createElementBlock("span", {
|
|
181
|
+
key: 0,
|
|
182
|
+
class: normalizeClass(["iconfont mr-4px", getFieldVisible(key) ? "icon-yulan" : "icon-baomi"]),
|
|
183
|
+
onClick: ($event) => hiddenField(key)
|
|
184
|
+
}, null, 10, _hoisted_3)) : createCommentVNode("", true),
|
|
185
|
+
!noDrag ? (openBlock(), createBlock(_component_a_tooltip, {
|
|
186
|
+
key: 1,
|
|
187
|
+
title: "拖动排序"
|
|
188
|
+
}, {
|
|
189
|
+
default: withCtx(() => [..._cache[0] || (_cache[0] = [createElementVNode("span", { class: "icon-drag iconfont" }, null, -1)])]),
|
|
190
|
+
_: 1
|
|
191
|
+
})) : createCommentVNode("", true)
|
|
192
|
+
]))]),
|
|
193
|
+
_: 1
|
|
194
|
+
}, 8, [
|
|
195
|
+
"field-names",
|
|
196
|
+
"tree-data",
|
|
197
|
+
"class"
|
|
198
|
+
])) : createCommentVNode("", true)])]),
|
|
199
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
|
|
200
|
+
_: 3
|
|
201
|
+
}, 8, ["get-popup-container"]);
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
//#endregion
|
|
206
|
+
export { field_sort_popover_vue_vue_type_script_setup_true_lang_default as default };
|