@kp-ui/lowcode-pc 1.0.0 → 1.0.1
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/_virtual/_plugin-vue_export-helper.js +11 -0
- package/_virtual/_plugin-vue_export-helper.js.map +1 -0
- package/assets/styles/style.css +463 -388
- package/core/src/components/DragBtn.vue.js +8 -0
- package/core/src/components/DragBtn.vue.js.map +1 -0
- package/core/src/components/DragBtn.vue2.js +33 -0
- package/core/src/components/DragBtn.vue2.js.map +1 -0
- package/core/src/components/common/RenderWidgetList.vue.js +8 -0
- package/core/src/components/common/RenderWidgetList.vue.js.map +1 -0
- package/core/src/components/common/RenderWidgetList.vue2.js +97 -0
- package/core/src/components/common/RenderWidgetList.vue2.js.map +1 -0
- package/core/src/components/common/desginer/WidgetWrapper.vue.js +8 -0
- package/core/src/components/common/desginer/WidgetWrapper.vue.js.map +1 -0
- package/core/src/components/common/desginer/WidgetWrapper.vue2.js +67 -0
- package/core/src/components/common/desginer/WidgetWrapper.vue2.js.map +1 -0
- package/core/src/components/common/render/Debugger.vue.js +8 -0
- package/core/src/components/common/render/Debugger.vue.js.map +1 -0
- package/core/src/components/common/render/Debugger.vue2.js +73 -0
- package/core/src/components/common/render/Debugger.vue2.js.map +1 -0
- package/core/src/components/common/render/LowcodeRenderProvider.vue.js +61 -0
- package/core/src/components/common/render/LowcodeRenderProvider.vue.js.map +1 -0
- package/core/src/components/common/render/LowcodeRenderProvider.vue2.js +5 -0
- package/core/src/components/common/render/LowcodeRenderProvider.vue2.js.map +1 -0
- package/core/src/components/common/render/RenderForm.vue.js +69 -0
- package/core/src/components/common/render/RenderForm.vue.js.map +1 -0
- package/core/src/components/common/render/RenderForm.vue2.js +5 -0
- package/core/src/components/common/render/RenderForm.vue2.js.map +1 -0
- package/core/src/components/common/render/useFormContext.js +262 -0
- package/core/src/components/common/render/useFormContext.js.map +1 -0
- package/core/src/components/contextMenu/WidgetContextMenu.vue.js +8 -0
- package/core/src/components/contextMenu/WidgetContextMenu.vue.js.map +1 -0
- package/core/src/components/contextMenu/WidgetContextMenu.vue2.js +125 -0
- package/core/src/components/contextMenu/WidgetContextMenu.vue2.js.map +1 -0
- package/core/src/components/contextMenu/useWidgetContextMenu.js +165 -0
- package/core/src/components/contextMenu/useWidgetContextMenu.js.map +1 -0
- package/core/src/constants/LayoutTypeEnum.js +10 -0
- package/core/src/constants/LayoutTypeEnum.js.map +1 -0
- package/core/src/constants/WidgetTypeEnum.js +64 -0
- package/core/src/constants/WidgetTypeEnum.js.map +1 -0
- package/core/src/constants/index.js +9 -0
- package/core/src/constants/index.js.map +1 -0
- package/core/src/hooks/useAppRef.js +57 -0
- package/core/src/hooks/useAppRef.js.map +1 -0
- package/core/src/hooks/useDataHttp.js +65 -0
- package/core/src/hooks/useDataHttp.js.map +1 -0
- package/core/src/hooks/useDesigner.js +60 -0
- package/core/src/hooks/useDesigner.js.map +1 -0
- package/{assets/useField.mjs → core/src/hooks/useField.js} +25 -5
- package/core/src/hooks/useField.js.map +1 -0
- package/core/src/hooks/useFormValidation.js +112 -0
- package/core/src/hooks/useFormValidation.js.map +1 -0
- package/core/src/hooks/useLowcode.js +94 -0
- package/core/src/hooks/useLowcode.js.map +1 -0
- package/core/src/hooks/useWebMCP.js +82 -0
- package/core/src/hooks/useWebMCP.js.map +1 -0
- package/core/src/hooks/useWidget.js +15 -0
- package/core/src/hooks/useWidget.js.map +1 -0
- package/{assets/en-US.mjs → core/src/lang/en-US.js} +41 -0
- package/core/src/lang/en-US.js.map +1 -0
- package/{assets/en-US_extension.mjs → core/src/lang/en-US_extension.js} +1 -0
- package/core/src/lang/en-US_extension.js.map +1 -0
- package/{assets/en-US_render.mjs → core/src/lang/en-US_render.js} +1 -0
- package/core/src/lang/en-US_render.js.map +1 -0
- package/{assets/zh-CN.mjs → core/src/lang/zh-CN.js} +81 -6
- package/core/src/lang/zh-CN.js.map +1 -0
- package/{assets/zh-CN_extension.mjs → core/src/lang/zh-CN_extension.js} +1 -0
- package/core/src/lang/zh-CN_extension.js.map +1 -0
- package/{assets/zh-CN_render.mjs → core/src/lang/zh-CN_render.js} +1 -0
- package/core/src/lang/zh-CN_render.js.map +1 -0
- package/core/src/utils/format.js +46 -0
- package/core/src/utils/format.js.map +1 -0
- package/core/src/utils/getFileName.js +10 -0
- package/core/src/utils/getFileName.js.map +1 -0
- package/core/src/utils/i18n.js +33 -0
- package/core/src/utils/i18n.js.map +1 -0
- package/core/src/utils/smart-vue-i18n/index.js +84 -0
- package/core/src/utils/smart-vue-i18n/index.js.map +1 -0
- package/core/src/utils/useEmitter.js +95 -0
- package/core/src/utils/useEmitter.js.map +1 -0
- package/core/src/utils/util.js +155 -0
- package/core/src/utils/util.js.map +1 -0
- package/core/src/utils/validators.js +114 -0
- package/core/src/utils/validators.js.map +1 -0
- package/install.js +31 -0
- package/install.js.map +1 -0
- package/package.json +9 -4
- package/src/components/desginer/form-widget/container-widget/data-table-widget.vue.js +8 -0
- package/src/components/desginer/form-widget/container-widget/data-table-widget.vue.js.map +1 -0
- package/{assets/data-table-widget.mjs → src/components/desginer/form-widget/container-widget/data-table-widget.vue2.js} +22 -6
- package/src/components/desginer/form-widget/container-widget/data-table-widget.vue2.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/grid-col-widget.vue.js +8 -0
- package/src/components/desginer/form-widget/container-widget/grid-col-widget.vue.js.map +1 -0
- package/{assets/grid-col-widget.mjs → src/components/desginer/form-widget/container-widget/grid-col-widget.vue2.js} +13 -8
- package/src/components/desginer/form-widget/container-widget/grid-col-widget.vue2.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue.js +8 -0
- package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue.js.map +1 -0
- package/{assets/grid-sub-form-widget.mjs → src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue2.js} +4 -3
- package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue2.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue3.js +2 -0
- package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue3.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/grid-widget.vue.js +8 -0
- package/src/components/desginer/form-widget/container-widget/grid-widget.vue.js.map +1 -0
- package/{assets/grid-widget.mjs → src/components/desginer/form-widget/container-widget/grid-widget.vue2.js} +13 -9
- package/src/components/desginer/form-widget/container-widget/grid-widget.vue2.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/index.js +19 -0
- package/src/components/desginer/form-widget/container-widget/index.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/tab-widget.vue.js +8 -0
- package/src/components/desginer/form-widget/container-widget/tab-widget.vue.js.map +1 -0
- package/{assets/tab-widget.mjs → src/components/desginer/form-widget/container-widget/tab-widget.vue2.js} +5 -3
- package/src/components/desginer/form-widget/container-widget/tab-widget.vue2.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/useTableWidget.js +316 -0
- package/src/components/desginer/form-widget/container-widget/useTableWidget.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue.js +8 -0
- package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue.js.map +1 -0
- package/{assets/vf-box-widget.mjs → src/components/desginer/form-widget/container-widget/vf-box-widget.vue2.js} +5 -3
- package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue2.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue.js +9 -0
- package/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue.js.map +1 -0
- package/{assets/vf-collapse-widget.mjs → src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue2.js} +6 -6
- package/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue2.js.map +1 -0
- package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue.js +8 -0
- package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue.js.map +1 -0
- package/{assets/vf-dialog-widget.mjs → src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue2.js} +12 -4
- package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue2.js.map +1 -0
- package/src/components/desginer/form-widget/index.vue.js +2 -0
- package/src/components/desginer/form-widget/index.vue.js.map +1 -0
- package/src/components/desginer/widget-panel/advanced/bpmn-editor.js +30 -0
- package/src/components/desginer/widget-panel/advanced/bpmn-editor.js.map +1 -0
- package/src/components/desginer/widget-panel/advanced/cascader.js +68 -0
- package/src/components/desginer/widget-panel/advanced/cascader.js.map +1 -0
- package/src/components/desginer/widget-panel/advanced/code-editor.js +44 -0
- package/src/components/desginer/widget-panel/advanced/code-editor.js.map +1 -0
- package/src/components/desginer/widget-panel/advanced/data-table.js +104 -0
- package/src/components/desginer/widget-panel/advanced/data-table.js.map +1 -0
- package/src/components/desginer/widget-panel/advanced/diy-compontent.js +30 -0
- package/src/components/desginer/widget-panel/advanced/diy-compontent.js.map +1 -0
- package/src/components/desginer/widget-panel/advanced/file-upload.js +43 -0
- package/src/components/desginer/widget-panel/advanced/file-upload.js.map +1 -0
- package/src/components/desginer/widget-panel/advanced/rich-editor.js +40 -0
- package/src/components/desginer/widget-panel/advanced/rich-editor.js.map +1 -0
- package/src/components/desginer/widget-panel/advanced/tree-select.js +69 -0
- package/src/components/desginer/widget-panel/advanced/tree-select.js.map +1 -0
- package/src/components/desginer/widget-panel/advanced/tree.js +47 -0
- package/src/components/desginer/widget-panel/advanced/tree.js.map +1 -0
- package/src/components/desginer/widget-panel/advancedFieldsEnums.js +24 -0
- package/src/components/desginer/widget-panel/advancedFieldsEnums.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/button.js +37 -0
- package/src/components/desginer/widget-panel/basicFields/button.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/buttonList.js +45 -0
- package/src/components/desginer/widget-panel/basicFields/buttonList.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/checkbox.js +64 -0
- package/src/components/desginer/widget-panel/basicFields/checkbox.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/color.js +38 -0
- package/src/components/desginer/widget-panel/basicFields/color.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/date.js +55 -0
- package/src/components/desginer/widget-panel/basicFields/date.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/dateRange.js +55 -0
- package/src/components/desginer/widget-panel/basicFields/dateRange.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/divider.js +31 -0
- package/src/components/desginer/widget-panel/basicFields/divider.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/dropdown.js +42 -0
- package/src/components/desginer/widget-panel/basicFields/dropdown.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/htmlText.js +29 -0
- package/src/components/desginer/widget-panel/basicFields/htmlText.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/input.js +56 -0
- package/src/components/desginer/widget-panel/basicFields/input.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/number.js +50 -0
- package/src/components/desginer/widget-panel/basicFields/number.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/radio.js +70 -0
- package/src/components/desginer/widget-panel/basicFields/radio.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/rate.js +45 -0
- package/src/components/desginer/widget-panel/basicFields/rate.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/select.js +77 -0
- package/src/components/desginer/widget-panel/basicFields/select.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/slider.js +47 -0
- package/src/components/desginer/widget-panel/basicFields/slider.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/staticText.js +29 -0
- package/src/components/desginer/widget-panel/basicFields/staticText.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/switch.js +41 -0
- package/src/components/desginer/widget-panel/basicFields/switch.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/textarea.js +53 -0
- package/src/components/desginer/widget-panel/basicFields/textarea.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/time.js +51 -0
- package/src/components/desginer/widget-panel/basicFields/time.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFields/timeRange.js +52 -0
- package/src/components/desginer/widget-panel/basicFields/timeRange.js.map +1 -0
- package/src/components/desginer/widget-panel/basicFieldsEnums.js +46 -0
- package/src/components/desginer/widget-panel/basicFieldsEnums.js.map +1 -0
- package/src/components/desginer/widget-panel/containers/grid-col.js +29 -0
- package/src/components/desginer/widget-panel/containers/grid-col.js.map +1 -0
- package/src/components/desginer/widget-panel/containers/grid-sub-form.js +27 -0
- package/src/components/desginer/widget-panel/containers/grid-sub-form.js.map +1 -0
- package/src/components/desginer/widget-panel/containers/grid.js +24 -0
- package/src/components/desginer/widget-panel/containers/grid.js.map +1 -0
- package/src/components/desginer/widget-panel/containers/index.js +19 -0
- package/src/components/desginer/widget-panel/containers/index.js.map +1 -0
- package/src/components/desginer/widget-panel/containers/tab-pane.js +23 -0
- package/src/components/desginer/widget-panel/containers/tab-pane.js.map +1 -0
- package/src/components/desginer/widget-panel/containers/tab.js +27 -0
- package/src/components/desginer/widget-panel/containers/tab.js.map +1 -0
- package/src/components/desginer/widget-panel/containers/vf-box.js +47 -0
- package/src/components/desginer/widget-panel/containers/vf-box.js.map +1 -0
- package/src/components/desginer/widget-panel/containers/vf-collapse.js +25 -0
- package/src/components/desginer/widget-panel/containers/vf-collapse.js.map +1 -0
- package/src/components/desginer/widget-panel/containers/vf-dialog.js +55 -0
- package/src/components/desginer/widget-panel/containers/vf-dialog.js.map +1 -0
- package/src/components/desginer/widget-panel/widgetsConfig.js +7 -0
- package/src/components/desginer/widget-panel/widgetsConfig.js.map +1 -0
- package/src/components/field-widget/bpmn-editor-widget.vue.js +8 -0
- package/src/components/field-widget/bpmn-editor-widget.vue.js.map +1 -0
- package/{assets/bpmn-editor-widget.mjs → src/components/field-widget/bpmn-editor-widget.vue2.js} +5 -5
- package/src/components/field-widget/bpmn-editor-widget.vue2.js.map +1 -0
- package/src/components/field-widget/button-list-widget.vue.js +8 -0
- package/src/components/field-widget/button-list-widget.vue.js.map +1 -0
- package/{assets/button-list-widget.mjs → src/components/field-widget/button-list-widget.vue2.js} +12 -5
- package/src/components/field-widget/button-list-widget.vue2.js.map +1 -0
- package/src/components/field-widget/button-widget.vue.js +8 -0
- package/src/components/field-widget/button-widget.vue.js.map +1 -0
- package/{assets/button-widget.mjs → src/components/field-widget/button-widget.vue2.js} +4 -4
- package/src/components/field-widget/button-widget.vue2.js.map +1 -0
- package/src/components/field-widget/cascader-widget.vue.js +5 -0
- package/src/components/field-widget/cascader-widget.vue.js.map +1 -0
- package/{assets/cascader-widget.mjs → src/components/field-widget/cascader-widget.vue2.js} +6 -4
- package/src/components/field-widget/cascader-widget.vue2.js.map +1 -0
- package/src/components/field-widget/checkbox-widget.vue.js +5 -0
- package/src/components/field-widget/checkbox-widget.vue.js.map +1 -0
- package/{assets/checkbox-widget.mjs → src/components/field-widget/checkbox-widget.vue2.js} +9 -10
- package/src/components/field-widget/checkbox-widget.vue2.js.map +1 -0
- package/src/components/field-widget/code-editor-widget.vue.js +8 -0
- package/src/components/field-widget/code-editor-widget.vue.js.map +1 -0
- package/{assets/code-editor-widget.mjs → src/components/field-widget/code-editor-widget.vue2.js} +10 -5
- package/src/components/field-widget/code-editor-widget.vue2.js.map +1 -0
- package/src/components/field-widget/color-widget.vue.js +8 -0
- package/src/components/field-widget/color-widget.vue.js.map +1 -0
- package/{assets/color-widget.mjs → src/components/field-widget/color-widget.vue2.js} +5 -5
- package/src/components/field-widget/color-widget.vue2.js.map +1 -0
- package/src/components/field-widget/date-range-widget.vue.js +8 -0
- package/src/components/field-widget/date-range-widget.vue.js.map +1 -0
- package/{assets/date-range-widget.mjs → src/components/field-widget/date-range-widget.vue2.js} +5 -5
- package/src/components/field-widget/date-range-widget.vue2.js.map +1 -0
- package/src/components/field-widget/date-widget.vue.js +8 -0
- package/src/components/field-widget/date-widget.vue.js.map +1 -0
- package/{assets/date-widget.mjs → src/components/field-widget/date-widget.vue2.js} +5 -5
- package/src/components/field-widget/date-widget.vue2.js.map +1 -0
- package/src/components/field-widget/divider-widget.vue.js +5 -0
- package/src/components/field-widget/divider-widget.vue.js.map +1 -0
- package/{assets/divider-widget.mjs → src/components/field-widget/divider-widget.vue2.js} +3 -2
- package/src/components/field-widget/divider-widget.vue2.js.map +1 -0
- package/src/components/field-widget/diy-compontent-widget.vue.js +5 -0
- package/src/components/field-widget/diy-compontent-widget.vue.js.map +1 -0
- package/{assets/diy-compontent-widget.mjs → src/components/field-widget/diy-compontent-widget.vue2.js} +4 -3
- package/src/components/field-widget/diy-compontent-widget.vue2.js.map +1 -0
- package/src/components/field-widget/dropdown-widget.vue.js +8 -0
- package/src/components/field-widget/dropdown-widget.vue.js.map +1 -0
- package/{assets/dropdown-widget.mjs → src/components/field-widget/dropdown-widget.vue2.js} +15 -23
- package/src/components/field-widget/dropdown-widget.vue2.js.map +1 -0
- package/src/components/field-widget/file-upload-widget.vue.js +8 -0
- package/src/components/field-widget/file-upload-widget.vue.js.map +1 -0
- package/{assets/file-upload-widget.mjs → src/components/field-widget/file-upload-widget.vue2.js} +15 -10
- package/src/components/field-widget/file-upload-widget.vue2.js.map +1 -0
- package/src/components/field-widget/form-item-wrapper.vue.js +8 -0
- package/src/components/field-widget/form-item-wrapper.vue.js.map +1 -0
- package/{assets/form-item-wrapper.mjs → src/components/field-widget/form-item-wrapper.vue2.js} +5 -7
- package/src/components/field-widget/form-item-wrapper.vue2.js.map +1 -0
- package/{assets/useSelect.mjs → src/components/field-widget/hooks/useSelect.js} +3 -2
- package/src/components/field-widget/hooks/useSelect.js.map +1 -0
- package/src/components/field-widget/html-text-widget.vue.js +8 -0
- package/src/components/field-widget/html-text-widget.vue.js.map +1 -0
- package/{assets/html-text-widget.mjs → src/components/field-widget/html-text-widget.vue2.js} +4 -4
- package/src/components/field-widget/html-text-widget.vue2.js.map +1 -0
- package/src/components/field-widget/html-text-widget.vue3.js +2 -0
- package/src/components/field-widget/html-text-widget.vue3.js.map +1 -0
- package/src/components/field-widget/index.js +12 -0
- package/src/components/field-widget/index.js.map +1 -0
- package/src/components/field-widget/input-widget.vue.js +8 -0
- package/src/components/field-widget/input-widget.vue.js.map +1 -0
- package/{assets/input-widget.mjs → src/components/field-widget/input-widget.vue2.js} +5 -5
- package/src/components/field-widget/input-widget.vue2.js.map +1 -0
- package/src/components/field-widget/number-widget.vue.js +5 -0
- package/src/components/field-widget/number-widget.vue.js.map +1 -0
- package/{assets/number-widget.mjs → src/components/field-widget/number-widget.vue2.js} +4 -3
- package/src/components/field-widget/number-widget.vue2.js.map +1 -0
- package/src/components/field-widget/radio-widget.vue.js +8 -0
- package/src/components/field-widget/radio-widget.vue.js.map +1 -0
- package/{assets/radio-widget.mjs → src/components/field-widget/radio-widget.vue2.js} +11 -12
- package/src/components/field-widget/radio-widget.vue2.js.map +1 -0
- package/src/components/field-widget/rate-widget.vue.js +8 -0
- package/src/components/field-widget/rate-widget.vue.js.map +1 -0
- package/{assets/rate-widget.mjs → src/components/field-widget/rate-widget.vue2.js} +5 -5
- package/src/components/field-widget/rate-widget.vue2.js.map +1 -0
- package/src/components/field-widget/rich-editor-widget.vue.js +8 -0
- package/src/components/field-widget/rich-editor-widget.vue.js.map +1 -0
- package/{assets/rich-editor-widget.mjs → src/components/field-widget/rich-editor-widget.vue2.js} +5 -5
- package/src/components/field-widget/rich-editor-widget.vue2.js.map +1 -0
- package/src/components/field-widget/select-widget.vue.js +8 -0
- package/src/components/field-widget/select-widget.vue.js.map +1 -0
- package/{assets/select-widget.mjs → src/components/field-widget/select-widget.vue2.js} +5 -6
- package/src/components/field-widget/select-widget.vue2.js.map +1 -0
- package/src/components/field-widget/slider-widget.vue.js +5 -0
- package/src/components/field-widget/slider-widget.vue.js.map +1 -0
- package/{assets/slider-widget.mjs → src/components/field-widget/slider-widget.vue2.js} +4 -3
- package/src/components/field-widget/slider-widget.vue2.js.map +1 -0
- package/src/components/field-widget/static-text-widget.vue.js +5 -0
- package/src/components/field-widget/static-text-widget.vue.js.map +1 -0
- package/{assets/static-text-widget.mjs → src/components/field-widget/static-text-widget.vue2.js} +3 -2
- package/src/components/field-widget/static-text-widget.vue2.js.map +1 -0
- package/src/components/field-widget/switch-widget.vue.js +8 -0
- package/src/components/field-widget/switch-widget.vue.js.map +1 -0
- package/{assets/switch-widget.mjs → src/components/field-widget/switch-widget.vue2.js} +5 -5
- package/src/components/field-widget/switch-widget.vue2.js.map +1 -0
- package/src/components/field-widget/textarea-widget.vue.js +8 -0
- package/src/components/field-widget/textarea-widget.vue.js.map +1 -0
- package/{assets/textarea-widget.mjs → src/components/field-widget/textarea-widget.vue2.js} +5 -5
- package/src/components/field-widget/textarea-widget.vue2.js.map +1 -0
- package/src/components/field-widget/time-range-widget.vue.js +8 -0
- package/src/components/field-widget/time-range-widget.vue.js.map +1 -0
- package/{assets/time-range-widget.mjs → src/components/field-widget/time-range-widget.vue2.js} +5 -5
- package/src/components/field-widget/time-range-widget.vue2.js.map +1 -0
- package/src/components/field-widget/time-widget.vue.js +8 -0
- package/src/components/field-widget/time-widget.vue.js.map +1 -0
- package/{assets/time-widget.mjs → src/components/field-widget/time-widget.vue2.js} +5 -5
- package/src/components/field-widget/time-widget.vue2.js.map +1 -0
- package/src/components/field-widget/tree-widget.vue.js +8 -0
- package/src/components/field-widget/tree-widget.vue.js.map +1 -0
- package/{assets/tree-widget.mjs → src/components/field-widget/tree-widget.vue2.js} +6 -6
- package/src/components/field-widget/tree-widget.vue2.js.map +1 -0
- package/src/components/field-widget/treeSelect-widget.vue.js +5 -0
- package/src/components/field-widget/treeSelect-widget.vue.js.map +1 -0
- package/{assets/treeSelect-widget.mjs → src/components/field-widget/treeSelect-widget.vue2.js} +13 -12
- package/src/components/field-widget/treeSelect-widget.vue2.js.map +1 -0
- package/src/components/field-widget/vue-render-widget.vue.js +5 -0
- package/src/components/field-widget/vue-render-widget.vue.js.map +1 -0
- package/{assets/vue-render-widget.mjs → src/components/field-widget/vue-render-widget.vue2.js} +6 -8
- package/src/components/field-widget/vue-render-widget.vue2.js.map +1 -0
- package/src/components/form-render/RenderWigetList.vue.js +5 -0
- package/src/components/form-render/RenderWigetList.vue.js.map +1 -0
- package/src/components/form-render/RenderWigetList.vue2.js +46 -0
- package/src/components/form-render/RenderWigetList.vue2.js.map +1 -0
- package/src/components/form-render/container-items/data-table-widget.vue.js +8 -0
- package/src/components/form-render/container-items/data-table-widget.vue.js.map +1 -0
- package/src/components/form-render/container-items/data-table-widget.vue2.js +198 -0
- package/src/components/form-render/container-items/data-table-widget.vue2.js.map +1 -0
- package/src/components/form-render/container-items/grid-col-widget.vue.js +8 -0
- package/src/components/form-render/container-items/grid-col-widget.vue.js.map +1 -0
- package/src/components/form-render/container-items/grid-col-widget.vue2.js +56 -0
- package/src/components/form-render/container-items/grid-col-widget.vue2.js.map +1 -0
- package/src/components/form-render/container-items/grid-sub-form-widget.vue.js +8 -0
- package/src/components/form-render/container-items/grid-sub-form-widget.vue.js.map +1 -0
- package/src/components/form-render/container-items/grid-sub-form-widget.vue2.js +282 -0
- package/src/components/form-render/container-items/grid-sub-form-widget.vue2.js.map +1 -0
- package/src/components/form-render/container-items/grid-widget.vue.js +8 -0
- package/src/components/form-render/container-items/grid-widget.vue.js.map +1 -0
- package/src/components/form-render/container-items/grid-widget.vue2.js +61 -0
- package/src/components/form-render/container-items/grid-widget.vue2.js.map +1 -0
- package/src/components/form-render/container-items/grid-widget.vue3.js +2 -0
- package/src/components/form-render/container-items/grid-widget.vue3.js.map +1 -0
- package/src/components/form-render/container-items/index.js +21 -0
- package/src/components/form-render/container-items/index.js.map +1 -0
- package/src/components/form-render/container-items/tab-widget.vue.js +8 -0
- package/src/components/form-render/container-items/tab-widget.vue.js.map +1 -0
- package/src/components/form-render/container-items/tab-widget.vue2.js +66 -0
- package/src/components/form-render/container-items/tab-widget.vue2.js.map +1 -0
- package/src/components/form-render/container-items/vf-box-widget.vue.js +8 -0
- package/src/components/form-render/container-items/vf-box-widget.vue.js.map +1 -0
- package/src/components/form-render/container-items/vf-box-widget.vue2.js +59 -0
- package/src/components/form-render/container-items/vf-box-widget.vue2.js.map +1 -0
- package/src/components/form-render/container-items/vf-collapse-widget.vue.js +9 -0
- package/src/components/form-render/container-items/vf-collapse-widget.vue.js.map +1 -0
- package/src/components/form-render/container-items/vf-collapse-widget.vue2.js +70 -0
- package/src/components/form-render/container-items/vf-collapse-widget.vue2.js.map +1 -0
- package/src/components/public/ActionButtonListRender.vue.js +53 -0
- package/src/components/public/ActionButtonListRender.vue.js.map +1 -0
- package/src/components/public/ActionButtonListRender.vue2.js +130 -0
- package/src/components/public/ActionButtonListRender.vue2.js.map +1 -0
- package/src/components/public/ConfigView/CustomPageRender.vue.js +74 -0
- package/src/components/public/ConfigView/CustomPageRender.vue.js.map +1 -0
- package/src/components/public/ConfigView/CustomPageRender.vue2.js +5 -0
- package/src/components/public/ConfigView/CustomPageRender.vue2.js.map +1 -0
- package/src/components/public/CustomerModal/CustomerModal.vue.js +5 -0
- package/src/components/public/CustomerModal/CustomerModal.vue.js.map +1 -0
- package/{assets/CustomerModal.mjs → src/components/public/CustomerModal/CustomerModal.vue2.js} +7 -91
- package/src/components/public/CustomerModal/CustomerModal.vue2.js.map +1 -0
- package/{assets/useCustomerModal.mjs → src/components/public/CustomerModal/useCustomerModal.js} +2 -1
- package/src/components/public/CustomerModal/useCustomerModal.js.map +1 -0
- package/src/components/public/DataTableColumnDialog.vue.js +8 -0
- package/src/components/public/DataTableColumnDialog.vue.js.map +1 -0
- package/src/components/public/DataTableColumnDialog.vue2.js +333 -0
- package/src/components/public/DataTableColumnDialog.vue2.js.map +1 -0
- package/src/components/public/DynamicDialog.vue.js +226 -0
- package/src/components/public/DynamicDialog.vue.js.map +1 -0
- package/src/components/public/DynamicDialog.vue3.js +6 -0
- package/src/components/public/DynamicDialog.vue3.js.map +1 -0
- package/src/components/render/index.vue.js +8 -0
- package/src/components/render/index.vue.js.map +1 -0
- package/src/components/render/index.vue2.js +105 -0
- package/src/components/render/index.vue2.js.map +1 -0
- package/src/components/render/useRenderWidget.js +11 -0
- package/src/components/render/useRenderWidget.js.map +1 -0
- package/src/hooks/useLowcode.js +113 -0
- package/src/hooks/useLowcode.js.map +1 -0
- package/stats.html +4949 -0
- package/types/index.d.ts +1 -0
- package/types/pc/install.d.ts +9 -0
- package/assets/install.mjs +0 -5405
- package/index.js +0 -7
- package/types/core/src/components/DragBtn.vue.d.ts +0 -7
- package/types/core/src/components/HttpEditor.vue.d.ts +0 -46
- package/types/core/src/components/common/EventItemEditor.vue.d.ts +0 -12
- package/types/core/src/components/common/LowcodeI18nProvider.vue.d.ts +0 -17
- package/types/core/src/components/common/RenderWidgetList.vue.d.ts +0 -16
- package/types/core/src/components/common/desginer/RenderDesignerWrapper.vue.d.ts +0 -2
- package/types/core/src/components/common/desginer/WidgetWrapper.vue.d.ts +0 -30
- package/types/core/src/components/common/render/ActionButtonListDialog.vue.d.ts +0 -345
- package/types/core/src/components/common/render/Debugger.vue.d.ts +0 -10
- package/types/core/src/components/common/render/LowcodeRenderProvider.vue.d.ts +0 -26
- package/types/core/src/components/common/render/index.d.ts +0 -6
- package/types/core/src/components/common/render/useFormContext.d.ts +0 -148
- package/types/core/src/components/common/render/useFormDataProcessor.d.ts +0 -10
- package/types/core/src/components/contextMenu/WidgetContextMenu.vue.d.ts +0 -21
- package/types/core/src/components/contextMenu/useWidgetContextMenu.d.ts +0 -25
- package/types/core/src/components/index.d.ts +0 -16
- package/types/core/src/components/layout/LowcodeLayout.vue.d.ts +0 -24
- package/types/core/src/components/property-editor/index.d.ts +0 -3
- package/types/core/src/components/property-editor/propertyRegister.d.ts +0 -199
- package/types/core/src/components/property-editor/useEditor.d.ts +0 -19
- package/types/core/src/components/setting-plane/WidgetSettingPlane.vue.d.ts +0 -2
- package/types/core/src/components/setting-plane/form-crud-setting.vue.d.ts +0 -10
- package/types/core/src/components/setting-plane/form-setting.vue.d.ts +0 -332
- package/types/core/src/components/setting-plane/index.d.ts +0 -3
- package/types/core/src/components/setting-plane/index.vue.d.ts +0 -675
- package/types/core/src/components/settings/PanelItemDrag.vue.d.ts +0 -24
- package/types/core/src/components/settings/WidgetPanel.vue.d.ts +0 -20
- package/types/core/src/components/toolbar-panel/index.vue.d.ts +0 -689
- package/types/core/src/constants/EditorTypeEnum.d.ts +0 -151
- package/types/core/src/constants/LayoutTypeEnum.d.ts +0 -5
- package/types/core/src/constants/WidgetTypeEnum.d.ts +0 -65
- package/types/core/src/constants/index.d.ts +0 -12
- package/types/core/src/hooks/index.d.ts +0 -6
- package/types/core/src/hooks/useAppRef.d.ts +0 -9
- package/types/core/src/hooks/useDataHttp.d.ts +0 -207
- package/types/core/src/hooks/useDesigner.d.ts +0 -20
- package/types/core/src/hooks/useField.d.ts +0 -95
- package/types/core/src/hooks/useFormValidation.d.ts +0 -54
- package/types/core/src/hooks/useInputEvent.d.ts +0 -10
- package/types/core/src/hooks/useLowcode.d.ts +0 -22
- package/types/core/src/hooks/useNativeDragAndDrop.d.ts +0 -34
- package/types/core/src/lang/en-US.d.ts +0 -564
- package/types/core/src/lang/en-US_extension.d.ts +0 -23
- package/types/core/src/lang/en-US_render.d.ts +0 -38
- package/types/core/src/lang/zh-CN.d.ts +0 -584
- package/types/core/src/lang/zh-CN_extension.d.ts +0 -23
- package/types/core/src/lang/zh-CN_render.d.ts +0 -38
- package/types/core/src/types/button.d.ts +0 -17
- package/types/core/src/types/designer.d.ts +0 -74
- package/types/core/src/types/fileObject.d.ts +0 -7
- package/types/core/src/types/global.d.ts +0 -20
- package/types/core/src/types/index.d.ts +0 -8
- package/types/core/src/types/rowSelectionType.d.ts +0 -12
- package/types/core/src/types/schema.d.ts +0 -169
- package/types/core/src/types/widgetProps.d.ts +0 -8
- package/types/core/src/utils/emitter.d.ts +0 -17
- package/types/core/src/utils/event-bus.d.ts +0 -10
- package/types/core/src/utils/file.d.ts +0 -0
- package/types/core/src/utils/format.d.ts +0 -46
- package/types/core/src/utils/getFileName.d.ts +0 -1
- package/types/core/src/utils/i18n.d.ts +0 -27
- package/types/core/src/utils/index.d.ts +0 -8
- package/types/core/src/utils/insertAssetsToBody.d.ts +0 -3
- package/types/core/src/utils/request/handleAxiosError.d.ts +0 -11
- package/types/core/src/utils/request/http.d.ts +0 -4
- package/types/core/src/utils/smart-vue-i18n/index.d.ts +0 -11
- package/types/core/src/utils/transformWidgetList.d.ts +0 -2
- package/types/core/src/utils/useEmitter.d.ts +0 -31
- package/types/core/src/utils/util.d.ts +0 -81
- package/types/core/src/utils/validators.d.ts +0 -25
- package/types/core/src/utils/widgetRegistry.d.ts +0 -27
- package/types/pc/src/components/desginer/form-widget/RenderDesignerPC.vue.d.ts +0 -2
- package/types/pc/src/components/desginer/form-widget/container-widget/data-table-widget.vue.d.ts +0 -77
- package/types/pc/src/components/desginer/form-widget/container-widget/grid-col-widget.vue.d.ts +0 -16
- package/types/pc/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue.d.ts +0 -5
- package/types/pc/src/components/desginer/form-widget/container-widget/grid-widget.vue.d.ts +0 -5
- package/types/pc/src/components/desginer/form-widget/container-widget/index.d.ts +0 -153
- package/types/pc/src/components/desginer/form-widget/container-widget/tab-widget.vue.d.ts +0 -5
- package/types/pc/src/components/desginer/form-widget/container-widget/useTableWidget.d.ts +0 -274
- package/types/pc/src/components/desginer/form-widget/container-widget/vf-box-widget.vue.d.ts +0 -32
- package/types/pc/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue.d.ts +0 -33
- package/types/pc/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue.d.ts +0 -4
- package/types/pc/src/components/desginer/form-widget/index.vue.d.ts +0 -171
- package/types/pc/src/components/desginer/index.vue.d.ts +0 -52
- package/types/pc/src/components/desginer/widget-panel/advanced/bpmn-editor.d.ts +0 -13
- package/types/pc/src/components/desginer/widget-panel/advanced/cascader.d.ts +0 -31
- package/types/pc/src/components/desginer/widget-panel/advanced/code-editor.d.ts +0 -18
- package/types/pc/src/components/desginer/widget-panel/advanced/data-table.d.ts +0 -52
- package/types/pc/src/components/desginer/widget-panel/advanced/diy-compontent.d.ts +0 -10
- package/types/pc/src/components/desginer/widget-panel/advanced/file-upload.d.ts +0 -24
- package/types/pc/src/components/desginer/widget-panel/advanced/index.d.ts +0 -8
- package/types/pc/src/components/desginer/widget-panel/advanced/rich-editor.d.ts +0 -22
- package/types/pc/src/components/desginer/widget-panel/advanced/tree-select.d.ts +0 -33
- package/types/pc/src/components/desginer/widget-panel/advanced/tree.d.ts +0 -27
- package/types/pc/src/components/desginer/widget-panel/advancedFieldsEnums.d.ts +0 -11
- package/types/pc/src/components/desginer/widget-panel/basicFields/button.d.ts +0 -17
- package/types/pc/src/components/desginer/widget-panel/basicFields/buttonList.d.ts +0 -22
- package/types/pc/src/components/desginer/widget-panel/basicFields/checkbox.d.ts +0 -27
- package/types/pc/src/components/desginer/widget-panel/basicFields/color.d.ts +0 -16
- package/types/pc/src/components/desginer/widget-panel/basicFields/date.d.ts +0 -29
- package/types/pc/src/components/desginer/widget-panel/basicFields/dateRange.d.ts +0 -29
- package/types/pc/src/components/desginer/widget-panel/basicFields/divider.d.ts +0 -12
- package/types/pc/src/components/desginer/widget-panel/basicFields/dropdown.d.ts +0 -18
- package/types/pc/src/components/desginer/widget-panel/basicFields/htmlText.d.ts +0 -11
- package/types/pc/src/components/desginer/widget-panel/basicFields/input.d.ts +0 -31
- package/types/pc/src/components/desginer/widget-panel/basicFields/number.d.ts +0 -26
- package/types/pc/src/components/desginer/widget-panel/basicFields/radio.d.ts +0 -38
- package/types/pc/src/components/desginer/widget-panel/basicFields/rate.d.ts +0 -23
- package/types/pc/src/components/desginer/widget-panel/basicFields/select.d.ts +0 -35
- package/types/pc/src/components/desginer/widget-panel/basicFields/slider.d.ts +0 -25
- package/types/pc/src/components/desginer/widget-panel/basicFields/staticText.d.ts +0 -11
- package/types/pc/src/components/desginer/widget-panel/basicFields/switch.d.ts +0 -19
- package/types/pc/src/components/desginer/widget-panel/basicFields/textarea.d.ts +0 -35
- package/types/pc/src/components/desginer/widget-panel/basicFields/time.d.ts +0 -26
- package/types/pc/src/components/desginer/widget-panel/basicFields/timeRange.d.ts +0 -27
- package/types/pc/src/components/desginer/widget-panel/basicFieldsEnums.d.ts +0 -38
- package/types/pc/src/components/desginer/widget-panel/containers/grid-col.d.ts +0 -17
- package/types/pc/src/components/desginer/widget-panel/containers/grid-sub-form.d.ts +0 -8
- package/types/pc/src/components/desginer/widget-panel/containers/grid.d.ts +0 -8
- package/types/pc/src/components/desginer/widget-panel/containers/index.d.ts +0 -8
- package/types/pc/src/components/desginer/widget-panel/containers/tab-pane.d.ts +0 -23
- package/types/pc/src/components/desginer/widget-panel/containers/tab.d.ts +0 -9
- package/types/pc/src/components/desginer/widget-panel/containers/vf-box.d.ts +0 -8
- package/types/pc/src/components/desginer/widget-panel/containers/vf-collapse.d.ts +0 -13
- package/types/pc/src/components/desginer/widget-panel/containers/vf-dialog.d.ts +0 -8
- package/types/pc/src/components/desginer/widget-panel/containersEnums.d.ts +0 -1
- package/types/pc/src/components/desginer/widget-panel/index.vue.d.ts +0 -8
- package/types/pc/src/components/desginer/widget-panel/widgetsConfig.d.ts +0 -28
- package/types/pc/src/components/field-widget/hooks/useSelect.d.ts +0 -72
- package/types/pc/src/components/field-widget/index.d.ts +0 -3
- package/types/pc/src/components/field-widget/useField.d.ts +0 -95
- package/types/pc/src/components/form-render/RenderWigetList.vue.d.ts +0 -27
- package/types/pc/src/components/form-render/container-items/data-table-widget.vue.d.ts +0 -95
- package/types/pc/src/components/form-render/container-items/grid-col-widget.vue.d.ts +0 -36
- package/types/pc/src/components/form-render/container-items/grid-sub-form-widget.vue.d.ts +0 -39
- package/types/pc/src/components/form-render/container-items/grid-widget.vue.d.ts +0 -35
- package/types/pc/src/components/form-render/container-items/index.d.ts +0 -255
- package/types/pc/src/components/form-render/container-items/tab-widget.vue.d.ts +0 -5
- package/types/pc/src/components/form-render/container-items/vf-box-widget.vue.d.ts +0 -32
- package/types/pc/src/components/form-render/container-items/vf-collapse-widget.vue.d.ts +0 -33
- package/types/pc/src/components/index.d.ts +0 -4
- package/types/pc/src/components/public/ActionButtonListRender.vue.d.ts +0 -121
- package/types/pc/src/components/public/ConfigView/CustomPageRender.vue.d.ts +0 -16
- package/types/pc/src/components/public/CustomerModal/CustomerModal.vue.d.ts +0 -14
- package/types/pc/src/components/public/CustomerModal/customerModal.d.ts +0 -6
- package/types/pc/src/components/public/CustomerModal/useCustomerModal.d.ts +0 -7
- package/types/pc/src/components/public/DynamicDialog.vue.d.ts +0 -97
- package/types/pc/src/components/render/index.vue.d.ts +0 -82
- package/types/pc/src/components/render/useRenderWidget.d.ts +0 -3
- package/types/pc/src/designer.d.ts +0 -233
- package/types/pc/src/hooks/useLowcode.d.ts +0 -21
- package/types/pc/src/hooks/useWidget.d.ts +0 -7
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
import { defineComponent, mergeModels, useModel, ref, computed, watch, resolveComponent, createBlock, openBlock, unref, withCtx, createVNode, createElementVNode, toDisplayString, createCommentVNode, createTextVNode, createElementBlock, Fragment, renderList, normalizeClass } from "vue";
|
|
2
|
+
import { SearchOutlined } from "@ant-design/icons-vue";
|
|
3
|
+
import { useI18n } from "@kp-ui/i18n";
|
|
4
|
+
import { cloneDeep } from "lodash-es";
|
|
5
|
+
import { TpfModal, SvgIcon } from "tmgc2-share";
|
|
6
|
+
import Draggable from "vuedraggable";
|
|
7
|
+
const _hoisted_1 = { class: "col-left-title" };
|
|
8
|
+
const _hoisted_2 = { class: "title" };
|
|
9
|
+
const _hoisted_3 = { class: "search" };
|
|
10
|
+
const _hoisted_4 = { class: "col-left-content" };
|
|
11
|
+
const _hoisted_5 = { class: "col-right-title" };
|
|
12
|
+
const _hoisted_6 = { class: "title" };
|
|
13
|
+
const _hoisted_7 = { class: "col-right-content-item-left" };
|
|
14
|
+
const _hoisted_8 = { class: "title" };
|
|
15
|
+
const _hoisted_9 = { class: "col-right-content-item-right" };
|
|
16
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
17
|
+
__name: "DataTableColumnDialog",
|
|
18
|
+
props: /* @__PURE__ */ mergeModels({
|
|
19
|
+
columns: { default: () => [] }
|
|
20
|
+
}, {
|
|
21
|
+
"visible": { type: Boolean, ...{ default: false } },
|
|
22
|
+
"visibleModifiers": {}
|
|
23
|
+
}),
|
|
24
|
+
emits: /* @__PURE__ */ mergeModels(["update"], ["update:visible"]),
|
|
25
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
26
|
+
const { t } = useI18n();
|
|
27
|
+
const props = __props;
|
|
28
|
+
const emit = __emit;
|
|
29
|
+
const visible = useModel(__props, "visible");
|
|
30
|
+
const searchKey = ref("");
|
|
31
|
+
const tableColumns = ref([]);
|
|
32
|
+
const rightShowColumns = ref([]);
|
|
33
|
+
const leftShowColumns = computed(() => {
|
|
34
|
+
if (!searchKey.value) return tableColumns.value;
|
|
35
|
+
return tableColumns.value.filter((item) => {
|
|
36
|
+
return item.title && item.title.toLowerCase().includes(searchKey.value.toLowerCase());
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
const checkAll = ref(false);
|
|
40
|
+
const indeterminate = ref(false);
|
|
41
|
+
const updateCheckAll = () => {
|
|
42
|
+
const visibleColumns = leftShowColumns.value.filter((item) => item.visible);
|
|
43
|
+
checkAll.value = visibleColumns.length === leftShowColumns.value.length && leftShowColumns.value.length > 0;
|
|
44
|
+
indeterminate.value = visibleColumns.length > 0 && visibleColumns.length < leftShowColumns.value.length;
|
|
45
|
+
};
|
|
46
|
+
const getRightShowColumns = () => {
|
|
47
|
+
rightShowColumns.value = [];
|
|
48
|
+
tableColumns.value.forEach((item) => {
|
|
49
|
+
if (item.visible) {
|
|
50
|
+
rightShowColumns.value.push(item);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
const sortRightColumns = () => {
|
|
55
|
+
rightShowColumns.value.sort((a, b) => {
|
|
56
|
+
if (a.fixed === "left" && b.fixed !== "left") return -1;
|
|
57
|
+
if (a.fixed !== "left" && b.fixed === "left") return 1;
|
|
58
|
+
return 0;
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
const resetColumns = () => {
|
|
62
|
+
tableColumns.value = cloneDeep(props.columns);
|
|
63
|
+
getRightShowColumns();
|
|
64
|
+
updateCheckAll();
|
|
65
|
+
};
|
|
66
|
+
const onCancel = () => {
|
|
67
|
+
visible.value = false;
|
|
68
|
+
};
|
|
69
|
+
const handleOk = () => {
|
|
70
|
+
const newTableColumns = [];
|
|
71
|
+
rightShowColumns.value.forEach((rightItem) => {
|
|
72
|
+
const found = tableColumns.value.find((item) => item.dataIndex === rightItem.dataIndex);
|
|
73
|
+
if (found) {
|
|
74
|
+
found.visible = true;
|
|
75
|
+
found.fixed = rightItem.fixed;
|
|
76
|
+
newTableColumns.push({ ...found });
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
tableColumns.value.forEach((item) => {
|
|
80
|
+
if (!rightShowColumns.value.find((right) => right.dataIndex === item.dataIndex)) {
|
|
81
|
+
item.visible = false;
|
|
82
|
+
delete item.fixed;
|
|
83
|
+
newTableColumns.push({ ...item });
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
emit("update", newTableColumns);
|
|
87
|
+
visible.value = false;
|
|
88
|
+
};
|
|
89
|
+
const changeCheckAll = (e) => {
|
|
90
|
+
const checked = e.target.checked;
|
|
91
|
+
checkAll.value = checked;
|
|
92
|
+
indeterminate.value = false;
|
|
93
|
+
tableColumns.value.forEach((item) => {
|
|
94
|
+
item.visible = checked;
|
|
95
|
+
});
|
|
96
|
+
getRightShowColumns();
|
|
97
|
+
};
|
|
98
|
+
const onchangeCheck = (row) => {
|
|
99
|
+
const index = rightShowColumns.value.findIndex((item) => item.dataIndex === row.dataIndex);
|
|
100
|
+
if (row.visible) {
|
|
101
|
+
if (index === -1) {
|
|
102
|
+
rightShowColumns.value.push(row);
|
|
103
|
+
}
|
|
104
|
+
} else {
|
|
105
|
+
if (index > -1) {
|
|
106
|
+
rightShowColumns.value.splice(index, 1);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
updateCheckAll();
|
|
110
|
+
};
|
|
111
|
+
const removeColumn = (row, index) => {
|
|
112
|
+
row.visible = false;
|
|
113
|
+
delete row.fixed;
|
|
114
|
+
rightShowColumns.value.splice(index, 1);
|
|
115
|
+
updateCheckAll();
|
|
116
|
+
};
|
|
117
|
+
const toggleFixed = (row) => {
|
|
118
|
+
if (row.fixed === "left") {
|
|
119
|
+
delete row.fixed;
|
|
120
|
+
} else {
|
|
121
|
+
const fixedCount = rightShowColumns.value.filter((item) => item.fixed === "left").length;
|
|
122
|
+
if (fixedCount >= 2) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
row.fixed = "left";
|
|
126
|
+
}
|
|
127
|
+
sortRightColumns();
|
|
128
|
+
};
|
|
129
|
+
const open = () => {
|
|
130
|
+
visible.value = true;
|
|
131
|
+
};
|
|
132
|
+
watch(
|
|
133
|
+
() => visible.value,
|
|
134
|
+
async (val) => {
|
|
135
|
+
if (val) {
|
|
136
|
+
tableColumns.value = cloneDeep(props.columns);
|
|
137
|
+
getRightShowColumns();
|
|
138
|
+
sortRightColumns();
|
|
139
|
+
updateCheckAll();
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
{ immediate: true }
|
|
143
|
+
);
|
|
144
|
+
__expose({ open, resetColumns });
|
|
145
|
+
return (_ctx, _cache) => {
|
|
146
|
+
const _component_a_input = resolveComponent("a-input");
|
|
147
|
+
const _component_a_checkbox = resolveComponent("a-checkbox");
|
|
148
|
+
const _component_a_tooltip = resolveComponent("a-tooltip");
|
|
149
|
+
const _component_a_col = resolveComponent("a-col");
|
|
150
|
+
const _component_a_row = resolveComponent("a-row");
|
|
151
|
+
const _component_a_button = resolveComponent("a-button");
|
|
152
|
+
return openBlock(), createBlock(unref(TpfModal), {
|
|
153
|
+
visible: visible.value,
|
|
154
|
+
"onUpdate:visible": _cache[2] || (_cache[2] = ($event) => visible.value = $event),
|
|
155
|
+
title: unref(t)("lang.列管理"),
|
|
156
|
+
width: "800px",
|
|
157
|
+
destroyOnClose: ""
|
|
158
|
+
}, {
|
|
159
|
+
footerRight: withCtx(() => [
|
|
160
|
+
createVNode(_component_a_button, {
|
|
161
|
+
class: "tpf-button",
|
|
162
|
+
onClick: onCancel
|
|
163
|
+
}, {
|
|
164
|
+
default: withCtx(() => [
|
|
165
|
+
createTextVNode(toDisplayString(unref(t)("lang.取消")), 1)
|
|
166
|
+
]),
|
|
167
|
+
_: 1
|
|
168
|
+
}),
|
|
169
|
+
createVNode(_component_a_button, {
|
|
170
|
+
class: "tpf-button",
|
|
171
|
+
type: "primary",
|
|
172
|
+
onClick: handleOk
|
|
173
|
+
}, {
|
|
174
|
+
default: withCtx(() => [
|
|
175
|
+
createTextVNode(toDisplayString(unref(t)("lang.保存")), 1)
|
|
176
|
+
]),
|
|
177
|
+
_: 1
|
|
178
|
+
})
|
|
179
|
+
]),
|
|
180
|
+
default: withCtx(() => [
|
|
181
|
+
createVNode(_component_a_row, {
|
|
182
|
+
gutter: 10,
|
|
183
|
+
class: "column-row"
|
|
184
|
+
}, {
|
|
185
|
+
default: withCtx(() => [
|
|
186
|
+
createVNode(_component_a_col, {
|
|
187
|
+
span: 12,
|
|
188
|
+
class: "col-left"
|
|
189
|
+
}, {
|
|
190
|
+
default: withCtx(() => [
|
|
191
|
+
createElementVNode("div", _hoisted_1, [
|
|
192
|
+
createElementVNode("div", _hoisted_2, [
|
|
193
|
+
createElementVNode("span", null, toDisplayString(unref(t)("lang.可选字段")), 1),
|
|
194
|
+
createElementVNode("span", null, "(" + toDisplayString(leftShowColumns.value.length) + toDisplayString(unref(t)("lang.个")) + ") ", 1)
|
|
195
|
+
]),
|
|
196
|
+
createElementVNode("div", _hoisted_3, [
|
|
197
|
+
createVNode(_component_a_input, {
|
|
198
|
+
placeholder: unref(t)("lang.请搜索"),
|
|
199
|
+
size: "small",
|
|
200
|
+
"allow-clear": "",
|
|
201
|
+
value: searchKey.value,
|
|
202
|
+
"onUpdate:value": _cache[0] || (_cache[0] = ($event) => searchKey.value = $event)
|
|
203
|
+
}, {
|
|
204
|
+
prefix: withCtx(() => [
|
|
205
|
+
createVNode(unref(SearchOutlined))
|
|
206
|
+
]),
|
|
207
|
+
_: 1
|
|
208
|
+
}, 8, ["placeholder", "value"])
|
|
209
|
+
])
|
|
210
|
+
]),
|
|
211
|
+
createElementVNode("div", _hoisted_4, [
|
|
212
|
+
!!tableColumns.value.length ? (openBlock(), createBlock(_component_a_checkbox, {
|
|
213
|
+
key: 0,
|
|
214
|
+
checked: checkAll.value,
|
|
215
|
+
"onUpdate:checked": _cache[1] || (_cache[1] = ($event) => checkAll.value = $event),
|
|
216
|
+
onChange: changeCheckAll,
|
|
217
|
+
indeterminate: indeterminate.value
|
|
218
|
+
}, {
|
|
219
|
+
default: withCtx(() => [
|
|
220
|
+
createTextVNode(toDisplayString(unref(t)("lang.全选")), 1)
|
|
221
|
+
]),
|
|
222
|
+
_: 1
|
|
223
|
+
}, 8, ["checked", "indeterminate"])) : createCommentVNode("", true),
|
|
224
|
+
createVNode(_component_a_row, {
|
|
225
|
+
gutter: [10, 10],
|
|
226
|
+
class: "checkbox-row"
|
|
227
|
+
}, {
|
|
228
|
+
default: withCtx(() => [
|
|
229
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(leftShowColumns.value, (item) => {
|
|
230
|
+
return openBlock(), createBlock(_component_a_col, {
|
|
231
|
+
key: item.dataIndex,
|
|
232
|
+
span: 12
|
|
233
|
+
}, {
|
|
234
|
+
default: withCtx(() => [
|
|
235
|
+
createVNode(_component_a_checkbox, {
|
|
236
|
+
checked: item.visible,
|
|
237
|
+
"onUpdate:checked": ($event) => item.visible = $event,
|
|
238
|
+
onChange: ($event) => onchangeCheck(item)
|
|
239
|
+
}, {
|
|
240
|
+
default: withCtx(() => [
|
|
241
|
+
createVNode(_component_a_tooltip, {
|
|
242
|
+
title: item.title
|
|
243
|
+
}, {
|
|
244
|
+
default: withCtx(() => [
|
|
245
|
+
createTextVNode(toDisplayString(item.title), 1)
|
|
246
|
+
]),
|
|
247
|
+
_: 2
|
|
248
|
+
}, 1032, ["title"])
|
|
249
|
+
]),
|
|
250
|
+
_: 2
|
|
251
|
+
}, 1032, ["checked", "onUpdate:checked", "onChange"])
|
|
252
|
+
]),
|
|
253
|
+
_: 2
|
|
254
|
+
}, 1024);
|
|
255
|
+
}), 128))
|
|
256
|
+
]),
|
|
257
|
+
_: 1
|
|
258
|
+
})
|
|
259
|
+
])
|
|
260
|
+
]),
|
|
261
|
+
_: 1
|
|
262
|
+
}),
|
|
263
|
+
createVNode(_component_a_col, {
|
|
264
|
+
span: 12,
|
|
265
|
+
class: "col-right"
|
|
266
|
+
}, {
|
|
267
|
+
default: withCtx(() => [
|
|
268
|
+
createElementVNode("div", _hoisted_5, [
|
|
269
|
+
createElementVNode("div", _hoisted_6, [
|
|
270
|
+
createElementVNode("span", null, toDisplayString(unref(t)("lang.已选字段")), 1),
|
|
271
|
+
createElementVNode("span", null, "(" + toDisplayString(rightShowColumns.value.length) + toDisplayString(unref(t)("lang.个")) + ") ", 1)
|
|
272
|
+
])
|
|
273
|
+
]),
|
|
274
|
+
createVNode(unref(Draggable), {
|
|
275
|
+
tag: "div",
|
|
276
|
+
list: rightShowColumns.value,
|
|
277
|
+
class: "col-right-content",
|
|
278
|
+
"item-key": "dataIndex",
|
|
279
|
+
handle: ".drag-handle",
|
|
280
|
+
animation: "150"
|
|
281
|
+
}, {
|
|
282
|
+
item: withCtx(({ element: item, index }) => [
|
|
283
|
+
(openBlock(), createElementBlock("div", {
|
|
284
|
+
class: "col-right-content-item",
|
|
285
|
+
key: item.dataIndex
|
|
286
|
+
}, [
|
|
287
|
+
createElementVNode("div", _hoisted_7, [
|
|
288
|
+
createVNode(unref(SvgIcon), {
|
|
289
|
+
size: "24",
|
|
290
|
+
type: "icon-move1",
|
|
291
|
+
class: "drag-handle icon-move1",
|
|
292
|
+
move: "",
|
|
293
|
+
shadow: ""
|
|
294
|
+
}),
|
|
295
|
+
createElementVNode("span", _hoisted_8, toDisplayString(item.title), 1),
|
|
296
|
+
createVNode(unref(SvgIcon), {
|
|
297
|
+
size: "18",
|
|
298
|
+
type: "icon-ding",
|
|
299
|
+
class: normalizeClass(["icon-ding", item.fixed === "left" && "showIcon"]),
|
|
300
|
+
cursor: "",
|
|
301
|
+
shadow: "",
|
|
302
|
+
onClick: ($event) => toggleFixed(item)
|
|
303
|
+
}, null, 8, ["class", "onClick"])
|
|
304
|
+
]),
|
|
305
|
+
createElementVNode("div", _hoisted_9, [
|
|
306
|
+
createVNode(unref(SvgIcon), {
|
|
307
|
+
size: "18",
|
|
308
|
+
type: "icon-guanbi",
|
|
309
|
+
cursor: "",
|
|
310
|
+
shadow: "",
|
|
311
|
+
onClick: ($event) => removeColumn(item, index)
|
|
312
|
+
}, null, 8, ["onClick"])
|
|
313
|
+
])
|
|
314
|
+
]))
|
|
315
|
+
]),
|
|
316
|
+
_: 1
|
|
317
|
+
}, 8, ["list"])
|
|
318
|
+
]),
|
|
319
|
+
_: 1
|
|
320
|
+
})
|
|
321
|
+
]),
|
|
322
|
+
_: 1
|
|
323
|
+
})
|
|
324
|
+
]),
|
|
325
|
+
_: 1
|
|
326
|
+
}, 8, ["visible", "title"]);
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
export {
|
|
331
|
+
_sfc_main as default
|
|
332
|
+
};
|
|
333
|
+
//# sourceMappingURL=DataTableColumnDialog.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableColumnDialog.vue2.js","sources":["../../../../src/components/public/DataTableColumnDialog.vue"],"sourcesContent":["<template>\n <TpfModal v-model:visible=\"visible\" :title=\"t('lang.列管理')\" width=\"800px\" destroyOnClose>\n <a-row :gutter=\"10\" class=\"column-row\">\n <!-- 左侧:可选字段 -->\n <a-col :span=\"12\" class=\"col-left\">\n <div class=\"col-left-title\">\n <div class=\"title\">\n <span>{{ t('lang.可选字段') }}</span>\n <span>({{ leftShowColumns.length }}{{ t('lang.个') }}) </span>\n </div>\n <div class=\"search\">\n <a-input\n :placeholder=\"t('lang.请搜索')\"\n size=\"small\"\n allow-clear\n v-model:value=\"searchKey\"\n >\n <template #prefix>\n <SearchOutlined />\n </template>\n </a-input>\n </div>\n </div>\n <div class=\"col-left-content\">\n <a-checkbox\n v-if=\"!!tableColumns.length\"\n v-model:checked=\"checkAll\"\n @change=\"changeCheckAll\"\n :indeterminate=\"indeterminate\"\n >\n {{ t('lang.全选') }}\n </a-checkbox>\n <a-row :gutter=\"[10, 10]\" class=\"checkbox-row\">\n <a-col v-for=\"item in leftShowColumns\" :key=\"item.dataIndex\" :span=\"12\">\n <a-checkbox\n v-model:checked=\"item.visible\"\n @change=\"onchangeCheck(item)\"\n >\n <a-tooltip :title=\"item.title\">\n {{ item.title }}\n </a-tooltip>\n </a-checkbox>\n </a-col>\n </a-row>\n </div>\n </a-col>\n\n <!-- 右侧:已选字段 -->\n <a-col :span=\"12\" class=\"col-right\">\n <div class=\"col-right-title\">\n <div class=\"title\">\n <span>{{ t('lang.已选字段') }}</span>\n <span>({{ rightShowColumns.length }}{{ t('lang.个') }}) </span>\n </div>\n </div>\n <Draggable\n tag=\"div\"\n :list=\"rightShowColumns\"\n class=\"col-right-content\"\n item-key=\"dataIndex\"\n handle=\".drag-handle\"\n animation=\"150\"\n >\n <template #item=\"{ element: item, index }\">\n <div class=\"col-right-content-item\" :key=\"item.dataIndex\">\n <div class=\"col-right-content-item-left\">\n <SvgIcon\n size=\"24\"\n type=\"icon-move1\"\n class=\"drag-handle icon-move1\"\n move\n shadow\n />\n <span class=\"title\">{{ item.title }}</span>\n <SvgIcon\n size=\"18\"\n type=\"icon-ding\"\n :class=\"['icon-ding', item.fixed === 'left' && 'showIcon']\"\n cursor\n shadow\n @click=\"toggleFixed(item)\"\n />\n </div>\n <div class=\"col-right-content-item-right\">\n <SvgIcon\n size=\"18\"\n type=\"icon-guanbi\"\n cursor\n shadow\n @click=\"removeColumn(item, index)\"\n />\n </div>\n </div>\n </template>\n </Draggable>\n </a-col>\n </a-row>\n\n <template #footerRight>\n <a-button class=\"tpf-button\" @click=\"onCancel\">{{ t('lang.取消') }} </a-button>\n <a-button class=\"tpf-button\" type=\"primary\" @click=\"handleOk\">\n {{ t('lang.保存') }}\n </a-button>\n </template>\n </TpfModal>\n</template>\n\n<script setup lang=\"ts\" name=\"DataTableColumnDialog\">\n import { ref, computed, watch } from 'vue';\n import { SearchOutlined } from '@ant-design/icons-vue';\n import { useI18n } from '@kp-ui/i18n';\n import { cloneDeep } from 'lodash-es';\n import { SvgIcon, TpfModal } from 'tmgc2-share';\n import Draggable from 'vuedraggable';\n\n const { t } = useI18n();\n\n interface ColumnType {\n dataIndex: string;\n title: string;\n visible?: boolean;\n fixed?: 'left' | 'right' | boolean;\n [key: string]: any;\n }\n\n interface Props {\n columns?: ColumnType[];\n }\n\n const props = withDefaults(defineProps<Props>(), {\n columns: () => []\n });\n\n const emit = defineEmits<{\n (e: 'update', columns: ColumnType[]): void;\n }>();\n\n const visible = defineModel<boolean>('visible', { default: false });\n\n const searchKey = ref('');\n\n // 可选字段列表\n const tableColumns = ref<ColumnType[]>([]);\n // 已选字段列表\n const rightShowColumns = ref<ColumnType[]>([]);\n\n // 左侧可筛选的字段\n const leftShowColumns = computed(() => {\n if (!searchKey.value) return tableColumns.value;\n return tableColumns.value.filter(item => {\n return item.title && item.title.toLowerCase().includes(searchKey.value.toLowerCase());\n });\n });\n\n // 全选相关\n const checkAll = ref(false);\n const indeterminate = ref(false);\n\n // 更新全选状态\n const updateCheckAll = () => {\n const visibleColumns = leftShowColumns.value.filter(item => item.visible);\n checkAll.value =\n visibleColumns.length === leftShowColumns.value.length &&\n leftShowColumns.value.length > 0;\n indeterminate.value =\n visibleColumns.length > 0 && visibleColumns.length < leftShowColumns.value.length;\n };\n\n // 获取已选字段\n const getRightShowColumns = () => {\n rightShowColumns.value = [];\n tableColumns.value.forEach(item => {\n if (item.visible) {\n rightShowColumns.value.push(item);\n }\n });\n };\n\n // 排序:固定列在前\n const sortRightColumns = () => {\n rightShowColumns.value.sort((a, b) => {\n if (a.fixed === 'left' && b.fixed !== 'left') return -1;\n if (a.fixed !== 'left' && b.fixed === 'left') return 1;\n return 0;\n });\n };\n\n // 重置\n const resetColumns = () => {\n tableColumns.value = cloneDeep(props.columns);\n getRightShowColumns();\n updateCheckAll();\n };\n\n // 取消\n const onCancel = () => {\n visible.value = false;\n };\n\n // 确定\n const handleOk = () => {\n // 根据 rightShowColumns 的顺序更新 tableColumns\n const newTableColumns: ColumnType[] = [];\n\n // 先添加可见列(按 rightShowColumns 顺序)\n rightShowColumns.value.forEach(rightItem => {\n const found = tableColumns.value.find(item => item.dataIndex === rightItem.dataIndex);\n if (found) {\n found.visible = true;\n found.fixed = rightItem.fixed;\n newTableColumns.push({ ...found });\n }\n });\n\n // 再添加隐藏列\n tableColumns.value.forEach(item => {\n if (!rightShowColumns.value.find(right => right.dataIndex === item.dataIndex)) {\n item.visible = false;\n delete item.fixed;\n newTableColumns.push({ ...item });\n }\n });\n\n emit('update', newTableColumns);\n visible.value = false;\n };\n\n // 全选/取消全选\n const changeCheckAll = (e: any) => {\n const checked = e.target.checked;\n checkAll.value = checked;\n indeterminate.value = false;\n tableColumns.value.forEach(item => {\n item.visible = checked;\n });\n getRightShowColumns();\n };\n\n // 单选\n const onchangeCheck = (row: ColumnType) => {\n const index = rightShowColumns.value.findIndex(item => item.dataIndex === row.dataIndex);\n if (row.visible) {\n if (index === -1) {\n rightShowColumns.value.push(row);\n }\n } else {\n if (index > -1) {\n rightShowColumns.value.splice(index, 1);\n }\n }\n updateCheckAll();\n };\n\n // 移除列\n const removeColumn = (row: ColumnType, index: number) => {\n row.visible = false;\n delete row.fixed;\n rightShowColumns.value.splice(index, 1);\n updateCheckAll();\n };\n\n // 切换固定\n const toggleFixed = (row: ColumnType) => {\n if (row.fixed === 'left') {\n delete row.fixed;\n } else {\n // 最多固定 2 列\n const fixedCount = rightShowColumns.value.filter(item => item.fixed === 'left').length;\n if (fixedCount >= 2) {\n return;\n }\n row.fixed = 'left';\n }\n sortRightColumns();\n };\n\n // 打开弹窗\n const open = () => {\n visible.value = true;\n };\n\n // 监听弹窗显示\n watch(\n () => visible.value,\n async val => {\n if (val) {\n // 初始化列数据\n tableColumns.value = cloneDeep(props.columns);\n getRightShowColumns();\n sortRightColumns();\n updateCheckAll();\n }\n },\n { immediate: true }\n );\n\n defineExpose({ open, resetColumns });\n</script>\n\n<style lang=\"less\" scoped>\n .column-row {\n height: 400px;\n display: flex;\n\n .col-left,\n .col-right {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n .col-left {\n padding-left: 20px !important;\n padding-right: 10px !important;\n border-right: 1px solid #f0f0f0;\n }\n\n .col-right {\n padding-left: 10px !important;\n }\n\n .col-left-title,\n .col-right-title {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n\n .title {\n font-weight: 500;\n color: #333;\n }\n\n .search {\n width: 150px;\n }\n }\n\n .col-left-content,\n .col-right-content {\n flex: 1 0 0;\n overflow-y: auto;\n overflow-x: hidden;\n }\n\n .checkbox-row {\n margin-top: 10px;\n }\n\n .col-right-content-item {\n margin-right: 5px;\n height: 32px;\n display: flex;\n align-items: center;\n\n .col-right-content-item-left {\n flex: 1 0 0;\n display: flex;\n align-items: center;\n\n .drag-handle {\n cursor: move;\n margin-right: 8px;\n flex-shrink: 0;\n }\n\n .title {\n flex: 1 0 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 14px;\n }\n\n .icon-ding {\n margin-left: 8px;\n flex-shrink: 0;\n opacity: 0;\n transition: opacity 0.2s;\n\n &:hover {\n opacity: 1;\n }\n\n &.showIcon {\n opacity: 1;\n }\n }\n }\n\n &:hover {\n .icon-ding {\n opacity: 1;\n }\n }\n\n .col-right-content-item-right {\n flex: 1 0 0;\n display: flex;\n justify-content: flex-end;\n padding-right: 10px;\n\n :deep(.icon-guanbi) {\n opacity: 0.6;\n\n &:hover {\n opacity: 1;\n }\n }\n }\n }\n }\n</style>\n"],"names":["_useModel","_createBlock","_unref","_createVNode","_createElementVNode","_toDisplayString","_createElementBlock","_Fragment","_renderList","_createTextVNode","_withCtx","_normalizeClass"],"mappings":"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"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { defineComponent, computed, ref, onBeforeUnmount, createBlock, openBlock, unref, withCtx, createElementVNode, createVNode, nextTick } from "vue";
|
|
2
|
+
import { useExecFunction, TpfModal } from "tmgc2-share";
|
|
3
|
+
import { formatSize } from "../../../core/src/utils/format.js";
|
|
4
|
+
import VFormRender from "../render/index.vue.js";
|
|
5
|
+
import "../desginer/form-widget/index.vue.js";
|
|
6
|
+
import "../field-widget/index.js";
|
|
7
|
+
import "../desginer/form-widget/container-widget/index.js";
|
|
8
|
+
import "lodash-es";
|
|
9
|
+
import "ant-design-vue";
|
|
10
|
+
import "../desginer/widget-panel/widgetsConfig.js";
|
|
11
|
+
import "@kp-ui/tool";
|
|
12
|
+
import ActionButtonListRender from "./ActionButtonListRender.vue.js";
|
|
13
|
+
import "../form-render/container-items/index.js";
|
|
14
|
+
import { useLowcode } from "../../hooks/useLowcode.js";
|
|
15
|
+
/* empty css */
|
|
16
|
+
const _hoisted_1 = { class: "dialog-content" };
|
|
17
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
18
|
+
...{
|
|
19
|
+
name: "dynamic-dialog"
|
|
20
|
+
},
|
|
21
|
+
__name: "DynamicDialog",
|
|
22
|
+
props: {
|
|
23
|
+
options: {
|
|
24
|
+
type: Object,
|
|
25
|
+
default: () => ({})
|
|
26
|
+
},
|
|
27
|
+
formJson: {
|
|
28
|
+
type: Object
|
|
29
|
+
},
|
|
30
|
+
formData: {
|
|
31
|
+
type: Object,
|
|
32
|
+
default: () => ({})
|
|
33
|
+
},
|
|
34
|
+
vfCtx: {
|
|
35
|
+
type: Object,
|
|
36
|
+
default: () => ({})
|
|
37
|
+
},
|
|
38
|
+
optionData: {
|
|
39
|
+
//prop传入的选项数据
|
|
40
|
+
type: Object,
|
|
41
|
+
default: () => ({})
|
|
42
|
+
},
|
|
43
|
+
globalDsv: {
|
|
44
|
+
// 全局数据源变量
|
|
45
|
+
type: Object,
|
|
46
|
+
default: () => ({})
|
|
47
|
+
},
|
|
48
|
+
parentFormRef: {
|
|
49
|
+
type: Object,
|
|
50
|
+
default: null
|
|
51
|
+
},
|
|
52
|
+
extraData: {
|
|
53
|
+
type: Object,
|
|
54
|
+
default: () => ({})
|
|
55
|
+
},
|
|
56
|
+
wrapperId: {
|
|
57
|
+
type: String,
|
|
58
|
+
default: null
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
setup(__props, { expose: __expose }) {
|
|
62
|
+
const props = __props;
|
|
63
|
+
const dialogHeight = computed(() => {
|
|
64
|
+
return formatSize(props.options.height, "500px");
|
|
65
|
+
});
|
|
66
|
+
const leftNum = ref(null);
|
|
67
|
+
const isDisabled = ref(false);
|
|
68
|
+
const dialogVisible = ref(false);
|
|
69
|
+
const { context, asyncExecuteFunction, executeFunction } = useExecFunction();
|
|
70
|
+
const { vfdRef, isLoading, getComponentJson } = useLowcode({
|
|
71
|
+
formCode: props.options.formCode,
|
|
72
|
+
...props.vfCtx
|
|
73
|
+
});
|
|
74
|
+
const parentForm = computed(() => {
|
|
75
|
+
return {
|
|
76
|
+
...props.parentFormRef,
|
|
77
|
+
parentDom: context.value,
|
|
78
|
+
getParentFormRef
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
onBeforeUnmount(() => {
|
|
82
|
+
var _a, _b;
|
|
83
|
+
console.log(props.parentFormRef);
|
|
84
|
+
(_b = (_a = props.parentFormRef) == null ? void 0 : _a.setChildFormRef) == null ? void 0 : _b.call(_a, null);
|
|
85
|
+
});
|
|
86
|
+
const setLoading = (status) => {
|
|
87
|
+
isLoading.value = status;
|
|
88
|
+
};
|
|
89
|
+
const setTitle = (title) => {
|
|
90
|
+
props.options.title = title;
|
|
91
|
+
};
|
|
92
|
+
const beforeOpen = () => {
|
|
93
|
+
dialogVisible.value = true;
|
|
94
|
+
};
|
|
95
|
+
const handleBtnClick = async ({ result }) => {
|
|
96
|
+
if (result !== false) {
|
|
97
|
+
await handleCloseEvent();
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
const show = () => {
|
|
101
|
+
dialogVisible.value = true;
|
|
102
|
+
nextTick(async () => {
|
|
103
|
+
var _a, _b, _c;
|
|
104
|
+
if ((_a = props.options) == null ? void 0 : _a.readMode) {
|
|
105
|
+
(_b = vfdRef.value) == null ? void 0 : _b.setReadMode(true);
|
|
106
|
+
}
|
|
107
|
+
await getComponentJson([], props.options.formCode);
|
|
108
|
+
(_c = vfdRef.value) == null ? void 0 : _c.setDialogOrDrawerRef(context.value);
|
|
109
|
+
if (props.parentFormRef) {
|
|
110
|
+
props.parentFormRef.setChildFormRef(vfdRef.value);
|
|
111
|
+
}
|
|
112
|
+
handleOpenedEvent();
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
const close = async () => {
|
|
116
|
+
if (props.options.onDialogBeforeClose) {
|
|
117
|
+
return await asyncExecuteFunction({
|
|
118
|
+
functionBody: props.options.onDialogBeforeClose
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
dialogVisible.value = false;
|
|
122
|
+
};
|
|
123
|
+
const handleCloseEvent = () => {
|
|
124
|
+
close();
|
|
125
|
+
};
|
|
126
|
+
const handleOpenedEvent = async () => {
|
|
127
|
+
if (props.options.onDialogOpened) {
|
|
128
|
+
return await asyncExecuteFunction({
|
|
129
|
+
functionBody: props.options.onDialogOpened
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
const getParentFormRef = () => {
|
|
134
|
+
return props.parentFormRef;
|
|
135
|
+
};
|
|
136
|
+
const updateTable = () => {
|
|
137
|
+
var _a, _b, _c;
|
|
138
|
+
if ((_c = (_b = (_a = props.vfCtx) == null ? void 0 : _a.parent) == null ? void 0 : _b.exposed) == null ? void 0 : _c.updateTable) {
|
|
139
|
+
props.vfCtx.parent.exposed.updateTable();
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
const getExtraData = () => {
|
|
143
|
+
return props.extraData;
|
|
144
|
+
};
|
|
145
|
+
const setleftText = (number) => {
|
|
146
|
+
leftNum.value = number;
|
|
147
|
+
};
|
|
148
|
+
const setDisabled = (status) => {
|
|
149
|
+
isDisabled.value = status;
|
|
150
|
+
};
|
|
151
|
+
const getFormRef = () => {
|
|
152
|
+
return vfdRef.value;
|
|
153
|
+
};
|
|
154
|
+
const getFormContext = () => {
|
|
155
|
+
var _a;
|
|
156
|
+
return (_a = vfdRef.value) == null ? void 0 : _a.context;
|
|
157
|
+
};
|
|
158
|
+
__expose({
|
|
159
|
+
getParentFormRef,
|
|
160
|
+
getFormRef,
|
|
161
|
+
setDisabled,
|
|
162
|
+
setleftText,
|
|
163
|
+
setLoading,
|
|
164
|
+
setTitle,
|
|
165
|
+
beforeOpen,
|
|
166
|
+
show,
|
|
167
|
+
close,
|
|
168
|
+
handleCloseEvent,
|
|
169
|
+
handleOpenedEvent,
|
|
170
|
+
updateTable,
|
|
171
|
+
getExtraData
|
|
172
|
+
});
|
|
173
|
+
return (_ctx, _cache) => {
|
|
174
|
+
return openBlock(), createBlock(unref(TpfModal), {
|
|
175
|
+
class: "tpf-model design-model",
|
|
176
|
+
destroyOnClose: true,
|
|
177
|
+
title: __props.options.title,
|
|
178
|
+
bodyStyle: {
|
|
179
|
+
height: dialogHeight.value,
|
|
180
|
+
overflow: "auto",
|
|
181
|
+
...JSON.parse(__props.options.bodyStyle || "{}")
|
|
182
|
+
},
|
|
183
|
+
draggable: true,
|
|
184
|
+
centered: true,
|
|
185
|
+
visible: dialogVisible.value,
|
|
186
|
+
"onUpdate:visible": _cache[0] || (_cache[0] = ($event) => dialogVisible.value = $event),
|
|
187
|
+
width: unref(formatSize)(__props.options.width),
|
|
188
|
+
mask: __props.options.showModal,
|
|
189
|
+
maskClosable: __props.options.closeOnClickModal,
|
|
190
|
+
keyboard: __props.options.closeOnPressEscape,
|
|
191
|
+
onCancel: handleCloseEvent,
|
|
192
|
+
"left-num": leftNum.value
|
|
193
|
+
}, {
|
|
194
|
+
footerRight: withCtx(() => [
|
|
195
|
+
createVNode(unref(ActionButtonListRender), {
|
|
196
|
+
buttonList: __props.options.buttonList || [],
|
|
197
|
+
ctx: getFormContext(),
|
|
198
|
+
onOnClick: handleBtnClick,
|
|
199
|
+
disabled: isDisabled.value
|
|
200
|
+
}, null, 8, ["buttonList", "ctx", "disabled"])
|
|
201
|
+
]),
|
|
202
|
+
default: withCtx(() => [
|
|
203
|
+
createElementVNode("div", _hoisted_1, [
|
|
204
|
+
createVNode(unref(VFormRender), {
|
|
205
|
+
ref_key: "vfdRef",
|
|
206
|
+
ref: vfdRef,
|
|
207
|
+
loading: unref(isLoading),
|
|
208
|
+
vfCtx: {
|
|
209
|
+
...__props.vfCtx,
|
|
210
|
+
instance: unref(context)
|
|
211
|
+
},
|
|
212
|
+
"parent-form": parentForm.value,
|
|
213
|
+
"disabled-mode": __props.options.disabledMode,
|
|
214
|
+
"dynamic-creation": true
|
|
215
|
+
}, null, 8, ["loading", "vfCtx", "parent-form", "disabled-mode"])
|
|
216
|
+
])
|
|
217
|
+
]),
|
|
218
|
+
_: 1
|
|
219
|
+
}, 8, ["title", "bodyStyle", "visible", "width", "mask", "maskClosable", "keyboard", "left-num"]);
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
export {
|
|
224
|
+
_sfc_main as default
|
|
225
|
+
};
|
|
226
|
+
//# sourceMappingURL=DynamicDialog.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicDialog.vue.js","sources":["../../../../src/components/public/DynamicDialog.vue"],"sourcesContent":["<template>\n <TpfModal\n class=\"tpf-model design-model\"\n :destroyOnClose=\"true\"\n :title=\"options.title\"\n :bodyStyle=\"{\n height: dialogHeight,\n overflow: 'auto',\n ...JSON.parse(options.bodyStyle || '{}')\n }\"\n :draggable=\"true\"\n :centered=\"true\"\n v-model:visible=\"dialogVisible\"\n :width=\"formatSize(options.width)\"\n :mask=\"options.showModal\"\n :maskClosable=\"options.closeOnClickModal\"\n :keyboard=\"options.closeOnPressEscape\"\n @cancel=\"handleCloseEvent\"\n :left-num=\"leftNum\"\n >\n <div class=\"dialog-content\">\n <VFormRender\n ref=\"vfdRef\"\n :loading=\"isLoading\"\n :vfCtx=\"{\n ...vfCtx,\n instance: context\n }\"\n :parent-form=\"parentForm\"\n :disabled-mode=\"options.disabledMode\"\n :dynamic-creation=\"true\"\n />\n </div>\n <template #footerRight>\n <ActionButtonListRender\n :buttonList=\"options.buttonList || []\"\n :ctx=\"getFormContext()\"\n @on-click=\"handleBtnClick\"\n :disabled=\"isDisabled\"\n />\n </template>\n </TpfModal>\n</template>\n\n<script lang=\"ts\" setup>\n import { ref, computed, nextTick, onBeforeUnmount } from 'vue';\n import { TpfModal, useExecFunction } from 'tmgc2-share';\n import { formatSize } from '@kp-ui/lowcode-core/src/utils/format';\n import { VFormRender, ActionButtonListRender } from '@kp-ui/lowcode-pc';\n import { useLowcode } from '../../hooks/useLowcode';\n defineOptions({\n name: 'dynamic-dialog'\n });\n\n const props = defineProps({\n options: {\n type: Object,\n default: () => ({})\n },\n formJson: {\n type: Object\n },\n formData: {\n type: Object,\n default: () => ({})\n },\n vfCtx: {\n type: Object,\n default: () => ({})\n },\n optionData: {\n //prop传入的选项数据\n type: Object,\n default: () => ({})\n },\n globalDsv: {\n // 全局数据源变量\n type: Object,\n default: () => ({})\n },\n parentFormRef: {\n type: Object,\n default: null\n },\n extraData: {\n type: Object,\n default: () => ({})\n },\n wrapperId: {\n type: String,\n default: null\n }\n });\n\n const dialogHeight = computed(() => {\n return formatSize(props.options.height, '500px');\n });\n const leftNum = ref(null);\n\n const isDisabled = ref(false);\n const dialogVisible = ref(false);\n\n const { context, asyncExecuteFunction, executeFunction } = useExecFunction();\n const { vfdRef, isLoading, getComponentJson } = useLowcode({\n formCode: props.options.formCode,\n ...props.vfCtx\n });\n // 计算属性\n const parentForm = computed(() => {\n return {\n ...props.parentFormRef,\n parentDom: context.value,\n getParentFormRef\n };\n });\n\n // 生命周期钩子\n onBeforeUnmount(() => {\n console.log(props.parentFormRef);\n props.parentFormRef?.setChildFormRef?.(null);\n });\n\n const setLoading = status => {\n isLoading.value = status;\n };\n\n const setTitle = title => {\n props.options.title = title;\n };\n\n const beforeOpen = () => {\n dialogVisible.value = true;\n };\n\n const handleBtnClick = async ({ result }: any) => {\n if (result !== false) {\n await handleCloseEvent();\n }\n };\n\n const show = () => {\n dialogVisible.value = true;\n\n //设置readMode模式\n nextTick(async () => {\n if (props.options?.readMode) {\n vfdRef.value?.setReadMode(true);\n }\n await getComponentJson([], props.options.formCode);\n vfdRef.value?.setDialogOrDrawerRef(context.value);\n if (props.parentFormRef) {\n props.parentFormRef.setChildFormRef(vfdRef.value);\n }\n handleOpenedEvent();\n });\n };\n\n const close = async () => {\n if (props.options.onDialogBeforeClose) {\n return await asyncExecuteFunction({\n functionBody: props.options.onDialogBeforeClose\n });\n }\n\n dialogVisible.value = false;\n };\n\n const handleCloseEvent = () => {\n close();\n };\n\n const handleOpenedEvent = async () => {\n if (props.options.onDialogOpened) {\n return await asyncExecuteFunction({\n functionBody: props.options.onDialogOpened\n });\n }\n };\n\n const getParentFormRef = () => {\n return props.parentFormRef;\n };\n\n const updateTable = () => {\n if (props.vfCtx?.parent?.exposed?.updateTable) {\n props.vfCtx.parent.exposed.updateTable();\n }\n };\n\n const getExtraData = () => {\n return props.extraData;\n };\n\n const setleftText = number => {\n leftNum.value = number;\n };\n\n const setDisabled = status => {\n isDisabled.value = status;\n };\n\n const getFormRef = () => {\n return vfdRef.value;\n };\n\n const getFormContext = () => {\n return vfdRef.value?.context;\n };\n\n // 暴露方法给父组件\n defineExpose({\n getParentFormRef,\n getFormRef,\n setDisabled,\n setleftText,\n setLoading,\n setTitle,\n beforeOpen,\n show,\n close,\n handleCloseEvent,\n handleOpenedEvent,\n updateTable,\n getExtraData\n });\n</script>\n\n<style lang=\"less\">\n .dialog-content {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-height: 300px;\n }\n</style>\n"],"names":["_createBlock","_unref","_createVNode","_createElementVNode"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicDialog.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import _sfc_main from "./index.vue2.js";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const VFormRender = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ce96bd20"]]);
|
|
5
|
+
export {
|
|
6
|
+
VFormRender as default
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=index.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|