@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,18 +1,18 @@
|
|
|
1
1
|
import { defineComponent, ref, computed, unref, inject, watch, resolveComponent, openBlock, createElementBlock, normalizeStyle, createVNode, withCtx } from "vue";
|
|
2
|
-
import { usePickComponentStyle } from "../../
|
|
3
|
-
import { useOnEvent } from "../../
|
|
4
|
-
import { useEmitEvent } from "../../
|
|
2
|
+
import { usePickComponentStyle } from "../../hooks/usePickComponentStyle.js";
|
|
3
|
+
import { useOnEvent } from "../../hooks/useOnEvent.js";
|
|
4
|
+
import { useEmitEvent } from "../../hooks/useEmitEvent.js";
|
|
5
5
|
import "lodash-es";
|
|
6
|
-
import { useRequestData } from "../../
|
|
7
|
-
import { GLOBAL_MODEL, GLOBAL_CONFIG, REQUEST_MODEL } from "../../
|
|
8
|
-
import { useVariablesInText } from "../../
|
|
9
|
-
import "../../
|
|
6
|
+
import { useRequestData } from "../../hooks/useRequestData.js";
|
|
7
|
+
import { GLOBAL_MODEL, GLOBAL_CONFIG, REQUEST_MODEL } from "../../utils/constant.js";
|
|
8
|
+
import { useVariablesInText } from "../../hooks/useVariablesInText.js";
|
|
9
|
+
import "../../utils/request.js";
|
|
10
10
|
import { Modal } from "ant-design-vue";
|
|
11
|
-
import { useValueFormatter } from "../../
|
|
11
|
+
import { useValueFormatter } from "../../hooks/useValueFormatter.js";
|
|
12
12
|
import Echarts from "../../common/echarts/Echarts.js";
|
|
13
13
|
import { scatterComponentProps } from "./props.js";
|
|
14
14
|
import Spin from "../../common/spin/Spin.js";
|
|
15
|
-
import { useDownloadFile } from "../../
|
|
15
|
+
import { useDownloadFile } from "../../hooks/useDownloadFile.js";
|
|
16
16
|
import "./Scatter.vue_vue_type_style_index_0_lang.js";
|
|
17
17
|
import _export_sfc from "../../_virtual/plugin-vue_export-helper.js";
|
|
18
18
|
import { install as install$1 } from "../../node_modules/echarts/lib/chart/scatter/install.js";
|
|
@@ -146,8 +146,17 @@ const _sfc_main = defineComponent({
|
|
|
146
146
|
trigger: props.tooltipTrigger,
|
|
147
147
|
formatter: function(params) {
|
|
148
148
|
var _a, _b;
|
|
149
|
+
const { marker, seriesName } = params;
|
|
149
150
|
const record = (_b = (_a = params == null ? void 0 : params.data) == null ? void 0 : _a.record) != null ? _b : {};
|
|
150
|
-
|
|
151
|
+
const { name, value } = record;
|
|
152
|
+
return useVariablesInText(props.tooltipFormatter, {
|
|
153
|
+
marker,
|
|
154
|
+
seriesName,
|
|
155
|
+
a: seriesName,
|
|
156
|
+
b: name,
|
|
157
|
+
c: value,
|
|
158
|
+
...record
|
|
159
|
+
});
|
|
151
160
|
},
|
|
152
161
|
axisPointer: {
|
|
153
162
|
type: "cross"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scatter.js","sources":["../../../src/graph/scatter/Scatter.vue"],"sourcesContent":["<template>\n <div :style=\"style\">\n <spin :spinning=\"loading\">\n <echarts\n :option=\"option\"\n autoresize\n @click=\"click\"\n />\n </spin>\n <a-modal\n wrap-class-name=\"full-modal\"\n width=\"100%\"\n :visible=\"visible\"\n :footer=\"null\"\n @cancel=\"hideModal\"\n >\n <spin :spinning=\"loading\">\n <echarts\n :option=\"option\"\n :update-options=\"{ notMerge: true }\"\n autoresize\n />\n </spin>\n </a-modal>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, watch, inject, unref } from 'vue'\nimport {\n useValueFormatter,\n useEmitEvent,\n useOnEvent,\n usePickComponentStyle,\n useRequestData,\n useVariablesInText\n} from '@/_utils/hooks'\nimport Echarts from '@/common/echarts'\nimport { scatterComponentProps } from './props'\nimport { use } from 'echarts/core'\nimport { CanvasRenderer } from 'echarts/renderers'\nimport { ScatterChart } from 'echarts/charts'\nimport { TitleComponent, TooltipComponent, LegendComponent, ToolboxComponent } from 'echarts/components'\nimport { GLOBAL_CONFIG, GLOBAL_MODEL, REQUEST_MODEL } from '@/_utils/constant'\nimport Spin from '@/common/spin/Spin.vue'\nimport useDownloadFile from '@/_utils/hooks/useDownloadFile'\nimport { Modal as AModal } from 'ant-design-vue'\nuse([\n CanvasRenderer,\n ScatterChart,\n ToolboxComponent,\n TitleComponent,\n TooltipComponent,\n LegendComponent\n])\nexport default defineComponent({\n name: 'EcanScatter',\n props: {\n ...scatterComponentProps\n },\n components: {\n Spin,\n Echarts,\n AModal\n },\n setup (props) {\n const style = usePickComponentStyle(props)\n const dataset = ref<{ [key: string]: any }[]>([])\n const visible = ref(false)\n const hideModal = () => {\n visible.value = false\n }\n const option = computed(() => {\n // 这样写为了触发响应式\n // 返回函数中使用无法触发\n const xAxisLabelFormatter = props.xAxisLabelFormatter as string\n const yAxisLabelFormatter = props.yAxisLabelFormatter as string\n return {\n toolbox: {\n show: props.toolboxShow,\n left: props.toolboxLeft,\n top: props.toolboxTop,\n itemSize: props.toolboxItemSize,\n itemGap: props.toolboxItemGap,\n feature: {\n myDownload: {\n show: true,\n title: '数据下载',\n icon: 'path://M502.010485 765.939573c3.773953 3.719718 8.686846 5.573949 13.596669 5.573949 0.075725 0 0.151449-0.010233 0.227174-0.011256 0.329505 0.016373 0.654916 0.050142 0.988514 0.050142 0.706081 0 1.400906-0.042979 2.087545-0.116657 4.352121-0.366344 8.607028-2.190899 11.961426-5.496178l335.053985-330.166675c7.619538-7.509021 7.709589-19.773346 0.200568-27.393907s-19.774369-7.711636-27.39493-0.201591L536.193005 706.304358 536.193005 50.019207c0-10.698666-8.67252-19.371186-19.371186-19.371186s-19.371186 8.67252-19.371186 19.371186l0 657.032164-306.881342-302.44838c-7.618515-7.509021-19.883863-7.419993-27.393907 0.199545-7.509021 7.619538-7.419993 19.884886 0.199545 27.393907L502.010485 765.939573z, M867.170139 711.020776c-10.698666 0-19.371186 8.67252-19.371186 19.371186l0 165.419494c0 13.054317-10.620895 23.675212-23.676236 23.675212L205.182103 919.486668c-13.054317 0-23.676236-10.620895-23.676236-23.675212L181.505867 730.391962c0-10.698666-8.67252-19.371186-19.371186-19.371186s-19.371186 8.67252-19.371186 19.371186l0 165.419494c0 34.416857 28.000728 62.416562 62.417585 62.416562l618.941638 0c34.417881 0 62.417585-27.999704 62.417585-62.416562L886.540302 730.391962C886.541325 719.693296 877.868805 711.020776 867.170139 711.020776z',\n onclick () {\n useDownloadFile(props.toolboxDownloadUrl as string)\n }\n },\n myDataZoom: {\n show: true,\n title: '放大',\n icon: 'path://M932.42 902.246667L792 761.793333A403.84 403.84 0 0 0 896 490.666667c0-223.86-181.473333-405.333333-405.333333-405.333334S85.333333 266.806667 85.333333 490.666667s181.473333 405.333333 405.333334 405.333333a403.84 403.84 0 0 0 271.126666-104l140.453334 140.453333a21.333333 21.333333 0 0 0 30.173333-30.173333zM128 490.666667c0-200.293333 162.373333-362.666667 362.666667-362.666667s362.666667 162.373333 362.666666 362.666667-162.373333 362.666667-362.666666 362.666666-362.666667-162.373333-362.666667-362.666666z m512 0a21.333333 21.333333 0 0 1-21.333333 21.333333H512v106.666667a21.333333 21.333333 0 0 1-42.666667 0V512H362.666667a21.333333 21.333333 0 0 1 0-42.666667h106.666666V362.666667a21.333333 21.333333 0 0 1 42.666667 0v106.666666h106.666667a21.333333 21.333333 0 0 1 21.333333 21.333334z',\n onclick () {\n visible.value = true\n }\n },\n myInfo: {\n show: true,\n title: '说明信息',\n icon: 'path://M512.50142 958.397886c-119.320573 0-231.499491-46.465265-315.871087-130.837884C112.258737 743.188406 65.792449 631.010511 65.792449 511.688915c0-119.319549 46.466288-231.499491 130.837884-315.871087C281.002952 111.445208 393.180847 64.979944 512.50142 64.979944s231.499491 46.465265 315.871087 130.837884c84.372619 84.372619 130.837884 196.551538 130.837884 315.871087 0 119.321596-46.465265 231.499491-130.837884 315.871087C744.000911 911.932622 631.821993 958.397886 512.50142 958.397886zM512.50142 105.962334c-223.718271 0-405.726581 182.00831-405.726581 405.726581s182.00831 405.726581 405.726581 405.726581c223.718271 0 405.727605-182.00831 405.727605-405.726581S736.220714 105.962334 512.50142 105.962334z M510.150886 775.953647c-18.107403 0-32.745798-14.678304-32.745798-32.785707L477.405087 452.191846c0-18.108426 14.638395-32.785707 32.745798-32.785707 18.107403 0 32.745798 14.678304 32.745798 32.785707l0 290.976094C542.896684 761.275343 528.258289 775.953647 510.150886 775.953647z M511.357364 296.458969m-45.080731 0a44.054 44.054 0 1 0 90.161463 0 44.054 44.054 0 1 0-90.161463 0Z',\n onclick () {\n AModal.info({\n title: '说明信息',\n content: (props.toolboxInfoText as string)\n })\n }\n }\n }\n },\n title: {\n text: props.titleText,\n subtext: props.titleSubtext,\n left: 'center'\n },\n grid: {\n top: props.gridTop,\n bottom: props.gridBottom,\n left: props.gridLeft,\n right: props.gridRight,\n containLabel: props.gridContainLabel\n },\n color: props.colors,\n xAxis: {\n // type: 'value'\n splitLine: {\n show: props.xAxisSplitLineShow,\n lineStyle: {\n color: props.xAxisSplitLineStyleColor\n }\n },\n axisLabel: {\n color: props.xAxisLabelColor,\n formatter (value: string) {\n return useValueFormatter(xAxisLabelFormatter, value)\n }\n },\n axisLine: {\n lineStyle: {\n color: props.xAxisLineStyleColor\n }\n },\n axisTick: {\n show: props.xAxisTickShow\n }\n },\n yAxis: {\n splitLine: {\n show: props.yAxisSplitLineShow,\n lineStyle: {\n color: props.yAxisSplitLineStyleColor\n }\n },\n axisLabel: {\n color: props.yAxisLabelColor,\n formatter (value: string) {\n return useValueFormatter(yAxisLabelFormatter, value)\n }\n },\n axisLine: {\n lineStyle: {\n color: props.yAxisLineStyleColor\n }\n }\n },\n // 提示\n tooltip: {\n show: props.tooltipShow,\n trigger: props.tooltipTrigger,\n formatter: function (params) {\n const record = params?.data?.record ?? {}\n return useVariablesInText(props.tooltipFormatter as string, record)\n },\n axisPointer: {\n type: 'cross'\n }\n },\n // 图例\n legend: {\n show: props.legendShow,\n orient: props.legendOrient,\n top: props.legendTop,\n left: props.legendLeft\n },\n series: [\n {\n data: unref(dataset),\n type: 'scatter',\n symbolSize: props.symbolSize\n }\n ]\n }\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 { pageMode } = inject(GLOBAL_CONFIG, {\n pageMode: 'normal'\n })\n\n const handleDataset = (data: any = [], dataFieldNames?: { name: string, value:string }) => {\n const { name: x = 'name', value: y = 'value' } = dataFieldNames || {}\n dataset.value = data.map(item => ({ value: [item[x], item[y]], record: item }))\n }\n\n // 静态数据\n watch(() => props.data, (value: any) => {\n if (props.dataType === 'static' || unref(pageMode) === 'design') {\n handleDataset(value)\n }\n }, {\n immediate: true,\n deep: true\n })\n\n const loading = ref(false)\n\n const requestData = useRequestData(props)\n // 动态数据\n const handleRequestData = async () => {\n if (props.dataType !== 'request' || unref(pageMode) === 'design') return\n loading.value = true\n try {\n const res = await requestData()\n handleDataset(res?.data?.data?.rows, props.dataFieldNames as { name: string, value:string })\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n\n const emitEvent = useEmitEvent(props)\n\n const click = emitEvent('click', (e) => {\n const id = props.id as string\n const modal = getGlobalModel(id)\n // 约定获取数据\n setGlobalModel(id, { ...modal, RECORD: e?.data })\n })\n\n const refreshData = () => {\n handleRequestData()\n }\n\n useOnEvent(props, {\n refreshData,\n click\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(handleRequestData, props.requestSort as number)\n\n return {\n option,\n style,\n click,\n loading,\n visible,\n hideModal\n }\n }\n})\n</script>\n\n<style lang=\"less\">\n.full-modal {\n .ant-modal {\n max-width: 100%;\n top: 0;\n padding-bottom: 0;\n margin: 0;\n }\n .ant-modal-content {\n display: flex;\n flex-direction: column;\n height: calc(100vh);\n }\n .ant-modal-body {\n flex: 1;\n }\n\n .ant-modal-body {\n padding: 45px 30px 0;\n }\n}\n</style>\n"],"names":["CanvasRenderer","ScatterChart","ToolboxComponent","TitleComponent","TooltipComponent","LegendComponent","AModal","_createElementBlock","_normalizeStyle","_createVNode","_withCtx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Scatter.js","sources":["../../../src/graph/scatter/Scatter.vue"],"sourcesContent":["<template>\n <div :style=\"style\">\n <spin :spinning=\"loading\">\n <echarts\n :option=\"option\"\n autoresize\n @click=\"click\"\n />\n </spin>\n <a-modal\n wrap-class-name=\"full-modal\"\n width=\"100%\"\n :visible=\"visible\"\n :footer=\"null\"\n @cancel=\"hideModal\"\n >\n <spin :spinning=\"loading\">\n <echarts\n :option=\"option\"\n :update-options=\"{ notMerge: true }\"\n autoresize\n />\n </spin>\n </a-modal>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, watch, inject, unref } from 'vue'\nimport {\n useValueFormatter,\n useEmitEvent,\n useOnEvent,\n usePickComponentStyle,\n useRequestData,\n useVariablesInText\n} from '@/hooks'\nimport Echarts from '@/common/echarts'\nimport { scatterComponentProps } from './props'\nimport { use } from 'echarts/core'\nimport { CanvasRenderer } from 'echarts/renderers'\nimport { ScatterChart } from 'echarts/charts'\nimport { TitleComponent, TooltipComponent, LegendComponent, ToolboxComponent } from 'echarts/components'\nimport { GLOBAL_CONFIG, GLOBAL_MODEL, REQUEST_MODEL } from '@/utils/constant'\nimport Spin from '@/common/spin/Spin.vue'\nimport useDownloadFile from '@/hooks/useDownloadFile'\nimport { Modal as AModal } from 'ant-design-vue'\nuse([\n CanvasRenderer,\n ScatterChart,\n ToolboxComponent,\n TitleComponent,\n TooltipComponent,\n LegendComponent\n])\nexport default defineComponent({\n name: 'EcanScatter',\n props: {\n ...scatterComponentProps\n },\n components: {\n Spin,\n Echarts,\n AModal\n },\n setup (props) {\n const style = usePickComponentStyle(props)\n const dataset = ref<{ [key: string]: any }[]>([])\n const visible = ref(false)\n const hideModal = () => {\n visible.value = false\n }\n const option = computed(() => {\n // 这样写为了触发响应式\n // 返回函数中使用无法触发\n const xAxisLabelFormatter = props.xAxisLabelFormatter as string\n const yAxisLabelFormatter = props.yAxisLabelFormatter as string\n return {\n toolbox: {\n show: props.toolboxShow,\n left: props.toolboxLeft,\n top: props.toolboxTop,\n itemSize: props.toolboxItemSize,\n itemGap: props.toolboxItemGap,\n feature: {\n myDownload: {\n show: true,\n title: '数据下载',\n icon: 'path://M502.010485 765.939573c3.773953 3.719718 8.686846 5.573949 13.596669 5.573949 0.075725 0 0.151449-0.010233 0.227174-0.011256 0.329505 0.016373 0.654916 0.050142 0.988514 0.050142 0.706081 0 1.400906-0.042979 2.087545-0.116657 4.352121-0.366344 8.607028-2.190899 11.961426-5.496178l335.053985-330.166675c7.619538-7.509021 7.709589-19.773346 0.200568-27.393907s-19.774369-7.711636-27.39493-0.201591L536.193005 706.304358 536.193005 50.019207c0-10.698666-8.67252-19.371186-19.371186-19.371186s-19.371186 8.67252-19.371186 19.371186l0 657.032164-306.881342-302.44838c-7.618515-7.509021-19.883863-7.419993-27.393907 0.199545-7.509021 7.619538-7.419993 19.884886 0.199545 27.393907L502.010485 765.939573z, M867.170139 711.020776c-10.698666 0-19.371186 8.67252-19.371186 19.371186l0 165.419494c0 13.054317-10.620895 23.675212-23.676236 23.675212L205.182103 919.486668c-13.054317 0-23.676236-10.620895-23.676236-23.675212L181.505867 730.391962c0-10.698666-8.67252-19.371186-19.371186-19.371186s-19.371186 8.67252-19.371186 19.371186l0 165.419494c0 34.416857 28.000728 62.416562 62.417585 62.416562l618.941638 0c34.417881 0 62.417585-27.999704 62.417585-62.416562L886.540302 730.391962C886.541325 719.693296 877.868805 711.020776 867.170139 711.020776z',\n onclick () {\n useDownloadFile(props.toolboxDownloadUrl as string)\n }\n },\n myDataZoom: {\n show: true,\n title: '放大',\n icon: 'path://M932.42 902.246667L792 761.793333A403.84 403.84 0 0 0 896 490.666667c0-223.86-181.473333-405.333333-405.333333-405.333334S85.333333 266.806667 85.333333 490.666667s181.473333 405.333333 405.333334 405.333333a403.84 403.84 0 0 0 271.126666-104l140.453334 140.453333a21.333333 21.333333 0 0 0 30.173333-30.173333zM128 490.666667c0-200.293333 162.373333-362.666667 362.666667-362.666667s362.666667 162.373333 362.666666 362.666667-162.373333 362.666667-362.666666 362.666666-362.666667-162.373333-362.666667-362.666666z m512 0a21.333333 21.333333 0 0 1-21.333333 21.333333H512v106.666667a21.333333 21.333333 0 0 1-42.666667 0V512H362.666667a21.333333 21.333333 0 0 1 0-42.666667h106.666666V362.666667a21.333333 21.333333 0 0 1 42.666667 0v106.666666h106.666667a21.333333 21.333333 0 0 1 21.333333 21.333334z',\n onclick () {\n visible.value = true\n }\n },\n myInfo: {\n show: true,\n title: '说明信息',\n icon: 'path://M512.50142 958.397886c-119.320573 0-231.499491-46.465265-315.871087-130.837884C112.258737 743.188406 65.792449 631.010511 65.792449 511.688915c0-119.319549 46.466288-231.499491 130.837884-315.871087C281.002952 111.445208 393.180847 64.979944 512.50142 64.979944s231.499491 46.465265 315.871087 130.837884c84.372619 84.372619 130.837884 196.551538 130.837884 315.871087 0 119.321596-46.465265 231.499491-130.837884 315.871087C744.000911 911.932622 631.821993 958.397886 512.50142 958.397886zM512.50142 105.962334c-223.718271 0-405.726581 182.00831-405.726581 405.726581s182.00831 405.726581 405.726581 405.726581c223.718271 0 405.727605-182.00831 405.727605-405.726581S736.220714 105.962334 512.50142 105.962334z M510.150886 775.953647c-18.107403 0-32.745798-14.678304-32.745798-32.785707L477.405087 452.191846c0-18.108426 14.638395-32.785707 32.745798-32.785707 18.107403 0 32.745798 14.678304 32.745798 32.785707l0 290.976094C542.896684 761.275343 528.258289 775.953647 510.150886 775.953647z M511.357364 296.458969m-45.080731 0a44.054 44.054 0 1 0 90.161463 0 44.054 44.054 0 1 0-90.161463 0Z',\n onclick () {\n AModal.info({\n title: '说明信息',\n content: (props.toolboxInfoText as string)\n })\n }\n }\n }\n },\n title: {\n text: props.titleText,\n subtext: props.titleSubtext,\n left: 'center'\n },\n grid: {\n top: props.gridTop,\n bottom: props.gridBottom,\n left: props.gridLeft,\n right: props.gridRight,\n containLabel: props.gridContainLabel\n },\n color: props.colors,\n xAxis: {\n // type: 'value'\n splitLine: {\n show: props.xAxisSplitLineShow,\n lineStyle: {\n color: props.xAxisSplitLineStyleColor\n }\n },\n axisLabel: {\n color: props.xAxisLabelColor,\n formatter (value: string) {\n return useValueFormatter(xAxisLabelFormatter, value)\n }\n },\n axisLine: {\n lineStyle: {\n color: props.xAxisLineStyleColor\n }\n },\n axisTick: {\n show: props.xAxisTickShow\n }\n },\n yAxis: {\n splitLine: {\n show: props.yAxisSplitLineShow,\n lineStyle: {\n color: props.yAxisSplitLineStyleColor\n }\n },\n axisLabel: {\n color: props.yAxisLabelColor,\n formatter (value: string) {\n return useValueFormatter(yAxisLabelFormatter, value)\n }\n },\n axisLine: {\n lineStyle: {\n color: props.yAxisLineStyleColor\n }\n }\n },\n // 提示\n tooltip: {\n show: props.tooltipShow,\n trigger: props.tooltipTrigger,\n formatter: function (params) {\n const { marker, seriesName } = params\n const record = params?.data?.record ?? {}\n const { name, value } = record\n return useVariablesInText(props.tooltipFormatter as string, {\n marker,\n seriesName,\n a: seriesName,\n b: name,\n c: value,\n ...record\n })\n },\n axisPointer: {\n type: 'cross'\n }\n },\n // 图例\n legend: {\n show: props.legendShow,\n orient: props.legendOrient,\n top: props.legendTop,\n left: props.legendLeft\n },\n series: [\n {\n data: unref(dataset),\n type: 'scatter',\n symbolSize: props.symbolSize\n }\n ]\n }\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 { pageMode } = inject(GLOBAL_CONFIG, {\n pageMode: 'normal'\n })\n\n const handleDataset = (data: any = [], dataFieldNames?: { name: string, value:string }) => {\n const { name: x = 'name', value: y = 'value' } = dataFieldNames || {}\n dataset.value = data.map(item => ({ value: [item[x], item[y]], record: item }))\n }\n\n // 静态数据\n watch(() => props.data, (value: any) => {\n if (props.dataType === 'static' || unref(pageMode) === 'design') {\n handleDataset(value)\n }\n }, {\n immediate: true,\n deep: true\n })\n\n const loading = ref(false)\n\n const requestData = useRequestData(props)\n // 动态数据\n const handleRequestData = async () => {\n if (props.dataType !== 'request' || unref(pageMode) === 'design') return\n loading.value = true\n try {\n const res = await requestData()\n handleDataset(res?.data?.data?.rows, props.dataFieldNames as { name: string, value:string })\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n\n const emitEvent = useEmitEvent(props)\n\n const click = emitEvent('click', (e) => {\n const id = props.id as string\n const modal = getGlobalModel(id)\n // 约定获取数据\n setGlobalModel(id, { ...modal, RECORD: e?.data })\n })\n\n const refreshData = () => {\n handleRequestData()\n }\n\n useOnEvent(props, {\n refreshData,\n click\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(handleRequestData, props.requestSort as number)\n\n return {\n option,\n style,\n click,\n loading,\n visible,\n hideModal\n }\n }\n})\n</script>\n\n<style lang=\"less\">\n.full-modal {\n .ant-modal {\n max-width: 100%;\n top: 0;\n padding-bottom: 0;\n margin: 0;\n }\n .ant-modal-content {\n display: flex;\n flex-direction: column;\n height: calc(100vh);\n }\n .ant-modal-body {\n flex: 1;\n }\n\n .ant-modal-body {\n padding: 45px 30px 0;\n }\n}\n</style>\n"],"names":["CanvasRenderer","ScatterChart","ToolboxComponent","TitleComponent","TooltipComponent","LegendComponent","AModal","_createElementBlock","_normalizeStyle","_createVNode","_withCtx"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { withInstall } from "../../
|
|
1
|
+
import { withInstall } from "../../utils/withInstall.js";
|
|
2
2
|
import Scatter from "./Scatter.js";
|
|
3
3
|
import { scatterComponentProps, scatterEvents, scatterProps } from "./props.js";
|
|
4
4
|
const EcanScatter = withInstall(Scatter);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/graph/scatter/index.ts"],"sourcesContent":["import { withInstall } from '../../
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/graph/scatter/index.ts"],"sourcesContent":["import { withInstall } from '../../utils/withInstall'\nimport Scatter from './Scatter.vue'\nexport const EcanScatter = withInstall(Scatter)\nexport default EcanScatter\nexport * from './props'\n"],"names":[],"mappings":";;;AAEa,MAAA,cAAc,YAAY,OAAO;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { transformToComponentProps, props } from "../../
|
|
1
|
+
import { transformToComponentProps, props } from "../../utils/props.js";
|
|
2
2
|
const scatterProps = {
|
|
3
3
|
...props,
|
|
4
4
|
id: "",
|
|
@@ -19,7 +19,7 @@ const scatterProps = {
|
|
|
19
19
|
titleSubtext: "",
|
|
20
20
|
tooltipShow: true,
|
|
21
21
|
tooltipTrigger: "item",
|
|
22
|
-
tooltipFormatter: "{c}",
|
|
22
|
+
tooltipFormatter: "{marker} {b} {c}",
|
|
23
23
|
legendShow: false,
|
|
24
24
|
legendOrient: "horizontal",
|
|
25
25
|
legendTop: "top",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.js","sources":["../../../src/graph/scatter/props.ts"],"sourcesContent":["import {\n Props,\n props,\n transformToComponentProps,\n Data\n} from '@/
|
|
1
|
+
{"version":3,"file":"props.js","sources":["../../../src/graph/scatter/props.ts"],"sourcesContent":["import {\n Props,\n props,\n transformToComponentProps,\n Data\n} from '@/utils/props'\n\nexport interface ScatterProps extends Props {\n data: Data\n titleText: string\n titleSubtext: string\n colors: string []\n legendShow: boolean,\n tooltipShow: boolean,\n tooltipTrigger: 'item' | 'axis' | 'none'\n tooltipFormatter: string\n legendLeft: 'left' | 'center' | 'right'\n legendTop: 'top' | 'middle' | 'bottom'\n legendOrient: 'vertical' | 'horizontal'\n symbolSize: number // 标记点大小\n xAxisSplitLineShow: boolean // x轴展示分割线\n xAxisLabelColor: string // x轴名称颜色\n xAxisLineStyleColor: string // x轴名称颜色\n xAxisTickShow: boolean // 展示刻度\n xAxisLabelFormatter: string // 格式化\n yAxisSplitLineShow: boolean // y轴展示分割线\n xAxisSplitLineStyleColor: string // x轴分割线颜色\n yAxisSplitLineStyleColor: string // y轴分割线颜色\n yAxisLabelColor: string // y轴名称颜色\n yAxisLineStyleColor: string // y轴名称颜色\n yAxisLabelFormatter: string // 格式化\n gridContainLabel: boolean\n gridTop: string\n gridBottom: string\n gridLeft: string\n gridRight: string\n dataFieldNames: { name: string, value: string }\n graphicConfig?: any\n toolboxShow: boolean\n toolboxOrient: 'horizontal' | 'vertical'\n toolboxItemSize: number // 工具栏 icon 的大小。\n toolboxItemGap: number // 工具栏 icon 每项之间的间隔。横向布局时为水平间隔,纵向布局时为纵向间隔。\n toolboxLeft: 'left' | 'center' | 'right'\n toolboxTop: 'top'| 'middle'| 'bottom'\n toolboxIconStyleBorderColor: string\n toolboxDownloadUrl: string\n toolboxInfoText: string\n}\n\nexport const scatterProps: ScatterProps = {\n ...props,\n id: '',\n name: '散点图',\n keyName: '散点图',\n type: 'ecanScatter',\n width: '400px',\n height: '400px',\n top: '',\n left: '',\n rotate: '',\n data: [\n { name: 233, value: 335 },\n { name: 556, value: 310 },\n { name: 56, value: 234 }\n ],\n titleText: '',\n titleSubtext: '',\n tooltipShow: true,\n tooltipTrigger: 'item',\n tooltipFormatter: '{marker} {b} {c}',\n legendShow: false,\n legendOrient: 'horizontal',\n legendTop: 'top',\n legendLeft: 'center',\n colors: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc'],\n symbolSize: 10,\n xAxisSplitLineShow: true,\n xAxisSplitLineStyleColor: '#333',\n xAxisLabelColor: '#333',\n xAxisLineStyleColor: '#333',\n xAxisTickShow: true,\n xAxisLabelFormatter: '{value}',\n yAxisSplitLineShow: true,\n yAxisSplitLineStyleColor: '#333',\n yAxisLabelColor: '#333',\n yAxisLineStyleColor: '#333',\n yAxisLabelFormatter: '{value}',\n dataFieldNames: { name: 'name', value: 'value' },\n gridContainLabel: true,\n gridTop: '10%',\n gridBottom: '10%',\n gridLeft: '5%',\n gridRight: '5%',\n graphicConfig: undefined,\n toolboxShow: false,\n toolboxOrient: 'horizontal',\n toolboxItemSize: 16,\n toolboxItemGap: 8,\n toolboxLeft: 'right',\n toolboxTop: 'top',\n toolboxIconStyleBorderColor: '#666',\n toolboxDownloadUrl: '',\n toolboxInfoText: '当前无说明信息'\n}\n\n// 转化默认属性\nexport const scatterComponentProps = transformToComponentProps(scatterProps)\n\nexport const scatterEvents = ['click', 'refreshData']\n"],"names":[],"mappings":";AAiDO,MAAM,eAA6B;AAAA,EACxC,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,MAAM;AAAA,IACJ,EAAE,MAAM,KAAK,OAAO,IAAI;AAAA,IACxB,EAAE,MAAM,KAAK,OAAO,IAAI;AAAA,IACxB,EAAE,MAAM,IAAI,OAAO,IAAI;AAAA,EACzB;AAAA,EACA,WAAW;AAAA,EACX,cAAc;AAAA,EACd,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ,CAAC,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS;AAAA,EAC1G,YAAY;AAAA,EACZ,oBAAoB;AAAA,EACpB,0BAA0B;AAAA,EAC1B,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,0BAA0B;AAAA,EAC1B,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,gBAAgB,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,EAC/C,kBAAkB;AAAA,EAClB,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,WAAW;AAAA,EACX,eAAe;AAAA,EACf,aAAa;AAAA,EACb,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,6BAA6B;AAAA,EAC7B,oBAAoB;AAAA,EACpB,iBAAiB;AACnB;AAGa,MAAA,wBAAwB,0BAA0B,YAAY;AAE9D,MAAA,gBAAgB,CAAC,SAAS,aAAa;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDownloadFile.js","sources":["../../src/hooks/useDownloadFile.ts"],"sourcesContent":["import request from '@/utils/request'\nexport const useDownloadFile = async (downloadFileUrl: string) => {\n const res = await request.post(downloadFileUrl, {}, {\n responseType: 'blob'\n }) as any\n const { data, headers } = res\n const fileName = headers['content-disposition'].replace(/\\w+;filename=(.*)/, '$1')\n const blob = new Blob([data])\n const dom = document.createElement('a')\n const url = window.URL.createObjectURL(blob)\n dom.href = url\n dom.download = decodeURI(fileName)\n dom.style.display = 'none'\n document.body.appendChild(dom)\n dom.click()\n dom.parentNode?.removeChild(dom)\n window.URL.revokeObjectURL(url)\n}\nexport default useDownloadFile\n"],"names":[],"mappings":";AACa,MAAA,kBAAkB,OAAO,oBAA4B;;AAChE,QAAM,MAAM,MAAM,QAAQ,KAAK,iBAAiB,CAAA,GAAI;AAAA,IAClD,cAAc;AAAA,EAAA,CACf;AACK,QAAA,EAAE,MAAM,QAAY,IAAA;AAC1B,QAAM,WAAW,QAAQ,uBAAuB,QAAQ,qBAAqB,IAAI;AACjF,QAAM,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC;AACtB,QAAA,MAAM,SAAS,cAAc,GAAG;AACtC,QAAM,MAAM,OAAO,IAAI,gBAAgB,IAAI;AAC3C,MAAI,OAAO;AACP,MAAA,WAAW,UAAU,QAAQ;AACjC,MAAI,MAAM,UAAU;AACX,WAAA,KAAK,YAAY,GAAG;AAC7B,MAAI,MAAM;AACN,YAAA,eAAA,mBAAY,YAAY;AACrB,SAAA,IAAI,gBAAgB,GAAG;AAChC;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { inject, ref } from "vue";
|
|
2
2
|
import "lodash-es";
|
|
3
|
-
import { EVENT_BUS, GLOBAL_CONFIG } from "../constant.js";
|
|
3
|
+
import { EVENT_BUS, GLOBAL_CONFIG } from "../utils/constant.js";
|
|
4
4
|
const useEmitEvent = (props) => {
|
|
5
5
|
const events = props.events;
|
|
6
6
|
const id = props.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEmitEvent.js","sources":["
|
|
1
|
+
{"version":3,"file":"useEmitEvent.js","sources":["../../src/hooks/useEmitEvent.ts"],"sourcesContent":["import { inject, ref } from 'vue'\nimport { Events } from '@/utils/props'\nimport { EVENT_BUS, GLOBAL_CONFIG } from '@/utils/constant'\n/**\n * 触发事件\n * @param props 事件数据\n */\nexport const useEmitEvent = (props: { [key:string]: any }) => {\n const events = props.events as Events\n const id = props.id\n const eventBus = inject(EVENT_BUS, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n emitEvent: (id:string, type: string) => void 0\n })\n\n const { touchEventId } = inject(GLOBAL_CONFIG, {\n touchEventId: ref('')\n })\n /**\n * @param on 触发事件\n * @param callback 回调函数\n */\n return (on: string, callback: Function = () => {}) => {\n return function () {\n // 透传\n callback.call(this, ...arguments)\n if (eventBus) {\n const { emitEvent } = eventBus\n events.forEach(event => {\n if (on === event.on) {\n try {\n touchEventId.value = id\n emitEvent(event.target, event.emit)\n } catch (e) {\n console.error(e)\n }\n }\n })\n }\n }\n }\n}\n\nexport default useEmitEvent\n"],"names":["id"],"mappings":";;;AAOa,MAAA,eAAe,CAAC,UAAiC;AAC5D,QAAM,SAAS,MAAM;AACrB,QAAM,KAAK,MAAM;AACX,QAAA,WAAW,OAAO,WAAW;AAAA,IAGjC,WAAW,CAACA,KAAW,SAAiB;AAAA,EAAA,CACzC;AAED,QAAM,EAAE,aAAA,IAAiB,OAAO,eAAe;AAAA,IAC7C,cAAc,IAAI,EAAE;AAAA,EAAA,CACrB;AAKM,SAAA,CAAC,IAAY,WAAqB,MAAM;AAAA,EAAA,MAAO;AACpD,WAAO,WAAY;AAER,eAAA,KAAK,MAAM,GAAG,SAAS;AAChC,UAAI,UAAU;AACN,cAAA,EAAE,UAAc,IAAA;AACtB,eAAO,QAAQ,CAAS,UAAA;AAClB,cAAA,OAAO,MAAM,IAAI;AACf,gBAAA;AACF,2BAAa,QAAQ;AACX,wBAAA,MAAM,QAAQ,MAAM,IAAI;AAAA,qBAC3B;AACP,sBAAQ,MAAM,CAAC;AAAA,YACjB;AAAA,UACF;AAAA,QAAA,CACD;AAAA,MACH;AAAA,IAAA;AAAA,EACF;AAEJ;"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHrefParamsToGlobalVariables.js","sources":["../../src/hooks/useHrefParamsToGlobalVariables.ts"],"sourcesContent":["export const useHrefParamsToGlobalVariables = () => {\n const search = window.location.search\n const params = search.slice(1).split('&')\n const len = params.length\n for (let i = 0; i < len; i++) {\n const param = params[i]\n if (param == null || param === '') continue\n const keyAndValue = param.split('=')\n if (Array.isArray(keyAndValue)) {\n const key = keyAndValue[0]\n const value = keyAndValue[1] as string\n (window as any).config[key] = value\n }\n }\n}\n\nexport default useHrefParamsToGlobalVariables\n"],"names":[],"mappings":"AAAO,MAAM,iCAAiC,MAAM;AAC5C,QAAA,SAAS,OAAO,SAAS;AAC/B,QAAM,SAAS,OAAO,MAAM,CAAC,EAAE,MAAM,GAAG;AACxC,QAAM,MAAM,OAAO;AACnB,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,UAAM,QAAQ,OAAO;AACjB,QAAA,SAAS,QAAQ,UAAU;AAAI;AAC7B,UAAA,cAAc,MAAM,MAAM,GAAG;AAC/B,QAAA,MAAM,QAAQ,WAAW,GAAG;AAC9B,YAAM,MAAM,YAAY;AACxB,YAAM,QAAQ,YAAY;AACzB,aAAe,OAAO,OAAO;AAAA,IAChC;AAAA,EACF;AACF;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useImagePath.js","sources":["../../src/hooks/useImagePath.ts"],"sourcesContent":["import { UPLOAD_PATH } from '@/utils/constant'\nexport const useImagePath = (path:string, isFormat: boolean = false) => {\n if (!path) return path\n let imagePath: string = ''\n if (path?.includes('://')) {\n imagePath = path\n } else {\n imagePath = UPLOAD_PATH + path\n }\n if (isFormat) {\n imagePath = `url(${imagePath})`\n }\n return imagePath\n}\n\nexport default useImagePath\n"],"names":[],"mappings":";AACO,MAAM,eAAe,CAAC,MAAa,WAAoB,UAAU;AACtE,MAAI,CAAC;AAAa,WAAA;AAClB,MAAI,YAAoB;AACpB,MAAA,6BAAM,SAAS,QAAQ;AACb,gBAAA;AAAA,EAAA,OACP;AACL,gBAAY,cAAc;AAAA,EAC5B;AACA,MAAI,UAAU;AACZ,gBAAY,OAAO;AAAA,EACrB;AACO,SAAA;AACT;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { GLOBAL_TOKEN, GLOBAL_MODEL, INDICATOR_URL } from "../constant.js";
|
|
2
|
-
import { lowerCaseIncludes } from "../util.js";
|
|
3
|
-
import { request } from "../request.js";
|
|
1
|
+
import { GLOBAL_TOKEN, GLOBAL_MODEL, INDICATOR_URL } from "../utils/constant.js";
|
|
2
|
+
import { lowerCaseIncludes } from "../utils/util.js";
|
|
3
|
+
import { request } from "../utils/request.js";
|
|
4
4
|
import { inject, unref } from "vue";
|
|
5
5
|
const useIndicatorData = (props = {}) => {
|
|
6
6
|
const { requestToken } = inject(GLOBAL_TOKEN, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIndicatorData.js","sources":["../../src/hooks/useIndicatorData.ts"],"sourcesContent":["import { GLOBAL_MODEL, INDICATOR_URL, GLOBAL_TOKEN } from '@/utils/constant'\nimport { lowerCaseIncludes } from '@/utils/util'\nimport request from '@/utils/request'\nimport { inject, unref } from 'vue'\n\nexport const useIndicatorData = (props: { [key:string]: any } = {}) => {\n const { requestToken } = inject(GLOBAL_TOKEN, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n requestToken: () => void 0\n })\n // 指标库模式才会发\n if (props.dataType === 'indicator') {\n // 只要调用,计数 + 1,计数大于0才会请求\n requestToken()\n }\n\n const handleQueryColumn = (queryColumn: { [key:string]: any } = {}) => {\n const { label, name, location, show, indexCode } = queryColumn\n return {\n label,\n columnName: name,\n location,\n show,\n calcType: 'COLUMN',\n hrpIndexCode: indexCode\n }\n }\n\n const handleIndicator = (indicator: { [key:string]: any } = {}) => {\n const {\n label,\n name,\n location,\n show,\n indexCode,\n calcType = 'COLUMN',\n builtInFormula,\n builtInValueSource,\n builtInCalcWay,\n formula,\n conditions\n } = indicator\n return {\n label,\n columnName: name,\n location,\n show,\n calcType,\n hrpIndexCode: indexCode,\n aggregate: 'SUM',\n builtInFormula,\n builtInValueSource,\n builtInCalcWay,\n formula,\n conditions\n }\n }\n\n const { getGlobalModel } = inject(GLOBAL_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n getGlobalModel: (key: string) => void 0\n })\n const handleSqlConditions = (controlList: { [key:string]: any } [] = []) => {\n const len = controlList.length\n const sqlConditions = [] as { [key:string]: any } []\n for (let i = 0; i < len; i++) {\n const control = controlList[i]\n const {\n id,\n conditionLabel,\n conditionKey,\n conditionValueType\n } = control\n const sqlCondition: { [key:string]: any } = {\n rule: 'NONE',\n label: conditionLabel,\n fieldName: conditionKey,\n fieldValue: '', // 在关联控件中取\n valueType: conditionValueType\n }\n // 获取组件属性\n const model = getGlobalModel(id) || {}\n if (lowerCaseIncludes(model.type, 'date')) {\n const { value, format } = model || {}\n sqlCondition.fieldValue = unref(value)?.format(format)\n sqlCondition.dateFormat = format\n }\n sqlConditions.push(sqlCondition)\n }\n return sqlConditions\n }\n return async () => {\n const { graphicConfig } = props\n const {\n source,\n dataViewId,\n plugin,\n layer,\n chartType,\n classificationList = [],\n seriesList = [],\n leftAxisList = [],\n rightAxisList = [],\n queryColumnList = [],\n indicators = [],\n controlList = [],\n dataSourceId,\n idxLibMode,\n preview = false\n } = graphicConfig || {}\n // console.log('classificationList', classificationList)\n // console.log('seriesList', seriesList)\n // console.log('leftAxisList', leftAxisList)\n // console.log('rightAxisList', rightAxisList)\n // console.log('indicators', indicators)\n // console.log('controlList', controlList)\n // 重点处理 classificationList、seriesList、leftAxisList、rightAxisList、indicators\n // classificationList (取第一项) => classification\n let classification\n if (Array.isArray(classificationList) && classificationList.length > 0) {\n const len = classificationList.length\n for (let i = 0; i < len; i++) {\n const item = classificationList[i] || {}\n const { label = '', name = '', show = false, sort, customGroup, conditions } = item\n // 如果是 show 直接提取 classification,停止遍历\n if (show || len === 1) {\n classification = {\n label,\n columnName: name,\n show,\n sort,\n customGroup,\n conditions\n }\n break\n }\n }\n }\n // seriesList (取第一项) => series\n let series\n if (Array.isArray(seriesList) && seriesList.length > 0) {\n const len = seriesList.length\n for (let i = 0; i < len; i++) {\n const item = seriesList[i] || {}\n const { label = '', name = '', show = false, sort, customGroup, conditions } = item\n // 如果是 show 直接提取 seriesList,停止遍历\n if (show || len === 1) {\n series = {\n label,\n columnName: name,\n show,\n sort,\n customGroup,\n conditions\n }\n break\n }\n }\n }\n // queryColumnList => queryColumns\n const queryColumns = []\n queryColumnList?.forEach((queryColumn: { [key:string]: any }) => {\n queryColumns.push(handleQueryColumn(queryColumn))\n })\n\n // leftAxisList + rightAxisList + indicators => indicatorList\n const indicatorList = []\n leftAxisList?.forEach((leftAxis: { [key:string]: any }) => {\n leftAxis.location = 'LEFT'\n indicatorList.push(handleIndicator(leftAxis))\n })\n rightAxisList?.forEach((rightAxis: { [key:string]: any }) => {\n rightAxis.location = 'RIGHT'\n indicatorList.push(handleIndicator(rightAxis))\n })\n indicators?.forEach((indicator: { [key:string]: any }) => {\n indicator.location = 'LEFT'\n indicatorList.push(handleIndicator(indicator))\n })\n if (layer === '1' && queryColumns.length === 0) {\n return\n } else if (layer === '2' && indicatorList.length === 0) {\n return\n }\n let sqlConditions\n if (graphicConfig?.pageMode === 'design') {\n // relativeList 在设计模式下,由于联动无法直接获取,已经处理好数据直接获取\n sqlConditions = graphicConfig.sqlConditions ?? []\n } else {\n sqlConditions = handleSqlConditions(controlList)\n }\n try {\n const res = await request.post(`${INDICATOR_URL}/diagram`, {\n source,\n dataViewId,\n plugin,\n layer,\n chartType,\n classification,\n series,\n indicatorList,\n queryColumns,\n pageFlag: true,\n sqlConditions,\n // fixedDimSql: '',\n dataSourceId,\n idxLibMode,\n preview\n },\n {\n headers: {\n // @ts-ignore\n Authentication: window?.config?.indicatorToken,\n operateContext: 'ygt'\n }\n })\n return res\n } catch (e) {\n console.error(e)\n }\n }\n}\n\nexport default useIndicatorData\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOnEvent.js","sources":["../../src/hooks/useOnEvent.ts"],"sourcesContent":["import { watch, inject } from 'vue'\nimport { EVENT_BUS } from '@/utils/constant'\nexport const useOnEvent = <T extends { [id: string]: any}>(props: Readonly<Partial<T>>, events: { [key: string]: any }) => {\n watch(() => props.id, (id, oldId) => {\n const eventBus = inject(EVENT_BUS, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n onEvent: (i: string, e: { [key: string]: any }) => void 0,\n // @ts-ignore\n // eslint-disable-next-line no-void\n offEvent: (i: string) => void 0\n })\n if (oldId != null && oldId !== '') {\n eventBus.offEvent(oldId)\n }\n if (id != null && id !== '') {\n eventBus.onEvent(id, events)\n }\n }, {\n immediate: true\n })\n}\n\nexport default useOnEvent\n"],"names":[],"mappings":";;AAEa,MAAA,aAAa,CAAiC,OAA6B,WAAmC;AACzH,QAAM,MAAM,MAAM,IAAI,CAAC,IAAI,UAAU;AAC7B,UAAA,WAAW,OAAO,WAAW;AAAA,MAGjC,SAAS,CAAC,GAAW,MAA8B;AAAA,MAGnD,UAAU,CAAC,MAAc;AAAA,IAAA,CAC1B;AACG,QAAA,SAAS,QAAQ,UAAU,IAAI;AACjC,eAAS,SAAS,KAAK;AAAA,IACzB;AACI,QAAA,MAAM,QAAQ,OAAO,IAAI;AAClB,eAAA,QAAQ,IAAI,MAAM;AAAA,IAC7B;AAAA,EAAA,GACC;AAAA,IACD,WAAW;AAAA,EAAA,CACZ;AACH;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePageUrl.js","sources":["../../src/hooks/usePageUrl.ts"],"sourcesContent":["import { BASE_URL } from '@/utils/constant'\nexport const usePageUrl = (pageMode: string, pageId: string) => {\n const envPageUrl = `/preview?pageId=${pageId}`\n const proPageUrl = `${BASE_URL}${pageId}`\n return pageMode === 'preview' ? envPageUrl : proPageUrl\n}\n\nexport default usePageUrl\n"],"names":[],"mappings":";AACa,MAAA,aAAa,CAAC,UAAkB,WAAmB;AAC9D,QAAM,aAAa,mBAAmB;AAChC,QAAA,aAAa,GAAG,WAAW;AAC1B,SAAA,aAAa,YAAY,aAAa;AAC/C;"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePickComponentStyle.js","sources":["../../src/hooks/usePickComponentStyle.ts"],"sourcesContent":["import { computed, HTMLAttributes } from 'vue'\nimport { pick, without } from 'lodash-es'\n// 需要添加组件的 style 属性\nconst styleList = [\n 'width',\n 'height',\n 'color',\n 'position',\n 'top',\n 'left',\n 'rotate',\n 'fontSize',\n 'fontFamily',\n 'fontWeight',\n 'textDecoration',\n 'textAlign',\n 'verticalAlign',\n 'overflow',\n 'backgroundColor',\n 'backgroundImage',\n 'backgroundSize',\n 'borderWidth',\n 'borderStyle',\n 'borderRadius',\n 'borderColor',\n 'textShadow',\n 'justifyContent',\n 'alignItems',\n 'zIndex'\n]\n/**\n * 过滤不是 style 属性的组件属性\n * @param props 组件属性\n * @param excludeStyleList 剔除组件的属性\n * @returns style属性\n */\nexport const usePickComponentStyle = <T>(props: Readonly<Partial<T>>, excludeStyleList: string [] = []) => {\n // 再选择需要的组件属性\n const finalStyleList = without(styleList, ...excludeStyleList)\n return computed<HTMLAttributes>(() => pick(props, finalStyleList))\n}\n\nexport default usePickComponentStyle\n"],"names":[],"mappings":";;AAGA,MAAM,YAAY;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAOO,MAAM,wBAAwB,CAAI,OAA6B,mBAA8B,OAAO;AAEzG,QAAM,iBAAiB,QAAQ,WAAW,GAAG,gBAAgB;AAC7D,SAAO,SAAyB,MAAM,KAAK,OAAO,cAAc,CAAC;AACnE;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { inject, onUnmounted, unref } from "vue";
|
|
2
|
-
import axios from "
|
|
3
|
-
import { GLOBAL_CONFIG, GLOBAL_MODEL } from "../constant.js";
|
|
4
|
-
import { lowerCaseIncludes } from "../util.js";
|
|
2
|
+
import axios from "../node_modules/axios/index.js";
|
|
3
|
+
import { GLOBAL_CONFIG, GLOBAL_MODEL } from "../utils/constant.js";
|
|
4
|
+
import { lowerCaseIncludes } from "../utils/util.js";
|
|
5
5
|
import { useVariablesInText } from "./useVariablesInText.js";
|
|
6
6
|
const useRequestData = (props, callBack = () => {
|
|
7
7
|
}) => {
|
|
@@ -44,21 +44,16 @@ const useRequestData = (props, callBack = () => {
|
|
|
44
44
|
} else {
|
|
45
45
|
if (Object.prototype.toString.call(p) === "[object Object]") {
|
|
46
46
|
v = p[propKey || "value"];
|
|
47
|
-
} else if (Array.isArray(p)) {
|
|
48
|
-
v = p.join(",");
|
|
49
47
|
} else {
|
|
50
48
|
v = p;
|
|
51
49
|
}
|
|
52
|
-
console.log(p);
|
|
53
|
-
console.log("v", v);
|
|
54
50
|
}
|
|
55
|
-
console.log("v", v);
|
|
56
51
|
_params[key] = v;
|
|
57
52
|
} else if (typeof value === "string") {
|
|
58
53
|
_params[key] = useVariablesInText(value);
|
|
59
54
|
}
|
|
60
55
|
});
|
|
61
|
-
_params = { ...window.requestParams, ..._params, ...params };
|
|
56
|
+
_params = { ...window.config.requestParams, ..._params, ...params };
|
|
62
57
|
let urlParams = "";
|
|
63
58
|
const keys = Object.keys(_params);
|
|
64
59
|
const last = keys.length - 1;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRequestData.js","sources":["../../src/hooks/useRequestData.ts"],"sourcesContent":["import { inject, onUnmounted, unref } from 'vue'\nimport axios from 'axios'\nimport { GLOBAL_MODEL, GLOBAL_CONFIG } from '@/utils/constant'\nimport { lowerCaseIncludes } from '@/utils/util'\nimport useVariablesInText from './useVariablesInText'\n// import dayjs from 'dayjs'\n\nexport const useRequestData = (props: { [key:string]: any }, callBack: Function = () => {}) => {\n const {\n requestUrl: url,\n requestMethod: method,\n requestHeaders: headers,\n requestParams,\n requestInterval,\n isOpenRequestTimer\n } = props\n const { contextRequestUrl, pageMode, touchEventId } = inject(GLOBAL_CONFIG, {\n contextRequestUrl: '',\n pageMode: 'normal',\n touchEventId: ''\n })\n const { getGlobalModel } = inject(GLOBAL_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n getGlobalModel: (key: string) => void 0\n })\n const requestData = async (params: { [key: string]: any } = {}) => {\n if (!url || !method || !headers || unref(pageMode) === 'design') return\n let _params = {} as { [key: string]: any }\n requestParams.forEach((param) => {\n const { key, value } = param\n if ((typeof value === 'object' && value.id)) {\n // 传入数据可能是这样\n // {\n // key: 'record',\n // value: {\n // id: 'T7hid3K4kg7UR9Q-44u1-',\n // prop: 'record',\n // propKey: 'id'\n // }\n // }\n // 获取到组件数据\n let record = {} as { [key:string]: any }\n const { id, prop, propKey } = value\n if (id === 'THIS') {\n // THIS 使用当前触发事件组件的ID\n record = getGlobalModel(unref(touchEventId)) || {}\n } else {\n record = getGlobalModel(id) || {}\n }\n const p = unref(record[prop])\n // 如果传入响应式数据优取响应式\n let v = ''\n // 需要格式日期的组件\n const isNeedFormat = ['date', 'range'].some((item) => lowerCaseIncludes(record?.type, item))\n // 格式化时间\n if (isNeedFormat) {\n // 此时 v 是 dayjs 对象\n // 此时 propKey 是格式化值\n v = unref(p)?.format(propKey?.trim() || record.format) || ''\n } else {\n // 因为 model[prop] 可能为 ref\n // 判断他是不是对象\n if (Object.prototype.toString.call(p) === '[object Object]') {\n v = p[propKey || 'value']\n } else {\n v = p\n }\n // v = p != null && typeof p === 'object' ? p[propKey || 'value'] : p\n }\n _params[key] = v\n } else if (typeof value === 'string') {\n _params[key] = useVariablesInText(value)\n }\n })\n // @ts-ignore\n _params = { ...window.config.requestParams, ..._params, ...params }\n let urlParams = ''\n const keys = Object.keys(_params)\n const last = keys.length - 1\n const keysLen = keys.length\n keys.forEach((key, index) => {\n if (index === 0) {\n if (keysLen !== 1) {\n urlParams += `?${key}=${_params[key]}&`\n } else {\n urlParams += `?${key}=${_params[key]}`\n }\n } else if (index === last) {\n urlParams += `${key}=${_params[key]}`\n } else {\n urlParams += `${key}=${_params[key]}&`\n }\n })\n try {\n const isSetUrlParams = ['get', 'head'].includes(method)\n const res = await axios({\n baseURL: unref(contextRequestUrl),\n url: isSetUrlParams ? url + urlParams : url,\n method,\n headers,\n data: isSetUrlParams ? {} : _params\n })\n callBack(res)\n return res\n } catch (e) {\n console.error(e)\n }\n }\n\n const requestDataTimer = isOpenRequestTimer && setInterval(requestData, requestInterval * 1000)\n\n onUnmounted(() => {\n clearInterval(requestDataTimer)\n })\n\n return requestData\n}\n\nexport default useRequestData\n"],"names":[],"mappings":";;;;;AAOO,MAAM,iBAAiB,CAAC,OAA8B,WAAqB,MAAM;AAAC,MAAM;AACvF,QAAA;AAAA,IACJ,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,EACE,IAAA;AACJ,QAAM,EAAE,mBAAmB,UAAU,aAAa,IAAI,OAAO,eAAe;AAAA,IAC1E,mBAAmB;AAAA,IACnB,UAAU;AAAA,IACV,cAAc;AAAA,EAAA,CACf;AACD,QAAM,EAAE,eAAA,IAAmB,OAAO,cAAc;AAAA,IAG9C,gBAAgB,CAAC,QAAgB;AAAA,EAAA,CAClC;AACD,QAAM,cAAc,OAAO,SAAiC,OAAO;AAC7D,QAAA,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,MAAM,QAAQ,MAAM;AAAU;AACjE,QAAI,UAAU,CAAA;AACA,kBAAA,QAAQ,CAAC,UAAU;;AACzB,YAAA,EAAE,KAAK,MAAU,IAAA;AACvB,UAAK,OAAO,UAAU,YAAY,MAAM,IAAK;AAW3C,YAAI,SAAS,CAAA;AACb,cAAM,EAAE,IAAI,MAAM,QAAA,IAAY;AAC9B,YAAI,OAAO,QAAQ;AAEjB,mBAAS,eAAe,MAAM,YAAY,CAAC,KAAK,CAAA;AAAA,QAAC,OAC5C;AACI,mBAAA,eAAe,EAAE,KAAK;QACjC;AACM,cAAA,IAAI,MAAM,OAAO,KAAK;AAE5B,YAAI,IAAI;AAER,cAAM,eAAe,CAAC,QAAQ,OAAO,EAAE,KAAK,CAAC,SAAS,kBAAkB,iCAAQ,MAAM,IAAI,CAAC;AAE3F,YAAI,cAAc;AAGZ,gBAAA,WAAM,CAAC,MAAP,mBAAU,QAAO,mCAAS,WAAU,OAAO,YAAW;AAAA,QAAA,OACrD;AAGL,cAAI,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM,mBAAmB;AAC3D,gBAAI,EAAE,WAAW;AAAA,UAAA,OACZ;AACD,gBAAA;AAAA,UACN;AAAA,QAEF;AACA,gBAAQ,OAAO;AAAA,MAAA,WACN,OAAO,UAAU,UAAU;AAC5B,gBAAA,OAAO,mBAAmB,KAAK;AAAA,MACzC;AAAA,IAAA,CACD;AAES,cAAA,EAAE,GAAG,OAAO,OAAO,eAAe,GAAG,SAAS,GAAG;AAC3D,QAAI,YAAY;AACV,UAAA,OAAO,OAAO,KAAK,OAAO;AAC1B,UAAA,OAAO,KAAK,SAAS;AAC3B,UAAM,UAAU,KAAK;AAChB,SAAA,QAAQ,CAAC,KAAK,UAAU;AAC3B,UAAI,UAAU,GAAG;AACf,YAAI,YAAY,GAAG;AACJ,uBAAA,IAAI,OAAO,QAAQ;AAAA,QAAA,OAC3B;AACQ,uBAAA,IAAI,OAAO,QAAQ;AAAA,QAClC;AAAA,MAAA,WACS,UAAU,MAAM;AACZ,qBAAA,GAAG,OAAO,QAAQ;AAAA,MAAA,OAC1B;AACQ,qBAAA,GAAG,OAAO,QAAQ;AAAA,MACjC;AAAA,IAAA,CACD;AACG,QAAA;AACF,YAAM,iBAAiB,CAAC,OAAO,MAAM,EAAE,SAAS,MAAM;AAChD,YAAA,MAAM,MAAM,MAAM;AAAA,QACtB,SAAS,MAAM,iBAAiB;AAAA,QAChC,KAAK,iBAAiB,MAAM,YAAY;AAAA,QACxC;AAAA,QACA;AAAA,QACA,MAAM,iBAAiB,CAAA,IAAK;AAAA,MAAA,CAC7B;AACD,eAAS,GAAG;AACL,aAAA;AAAA,aACA;AACP,cAAQ,MAAM,CAAC;AAAA,IACjB;AAAA,EAAA;AAGF,QAAM,mBAAmB,sBAAsB,YAAY,aAAa,kBAAkB,GAAI;AAE9F,cAAY,MAAM;AAChB,kBAAc,gBAAgB;AAAA,EAAA,CAC/B;AAEM,SAAA;AACT;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { GLOBAL_MODEL, INDICATOR_URL } from "../constant.js";
|
|
1
|
+
import { GLOBAL_MODEL, INDICATOR_URL } from "../utils/constant.js";
|
|
2
2
|
import { inject, unref } from "vue";
|
|
3
|
-
import { request } from "../request.js";
|
|
3
|
+
import { request } from "../utils/request.js";
|
|
4
4
|
import { message } from "ant-design-vue";
|
|
5
5
|
const useRequestDiagramData = (props) => {
|
|
6
6
|
const { getGlobalModel } = inject(GLOBAL_MODEL, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRequestDiagramData.js","sources":["../../../src/_utils/hooks/useRequestDiagramData.ts"],"sourcesContent":["import { INDICATOR_URL, GLOBAL_MODEL } from '../constant'\r\nimport { inject, unref } from 'vue'\r\nimport request from '../request'\r\nimport { message } from 'ant-design-vue'\r\n\r\n/**\r\n * 请求图表数据接口\r\n * @returns {{requestDiagram: () => Promise<AxiosResponse<any>>}}\r\n */\r\nexport const useRequestDiagramData = (props) => {\r\n // 获取到组件数据\r\n const { getGlobalModel } = inject(GLOBAL_MODEL, {\r\n // @ts-ignore\r\n // eslint-disable-next-line no-void\r\n getGlobalModel: (key: string) => void 0\r\n })\r\n const getIndicatorList = (graphicConfig) => {\r\n const indicatorList = []\r\n // 左值轴、指标\r\n graphicConfig?.leftAxisList.forEach(leftAxis => {\r\n if (leftAxis) {\r\n let show = false\r\n if (graphicConfig.leftAxis.includes(leftAxis.name)) {\r\n show = true\r\n }\r\n let indicator: any = {\r\n label: leftAxis.name,\r\n columnName: leftAxis.label,\r\n aggregate: leftAxis.calcValue ? leftAxis.calcValue : 'SUM',\r\n order: null,\r\n location: 'LEFT',\r\n show: show\r\n }\r\n if (graphicConfig.source === 'INDICATOR_LIB') {\r\n indicator.hrpIndexCode = leftAxis.indexCode\r\n }\r\n indicator = getCalculationAxis(leftAxis, indicator)\r\n indicatorList.push(indicator)\r\n }\r\n })\r\n // 右值轴\r\n graphicConfig.rightAxisList.forEach(it => {\r\n let show = false\r\n if (graphicConfig.rightAxis.includes(it.name)) {\r\n show = true\r\n }\r\n let indicator: any = {\r\n label: it.name,\r\n columnName: it.label,\r\n aggregate: 'SUM',\r\n order: null,\r\n location: 'LEFT',\r\n show: show\r\n }\r\n indicator = getCalculationAxis(it, indicator)\r\n if (graphicConfig.source === 'INDICATOR_LIB') {\r\n indicator.hrpIndexCode = it.indexCode\r\n }\r\n indicatorList.push(indicator)\r\n })\r\n\r\n return indicatorList\r\n }\r\n\r\n /**\r\n * 获取计算指标\r\n * @param item\r\n * @param indicator\r\n */\r\n const getCalculationAxis = <T> (item, indicator: T): T => {\r\n const newIndicator: any = { ...indicator }\r\n if (item.calcMethod) { // 来源:新增计算指标\r\n if (item.calcMethod === 'FORMULA') { // 公式\r\n if (item.formulafuc) {\r\n newIndicator.formula = item.formulafuc\r\n }\r\n newIndicator.calcType = 'FORMULA'\r\n } else {\r\n newIndicator.builtInFormula = item.calculmethod\r\n newIndicator.calcType = 'BUILT_IN'\r\n if (item.comeFrom) {\r\n newIndicator.builtInValueSource = item.comeFrom\r\n }\r\n if (item.accessPrinciple) {\r\n newIndicator.builtInCalcWay = item.accessPrinciple\r\n }\r\n }\r\n } else { // 来源:视图拖拽\r\n // @ts-ignore\r\n newIndicator.calcType = 'COLUMN'\r\n }\r\n\r\n return newIndicator\r\n }\r\n\r\n /**\r\n * 获取查询条件\r\n * TODO 检查除日期外的特殊逻辑\r\n * @param relativeList\r\n * @returns {any[]}\r\n */\r\n const getSqlCondition = (relativeList = []) => {\r\n // 关联\r\n const list = []\r\n for (let i = 0; i < relativeList.length; i++) {\r\n const { keyName, searchName, searchType, variateName, id } = relativeList[i]\r\n const item: any = {\r\n alias: keyName,\r\n fieldName: searchName,\r\n rule: searchType || 'NONE',\r\n fieldValue: '',\r\n valueType: '',\r\n variateName\r\n }\r\n const watchItem = getGlobalModel(id) || {}\r\n if (searchName === 'the_date') {\r\n item.valueType = 'DATE'\r\n } else if (['hbdwbh', 'hbdwbh_name'].includes(searchName)) {\r\n item.valueType = 'TEXT'\r\n }\r\n if (watchItem.type === 'ecanDatePicker') {\r\n item.dateFormat = watchItem.format\r\n const formatter = unref(watchItem)?.value.format\r\n if (typeof formatter === 'function') {\r\n item.fieldValue = formatter(watchItem?.format)\r\n }\r\n }\r\n list.push(item)\r\n }\r\n return list\r\n }\r\n\r\n const getSortParams = (classification, list) => {\r\n // 分类项中的排序\r\n const classifyItem = list.find(item => {\r\n return item.name === classification.label\r\n })\r\n if (classifyItem.sort.type) {\r\n if (classifyItem.sort.type !== 'CUSTOM') {\r\n classification.sort = {\r\n label: classifyItem.sort.label,\r\n columnName: classifyItem.sort.columnName,\r\n type: 'NORMAL',\r\n order: classifyItem.sort.type\r\n }\r\n } else {\r\n classification.sort = {\r\n label: classifyItem.label,\r\n columnName: classifyItem.columnName,\r\n type: 'CUSTOM',\r\n customOrderColumns: classifyItem.sort.customOrderColumns\r\n }\r\n }\r\n }\r\n if (classifyItem.customGroup) {\r\n if (classifyItem.customGroup.groupList.length > 1) { // 0或1表示未分组\r\n classification.customGroup = {\r\n groupInfoMap: {},\r\n otherGroupName: ''\r\n }\r\n classifyItem.customGroup.groupList.forEach((row, rowIndex) => {\r\n if (rowIndex !== 0) {\r\n classification.customGroup.groupInfoMap[row.key] = row.value\r\n }\r\n })\r\n classification.customGroup.otherGroupName = classifyItem.customGroup.otherName || ''\r\n }\r\n }\r\n classification.rangeIndexTypeGuid = classifyItem.typeGuid\r\n classification.customFilterSqlPart = classifyItem.filterSql || ''\r\n }\r\n\r\n const handlerFilterParam = (parent, conditions) => {\r\n for (let i = 0; i < parent.children.length; i++) {\r\n if (parent.children[i].children.length > 0) {\r\n let join = ''\r\n if (parent.type === 'and') {\r\n join = '&&'\r\n } else {\r\n join = '||'\r\n }\r\n conditions.push({ conditions: [], join: join })\r\n handlerFilterParam(parent.children[i], conditions[conditions.length - 1].conditions)\r\n } else {\r\n if (parent.children[i].fieldName) {\r\n let fieldValue = ''\r\n const item: any = {\r\n fieldName: parent.children[i].fieldName,\r\n fieldType: parent.children[i].itemType,\r\n rule: parent.children[i].rule,\r\n fieldValue: '',\r\n label: parent.children[i].label,\r\n version: parent.children[i].version ? parent.children[i].version : 100, // 兼容图形化配置时传显示的label,之前的传字段就是100的,label版本为101\r\n targetSource: parent.children[i].targetSource ? parent.children[i].targetSource : ''\r\n }\r\n fieldValue = JSON.parse(JSON.stringify(parent.children[i].fieldValue))\r\n if (parent.children[i].itemType === 'DATE') {\r\n item.dateFormat = parent.children[i].format\r\n item.dateCalcTypes = parent.children[i].dateCalcTypes\r\n item.calcWays = parent.children[i].calcWays\r\n if (parent.children[i].selectType === 'time') { // 自定义时间\r\n if (parent.children[i].absoluteBool) { // 相对时间\r\n fieldValue = '#######'\r\n item.calcWays = parent.children[i].calcWays\r\n } else { // 取配置值\r\n // TODO\r\n // fieldValue = moment(fieldValue).format(parent.children[i].format)\r\n }\r\n } else if (parent.children[i].selectType === 'component') { // 关联控件\r\n fieldValue = '${' + parent.children[i].relateCompent + '}'\r\n }\r\n item.dateFormat = parent.children[i].format\r\n item.dateCalcTypes = parent.children[i].dateCalcTypes\r\n item.calcWays = parent.children[i].calcWays\r\n } else {\r\n if (Object.prototype.toString.call(fieldValue) === '[object Array]') { // 选中后台查询值\r\n const fieldList: any = []\r\n for (let n = 0; n < fieldValue.length; n++) {\r\n if (fieldValue[n] !== '全选') {\r\n fieldList.push(fieldValue[n])\r\n }\r\n }\r\n fieldValue = fieldList.join(',')\r\n }\r\n }\r\n item.fieldValue = fieldValue\r\n if (parent.children.length > 1 && i !== parent.children.length - 1) {\r\n if (parent.type === 'and') {\r\n item.join = '&&'\r\n } else {\r\n item.join = '||'\r\n }\r\n }\r\n conditions.push(item)\r\n }\r\n }\r\n }\r\n }\r\n\r\n // 筛选变量处理\r\n const getFilterParams = (type, list, graphicConfig) => {\r\n if (!type) {\r\n return\r\n }\r\n const classifyItem = graphicConfig[list].find(item => {\r\n return item.name === type.label\r\n })\r\n if (!classifyItem) {\r\n return\r\n }\r\n const conditions = []\r\n const filterList = classifyItem.filterList\r\n if (filterList) {\r\n for (let i = 0; i < filterList.length; i++) {\r\n if (filterList[i].children.length > 0) {\r\n handlerFilterParam(filterList[i], conditions)\r\n }\r\n }\r\n }\r\n return conditions\r\n }\r\n\r\n return async function () {\r\n const componentType = props.type\r\n let graphicConfig = props.graphicConfig\r\n if (!graphicConfig || Object.keys(graphicConfig).length === 0) {\r\n graphicConfig = {\r\n classify: [],\r\n classifyList: [],\r\n series: [],\r\n seriesList: [],\r\n leftAxis: [],\r\n leftAxisList: [],\r\n rightAxis: [],\r\n rightAxisList: [],\r\n relativeList: []\r\n }\r\n }\r\n const xAxisValue = graphicConfig.classify\r\n const yAxisValue = [...graphicConfig.leftAxis, ...graphicConfig.rightAxis]\r\n if (yAxisValue.length === 0) {\r\n message.error('当前y轴无配置信息')\r\n return\r\n }\r\n\r\n // 获取值轴参数\r\n const indicatorList = getIndicatorList(graphicConfig)\r\n // 获取系列值\r\n let series\r\n if (Array.isArray(graphicConfig.series) && graphicConfig.series.length > 0) {\r\n const seriesItem = graphicConfig.seriesList?.find(item => {\r\n const firstSeries = graphicConfig.series[0]\r\n return item.name === firstSeries || item.nameBak === firstSeries\r\n })\r\n if (seriesItem != null) {\r\n series = {\r\n label: seriesItem.name,\r\n columnName: seriesItem.label\r\n }\r\n }\r\n }\r\n // 获取分类\r\n let classification\r\n if (xAxisValue.length > 0) {\r\n classification = {\r\n label: xAxisValue[0],\r\n columnName: xAxisValue[0]\r\n }\r\n const classify = graphicConfig.classifyList?.find(item => {\r\n return item?.name === xAxisValue[0] || item?.nameBak === xAxisValue[0]\r\n }) || {}\r\n classification.columnName = classify.label\r\n // 获取排序信息\r\n getSortParams(classification, graphicConfig.classifyList)\r\n classification.conditions = getFilterParams(classification, 'classifyList', graphicConfig) || []\r\n }\r\n if (series) {\r\n // 获取排序信息\r\n getSortParams(series, graphicConfig.seriesList)\r\n series.conditions = getFilterParams(series, 'seriesList', graphicConfig) || []\r\n }\r\n\r\n for (let t = 0; t < indicatorList.length; t++) {\r\n if (indicatorList[t].location === 'RIGHT') {\r\n indicatorList[t].conditions = getFilterParams(indicatorList[t], 'rightAxisList', graphicConfig)\r\n } else {\r\n indicatorList[t].conditions = getFilterParams(indicatorList[t], 'leftAxisList', graphicConfig)\r\n }\r\n }\r\n\r\n let sqlConditions\r\n if (graphicConfig?.pageMode === 'design') {\r\n // relativeList 在设计模式下,由于联动无法直接获取,已经处理好数据直接获取\r\n sqlConditions = graphicConfig.sqlConditions ?? []\r\n } else {\r\n sqlConditions = getSqlCondition(graphicConfig?.relativeList)\r\n }\r\n let source = 'SQL_VIEW'\r\n let fixedDimSql = ''\r\n let dataSourceId = ''\r\n let idxLibMode = ''\r\n if (graphicConfig.source === 'INDICATOR_LIB') {\r\n source = 'INDICATOR_LIB'\r\n fixedDimSql = graphicConfig.fixedDimSql\r\n dataSourceId = graphicConfig.dataSourceId\r\n idxLibMode = graphicConfig.idxLibMode\r\n }\r\n\r\n const map = {\r\n ecanBar: 'bar',\r\n ecanLine: 'line',\r\n ecanPie: 'pie',\r\n ecanScatter: 'scatter'\r\n }\r\n\r\n try {\r\n const res = await request.get(`${INDICATOR_URL}/user/anonymous?username=admin`, {\r\n headers: {\r\n systemCode: 'F72FC50A3D97372514A6AC33333D28FD',\r\n current_context: 'ygt'\r\n }\r\n })\r\n\r\n return request.post(`${INDICATOR_URL}/diagram`, {\r\n dataViewId: graphicConfig.dataViewId,\r\n plugin: '1',\r\n layer: '2',\r\n chartType: map[componentType],\r\n classification,\r\n indicatorList,\r\n series,\r\n sqlConditions,\r\n source,\r\n fixedDimSql,\r\n dataSourceId,\r\n idxLibMode\r\n }, {\r\n headers: { Authentication: res.data.data.token }\r\n })\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n}\r\n\r\nexport default useRequestDiagramData\r\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useRequestDiagramData.js","sources":["../../src/hooks/useRequestDiagramData.ts"],"sourcesContent":["import { INDICATOR_URL, GLOBAL_MODEL } from '@/utils/constant'\r\nimport { inject, unref } from 'vue'\r\nimport request from '@/utils/request'\r\nimport { message } from 'ant-design-vue'\r\n\r\n/**\r\n * 请求图表数据接口\r\n * @returns {{requestDiagram: () => Promise<AxiosResponse<any>>}}\r\n */\r\nexport const useRequestDiagramData = (props) => {\r\n // 获取到组件数据\r\n const { getGlobalModel } = inject(GLOBAL_MODEL, {\r\n // @ts-ignore\r\n // eslint-disable-next-line no-void\r\n getGlobalModel: (key: string) => void 0\r\n })\r\n const getIndicatorList = (graphicConfig) => {\r\n const indicatorList = []\r\n // 左值轴、指标\r\n graphicConfig?.leftAxisList.forEach(leftAxis => {\r\n if (leftAxis) {\r\n let show = false\r\n if (graphicConfig.leftAxis.includes(leftAxis.name)) {\r\n show = true\r\n }\r\n let indicator: any = {\r\n label: leftAxis.name,\r\n columnName: leftAxis.label,\r\n aggregate: leftAxis.calcValue ? leftAxis.calcValue : 'SUM',\r\n order: null,\r\n location: 'LEFT',\r\n show: show\r\n }\r\n if (graphicConfig.source === 'INDICATOR_LIB') {\r\n indicator.hrpIndexCode = leftAxis.indexCode\r\n }\r\n indicator = getCalculationAxis(leftAxis, indicator)\r\n indicatorList.push(indicator)\r\n }\r\n })\r\n // 右值轴\r\n graphicConfig.rightAxisList.forEach(it => {\r\n let show = false\r\n if (graphicConfig.rightAxis.includes(it.name)) {\r\n show = true\r\n }\r\n let indicator: any = {\r\n label: it.name,\r\n columnName: it.label,\r\n aggregate: 'SUM',\r\n order: null,\r\n location: 'LEFT',\r\n show: show\r\n }\r\n indicator = getCalculationAxis(it, indicator)\r\n if (graphicConfig.source === 'INDICATOR_LIB') {\r\n indicator.hrpIndexCode = it.indexCode\r\n }\r\n indicatorList.push(indicator)\r\n })\r\n\r\n return indicatorList\r\n }\r\n\r\n /**\r\n * 获取计算指标\r\n * @param item\r\n * @param indicator\r\n */\r\n const getCalculationAxis = <T> (item, indicator: T): T => {\r\n const newIndicator: any = { ...indicator }\r\n if (item.calcMethod) { // 来源:新增计算指标\r\n if (item.calcMethod === 'FORMULA') { // 公式\r\n if (item.formulafuc) {\r\n newIndicator.formula = item.formulafuc\r\n }\r\n newIndicator.calcType = 'FORMULA'\r\n } else {\r\n newIndicator.builtInFormula = item.calculmethod\r\n newIndicator.calcType = 'BUILT_IN'\r\n if (item.comeFrom) {\r\n newIndicator.builtInValueSource = item.comeFrom\r\n }\r\n if (item.accessPrinciple) {\r\n newIndicator.builtInCalcWay = item.accessPrinciple\r\n }\r\n }\r\n } else { // 来源:视图拖拽\r\n // @ts-ignore\r\n newIndicator.calcType = 'COLUMN'\r\n }\r\n\r\n return newIndicator\r\n }\r\n\r\n /**\r\n * 获取查询条件\r\n * TODO 检查除日期外的特殊逻辑\r\n * @param relativeList\r\n * @returns {any[]}\r\n */\r\n const getSqlCondition = (relativeList = []) => {\r\n // 关联\r\n const list = []\r\n for (let i = 0; i < relativeList.length; i++) {\r\n const { keyName, searchName, searchType, variateName, id } = relativeList[i]\r\n const item: any = {\r\n alias: keyName,\r\n fieldName: searchName,\r\n rule: searchType || 'NONE',\r\n fieldValue: '',\r\n valueType: '',\r\n variateName\r\n }\r\n const watchItem = getGlobalModel(id) || {}\r\n if (searchName === 'the_date') {\r\n item.valueType = 'DATE'\r\n } else if (['hbdwbh', 'hbdwbh_name'].includes(searchName)) {\r\n item.valueType = 'TEXT'\r\n }\r\n if (watchItem.type === 'ecanDatePicker') {\r\n item.dateFormat = watchItem.format\r\n const formatter = unref(watchItem)?.value.format\r\n if (typeof formatter === 'function') {\r\n item.fieldValue = formatter(watchItem?.format)\r\n }\r\n }\r\n list.push(item)\r\n }\r\n return list\r\n }\r\n\r\n const getSortParams = (classification, list) => {\r\n // 分类项中的排序\r\n const classifyItem = list.find(item => {\r\n return item.name === classification.label\r\n })\r\n if (classifyItem.sort.type) {\r\n if (classifyItem.sort.type !== 'CUSTOM') {\r\n classification.sort = {\r\n label: classifyItem.sort.label,\r\n columnName: classifyItem.sort.columnName,\r\n type: 'NORMAL',\r\n order: classifyItem.sort.type\r\n }\r\n } else {\r\n classification.sort = {\r\n label: classifyItem.label,\r\n columnName: classifyItem.columnName,\r\n type: 'CUSTOM',\r\n customOrderColumns: classifyItem.sort.customOrderColumns\r\n }\r\n }\r\n }\r\n if (classifyItem.customGroup) {\r\n if (classifyItem.customGroup.groupList.length > 1) { // 0或1表示未分组\r\n classification.customGroup = {\r\n groupInfoMap: {},\r\n otherGroupName: ''\r\n }\r\n classifyItem.customGroup.groupList.forEach((row, rowIndex) => {\r\n if (rowIndex !== 0) {\r\n classification.customGroup.groupInfoMap[row.key] = row.value\r\n }\r\n })\r\n classification.customGroup.otherGroupName = classifyItem.customGroup.otherName || ''\r\n }\r\n }\r\n classification.rangeIndexTypeGuid = classifyItem.typeGuid\r\n classification.customFilterSqlPart = classifyItem.filterSql || ''\r\n }\r\n\r\n const handlerFilterParam = (parent, conditions) => {\r\n for (let i = 0; i < parent.children.length; i++) {\r\n if (parent.children[i].children.length > 0) {\r\n let join = ''\r\n if (parent.type === 'and') {\r\n join = '&&'\r\n } else {\r\n join = '||'\r\n }\r\n conditions.push({ conditions: [], join: join })\r\n handlerFilterParam(parent.children[i], conditions[conditions.length - 1].conditions)\r\n } else {\r\n if (parent.children[i].fieldName) {\r\n let fieldValue = ''\r\n const item: any = {\r\n fieldName: parent.children[i].fieldName,\r\n fieldType: parent.children[i].itemType,\r\n rule: parent.children[i].rule,\r\n fieldValue: '',\r\n label: parent.children[i].label,\r\n version: parent.children[i].version ? parent.children[i].version : 100, // 兼容图形化配置时传显示的label,之前的传字段就是100的,label版本为101\r\n targetSource: parent.children[i].targetSource ? parent.children[i].targetSource : ''\r\n }\r\n fieldValue = JSON.parse(JSON.stringify(parent.children[i].fieldValue))\r\n if (parent.children[i].itemType === 'DATE') {\r\n item.dateFormat = parent.children[i].format\r\n item.dateCalcTypes = parent.children[i].dateCalcTypes\r\n item.calcWays = parent.children[i].calcWays\r\n if (parent.children[i].selectType === 'time') { // 自定义时间\r\n if (parent.children[i].absoluteBool) { // 相对时间\r\n fieldValue = '#######'\r\n item.calcWays = parent.children[i].calcWays\r\n } else { // 取配置值\r\n // TODO\r\n // fieldValue = moment(fieldValue).format(parent.children[i].format)\r\n }\r\n } else if (parent.children[i].selectType === 'component') { // 关联控件\r\n fieldValue = '${' + parent.children[i].relateCompent + '}'\r\n }\r\n item.dateFormat = parent.children[i].format\r\n item.dateCalcTypes = parent.children[i].dateCalcTypes\r\n item.calcWays = parent.children[i].calcWays\r\n } else {\r\n if (Object.prototype.toString.call(fieldValue) === '[object Array]') { // 选中后台查询值\r\n const fieldList: any = []\r\n for (let n = 0; n < fieldValue.length; n++) {\r\n if (fieldValue[n] !== '全选') {\r\n fieldList.push(fieldValue[n])\r\n }\r\n }\r\n fieldValue = fieldList.join(',')\r\n }\r\n }\r\n item.fieldValue = fieldValue\r\n if (parent.children.length > 1 && i !== parent.children.length - 1) {\r\n if (parent.type === 'and') {\r\n item.join = '&&'\r\n } else {\r\n item.join = '||'\r\n }\r\n }\r\n conditions.push(item)\r\n }\r\n }\r\n }\r\n }\r\n\r\n // 筛选变量处理\r\n const getFilterParams = (type, list, graphicConfig) => {\r\n if (!type) {\r\n return\r\n }\r\n const classifyItem = graphicConfig[list].find(item => {\r\n return item.name === type.label\r\n })\r\n if (!classifyItem) {\r\n return\r\n }\r\n const conditions = []\r\n const filterList = classifyItem.filterList\r\n if (filterList) {\r\n for (let i = 0; i < filterList.length; i++) {\r\n if (filterList[i].children.length > 0) {\r\n handlerFilterParam(filterList[i], conditions)\r\n }\r\n }\r\n }\r\n return conditions\r\n }\r\n\r\n return async function () {\r\n const componentType = props.type\r\n let graphicConfig = props.graphicConfig\r\n if (!graphicConfig || Object.keys(graphicConfig).length === 0) {\r\n graphicConfig = {\r\n classify: [],\r\n classifyList: [],\r\n series: [],\r\n seriesList: [],\r\n leftAxis: [],\r\n leftAxisList: [],\r\n rightAxis: [],\r\n rightAxisList: [],\r\n relativeList: []\r\n }\r\n }\r\n const xAxisValue = graphicConfig.classify\r\n const yAxisValue = [...graphicConfig.leftAxis, ...graphicConfig.rightAxis]\r\n if (yAxisValue.length === 0) {\r\n message.error('当前y轴无配置信息')\r\n return\r\n }\r\n\r\n // 获取值轴参数\r\n const indicatorList = getIndicatorList(graphicConfig)\r\n // 获取系列值\r\n let series\r\n if (Array.isArray(graphicConfig.series) && graphicConfig.series.length > 0) {\r\n const seriesItem = graphicConfig.seriesList?.find(item => {\r\n const firstSeries = graphicConfig.series[0]\r\n return item.name === firstSeries || item.nameBak === firstSeries\r\n })\r\n if (seriesItem != null) {\r\n series = {\r\n label: seriesItem.name,\r\n columnName: seriesItem.label\r\n }\r\n }\r\n }\r\n // 获取分类\r\n let classification\r\n if (xAxisValue.length > 0) {\r\n classification = {\r\n label: xAxisValue[0],\r\n columnName: xAxisValue[0]\r\n }\r\n const classify = graphicConfig.classifyList?.find(item => {\r\n return item?.name === xAxisValue[0] || item?.nameBak === xAxisValue[0]\r\n }) || {}\r\n classification.columnName = classify.label\r\n // 获取排序信息\r\n getSortParams(classification, graphicConfig.classifyList)\r\n classification.conditions = getFilterParams(classification, 'classifyList', graphicConfig) || []\r\n }\r\n if (series) {\r\n // 获取排序信息\r\n getSortParams(series, graphicConfig.seriesList)\r\n series.conditions = getFilterParams(series, 'seriesList', graphicConfig) || []\r\n }\r\n\r\n for (let t = 0; t < indicatorList.length; t++) {\r\n if (indicatorList[t].location === 'RIGHT') {\r\n indicatorList[t].conditions = getFilterParams(indicatorList[t], 'rightAxisList', graphicConfig)\r\n } else {\r\n indicatorList[t].conditions = getFilterParams(indicatorList[t], 'leftAxisList', graphicConfig)\r\n }\r\n }\r\n\r\n let sqlConditions\r\n if (graphicConfig?.pageMode === 'design') {\r\n // relativeList 在设计模式下,由于联动无法直接获取,已经处理好数据直接获取\r\n sqlConditions = graphicConfig.sqlConditions ?? []\r\n } else {\r\n sqlConditions = getSqlCondition(graphicConfig?.relativeList)\r\n }\r\n let source = 'SQL_VIEW'\r\n let fixedDimSql = ''\r\n let dataSourceId = ''\r\n let idxLibMode = ''\r\n if (graphicConfig.source === 'INDICATOR_LIB') {\r\n source = 'INDICATOR_LIB'\r\n fixedDimSql = graphicConfig.fixedDimSql\r\n dataSourceId = graphicConfig.dataSourceId\r\n idxLibMode = graphicConfig.idxLibMode\r\n }\r\n\r\n const map = {\r\n ecanBar: 'bar',\r\n ecanLine: 'line',\r\n ecanPie: 'pie',\r\n ecanScatter: 'scatter'\r\n }\r\n\r\n try {\r\n const res = await request.get(`${INDICATOR_URL}/user/anonymous?username=admin`, {\r\n headers: {\r\n systemCode: 'F72FC50A3D97372514A6AC33333D28FD',\r\n current_context: 'ygt'\r\n }\r\n })\r\n\r\n return request.post(`${INDICATOR_URL}/diagram`, {\r\n dataViewId: graphicConfig.dataViewId,\r\n plugin: '1',\r\n layer: '2',\r\n chartType: map[componentType],\r\n classification,\r\n indicatorList,\r\n series,\r\n sqlConditions,\r\n source,\r\n fixedDimSql,\r\n dataSourceId,\r\n idxLibMode\r\n }, {\r\n headers: { Authentication: res.data.data.token }\r\n })\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n}\r\n\r\nexport default useRequestDiagramData\r\n"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTransformChartDataByAttrKey.js","sources":["../../src/hooks/useTransformChartDataByAttrKey.ts"],"sourcesContent":["import { Data, KeyTypeDataFieldNames } from '@/utils/props'\n\n/**\n * 图形转化数据\n * @param data 数据\n * @param dataFieldNames 字段映射\n */\nexport const useTransformChartDataByAttrKey = (data: Data = [], dataFieldNames: KeyTypeDataFieldNames) => {\n let { name = 'name', types = [] } = dataFieldNames || {}\n name = name?.trim() || name\n const set = new Set()\n const map = new Map<string, any []>()\n const dataLen = data.length\n const typesLen = types.length\n // 只有一条记录\n if (dataLen === 1) {\n const vs = []\n // data 为一个值取第一个\n for (let i = 0; i < typesLen; i++) {\n const type = types[i]\n const { label, value } = type\n const v = { ...data[0], value: data[0][value] }\n set.add(label)\n // 值列表\n vs.push(v)\n }\n const n = data[0][name] || ''\n map.set(n, vs)\n } else {\n for (let i = 0; i < dataLen; i++) {\n const item = data[i]\n const x = item[name]\n set.add(x)\n for (let j = 0; j < typesLen; j++) {\n const type = types[j]\n const { label, value } = type\n const v = { ...item, value: item[value] }\n if (map.has(label)) {\n const m = map.get(label)\n m.push(v)\n map.set(label, m)\n } else {\n map.set(label, [v])\n }\n }\n }\n }\n\n const dimensions = Array.from(set)\n const dataset: { [key:string]:any } [] = []\n for (const [name, data] of map) {\n dataset.push({\n name,\n data\n })\n }\n return {\n dimensions,\n dataset\n }\n}\n\nexport default useTransformChartDataByAttrKey\n"],"names":["name","data"],"mappings":";AAOO,MAAM,iCAAiC,CAAC,OAAa,IAAI,mBAA0C;AACpG,MAAA,EAAE,OAAO,QAAQ,QAAQ,CAAA,EAAG,IAAI,kBAAkB;AAC/C,UAAA,6BAAM,WAAU;AACjB,QAAA,0BAAU;AACV,QAAA,0BAAU;AAChB,QAAM,UAAU,KAAK;AACrB,QAAM,WAAW,MAAM;AAEvB,MAAI,YAAY,GAAG;AACjB,UAAM,KAAK,CAAA;AAEX,aAAS,IAAI,GAAG,IAAI,UAAU,KAAK;AACjC,YAAM,OAAO,MAAM;AACb,YAAA,EAAE,OAAO,MAAU,IAAA;AACnB,YAAA,IAAI,EAAE,GAAG,KAAK,IAAI,OAAO,KAAK,GAAG;AACvC,UAAI,IAAI,KAAK;AAEb,SAAG,KAAK,CAAC;AAAA,IACX;AACM,UAAA,IAAI,KAAK,GAAG,SAAS;AACvB,QAAA,IAAI,GAAG,EAAE;AAAA,EAAA,OACR;AACL,aAAS,IAAI,GAAG,IAAI,SAAS,KAAK;AAChC,YAAM,OAAO,KAAK;AAClB,YAAM,IAAI,KAAK;AACf,UAAI,IAAI,CAAC;AACT,eAAS,IAAI,GAAG,IAAI,UAAU,KAAK;AACjC,cAAM,OAAO,MAAM;AACb,cAAA,EAAE,OAAO,MAAU,IAAA;AACzB,cAAM,IAAI,EAAE,GAAG,MAAM,OAAO,KAAK;AAC7B,YAAA,IAAI,IAAI,KAAK,GAAG;AACZ,gBAAA,IAAI,IAAI,IAAI,KAAK;AACvB,YAAE,KAAK,CAAC;AACJ,cAAA,IAAI,OAAO,CAAC;AAAA,QAAA,OACX;AACL,cAAI,IAAI,OAAO,CAAC,CAAC,CAAC;AAAA,QACpB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEM,QAAA,aAAa,MAAM,KAAK,GAAG;AACjC,QAAM,UAAmC,CAAA;AACzC,aAAW,CAACA,OAAMC,KAAI,KAAK,KAAK;AAC9B,YAAQ,KAAK;AAAA,MACX,MAAAD;AAAAA,MACA,MAAAC;AAAAA,IAAA,CACD;AAAA,EACH;AACO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,EAAA;AAEJ;"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTransformChartDataByAttrValue.js","sources":["../../src/hooks/useTransformChartDataByAttrValue.ts"],"sourcesContent":["import { Data, ValueTypeDataFieldNames } from '@/utils/props'\n\n/**\n * 图形转化数据\n * @param data 数据\n * @param dataFieldNames 字段映射\n */\nexport const useTransformChartDataByAttrValue = (data: Data, dataFieldNames?: ValueTypeDataFieldNames) => {\n let { name = 'name', value = 'value', type = 'type' } = dataFieldNames || {}\n // 处去字符串\n name = name?.trim()\n value = value?.trim()\n type = type?.trim()\n const set = new Set()\n const map = new Map()\n const len = data.length\n for (let i = 0; i < len; i++) {\n const item = data[i]\n // x轴\n const x = item[name] || ''\n // y轴\n const y = item[value] || ''\n // 系列(类型)\n const t = item[type] || ''\n set.add(x)\n if (map.has(t)) {\n const arr = map.get(t)\n arr.push({ name: x, value: y, ...item })\n map.set(t, arr)\n } else {\n map.set(t, [{ name: x, value: y, ...item }])\n }\n }\n const dimensions = Array.from(set)\n const dataset: { [key:string]:any } [] = []\n for (const [name, data] of map) {\n dataset.push({\n name,\n data\n })\n }\n return {\n dimensions,\n dataset\n }\n}\nexport default useTransformChartDataByAttrValue\n"],"names":["name","data"],"mappings":";AAOa,MAAA,mCAAmC,CAAC,MAAY,mBAA6C;AACpG,MAAA,EAAE,OAAO,QAAQ,QAAQ,SAAS,OAAO,OAAA,IAAW,kBAAkB;AAE1E,SAAO,6BAAM;AACb,UAAQ,+BAAO;AACf,SAAO,6BAAM;AACP,QAAA,0BAAU;AACV,QAAA,0BAAU;AAChB,QAAM,MAAM,KAAK;AACjB,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,UAAM,OAAO,KAAK;AAEZ,UAAA,IAAI,KAAK,SAAS;AAElB,UAAA,IAAI,KAAK,UAAU;AAEnB,UAAA,IAAI,KAAK,SAAS;AACxB,QAAI,IAAI,CAAC;AACL,QAAA,IAAI,IAAI,CAAC,GAAG;AACR,YAAA,MAAM,IAAI,IAAI,CAAC;AACjB,UAAA,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,GAAG,MAAM;AACnC,UAAA,IAAI,GAAG,GAAG;AAAA,IAAA,OACT;AACD,UAAA,IAAI,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,GAAG,KAAK,CAAC,CAAC;AAAA,IAC7C;AAAA,EACF;AACM,QAAA,aAAa,MAAM,KAAK,GAAG;AACjC,QAAM,UAAmC,CAAA;AACzC,aAAW,CAACA,OAAMC,KAAI,KAAK,KAAK;AAC9B,YAAQ,KAAK;AAAA,MACX,MAAAD;AAAAA,MACA,MAAAC;AAAAA,IAAA,CACD;AAAA,EACH;AACO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,EAAA;AAEJ;"}
|
|
@@ -2,23 +2,30 @@ const useValueFormatter = (formatter, value) => {
|
|
|
2
2
|
if (formatter == null)
|
|
3
3
|
return value;
|
|
4
4
|
const variables = formatter.match(/\{.*\}/g);
|
|
5
|
-
if (variables == null || variables.length === 0)
|
|
5
|
+
if (variables == null || variables.length === 0) {
|
|
6
6
|
return value;
|
|
7
|
-
|
|
7
|
+
}
|
|
8
|
+
const len = variables.length;
|
|
9
|
+
for (let i = 0; i < len; i++) {
|
|
8
10
|
const variable = variables[i];
|
|
9
11
|
if (variable == null || variable === "")
|
|
10
12
|
break;
|
|
11
13
|
let statement = variable.slice(1, -1);
|
|
12
14
|
statement = statement == null ? void 0 : statement.replace(/value/g, value);
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
result =
|
|
15
|
+
if (/[+\-*/%]+/g.test(value)) {
|
|
16
|
+
formatter = formatter.replace(variable, statement);
|
|
17
|
+
} else {
|
|
18
|
+
try {
|
|
19
|
+
let result = statement;
|
|
20
|
+
if (/[+\-*/%]+/g.test(statement)) {
|
|
21
|
+
const eval2 = eval;
|
|
22
|
+
result = eval2(statement);
|
|
23
|
+
}
|
|
24
|
+
formatter = formatter.replace(variable, result);
|
|
25
|
+
} catch (e) {
|
|
26
|
+
console.error(e);
|
|
27
|
+
return value;
|
|
18
28
|
}
|
|
19
|
-
formatter = formatter.replace(variable, result);
|
|
20
|
-
} catch (e) {
|
|
21
|
-
console.error(e);
|
|
22
29
|
}
|
|
23
30
|
}
|
|
24
31
|
return formatter;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useValueFormatter.js","sources":["../../src/hooks/useValueFormatter.ts"],"sourcesContent":["export const useValueFormatter = (formatter: string, value:string) => {\n if (formatter == null) return value\n const variables = (formatter).match(/\\{.*\\}/g)\n if (variables == null || variables.length === 0) {\n return value\n }\n const len = variables.length\n for (let i = 0; i < len; i++) {\n const variable = variables[i]\n if (variable == null || variable === '') break\n let statement = variable.slice(1, -1)\n statement = statement?.replace(/value/g, value)\n if ((/[+\\-*/%]+/g).test(value)) {\n formatter = formatter.replace(variable, statement)\n } else {\n try {\n // 匹配加减乘除\n let result = statement\n if ((/[+\\-*/%]+/g).test(statement)) {\n // eslint-disable-next-line no-eval\n const eval2 = eval\n result = eval2(statement)\n }\n formatter = formatter.replace(variable, result)\n } catch (e) {\n console.error(e)\n return value\n }\n }\n }\n return formatter\n}\n\nexport default useValueFormatter\n"],"names":[],"mappings":"AAAa,MAAA,oBAAoB,CAAC,WAAmB,UAAiB;AACpE,MAAI,aAAa;AAAa,WAAA;AACxB,QAAA,YAAa,UAAW,MAAM,SAAS;AAC7C,MAAI,aAAa,QAAQ,UAAU,WAAW,GAAG;AACxC,WAAA;AAAA,EACT;AACA,QAAM,MAAM,UAAU;AACtB,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,UAAM,WAAW,UAAU;AACvB,QAAA,YAAY,QAAQ,aAAa;AAAI;AACzC,QAAI,YAAY,SAAS,MAAM,GAAG,EAAE;AACxB,gBAAA,uCAAW,QAAQ,UAAU;AACpC,QAAA,aAAc,KAAK,KAAK,GAAG;AAClB,kBAAA,UAAU,QAAQ,UAAU,SAAS;AAAA,IAAA,OAC5C;AACD,UAAA;AAEF,YAAI,SAAS;AACR,YAAA,aAAc,KAAK,SAAS,GAAG;AAElC,gBAAM,QAAQ;AACd,mBAAS,MAAM,SAAS;AAAA,QAC1B;AACY,oBAAA,UAAU,QAAQ,UAAU,MAAM;AAAA,eACvC;AACP,gBAAQ,MAAM,CAAC;AACR,eAAA;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACO,SAAA;AACT;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
const useVariablesInText = (formatter = "", data = {}, { useNewline = false, useSpace = false } = {}) => {
|
|
2
|
+
const config = window.config || {};
|
|
3
|
+
data = { ...config, ...data };
|
|
4
|
+
const variables = formatter.match(/\{(.+?)\}/g);
|
|
5
|
+
if (variables == null || variables.length === 0) {
|
|
6
|
+
return formatter;
|
|
7
|
+
}
|
|
8
|
+
for (let i = 0; i < variables.length; i++) {
|
|
9
|
+
const variable = variables[i];
|
|
10
|
+
let statement = variable.slice(1, -1);
|
|
11
|
+
const reg = /[\u4e00-\u9fa5_a-zA-Z_]+[0-9]*/g;
|
|
12
|
+
const textVariables = statement.match(reg);
|
|
13
|
+
for (let j = 0; j < textVariables.length; j++) {
|
|
14
|
+
const textVariable = textVariables[j];
|
|
15
|
+
const usedVariable = data[textVariable];
|
|
16
|
+
if (usedVariable != null) {
|
|
17
|
+
statement = statement.replace(textVariable, usedVariable);
|
|
18
|
+
} else {
|
|
19
|
+
statement = statement.replace(textVariable, "");
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
if (/[0-9]+(.*)[|+|-|*|/](.*)[0-9]+/g.test(statement)) {
|
|
24
|
+
const eval2 = eval;
|
|
25
|
+
statement = eval2(statement);
|
|
26
|
+
}
|
|
27
|
+
} catch (e) {
|
|
28
|
+
console.error(e);
|
|
29
|
+
}
|
|
30
|
+
formatter = formatter.replace(variable, statement);
|
|
31
|
+
}
|
|
32
|
+
if (useNewline) {
|
|
33
|
+
formatter = formatter == null ? void 0 : formatter.replace(/\n|\\n/g, "<br/>");
|
|
34
|
+
}
|
|
35
|
+
if (useSpace) {
|
|
36
|
+
formatter = formatter == null ? void 0 : formatter.replace(/\s{2,}?/g, " ");
|
|
37
|
+
}
|
|
38
|
+
console.log("formatter", formatter);
|
|
39
|
+
return formatter;
|
|
40
|
+
};
|
|
41
|
+
export {
|
|
42
|
+
useVariablesInText as default,
|
|
43
|
+
useVariablesInText
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=useVariablesInText.js.map
|