@ecan-bi/datav 1.0.87 → 1.0.89
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/index.es.js +319 -92
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +318 -91
- package/dist/index.umd.js.map +1 -1
- package/dist/style.css +69 -69
- package/es/container/border/Border.js +7 -7
- package/es/container/border/Border.js.map +1 -1
- package/es/container/border/index.js +1 -1
- package/es/container/border/index.js.map +1 -1
- package/es/container/border/props.js +1 -1
- package/es/container/border/props.js.map +1 -1
- package/es/container/modal/Modal.js +6 -9
- package/es/container/modal/Modal.js.map +1 -1
- package/es/container/modal/index.js +1 -1
- package/es/container/modal/index.js.map +1 -1
- package/es/container/modal/props.js +2 -2
- package/es/container/modal/props.js.map +1 -1
- package/es/container/tabs/Tabs.js +8 -8
- package/es/container/tabs/Tabs.js.map +1 -1
- package/es/container/tabs/index.js +1 -1
- package/es/container/tabs/index.js.map +1 -1
- package/es/container/tabs/props.js +1 -1
- package/es/container/tabs/props.js.map +1 -1
- package/es/control/button/Button.js +5 -5
- package/es/control/button/Button.js.map +1 -1
- package/es/control/button/index.js +1 -1
- package/es/control/button/index.js.map +1 -1
- package/es/control/button/props.js +1 -1
- package/es/control/button/props.js.map +1 -1
- package/es/control/checkbox/Checkbox.js +12 -7
- package/es/control/checkbox/Checkbox.js.map +1 -1
- package/es/control/checkbox/index.js +1 -1
- package/es/control/checkbox/index.js.map +1 -1
- package/es/control/checkbox/props.js +1 -1
- package/es/control/checkbox/props.js.map +1 -1
- package/es/control/date-picker/DatePicker.js +14 -10
- package/es/control/date-picker/DatePicker.js.map +1 -1
- package/es/control/date-picker/DatePicker.vue_vue_type_style_index_0_lang.js +5 -0
- package/es/control/date-picker/DatePicker.vue_vue_type_style_index_0_lang.js.map +1 -0
- package/es/control/date-picker/index.js +1 -1
- package/es/control/date-picker/index.js.map +1 -1
- package/es/control/date-picker/props.js +1 -1
- package/es/control/date-picker/props.js.map +1 -1
- package/es/control/input/Input.js +4 -4
- package/es/control/input/Input.js.map +1 -1
- package/es/control/input/index.js +1 -1
- package/es/control/input/index.js.map +1 -1
- package/es/control/input/props.js +1 -1
- package/es/control/input/props.js.map +1 -1
- package/es/control/range-picker/RangePicker.js +6 -6
- package/es/control/range-picker/RangePicker.js.map +1 -1
- package/es/control/range-picker/index.js +1 -1
- package/es/control/range-picker/index.js.map +1 -1
- package/es/control/range-picker/props.js +1 -1
- package/es/control/range-picker/props.js.map +1 -1
- package/es/control/select/Select.js +7 -7
- package/es/control/select/Select.js.map +1 -1
- package/es/control/select/index.js +1 -1
- package/es/control/select/index.js.map +1 -1
- package/es/control/select/props.js +1 -1
- package/es/control/select/props.js.map +1 -1
- package/es/graph/bar/Bar.js +44 -13
- package/es/graph/bar/Bar.js.map +1 -1
- package/es/graph/bar/index.js +1 -1
- package/es/graph/bar/index.js.map +1 -1
- package/es/graph/bar/props.js +2 -3
- package/es/graph/bar/props.js.map +1 -1
- package/es/graph/combo-graph/ComboGraph.js +55 -23
- package/es/graph/combo-graph/ComboGraph.js.map +1 -1
- package/es/graph/combo-graph/index.js +1 -1
- package/es/graph/combo-graph/index.js.map +1 -1
- package/es/graph/combo-graph/props.js +2 -2
- package/es/graph/combo-graph/props.js.map +1 -1
- package/es/graph/custom-graph/CustomGraph.js +3 -3
- package/es/graph/custom-graph/CustomGraph.js.map +1 -1
- package/es/graph/custom-graph/index.js +1 -1
- package/es/graph/custom-graph/index.js.map +1 -1
- package/es/graph/custom-graph/props.js +1 -1
- package/es/graph/custom-graph/props.js.map +1 -1
- package/es/graph/line/Line.js +48 -14
- package/es/graph/line/Line.js.map +1 -1
- package/es/graph/line/index.js +1 -1
- package/es/graph/line/index.js.map +1 -1
- package/es/graph/line/props.js +8 -7
- package/es/graph/line/props.js.map +1 -1
- package/es/graph/pie/Pie.js +32 -11
- package/es/graph/pie/Pie.js.map +1 -1
- package/es/graph/pie/index.js +1 -1
- package/es/graph/pie/index.js.map +1 -1
- package/es/graph/pie/props.js +2 -2
- package/es/graph/pie/props.js.map +1 -1
- package/es/graph/scatter/Scatter.js +19 -10
- package/es/graph/scatter/Scatter.js.map +1 -1
- package/es/graph/scatter/index.js +1 -1
- package/es/graph/scatter/index.js.map +1 -1
- package/es/graph/scatter/props.js +2 -2
- package/es/graph/scatter/props.js.map +1 -1
- package/es/{_utils/hooks → hooks}/useDownloadFile.js +1 -1
- package/es/hooks/useDownloadFile.js.map +1 -0
- package/es/{_utils/hooks → hooks}/useEmitEvent.js +1 -1
- package/es/{_utils/hooks → hooks}/useEmitEvent.js.map +1 -1
- package/es/{_utils/hooks → hooks}/useHrefParamsToGlobalVariables.js +0 -0
- package/es/hooks/useHrefParamsToGlobalVariables.js.map +1 -0
- package/es/{_utils/hooks → hooks}/useImagePath.js +1 -1
- package/es/hooks/useImagePath.js.map +1 -0
- package/es/{_utils/hooks → hooks}/useIndicatorData.js +3 -3
- package/es/hooks/useIndicatorData.js.map +1 -0
- package/es/{_utils/hooks → hooks}/useOnEvent.js +1 -1
- package/es/hooks/useOnEvent.js.map +1 -0
- package/es/{_utils/hooks → hooks}/usePageUrl.js +1 -1
- package/es/hooks/usePageUrl.js.map +1 -0
- package/es/{_utils/hooks → hooks}/usePickComponentStyle.js +0 -0
- package/es/hooks/usePickComponentStyle.js.map +1 -0
- package/es/{_utils/hooks → hooks}/useRequestData.js +4 -9
- package/es/hooks/useRequestData.js.map +1 -0
- package/es/{_utils/hooks → hooks}/useRequestDiagramData.js +2 -2
- package/es/{_utils/hooks → hooks}/useRequestDiagramData.js.map +1 -1
- package/es/{_utils/hooks → hooks}/useTransformChartDataByAttrKey.js +0 -0
- package/es/hooks/useTransformChartDataByAttrKey.js.map +1 -0
- package/es/{_utils/hooks → hooks}/useTransformChartDataByAttrValue.js +0 -0
- package/es/hooks/useTransformChartDataByAttrValue.js.map +1 -0
- package/es/{_utils/hooks → hooks}/useValueFormatter.js +17 -10
- package/es/hooks/useValueFormatter.js.map +1 -0
- package/es/hooks/useVariablesInText.js +45 -0
- package/es/hooks/useVariablesInText.js.map +1 -0
- package/es/map/map/Map.js +5 -5
- package/es/map/map/Map.js.map +1 -1
- package/es/map/map/index.js +1 -1
- package/es/map/map/index.js.map +1 -1
- package/es/map/map/props.js +1 -1
- package/es/map/map/props.js.map +1 -1
- package/es/media/image/Image.js +7 -7
- package/es/media/image/Image.js.map +1 -1
- package/es/media/image/index.js +1 -1
- package/es/media/image/index.js.map +1 -1
- package/es/media/image/props.js +1 -1
- package/es/media/image/props.js.map +1 -1
- package/es/setting/page-config/PageConfig.js +4 -4
- package/es/setting/page-config/PageConfig.js.map +1 -1
- package/es/setting/page-config/index.js +1 -1
- package/es/setting/page-config/index.js.map +1 -1
- package/es/setting/page-config/props.js +1 -1
- package/es/setting/page-config/props.js.map +1 -1
- package/es/setting/provider-config/ProviderConfig.js +7 -5
- package/es/setting/provider-config/ProviderConfig.js.map +1 -1
- package/es/setting/provider-config/index.js +1 -1
- package/es/setting/provider-config/index.js.map +1 -1
- package/es/setting/provider-config/props.js +1 -1
- package/es/setting/provider-config/props.js.map +1 -1
- package/es/table/table/Table.js +96 -37
- package/es/table/table/Table.js.map +1 -1
- package/es/table/table/index.js +1 -1
- package/es/table/table/index.js.map +1 -1
- package/es/table/table/props.js +2 -1
- package/es/table/table/props.js.map +1 -1
- package/es/text/list/List.js +9 -9
- package/es/text/list/List.js.map +1 -1
- package/es/text/list/index.js +1 -1
- package/es/text/list/index.js.map +1 -1
- package/es/text/list/props.js +1 -1
- package/es/text/list/props.js.map +1 -1
- package/es/text/proportion/Proportion.js +7 -7
- package/es/text/proportion/Proportion.js.map +1 -1
- package/es/text/proportion/index.js +1 -1
- package/es/text/proportion/index.js.map +1 -1
- package/es/text/proportion/props.js +1 -1
- package/es/text/proportion/props.js.map +1 -1
- package/es/text/scroll-text/index.js +1 -1
- package/es/text/scroll-text/index.js.map +1 -1
- package/es/text/text/Text.js +27 -7
- package/es/text/text/Text.js.map +1 -1
- package/es/text/text/index.js +1 -1
- package/es/text/text/index.js.map +1 -1
- package/es/text/text/props.js +5 -2
- package/es/text/text/props.js.map +1 -1
- package/es/text/time-display/TimeDisplay.js +4 -4
- package/es/text/time-display/TimeDisplay.js.map +1 -1
- package/es/text/time-display/index.js +1 -1
- package/es/text/time-display/index.js.map +1 -1
- package/es/text/time-display/props.js +1 -1
- package/es/text/time-display/props.js.map +1 -1
- package/es/{_utils → utils}/constant.js +0 -0
- package/es/utils/constant.js.map +1 -0
- package/es/{_utils → utils}/props.js +0 -0
- package/es/utils/props.js.map +1 -0
- package/es/{_utils → utils}/request.js +0 -0
- package/es/utils/request.js.map +1 -0
- package/es/{_utils → utils}/util.js +0 -0
- package/es/utils/util.js.map +1 -0
- package/es/{_utils → utils}/withInstall.js +0 -0
- package/es/utils/withInstall.js.map +1 -0
- package/lib/container/border/Border.js +7 -7
- package/lib/container/border/Border.js.map +1 -1
- package/lib/container/border/index.js +1 -1
- package/lib/container/border/index.js.map +1 -1
- package/lib/container/border/props.js +1 -1
- package/lib/container/border/props.js.map +1 -1
- package/lib/container/modal/Modal.js +6 -9
- package/lib/container/modal/Modal.js.map +1 -1
- package/lib/container/modal/index.js +1 -1
- package/lib/container/modal/index.js.map +1 -1
- package/lib/container/modal/props.js +2 -2
- package/lib/container/modal/props.js.map +1 -1
- package/lib/container/tabs/Tabs.js +8 -8
- package/lib/container/tabs/Tabs.js.map +1 -1
- package/lib/container/tabs/index.js +1 -1
- package/lib/container/tabs/index.js.map +1 -1
- package/lib/container/tabs/props.js +1 -1
- package/lib/container/tabs/props.js.map +1 -1
- package/lib/control/button/Button.js +5 -5
- package/lib/control/button/Button.js.map +1 -1
- package/lib/control/button/index.js +1 -1
- package/lib/control/button/index.js.map +1 -1
- package/lib/control/button/props.js +1 -1
- package/lib/control/button/props.js.map +1 -1
- package/lib/control/checkbox/Checkbox.js +12 -7
- package/lib/control/checkbox/Checkbox.js.map +1 -1
- package/lib/control/checkbox/index.js +1 -1
- package/lib/control/checkbox/index.js.map +1 -1
- package/lib/control/checkbox/props.js +1 -1
- package/lib/control/checkbox/props.js.map +1 -1
- package/lib/control/date-picker/DatePicker.js +13 -9
- package/lib/control/date-picker/DatePicker.js.map +1 -1
- package/lib/control/date-picker/DatePicker.vue_vue_type_style_index_0_lang.js +5 -0
- package/lib/control/date-picker/DatePicker.vue_vue_type_style_index_0_lang.js.map +1 -0
- package/lib/control/date-picker/index.js +1 -1
- package/lib/control/date-picker/index.js.map +1 -1
- package/lib/control/date-picker/props.js +1 -1
- package/lib/control/date-picker/props.js.map +1 -1
- package/lib/control/input/Input.js +4 -4
- package/lib/control/input/Input.js.map +1 -1
- package/lib/control/input/index.js +1 -1
- package/lib/control/input/index.js.map +1 -1
- package/lib/control/input/props.js +1 -1
- package/lib/control/input/props.js.map +1 -1
- package/lib/control/range-picker/RangePicker.js +6 -6
- package/lib/control/range-picker/RangePicker.js.map +1 -1
- package/lib/control/range-picker/index.js +1 -1
- package/lib/control/range-picker/index.js.map +1 -1
- package/lib/control/range-picker/props.js +1 -1
- package/lib/control/range-picker/props.js.map +1 -1
- package/lib/control/select/Select.js +7 -7
- package/lib/control/select/Select.js.map +1 -1
- package/lib/control/select/index.js +1 -1
- package/lib/control/select/index.js.map +1 -1
- package/lib/control/select/props.js +1 -1
- package/lib/control/select/props.js.map +1 -1
- package/lib/graph/bar/Bar.js +44 -13
- package/lib/graph/bar/Bar.js.map +1 -1
- package/lib/graph/bar/index.js +1 -1
- package/lib/graph/bar/index.js.map +1 -1
- package/lib/graph/bar/props.js +2 -3
- package/lib/graph/bar/props.js.map +1 -1
- package/lib/graph/combo-graph/ComboGraph.js +55 -23
- package/lib/graph/combo-graph/ComboGraph.js.map +1 -1
- package/lib/graph/combo-graph/index.js +1 -1
- package/lib/graph/combo-graph/index.js.map +1 -1
- package/lib/graph/combo-graph/props.js +2 -2
- package/lib/graph/combo-graph/props.js.map +1 -1
- package/lib/graph/custom-graph/CustomGraph.js +3 -3
- package/lib/graph/custom-graph/CustomGraph.js.map +1 -1
- package/lib/graph/custom-graph/index.js +1 -1
- package/lib/graph/custom-graph/index.js.map +1 -1
- package/lib/graph/custom-graph/props.js +1 -1
- package/lib/graph/custom-graph/props.js.map +1 -1
- package/lib/graph/line/Line.js +48 -14
- package/lib/graph/line/Line.js.map +1 -1
- package/lib/graph/line/index.js +1 -1
- package/lib/graph/line/index.js.map +1 -1
- package/lib/graph/line/props.js +8 -7
- package/lib/graph/line/props.js.map +1 -1
- package/lib/graph/pie/Pie.js +32 -11
- package/lib/graph/pie/Pie.js.map +1 -1
- package/lib/graph/pie/index.js +1 -1
- package/lib/graph/pie/index.js.map +1 -1
- package/lib/graph/pie/props.js +2 -2
- package/lib/graph/pie/props.js.map +1 -1
- package/lib/graph/scatter/Scatter.js +19 -10
- package/lib/graph/scatter/Scatter.js.map +1 -1
- package/lib/graph/scatter/index.js +1 -1
- package/lib/graph/scatter/index.js.map +1 -1
- package/lib/graph/scatter/props.js +2 -2
- package/lib/graph/scatter/props.js.map +1 -1
- package/lib/{_utils/hooks → hooks}/useDownloadFile.js +1 -1
- package/lib/hooks/useDownloadFile.js.map +1 -0
- package/lib/{_utils/hooks → hooks}/useEmitEvent.js +1 -1
- package/lib/{_utils/hooks → hooks}/useEmitEvent.js.map +1 -1
- package/lib/{_utils/hooks → hooks}/useHrefParamsToGlobalVariables.js +0 -0
- package/lib/hooks/useHrefParamsToGlobalVariables.js.map +1 -0
- package/lib/{_utils/hooks → hooks}/useImagePath.js +1 -1
- package/lib/hooks/useImagePath.js.map +1 -0
- package/lib/{_utils/hooks → hooks}/useIndicatorData.js +3 -3
- package/lib/hooks/useIndicatorData.js.map +1 -0
- package/lib/{_utils/hooks → hooks}/useOnEvent.js +1 -1
- package/lib/hooks/useOnEvent.js.map +1 -0
- package/lib/{_utils/hooks → hooks}/usePageUrl.js +1 -1
- package/lib/hooks/usePageUrl.js.map +1 -0
- package/lib/{_utils/hooks → hooks}/usePickComponentStyle.js +0 -0
- package/lib/hooks/usePickComponentStyle.js.map +1 -0
- package/lib/{_utils/hooks → hooks}/useRequestData.js +4 -9
- package/lib/hooks/useRequestData.js.map +1 -0
- package/lib/{_utils/hooks → hooks}/useRequestDiagramData.js +2 -2
- package/lib/{_utils/hooks → hooks}/useRequestDiagramData.js.map +1 -1
- package/lib/{_utils/hooks → hooks}/useTransformChartDataByAttrKey.js +0 -0
- package/lib/hooks/useTransformChartDataByAttrKey.js.map +1 -0
- package/lib/{_utils/hooks → hooks}/useTransformChartDataByAttrValue.js +0 -0
- package/lib/hooks/useTransformChartDataByAttrValue.js.map +1 -0
- package/lib/{_utils/hooks → hooks}/useValueFormatter.js +17 -10
- package/lib/hooks/useValueFormatter.js.map +1 -0
- package/lib/hooks/useVariablesInText.js +45 -0
- package/lib/hooks/useVariablesInText.js.map +1 -0
- package/lib/map/map/Map.js +5 -5
- package/lib/map/map/Map.js.map +1 -1
- package/lib/map/map/index.js +1 -1
- package/lib/map/map/index.js.map +1 -1
- package/lib/map/map/props.js +1 -1
- package/lib/map/map/props.js.map +1 -1
- package/lib/media/image/Image.js +7 -7
- package/lib/media/image/Image.js.map +1 -1
- package/lib/media/image/index.js +1 -1
- package/lib/media/image/index.js.map +1 -1
- package/lib/media/image/props.js +1 -1
- package/lib/media/image/props.js.map +1 -1
- package/lib/setting/page-config/PageConfig.js +4 -4
- package/lib/setting/page-config/PageConfig.js.map +1 -1
- package/lib/setting/page-config/index.js +1 -1
- package/lib/setting/page-config/index.js.map +1 -1
- package/lib/setting/page-config/props.js +1 -1
- package/lib/setting/page-config/props.js.map +1 -1
- package/lib/setting/provider-config/ProviderConfig.js +7 -5
- package/lib/setting/provider-config/ProviderConfig.js.map +1 -1
- package/lib/setting/provider-config/index.js +1 -1
- package/lib/setting/provider-config/index.js.map +1 -1
- package/lib/setting/provider-config/props.js +1 -1
- package/lib/setting/provider-config/props.js.map +1 -1
- package/lib/style.css +2806 -2806
- package/lib/table/table/Table.js +96 -37
- package/lib/table/table/Table.js.map +1 -1
- package/lib/table/table/index.js +1 -1
- package/lib/table/table/index.js.map +1 -1
- package/lib/table/table/props.js +2 -1
- package/lib/table/table/props.js.map +1 -1
- package/lib/text/list/List.js +9 -9
- package/lib/text/list/List.js.map +1 -1
- package/lib/text/list/index.js +1 -1
- package/lib/text/list/index.js.map +1 -1
- package/lib/text/list/props.js +1 -1
- package/lib/text/list/props.js.map +1 -1
- package/lib/text/proportion/Proportion.js +7 -7
- package/lib/text/proportion/Proportion.js.map +1 -1
- package/lib/text/proportion/index.js +1 -1
- package/lib/text/proportion/index.js.map +1 -1
- package/lib/text/proportion/props.js +1 -1
- package/lib/text/proportion/props.js.map +1 -1
- package/lib/text/scroll-text/index.js +1 -1
- package/lib/text/scroll-text/index.js.map +1 -1
- package/lib/text/text/Text.js +27 -7
- package/lib/text/text/Text.js.map +1 -1
- package/lib/text/text/index.js +1 -1
- package/lib/text/text/index.js.map +1 -1
- package/lib/text/text/props.js +5 -2
- package/lib/text/text/props.js.map +1 -1
- package/lib/text/time-display/TimeDisplay.js +4 -4
- package/lib/text/time-display/TimeDisplay.js.map +1 -1
- package/lib/text/time-display/index.js +1 -1
- package/lib/text/time-display/index.js.map +1 -1
- package/lib/text/time-display/props.js +1 -1
- package/lib/text/time-display/props.js.map +1 -1
- package/lib/{_utils → utils}/constant.js +0 -0
- package/lib/utils/constant.js.map +1 -0
- package/lib/{_utils → utils}/props.js +0 -0
- package/lib/utils/props.js.map +1 -0
- package/lib/{_utils → utils}/request.js +0 -0
- package/lib/utils/request.js.map +1 -0
- package/lib/{_utils → utils}/util.js +0 -0
- package/lib/utils/util.js.map +1 -0
- package/lib/{_utils → utils}/withInstall.js +0 -0
- package/lib/utils/withInstall.js.map +1 -0
- package/package.json +1 -1
- package/types/container/border/Border.vue.d.ts +140 -140
- package/types/container/border/index.d.ts +141 -141
- package/types/container/border/props.d.ts +71 -71
- package/types/container/modal/Modal.vue.d.ts +1 -1
- package/types/container/modal/index.d.ts +2 -2
- package/types/container/tabs/index.d.ts +1 -1
- package/types/container/tabs/props.d.ts +1 -1
- package/types/control/button/Button.vue.d.ts +120 -120
- package/types/control/button/index.d.ts +121 -121
- package/types/control/button/props.d.ts +61 -61
- package/types/control/checkbox/Checkbox.vue.d.ts +96 -96
- package/types/control/checkbox/index.d.ts +97 -97
- package/types/control/checkbox/props.d.ts +49 -49
- package/types/control/date-picker/DatePicker.vue.d.ts +104 -104
- package/types/control/date-picker/index.d.ts +105 -105
- package/types/control/date-picker/props.d.ts +53 -53
- package/types/control/input/Input.vue.d.ts +96 -96
- package/types/control/input/index.d.ts +97 -97
- package/types/control/input/props.d.ts +49 -49
- package/types/control/range-picker/RangePicker.vue.d.ts +104 -104
- package/types/control/range-picker/index.d.ts +105 -105
- package/types/control/range-picker/props.d.ts +53 -53
- package/types/control/select/Select.vue.d.ts +100 -100
- package/types/control/select/index.d.ts +101 -101
- package/types/control/select/props.d.ts +51 -51
- package/types/graph/bar/Bar.vue.d.ts +282 -310
- package/types/graph/bar/index.d.ts +282 -310
- package/types/graph/bar/props.d.ts +141 -156
- package/types/graph/combo-graph/ComboGraph.vue.d.ts +8 -6
- package/types/graph/combo-graph/index.d.ts +9 -7
- package/types/graph/combo-graph/props.d.ts +1 -1
- package/types/graph/custom-graph/CustomGraph.vue.d.ts +96 -96
- package/types/graph/custom-graph/index.d.ts +97 -97
- package/types/graph/custom-graph/props.d.ts +49 -49
- package/types/graph/line/Line.vue.d.ts +33 -3
- package/types/graph/line/index.d.ts +34 -4
- package/types/graph/line/props.d.ts +17 -1
- package/types/graph/pie/Pie.vue.d.ts +1 -1
- package/types/graph/pie/index.d.ts +2 -2
- package/types/graph/pie/props.d.ts +1 -1
- package/types/graph/scatter/index.d.ts +1 -1
- package/types/graph/scatter/props.d.ts +1 -1
- package/types/{_utils/hooks → hooks}/index.d.ts +0 -2
- package/types/{_utils/hooks → hooks}/useDownloadFile.d.ts +0 -0
- package/types/{_utils/hooks → hooks}/useEmitEvent.d.ts +0 -0
- package/types/{_utils/hooks → hooks}/useHrefParamsToGlobalVariables.d.ts +0 -0
- package/types/{_utils/hooks → hooks}/useImagePath.d.ts +0 -0
- package/types/{_utils/hooks → hooks}/useIndicatorData.d.ts +0 -0
- package/types/{_utils/hooks → hooks}/useOnEvent.d.ts +0 -0
- package/types/{_utils/hooks → hooks}/usePageUrl.d.ts +0 -0
- package/types/{_utils/hooks → hooks}/usePickComponentStyle.d.ts +0 -0
- package/types/{_utils/hooks → hooks}/useRequestData.d.ts +0 -0
- package/types/{_utils/hooks → hooks}/useRequestDiagramData.d.ts +0 -0
- package/types/{_utils/hooks → hooks}/useTransformChartDataByAttrKey.d.ts +1 -1
- package/types/{_utils/hooks → hooks}/useTransformChartDataByAttrValue.d.ts +1 -1
- package/types/{_utils/hooks → hooks}/useValueFormatter.d.ts +0 -0
- package/types/hooks/useVariablesInText.d.ts +7 -0
- package/types/map/map/Map.vue.d.ts +224 -224
- package/types/map/map/index.d.ts +225 -225
- package/types/map/map/props.d.ts +113 -113
- package/types/media/image/Image.vue.d.ts +104 -104
- package/types/media/image/index.d.ts +105 -105
- package/types/media/image/props.d.ts +53 -53
- package/types/setting/page-config/index.d.ts +1 -1
- package/types/setting/provider-config/index.d.ts +1 -1
- package/types/table/table/Table.vue.d.ts +212 -173
- package/types/table/table/index.d.ts +213 -174
- package/types/table/table/props.d.ts +106 -85
- package/types/text/list/List.vue.d.ts +128 -128
- package/types/text/list/index.d.ts +129 -129
- package/types/text/list/props.d.ts +65 -65
- package/types/text/proportion/Proportion.vue.d.ts +144 -144
- package/types/text/proportion/index.d.ts +145 -145
- package/types/text/proportion/props.d.ts +73 -73
- package/types/text/scroll-text/index.d.ts +1 -1
- package/types/text/text/Text.vue.d.ts +206 -140
- package/types/text/text/index.d.ts +207 -141
- package/types/text/text/props.d.ts +107 -71
- package/types/text/time-display/TimeDisplay.vue.d.ts +120 -120
- package/types/text/time-display/index.d.ts +121 -121
- package/types/text/time-display/props.d.ts +61 -61
- package/types/{_utils → utils}/constant.d.ts +0 -0
- package/types/{_utils → utils}/props.d.ts +0 -0
- package/types/{_utils → utils}/request.d.ts +0 -0
- package/types/{_utils → utils}/util.d.ts +0 -0
- package/types/{_utils → utils}/withInstall.d.ts +0 -0
- package/es/_utils/constant.js.map +0 -1
- package/es/_utils/hooks/useDownloadFile.js.map +0 -1
- package/es/_utils/hooks/useHrefParamsToGlobalVariables.js.map +0 -1
- package/es/_utils/hooks/useImagePath.js.map +0 -1
- package/es/_utils/hooks/useIndicatorData.js.map +0 -1
- package/es/_utils/hooks/useOnEvent.js.map +0 -1
- package/es/_utils/hooks/usePageUrl.js.map +0 -1
- package/es/_utils/hooks/usePickComponentStyle.js.map +0 -1
- package/es/_utils/hooks/useRequestData.js.map +0 -1
- package/es/_utils/hooks/useTransformChartDataByAttrKey.js.map +0 -1
- package/es/_utils/hooks/useTransformChartDataByAttrValue.js.map +0 -1
- package/es/_utils/hooks/useValueFormatter.js.map +0 -1
- package/es/_utils/hooks/useVariablesInText.js +0 -23
- package/es/_utils/hooks/useVariablesInText.js.map +0 -1
- package/es/_utils/props.js.map +0 -1
- package/es/_utils/request.js.map +0 -1
- package/es/_utils/util.js.map +0 -1
- package/es/_utils/withInstall.js.map +0 -1
- package/es/control/date-picker/DatePicker.vue_vue_type_style_index_0_scoped_true_lang.js +0 -5
- package/es/control/date-picker/DatePicker.vue_vue_type_style_index_0_scoped_true_lang.js.map +0 -1
- package/es/control/date-picker/DatePicker.vue_vue_type_style_index_1_lang.js +0 -5
- package/es/control/date-picker/DatePicker.vue_vue_type_style_index_1_lang.js.map +0 -1
- package/lib/_utils/constant.js.map +0 -1
- package/lib/_utils/hooks/useDownloadFile.js.map +0 -1
- package/lib/_utils/hooks/useHrefParamsToGlobalVariables.js.map +0 -1
- package/lib/_utils/hooks/useImagePath.js.map +0 -1
- package/lib/_utils/hooks/useIndicatorData.js.map +0 -1
- package/lib/_utils/hooks/useOnEvent.js.map +0 -1
- package/lib/_utils/hooks/usePageUrl.js.map +0 -1
- package/lib/_utils/hooks/usePickComponentStyle.js.map +0 -1
- package/lib/_utils/hooks/useRequestData.js.map +0 -1
- package/lib/_utils/hooks/useTransformChartDataByAttrKey.js.map +0 -1
- package/lib/_utils/hooks/useTransformChartDataByAttrValue.js.map +0 -1
- package/lib/_utils/hooks/useValueFormatter.js.map +0 -1
- package/lib/_utils/hooks/useVariablesInText.js +0 -23
- package/lib/_utils/hooks/useVariablesInText.js.map +0 -1
- package/lib/_utils/props.js.map +0 -1
- package/lib/_utils/request.js.map +0 -1
- package/lib/_utils/util.js.map +0 -1
- package/lib/_utils/withInstall.js.map +0 -1
- package/lib/control/date-picker/DatePicker.vue_vue_type_style_index_0_scoped_true_lang.js +0 -5
- package/lib/control/date-picker/DatePicker.vue_vue_type_style_index_0_scoped_true_lang.js.map +0 -1
- package/lib/control/date-picker/DatePicker.vue_vue_type_style_index_1_lang.js +0 -5
- package/lib/control/date-picker/DatePicker.vue_vue_type_style_index_1_lang.js.map +0 -1
- package/types/_utils/hooks/usePickEchartsData.d.ts +0 -2
- package/types/_utils/hooks/useTooltipFormatter.d.ts +0 -4
- package/types/_utils/hooks/useVariablesInText.d.ts +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sources":["../../../src/table/table/Table.vue"],"sourcesContent":["<template>\n <div class=\"ecan-table\" :style=\"style\">\n <skeleton :loading=\"loading\">\n <a-table\n class=\"table\"\n :style=\"{\n height: '100%'\n }\"\n :columns=\"dataColumns.length > 0 ? dataColumns : myColumns\"\n :data-source=\"dataSource\"\n :bordered=\"bordered\"\n :size=\"size\"\n :customRow=\"customRow\"\n :scroll=\"{ x, y }\"\n :pagination=\"pagination\"\n @change=\"tableChange\"\n >\n <template v-slot:bodyCell=\"{ column, index, text, record }\">\n <!-- 序列配置 -->\n <template v-if=\"column.dataIndex === 'SEQ'\">\n <span\n :style=\"{\n fontSize,\n fontWeight\n }\"\n >\n {{ index + 1 }}\n </span>\n </template>\n <!-- 操作列配置 -->\n <template v-else-if=\"column.dataIndex === 'ACTION'\">\n <div class=\"action-list\">\n <div class=\"action\" v-for=\"(action, index) in actionList\" :key=\"index\">\n <a\n :href=\"handleHref(action.href, record)\"\n :target=\"handleHrefTarget(action.target)\"\n :style=\"{\n color: action.color,\n fontSize,\n fontWeight\n }\"\n @click=\"onTouchHrefEvent(action.target, handleHref(action.href, record))\"\n >\n {{ action.title }}\n </a>\n </div>\n </div>\n </template>\n <template v-else>\n <div\n :class=\"[contrastClass(text, column.format)]\"\n :style=\"{\n fontSize,\n fontWeight\n }\"\n >\n {{ (column.format != null || column.format !== '') && formatFn(text, column.format) }}\n </div>\n </template>\n </template>\n <template v-slot:summary>\n <a-table-summary v-if=\"summaryList.length > 0\">\n <a-table-summary-row>\n <a-table-summary-cell\n v-for=\"(summary, index) in summaryList\"\n :key=\"summary.dataIndex + index\"\n :index=\"summary.index\"\n :style=\"{\n backgroundColor: cellBackgroundColor,\n textAlign: summary.cellAlign || 'center',\n color: summary.cellColor,\n borderBottomColor: borderColor\n }\"\n >\n <div :class=\"[contrastClass(summary.total, summary.format)]\">\n {{ (summary.format != null || summary.format !== '') && formatFn(summary.total, summary.format) }}\n </div>\n </a-table-summary-cell>\n </a-table-summary-row>\n </a-table-summary>\n </template>\n </a-table>\n </skeleton>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, unref, ref, watch, inject } from 'vue'\nimport {\n Table as ATable,\n TableSummary as ATableSummary,\n TableSummaryRow as ATableSummaryRow,\n TableSummaryCell as ATableSummaryCell\n} from 'ant-design-vue'\nimport 'ant-design-vue/es/table/style'\nimport {\n usePickComponentStyle,\n useEmitEvent,\n useRequestData,\n useOnEvent,\n useIndicatorData,\n useVariablesInText\n} from '@/_utils/hooks'\nimport { tableComponentProps } from './props'\nimport { formatMoney, formatPercentage } from '@/_utils/util'\nimport { GLOBAL_CONFIG, GLOBAL_MODEL, REQUEST_MODEL } from '@/_utils/constant'\nimport Skeleton from '@/common/skeleton/Skeleton.vue'\n\nexport default defineComponent({\n name: 'EcanTable',\n components: {\n Skeleton,\n ATable,\n ATableSummary,\n ATableSummaryRow,\n ATableSummaryCell\n },\n props: {\n ...tableComponentProps\n },\n setup (props, { expose }) {\n const style = usePickComponentStyle(props)\n const splitY = computed(() => {\n if (props.paginationShow) {\n switch (props.size) {\n case 'small':\n return 90\n case 'middle':\n return 100\n default:\n return 120\n }\n } else {\n switch (props.size) {\n case 'small':\n return 40\n case 'middle':\n return 47\n default:\n return 55\n }\n }\n })\n const x = computed(() => props.scrollX)\n const y = computed(() => parseFloat(props.height as string) - unref(splitY))\n const myColumns = computed(() => {\n // 复制表头数据\n let columns = [] as { [key: string]: any } []\n const isUseSeq = props.isUseSeq as boolean\n if (isUseSeq) {\n // 添加序号\n columns.push({\n title: '序号',\n dataIndex: 'SEQ'\n })\n }\n columns = columns.concat(props.columns as { [key: string]: any } [])\n // 添加操作列\n if (props.isUseAction) {\n columns.push({\n title: '操作',\n dataIndex: 'ACTION',\n width: props.actionColumnWidth\n })\n }\n const len = columns.length\n const columnsFixedNum = props.columnsFixedNum as number\n // 这里的循环为了 props 是引用类型,会造成脏数据(上次修改后,还会存在上次的数据)\n // 如果使用深拷贝会造成性能的浪费,循环来说相对更快\n for (let i = 0; i < len; i++) {\n const column = columns[i]\n if (i < columnsFixedNum) {\n column.fixed = 'left'\n } else {\n column.fixed = false\n }\n const {\n headerCellAlign = 'center',\n headerCellColor,\n cellAlign = 'center',\n cellColor\n } = column\n // 通用配置\n column.customHeaderCell = () => ({\n style: {\n textAlign: headerCellAlign,\n color: headerCellColor,\n backgroundColor: props.headerCellBackgroundColor,\n borderBottomColor: props.borderColor\n }\n })\n column.customCell = () => ({\n style: {\n textAlign: cellAlign,\n color: cellColor,\n backgroundColor: props.cellBackgroundColor,\n borderBottomColor: props.borderColor\n }\n })\n }\n return columns\n })\n const total = ref(0)\n const pageNum = ref(1)\n const pageSize = computed(() => props.paginationPageSize as number)\n const dataSource = ref(props.data as { [key: string]: any } [])\n watch(() => [props.data, props.dataType], ([data, dataType]) => {\n if (dataType !== 'static') return\n dataSource.value = data as { [key: string]: any } []\n })\n const orderCondition = ref<string | undefined>(undefined)\n const requestData = useRequestData(props)\n const loading = ref(false)\n const handleRequestData = async (isUseLoading: boolean = true) => {\n try {\n if (isUseLoading) loading.value = true\n // 初始参数:排序\n let params = {\n orderCondition: unref(orderCondition)\n } as { [key:string]: any }\n // 分页\n if (props.paginationShow) {\n params = {\n ...params,\n pageNum: unref(pageNum),\n pageSize: unref(pageSize),\n layer: '1'\n }\n }\n const res = await requestData(params)\n const { rows = [], total: tableTotal = 0 } = res?.data?.data || {}\n total.value = tableTotal\n dataSource.value = rows\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n const tableChange = ({ current }: { current: number }, _filters, sorter) => {\n pageNum.value = current\n if (sorter && Object.keys(sorter).length > 0) {\n const { field, order } = sorter as { field: string | null, order: 'ascend' | 'descend' }\n const map = {\n ascend: 'asc',\n descend: 'desc'\n }\n const fieldOrder = map[order]\n if (field != null && fieldOrder != null) {\n orderCondition.value = field + ' ' + fieldOrder\n pageNum.value = 1\n }\n }\n refreshData(false)\n }\n const pagination = computed(() => {\n const simple = props.simple\n const position = [props.paginationPosition]\n return props.paginationShow && {\n simple,\n position,\n total: unref(total),\n current: unref(pageNum),\n pageSize: unref(pageSize),\n showSizeChanger: false\n }\n })\n const formatBoolean = (value: string | number) => {\n if (+value === 1) return '是'\n if (+value === 0) return '否'\n return value\n }\n type Format = 'money' | 'percentage' | 'contrast' | 'boolean' | ''\n const formatFn = (value: string | number, format?: Format) => {\n if (format == null || format === '') return value\n const map = {\n money: formatMoney,\n percentage: formatPercentage,\n contrast: formatPercentage,\n boolean: formatBoolean\n }\n return map[format](value) || ''\n }\n const contrastClass = (value: string | number, format: Format) => {\n const _value = parseFloat(value + '')\n if (format !== 'contrast') {\n return ''\n }\n switch (true) {\n case _value >= 0:\n return 'goUp'\n case _value < 0:\n return 'goDown'\n }\n }\n\n const emitEvent = useEmitEvent(props)\n\n const { pageMode } = inject(GLOBAL_CONFIG, {\n pageMode: 'normal'\n })\n\n const { getGlobalModel, setGlobalModel } = inject(GLOBAL_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n getGlobalModel: (key: string) => void 0,\n // @ts-ignore\n // eslint-disable-next-line no-void\n setGlobalModel: (key: string, value: any) => void 0\n })\n\n const dataColumns = ref([])\n const handleIndicatorDataset = (colmuns: any = [], rows: any = []) => {\n dataColumns.value = colmuns.map((it: string) => {\n return { title: it, dataIndex: it, key: it }\n })\n dataSource.value = rows\n }\n\n // 指标库\n const indicatorData = useIndicatorData(props)\n const handleIndicatorData = async () => {\n try {\n loading.value = true\n const res = await indicatorData()\n handleIndicatorDataset(res?.data?.data?.columns, res?.data?.data?.rows)\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n\n const customRow = (record) => ({\n onClick: emitEvent('click', () => {\n const id = props.id as string\n const modal = getGlobalModel(id)\n // 约定获取数据\n setGlobalModel(id, { ...modal, RECORD: record })\n })\n })\n const refreshData = (isUseLoading: boolean = true) => {\n if (unref(pageMode) === 'design') return\n switch (props.dataType) {\n case 'request':\n handleRequestData(isUseLoading)\n break\n case 'indicator':\n handleIndicatorData()\n break\n }\n }\n useOnEvent(props, {\n refreshData\n })\n const summaryList = computed(() => {\n const columns = props.columns as { [key: string]: any } []\n const summaryList = (props.isUseSeq ? [{ total: '小计' }] : []) as { [key: string]: any } []\n let calcTotalCount = 0\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]\n const { isCalcTotal } = column\n if (isCalcTotal) {\n summaryList.push({\n ...column,\n index: i,\n total: 0\n })\n calcTotalCount++\n } else {\n summaryList.push({\n ...column\n })\n }\n }\n // 为空直接返回\n if (calcTotalCount === 0) return []\n const start = (unref(pageNum) - 1) * unref(pageSize)\n const end = start + unref(pageSize)\n const records = unref(dataSource).slice(start, end)\n for (let i = 0; i < records.length; i++) {\n const record = records[i]\n for (let j = 0; j < summaryList.length; j++) {\n const summary = summaryList[j]\n const { dataIndex, total } = summary\n const num = +record[dataIndex]\n if (!Number.isNaN(num) && total != null) {\n summary.total = num + total\n }\n }\n }\n return summaryList\n })\n\n const { setRequest } = inject(REQUEST_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n setRequest: (requestFn: Function, sortNum: number) => void 0\n })\n\n setRequest(refreshData, props.requestSort as number)\n\n expose({\n refreshData\n })\n\n const handleHref = (href: string = '', data: { [key:string]: any }) => {\n return useVariablesInText(href, data)\n }\n\n const handleHrefTarget = (target: 'self' | 'blank' | 'event') => {\n if (target === 'event') {\n return undefined\n } else {\n const map = {\n self: '_self',\n blank: '_blank'\n }\n return map[target]\n }\n }\n\n const onTouchHrefEvent = (target: 'self' | 'blank' | 'event', href: string = '') => {\n if (target === 'event') {\n window.parent.postMessage({\n type: 'openPage',\n url: href\n }, '*')\n }\n }\n\n return {\n x,\n y,\n myColumns,\n style,\n customRow,\n pagination,\n formatFn,\n contrastClass,\n tableChange,\n dataColumns,\n dataSource,\n summaryList,\n loading,\n onTouchHrefEvent,\n handleHref,\n handleHrefTarget\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n.table {\n width: 100%;\n}\n\n.goUp {\n color: #FF512E;\n display: flex;\n align-items: center;\n justify-content: center;\n &:before {\n content: '';\n display: block;\n background-image: url(\"../../assets/go-up.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n}\n\n.goDown {\n color: #39cf93;\n display: flex;\n align-items: center;\n justify-content: center;\n &:before {\n content: '';\n display: block;\n background-image: url(\"../../assets/go-down.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n}\n\n.action-list {\n display: flex;\n width: 100%;\n}\n.action {\n flex: 1;\n}\n</style>\n\n<style lang=\"less\">\n.ecan-table {\n *::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n\n *::-webkit-scrollbar-thumb {\n border-radius: 3px;\n -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);\n background-color: #c8c9ca !important;\n }\n\n *::-webkit-scrollbar-track {\n background-color: #fff;\n }\n\n .ant-table-cell-scrollbar {\n box-shadow: 0 1px 0 1px transparent;\n }\n\n .ant-table {\n color: rgba(0, 0, 0, .65);\n background: #ffffff;\n }\n\n .ant-table-thead > tr > th {\n color: rgba(0, 0, 0, .85);\n background: #fafafa;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .ant-table-tbody > tr > td {\n border-bottom: 1px solid #f0f0f0;\n }\n\n .ant-table-bordered {\n .ant-table-container {\n border: 1px solid #f0f0f0 !important;\n }\n\n .ant-table-cell {\n border-right: 1px solid #f0f0f0 !important;\n }\n }\n\n .anticon {\n color: rgba(0, 0, 0, .65) !important;\n }\n}\n\n[datav-theme='darkBlue'] {\n .ecan-table {\n *::-webkit-scrollbar-thumb {\n background-color: #2f4dac !important;\n }\n\n *::-webkit-scrollbar-track {\n background-color: #192c70;\n }\n\n *::-webkit-scrollbar-corner {\n background-color: #192c70 !important;\n }\n .ant-table {\n color: #e8e8e8;\n background: #071655;\n }\n\n .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table,\n .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table {\n border-top: 1px solid #3e8ee3 !important;\n }\n\n .ant-table-thead > tr > th {\n color: #cdd0f7;\n background: #17338c;\n border-bottom: 1px solid #3e8ee3;\n }\n\n .ant-table-tbody > tr > td {\n border-bottom: 1px solid #3e8ee3;\n }\n\n .ant-table-bordered {\n .ant-table-container {\n border: 1px solid #3e8ee3 !important;\n }\n\n .ant-table-cell {\n border-right: 1px solid #3e8ee3 !important;\n }\n }\n\n .ant-pagination-item-link {\n background: #17338c !important;\n }\n\n .ant-pagination-item {\n background: #17338c !important;\n }\n\n .anticon {\n color: rgba(255, 255, 255, .65) !important;\n }\n\n .ant-table-tbody > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td {\n background: #225b98;\n }\n }\n\n td.ant-table-column-sort {\n background: #225b98;\n }\n}\n</style>\n"],"names":["ATable","ATableSummary","ATableSummaryRow","ATableSummaryCell","summaryList","total","_createElementBlock","_normalizeStyle","_createVNode","_withCtx","_openBlock","_toDisplayString","_Fragment","_renderList","index","_createElementVNode","_normalizeClass","_createBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Table.js","sources":["../../../src/table/table/Table.vue"],"sourcesContent":["<template>\n <div class=\"ecan-table\" :style=\"style\">\n <skeleton :loading=\"loading\">\n <a-table\n class=\"table\"\n :style=\"{\n height: '100%'\n }\"\n :columns=\"tableColumns\"\n :data-source=\"tableDataSource\"\n :bordered=\"bordered\"\n :size=\"size\"\n :customRow=\"customRow\"\n :scroll=\"{ x, y }\"\n :pagination=\"pagination\"\n @change=\"tableChange\"\n >\n <template v-slot:bodyCell=\"{ column, index, text, record }\">\n <!-- 序列配置 -->\n <template v-if=\"column.dataIndex === 'SEQ'\">\n <span\n :style=\"{\n fontSize,\n fontWeight\n }\"\n >\n {{ index + 1 }}\n </span>\n </template>\n <!-- 操作列配置 -->\n <template v-else-if=\"column.dataIndex === 'ACTION'\">\n <div class=\"action-list\">\n <div class=\"action\" v-for=\"(action, index) in actionList\" :key=\"index\">\n <a\n :href=\"handleHref(action.href, record)\"\n :target=\"handleHrefTarget(action.target)\"\n :style=\"{\n color: action.color,\n fontSize,\n fontWeight\n }\"\n @click=\"onTouchHrefEvent(action.target, handleHref(action.href, record))\"\n >\n {{ action.title }}\n </a>\n </div>\n </div>\n </template>\n <template v-else>\n <div\n :class=\"[contrastClass(text, column.format)]\"\n :style=\"{\n fontSize,\n fontWeight\n }\"\n >\n {{ (column.format != null || column.format !== '') && formatFn(text, column.format) }}\n </div>\n </template>\n </template>\n <template v-slot:summary>\n <a-table-summary v-if=\"summaryList.length > 0\">\n <a-table-summary-row>\n <a-table-summary-cell\n v-for=\"(summary, index) in summaryList\"\n :key=\"summary.dataIndex + index\"\n :index=\"summary.index\"\n :style=\"{\n backgroundColor: cellBackgroundColor,\n textAlign: summary.cellAlign || 'center',\n color: summary.cellColor,\n borderBottomColor: borderColor\n }\"\n >\n <div :class=\"[contrastClass(summary.total, summary.format)]\">\n {{ (summary.format != null || summary.format !== '') && formatFn(summary.total, summary.format) }}\n </div>\n </a-table-summary-cell>\n </a-table-summary-row>\n </a-table-summary>\n </template>\n </a-table>\n </skeleton>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, unref, ref, watch, inject } from 'vue'\nimport {\n Table as ATable,\n TableSummary as ATableSummary,\n TableSummaryRow as ATableSummaryRow,\n TableSummaryCell as ATableSummaryCell\n} from 'ant-design-vue'\nimport 'ant-design-vue/es/table/style'\nimport {\n usePickComponentStyle,\n useEmitEvent,\n useRequestData,\n useOnEvent,\n useIndicatorData,\n useVariablesInText\n} from '@/hooks'\nimport { tableComponentProps } from './props'\nimport { formatMoney, formatPercentage } from '@/utils/util'\nimport { GLOBAL_CONFIG, GLOBAL_MODEL, REQUEST_MODEL } from '@/utils/constant'\nimport Skeleton from '@/common/skeleton/Skeleton.vue'\nimport { cloneDeep } from 'lodash-es'\n\nexport default defineComponent({\n name: 'EcanTable',\n components: {\n Skeleton,\n ATable,\n ATableSummary,\n ATableSummaryRow,\n ATableSummaryCell\n },\n props: {\n ...tableComponentProps\n },\n setup (props, { expose }) {\n const style = usePickComponentStyle(props)\n const splitY = computed(() => {\n if (props.paginationShow) {\n switch (props.size) {\n case 'small':\n return 90\n case 'middle':\n return 100\n default:\n return 120\n }\n } else {\n switch (props.size) {\n case 'small':\n return 40\n case 'middle':\n return 47\n default:\n return 55\n }\n }\n })\n const x = computed(() => props.scrollX)\n const y = computed(() => parseFloat(props.height as string) - unref(splitY))\n const myColumns = ref([] as { [key: string]: any } [])\n const myDataSource = ref(props.data as { [key: string]: any } [])\n const tableColumns = ref([] as { [key: string]: any } [])\n const tableDataSource = ref([] as { [key: string]: any } [])\n const total = ref(0)\n const pageNum = ref(1)\n const pageSize = computed(() => props.paginationPageSize as number)\n const handleColumns = (columns: { [key: string]: any } [] = []) => {\n // 复制表头数据\n let _columns = [] as { [key: string]: any } []\n const isUseSeq = props.isUseSeq as boolean\n if (isUseSeq) {\n // 添加序号\n _columns.push({\n title: '序号',\n dataIndex: 'SEQ'\n })\n }\n _columns = _columns.concat(cloneDeep((columns)))\n // 添加操作列\n if (props.isUseAction) {\n _columns.push({\n title: '操作',\n dataIndex: 'ACTION',\n width: props.actionColumnWidth\n })\n }\n const len = _columns.length\n const columnsFixedNum = props.columnsFixedNum as number\n // 这里的循环为了 props 是引用类型,会造成脏数据(上次修改后,还会存在上次的数据)\n // 如果使用深拷贝会造成性能的浪费,循环来说相对更快\n for (let i = 0; i < len; i++) {\n const column = _columns[i]\n if (i < columnsFixedNum) {\n column.fixed = 'left'\n } else {\n column.fixed = false\n }\n const {\n headerCellAlign = 'center',\n headerCellColor,\n cellAlign = 'center',\n cellColor\n } = column\n // 通用配置\n column.customHeaderCell = () => ({\n style: {\n textAlign: headerCellAlign,\n color: headerCellColor,\n backgroundColor: props.headerCellBackgroundColor,\n borderBottomColor: props.borderColor\n }\n })\n column.customCell = () => ({\n style: {\n textAlign: cellAlign,\n color: cellColor,\n backgroundColor: props.cellBackgroundColor,\n borderBottomColor: props.borderColor\n }\n })\n }\n myColumns.value = _columns\n }\n watch(() => [\n props.columns,\n props.isUseSeq,\n props.isUseAction,\n props.columnsFixedNum,\n props.actionColumnWidth,\n props.headerCellBackgroundColor,\n props.cellBackgroundColor,\n props.borderColor\n ], () => {\n handleColumns(props.columns as any [])\n }, {\n immediate: true,\n deep: true\n })\n watch(() => [props.data, props.dataType], ([data, dataType]) => {\n if (dataType !== 'static') return\n myDataSource.value = data as { [key: string]: any } []\n })\n const handleReverseTable = (columns: { [key:string]: any} [], dataSource: { [key:string]: any} []) => {\n const firstColumns = columns[0]\n const _columns = [{\n title: firstColumns.title,\n dataIndex: 'col0',\n key: 'col0'\n }] as { [key:string]: any } []\n for (let i = 0; i < dataSource.length; i++) {\n const data = dataSource[i]\n const dataIndex = 'col' + (i + 1)\n _columns.push({\n title: data[firstColumns.dataIndex],\n dataIndex,\n key: dataIndex\n })\n }\n const _dataSource = [] as { [key:string]: any } []\n for (let i = 1; i < columns.length; i++) {\n const column = columns[i]\n const _data = { col0: column.title }\n for (let j = 0; j < dataSource.length; j++) {\n const data = dataSource[j]\n _data[`col${j + 1}`] = data[column.dataIndex]\n }\n _dataSource.push(_data)\n }\n return {\n columns: _columns,\n dataSource: _dataSource\n }\n }\n watch(() => [props.isReverse, myColumns.value, myDataSource.value], () => {\n if (props.isReverse) {\n const { columns, dataSource } = handleReverseTable(unref(myColumns), unref(myDataSource))\n tableColumns.value = columns\n tableDataSource.value = dataSource\n } else {\n tableColumns.value = unref(myColumns)\n tableDataSource.value = unref(myDataSource)\n }\n }, {\n deep: true,\n immediate: true\n })\n const orderCondition = ref<string | undefined>(undefined)\n const requestData = useRequestData(props)\n const loading = ref(false)\n const handleRequestData = async (isUseLoading: boolean = true) => {\n try {\n if (isUseLoading) loading.value = true\n // 初始参数:排序\n let params = {\n orderCondition: unref(orderCondition)\n } as { [key:string]: any }\n // 分页\n if (props.paginationShow) {\n params = {\n ...params,\n pageNum: unref(pageNum),\n pageSize: unref(pageSize),\n layer: '1'\n }\n }\n const res = await requestData(params)\n const { rows = [], total: tableTotal = 0 } = res?.data?.data || {}\n total.value = tableTotal\n myDataSource.value = rows\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n const tableChange = ({ current }: { current: number }, _filters, sorter) => {\n pageNum.value = current\n if (sorter && Object.keys(sorter).length > 0) {\n const { field, order } = sorter as { field: string | null, order: 'ascend' | 'descend' }\n const map = {\n ascend: 'asc',\n descend: 'desc'\n }\n const fieldOrder = map[order]\n if (field != null && fieldOrder != null) {\n orderCondition.value = field + ' ' + fieldOrder\n pageNum.value = 1\n }\n }\n refreshData(false)\n }\n const pagination = computed(() => {\n const simple = props.simple\n const position = [props.paginationPosition]\n return props.paginationShow && {\n simple,\n position,\n total: unref(total),\n current: unref(pageNum),\n pageSize: unref(pageSize),\n showSizeChanger: false\n }\n })\n const formatBoolean = (value: string | number) => {\n if (+value === 1) return '是'\n if (+value === 0) return '否'\n return value\n }\n type Format = 'money' | 'percentage' | 'contrast' | 'boolean' | ''\n const formatFn = (value: string | number, format?: Format) => {\n if (format == null || format === '') return value\n const map = {\n money: formatMoney,\n percentage: formatPercentage,\n contrast: formatPercentage,\n boolean: formatBoolean\n }\n return map[format](value) || ''\n }\n const contrastClass = (value: string | number, format: Format) => {\n const _value = parseFloat(value + '')\n if (format !== 'contrast') {\n return ''\n }\n switch (true) {\n case _value >= 0:\n return 'goUp'\n case _value < 0:\n return 'goDown'\n }\n }\n\n const emitEvent = useEmitEvent(props)\n\n const { pageMode } = inject(GLOBAL_CONFIG, {\n pageMode: 'normal'\n })\n\n const { getGlobalModel, setGlobalModel } = inject(GLOBAL_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n getGlobalModel: (key: string) => void 0,\n // @ts-ignore\n // eslint-disable-next-line no-void\n setGlobalModel: (key: string, value: any) => void 0\n })\n\n const handleIndicatorDataset = (dataColumns: any [] = [], dataRows: { [key:string]: any }[] = []) => {\n const _columns = dataColumns.map((column: string) => ({ title: column, dataIndex: column, key: column }))\n handleColumns(_columns)\n myDataSource.value = dataRows\n }\n\n // 指标库\n const indicatorData = useIndicatorData(props)\n const handleIndicatorData = async () => {\n try {\n loading.value = true\n const res = await indicatorData()\n handleIndicatorDataset(res?.data?.data?.columns, res?.data?.data?.rows)\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n\n const customRow = (record) => ({\n onClick: emitEvent('click', () => {\n const id = props.id as string\n const modal = getGlobalModel(id)\n // 约定获取数据\n setGlobalModel(id, { ...modal, RECORD: record })\n })\n })\n const refreshData = (isUseLoading: boolean = true) => {\n if (unref(pageMode) === 'design') return\n switch (props.dataType) {\n case 'request':\n handleRequestData(isUseLoading)\n break\n case 'indicator':\n handleIndicatorData()\n break\n }\n }\n useOnEvent(props, {\n refreshData\n })\n const summaryList = computed(() => {\n const columns = props.columns as { [key: string]: any } []\n const summaryList = (props.isUseSeq ? [{ total: '小计' }] : []) as { [key: string]: any } []\n let calcTotalCount = 0\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]\n const { isCalcTotal } = column\n if (isCalcTotal) {\n summaryList.push({\n ...column,\n index: i,\n total: 0\n })\n calcTotalCount++\n } else {\n summaryList.push({\n ...column\n })\n }\n }\n // 为空直接返回\n if (calcTotalCount === 0) return []\n const start = (unref(pageNum) - 1) * unref(pageSize)\n const end = start + unref(pageSize)\n const records = unref(myDataSource).slice(start, end)\n for (let i = 0; i < records.length; i++) {\n const record = records[i]\n for (let j = 0; j < summaryList.length; j++) {\n const summary = summaryList[j]\n const { dataIndex, total } = summary\n const num = +record[dataIndex]\n if (!Number.isNaN(num) && total != null) {\n summary.total = num + total\n }\n }\n }\n return summaryList\n })\n\n const { setRequest } = inject(REQUEST_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n setRequest: (requestFn: Function, sortNum: number) => void 0\n })\n\n setRequest(refreshData, props.requestSort as number)\n\n expose({\n refreshData\n })\n\n const handleHref = (href: string = '', data: { [key:string]: any }) => {\n return useVariablesInText(href, data)\n }\n\n const handleHrefTarget = (target: 'self' | 'blank' | 'event') => {\n if (target === 'event') {\n return undefined\n } else {\n const map = {\n self: '_self',\n blank: '_blank'\n }\n return map[target]\n }\n }\n\n const onTouchHrefEvent = (target: 'self' | 'blank' | 'event', href: string = '') => {\n if (target === 'event') {\n window.parent.postMessage({\n type: 'openPage',\n url: href\n }, '*')\n }\n }\n\n return {\n x,\n y,\n style,\n customRow,\n pagination,\n formatFn,\n contrastClass,\n tableChange,\n tableDataSource,\n tableColumns,\n summaryList,\n loading,\n onTouchHrefEvent,\n handleHref,\n handleHrefTarget\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n.table {\n width: 100%;\n}\n\n.goUp {\n color: #FF512E;\n display: flex;\n align-items: center;\n justify-content: center;\n &:before {\n content: '';\n display: block;\n background-image: url(\"../../assets/go-up.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n}\n\n.goDown {\n color: #39cf93;\n display: flex;\n align-items: center;\n justify-content: center;\n &:before {\n content: '';\n display: block;\n background-image: url(\"../../assets/go-down.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n}\n\n.action-list {\n display: flex;\n width: 100%;\n}\n.action {\n flex: 1;\n}\n</style>\n\n<style lang=\"less\">\n.ecan-table {\n *::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n\n *::-webkit-scrollbar-thumb {\n border-radius: 3px;\n -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);\n background-color: #c8c9ca !important;\n }\n\n *::-webkit-scrollbar-track {\n background-color: #fff;\n }\n\n .ant-table-cell-scrollbar {\n box-shadow: 0 1px 0 1px transparent;\n }\n\n .ant-table {\n color: rgba(0, 0, 0, .65);\n background: #ffffff;\n }\n\n .ant-table-thead > tr > th {\n color: rgba(0, 0, 0, .85);\n background: #fafafa;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .ant-table-tbody > tr > td {\n border-bottom: 1px solid #f0f0f0;\n }\n\n .ant-table-bordered {\n .ant-table-container {\n border: 1px solid #f0f0f0 !important;\n }\n\n .ant-table-cell {\n border-right: 1px solid #f0f0f0 !important;\n }\n }\n\n .anticon {\n color: rgba(0, 0, 0, .65) !important;\n }\n}\n\n[datav-theme='darkBlue'] {\n .ecan-table {\n *::-webkit-scrollbar-thumb {\n background-color: #2f4dac !important;\n }\n\n *::-webkit-scrollbar-track {\n background-color: #192c70;\n }\n\n *::-webkit-scrollbar-corner {\n background-color: #192c70 !important;\n }\n .ant-table {\n color: #e8e8e8;\n background: #071655;\n }\n\n .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table,\n .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table {\n border-top: 1px solid #3e8ee3 !important;\n }\n\n .ant-table-thead > tr > th {\n color: #cdd0f7;\n background: #17338c;\n border-bottom: 1px solid #3e8ee3;\n }\n\n .ant-table-tbody > tr > td {\n border-bottom: 1px solid #3e8ee3;\n }\n\n .ant-table-bordered {\n .ant-table-container {\n border: 1px solid #3e8ee3 !important;\n }\n\n .ant-table-cell {\n border-right: 1px solid #3e8ee3 !important;\n }\n }\n\n .ant-pagination-item-link {\n background: #17338c !important;\n }\n\n .ant-pagination-item {\n background: #17338c !important;\n }\n\n .anticon {\n color: rgba(255, 255, 255, .65) !important;\n }\n\n .ant-table-tbody > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td {\n background: #225b98;\n }\n }\n\n td.ant-table-column-sort {\n background: #225b98;\n }\n}\n</style>\n"],"names":["ATable","ATableSummary","ATableSummaryRow","ATableSummaryCell","summaryList","total","_createElementBlock","_normalizeStyle","_createVNode","_withCtx","_openBlock","_toDisplayString","_Fragment","_renderList","index","_createElementVNode","_normalizeClass","_createBlock"],"mappings":"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"}
|
package/es/table/table/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/table/table/index.ts"],"sourcesContent":["import { withInstall } from '
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/table/table/index.ts"],"sourcesContent":["import { withInstall } from '@/utils/withInstall'\nimport Table from './Table.vue'\nexport const EcanTable = withInstall(Table)\nexport default EcanTable\nexport * from './props'\n"],"names":[],"mappings":";;;AAEa,MAAA,YAAY,YAAY,KAAK;"}
|
package/es/table/table/props.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { transformToComponentProps, props } from "../../
|
|
1
|
+
import { transformToComponentProps, props } from "../../utils/props.js";
|
|
2
2
|
const tableProps = {
|
|
3
3
|
...props,
|
|
4
4
|
zIndex: 2,
|
|
@@ -15,6 +15,7 @@ const tableProps = {
|
|
|
15
15
|
columnsFixedNum: 0,
|
|
16
16
|
scrollX: 0,
|
|
17
17
|
paginationShow: true,
|
|
18
|
+
isReverse: false,
|
|
18
19
|
simple: false,
|
|
19
20
|
headerCellBackgroundColor: "",
|
|
20
21
|
cellBackgroundColor: "",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.js","sources":["../../../src/table/table/props.ts"],"sourcesContent":["import {\n Props,\n props,\n transformToComponentProps\n} from '@/
|
|
1
|
+
{"version":3,"file":"props.js","sources":["../../../src/table/table/props.ts"],"sourcesContent":["import {\n Props,\n props,\n transformToComponentProps\n} from '@/utils/props'\n\nexport interface TableProps extends Props {\n columns: { [key: string]: any } []\n data: { [key: string]: any } []\n bordered: boolean\n size: 'default' | 'middle' | 'small'\n isUseSeq: boolean\n columnsFixedNum: number\n scrollX: number\n paginationShow: boolean\n paginationPosition: 'topLeft' | 'topCenter' | 'topRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight'\n simple: boolean\n headerCellBackgroundColor: string\n cellBackgroundColor: string\n borderColor: string\n paginationPageSize: number\n isUseAction: boolean // 添加操作列\n actionColumnWidth: number\n actionList: { [key: string]: any } []\n fontSize: string\n fontWeight: number\n isReverse: boolean\n graphicConfig: {\n [key:string]: any,\n // 全部属性, 为了属性可拓展,所以在设计器中自由添加\n // classification: { [key:string]: any }\n // series: { [key:string]: any }\n // indicatorList: { [key:string]: any } []\n // sqlConditions: { [key:string]: any } []\n // idxLibMode: string\n // source: string\n // dataViewId: string\n chartType: 'table' // 图表类型,后台接口\n plugin: '1' // 插件类型,后台接口\n layer: '1' // 表格类型, 后台接口\n }\n}\n\nexport const tableProps: TableProps = {\n ...props,\n zIndex: 2,\n name: '表格',\n keyName: '表格',\n type: 'ecanTable',\n width: '400px',\n height: '240px',\n bordered: false,\n fontSize: '14px',\n isUseSeq: false,\n size: 'default',\n fontWeight: 400,\n columnsFixedNum: 0,\n scrollX: 0,\n paginationShow: true,\n isReverse: false,\n simple: false,\n headerCellBackgroundColor: '',\n cellBackgroundColor: '',\n borderColor: '',\n paginationPosition: 'bottomRight',\n paginationPageSize: 10,\n isUseAction: false,\n actionList: [{\n title: '',\n href: '',\n target: '',\n color: ''\n }],\n actionColumnWidth: 100,\n columns: [\n {\n title: '姓名',\n dataIndex: 'name'\n },\n {\n title: '年龄',\n dataIndex: 'age'\n },\n {\n title: '住址',\n dataIndex: 'address'\n }\n ],\n data: [\n {\n name: '小明',\n age: 32,\n address: '福州软件园'\n },\n {\n name: '小红',\n age: 25,\n address: '福州软件园'\n }\n ],\n graphicConfig: {\n chartType: 'table', // 图表类型,后台接口\n plugin: '1', // 插件类型,后台接口\n layer: '1' // 图类型, 后台接口\n }\n}\n\n// 转化默认属性\nexport const tableComponentProps = transformToComponentProps(tableProps)\n\nexport const tableEvents = ['click', 'refreshData']\n"],"names":[],"mappings":";AA2CO,MAAM,aAAyB;AAAA,EACpC,GAAG;AAAA,EACH,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,2BAA2B;AAAA,EAC3B,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,aAAa;AAAA,EACb,YAAY,CAAC;AAAA,IACX,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,EAAA,CACR;AAAA,EACD,mBAAmB;AAAA,EACnB,SAAS;AAAA,IACP;AAAA,MACE,OAAO;AAAA,MACP,WAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,WAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ;AAAA,MACE,MAAM;AAAA,MACN,KAAK;AAAA,MACL,SAAS;AAAA,IACX;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,KAAK;AAAA,MACL,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,eAAe;AAAA,IACb,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AACF;AAGa,MAAA,sBAAsB,0BAA0B,UAAU;AAE1D,MAAA,cAAc,CAAC,SAAS,aAAa;"}
|
package/es/text/list/List.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { defineComponent, ref, computed, inject, unref, resolveComponent, openBlock, createElementBlock, normalizeStyle, createVNode, withCtx, Fragment, renderList, createCommentVNode, toDisplayString, createElementVNode, normalizeClass, pushScopeId, popScopeId } from "vue";
|
|
2
2
|
import { listComponentProps } from "./props.js";
|
|
3
|
-
import { usePickComponentStyle } from "../../
|
|
4
|
-
import { useOnEvent } from "../../
|
|
5
|
-
import { useEmitEvent } from "../../
|
|
3
|
+
import { usePickComponentStyle } from "../../hooks/usePickComponentStyle.js";
|
|
4
|
+
import { useOnEvent } from "../../hooks/useOnEvent.js";
|
|
5
|
+
import { useEmitEvent } from "../../hooks/useEmitEvent.js";
|
|
6
6
|
import "lodash-es";
|
|
7
|
-
import { useRequestData } from "../../
|
|
8
|
-
import { GLOBAL_CONFIG, REQUEST_MODEL } from "../../
|
|
9
|
-
import "../../
|
|
7
|
+
import { useRequestData } from "../../hooks/useRequestData.js";
|
|
8
|
+
import { GLOBAL_CONFIG, REQUEST_MODEL } from "../../utils/constant.js";
|
|
9
|
+
import "../../utils/request.js";
|
|
10
10
|
import "ant-design-vue";
|
|
11
|
-
import { formatMoney, formatPercentage } from "../../
|
|
11
|
+
import { formatMoney, formatPercentage } from "../../utils/util.js";
|
|
12
12
|
import Skeleton from "../../common/skeleton/Skeleton.js";
|
|
13
13
|
import "./List.vue_vue_type_style_index_0_scoped_true_lang.js";
|
|
14
14
|
import "./List.vue_vue_type_style_index_1_lang.js";
|
|
@@ -98,7 +98,7 @@ const _sfc_main = defineComponent({
|
|
|
98
98
|
};
|
|
99
99
|
}
|
|
100
100
|
});
|
|
101
|
-
const _withScopeId = (n) => (pushScopeId("data-v-
|
|
101
|
+
const _withScopeId = (n) => (pushScopeId("data-v-33dd5dd2"), n = n(), popScopeId(), n);
|
|
102
102
|
const _hoisted_1 = {
|
|
103
103
|
key: 0,
|
|
104
104
|
class: "title"
|
|
@@ -200,7 +200,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
200
200
|
}, 8, ["loading"])
|
|
201
201
|
], 4);
|
|
202
202
|
}
|
|
203
|
-
const List = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-
|
|
203
|
+
const List = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-33dd5dd2"]]);
|
|
204
204
|
export {
|
|
205
205
|
List as default
|
|
206
206
|
};
|
package/es/text/list/List.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sources":["../../../src/text/list/List.vue"],"sourcesContent":["<template>\n <div class=\"ecan-list\" :style=\"style\">\n <skeleton :loading=\"loading\">\n <div\n class=\"title\"\n v-if=\"useTitle\"\n >\n <div\n class=\"title-inner\"\n :style=\"{\n backgroundColor: backgroundColor,\n height: itemHeight,\n width: `calc(100% / ${columnCount} - ${itemColSpan} * ${columnCount - 1}/ ${columnCount})`,\n marginRight: count % columnCount !== 0 ? itemColSpan : ''\n }\"\n v-for=\"count in columnCount\"\n :key=\"count\"\n >\n <div class=\"ranking\" v-if=\"useRanking\" />\n <div\n class=\"column\"\n v-for=\"(column, i) in columns\"\n :key=\"column.key || i\"\n :style=\"{\n color: column.titleColor,\n ...columnStyle\n }\"\n >\n {{ column.title }}\n </div>\n </div>\n </div>\n <div class=\"ecan-list-content\" v-if=\"dataSource.length > 0\">\n <div\n class=\"title-placeholder\"\n :style=\"{\n marginBottom: itemRowSpan\n }\"\n v-if=\"useTitle\"\n />\n <div\n class=\"item\"\n :style=\"{\n backgroundColor: backgroundColor,\n height: itemHeight,\n width: `calc(100% / ${columnCount} - ${itemColSpan} * ${columnCount - 1} / ${columnCount})`,\n marginRight: (i + 1) % columnCount !== 0 ? itemColSpan : '',\n marginBottom: itemRowSpan\n }\"\n v-for=\"(item, i) in dataSource.slice(0, sliceCount)\"\n :key=\"item.id || i\"\n @click=\"click\"\n >\n <div class=\"ranking\" v-if=\"useRanking\">\n <div class=\"icon\"/>\n <div class=\"sort\">\n Top {{ i + 1 }}\n </div>\n </div>\n <div\n :class=\"['column', contrastClass(item[column.key], column.format)]\"\n v-for=\"column in columns\"\n :key=\"column.key\"\n :style=\"{\n fontSize: column.fontSize,\n color: contrastClass(item[column.key], column.format) === '' ? column.color : '',\n fontWeight: column.fontWeight,\n ...columnStyle\n }\"\n >\n {{ (column.format != null || column.format !== '') && formatFn(item[column.key], column.format) }}\n </div>\n </div>\n </div>\n <div class=\"empty\" v-else>\n 暂无数据\n </div>\n </skeleton>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, unref } from 'vue'\nimport { listComponentProps, ListEvents } from './props'\nimport { useEmitEvent, useOnEvent, usePickComponentStyle, useRequestData } from '@/_utils/hooks'\nimport { formatMoney, formatPercentage } from '@/_utils/util'\nimport { GLOBAL_CONFIG, REQUEST_MODEL } from '@/_utils/constant'\nimport Skeleton from '@/common/skeleton'\nexport default defineComponent({\n name: 'EcanList',\n components: { Skeleton },\n props: {\n ...listComponentProps\n },\n setup (props) {\n const dataSource = ref<{[key:string]: any} []>(props.data as {[key:string]: any} [])\n const style = usePickComponentStyle(props, ['backgroundColor'])\n const columnStyle = computed(() => {\n if (props.useRanking) {\n return {\n textAlign: 'center'\n }\n } else {\n return {\n textAlign: 'left'\n }\n }\n })\n type Format = 'money' | 'percentage' | 'contrast' | ''\n const formatFn = (value: string | number, format?: Format) => {\n if (format == null || format === '') return value\n const map = {\n money: formatMoney,\n percentage: formatPercentage,\n contrast: formatPercentage\n }\n return map[format](value) || ''\n }\n const contrastClass = (value: string | number, format: Format) => {\n const _value = parseFloat(value + '')\n if (format !== 'contrast') {\n return ''\n }\n switch (true) {\n case _value >= 0:\n return 'goUp'\n case _value < 0:\n return 'goDown'\n }\n }\n const requestData = useRequestData(props)\n const { pageMode } = inject(GLOBAL_CONFIG, {\n pageMode: 'normal'\n })\n const loading = ref(false)\n const handleRequestData = async () => {\n if (props.dataType !== 'request' || unref(pageMode) === 'design') return\n\n try {\n loading.value = true\n const res = await requestData()\n dataSource.value = res?.data?.data.rows || []\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n\n const refreshData = () => {\n handleRequestData()\n }\n\n const emitEvent = useEmitEvent(props)\n\n const click = emitEvent('click', () => {})\n\n useOnEvent(props, {\n refreshData\n } as ListEvents)\n\n const { setRequest } = inject(REQUEST_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n setRequest: (requestFn: Function, sortNum: number) => void 0\n })\n setRequest(handleRequestData, props.requestSort as number)\n return {\n style,\n formatFn,\n columnStyle,\n contrastClass,\n dataSource,\n loading,\n click\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n .ecan-list {\n overflow: hidden;\n }\n .ecan-list-content {\n width: 100%;\n height: 100%;\n overflow: auto;\n display: flex;\n align-content: flex-start;\n flex-wrap: wrap;\n }\n .title {\n position: absolute;\n z-index: 9;\n display: flex;\n align-items: center;\n height: 32px;\n width: 100%;\n font-size: 16px;\n color: #ffffff;\n }\n .title-inner {\n padding-left: 28px;\n padding-right: 20px;\n flex: 1;\n display: flex;\n height: 100%;\n }\n .title-placeholder {\n width: 100%;\n height: 32px;\n }\n .item {\n display: flex;\n align-items: center;\n height: 32px;\n padding-left: 28px;\n padding-right: 20px;\n width: 100%;\n font-size: 16px;\n color: #ffffff;\n }\n .column {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .ranking {\n flex: 1;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .icon {\n width: 12px;\n height: 8px;\n background: #21BEF7;\n margin-right: 17px;\n opacity: .6;\n }\n .item:nth-child(2) .icon {\n opacity: .8;\n }\n .item:first-child .icon{\n opacity: 1;\n }\n .sort {\n font-weight: 600;\n }\n .goUp {\n color: #FF512E;\n display: flex;\n align-items: center;\n &:before {\n content: '';\n display: block;\n background: url(\"../../assets/go-up.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n }\n\n .goDown {\n color: #39cf93;\n display: flex;\n align-items: center;\n &:before {\n content: '';\n display: block;\n background: url(\"../../assets/go-down.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n }\n .empty {\n text-align: center;\n margin-top: 15%;\n }\n</style>\n\n<style lang=\"less\">\n.ecan-list {\n *::-webkit-scrollbar-track {\n background-color: #fff;\n }\n\n .ant-table-cell-scrollbar {\n box-shadow: 0 1px 0 1px transparent;\n }\n *::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n *::-webkit-scrollbar-thumb {\n border-radius: 6px;\n -webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);\n background-color: #c8c9ca;\n }\n}\n[datav-theme='darkBlue'] {\n .ecan-list {\n *::-webkit-scrollbar-thumb {\n background-color: #2f4dac !important;\n }\n *::-webkit-scrollbar-track{\n background-color: #192c70;\n }\n *::-webkit-scrollbar-corner {\n background-color: #192c70 !important;\n }\n .empty {\n color: #ffffff;\n }\n }\n}\n</style>\n"],"names":["_createElementVNode","_createElementBlock","_normalizeStyle","_createVNode","_withCtx","_openBlock","_Fragment","_renderList","_createCommentVNode","_toDisplayString","_normalizeClass"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"List.js","sources":["../../../src/text/list/List.vue"],"sourcesContent":["<template>\n <div class=\"ecan-list\" :style=\"style\">\n <skeleton :loading=\"loading\">\n <div\n class=\"title\"\n v-if=\"useTitle\"\n >\n <div\n class=\"title-inner\"\n :style=\"{\n backgroundColor: backgroundColor,\n height: itemHeight,\n width: `calc(100% / ${columnCount} - ${itemColSpan} * ${columnCount - 1}/ ${columnCount})`,\n marginRight: count % columnCount !== 0 ? itemColSpan : ''\n }\"\n v-for=\"count in columnCount\"\n :key=\"count\"\n >\n <div class=\"ranking\" v-if=\"useRanking\" />\n <div\n class=\"column\"\n v-for=\"(column, i) in columns\"\n :key=\"column.key || i\"\n :style=\"{\n color: column.titleColor,\n ...columnStyle\n }\"\n >\n {{ column.title }}\n </div>\n </div>\n </div>\n <div class=\"ecan-list-content\" v-if=\"dataSource.length > 0\">\n <div\n class=\"title-placeholder\"\n :style=\"{\n marginBottom: itemRowSpan\n }\"\n v-if=\"useTitle\"\n />\n <div\n class=\"item\"\n :style=\"{\n backgroundColor: backgroundColor,\n height: itemHeight,\n width: `calc(100% / ${columnCount} - ${itemColSpan} * ${columnCount - 1} / ${columnCount})`,\n marginRight: (i + 1) % columnCount !== 0 ? itemColSpan : '',\n marginBottom: itemRowSpan\n }\"\n v-for=\"(item, i) in dataSource.slice(0, sliceCount)\"\n :key=\"item.id || i\"\n @click=\"click\"\n >\n <div class=\"ranking\" v-if=\"useRanking\">\n <div class=\"icon\"/>\n <div class=\"sort\">\n Top {{ i + 1 }}\n </div>\n </div>\n <div\n :class=\"['column', contrastClass(item[column.key], column.format)]\"\n v-for=\"column in columns\"\n :key=\"column.key\"\n :style=\"{\n fontSize: column.fontSize,\n color: contrastClass(item[column.key], column.format) === '' ? column.color : '',\n fontWeight: column.fontWeight,\n ...columnStyle\n }\"\n >\n {{ (column.format != null || column.format !== '') && formatFn(item[column.key], column.format) }}\n </div>\n </div>\n </div>\n <div class=\"empty\" v-else>\n 暂无数据\n </div>\n </skeleton>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, unref } from 'vue'\nimport { listComponentProps, ListEvents } from './props'\nimport { useEmitEvent, useOnEvent, usePickComponentStyle, useRequestData } from '@/hooks'\nimport { formatMoney, formatPercentage } from '@/utils/util'\nimport { GLOBAL_CONFIG, REQUEST_MODEL } from '@/utils/constant'\nimport Skeleton from '@/common/skeleton'\nexport default defineComponent({\n name: 'EcanList',\n components: { Skeleton },\n props: {\n ...listComponentProps\n },\n setup (props) {\n const dataSource = ref<{[key:string]: any} []>(props.data as {[key:string]: any} [])\n const style = usePickComponentStyle(props, ['backgroundColor'])\n const columnStyle = computed(() => {\n if (props.useRanking) {\n return {\n textAlign: 'center'\n }\n } else {\n return {\n textAlign: 'left'\n }\n }\n })\n type Format = 'money' | 'percentage' | 'contrast' | ''\n const formatFn = (value: string | number, format?: Format) => {\n if (format == null || format === '') return value\n const map = {\n money: formatMoney,\n percentage: formatPercentage,\n contrast: formatPercentage\n }\n return map[format](value) || ''\n }\n const contrastClass = (value: string | number, format: Format) => {\n const _value = parseFloat(value + '')\n if (format !== 'contrast') {\n return ''\n }\n switch (true) {\n case _value >= 0:\n return 'goUp'\n case _value < 0:\n return 'goDown'\n }\n }\n const requestData = useRequestData(props)\n const { pageMode } = inject(GLOBAL_CONFIG, {\n pageMode: 'normal'\n })\n const loading = ref(false)\n const handleRequestData = async () => {\n if (props.dataType !== 'request' || unref(pageMode) === 'design') return\n\n try {\n loading.value = true\n const res = await requestData()\n dataSource.value = res?.data?.data.rows || []\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n\n const refreshData = () => {\n handleRequestData()\n }\n\n const emitEvent = useEmitEvent(props)\n\n const click = emitEvent('click', () => {})\n\n useOnEvent(props, {\n refreshData\n } as ListEvents)\n\n const { setRequest } = inject(REQUEST_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n setRequest: (requestFn: Function, sortNum: number) => void 0\n })\n setRequest(handleRequestData, props.requestSort as number)\n return {\n style,\n formatFn,\n columnStyle,\n contrastClass,\n dataSource,\n loading,\n click\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n .ecan-list {\n overflow: hidden;\n }\n .ecan-list-content {\n width: 100%;\n height: 100%;\n overflow: auto;\n display: flex;\n align-content: flex-start;\n flex-wrap: wrap;\n }\n .title {\n position: absolute;\n z-index: 9;\n display: flex;\n align-items: center;\n height: 32px;\n width: 100%;\n font-size: 16px;\n color: #ffffff;\n }\n .title-inner {\n padding-left: 28px;\n padding-right: 20px;\n flex: 1;\n display: flex;\n height: 100%;\n }\n .title-placeholder {\n width: 100%;\n height: 32px;\n }\n .item {\n display: flex;\n align-items: center;\n height: 32px;\n padding-left: 28px;\n padding-right: 20px;\n width: 100%;\n font-size: 16px;\n color: #ffffff;\n }\n .column {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .ranking {\n flex: 1;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .icon {\n width: 12px;\n height: 8px;\n background: #21BEF7;\n margin-right: 17px;\n opacity: .6;\n }\n .item:nth-child(2) .icon {\n opacity: .8;\n }\n .item:first-child .icon{\n opacity: 1;\n }\n .sort {\n font-weight: 600;\n }\n .goUp {\n color: #FF512E;\n display: flex;\n align-items: center;\n &:before {\n content: '';\n display: block;\n background: url(\"../../assets/go-up.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n }\n\n .goDown {\n color: #39cf93;\n display: flex;\n align-items: center;\n &:before {\n content: '';\n display: block;\n background: url(\"../../assets/go-down.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n }\n .empty {\n text-align: center;\n margin-top: 15%;\n }\n</style>\n\n<style lang=\"less\">\n.ecan-list {\n *::-webkit-scrollbar-track {\n background-color: #fff;\n }\n\n .ant-table-cell-scrollbar {\n box-shadow: 0 1px 0 1px transparent;\n }\n *::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n *::-webkit-scrollbar-thumb {\n border-radius: 6px;\n -webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);\n background-color: #c8c9ca;\n }\n}\n[datav-theme='darkBlue'] {\n .ecan-list {\n *::-webkit-scrollbar-thumb {\n background-color: #2f4dac !important;\n }\n *::-webkit-scrollbar-track{\n background-color: #192c70;\n }\n *::-webkit-scrollbar-corner {\n background-color: #192c70 !important;\n }\n .empty {\n color: #ffffff;\n }\n }\n}\n</style>\n"],"names":["_createElementVNode","_createElementBlock","_normalizeStyle","_createVNode","_withCtx","_openBlock","_Fragment","_renderList","_createCommentVNode","_toDisplayString","_normalizeClass"],"mappings":"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"}
|
package/es/text/list/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/text/list/index.ts"],"sourcesContent":["import { withInstall } from '../../
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/text/list/index.ts"],"sourcesContent":["import { withInstall } from '../../utils/withInstall'\nimport List from './List.vue'\nexport const EcanList = withInstall(List)\nexport default EcanList\nexport * from './props'\n"],"names":[],"mappings":";;;AAEa,MAAA,WAAW,YAAY,IAAI;"}
|
package/es/text/list/props.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.js","sources":["../../../src/text/list/props.ts"],"sourcesContent":["import {\n Props,\n props,\n transformToComponentProps\n} from '@/
|
|
1
|
+
{"version":3,"file":"props.js","sources":["../../../src/text/list/props.ts"],"sourcesContent":["import {\n Props,\n props,\n transformToComponentProps\n} from '@/utils/props'\n\nexport interface ListProps extends Props {\n data: { [key: string]: any } []\n columns: { [key: string]: any } []\n sliceCount: number,\n backgroundColor: string\n useRanking: boolean\n useTitle: boolean\n columnCount: number\n itemHeight: string\n itemColSpan: string\n itemRowSpan: string\n}\n\nexport const listProps:ListProps = {\n ...props,\n type: 'ecanList',\n name: '列表',\n keyName: '列表',\n width: '330px',\n height: '80px',\n backgroundColor: '#0d215e',\n itemColSpan: '10px',\n itemRowSpan: '10px',\n useRanking: true,\n useTitle: false,\n sliceCount: 6,\n columnCount: 1,\n itemHeight: '32px',\n data: [\n {\n name: 'a',\n age: 12\n },\n {\n name: 'b',\n age: 14\n }\n ],\n columns: [\n {\n key: 'name'\n },\n {\n key: 'age'\n }\n ]\n}\n\nexport const listComponentProps = transformToComponentProps(listProps)\n\nexport interface ListEvents {\n refreshData: () => void\n click: () => void\n}\n\nexport const listEvents: Array<keyof ListEvents> = ['refreshData', 'click']\n"],"names":[],"mappings":";AAmBO,MAAM,YAAsB;AAAA,EACjC,GAAG;AAAA,EACH,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,MAAM;AAAA,IACJ;AAAA,MACE,MAAM;AAAA,MACN,KAAK;AAAA,IACP;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP;AAAA,MACE,KAAK;AAAA,IACP;AAAA,IACA;AAAA,MACE,KAAK;AAAA,IACP;AAAA,EACF;AACF;AAEa,MAAA,qBAAqB,0BAA0B,SAAS;AAOxD,MAAA,aAAsC,CAAC,eAAe,OAAO;"}
|
|
@@ -2,13 +2,13 @@ import { defineComponent, inject, computed, ref, watch, unref, resolveComponent,
|
|
|
2
2
|
import "../../node_modules/ant-design-vue/es/style/default.js";
|
|
3
3
|
import "../../node_modules/ant-design-vue/es/progress/style/index.js";
|
|
4
4
|
import { Progress } from "ant-design-vue";
|
|
5
|
-
import { usePickComponentStyle } from "../../
|
|
6
|
-
import { useOnEvent } from "../../
|
|
7
|
-
import { useEmitEvent } from "../../
|
|
5
|
+
import { usePickComponentStyle } from "../../hooks/usePickComponentStyle.js";
|
|
6
|
+
import { useOnEvent } from "../../hooks/useOnEvent.js";
|
|
7
|
+
import { useEmitEvent } from "../../hooks/useEmitEvent.js";
|
|
8
8
|
import "lodash-es";
|
|
9
|
-
import { useRequestData } from "../../
|
|
10
|
-
import { GLOBAL_CONFIG, REQUEST_MODEL } from "../../
|
|
11
|
-
import "../../
|
|
9
|
+
import { useRequestData } from "../../hooks/useRequestData.js";
|
|
10
|
+
import { GLOBAL_CONFIG, REQUEST_MODEL } from "../../utils/constant.js";
|
|
11
|
+
import "../../utils/request.js";
|
|
12
12
|
import { proportionComponentProps } from "./props.js";
|
|
13
13
|
import Skeleton from "../../common/skeleton/Skeleton.js";
|
|
14
14
|
import "./Proportion.vue_vue_type_style_index_0_scoped_true_lang.js";
|
|
@@ -192,7 +192,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
192
192
|
}, 8, ["percent", "width", "type", "strokeColor", "strokeLinecap", "trailColor", "strokeWidth", "gapDegree", "onClick"])
|
|
193
193
|
], 4);
|
|
194
194
|
}
|
|
195
|
-
const Proportion = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-
|
|
195
|
+
const Proportion = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-1e9f619c"]]);
|
|
196
196
|
export {
|
|
197
197
|
Proportion as default
|
|
198
198
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Proportion.js","sources":["../../../src/text/proportion/Proportion.vue"],"sourcesContent":["<template>\n <div class=\"ecan-proportion\" :style=\"style\">\n <a-progress\n class=\"progress\"\n :percent=\"myValue\"\n :width=\"myWidth\"\n :type=\"strokeType\"\n :strokeColor=\"strokeColor\"\n :strokeLinecap=\"strokeLinecap\"\n :trailColor=\"trailColor\"\n :strokeWidth=\"strokeWidth\"\n :gapDegree=\"strokeType === 'dashboard' ? 75 : 0\"\n @click=\"click\"\n >\n <template #format>\n <skeleton v-if=\"loading\" :loading=\"loading\"/>\n <div\n v-else\n class=\"format\"\n :style=\"{\n width: strokeTextWidth,\n fontSize,\n color,\n fontWeight,\n lineHeight\n }\">\n {{ text }}\n </div>\n </template>\n </a-progress>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, unref, watch } from 'vue'\nimport 'ant-design-vue/es/progress/style'\nimport { Progress as AProgress } from 'ant-design-vue'\nimport { useEmitEvent, useOnEvent, usePickComponentStyle, useRequestData } from '@/
|
|
1
|
+
{"version":3,"file":"Proportion.js","sources":["../../../src/text/proportion/Proportion.vue"],"sourcesContent":["<template>\n <div class=\"ecan-proportion\" :style=\"style\">\n <a-progress\n class=\"progress\"\n :percent=\"myValue\"\n :width=\"myWidth\"\n :type=\"strokeType\"\n :strokeColor=\"strokeColor\"\n :strokeLinecap=\"strokeLinecap\"\n :trailColor=\"trailColor\"\n :strokeWidth=\"strokeWidth\"\n :gapDegree=\"strokeType === 'dashboard' ? 75 : 0\"\n @click=\"click\"\n >\n <template #format>\n <skeleton v-if=\"loading\" :loading=\"loading\"/>\n <div\n v-else\n class=\"format\"\n :style=\"{\n width: strokeTextWidth,\n fontSize,\n color,\n fontWeight,\n lineHeight\n }\">\n {{ text }}\n </div>\n </template>\n </a-progress>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, unref, watch } from 'vue'\nimport 'ant-design-vue/es/progress/style'\nimport { Progress as AProgress } from 'ant-design-vue'\nimport { useEmitEvent, useOnEvent, usePickComponentStyle, useRequestData } from '@/hooks'\nimport { proportionComponentProps } from './props'\nimport { GLOBAL_CONFIG, REQUEST_MODEL } from '@/utils/constant'\nimport Skeleton from '../../common/skeleton'\nexport default defineComponent({\n name: 'EcanProportion',\n components: {\n AProgress,\n Skeleton\n },\n props: {\n ...proportionComponentProps\n },\n setup (props) {\n const { pageMode } = inject(GLOBAL_CONFIG, {\n pageMode: 'normal'\n })\n const style = usePickComponentStyle(props)\n const myWidth = computed(() => {\n const width = props.width as string\n return parseFloat(width)\n })\n const myData = ref<{ [key:string]: any }>({})\n watch(() => props.data, () => {\n if (props.dataType === 'static' || unref(pageMode) === 'design') {\n myData.value = props.data as { [key:string]: any }\n }\n }, {\n immediate: true,\n deep: true\n })\n const myValue = computed(() => {\n const data = unref(myData)\n const defaultValue = +(props.variableDefaultValue)\n if (data == null) {\n if (!isNaN(defaultValue)) {\n return defaultValue\n } else {\n return 0\n }\n }\n const variables = (props.text as string).match(/\\{.+\\}/g) || []\n let value\n const valueSet = new Set(Object.keys(data))\n for (let i = 0; i < variables.length; i++) {\n const variable = variables[i]\n const key = variable.slice(1, variable.length - 1)\n if (valueSet.has(key)) {\n value = data[key]\n break\n }\n }\n\n if (typeof value === 'number') {\n value = value * 100\n } else if (typeof value === 'string' && !isNaN(+value)) {\n value = (+value) * 100\n } else if (!isNaN(defaultValue)) {\n value = defaultValue * 100\n } else {\n value = 0\n }\n\n if (props.decimalFormat) {\n value = +value.toFixed(2)\n }\n return value\n })\n const text = computed(() => {\n let text = props.text as string\n if (text === '') return unref(myValue)\n const defaultValue = props.variableDefaultValue as string // 变量默认值\n const data = unref(myData) // { a: 1, b: 2 }\n const variables = (text).match(/\\{.+\\}/g) || []\n for (let i = 0; i < variables.length; i++) {\n const variable = variables[i]\n let statement = variable.slice(1, variable.length - 1) // { a - b} => a - b\n const textVariables = statement.match(/.*/g) // a - b => [a,b]\n for (let j = 0; j < textVariables?.length; j++) { // \"1 - 2\"\n const textVariable = textVariables[i]?.trim()\n if (data[textVariable] != null) {\n statement = statement.replace(textVariable, data[textVariable])\n } else {\n statement = statement.replace(textVariable, defaultValue)\n }\n }\n // 匹配加减乘除\n let usedVariable:number | string = statement\n // 运行表达式\n try {\n if ((/\\w+[+\\-*/%]+\\w+/g).test(statement)) {\n // eslint-disable-next-line no-eval\n const eval2 = eval\n usedVariable = eval2(statement)\n }\n } catch (e) {\n console.error(e)\n }\n if (typeof usedVariable === 'number' || !isNaN(+usedVariable)) {\n usedVariable = (+usedVariable * 100)\n if (props.decimalFormat) {\n usedVariable = usedVariable.toFixed(2)\n }\n }\n text = text.replace(variable, usedVariable + '')\n }\n return text\n })\n const requestData = useRequestData(props)\n const loading = ref(false)\n const handleRequestData = async () => {\n if (props.dataType !== 'request' || unref(pageMode) === 'design') return\n try {\n loading.value = true\n const res = await requestData()\n myData.value = res?.data?.data || {}\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n const refreshData = () => {\n handleRequestData()\n }\n useOnEvent(props, {\n refreshData\n })\n\n const emitEvent = useEmitEvent(props)\n\n const click = emitEvent('click', () => {})\n\n const { setRequest } = inject(REQUEST_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n setRequest: (requestFn: Function, sortNum: number) => void 0\n })\n\n setRequest(handleRequestData, props.requestSort as number)\n\n return {\n style,\n myWidth,\n text,\n myValue,\n loading,\n click\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n.ecan-proportion {\n overflow: hidden;\n}\n\n.progress {\n width: 100%;\n height: 100%;\n}\n\n.format {\n margin: 0 auto;\n}\n</style>\n"],"names":["AProgress","text","_createElementBlock","_normalizeStyle","_createVNode","_withCtx","_createBlock","_openBlock"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { withInstall } from "../../
|
|
1
|
+
import { withInstall } from "../../utils/withInstall.js";
|
|
2
2
|
import Proportion from "./Proportion.js";
|
|
3
3
|
import { proportionComponentProps, proportionEvents, proportionProps } from "./props.js";
|
|
4
4
|
const EcanProportion = withInstall(Proportion);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/text/proportion/index.ts"],"sourcesContent":["import { withInstall } from '@/
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/text/proportion/index.ts"],"sourcesContent":["import { withInstall } from '@/utils/withInstall'\nimport Proportion from './Proportion.vue'\nexport const EcanProportion = withInstall(Proportion)\nexport default EcanProportion\nexport * from './props'\n"],"names":[],"mappings":";;;AAEa,MAAA,iBAAiB,YAAY,UAAU;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.js","sources":["../../../src/text/proportion/props.ts"],"sourcesContent":["import {\n Props,\n props,\n transformToComponentProps\n} from '@/
|
|
1
|
+
{"version":3,"file":"props.js","sources":["../../../src/text/proportion/props.ts"],"sourcesContent":["import {\n Props,\n props,\n transformToComponentProps\n} from '@/utils/props'\n\nexport interface ProportionProps extends Props {\n strokeColor: string // 进度条的色彩\n strokeLinecap: 'round' | 'square' // 进度条的样式\n trailColor: string // 未完成的分段的颜色\n strokeType: 'circle' | 'dashboard',\n data: { [key:string]: any }\n text: string\n fontSize: string\n color: string\n strokeWidth: number\n fontWeight: number\n strokeTextWidth: string\n lineHeight: string\n decimalFormat: boolean\n variableDefaultValue: string\n}\n\nexport const proportionProps: ProportionProps = {\n ...props,\n name: '占比图',\n keyName: '占比图',\n type: 'ecanProportion',\n strokeType: 'circle',\n width: '200px',\n height: '200px',\n strokeColor: '#4091f7',\n strokeLinecap: 'round',\n trailColor: '#f5f5f5',\n data: {\n percent: 0.30\n },\n text: '{percent}%',\n fontSize: '26px',\n color: '#4091f7',\n strokeWidth: 6,\n fontWeight: 400,\n strokeTextWidth: '100%',\n lineHeight: '26px',\n decimalFormat: false,\n variableDefaultValue: '0'\n}\n\nexport const proportionComponentProps = transformToComponentProps(proportionProps)\n\nexport const proportionEvents = ['refreshData', 'click']\n"],"names":[],"mappings":";AAuBO,MAAM,kBAAmC;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,MAAM;AAAA,IACJ,SAAS;AAAA,EACX;AAAA,EACA,MAAM;AAAA,EACN,UAAU;AAAA,EACV,OAAO;AAAA,EACP,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,sBAAsB;AACxB;AAEa,MAAA,2BAA2B,0BAA0B,eAAe;AAEpE,MAAA,mBAAmB,CAAC,eAAe,OAAO;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/text/scroll-text/index.ts"],"sourcesContent":["import { withInstall } from '../../
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/text/scroll-text/index.ts"],"sourcesContent":["import { withInstall } from '../../utils/withInstall'\nimport ScrollText from './ScrollText.vue'\nexport const EcanScrollText = withInstall(ScrollText)\nexport default EcanScrollText\n"],"names":[],"mappings":";;AAEa,MAAA,iBAAiB,YAAY,UAAU;"}
|
package/es/text/text/Text.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { defineComponent, ref, watch, computed, unref, inject, resolveComponent, openBlock, createElementBlock, normalizeStyle, createVNode } from "vue";
|
|
2
2
|
import { textComponentProps } from "./props.js";
|
|
3
|
-
import { usePickComponentStyle } from "../../
|
|
4
|
-
import { useOnEvent } from "../../
|
|
5
|
-
import { useEmitEvent } from "../../
|
|
3
|
+
import { usePickComponentStyle } from "../../hooks/usePickComponentStyle.js";
|
|
4
|
+
import { useOnEvent } from "../../hooks/useOnEvent.js";
|
|
5
|
+
import { useEmitEvent } from "../../hooks/useEmitEvent.js";
|
|
6
6
|
import "lodash-es";
|
|
7
|
-
import { useRequestData } from "../../
|
|
8
|
-
import { GLOBAL_CONFIG, REQUEST_MODEL } from "../../
|
|
9
|
-
import "../../
|
|
7
|
+
import { useRequestData } from "../../hooks/useRequestData.js";
|
|
8
|
+
import { GLOBAL_CONFIG, REQUEST_MODEL } from "../../utils/constant.js";
|
|
9
|
+
import { usePageUrl } from "../../hooks/usePageUrl.js";
|
|
10
|
+
import { useVariablesInText } from "../../hooks/useVariablesInText.js";
|
|
11
|
+
import "../../utils/request.js";
|
|
10
12
|
import "ant-design-vue";
|
|
11
13
|
import Skeleton from "../../common/skeleton/Skeleton.js";
|
|
12
14
|
import goUp from "../../assets/go-up.js";
|
|
@@ -106,6 +108,24 @@ const _sfc_main = defineComponent({
|
|
|
106
108
|
});
|
|
107
109
|
const emitEvent = useEmitEvent(props);
|
|
108
110
|
const click = emitEvent("click", () => {
|
|
111
|
+
if (!props.linkPage && !props.href)
|
|
112
|
+
return;
|
|
113
|
+
const linkPage = props.linkPage || "";
|
|
114
|
+
const pageUrl = usePageUrl(unref(pageMode), linkPage);
|
|
115
|
+
const href = props.href;
|
|
116
|
+
let url = href || pageUrl;
|
|
117
|
+
url = useVariablesInText(url);
|
|
118
|
+
const target = props.target;
|
|
119
|
+
if (target == null || target === "")
|
|
120
|
+
return;
|
|
121
|
+
if (target !== "event") {
|
|
122
|
+
window.open(url, "_" + target);
|
|
123
|
+
} else {
|
|
124
|
+
window.parent.postMessage({
|
|
125
|
+
type: "openPage",
|
|
126
|
+
url: href
|
|
127
|
+
}, "*");
|
|
128
|
+
}
|
|
109
129
|
});
|
|
110
130
|
return {
|
|
111
131
|
style,
|
|
@@ -132,7 +152,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
132
152
|
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.click && _ctx.click(...args))
|
|
133
153
|
}, null, 12, _hoisted_1));
|
|
134
154
|
}
|
|
135
|
-
const Text = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-
|
|
155
|
+
const Text = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-604c9a14"]]);
|
|
136
156
|
export {
|
|
137
157
|
Text as default
|
|
138
158
|
};
|
package/es/text/text/Text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.js","sources":["../../../src/text/text/Text.vue"],"sourcesContent":["<template>\n <div class=\"skeleton-wrapper\" :style=\"style\" v-if=\"loading\">\n <skeleton :loading=\"loading\"/>\n </div>\n <div class=\"ecan-text\" :style=\"style\" v-html=\"myText\" @click=\"click\" v-else/>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, unref, watch } from 'vue'\nimport { textComponentProps } from './props'\nimport {
|
|
1
|
+
{"version":3,"file":"Text.js","sources":["../../../src/text/text/Text.vue"],"sourcesContent":["<template>\n <div class=\"skeleton-wrapper\" :style=\"style\" v-if=\"loading\">\n <skeleton :loading=\"loading\"/>\n </div>\n <div class=\"ecan-text\" :style=\"style\" v-html=\"myText\" @click=\"click\" v-else/>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, unref, watch } from 'vue'\nimport { textComponentProps } from './props'\nimport {\n usePickComponentStyle,\n useRequestData,\n useOnEvent,\n useEmitEvent,\n usePageUrl,\n useVariablesInText\n} from '@/hooks'\nimport { GLOBAL_CONFIG, REQUEST_MODEL } from '@/utils/constant'\nimport Skeleton from '@/common/skeleton/Skeleton.vue'\nimport goUp from '@/assets/go-up.png'\nimport goDown from '@/assets/go-down.png'\nexport default defineComponent({\n name: 'EcanText',\n components: { Skeleton },\n props: {\n ...textComponentProps\n },\n setup (props) {\n const style = usePickComponentStyle(props)\n const myData = ref({} as { [key:string]:any })\n watch(() => [props.data, props.dataType], ([data, dataType]) => {\n if (dataType === 'static') {\n myData.value = data as { [key: string]: any }\n }\n }, {\n immediate: true\n })\n const myText = computed(() => {\n const data = unref(myData)\n let text = props.text as string\n text = text?.replace(/\\n|\\\\n/g, '<br/>')\n text = text?.replace(/\\s/g, ' ')\n const variables = (text).match(/\\{\\s*[\\w\\u4e00-\\u9fa5]*\\s*\\}/g)\n if (variables == null || variables.length === 0) return text\n for (let i = 0; i < variables.length; i++) {\n const variable = variables[i]\n const v = variable?.slice(1, variable.length - 1)?.trim()\n let usedVariable = data[v]\n // 能取到变量值\n if (usedVariable != null) {\n // 百分比格式化\n if (props.format === 'percentage') {\n // 判断是数字类型\n usedVariable = +usedVariable\n if (!isNaN(usedVariable)) {\n usedVariable = (usedVariable * 100).toFixed(2)\n // 如果大于等于 0\n if (usedVariable >= 0) {\n text = text.replace(variable, `<span style=\"color:#ED6643;font-size:${props.variableFontSize}\"><img style=\"width: ${props.variableFontSize}\" src=\"${goUp}\"/>${usedVariable}%</span>`)\n } else {\n // 如果小于 0\n text = text.replace(variable, `<span style=\"color: #6ACB97;font-size:${props.variableFontSize}\"><img style=\"width: ${props.variableFontSize}\" src=\"${goDown}\"/>${Math.abs(usedVariable)}%</span>`)\n }\n } else {\n // 判断不是数字类型\n text = text.replace(variable, `<span style=\"color:${props.variableColor};font-size:${props.variableFontSize}\">${0.00}%</span>`)\n }\n } else if (props.format === 'money') {\n // 金额格式化\n usedVariable = +usedVariable\n if (!isNaN(usedVariable)) {\n usedVariable = (usedVariable).toFixed(2).toLocaleString()\n text = text.replace(variable, `<span style=\"color:${props.variableColor};font-size:${props.variableFontSize}\">${usedVariable}</span>`)\n }\n } else {\n /// 没有使用百分格式化\n text = text.replace(variable, `<span style=\"color:${props.variableColor};font-size:${props.variableFontSize}\">${usedVariable}</span>`)\n }\n } else {\n // 不能取到变量值\n text = text.replace(variable, props.variableDefaultValue as string)\n }\n }\n return `<span>${text}</span>`\n })\n const { pageMode } = inject(GLOBAL_CONFIG, {\n pageMode: 'normal'\n })\n const requestData = useRequestData(props)\n const loading = ref(false)\n const handleRequestData = async () => {\n if (unref(pageMode) === 'design') return\n try {\n loading.value = true\n const res = await requestData()\n myData.value = res?.data?.data || {}\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n const refreshData = () => {\n if (props.dataType === 'static') return\n handleRequestData()\n }\n\n useOnEvent(props, {\n refreshData\n })\n\n const { setRequest } = inject(REQUEST_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n setRequest: (requestFn: Function, sortNum: number) => void 0\n })\n\n setRequest(refreshData, props.requestSort as number)\n\n useOnEvent(props, {\n refreshData\n })\n\n const emitEvent = useEmitEvent(props)\n\n const click = emitEvent('click', () => {\n // 空链接、空页面直接 return\n if (!props.linkPage && !props.href) return\n const linkPage = (props.linkPage || '') as string\n const pageUrl = usePageUrl(unref(pageMode), linkPage)\n // 优先使用外部链接,再使用url\n const href = props.href as string\n let url = href || pageUrl\n url = useVariablesInText(url)\n const target = props.target\n if (target == null || target === '') return\n if (target !== 'event') {\n window.open(url, '_' + (target as string))\n } else {\n window.parent.postMessage({\n type: 'openPage',\n url: href\n }, '*')\n }\n })\n\n return {\n style,\n myText,\n loading,\n click\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n.skeleton-wrapper {\n overflow: hidden;\n}\n\n.ecan-text {\n overflow: hidden;\n display: flex;\n}\n</style>\n"],"names":["_openBlock","_createElementBlock","_normalizeStyle","_createVNode"],"mappings":"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"}
|
package/es/text/text/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/text/text/index.ts"],"sourcesContent":["import { withInstall } from '../../
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/text/text/index.ts"],"sourcesContent":["import { withInstall } from '../../utils/withInstall'\nimport Text from './Text.vue'\nexport const EcanText = withInstall(Text)\nexport default EcanText\nexport * from './props'\n"],"names":[],"mappings":";;;AAEa,MAAA,WAAW,YAAY,IAAI;"}
|
package/es/text/text/props.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { transformToComponentProps, props } from "../../
|
|
1
|
+
import { transformToComponentProps, props } from "../../utils/props.js";
|
|
2
2
|
const textProps = {
|
|
3
3
|
...props,
|
|
4
4
|
name: "\u6587\u672C",
|
|
@@ -18,7 +18,10 @@ const textProps = {
|
|
|
18
18
|
variableFontSize: "14px",
|
|
19
19
|
data: {},
|
|
20
20
|
variableDefaultValue: "0",
|
|
21
|
-
format: ""
|
|
21
|
+
format: "",
|
|
22
|
+
target: "self",
|
|
23
|
+
href: "",
|
|
24
|
+
linkPage: ""
|
|
22
25
|
};
|
|
23
26
|
const textComponentProps = transformToComponentProps(textProps);
|
|
24
27
|
const textEvents = ["refreshData", "click"];
|