@ecan-bi/datav 1.1.19 → 1.1.20
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 +158 -158
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +3 -3
- package/dist/index.umd.js.map +1 -1
- package/es/common/echarts/Echarts.js +3 -3
- package/es/common/skeleton/Skeleton.vue.js +17 -17
- package/es/common/skeleton/Skeleton.vue.js.map +1 -1
- package/es/common/skeleton/Skeleton.vue2.js +17 -17
- package/es/common/skeleton/Skeleton.vue2.js.map +1 -1
- package/es/common/skeleton/index.js +1 -1
- package/es/common/spin/Spin.vue.js +19 -29
- package/es/common/spin/Spin.vue.js.map +1 -1
- package/es/common/spin/Spin.vue2.js +29 -2
- package/es/common/spin/Spin.vue2.js.map +1 -1
- package/es/common/spin/Spin.vue3.js +2 -19
- package/es/common/spin/Spin.vue3.js.map +1 -1
- package/es/common/spin/index.js +1 -1
- package/es/components.js +25 -30
- package/es/components.js.map +1 -1
- package/es/container/border/Border.vue2.js +0 -4
- package/es/container/border/Border.vue2.js.map +1 -1
- package/es/container/border/index.js +0 -4
- package/es/container/border/index.js.map +1 -1
- package/es/container/border/props.js +1 -1
- package/es/container/modal/Modal.vue2.js +1 -4
- package/es/container/modal/Modal.vue2.js.map +1 -1
- package/es/container/modal/index.js +1 -5
- package/es/container/modal/index.js.map +1 -1
- package/es/container/tabs/Tabs.vue2.js +1 -5
- package/es/container/tabs/Tabs.vue2.js.map +1 -1
- package/es/container/tabs/index.js +1 -5
- package/es/container/tabs/index.js.map +1 -1
- package/es/container/tabs/props.js +1 -1
- package/es/control/button/Button.vue2.js +0 -4
- package/es/control/button/Button.vue2.js.map +1 -1
- package/es/control/button/index.js +0 -4
- package/es/control/button/index.js.map +1 -1
- package/es/control/button/props.js +1 -1
- package/es/control/checkbox/Checkbox.vue2.js +1 -3
- package/es/control/checkbox/Checkbox.vue2.js.map +1 -1
- package/es/control/checkbox/index.js +0 -4
- package/es/control/checkbox/index.js.map +1 -1
- package/es/control/checkbox/props.js +1 -1
- package/es/control/date-picker/DatePicker.vue2.js +1 -4
- package/es/control/date-picker/DatePicker.vue2.js.map +1 -1
- package/es/control/date-picker/index.js +0 -4
- package/es/control/date-picker/index.js.map +1 -1
- package/es/control/date-picker/props.js +1 -1
- package/es/control/input/Input.vue2.js +2 -4
- package/es/control/input/Input.vue2.js.map +1 -1
- package/es/control/input/index.js +1 -5
- package/es/control/input/index.js.map +1 -1
- package/es/control/input/props.js +1 -1
- package/es/control/range-picker/RangePicker.vue2.js +1 -4
- package/es/control/range-picker/RangePicker.vue2.js.map +1 -1
- package/es/control/range-picker/index.js +1 -5
- package/es/control/range-picker/index.js.map +1 -1
- package/es/control/range-picker/props.js +1 -1
- package/es/control/select/Select.vue2.js +0 -2
- package/es/control/select/Select.vue2.js.map +1 -1
- package/es/control/select/index.js +1 -5
- package/es/control/select/index.js.map +1 -1
- package/es/control/select/props.js +1 -1
- package/es/graph/bar/Bar.vue2.js +4 -5
- package/es/graph/bar/Bar.vue2.js.map +1 -1
- package/es/graph/bar/index.js +0 -4
- package/es/graph/bar/index.js.map +1 -1
- package/es/graph/bar/props.js +1 -1
- package/es/graph/combo-graph/ComboGraph.vue2.js +3 -4
- package/es/graph/combo-graph/ComboGraph.vue2.js.map +1 -1
- package/es/graph/combo-graph/index.js +0 -4
- package/es/graph/combo-graph/index.js.map +1 -1
- package/es/graph/combo-graph/props.js +1 -1
- package/es/graph/custom-graph/CustomGraph.vue2.js +0 -5
- package/es/graph/custom-graph/CustomGraph.vue2.js.map +1 -1
- package/es/graph/custom-graph/index.js +0 -3
- package/es/graph/custom-graph/index.js.map +1 -1
- package/es/graph/custom-graph/props.js +1 -1
- package/es/graph/line/Line.vue2.js +3 -4
- package/es/graph/line/Line.vue2.js.map +1 -1
- package/es/graph/line/index.js +1 -5
- package/es/graph/line/index.js.map +1 -1
- package/es/graph/line/props.js +1 -1
- package/es/graph/pie/Pie.vue2.js +5 -6
- package/es/graph/pie/Pie.vue2.js.map +1 -1
- package/es/graph/pie/index.js +1 -5
- package/es/graph/pie/index.js.map +1 -1
- package/es/graph/pie/props.js +1 -1
- package/es/graph/scatter/Scatter.vue2.js +4 -6
- package/es/graph/scatter/Scatter.vue2.js.map +1 -1
- package/es/graph/scatter/index.js +1 -5
- package/es/graph/scatter/index.js.map +1 -1
- package/es/graph/scatter/props.js +1 -1
- package/es/hooks/useDownloadFile.js +2 -1
- package/es/hooks/useDownloadFile.js.map +1 -1
- package/es/index.js +5678 -5678
- package/es/map/map/Map.vue2.js +1 -5
- package/es/map/map/Map.vue2.js.map +1 -1
- package/es/map/map/index.js +1 -4
- package/es/map/map/index.js.map +1 -1
- package/es/map/map/props.js +1 -1
- package/es/media/iframe/Iframe.vue2.js +1 -5
- package/es/media/iframe/Iframe.vue2.js.map +1 -1
- package/es/media/iframe/index.js +1 -4
- package/es/media/iframe/index.js.map +1 -1
- package/es/media/iframe/props.js +1 -1
- package/es/media/image/Image.vue2.js +2 -6
- package/es/media/image/Image.vue2.js.map +1 -1
- package/es/media/image/index.js +1 -4
- package/es/media/image/index.js.map +1 -1
- package/es/media/image/props.js +1 -1
- package/es/node_modules/echarts/lib/core/Scheduler.js +1 -1
- package/es/node_modules/echarts/lib/core/echarts.js +4 -4
- package/es/node_modules/echarts/lib/data/helper/sourceHelper.js +1 -1
- package/es/node_modules/echarts/lib/util/graphic.js +1 -1
- package/es/node_modules/zrender/lib/animation/Animator.js +2 -1
- package/es/node_modules/zrender/lib/animation/Animator.js.map +1 -1
- package/es/node_modules/zrender/lib/core/util.js +0 -2
- package/es/node_modules/zrender/lib/core/util.js.map +1 -1
- package/es/node_modules/zrender/lib/graphic/Image.js +1 -1
- package/es/setting/page-config/PageConfig.vue2.js +0 -4
- package/es/setting/page-config/PageConfig.vue2.js.map +1 -1
- package/es/setting/page-config/index.js +1 -4
- package/es/setting/page-config/index.js.map +1 -1
- package/es/setting/provider-config/ProviderConfig.vue2.js +1 -4
- package/es/setting/provider-config/ProviderConfig.vue2.js.map +1 -1
- package/es/setting/provider-config/index.js +1 -4
- package/es/setting/provider-config/index.js.map +1 -1
- package/es/table/table/Table.vue2.js +3 -4
- package/es/table/table/Table.vue2.js.map +1 -1
- package/es/table/table/index.js +1 -5
- package/es/table/table/index.js.map +1 -1
- package/es/table/table/props.js +1 -1
- package/es/text/list/List.vue2.js +2 -5
- package/es/text/list/List.vue2.js.map +1 -1
- package/es/text/list/index.js +1 -5
- package/es/text/list/index.js.map +1 -1
- package/es/text/list/props.js +1 -1
- package/es/text/proportion/Proportion.vue2.js +2 -4
- package/es/text/proportion/Proportion.vue2.js.map +1 -1
- package/es/text/proportion/index.js +1 -5
- package/es/text/proportion/index.js.map +1 -1
- package/es/text/proportion/props.js +1 -1
- package/es/text/text/Text.vue2.js +2 -5
- package/es/text/text/Text.vue2.js.map +1 -1
- package/es/text/text/index.js +1 -5
- package/es/text/text/index.js.map +1 -1
- package/es/text/text/props.js +1 -1
- package/es/text/time-display/TimeDisplay.vue2.js +0 -5
- package/es/text/time-display/TimeDisplay.vue2.js.map +1 -1
- package/es/text/time-display/index.js +1 -4
- package/es/text/time-display/index.js.map +1 -1
- package/es/text/time-display/props.js +1 -1
- package/lib/common/echarts/Echarts.js +3 -3
- package/lib/common/skeleton/Skeleton.vue.js +16 -16
- package/lib/common/skeleton/Skeleton.vue.js.map +1 -1
- package/lib/common/skeleton/Skeleton.vue2.js +16 -16
- package/lib/common/skeleton/Skeleton.vue2.js.map +1 -1
- package/lib/common/skeleton/index.js +1 -1
- package/lib/common/spin/Spin.vue.js +18 -28
- package/lib/common/spin/Spin.vue.js.map +1 -1
- package/lib/common/spin/Spin.vue2.js +29 -2
- package/lib/common/spin/Spin.vue2.js.map +1 -1
- package/lib/common/spin/Spin.vue3.js +2 -19
- package/lib/common/spin/Spin.vue3.js.map +1 -1
- package/lib/common/spin/index.js +1 -1
- package/lib/components.js +51 -56
- package/lib/components.js.map +1 -1
- package/lib/container/border/Border.vue2.js +0 -4
- package/lib/container/border/Border.vue2.js.map +1 -1
- package/lib/container/border/index.js +0 -4
- package/lib/container/border/index.js.map +1 -1
- package/lib/container/modal/Modal.vue2.js +1 -4
- package/lib/container/modal/Modal.vue2.js.map +1 -1
- package/lib/container/modal/index.js +0 -4
- package/lib/container/modal/index.js.map +1 -1
- package/lib/container/tabs/Tabs.vue2.js +1 -5
- package/lib/container/tabs/Tabs.vue2.js.map +1 -1
- package/lib/container/tabs/index.js +0 -4
- package/lib/container/tabs/index.js.map +1 -1
- package/lib/control/button/Button.vue2.js +0 -4
- package/lib/control/button/Button.vue2.js.map +1 -1
- package/lib/control/button/index.js +0 -4
- package/lib/control/button/index.js.map +1 -1
- package/lib/control/checkbox/Checkbox.vue2.js +1 -3
- package/lib/control/checkbox/Checkbox.vue2.js.map +1 -1
- package/lib/control/checkbox/index.js +0 -4
- package/lib/control/checkbox/index.js.map +1 -1
- package/lib/control/date-picker/DatePicker.vue2.js +1 -4
- package/lib/control/date-picker/DatePicker.vue2.js.map +1 -1
- package/lib/control/date-picker/index.js +0 -4
- package/lib/control/date-picker/index.js.map +1 -1
- package/lib/control/input/Input.vue2.js +2 -4
- package/lib/control/input/Input.vue2.js.map +1 -1
- package/lib/control/input/index.js +0 -4
- package/lib/control/input/index.js.map +1 -1
- package/lib/control/range-picker/RangePicker.vue2.js +1 -4
- package/lib/control/range-picker/RangePicker.vue2.js.map +1 -1
- package/lib/control/range-picker/index.js +0 -4
- package/lib/control/range-picker/index.js.map +1 -1
- package/lib/control/select/Select.vue2.js +0 -2
- package/lib/control/select/Select.vue2.js.map +1 -1
- package/lib/control/select/index.js +0 -4
- package/lib/control/select/index.js.map +1 -1
- package/lib/graph/bar/Bar.vue2.js +4 -5
- package/lib/graph/bar/Bar.vue2.js.map +1 -1
- package/lib/graph/bar/index.js +0 -4
- package/lib/graph/bar/index.js.map +1 -1
- package/lib/graph/combo-graph/ComboGraph.vue2.js +3 -4
- package/lib/graph/combo-graph/ComboGraph.vue2.js.map +1 -1
- package/lib/graph/combo-graph/index.js +0 -4
- package/lib/graph/combo-graph/index.js.map +1 -1
- package/lib/graph/custom-graph/CustomGraph.vue2.js +0 -5
- package/lib/graph/custom-graph/CustomGraph.vue2.js.map +1 -1
- package/lib/graph/custom-graph/index.js +0 -3
- package/lib/graph/custom-graph/index.js.map +1 -1
- package/lib/graph/line/Line.vue2.js +3 -4
- package/lib/graph/line/Line.vue2.js.map +1 -1
- package/lib/graph/line/index.js +0 -4
- package/lib/graph/line/index.js.map +1 -1
- package/lib/graph/pie/Pie.vue2.js +5 -6
- package/lib/graph/pie/Pie.vue2.js.map +1 -1
- package/lib/graph/pie/index.js +0 -4
- package/lib/graph/pie/index.js.map +1 -1
- package/lib/graph/scatter/Scatter.vue2.js +4 -6
- package/lib/graph/scatter/Scatter.vue2.js.map +1 -1
- package/lib/graph/scatter/index.js +0 -4
- package/lib/graph/scatter/index.js.map +1 -1
- package/lib/hooks/useDownloadFile.js +2 -1
- package/lib/hooks/useDownloadFile.js.map +1 -1
- package/lib/index.js +5678 -5678
- package/lib/map/map/Map.vue2.js +1 -5
- package/lib/map/map/Map.vue2.js.map +1 -1
- package/lib/map/map/index.js +0 -3
- package/lib/map/map/index.js.map +1 -1
- package/lib/media/iframe/Iframe.vue2.js +1 -5
- package/lib/media/iframe/Iframe.vue2.js.map +1 -1
- package/lib/media/iframe/index.js +0 -3
- package/lib/media/iframe/index.js.map +1 -1
- package/lib/media/image/Image.vue2.js +2 -6
- package/lib/media/image/Image.vue2.js.map +1 -1
- package/lib/media/image/index.js +0 -3
- package/lib/media/image/index.js.map +1 -1
- package/lib/node_modules/echarts/lib/core/echarts.js +1 -1
- package/lib/node_modules/zrender/lib/animation/Animator.js +2 -1
- package/lib/node_modules/zrender/lib/animation/Animator.js.map +1 -1
- package/lib/node_modules/zrender/lib/core/util.js +0 -2
- package/lib/node_modules/zrender/lib/core/util.js.map +1 -1
- package/lib/setting/page-config/PageConfig.vue2.js +0 -4
- package/lib/setting/page-config/PageConfig.vue2.js.map +1 -1
- package/lib/setting/page-config/index.js +0 -3
- package/lib/setting/page-config/index.js.map +1 -1
- package/lib/setting/provider-config/ProviderConfig.vue2.js +1 -4
- package/lib/setting/provider-config/ProviderConfig.vue2.js.map +1 -1
- package/lib/setting/provider-config/index.js +0 -3
- package/lib/setting/provider-config/index.js.map +1 -1
- package/lib/table/table/Table.vue2.js +3 -4
- package/lib/table/table/Table.vue2.js.map +1 -1
- package/lib/table/table/index.js +0 -4
- package/lib/table/table/index.js.map +1 -1
- package/lib/text/list/List.vue2.js +2 -5
- package/lib/text/list/List.vue2.js.map +1 -1
- package/lib/text/list/index.js +0 -4
- package/lib/text/list/index.js.map +1 -1
- package/lib/text/proportion/Proportion.vue2.js +2 -4
- package/lib/text/proportion/Proportion.vue2.js.map +1 -1
- package/lib/text/proportion/index.js +0 -4
- package/lib/text/proportion/index.js.map +1 -1
- package/lib/text/text/Text.vue2.js +2 -5
- package/lib/text/text/Text.vue2.js.map +1 -1
- package/lib/text/text/index.js +0 -4
- package/lib/text/text/index.js.map +1 -1
- package/lib/text/time-display/TimeDisplay.vue2.js +0 -5
- package/lib/text/time-display/TimeDisplay.vue2.js.map +1 -1
- package/lib/text/time-display/index.js +0 -3
- package/lib/text/time-display/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageConfig.vue2.js","sources":["../../../src/setting/page-config/PageConfig.vue"],"sourcesContent":["<template>\n <div id=\"container\" ref=\"container\">\n <template v-if=\"ready\">\n <div\n class=\"page-config\"\n :style=\"style\"\n >\n <slot></slot>\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, nextTick, computed, ref, onMounted, onUnmounted } from 'vue'\nimport { debounce } from 'lodash-es'\nimport { pageConfigComponentProps } from './props'\nimport { useImagePath } from '@/hooks'\nexport default defineComponent({\n name: 'EcanPageConfig',\n inheritAttrs: false,\n props: {\n ...pageConfigComponentProps\n },\n setup (props) {\n // 大屏设计容器\n const style = computed(() => ({\n width: props.width,\n height: props.height,\n backgroundColor: props.backgroundColor,\n backgroundImage: useImagePath(props.backgroundImage as string, true),\n backgroundSize: props.backgroundSize\n }))\n const width = ref(0)\n const height = ref(0)\n const originalWidth = ref(0)\n const originalHeight = ref(0)\n const ready = ref(false)\n const container = ref()\n let observer: MutationObserver | null\n const initSize = () => {\n return new Promise<void>((resolve) => {\n nextTick(() => {\n // 获取大屏的真实尺寸\n if (props.width && props.height) {\n width.value = parseFloat(props.width)\n height.value = parseFloat(props.height)\n } else {\n width.value = container.value.clientWidth\n height.value = container.value.clientHeight\n }\n // 获取画布尺寸\n if (!originalWidth.value || !originalHeight.value) {\n originalWidth.value = window.screen.width\n originalHeight.value = window.screen.height\n }\n resolve()\n })\n })\n }\n const updateSize = () => {\n if (width.value && height.value) {\n container.value.style.width = `${width.value}px`\n container.value.style.height = `${height.value}px`\n } else {\n container.value.style.width = `${originalWidth.value}px`\n container.value.style.height = `${originalHeight.value}px`\n }\n }\n const updateScale = () => {\n // 获取真实的视口尺寸\n const currentWidth = document.body.clientWidth\n const currentHeight = document.body.clientHeight\n // 获取大屏最终的宽高\n const realWidth = width.value || originalWidth.value\n const realHeight = height.value || originalHeight.value\n const widthScale = currentWidth / realWidth\n const heightScale = currentHeight / realHeight\n container.value && (container.value.style.transform = `scale(${widthScale}, ${heightScale})`)\n }\n const onResize = async () => {\n await initSize()\n updateScale()\n }\n const initMutationObserver = () => {\n const MutationObserver = window.MutationObserver\n observer = new MutationObserver(onResize)\n observer.observe(container.value, {\n attributes: true,\n attributeFilter: ['style'],\n attributeOldValue: true\n })\n }\n const removeMutationObserver = () => {\n if (observer) {\n observer.disconnect()\n observer.takeRecords()\n observer = null\n }\n }\n onMounted(async () => {\n ready.value = false\n await initSize()\n updateSize()\n updateScale()\n window.addEventListener('resize', debounce(onResize, 100))\n initMutationObserver()\n ready.value = true\n })\n onUnmounted(() => {\n window.removeEventListener('resize', onResize)\n removeMutationObserver()\n })\n return {\n style,\n container,\n ready\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n#container {\n position: fixed;\n top: 0;\n left: 0;\n overflow: hidden;\n transform-origin: left top;\n z-index: 999;\n}\n.page-config {\n position: relative;\n overflow: hidden;\n background-size: cover;\n}\n</style>\n"],"names":["defineComponent","pageConfigComponentProps","props","computed","useImagePath","ref","nextTick","onMounted","debounce","onUnmounted"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PageConfig.vue2.js","sources":["../../../src/setting/page-config/PageConfig.vue"],"sourcesContent":["<template>\n <div id=\"container\" ref=\"container\">\n <template v-if=\"ready\">\n <div\n class=\"page-config\"\n :style=\"style\"\n >\n <slot></slot>\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, nextTick, computed, ref, onMounted, onUnmounted } from 'vue'\nimport { debounce } from 'lodash-es'\nimport { pageConfigComponentProps } from './props'\nimport { useImagePath } from '@/hooks'\nexport default defineComponent({\n name: 'EcanPageConfig',\n inheritAttrs: false,\n props: {\n ...pageConfigComponentProps\n },\n setup (props) {\n // 大屏设计容器\n const style = computed(() => ({\n width: props.width,\n height: props.height,\n backgroundColor: props.backgroundColor,\n backgroundImage: useImagePath(props.backgroundImage as string, true),\n backgroundSize: props.backgroundSize\n }))\n const width = ref(0)\n const height = ref(0)\n const originalWidth = ref(0)\n const originalHeight = ref(0)\n const ready = ref(false)\n const container = ref()\n let observer: MutationObserver | null\n const initSize = () => {\n return new Promise<void>((resolve) => {\n nextTick(() => {\n // 获取大屏的真实尺寸\n if (props.width && props.height) {\n width.value = parseFloat(props.width)\n height.value = parseFloat(props.height)\n } else {\n width.value = container.value.clientWidth\n height.value = container.value.clientHeight\n }\n // 获取画布尺寸\n if (!originalWidth.value || !originalHeight.value) {\n originalWidth.value = window.screen.width\n originalHeight.value = window.screen.height\n }\n resolve()\n })\n })\n }\n const updateSize = () => {\n if (width.value && height.value) {\n container.value.style.width = `${width.value}px`\n container.value.style.height = `${height.value}px`\n } else {\n container.value.style.width = `${originalWidth.value}px`\n container.value.style.height = `${originalHeight.value}px`\n }\n }\n const updateScale = () => {\n // 获取真实的视口尺寸\n const currentWidth = document.body.clientWidth\n const currentHeight = document.body.clientHeight\n // 获取大屏最终的宽高\n const realWidth = width.value || originalWidth.value\n const realHeight = height.value || originalHeight.value\n const widthScale = currentWidth / realWidth\n const heightScale = currentHeight / realHeight\n container.value && (container.value.style.transform = `scale(${widthScale}, ${heightScale})`)\n }\n const onResize = async () => {\n await initSize()\n updateScale()\n }\n const initMutationObserver = () => {\n const MutationObserver = window.MutationObserver\n observer = new MutationObserver(onResize)\n observer.observe(container.value, {\n attributes: true,\n attributeFilter: ['style'],\n attributeOldValue: true\n })\n }\n const removeMutationObserver = () => {\n if (observer) {\n observer.disconnect()\n observer.takeRecords()\n observer = null\n }\n }\n onMounted(async () => {\n ready.value = false\n await initSize()\n updateSize()\n updateScale()\n window.addEventListener('resize', debounce(onResize, 100))\n initMutationObserver()\n ready.value = true\n })\n onUnmounted(() => {\n window.removeEventListener('resize', onResize)\n removeMutationObserver()\n })\n return {\n style,\n container,\n ready\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n#container {\n position: fixed;\n top: 0;\n left: 0;\n overflow: hidden;\n transform-origin: left top;\n z-index: 999;\n}\n.page-config {\n position: relative;\n overflow: hidden;\n background-size: cover;\n}\n</style>\n"],"names":["defineComponent","pageConfigComponentProps","props","computed","useImagePath","ref","nextTick","onMounted","debounce","onUnmounted"],"mappings":";;;;;;AAkBA,MAAA,YAAeA,oBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACL,GAAGC,MAAA;AAAA,EACL;AAAA,EACA,MAAOC,QAAO;AAEN,UAAA,QAAQC,IAAAA,SAAS,OAAO;AAAA,MAC5B,OAAOD,OAAM;AAAA,MACb,QAAQA,OAAM;AAAA,MACd,iBAAiBA,OAAM;AAAA,MACvB,iBAAiBE,aAAA,aAAaF,OAAM,iBAA2B,IAAI;AAAA,MACnE,gBAAgBA,OAAM;AAAA,IACtB,EAAA;AACI,UAAA,QAAQG,QAAI,CAAC;AACb,UAAA,SAASA,QAAI,CAAC;AACd,UAAA,gBAAgBA,QAAI,CAAC;AACrB,UAAA,iBAAiBA,QAAI,CAAC;AACtB,UAAA,QAAQA,QAAI,KAAK;AACvB,UAAM,YAAYA,IAAAA;AACd,QAAA;AACJ,UAAM,WAAW,MAAM;AACd,aAAA,IAAI,QAAc,CAAC,YAAY;AACpCC,YAAAA,SAAS,MAAM;AAET,cAAAJ,OAAM,SAASA,OAAM,QAAQ;AACzB,kBAAA,QAAQ,WAAWA,OAAM,KAAK;AAC7B,mBAAA,QAAQ,WAAWA,OAAM,MAAM;AAAA,UAAA,OACjC;AACC,kBAAA,QAAQ,UAAU,MAAM;AACvB,mBAAA,QAAQ,UAAU,MAAM;AAAA,UACjC;AAEA,cAAI,CAAC,cAAc,SAAS,CAAC,eAAe,OAAO;AACnC,0BAAA,QAAQ,OAAO,OAAO;AACrB,2BAAA,QAAQ,OAAO,OAAO;AAAA,UACvC;AACQ;QAAA,CACT;AAAA,MAAA,CACF;AAAA,IAAA;AAEH,UAAM,aAAa,MAAM;AACnB,UAAA,MAAM,SAAS,OAAO,OAAO;AAC/B,kBAAU,MAAM,MAAM,QAAQ,GAAG,MAAM;AACvC,kBAAU,MAAM,MAAM,SAAS,GAAG,OAAO;AAAA,MAAA,OACpC;AACL,kBAAU,MAAM,MAAM,QAAQ,GAAG,cAAc;AAC/C,kBAAU,MAAM,MAAM,SAAS,GAAG,eAAe;AAAA,MACnD;AAAA,IAAA;AAEF,UAAM,cAAc,MAAM;AAElB,YAAA,eAAe,SAAS,KAAK;AAC7B,YAAA,gBAAgB,SAAS,KAAK;AAE9B,YAAA,YAAY,MAAM,SAAS,cAAc;AACzC,YAAA,aAAa,OAAO,SAAS,eAAe;AAClD,YAAM,aAAa,eAAe;AAClC,YAAM,cAAc,gBAAgB;AACpC,gBAAU,UAAU,UAAU,MAAM,MAAM,YAAY,SAAS,eAAe;AAAA,IAAA;AAEhF,UAAM,WAAW,YAAY;AAC3B,YAAM,SAAS;AACH;IAAA;AAEd,UAAM,uBAAuB,MAAM;AACjC,YAAM,mBAAmB,OAAO;AACrB,iBAAA,IAAI,iBAAiB,QAAQ;AAC/B,eAAA,QAAQ,UAAU,OAAO;AAAA,QAChC,YAAY;AAAA,QACZ,iBAAiB,CAAC,OAAO;AAAA,QACzB,mBAAmB;AAAA,MAAA,CACpB;AAAA,IAAA;AAEH,UAAM,yBAAyB,MAAM;AACnC,UAAI,UAAU;AACZ,iBAAS,WAAW;AACpB,iBAAS,YAAY;AACV,mBAAA;AAAA,MACb;AAAA,IAAA;AAEFK,QAAAA,UAAU,YAAY;AACpB,YAAM,QAAQ;AACd,YAAM,SAAS;AACJ;AACC;AACZ,aAAO,iBAAiB,UAAUC,SAAS,SAAA,UAAU,GAAG,CAAC;AACpC;AACrB,YAAM,QAAQ;AAAA,IAAA,CACf;AACDC,QAAAA,YAAY,MAAM;AACT,aAAA,oBAAoB,UAAU,QAAQ;AACtB;IAAA,CACxB;AACM,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;"}
|
|
@@ -2,10 +2,7 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const withInstall = require("../../utils/withInstall.js");
|
|
4
4
|
const PageConfig = require("./PageConfig.vue.js");
|
|
5
|
-
const props = require("./props.js");
|
|
6
5
|
const EcanPageConfig = withInstall.withInstall(PageConfig.default);
|
|
7
|
-
exports.pageConfig = props.pageConfig;
|
|
8
|
-
exports.pageConfigComponentProps = props.pageConfigComponentProps;
|
|
9
6
|
exports.EcanPageConfig = EcanPageConfig;
|
|
10
7
|
exports.default = EcanPageConfig;
|
|
11
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/setting/page-config/index.ts"],"sourcesContent":["import { withInstall } from '../../utils/withInstall'\nimport PageConfig from './PageConfig.vue'\nexport const EcanPageConfig = withInstall(PageConfig)\nexport default EcanPageConfig\nexport * from './props'\n"],"names":["withInstall","PageConfig"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/setting/page-config/index.ts"],"sourcesContent":["import { withInstall } from '../../utils/withInstall'\nimport PageConfig from './PageConfig.vue'\nexport const EcanPageConfig = withInstall(PageConfig)\nexport default EcanPageConfig\nexport * from './props'\n"],"names":["withInstall","PageConfig"],"mappings":";;;;AAEa,MAAA,iBAAiBA,wBAAYC,WAAU,OAAA;;;"}
|
|
@@ -4,12 +4,9 @@ const vue = require("vue");
|
|
|
4
4
|
const mitt = require("mitt");
|
|
5
5
|
const constant = require("../../utils/constant.js");
|
|
6
6
|
const props = require("./props.js");
|
|
7
|
-
require("lodash-es");
|
|
8
|
-
const index = require("../../node_modules/axios/index.js");
|
|
9
7
|
const useVariablesInText = require("../../hooks/useVariablesInText.js");
|
|
10
|
-
require("../../utils/request.js");
|
|
11
|
-
require("ant-design-vue");
|
|
12
8
|
const useHrefParamsToGlobalVariables = require("../../hooks/useHrefParamsToGlobalVariables.js");
|
|
9
|
+
const index = require("../../node_modules/axios/index.js");
|
|
13
10
|
const _sfc_main = vue.defineComponent({
|
|
14
11
|
name: "EcanProviderConfig",
|
|
15
12
|
inheritAttrs: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderConfig.vue2.js","sources":["../../../src/setting/provider-config/ProviderConfig.vue"],"sourcesContent":["<template>\n <!-- 请勿去除属性id -->\n <div id=\"ProviderConfig\" ref=\"providerConfig\">\n <slot></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, ref, onMounted, watch, computed, unref, onBeforeUnmount } from 'vue'\nimport mitt from 'mitt'\nimport { EVENT_BUS, GLOBAL_CONFIG, GLOBAL_MODEL, REQUEST_MODEL, INDICATOR_URL, GLOBAL_TOKEN, REFRESH_PAGE } from '@/utils/constant'\nimport { providerConfigComponentProps } from './props'\nimport { useVariablesInText, useHrefParamsToGlobalVariables } from '@/hooks'\nimport axios from 'axios'\nimport { RequestModalParam } from '@/utils/types'\n\nexport default defineComponent({\n name: 'EcanProviderConfig',\n inheritAttrs: false,\n props: {\n ...providerConfigComponentProps\n },\n setup (props, { expose }) {\n useHrefParamsToGlobalVariables()\n\n const providerConfig = ref<HTMLElement>()\n const setTheme = () => {\n providerConfig.value.setAttribute('datav-theme', props.theme as string)\n }\n watch(() => props.theme, () => {\n setTheme()\n })\n onMounted(() => {\n setTheme()\n })\n const contextRequestUrl = computed(() => {\n return useVariablesInText(props.contextRequestUrl as string)\n })\n const pageMode = computed(() => props.pageMode)\n const theme = computed(() => props.theme)\n // 当前组件主动触发ID\n const touchEventId = ref<string>('')\n // 提供全局设置\n provide(GLOBAL_CONFIG, {\n // 请求地址\n contextRequestUrl,\n // 模式(设计、预览、正常):目前主要配置初始化是否发起请求\n pageMode,\n // 主题\n theme,\n touchEventId\n })\n\n // 提供全局变量\n const globalModel = new Map()\n const getGlobalModel = (key: string) => {\n return globalModel.get(key)\n }\n const setGlobalModel = (key: string, value: any) => {\n globalModel.set(key, value)\n }\n provide(GLOBAL_MODEL, {\n getGlobalModel,\n setGlobalModel\n })\n\n // 提供事件\n const eventBus = mitt()\n const eventBusKeySet = new Set()\n const onEvent = (key: string, events: { [key:string]: any }) => {\n if (eventBusKeySet.has(key)) {\n eventBus.off(key)\n }\n eventBus.on(key, (k: string) => {\n eventBusKeySet.add(key)\n return Object.prototype.toString.call(events[k]) === '[object Function]' && events[k]()\n })\n onBeforeUnmount(() => {\n eventBus.off(key)\n })\n }\n const offEvent = (key) => {\n eventBus.off(key)\n }\n const emitEvent = (key: string, eventName: string) => {\n eventBus.emit(key, eventName)\n }\n provide(EVENT_BUS, {\n onEvent,\n offEvent,\n emitEvent\n })\n\n // 设置是否请求 token\n const tokenNum = ref(0)\n const requestToken = () => {\n tokenNum.value = unref(tokenNum) + 1\n }\n provide(GLOBAL_TOKEN, {\n requestToken\n })\n // 请求排序\n const requestModel = new Map()\n const requestMap = new Map()\n const setRequest = ({ requestFn = () => {}, sortNum = 0, id = '' }: RequestModalParam) => {\n if (requestModel.has(sortNum)) {\n const requestFnList = requestModel.get(sortNum)\n requestFnList?.push(requestFn)\n } else {\n requestModel.set(sortNum, [requestFn])\n }\n requestMap.set(id, requestFn)\n }\n const handleRequestFnList = (requestFnList: Array<Function>) => {\n return new Promise((resolve, reject) => {\n const resultList = requestFnList.map(requestFn => requestFn())\n Promise.all(resultList)\n .then(list => {\n resolve(list)\n })\n .catch(err => {\n reject(err)\n })\n })\n }\n // 指标库模块请求 token\n const queryUserToken = async () => {\n const res = await axios.get(`${INDICATOR_URL}/user/anonymous?username=admin`, {\n headers: {\n systemCode: 'F72FC50A3D97372514A6AC33333D28FD',\n current_context: 'ygt'\n }\n })\n // 设置 token 挂载在 window.config 上\n // @ts-ignore\n // eslint-disable-next-line\n config.indicatorToken = res.data.data?.token\n }\n const touchRequest = async (id: undefined | string) => {\n // 传空默认触发全部\n if (!id) {\n const requestModelArr = Array.from(requestModel)\n // 排序\n requestModelArr.sort((a, b) => b[0] - a[0])\n const len = requestModelArr.length\n try {\n // 指标库模块需要 token\n // 页面不为design 请求次数 token 不为0\n if (props.pageMode !== 'design' && unref(tokenNum) > 0) {\n await queryUserToken()\n }\n for (let i = 0; i < len; i++) {\n const requestFnList = requestModelArr[i][1]\n await handleRequestFnList(requestFnList)\n }\n } catch (e) {\n console.error(e)\n } finally {\n // 执行完直接清空\n requestModel.clear()\n }\n } else if (typeof id === 'string') {\n const requestFn = requestMap.get(id)\n if (typeof requestFn === 'function') {\n requestFn()\n }\n }\n }\n\n provide(REQUEST_MODEL, {\n setRequest,\n touchRequest\n })\n\n const emitRefreshPage = () => {\n eventBus.emit(REFRESH_PAGE)\n }\n provide(REFRESH_PAGE, {\n emitRefreshPage\n })\n // const notRenderSet = ref(new Set())\n // const refreshEventBus = mitt()\n const onRefreshPage = (callBack: Function) => {\n eventBus.on(REFRESH_PAGE, () => callBack())\n onMounted(() => {\n eventBus.off(REFRESH_PAGE)\n })\n }\n\n onBeforeUnmount(() => {\n requestModel?.clear()\n requestMap?.clear()\n })\n\n expose({\n touchRequest,\n getGlobalModel,\n onRefreshPage\n })\n\n return {\n providerConfig\n }\n }\n})\n</script>\n\n<style scoped>\n\n</style>\n"],"names":["defineComponent","providerConfigComponentProps","props","useHrefParamsToGlobalVariables","ref","watch","onMounted","computed","useVariablesInText","provide","GLOBAL_CONFIG","GLOBAL_MODEL","onBeforeUnmount","EVENT_BUS","unref","GLOBAL_TOKEN","axios","INDICATOR_URL","REQUEST_MODEL","REFRESH_PAGE"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProviderConfig.vue2.js","sources":["../../../src/setting/provider-config/ProviderConfig.vue"],"sourcesContent":["<template>\n <!-- 请勿去除属性id -->\n <div id=\"ProviderConfig\" ref=\"providerConfig\">\n <slot></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, ref, onMounted, watch, computed, unref, onBeforeUnmount } from 'vue'\nimport mitt from 'mitt'\nimport { EVENT_BUS, GLOBAL_CONFIG, GLOBAL_MODEL, REQUEST_MODEL, INDICATOR_URL, GLOBAL_TOKEN, REFRESH_PAGE } from '@/utils/constant'\nimport { providerConfigComponentProps } from './props'\nimport { useVariablesInText, useHrefParamsToGlobalVariables } from '@/hooks'\nimport axios from 'axios'\nimport { RequestModalParam } from '@/utils/types'\n\nexport default defineComponent({\n name: 'EcanProviderConfig',\n inheritAttrs: false,\n props: {\n ...providerConfigComponentProps\n },\n setup (props, { expose }) {\n useHrefParamsToGlobalVariables()\n\n const providerConfig = ref<HTMLElement>()\n const setTheme = () => {\n providerConfig.value.setAttribute('datav-theme', props.theme as string)\n }\n watch(() => props.theme, () => {\n setTheme()\n })\n onMounted(() => {\n setTheme()\n })\n const contextRequestUrl = computed(() => {\n return useVariablesInText(props.contextRequestUrl as string)\n })\n const pageMode = computed(() => props.pageMode)\n const theme = computed(() => props.theme)\n // 当前组件主动触发ID\n const touchEventId = ref<string>('')\n // 提供全局设置\n provide(GLOBAL_CONFIG, {\n // 请求地址\n contextRequestUrl,\n // 模式(设计、预览、正常):目前主要配置初始化是否发起请求\n pageMode,\n // 主题\n theme,\n touchEventId\n })\n\n // 提供全局变量\n const globalModel = new Map()\n const getGlobalModel = (key: string) => {\n return globalModel.get(key)\n }\n const setGlobalModel = (key: string, value: any) => {\n globalModel.set(key, value)\n }\n provide(GLOBAL_MODEL, {\n getGlobalModel,\n setGlobalModel\n })\n\n // 提供事件\n const eventBus = mitt()\n const eventBusKeySet = new Set()\n const onEvent = (key: string, events: { [key:string]: any }) => {\n if (eventBusKeySet.has(key)) {\n eventBus.off(key)\n }\n eventBus.on(key, (k: string) => {\n eventBusKeySet.add(key)\n return Object.prototype.toString.call(events[k]) === '[object Function]' && events[k]()\n })\n onBeforeUnmount(() => {\n eventBus.off(key)\n })\n }\n const offEvent = (key) => {\n eventBus.off(key)\n }\n const emitEvent = (key: string, eventName: string) => {\n eventBus.emit(key, eventName)\n }\n provide(EVENT_BUS, {\n onEvent,\n offEvent,\n emitEvent\n })\n\n // 设置是否请求 token\n const tokenNum = ref(0)\n const requestToken = () => {\n tokenNum.value = unref(tokenNum) + 1\n }\n provide(GLOBAL_TOKEN, {\n requestToken\n })\n // 请求排序\n const requestModel = new Map()\n const requestMap = new Map()\n const setRequest = ({ requestFn = () => {}, sortNum = 0, id = '' }: RequestModalParam) => {\n if (requestModel.has(sortNum)) {\n const requestFnList = requestModel.get(sortNum)\n requestFnList?.push(requestFn)\n } else {\n requestModel.set(sortNum, [requestFn])\n }\n requestMap.set(id, requestFn)\n }\n const handleRequestFnList = (requestFnList: Array<Function>) => {\n return new Promise((resolve, reject) => {\n const resultList = requestFnList.map(requestFn => requestFn())\n Promise.all(resultList)\n .then(list => {\n resolve(list)\n })\n .catch(err => {\n reject(err)\n })\n })\n }\n // 指标库模块请求 token\n const queryUserToken = async () => {\n const res = await axios.get(`${INDICATOR_URL}/user/anonymous?username=admin`, {\n headers: {\n systemCode: 'F72FC50A3D97372514A6AC33333D28FD',\n current_context: 'ygt'\n }\n })\n // 设置 token 挂载在 window.config 上\n // @ts-ignore\n // eslint-disable-next-line\n config.indicatorToken = res.data.data?.token\n }\n const touchRequest = async (id: undefined | string) => {\n // 传空默认触发全部\n if (!id) {\n const requestModelArr = Array.from(requestModel)\n // 排序\n requestModelArr.sort((a, b) => b[0] - a[0])\n const len = requestModelArr.length\n try {\n // 指标库模块需要 token\n // 页面不为design 请求次数 token 不为0\n if (props.pageMode !== 'design' && unref(tokenNum) > 0) {\n await queryUserToken()\n }\n for (let i = 0; i < len; i++) {\n const requestFnList = requestModelArr[i][1]\n await handleRequestFnList(requestFnList)\n }\n } catch (e) {\n console.error(e)\n } finally {\n // 执行完直接清空\n requestModel.clear()\n }\n } else if (typeof id === 'string') {\n const requestFn = requestMap.get(id)\n if (typeof requestFn === 'function') {\n requestFn()\n }\n }\n }\n\n provide(REQUEST_MODEL, {\n setRequest,\n touchRequest\n })\n\n const emitRefreshPage = () => {\n eventBus.emit(REFRESH_PAGE)\n }\n provide(REFRESH_PAGE, {\n emitRefreshPage\n })\n // const notRenderSet = ref(new Set())\n // const refreshEventBus = mitt()\n const onRefreshPage = (callBack: Function) => {\n eventBus.on(REFRESH_PAGE, () => callBack())\n onMounted(() => {\n eventBus.off(REFRESH_PAGE)\n })\n }\n\n onBeforeUnmount(() => {\n requestModel?.clear()\n requestMap?.clear()\n })\n\n expose({\n touchRequest,\n getGlobalModel,\n onRefreshPage\n })\n\n return {\n providerConfig\n }\n }\n})\n</script>\n\n<style scoped>\n\n</style>\n"],"names":["defineComponent","providerConfigComponentProps","props","useHrefParamsToGlobalVariables","ref","watch","onMounted","computed","useVariablesInText","provide","GLOBAL_CONFIG","GLOBAL_MODEL","onBeforeUnmount","EVENT_BUS","unref","GLOBAL_TOKEN","axios","INDICATOR_URL","REQUEST_MODEL","REFRESH_PAGE"],"mappings":"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"}
|
|
@@ -2,10 +2,7 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const withInstall = require("../../utils/withInstall.js");
|
|
4
4
|
const ProviderConfig = require("./ProviderConfig.vue.js");
|
|
5
|
-
const props = require("./props.js");
|
|
6
5
|
const EcanProviderConfig = withInstall.withInstall(ProviderConfig.default);
|
|
7
|
-
exports.providerConfig = props.providerConfig;
|
|
8
|
-
exports.providerConfigComponentProps = props.providerConfigComponentProps;
|
|
9
6
|
exports.EcanProviderConfig = EcanProviderConfig;
|
|
10
7
|
exports.default = EcanProviderConfig;
|
|
11
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/setting/provider-config/index.ts"],"sourcesContent":["import { withInstall } from '@/utils/withInstall'\nimport ProviderConfig from './ProviderConfig.vue'\nexport const EcanProviderConfig = withInstall(ProviderConfig)\nexport default EcanProviderConfig\nexport * from './props'\n"],"names":["withInstall","ProviderConfig"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/setting/provider-config/index.ts"],"sourcesContent":["import { withInstall } from '@/utils/withInstall'\nimport ProviderConfig from './ProviderConfig.vue'\nexport const EcanProviderConfig = withInstall(ProviderConfig)\nexport default EcanProviderConfig\nexport * from './props'\n"],"names":["withInstall","ProviderConfig"],"mappings":";;;;AAEa,MAAA,qBAAqBA,wBAAYC,eAAc,OAAA;;;"}
|
|
@@ -18,15 +18,14 @@ require("../../node_modules/ant-design-vue/es/tree/style/index.less.js");
|
|
|
18
18
|
const usePickComponentStyle = require("../../hooks/usePickComponentStyle.js");
|
|
19
19
|
const useOnEvent = require("../../hooks/useOnEvent.js");
|
|
20
20
|
const useEmitEvent = require("../../hooks/useEmitEvent.js");
|
|
21
|
-
const lodashEs = require("lodash-es");
|
|
22
21
|
const useRequestData = require("../../hooks/useRequestData.js");
|
|
23
|
-
const constant = require("../../utils/constant.js");
|
|
24
22
|
const useVariablesInText = require("../../hooks/useVariablesInText.js");
|
|
25
|
-
require("../../utils/request.js");
|
|
26
23
|
const useIndicatorData = require("../../hooks/useIndicatorData.js");
|
|
27
24
|
const props = require("./props.js");
|
|
28
25
|
const util = require("../../utils/util.js");
|
|
29
|
-
const
|
|
26
|
+
const constant = require("../../utils/constant.js");
|
|
27
|
+
const Skeleton = require("../../common/skeleton/Skeleton.vue.js");
|
|
28
|
+
const lodashEs = require("lodash-es");
|
|
30
29
|
const _sfc_main = vue.defineComponent({
|
|
31
30
|
name: "EcanTable",
|
|
32
31
|
components: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.vue2.js","sources":["../../../src/table/table/Table.vue"],"sourcesContent":["<template>\n <div class=\"ecan-table\" :style=\"style\">\n <skeleton :loading=\"loading\">\n <a-table\n class=\"table\"\n :style=\"{\n height: '100%'\n }\"\n :columns=\"tableColumns\"\n :data-source=\"tableDataSource\"\n :bordered=\"bordered\"\n :size=\"size\"\n :customRow=\"customRow\"\n :scroll=\"{ x, y }\"\n :pagination=\"pagination\"\n @change=\"tableChange\"\n >\n <template #customFilterDropdown=\"{ column, selectedKeys, setSelectedKeys, confirm, clearFilters }\">\n <div\n class=\"ecan-table-filter\"\n :style=\"{\n height: filterDropdownHeight\n }\"\n >\n <a-input\n v-model:value=\"column.filterOptionsInputValue\"\n placeholder=\"请输入关键字\"\n :value=\"selectedKeys[0]\"\n class=\"filter-input\"\n @change=\"onSearchFilterOptions\"\n />\n <a-checkbox-group\n v-model:value=\"column.filterCheckboxGroupValue\"\n class=\"filter-checkbox\"\n :options=\"useFilterOptions(column)\"\n @change=\"useSetSelectedKeys(setSelectedKeys, column)\"\n >\n </a-checkbox-group>\n <div>\n <a-button\n type=\"primary\"\n size=\"small\"\n style=\"width: 90px; margin-right: 8px\"\n @click=\"() => confirm()\"\n >\n 搜索\n </a-button>\n <a-button\n size=\"small\"\n style=\"width: 90px\"\n @click=\"onResetFilter(clearFilters, column)\"\n >\n 重置\n </a-button>\n </div>\n </div>\n </template>\n <template #bodyCell=\"{ column, index, text, record }\">\n <template v-if=\"column.dataIndex === 'SEQ'\">\n <span>{{ index + 1 }}</span>\n </template>\n <!-- 操作列配置 -->\n <template v-if=\"column.dataIndex === 'ACTION'\">\n <div class=\"action-list\">\n <div class=\"action\" v-for=\"(action, index) in actionList\" :key=\"index\">\n <a\n :href=\"handleHref(action.href, record)\"\n :target=\"handleHrefTarget(action.target)\"\n :style=\"{\n color: action.color,\n fontSize,\n fontWeight\n }\"\n @click=\"onTouchHrefEvent(action.target, handleHref(action.href, record))\"\n >\n {{ action.title }}\n </a>\n </div>\n </div>\n </template>\n <template v-else>\n <div\n :class=\"[contrastClass(text, column.format)]\"\n :style=\"{\n fontSize,\n fontWeight\n }\"\n >\n {{ column.format != null ? formatFn(text, column.format) : text }}\n </div>\n </template>\n </template>\n <template #summary>\n <a-table-summary v-if=\"summaryList.length > 0\">\n <a-table-summary-row>\n <a-table-summary-cell\n v-for=\"(summary, index) in summaryList\"\n :key=\"index\"\n :index=\"index\"\n :style=\"{\n backgroundColor: cellBackgroundColor,\n textAlign: summary.cellAlign || 'center',\n color: summary.cellColor,\n borderBottomColor: borderColor,\n }\"\n >\n <div\n :class=\"[contrastClass(summary.total, summary.format)]\"\n :style=\"{\n fontSize,\n fontWeight\n }\"\n >\n {{ (summary.format != null || summary.format !== '') && formatFn(summary.total, summary.format) }}\n </div>\n </a-table-summary-cell>\n </a-table-summary-row>\n </a-table-summary>\n </template>\n </a-table>\n </skeleton>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, unref, ref, watch, inject, reactive } from 'vue'\nimport {\n Input as AInput,\n CheckboxGroup as ACheckboxGroup,\n // Checkbox as ACheckbox,\n Table as ATable,\n TableSummary as ATableSummary,\n TableSummaryRow as ATableSummaryRow,\n TableSummaryCell as ATableSummaryCell\n} from 'ant-design-vue'\nimport 'ant-design-vue/es/input/style'\nimport 'ant-design-vue/es/checkbox/style'\nimport 'ant-design-vue/es/table/style'\nimport {\n usePickComponentStyle,\n useEmitEvent,\n useRequestData,\n useOnEvent,\n useIndicatorData,\n useVariablesInText\n} from '@/hooks'\nimport { tableComponentProps } from './props'\nimport { formatMoney, formatPercentage } from '@/utils/util'\nimport { GLOBAL_CONFIG, GLOBAL_MODEL, REQUEST_MODEL } from '@/utils/constant'\nimport Skeleton from '@/common/skeleton/Skeleton.vue'\nimport { cloneDeep } from 'lodash-es'\nimport { RequestModalParam } from '@/utils/types'\nexport default defineComponent({\n name: 'EcanTable',\n components: {\n Skeleton,\n AInput,\n ACheckboxGroup,\n ATable,\n ATableSummary,\n ATableSummaryRow,\n ATableSummaryCell\n },\n props: {\n ...tableComponentProps\n },\n setup (props, { expose }) {\n const style = usePickComponentStyle(props)\n const splitY = computed(() => {\n if (props.paginationShow) {\n switch (props.size) {\n case 'small':\n return 90\n case 'middle':\n return 100\n default:\n return 120\n }\n } else {\n switch (props.size) {\n case 'small':\n return 40\n case 'middle':\n return 47\n default:\n return 55\n }\n }\n })\n const x = computed(() => props.scrollX)\n const y = computed(() => parseFloat(props.height as string) - unref(splitY))\n const myColumns = ref<{ [key: string]: any } []>([])\n const myDataSource = ref<{ [key: string]: any } []>([])\n const tableColumns = ref<{ [key: string]: any } []>([])\n const tableDataSource = ref<{ [key: string]: any } []>([])\n const total = ref(0)\n const pageNum = ref(1)\n const pageSize = computed(() => props.paginationPageSize as number)\n const filterDataIndexList = reactive([])\n const handleChildrenColumns = (_columns: { [key: string]: any } [] = []) => {\n if (Array.isArray(_columns) && _columns.length > 0) {\n const len = _columns.length\n const columnsFixedNum = props.columnsFixedNum as number\n // 这里的循环为了 props 是引用类型,会造成脏数据(上次修改后,还会存在上次的数据)\n // 如果使用深拷贝会造成性能的浪费,循环来说相对更快\n for (let i = 0; i < len; i++) {\n const column = _columns[i]\n if (i < columnsFixedNum) {\n column.fixed = 'left'\n } else {\n column.fixed = false\n }\n const {\n cellAlign = 'center',\n cellColor,\n dataIndex,\n title,\n tableFilter,\n headerCellAlign,\n headerCellColor\n } = column\n if (tableFilter) {\n filterDataIndexList.push(dataIndex)\n column.filterOptionsInputValue = ''\n column.filterCheckboxGroupValue = []\n column.customFilterDropdown = true\n column.onFilter = (value, record) => record[dataIndex].toString().toLowerCase().includes(value.toLowerCase())\n }\n // 通用配置\n // 头部单元格\n column.customHeaderCell = () => ({\n style: {\n display: 'table-cell',\n verticalAlign: 'middle',\n fontSize: props.headerFontSize,\n fontWeight: props.headerFontWeight,\n textAlign: headerCellAlign || 'center',\n color: headerCellColor,\n borderBottomColor: props.borderColor\n }\n })\n // 表格单元格\n column.customCell = (record, rowIndex) => ({\n style: {\n textAlign: cellAlign,\n color: cellColor,\n backgroundColor: props.cellBackgroundColor,\n borderBottomColor: props.borderColor\n },\n class: {\n highlight: unref(useRowIndex) === rowIndex && props.clickHighlight\n },\n onClick: emitEvent('click', () => {\n const id = props.id as string\n const modal = getGlobalModel(id)\n record = {\n dataIndex,\n title,\n ...record\n }\n // 约定获取数据\n setGlobalModel(id, { ...modal, RECORD: record })\n })\n })\n if (Array.isArray(column.children)) {\n handleChildrenColumns(column.children)\n }\n }\n }\n }\n const handleColumns = (columns: { [key: string]: any } [] = []) => {\n // 复制表头数据\n if (props.isUseSeq) {\n // 添加序号\n columns.unshift({\n title: '序号',\n dataIndex: 'SEQ',\n align: 'center'\n })\n }\n // 添加操作列\n if (props.isUseAction) {\n columns.push({\n title: '操作',\n dataIndex: 'ACTION',\n width: props.actionColumnWidth\n })\n }\n handleChildrenColumns(columns)\n return columns\n }\n watch(() => [\n props.columns,\n props.isUseSeq,\n props.isUseAction,\n props.columnsFixedNum,\n props.actionColumnWidth,\n props.cellBackgroundColor,\n props.borderColor\n ], () => {\n myColumns.value = handleColumns(cloneDeep(props.columns as any []))\n }, {\n immediate: true,\n deep: true\n })\n watch(() => [props.data, props.dataType], ([data, dataType]) => {\n if (dataType !== 'static') return\n myDataSource.value = data as { [key:string]:any } []\n }, {\n immediate: true\n })\n const allFilterOptions = ref({})\n const handleFilterCheckboxOptions = (dataSource: { [key:string]: any } []) => {\n if (Array.isArray(dataSource)) {\n const dataLen = dataSource.length\n const keys = filterDataIndexList\n const keysLen = keys.length\n const filterOptionsMap: { [key:string]: Set<string> } = {}\n for (let i = 0; i < dataLen; i++) {\n const record = dataSource[i]\n for (let j = 0; j < keysLen; j++) {\n const key = keys[j]\n if (filterOptionsMap[key]) {\n filterOptionsMap[key].add(record[key])\n } else {\n const set = new Set<string>()\n set.add(record[key])\n filterOptionsMap[key] = set\n }\n }\n }\n const _allFilterOptions: { [key:string]: { label:string, value: string } [] } = {}\n for (const key in filterOptionsMap) {\n if (Object.prototype.hasOwnProperty.call(filterOptionsMap, key)) {\n const optionsSet = filterOptionsMap[key]\n const options = Array.from(optionsSet)\n _allFilterOptions[key] = options.map((option) => ({ label: option, value: option }))\n }\n }\n allFilterOptions.value = _allFilterOptions\n }\n }\n watch(() => [props.isReverse, myColumns.value, myDataSource.value], () => {\n const _columns = unref(myColumns)\n const _dataSource = unref(myDataSource)\n handleFilterCheckboxOptions(_dataSource)\n if (props.isReverse) {\n const { columns, dataSource } = handleReverseTable(cloneDeep(_columns), cloneDeep(_dataSource))\n tableColumns.value = columns\n tableDataSource.value = dataSource\n } else {\n tableColumns.value = _columns\n tableDataSource.value = _dataSource\n }\n }, {\n immediate: true,\n flush: 'post'\n })\n const handleReverseTable = (columns: { [key:string]: any} [], dataSource: { [key:string]: any} []) => {\n const firstColumns = columns[0]\n const _columns = [{\n title: firstColumns.title,\n dataIndex: 'col0',\n key: 'col0',\n align: 'center'\n }] as { [key:string]: any } []\n for (let i = 0; i < dataSource.length; i++) {\n const data = dataSource[i]\n const dataIndex = 'col' + (i + 1)\n _columns.push({\n title: data[firstColumns.dataIndex],\n dataIndex,\n key: dataIndex,\n align: 'center'\n })\n }\n const _dataSource = [] as { [key:string]: any } []\n for (let i = 1; i < columns.length; i++) {\n const column = columns[i]\n const _data = { col0: column.title }\n for (let j = 0; j < dataSource.length; j++) {\n const data = dataSource[j]\n _data[`col${j + 1}`] = data[column.dataIndex]\n }\n _dataSource.push(_data)\n }\n return {\n columns: _columns,\n dataSource: _dataSource\n }\n }\n const orderCondition = ref<string>('')\n const requestData = useRequestData(props)\n const loading = ref(false)\n const handleRequestData = async (isUseLoading: boolean = true) => {\n try {\n if (isUseLoading) loading.value = true\n // 初始参数:排序\n let params = {} as { [key:string]: any }\n if (unref(orderCondition)) {\n params.orderCondition = unref(orderCondition)\n }\n // 分页\n if (props.paginationShow) {\n params = {\n pageNum: unref(pageNum),\n pageSize: unref(pageSize),\n layer: '1',\n ...params\n }\n }\n const res = await requestData(params)\n const { rows = [], total: tableTotal = 0 } = res?.data?.data || {}\n total.value = tableTotal\n if (Array.isArray(rows)) {\n myDataSource.value = rows\n }\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n const tableChange = ({ current }: { current: number }, _filters, sorter) => {\n pageNum.value = current\n if (sorter && Object.keys(sorter).length > 0) {\n const { field, order } = sorter as { field: string | null, order: 'ascend' | 'descend' }\n const map = {\n ascend: 'asc',\n descend: 'desc'\n }\n const fieldOrder = map[order]\n if (field != null && fieldOrder != null) {\n orderCondition.value = field + ' ' + fieldOrder\n pageNum.value = 1\n }\n }\n refreshData(false)\n }\n const pagination = computed(() => {\n const simple = props.simple\n const position = [props.paginationPosition]\n return props.paginationShow && {\n simple,\n position,\n total: unref(total),\n current: unref(pageNum),\n pageSize: unref(pageSize),\n showSizeChanger: false\n }\n })\n const formatBoolean = (value: string | number) => {\n if (+value === 1) return '是'\n if (+value === 0) return '否'\n return value\n }\n type Format = 'money' | 'percentage' | 'contrast' | 'boolean' | ''\n const formatFn = (value: string | number, format?: Format) => {\n if (format == null || format === '') return value\n const map = {\n money: formatMoney,\n percentage: formatPercentage,\n contrast: formatPercentage,\n boolean: formatBoolean\n }\n return map[format](value) || ''\n }\n const contrastClass = (value: string | number, format: Format) => {\n const _value = parseFloat(value + '')\n if (format !== 'contrast') {\n return ''\n }\n switch (true) {\n case _value >= 0:\n return 'goUp'\n case _value < 0:\n return 'goDown'\n }\n }\n\n const emitEvent = useEmitEvent(props)\n\n const { pageMode } = inject(GLOBAL_CONFIG, {\n pageMode: 'normal'\n })\n\n const { getGlobalModel, setGlobalModel } = inject(GLOBAL_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n getGlobalModel: (key: string) => void 0,\n // @ts-ignore\n // eslint-disable-next-line no-void\n setGlobalModel: (key: string, value: any) => void 0\n })\n\n const handleIndicatorDataset = (dataColumns: any [] = [], dataRows: { [key:string]: any }[] = []) => {\n const _columns = dataColumns.map((column: string) => ({ title: column, dataIndex: column, key: column }))\n myColumns.value = handleColumns(_columns)\n myDataSource.value = dataRows\n }\n\n // 指标库\n const indicatorData = useIndicatorData(props)\n const handleIndicatorData = async () => {\n try {\n loading.value = true\n const res = await indicatorData()\n handleIndicatorDataset(res?.data?.data?.columns, res?.data?.data?.rows)\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n //\n // const customHeaderRow = () => ({\n // style: {\n // backgroundColor: props.headerBackgroundColor\n // }\n // })\n const useRowIndex = ref(-1)\n\n const customRow = (record, index) => ({\n onClick: emitEvent('rowClick', () => {\n const id = props.id as string\n const modal = getGlobalModel(id)\n // 约定获取数据\n setGlobalModel(id, { ...modal, RECORD: record })\n useRowIndex.value = index\n })\n })\n\n const refreshData = (isUseLoading: boolean = true) => {\n if (unref(pageMode) === 'design') return\n switch (props.dataType) {\n case 'request':\n handleRequestData(isUseLoading)\n break\n case 'indicator':\n handleIndicatorData()\n break\n }\n }\n\n const resetRecord = () => {\n const id = props.id as string\n const modal = getGlobalModel(id)\n setGlobalModel(id, { ...modal, RECORD: '' })\n }\n\n useOnEvent(props, {\n resetRecord,\n refreshData\n })\n const summaryList = computed(() => {\n const columns = unref(tableColumns)\n const summaryList = [] as { [key: string]: any } []\n let calcTotalCount = 0\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]\n const { isCalcTotal } = column\n if (props.isUseSeq && i === 0) {\n summaryList.push({\n ...column,\n total: '小计'\n })\n } else if (isCalcTotal) {\n summaryList.push({\n ...column,\n index: i,\n total: 0\n })\n calcTotalCount++\n } else {\n summaryList.push({\n ...column\n })\n }\n }\n // 为空直接返回\n if (calcTotalCount === 0) return []\n const start = (unref(pageNum) - 1) * unref(pageSize)\n const end = start + unref(pageSize)\n const records = unref(tableDataSource).slice(start, end)\n for (let i = 0; i < summaryList.length; i++) {\n const summary = summaryList[i]\n let total: number = 0\n const { isCalcTotal, dataIndex } = summary\n if (isCalcTotal === true) {\n for (let j = 0; j < records.length; j++) {\n const record = records[j]\n const num = record[dataIndex]\n if (!isNaN(num)) {\n total = num + total\n }\n }\n summary.total = total\n }\n }\n return summaryList\n })\n\n const { setRequest } = inject(REQUEST_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n setRequest: ({ id, sortNum, requestFn }: RequestModalParam) => void 0\n })\n\n setRequest({\n id: props.id as string,\n requestFn: refreshData,\n sortNum: props.requestSort as number\n })\n\n expose({\n refreshData\n })\n\n const handleHref = (href: string = '', data: { [key:string]: any }) => {\n return useVariablesInText(href, data)\n }\n\n const handleHrefTarget = (target: 'self' | 'blank' | 'event') => {\n if (target === 'event') {\n return undefined\n } else {\n const map = {\n self: '_self',\n blank: '_blank'\n }\n return map[target]\n }\n }\n\n const onTouchHrefEvent = (target: 'self' | 'blank' | 'event', href: string = '') => {\n if (target === 'event') {\n window.parent.postMessage({\n type: 'openPage',\n url: href\n }, '*')\n }\n }\n\n const useSetSelectedKeys = (setSelectedKeys, column) => {\n setSelectedKeys(column.filterCheckboxGroupValue)\n }\n\n const onResetFilter = (clearFilters, column) => {\n clearFilters({ confirm: true })\n column.filterOptionsInputValue = ''\n column.filterCheckboxGroupValue = []\n }\n const onSearchFilterOptions = () => {}\n const useFilterOptions = (column) => {\n const key = column.dataIndex\n if (typeof key === 'string') {\n let filterOptions = unref(allFilterOptions)[key]\n const _inputValue = unref(column.filterOptionsInputValue).trim()\n if (Array.isArray(filterOptions)) {\n filterOptions = filterOptions.filter((filterOption) => {\n if (typeof filterOption.label === 'string') {\n return filterOption.label.toLowerCase().includes(_inputValue.toLowerCase())\n }\n return true\n })\n return filterOptions\n }\n return []\n }\n return []\n }\n return {\n x,\n y,\n style,\n customRow,\n pagination,\n formatFn,\n contrastClass,\n tableChange,\n summaryList,\n loading,\n onTouchHrefEvent,\n handleHref,\n handleHrefTarget,\n useRowIndex,\n tableColumns,\n tableDataSource,\n useFilterOptions,\n useSetSelectedKeys,\n onResetFilter,\n onSearchFilterOptions\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n.table {\n width: 100%;\n}\n\n.goUp {\n color: #FF512E;\n display: flex;\n align-items: center;\n justify-content: center;\n &:before {\n content: '';\n display: block;\n background-image: url(\"../../assets/go-up.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n}\n\n.goDown {\n color: #39cf93;\n display: flex;\n align-items: center;\n justify-content: center;\n &:before {\n content: '';\n display: block;\n background-image: url(\"../../assets/go-down.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n}\n\n.action-list {\n display: flex;\n width: 100%;\n}\n.action {\n flex: 1;\n}\n\n.filter-input {\n width: 188px;\n margin-bottom: 8px;\n display: block\n}\n\n.filter-checkbox {\n width: 188px;\n margin-bottom: 8px;\n}\n</style>\n\n<style lang=\"less\">\n.ecan-table-filter {\n padding: 8px;\n display: flex;\n flex-direction: column;\n .ant-checkbox-group {\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n }\n\n .ant-checkbox-wrapper {\n width: 100%;\n padding: 5px 0;\n font-size: 16px;\n &:hover {\n background-color: #f5f5f5;\n }\n .ant-checkbox + span {\n width: 100%;\n word-break: break-all;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical\n }\n }\n}\n\n.ecan-table {\n .highlight {\n background: #e6f7ff !important;\n }\n\n *::-webkit-scrollbar {\n //width: 6px;\n //height: 6px;\n }\n\n *::-webkit-scrollbar-thumb {\n border-radius: 3px;\n -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);\n background-color: #c8c9ca !important;\n }\n\n *::-webkit-scrollbar-track {\n background-color: #fff;\n }\n\n .ant-table-cell-scrollbar {\n box-shadow: 0 1px 0 1px transparent;\n }\n\n .ant-table {\n color: rgba(0, 0, 0, .65);\n background: #ffffff;\n }\n\n .ant-table-thead > tr > th {\n color: rgba(0, 0, 0, .85);\n background: #fafafa;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .ant-table-tbody > tr > td {\n border-bottom: 1px solid #f0f0f0;\n }\n\n .ant-table-bordered {\n .ant-table-container {\n border: 1px solid #f0f0f0 !important;\n }\n\n .ant-table-cell {\n border-right: 1px solid #f0f0f0 !important;\n }\n }\n\n .anticon {\n color: #bfbfbf;\n }\n\n}\n\n[datav-theme='darkBlue'] {\n .ecan-table {\n .highlight {\n background: #225b98 !important;\n }\n\n *::-webkit-scrollbar-thumb {\n background-color: #2f4dac !important;\n }\n\n *::-webkit-scrollbar-track {\n background-color: #192c70;\n }\n\n *::-webkit-scrollbar-corner {\n background-color: #192c70 !important;\n }\n .ant-table {\n color: #e8e8e8;\n background: #071655;\n }\n\n .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table,\n .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table {\n border-top: 1px solid #3e8ee3 !important;\n }\n\n .ant-table-thead > tr > th {\n color: #cdd0f7;\n background: #17338c;\n border-bottom: 1px solid #3e8ee3;\n }\n\n .ant-table-tbody > tr > td {\n border-bottom: 1px solid #3e8ee3;\n }\n\n .ant-table-bordered {\n .ant-table-container {\n border: 1px solid #3e8ee3 !important;\n }\n\n .ant-table-cell {\n border-right: 1px solid #3e8ee3 !important;\n }\n }\n\n .ant-pagination-item-link {\n background: #17338c !important;\n }\n\n .ant-pagination-item {\n background: #17338c !important;\n }\n\n .anticon {\n color: rgba(255, 255, 255, .65) !important;\n }\n\n .ant-table-tbody > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td {\n background: #225b98;\n }\n }\n\n td.ant-table-column-sort {\n background: #225b98;\n }\n}\n</style>\n"],"names":["defineComponent","Skeleton","AInput","ACheckboxGroup","ATable","ATableSummary","ATableSummaryRow","ATableSummaryCell","tableComponentProps","props","usePickComponentStyle","computed","unref","ref","reactive","watch","cloneDeep","useRequestData","formatMoney","formatPercentage","useEmitEvent","inject","GLOBAL_CONFIG","GLOBAL_MODEL","useIndicatorData","useOnEvent","summaryList","total","REQUEST_MODEL","useVariablesInText"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Table.vue2.js","sources":["../../../src/table/table/Table.vue"],"sourcesContent":["<template>\n <div class=\"ecan-table\" :style=\"style\">\n <skeleton :loading=\"loading\">\n <a-table\n class=\"table\"\n :style=\"{\n height: '100%'\n }\"\n :columns=\"tableColumns\"\n :data-source=\"tableDataSource\"\n :bordered=\"bordered\"\n :size=\"size\"\n :customRow=\"customRow\"\n :scroll=\"{ x, y }\"\n :pagination=\"pagination\"\n @change=\"tableChange\"\n >\n <template #customFilterDropdown=\"{ column, selectedKeys, setSelectedKeys, confirm, clearFilters }\">\n <div\n class=\"ecan-table-filter\"\n :style=\"{\n height: filterDropdownHeight\n }\"\n >\n <a-input\n v-model:value=\"column.filterOptionsInputValue\"\n placeholder=\"请输入关键字\"\n :value=\"selectedKeys[0]\"\n class=\"filter-input\"\n @change=\"onSearchFilterOptions\"\n />\n <a-checkbox-group\n v-model:value=\"column.filterCheckboxGroupValue\"\n class=\"filter-checkbox\"\n :options=\"useFilterOptions(column)\"\n @change=\"useSetSelectedKeys(setSelectedKeys, column)\"\n >\n </a-checkbox-group>\n <div>\n <a-button\n type=\"primary\"\n size=\"small\"\n style=\"width: 90px; margin-right: 8px\"\n @click=\"() => confirm()\"\n >\n 搜索\n </a-button>\n <a-button\n size=\"small\"\n style=\"width: 90px\"\n @click=\"onResetFilter(clearFilters, column)\"\n >\n 重置\n </a-button>\n </div>\n </div>\n </template>\n <template #bodyCell=\"{ column, index, text, record }\">\n <template v-if=\"column.dataIndex === 'SEQ'\">\n <span>{{ index + 1 }}</span>\n </template>\n <!-- 操作列配置 -->\n <template v-if=\"column.dataIndex === 'ACTION'\">\n <div class=\"action-list\">\n <div class=\"action\" v-for=\"(action, index) in actionList\" :key=\"index\">\n <a\n :href=\"handleHref(action.href, record)\"\n :target=\"handleHrefTarget(action.target)\"\n :style=\"{\n color: action.color,\n fontSize,\n fontWeight\n }\"\n @click=\"onTouchHrefEvent(action.target, handleHref(action.href, record))\"\n >\n {{ action.title }}\n </a>\n </div>\n </div>\n </template>\n <template v-else>\n <div\n :class=\"[contrastClass(text, column.format)]\"\n :style=\"{\n fontSize,\n fontWeight\n }\"\n >\n {{ column.format != null ? formatFn(text, column.format) : text }}\n </div>\n </template>\n </template>\n <template #summary>\n <a-table-summary v-if=\"summaryList.length > 0\">\n <a-table-summary-row>\n <a-table-summary-cell\n v-for=\"(summary, index) in summaryList\"\n :key=\"index\"\n :index=\"index\"\n :style=\"{\n backgroundColor: cellBackgroundColor,\n textAlign: summary.cellAlign || 'center',\n color: summary.cellColor,\n borderBottomColor: borderColor,\n }\"\n >\n <div\n :class=\"[contrastClass(summary.total, summary.format)]\"\n :style=\"{\n fontSize,\n fontWeight\n }\"\n >\n {{ (summary.format != null || summary.format !== '') && formatFn(summary.total, summary.format) }}\n </div>\n </a-table-summary-cell>\n </a-table-summary-row>\n </a-table-summary>\n </template>\n </a-table>\n </skeleton>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, unref, ref, watch, inject, reactive } from 'vue'\nimport {\n Input as AInput,\n CheckboxGroup as ACheckboxGroup,\n // Checkbox as ACheckbox,\n Table as ATable,\n TableSummary as ATableSummary,\n TableSummaryRow as ATableSummaryRow,\n TableSummaryCell as ATableSummaryCell\n} from 'ant-design-vue'\nimport 'ant-design-vue/es/input/style'\nimport 'ant-design-vue/es/checkbox/style'\nimport 'ant-design-vue/es/table/style'\nimport {\n usePickComponentStyle,\n useEmitEvent,\n useRequestData,\n useOnEvent,\n useIndicatorData,\n useVariablesInText\n} from '@/hooks'\nimport { tableComponentProps } from './props'\nimport { formatMoney, formatPercentage } from '@/utils/util'\nimport { GLOBAL_CONFIG, GLOBAL_MODEL, REQUEST_MODEL } from '@/utils/constant'\nimport Skeleton from '@/common/skeleton/Skeleton.vue'\nimport { cloneDeep } from 'lodash-es'\nimport { RequestModalParam } from '@/utils/types'\nexport default defineComponent({\n name: 'EcanTable',\n components: {\n Skeleton,\n AInput,\n ACheckboxGroup,\n ATable,\n ATableSummary,\n ATableSummaryRow,\n ATableSummaryCell\n },\n props: {\n ...tableComponentProps\n },\n setup (props, { expose }) {\n const style = usePickComponentStyle(props)\n const splitY = computed(() => {\n if (props.paginationShow) {\n switch (props.size) {\n case 'small':\n return 90\n case 'middle':\n return 100\n default:\n return 120\n }\n } else {\n switch (props.size) {\n case 'small':\n return 40\n case 'middle':\n return 47\n default:\n return 55\n }\n }\n })\n const x = computed(() => props.scrollX)\n const y = computed(() => parseFloat(props.height as string) - unref(splitY))\n const myColumns = ref<{ [key: string]: any } []>([])\n const myDataSource = ref<{ [key: string]: any } []>([])\n const tableColumns = ref<{ [key: string]: any } []>([])\n const tableDataSource = ref<{ [key: string]: any } []>([])\n const total = ref(0)\n const pageNum = ref(1)\n const pageSize = computed(() => props.paginationPageSize as number)\n const filterDataIndexList = reactive([])\n const handleChildrenColumns = (_columns: { [key: string]: any } [] = []) => {\n if (Array.isArray(_columns) && _columns.length > 0) {\n const len = _columns.length\n const columnsFixedNum = props.columnsFixedNum as number\n // 这里的循环为了 props 是引用类型,会造成脏数据(上次修改后,还会存在上次的数据)\n // 如果使用深拷贝会造成性能的浪费,循环来说相对更快\n for (let i = 0; i < len; i++) {\n const column = _columns[i]\n if (i < columnsFixedNum) {\n column.fixed = 'left'\n } else {\n column.fixed = false\n }\n const {\n cellAlign = 'center',\n cellColor,\n dataIndex,\n title,\n tableFilter,\n headerCellAlign,\n headerCellColor\n } = column\n if (tableFilter) {\n filterDataIndexList.push(dataIndex)\n column.filterOptionsInputValue = ''\n column.filterCheckboxGroupValue = []\n column.customFilterDropdown = true\n column.onFilter = (value, record) => record[dataIndex].toString().toLowerCase().includes(value.toLowerCase())\n }\n // 通用配置\n // 头部单元格\n column.customHeaderCell = () => ({\n style: {\n display: 'table-cell',\n verticalAlign: 'middle',\n fontSize: props.headerFontSize,\n fontWeight: props.headerFontWeight,\n textAlign: headerCellAlign || 'center',\n color: headerCellColor,\n borderBottomColor: props.borderColor\n }\n })\n // 表格单元格\n column.customCell = (record, rowIndex) => ({\n style: {\n textAlign: cellAlign,\n color: cellColor,\n backgroundColor: props.cellBackgroundColor,\n borderBottomColor: props.borderColor\n },\n class: {\n highlight: unref(useRowIndex) === rowIndex && props.clickHighlight\n },\n onClick: emitEvent('click', () => {\n const id = props.id as string\n const modal = getGlobalModel(id)\n record = {\n dataIndex,\n title,\n ...record\n }\n // 约定获取数据\n setGlobalModel(id, { ...modal, RECORD: record })\n })\n })\n if (Array.isArray(column.children)) {\n handleChildrenColumns(column.children)\n }\n }\n }\n }\n const handleColumns = (columns: { [key: string]: any } [] = []) => {\n // 复制表头数据\n if (props.isUseSeq) {\n // 添加序号\n columns.unshift({\n title: '序号',\n dataIndex: 'SEQ',\n align: 'center'\n })\n }\n // 添加操作列\n if (props.isUseAction) {\n columns.push({\n title: '操作',\n dataIndex: 'ACTION',\n width: props.actionColumnWidth\n })\n }\n handleChildrenColumns(columns)\n return columns\n }\n watch(() => [\n props.columns,\n props.isUseSeq,\n props.isUseAction,\n props.columnsFixedNum,\n props.actionColumnWidth,\n props.cellBackgroundColor,\n props.borderColor\n ], () => {\n myColumns.value = handleColumns(cloneDeep(props.columns as any []))\n }, {\n immediate: true,\n deep: true\n })\n watch(() => [props.data, props.dataType], ([data, dataType]) => {\n if (dataType !== 'static') return\n myDataSource.value = data as { [key:string]:any } []\n }, {\n immediate: true\n })\n const allFilterOptions = ref({})\n const handleFilterCheckboxOptions = (dataSource: { [key:string]: any } []) => {\n if (Array.isArray(dataSource)) {\n const dataLen = dataSource.length\n const keys = filterDataIndexList\n const keysLen = keys.length\n const filterOptionsMap: { [key:string]: Set<string> } = {}\n for (let i = 0; i < dataLen; i++) {\n const record = dataSource[i]\n for (let j = 0; j < keysLen; j++) {\n const key = keys[j]\n if (filterOptionsMap[key]) {\n filterOptionsMap[key].add(record[key])\n } else {\n const set = new Set<string>()\n set.add(record[key])\n filterOptionsMap[key] = set\n }\n }\n }\n const _allFilterOptions: { [key:string]: { label:string, value: string } [] } = {}\n for (const key in filterOptionsMap) {\n if (Object.prototype.hasOwnProperty.call(filterOptionsMap, key)) {\n const optionsSet = filterOptionsMap[key]\n const options = Array.from(optionsSet)\n _allFilterOptions[key] = options.map((option) => ({ label: option, value: option }))\n }\n }\n allFilterOptions.value = _allFilterOptions\n }\n }\n watch(() => [props.isReverse, myColumns.value, myDataSource.value], () => {\n const _columns = unref(myColumns)\n const _dataSource = unref(myDataSource)\n handleFilterCheckboxOptions(_dataSource)\n if (props.isReverse) {\n const { columns, dataSource } = handleReverseTable(cloneDeep(_columns), cloneDeep(_dataSource))\n tableColumns.value = columns\n tableDataSource.value = dataSource\n } else {\n tableColumns.value = _columns\n tableDataSource.value = _dataSource\n }\n }, {\n immediate: true,\n flush: 'post'\n })\n const handleReverseTable = (columns: { [key:string]: any} [], dataSource: { [key:string]: any} []) => {\n const firstColumns = columns[0]\n const _columns = [{\n title: firstColumns.title,\n dataIndex: 'col0',\n key: 'col0',\n align: 'center'\n }] as { [key:string]: any } []\n for (let i = 0; i < dataSource.length; i++) {\n const data = dataSource[i]\n const dataIndex = 'col' + (i + 1)\n _columns.push({\n title: data[firstColumns.dataIndex],\n dataIndex,\n key: dataIndex,\n align: 'center'\n })\n }\n const _dataSource = [] as { [key:string]: any } []\n for (let i = 1; i < columns.length; i++) {\n const column = columns[i]\n const _data = { col0: column.title }\n for (let j = 0; j < dataSource.length; j++) {\n const data = dataSource[j]\n _data[`col${j + 1}`] = data[column.dataIndex]\n }\n _dataSource.push(_data)\n }\n return {\n columns: _columns,\n dataSource: _dataSource\n }\n }\n const orderCondition = ref<string>('')\n const requestData = useRequestData(props)\n const loading = ref(false)\n const handleRequestData = async (isUseLoading: boolean = true) => {\n try {\n if (isUseLoading) loading.value = true\n // 初始参数:排序\n let params = {} as { [key:string]: any }\n if (unref(orderCondition)) {\n params.orderCondition = unref(orderCondition)\n }\n // 分页\n if (props.paginationShow) {\n params = {\n pageNum: unref(pageNum),\n pageSize: unref(pageSize),\n layer: '1',\n ...params\n }\n }\n const res = await requestData(params)\n const { rows = [], total: tableTotal = 0 } = res?.data?.data || {}\n total.value = tableTotal\n if (Array.isArray(rows)) {\n myDataSource.value = rows\n }\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n const tableChange = ({ current }: { current: number }, _filters, sorter) => {\n pageNum.value = current\n if (sorter && Object.keys(sorter).length > 0) {\n const { field, order } = sorter as { field: string | null, order: 'ascend' | 'descend' }\n const map = {\n ascend: 'asc',\n descend: 'desc'\n }\n const fieldOrder = map[order]\n if (field != null && fieldOrder != null) {\n orderCondition.value = field + ' ' + fieldOrder\n pageNum.value = 1\n }\n }\n refreshData(false)\n }\n const pagination = computed(() => {\n const simple = props.simple\n const position = [props.paginationPosition]\n return props.paginationShow && {\n simple,\n position,\n total: unref(total),\n current: unref(pageNum),\n pageSize: unref(pageSize),\n showSizeChanger: false\n }\n })\n const formatBoolean = (value: string | number) => {\n if (+value === 1) return '是'\n if (+value === 0) return '否'\n return value\n }\n type Format = 'money' | 'percentage' | 'contrast' | 'boolean' | ''\n const formatFn = (value: string | number, format?: Format) => {\n if (format == null || format === '') return value\n const map = {\n money: formatMoney,\n percentage: formatPercentage,\n contrast: formatPercentage,\n boolean: formatBoolean\n }\n return map[format](value) || ''\n }\n const contrastClass = (value: string | number, format: Format) => {\n const _value = parseFloat(value + '')\n if (format !== 'contrast') {\n return ''\n }\n switch (true) {\n case _value >= 0:\n return 'goUp'\n case _value < 0:\n return 'goDown'\n }\n }\n\n const emitEvent = useEmitEvent(props)\n\n const { pageMode } = inject(GLOBAL_CONFIG, {\n pageMode: 'normal'\n })\n\n const { getGlobalModel, setGlobalModel } = inject(GLOBAL_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n getGlobalModel: (key: string) => void 0,\n // @ts-ignore\n // eslint-disable-next-line no-void\n setGlobalModel: (key: string, value: any) => void 0\n })\n\n const handleIndicatorDataset = (dataColumns: any [] = [], dataRows: { [key:string]: any }[] = []) => {\n const _columns = dataColumns.map((column: string) => ({ title: column, dataIndex: column, key: column }))\n myColumns.value = handleColumns(_columns)\n myDataSource.value = dataRows\n }\n\n // 指标库\n const indicatorData = useIndicatorData(props)\n const handleIndicatorData = async () => {\n try {\n loading.value = true\n const res = await indicatorData()\n handleIndicatorDataset(res?.data?.data?.columns, res?.data?.data?.rows)\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n //\n // const customHeaderRow = () => ({\n // style: {\n // backgroundColor: props.headerBackgroundColor\n // }\n // })\n const useRowIndex = ref(-1)\n\n const customRow = (record, index) => ({\n onClick: emitEvent('rowClick', () => {\n const id = props.id as string\n const modal = getGlobalModel(id)\n // 约定获取数据\n setGlobalModel(id, { ...modal, RECORD: record })\n useRowIndex.value = index\n })\n })\n\n const refreshData = (isUseLoading: boolean = true) => {\n if (unref(pageMode) === 'design') return\n switch (props.dataType) {\n case 'request':\n handleRequestData(isUseLoading)\n break\n case 'indicator':\n handleIndicatorData()\n break\n }\n }\n\n const resetRecord = () => {\n const id = props.id as string\n const modal = getGlobalModel(id)\n setGlobalModel(id, { ...modal, RECORD: '' })\n }\n\n useOnEvent(props, {\n resetRecord,\n refreshData\n })\n const summaryList = computed(() => {\n const columns = unref(tableColumns)\n const summaryList = [] as { [key: string]: any } []\n let calcTotalCount = 0\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]\n const { isCalcTotal } = column\n if (props.isUseSeq && i === 0) {\n summaryList.push({\n ...column,\n total: '小计'\n })\n } else if (isCalcTotal) {\n summaryList.push({\n ...column,\n index: i,\n total: 0\n })\n calcTotalCount++\n } else {\n summaryList.push({\n ...column\n })\n }\n }\n // 为空直接返回\n if (calcTotalCount === 0) return []\n const start = (unref(pageNum) - 1) * unref(pageSize)\n const end = start + unref(pageSize)\n const records = unref(tableDataSource).slice(start, end)\n for (let i = 0; i < summaryList.length; i++) {\n const summary = summaryList[i]\n let total: number = 0\n const { isCalcTotal, dataIndex } = summary\n if (isCalcTotal === true) {\n for (let j = 0; j < records.length; j++) {\n const record = records[j]\n const num = record[dataIndex]\n if (!isNaN(num)) {\n total = num + total\n }\n }\n summary.total = total\n }\n }\n return summaryList\n })\n\n const { setRequest } = inject(REQUEST_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n setRequest: ({ id, sortNum, requestFn }: RequestModalParam) => void 0\n })\n\n setRequest({\n id: props.id as string,\n requestFn: refreshData,\n sortNum: props.requestSort as number\n })\n\n expose({\n refreshData\n })\n\n const handleHref = (href: string = '', data: { [key:string]: any }) => {\n return useVariablesInText(href, data)\n }\n\n const handleHrefTarget = (target: 'self' | 'blank' | 'event') => {\n if (target === 'event') {\n return undefined\n } else {\n const map = {\n self: '_self',\n blank: '_blank'\n }\n return map[target]\n }\n }\n\n const onTouchHrefEvent = (target: 'self' | 'blank' | 'event', href: string = '') => {\n if (target === 'event') {\n window.parent.postMessage({\n type: 'openPage',\n url: href\n }, '*')\n }\n }\n\n const useSetSelectedKeys = (setSelectedKeys, column) => {\n setSelectedKeys(column.filterCheckboxGroupValue)\n }\n\n const onResetFilter = (clearFilters, column) => {\n clearFilters({ confirm: true })\n column.filterOptionsInputValue = ''\n column.filterCheckboxGroupValue = []\n }\n const onSearchFilterOptions = () => {}\n const useFilterOptions = (column) => {\n const key = column.dataIndex\n if (typeof key === 'string') {\n let filterOptions = unref(allFilterOptions)[key]\n const _inputValue = unref(column.filterOptionsInputValue).trim()\n if (Array.isArray(filterOptions)) {\n filterOptions = filterOptions.filter((filterOption) => {\n if (typeof filterOption.label === 'string') {\n return filterOption.label.toLowerCase().includes(_inputValue.toLowerCase())\n }\n return true\n })\n return filterOptions\n }\n return []\n }\n return []\n }\n return {\n x,\n y,\n style,\n customRow,\n pagination,\n formatFn,\n contrastClass,\n tableChange,\n summaryList,\n loading,\n onTouchHrefEvent,\n handleHref,\n handleHrefTarget,\n useRowIndex,\n tableColumns,\n tableDataSource,\n useFilterOptions,\n useSetSelectedKeys,\n onResetFilter,\n onSearchFilterOptions\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n.table {\n width: 100%;\n}\n\n.goUp {\n color: #FF512E;\n display: flex;\n align-items: center;\n justify-content: center;\n &:before {\n content: '';\n display: block;\n background-image: url(\"../../assets/go-up.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n}\n\n.goDown {\n color: #39cf93;\n display: flex;\n align-items: center;\n justify-content: center;\n &:before {\n content: '';\n display: block;\n background-image: url(\"../../assets/go-down.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n}\n\n.action-list {\n display: flex;\n width: 100%;\n}\n.action {\n flex: 1;\n}\n\n.filter-input {\n width: 188px;\n margin-bottom: 8px;\n display: block\n}\n\n.filter-checkbox {\n width: 188px;\n margin-bottom: 8px;\n}\n</style>\n\n<style lang=\"less\">\n.ecan-table-filter {\n padding: 8px;\n display: flex;\n flex-direction: column;\n .ant-checkbox-group {\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n }\n\n .ant-checkbox-wrapper {\n width: 100%;\n padding: 5px 0;\n font-size: 16px;\n &:hover {\n background-color: #f5f5f5;\n }\n .ant-checkbox + span {\n width: 100%;\n word-break: break-all;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical\n }\n }\n}\n\n.ecan-table {\n .highlight {\n background: #e6f7ff !important;\n }\n\n *::-webkit-scrollbar {\n //width: 6px;\n //height: 6px;\n }\n\n *::-webkit-scrollbar-thumb {\n border-radius: 3px;\n -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);\n background-color: #c8c9ca !important;\n }\n\n *::-webkit-scrollbar-track {\n background-color: #fff;\n }\n\n .ant-table-cell-scrollbar {\n box-shadow: 0 1px 0 1px transparent;\n }\n\n .ant-table {\n color: rgba(0, 0, 0, .65);\n background: #ffffff;\n }\n\n .ant-table-thead > tr > th {\n color: rgba(0, 0, 0, .85);\n background: #fafafa;\n border-bottom: 1px solid #f0f0f0;\n }\n\n .ant-table-tbody > tr > td {\n border-bottom: 1px solid #f0f0f0;\n }\n\n .ant-table-bordered {\n .ant-table-container {\n border: 1px solid #f0f0f0 !important;\n }\n\n .ant-table-cell {\n border-right: 1px solid #f0f0f0 !important;\n }\n }\n\n .anticon {\n color: #bfbfbf;\n }\n\n}\n\n[datav-theme='darkBlue'] {\n .ecan-table {\n .highlight {\n background: #225b98 !important;\n }\n\n *::-webkit-scrollbar-thumb {\n background-color: #2f4dac !important;\n }\n\n *::-webkit-scrollbar-track {\n background-color: #192c70;\n }\n\n *::-webkit-scrollbar-corner {\n background-color: #192c70 !important;\n }\n .ant-table {\n color: #e8e8e8;\n background: #071655;\n }\n\n .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table,\n .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table {\n border-top: 1px solid #3e8ee3 !important;\n }\n\n .ant-table-thead > tr > th {\n color: #cdd0f7;\n background: #17338c;\n border-bottom: 1px solid #3e8ee3;\n }\n\n .ant-table-tbody > tr > td {\n border-bottom: 1px solid #3e8ee3;\n }\n\n .ant-table-bordered {\n .ant-table-container {\n border: 1px solid #3e8ee3 !important;\n }\n\n .ant-table-cell {\n border-right: 1px solid #3e8ee3 !important;\n }\n }\n\n .ant-pagination-item-link {\n background: #17338c !important;\n }\n\n .ant-pagination-item {\n background: #17338c !important;\n }\n\n .anticon {\n color: rgba(255, 255, 255, .65) !important;\n }\n\n .ant-table-tbody > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td {\n background: #225b98;\n }\n }\n\n td.ant-table-column-sort {\n background: #225b98;\n }\n}\n</style>\n"],"names":["defineComponent","Skeleton","AInput","ACheckboxGroup","ATable","ATableSummary","ATableSummaryRow","ATableSummaryCell","tableComponentProps","props","usePickComponentStyle","computed","unref","ref","reactive","watch","cloneDeep","useRequestData","formatMoney","formatPercentage","useEmitEvent","inject","GLOBAL_CONFIG","GLOBAL_MODEL","useIndicatorData","useOnEvent","summaryList","total","REQUEST_MODEL","useVariablesInText"],"mappings":"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"}
|
package/lib/table/table/index.js
CHANGED
|
@@ -2,11 +2,7 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const withInstall = require("../../utils/withInstall.js");
|
|
4
4
|
const Table = require("./Table.vue.js");
|
|
5
|
-
const props = require("./props.js");
|
|
6
5
|
const EcanTable = withInstall.withInstall(Table.default);
|
|
7
|
-
exports.tableComponentProps = props.tableComponentProps;
|
|
8
|
-
exports.tableEvents = props.tableEvents;
|
|
9
|
-
exports.tableProps = props.tableProps;
|
|
10
6
|
exports.EcanTable = EcanTable;
|
|
11
7
|
exports.default = EcanTable;
|
|
12
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/table/table/index.ts"],"sourcesContent":["import { withInstall } from '@/utils/withInstall'\nimport Table from './Table.vue'\nexport const EcanTable = withInstall(Table)\nexport default EcanTable\nexport * from './props'\n"],"names":["withInstall","Table"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/table/table/index.ts"],"sourcesContent":["import { withInstall } from '@/utils/withInstall'\nimport Table from './Table.vue'\nexport const EcanTable = withInstall(Table)\nexport default EcanTable\nexport * from './props'\n"],"names":["withInstall","Table"],"mappings":";;;;AAEa,MAAA,YAAYA,wBAAYC,MAAK,OAAA;;;"}
|
|
@@ -5,13 +5,10 @@ const props = require("./props.js");
|
|
|
5
5
|
const usePickComponentStyle = require("../../hooks/usePickComponentStyle.js");
|
|
6
6
|
const useOnEvent = require("../../hooks/useOnEvent.js");
|
|
7
7
|
const useEmitEvent = require("../../hooks/useEmitEvent.js");
|
|
8
|
-
require("lodash-es");
|
|
9
8
|
const useRequestData = require("../../hooks/useRequestData.js");
|
|
10
|
-
const constant = require("../../utils/constant.js");
|
|
11
|
-
require("../../utils/request.js");
|
|
12
|
-
require("ant-design-vue");
|
|
13
9
|
const util = require("../../utils/util.js");
|
|
14
|
-
const
|
|
10
|
+
const constant = require("../../utils/constant.js");
|
|
11
|
+
const Skeleton = require("../../common/skeleton/Skeleton.vue.js");
|
|
15
12
|
const _sfc_main = vue.defineComponent({
|
|
16
13
|
name: "EcanList",
|
|
17
14
|
components: { Skeleton: Skeleton.default },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.vue2.js","sources":["../../../src/text/list/List.vue"],"sourcesContent":["<template>\n <div class=\"ecan-list\" :style=\"style\">\n <skeleton :loading=\"loading\">\n <div\n class=\"title\"\n v-if=\"useTitle\"\n >\n <div\n class=\"title-inner\"\n :style=\"{\n backgroundColor: backgroundColor,\n height: itemHeight,\n width: `calc(100% / ${columnCount} - ${itemColSpan} * ${columnCount - 1}/ ${columnCount})`,\n marginRight: count % columnCount !== 0 ? itemColSpan : ''\n }\"\n v-for=\"count in columnCount\"\n :key=\"count\"\n >\n <div class=\"ranking\" v-if=\"useRanking\" />\n <div\n class=\"column\"\n v-for=\"(column, i) in columns\"\n :key=\"column.key || i\"\n :style=\"{\n color: column.titleColor,\n ...columnStyle\n }\"\n >\n {{ column.title }}\n </div>\n </div>\n </div>\n <div class=\"ecan-list-content\" v-if=\"dataSource.length > 0\">\n <div\n class=\"title-placeholder\"\n :style=\"{\n marginBottom: itemRowSpan\n }\"\n v-if=\"useTitle\"\n />\n <div\n class=\"item\"\n :style=\"{\n backgroundColor: backgroundColor,\n height: itemHeight,\n width: `calc(100% / ${columnCount} - ${itemColSpan} * ${columnCount - 1} / ${columnCount})`,\n marginRight: (i + 1) % columnCount !== 0 ? itemColSpan : '',\n marginBottom: itemRowSpan\n }\"\n v-for=\"(item, i) in dataSource.slice(0, sliceCount)\"\n :key=\"item.id || i\"\n @click=\"click\"\n >\n <div class=\"ranking\" v-if=\"useRanking\">\n <div class=\"icon\"/>\n <div class=\"sort\">\n Top {{ i + 1 }}\n </div>\n </div>\n <div\n :class=\"['column', contrastClass(item[column.key], column.format)]\"\n v-for=\"column in columns\"\n :key=\"column.key\"\n :style=\"{\n fontSize: column.fontSize,\n color: contrastClass(item[column.key], column.format) === '' ? column.color : '',\n fontWeight: column.fontWeight,\n ...columnStyle\n }\"\n >\n {{ (column.format != null || column.format !== '') && formatFn(item[column.key], column.format) }}\n </div>\n </div>\n </div>\n <div class=\"empty\" v-else>\n 暂无数据\n </div>\n </skeleton>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, unref } from 'vue'\nimport { listComponentProps, ListEvents } from './props'\nimport { useEmitEvent, useOnEvent, usePickComponentStyle, useRequestData } from '@/hooks'\nimport { formatMoney, formatPercentage } from '@/utils/util'\nimport { GLOBAL_CONFIG, REQUEST_MODEL } from '@/utils/constant'\nimport { RequestModalParam } from '@/utils/types'\nimport Skeleton from '@/common/skeleton'\nexport default defineComponent({\n name: 'EcanList',\n components: { Skeleton },\n props: {\n ...listComponentProps\n },\n setup (props) {\n const dataSource = ref<{[key:string]: any} []>(props.data as {[key:string]: any} [])\n const style = usePickComponentStyle(props, ['backgroundColor'])\n const columnStyle = computed(() => {\n if (props.useRanking) {\n return {\n textAlign: 'center'\n }\n } else {\n return {\n textAlign: 'left'\n }\n }\n })\n type Format = 'money' | 'percentage' | 'contrast' | ''\n const formatFn = (value: string | number, format?: Format) => {\n if (format == null || format === '') return value\n const map = {\n money: formatMoney,\n percentage: formatPercentage,\n contrast: formatPercentage\n }\n return map[format](value) || ''\n }\n const contrastClass = (value: string | number, format: Format) => {\n const _value = parseFloat(value + '')\n if (format !== 'contrast') {\n return ''\n }\n switch (true) {\n case _value >= 0:\n return 'goUp'\n case _value < 0:\n return 'goDown'\n }\n }\n const requestData = useRequestData(props)\n const { pageMode } = inject(GLOBAL_CONFIG, {\n pageMode: 'normal'\n })\n const loading = ref(false)\n const handleRequestData = async () => {\n if (props.dataType !== 'request' || unref(pageMode) === 'design') return\n\n try {\n loading.value = true\n const res = await requestData()\n dataSource.value = res?.data?.data.rows || []\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n\n const refreshData = () => {\n handleRequestData()\n }\n\n const emitEvent = useEmitEvent(props)\n\n const click = emitEvent('click', () => {})\n\n useOnEvent(props, {\n refreshData\n } as ListEvents)\n\n const { setRequest } = inject(REQUEST_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n setRequest: ({ id, sortNum, requestFn }: RequestModalParam) => void 0\n })\n setRequest({\n id: props.id as string,\n requestFn: handleRequestData,\n sortNum: props.requestSort as number\n })\n return {\n style,\n formatFn,\n columnStyle,\n contrastClass,\n dataSource,\n loading,\n click\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n .ecan-list {\n overflow: hidden;\n }\n .ecan-list-content {\n width: 100%;\n height: 100%;\n overflow: auto;\n display: flex;\n align-content: flex-start;\n flex-wrap: wrap;\n }\n .title {\n position: absolute;\n z-index: 9;\n display: flex;\n align-items: center;\n height: 32px;\n width: 100%;\n font-size: 16px;\n color: #ffffff;\n }\n .title-inner {\n padding-left: 28px;\n padding-right: 20px;\n flex: 1;\n display: flex;\n height: 100%;\n }\n .title-placeholder {\n width: 100%;\n height: 32px;\n }\n .item {\n display: flex;\n align-items: center;\n height: 32px;\n padding-left: 28px;\n padding-right: 20px;\n width: 100%;\n font-size: 16px;\n color: #ffffff;\n }\n .column {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .ranking {\n flex: 1;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .icon {\n width: 12px;\n height: 8px;\n background: #21BEF7;\n margin-right: 17px;\n opacity: .6;\n }\n .item:nth-child(2) .icon {\n opacity: .8;\n }\n .item:first-child .icon{\n opacity: 1;\n }\n .sort {\n font-weight: 600;\n }\n .goUp {\n color: #FF512E;\n display: flex;\n align-items: center;\n &:before {\n content: '';\n display: block;\n background: url(\"../../assets/go-up.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n }\n\n .goDown {\n color: #39cf93;\n display: flex;\n align-items: center;\n &:before {\n content: '';\n display: block;\n background: url(\"../../assets/go-down.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n }\n .empty {\n text-align: center;\n margin-top: 15%;\n }\n</style>\n\n<style lang=\"less\">\n.ecan-list {\n *::-webkit-scrollbar-track {\n background-color: #fff;\n }\n\n .ant-table-cell-scrollbar {\n box-shadow: 0 1px 0 1px transparent;\n }\n *::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n *::-webkit-scrollbar-thumb {\n border-radius: 6px;\n -webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);\n background-color: #c8c9ca;\n }\n}\n[datav-theme='darkBlue'] {\n .ecan-list {\n *::-webkit-scrollbar-thumb {\n background-color: #2f4dac !important;\n }\n *::-webkit-scrollbar-track{\n background-color: #192c70;\n }\n *::-webkit-scrollbar-corner {\n background-color: #192c70 !important;\n }\n .empty {\n color: #ffffff;\n }\n }\n}\n</style>\n"],"names":["defineComponent","Skeleton","listComponentProps","props","ref","usePickComponentStyle","computed","formatMoney","formatPercentage","useRequestData","inject","GLOBAL_CONFIG","unref","useEmitEvent","useOnEvent","REQUEST_MODEL"],"mappings":";;;;;;;;;;;;;;AAyFA,MAAA,YAAeA,oBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY,EAAEC,UAAAA,SAAAA,QAAS;AAAA,EACvB,OAAO;AAAA,IACL,GAAGC,MAAA;AAAA,EACL;AAAA,EACA,MAAOC,QAAO;AACN,UAAA,aAAaC,IAAAA,IAA4BD,OAAM,IAA8B;AACnF,UAAM,QAAQE,sBAAA,sBAAsBF,QAAO,CAAC,iBAAiB,CAAC;AACxD,UAAA,cAAcG,IAAAA,SAAS,MAAM;AACjC,UAAIH,OAAM,YAAY;AACb,eAAA;AAAA,UACL,WAAW;AAAA,QAAA;AAAA,MACb,OACK;AACE,eAAA;AAAA,UACL,WAAW;AAAA,QAAA;AAAA,MAEf;AAAA,IAAA,CACD;AAEK,UAAA,WAAW,CAAC,OAAwB,WAAoB;AACxD,UAAA,UAAU,QAAQ,WAAW;AAAW,eAAA;AAC5C,YAAM,MAAM;AAAA,QACV,OAAOI,KAAA;AAAA,QACP,YAAYC,KAAA;AAAA,QACZ,UAAUA,KAAA;AAAA,MAAA;AAEZ,aAAO,IAAI,MAAM,EAAE,KAAK,KAAK;AAAA,IAAA;AAEzB,UAAA,gBAAgB,CAAC,OAAwB,WAAmB;AAC1D,YAAA,SAAS,WAAW,QAAQ,EAAE;AACpC,UAAI,WAAW,YAAY;AAClB,eAAA;AAAA,MACT;AACA,cAAQ,MAAM;AAAA,QACZ,KAAK,UAAU;AACN,iBAAA;AAAA,QACT,KAAK,SAAS;AACL,iBAAA;AAAA,MACX;AAAA,IAAA;AAEI,UAAA,cAAcC,8BAAeN,MAAK;AACxC,UAAM,EAAE,SAAA,IAAaO,IAAA,OAAOC,wBAAe;AAAA,MACzC,UAAU;AAAA,IAAA,CACX;AACK,UAAA,UAAUP,QAAI,KAAK;AACzB,UAAM,oBAAoB,YAAY;;AACpC,UAAID,OAAM,aAAa,aAAaS,IAAAA,MAAM,QAAQ,MAAM;AAAU;AAE9D,UAAA;AACF,gBAAQ,QAAQ;AACV,cAAA,MAAM,MAAM;AAClB,mBAAW,UAAQ,gCAAK,SAAL,mBAAW,KAAK,SAAQ;eACpC;AACP,gBAAQ,MAAM,CAAC;AAAA,MAAA,UACf;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAGF,UAAM,cAAc,MAAM;AACN;IAAA;AAGd,UAAA,YAAYC,0BAAaV,MAAK;AAE9B,UAAA,QAAQ,UAAU,SAAS,MAAM;AAAA,IAAA,CAAE;AAEzCW,eAAAA,WAAWX,QAAO;AAAA,MAChB;AAAA,IAAA,CACa;AAEf,UAAM,EAAE,WAAA,IAAeO,IAAA,OAAOK,wBAAe;AAAA;AAAA;AAAA,MAG3C,YAAY,CAAC,EAAE,IAAI,SAAS,gBAAmC;AAAA,IAAA,CAChE;AACU,eAAA;AAAA,MACT,IAAIZ,OAAM;AAAA,MACV,WAAW;AAAA,MACX,SAASA,OAAM;AAAA,IAAA,CAChB;AACM,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;"}
|
|
1
|
+
{"version":3,"file":"List.vue2.js","sources":["../../../src/text/list/List.vue"],"sourcesContent":["<template>\n <div class=\"ecan-list\" :style=\"style\">\n <skeleton :loading=\"loading\">\n <div\n class=\"title\"\n v-if=\"useTitle\"\n >\n <div\n class=\"title-inner\"\n :style=\"{\n backgroundColor: backgroundColor,\n height: itemHeight,\n width: `calc(100% / ${columnCount} - ${itemColSpan} * ${columnCount - 1}/ ${columnCount})`,\n marginRight: count % columnCount !== 0 ? itemColSpan : ''\n }\"\n v-for=\"count in columnCount\"\n :key=\"count\"\n >\n <div class=\"ranking\" v-if=\"useRanking\" />\n <div\n class=\"column\"\n v-for=\"(column, i) in columns\"\n :key=\"column.key || i\"\n :style=\"{\n color: column.titleColor,\n ...columnStyle\n }\"\n >\n {{ column.title }}\n </div>\n </div>\n </div>\n <div class=\"ecan-list-content\" v-if=\"dataSource.length > 0\">\n <div\n class=\"title-placeholder\"\n :style=\"{\n marginBottom: itemRowSpan\n }\"\n v-if=\"useTitle\"\n />\n <div\n class=\"item\"\n :style=\"{\n backgroundColor: backgroundColor,\n height: itemHeight,\n width: `calc(100% / ${columnCount} - ${itemColSpan} * ${columnCount - 1} / ${columnCount})`,\n marginRight: (i + 1) % columnCount !== 0 ? itemColSpan : '',\n marginBottom: itemRowSpan\n }\"\n v-for=\"(item, i) in dataSource.slice(0, sliceCount)\"\n :key=\"item.id || i\"\n @click=\"click\"\n >\n <div class=\"ranking\" v-if=\"useRanking\">\n <div class=\"icon\"/>\n <div class=\"sort\">\n Top {{ i + 1 }}\n </div>\n </div>\n <div\n :class=\"['column', contrastClass(item[column.key], column.format)]\"\n v-for=\"column in columns\"\n :key=\"column.key\"\n :style=\"{\n fontSize: column.fontSize,\n color: contrastClass(item[column.key], column.format) === '' ? column.color : '',\n fontWeight: column.fontWeight,\n ...columnStyle\n }\"\n >\n {{ (column.format != null || column.format !== '') && formatFn(item[column.key], column.format) }}\n </div>\n </div>\n </div>\n <div class=\"empty\" v-else>\n 暂无数据\n </div>\n </skeleton>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, unref } from 'vue'\nimport { listComponentProps, ListEvents } from './props'\nimport { useEmitEvent, useOnEvent, usePickComponentStyle, useRequestData } from '@/hooks'\nimport { formatMoney, formatPercentage } from '@/utils/util'\nimport { GLOBAL_CONFIG, REQUEST_MODEL } from '@/utils/constant'\nimport { RequestModalParam } from '@/utils/types'\nimport Skeleton from '@/common/skeleton'\nexport default defineComponent({\n name: 'EcanList',\n components: { Skeleton },\n props: {\n ...listComponentProps\n },\n setup (props) {\n const dataSource = ref<{[key:string]: any} []>(props.data as {[key:string]: any} [])\n const style = usePickComponentStyle(props, ['backgroundColor'])\n const columnStyle = computed(() => {\n if (props.useRanking) {\n return {\n textAlign: 'center'\n }\n } else {\n return {\n textAlign: 'left'\n }\n }\n })\n type Format = 'money' | 'percentage' | 'contrast' | ''\n const formatFn = (value: string | number, format?: Format) => {\n if (format == null || format === '') return value\n const map = {\n money: formatMoney,\n percentage: formatPercentage,\n contrast: formatPercentage\n }\n return map[format](value) || ''\n }\n const contrastClass = (value: string | number, format: Format) => {\n const _value = parseFloat(value + '')\n if (format !== 'contrast') {\n return ''\n }\n switch (true) {\n case _value >= 0:\n return 'goUp'\n case _value < 0:\n return 'goDown'\n }\n }\n const requestData = useRequestData(props)\n const { pageMode } = inject(GLOBAL_CONFIG, {\n pageMode: 'normal'\n })\n const loading = ref(false)\n const handleRequestData = async () => {\n if (props.dataType !== 'request' || unref(pageMode) === 'design') return\n\n try {\n loading.value = true\n const res = await requestData()\n dataSource.value = res?.data?.data.rows || []\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n\n const refreshData = () => {\n handleRequestData()\n }\n\n const emitEvent = useEmitEvent(props)\n\n const click = emitEvent('click', () => {})\n\n useOnEvent(props, {\n refreshData\n } as ListEvents)\n\n const { setRequest } = inject(REQUEST_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n setRequest: ({ id, sortNum, requestFn }: RequestModalParam) => void 0\n })\n setRequest({\n id: props.id as string,\n requestFn: handleRequestData,\n sortNum: props.requestSort as number\n })\n return {\n style,\n formatFn,\n columnStyle,\n contrastClass,\n dataSource,\n loading,\n click\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n .ecan-list {\n overflow: hidden;\n }\n .ecan-list-content {\n width: 100%;\n height: 100%;\n overflow: auto;\n display: flex;\n align-content: flex-start;\n flex-wrap: wrap;\n }\n .title {\n position: absolute;\n z-index: 9;\n display: flex;\n align-items: center;\n height: 32px;\n width: 100%;\n font-size: 16px;\n color: #ffffff;\n }\n .title-inner {\n padding-left: 28px;\n padding-right: 20px;\n flex: 1;\n display: flex;\n height: 100%;\n }\n .title-placeholder {\n width: 100%;\n height: 32px;\n }\n .item {\n display: flex;\n align-items: center;\n height: 32px;\n padding-left: 28px;\n padding-right: 20px;\n width: 100%;\n font-size: 16px;\n color: #ffffff;\n }\n .column {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .ranking {\n flex: 1;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .icon {\n width: 12px;\n height: 8px;\n background: #21BEF7;\n margin-right: 17px;\n opacity: .6;\n }\n .item:nth-child(2) .icon {\n opacity: .8;\n }\n .item:first-child .icon{\n opacity: 1;\n }\n .sort {\n font-weight: 600;\n }\n .goUp {\n color: #FF512E;\n display: flex;\n align-items: center;\n &:before {\n content: '';\n display: block;\n background: url(\"../../assets/go-up.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n }\n\n .goDown {\n color: #39cf93;\n display: flex;\n align-items: center;\n &:before {\n content: '';\n display: block;\n background: url(\"../../assets/go-down.png\");\n width: 12px;\n height: 12px;\n background-repeat: no-repeat;\n background-size: cover;\n margin-right: 2px;\n }\n }\n .empty {\n text-align: center;\n margin-top: 15%;\n }\n</style>\n\n<style lang=\"less\">\n.ecan-list {\n *::-webkit-scrollbar-track {\n background-color: #fff;\n }\n\n .ant-table-cell-scrollbar {\n box-shadow: 0 1px 0 1px transparent;\n }\n *::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n *::-webkit-scrollbar-thumb {\n border-radius: 6px;\n -webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);\n background-color: #c8c9ca;\n }\n}\n[datav-theme='darkBlue'] {\n .ecan-list {\n *::-webkit-scrollbar-thumb {\n background-color: #2f4dac !important;\n }\n *::-webkit-scrollbar-track{\n background-color: #192c70;\n }\n *::-webkit-scrollbar-corner {\n background-color: #192c70 !important;\n }\n .empty {\n color: #ffffff;\n }\n }\n}\n</style>\n"],"names":["defineComponent","Skeleton","listComponentProps","props","ref","usePickComponentStyle","computed","formatMoney","formatPercentage","useRequestData","inject","GLOBAL_CONFIG","unref","useEmitEvent","useOnEvent","REQUEST_MODEL"],"mappings":";;;;;;;;;;;AAyFA,MAAA,YAAeA,oBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY,EAAEC,UAAAA,SAAAA,QAAS;AAAA,EACvB,OAAO;AAAA,IACL,GAAGC,MAAA;AAAA,EACL;AAAA,EACA,MAAOC,QAAO;AACN,UAAA,aAAaC,IAAAA,IAA4BD,OAAM,IAA8B;AACnF,UAAM,QAAQE,sBAAA,sBAAsBF,QAAO,CAAC,iBAAiB,CAAC;AACxD,UAAA,cAAcG,IAAAA,SAAS,MAAM;AACjC,UAAIH,OAAM,YAAY;AACb,eAAA;AAAA,UACL,WAAW;AAAA,QAAA;AAAA,MACb,OACK;AACE,eAAA;AAAA,UACL,WAAW;AAAA,QAAA;AAAA,MAEf;AAAA,IAAA,CACD;AAEK,UAAA,WAAW,CAAC,OAAwB,WAAoB;AACxD,UAAA,UAAU,QAAQ,WAAW;AAAW,eAAA;AAC5C,YAAM,MAAM;AAAA,QACV,OAAOI,KAAA;AAAA,QACP,YAAYC,KAAA;AAAA,QACZ,UAAUA,KAAA;AAAA,MAAA;AAEZ,aAAO,IAAI,MAAM,EAAE,KAAK,KAAK;AAAA,IAAA;AAEzB,UAAA,gBAAgB,CAAC,OAAwB,WAAmB;AAC1D,YAAA,SAAS,WAAW,QAAQ,EAAE;AACpC,UAAI,WAAW,YAAY;AAClB,eAAA;AAAA,MACT;AACA,cAAQ,MAAM;AAAA,QACZ,KAAK,UAAU;AACN,iBAAA;AAAA,QACT,KAAK,SAAS;AACL,iBAAA;AAAA,MACX;AAAA,IAAA;AAEI,UAAA,cAAcC,8BAAeN,MAAK;AACxC,UAAM,EAAE,SAAA,IAAaO,IAAA,OAAOC,wBAAe;AAAA,MACzC,UAAU;AAAA,IAAA,CACX;AACK,UAAA,UAAUP,QAAI,KAAK;AACzB,UAAM,oBAAoB,YAAY;;AACpC,UAAID,OAAM,aAAa,aAAaS,IAAAA,MAAM,QAAQ,MAAM;AAAU;AAE9D,UAAA;AACF,gBAAQ,QAAQ;AACV,cAAA,MAAM,MAAM;AAClB,mBAAW,UAAQ,gCAAK,SAAL,mBAAW,KAAK,SAAQ;eACpC;AACP,gBAAQ,MAAM,CAAC;AAAA,MAAA,UACf;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAGF,UAAM,cAAc,MAAM;AACN;IAAA;AAGd,UAAA,YAAYC,0BAAaV,MAAK;AAE9B,UAAA,QAAQ,UAAU,SAAS,MAAM;AAAA,IAAA,CAAE;AAEzCW,eAAAA,WAAWX,QAAO;AAAA,MAChB;AAAA,IAAA,CACa;AAEf,UAAM,EAAE,WAAA,IAAeO,IAAA,OAAOK,wBAAe;AAAA;AAAA;AAAA,MAG3C,YAAY,CAAC,EAAE,IAAI,SAAS,gBAAmC;AAAA,IAAA,CAChE;AACU,eAAA;AAAA,MACT,IAAIZ,OAAM;AAAA,MACV,WAAW;AAAA,MACX,SAASA,OAAM;AAAA,IAAA,CAChB;AACM,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;"}
|
package/lib/text/list/index.js
CHANGED
|
@@ -2,11 +2,7 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const withInstall = require("../../utils/withInstall.js");
|
|
4
4
|
const List = require("./List.vue.js");
|
|
5
|
-
const props = require("./props.js");
|
|
6
5
|
const EcanList = withInstall.withInstall(List.default);
|
|
7
|
-
exports.listComponentProps = props.listComponentProps;
|
|
8
|
-
exports.listEvents = props.listEvents;
|
|
9
|
-
exports.listProps = props.listProps;
|
|
10
6
|
exports.EcanList = EcanList;
|
|
11
7
|
exports.default = EcanList;
|
|
12
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/text/list/index.ts"],"sourcesContent":["import { withInstall } from '../../utils/withInstall'\nimport List from './List.vue'\nexport const EcanList = withInstall(List)\nexport default EcanList\nexport * from './props'\n"],"names":["withInstall","List"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/text/list/index.ts"],"sourcesContent":["import { withInstall } from '../../utils/withInstall'\nimport List from './List.vue'\nexport const EcanList = withInstall(List)\nexport default EcanList\nexport * from './props'\n"],"names":["withInstall","List"],"mappings":";;;;AAEa,MAAA,WAAWA,wBAAYC,KAAI,OAAA;;;"}
|
|
@@ -7,12 +7,10 @@ const antDesignVue = require("ant-design-vue");
|
|
|
7
7
|
const usePickComponentStyle = require("../../hooks/usePickComponentStyle.js");
|
|
8
8
|
const useOnEvent = require("../../hooks/useOnEvent.js");
|
|
9
9
|
const useEmitEvent = require("../../hooks/useEmitEvent.js");
|
|
10
|
-
require("lodash-es");
|
|
11
10
|
const useRequestData = require("../../hooks/useRequestData.js");
|
|
12
|
-
const constant = require("../../utils/constant.js");
|
|
13
|
-
require("../../utils/request.js");
|
|
14
11
|
const props = require("./props.js");
|
|
15
|
-
const
|
|
12
|
+
const constant = require("../../utils/constant.js");
|
|
13
|
+
const Skeleton = require("../../common/skeleton/Skeleton.vue.js");
|
|
16
14
|
const _sfc_main = vue.defineComponent({
|
|
17
15
|
name: "EcanProportion",
|
|
18
16
|
components: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Proportion.vue2.js","sources":["../../../src/text/proportion/Proportion.vue"],"sourcesContent":["<template>\n <div class=\"ecan-proportion\" :style=\"style\">\n <a-progress\n class=\"progress\"\n :percent=\"myValue\"\n :width=\"myWidth\"\n :type=\"strokeType\"\n :strokeColor=\"strokeColor\"\n :strokeLinecap=\"strokeLinecap\"\n :trailColor=\"trailColor\"\n :strokeWidth=\"strokeWidth\"\n :gapDegree=\"strokeType === 'dashboard' ? 75 : 0\"\n @click=\"click\"\n >\n <template #format>\n <skeleton v-if=\"loading\" :loading=\"loading\"/>\n <div\n v-else\n class=\"format\"\n :style=\"{\n width: strokeTextWidth,\n fontSize,\n color,\n fontWeight,\n lineHeight\n }\">\n {{ text }}\n </div>\n </template>\n </a-progress>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, unref, watch } from 'vue'\nimport 'ant-design-vue/es/progress/style'\nimport { Progress as AProgress } from 'ant-design-vue'\nimport { useEmitEvent, useOnEvent, usePickComponentStyle, useRequestData } from '@/hooks'\nimport { proportionComponentProps } from './props'\nimport { GLOBAL_CONFIG, REQUEST_MODEL } from '@/utils/constant'\nimport Skeleton from '../../common/skeleton'\nimport { RequestModalParam } from '@/utils/types'\nexport default defineComponent({\n name: 'EcanProportion',\n components: {\n AProgress,\n Skeleton\n },\n props: {\n ...proportionComponentProps\n },\n setup (props) {\n const { pageMode } = inject(GLOBAL_CONFIG, {\n pageMode: 'normal'\n })\n const style = usePickComponentStyle(props)\n const myWidth = computed(() => {\n const width = props.width as string\n return parseFloat(width)\n })\n const myData = ref<{ [key:string]: any }>({})\n watch(() => props.data, () => {\n if (props.dataType === 'static' || unref(pageMode) === 'design') {\n myData.value = props.data as { [key:string]: any }\n }\n }, {\n immediate: true,\n deep: true\n })\n const myValue = computed(() => {\n const data = unref(myData)\n const defaultValue = +(props.variableDefaultValue)\n if (data == null) {\n if (!isNaN(defaultValue)) {\n return defaultValue\n } else {\n return 0\n }\n }\n const variables = (props.text as string).match(/\\{.+\\}/g) || []\n let value\n const valueSet = new Set(Object.keys(data))\n for (let i = 0; i < variables.length; i++) {\n const variable = variables[i]\n const key = variable.slice(1, variable.length - 1)\n if (valueSet.has(key)) {\n value = data[key]\n break\n }\n }\n\n if (typeof value === 'number') {\n value = value * 100\n } else if (typeof value === 'string' && !isNaN(+value)) {\n value = (+value) * 100\n } else if (!isNaN(defaultValue)) {\n value = defaultValue * 100\n } else {\n value = 0\n }\n\n if (props.decimalFormat) {\n value = +value.toFixed(2)\n }\n return value\n })\n const text = computed(() => {\n let text = props.text as string\n if (text === '') return unref(myValue)\n const defaultValue = props.variableDefaultValue as string // 变量默认值\n const data = unref(myData) // { a: 1, b: 2 }\n const variables = (text).match(/\\{.+\\}/g) || []\n for (let i = 0; i < variables.length; i++) {\n const variable = variables[i]\n let statement = variable.slice(1, variable.length - 1) // { a - b} => a - b\n const textVariables = statement.match(/.*/g) // a - b => [a,b]\n for (let j = 0; j < textVariables?.length; j++) { // \"1 - 2\"\n const textVariable = textVariables[i]?.trim()\n if (data[textVariable] != null) {\n statement = statement.replace(textVariable, data[textVariable])\n } else {\n statement = statement.replace(textVariable, defaultValue)\n }\n }\n // 匹配加减乘除\n let usedVariable:number | string = statement\n // 运行表达式\n try {\n if ((/\\w+[+\\-*/%]+\\w+/g).test(statement)) {\n // eslint-disable-next-line no-eval\n const eval2 = eval\n usedVariable = eval2(statement)\n }\n } catch (e) {\n console.error(e)\n }\n if (typeof usedVariable === 'number' || !isNaN(+usedVariable)) {\n usedVariable = (+usedVariable * 100)\n if (props.decimalFormat) {\n usedVariable = usedVariable.toFixed(2)\n }\n }\n text = text.replace(variable, usedVariable + '')\n }\n return text\n })\n const requestData = useRequestData(props)\n const loading = ref(false)\n const handleRequestData = async () => {\n if (props.dataType !== 'request' || unref(pageMode) === 'design') return\n try {\n loading.value = true\n const res = await requestData()\n myData.value = res?.data?.data || {}\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n const refreshData = () => {\n handleRequestData()\n }\n useOnEvent(props, {\n refreshData\n })\n\n const emitEvent = useEmitEvent(props)\n\n const click = emitEvent('click', () => {})\n\n const { setRequest } = inject(REQUEST_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n setRequest: ({ id, sortNum, requestFn }: RequestModalParam) => void 0\n })\n\n setRequest({\n id: props.id as string,\n requestFn: handleRequestData,\n sortNum: props.requestSort as number\n })\n\n return {\n style,\n myWidth,\n text,\n myValue,\n loading,\n click\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n.ecan-proportion {\n overflow: hidden;\n}\n\n.progress {\n width: 100%;\n height: 100%;\n}\n\n.format {\n margin: 0 auto;\n}\n</style>\n"],"names":["defineComponent","AProgress","Skeleton","proportionComponentProps","props","inject","GLOBAL_CONFIG","usePickComponentStyle","computed","ref","watch","unref","text","useRequestData","useOnEvent","useEmitEvent","REQUEST_MODEL"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Proportion.vue2.js","sources":["../../../src/text/proportion/Proportion.vue"],"sourcesContent":["<template>\n <div class=\"ecan-proportion\" :style=\"style\">\n <a-progress\n class=\"progress\"\n :percent=\"myValue\"\n :width=\"myWidth\"\n :type=\"strokeType\"\n :strokeColor=\"strokeColor\"\n :strokeLinecap=\"strokeLinecap\"\n :trailColor=\"trailColor\"\n :strokeWidth=\"strokeWidth\"\n :gapDegree=\"strokeType === 'dashboard' ? 75 : 0\"\n @click=\"click\"\n >\n <template #format>\n <skeleton v-if=\"loading\" :loading=\"loading\"/>\n <div\n v-else\n class=\"format\"\n :style=\"{\n width: strokeTextWidth,\n fontSize,\n color,\n fontWeight,\n lineHeight\n }\">\n {{ text }}\n </div>\n </template>\n </a-progress>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, unref, watch } from 'vue'\nimport 'ant-design-vue/es/progress/style'\nimport { Progress as AProgress } from 'ant-design-vue'\nimport { useEmitEvent, useOnEvent, usePickComponentStyle, useRequestData } from '@/hooks'\nimport { proportionComponentProps } from './props'\nimport { GLOBAL_CONFIG, REQUEST_MODEL } from '@/utils/constant'\nimport Skeleton from '../../common/skeleton'\nimport { RequestModalParam } from '@/utils/types'\nexport default defineComponent({\n name: 'EcanProportion',\n components: {\n AProgress,\n Skeleton\n },\n props: {\n ...proportionComponentProps\n },\n setup (props) {\n const { pageMode } = inject(GLOBAL_CONFIG, {\n pageMode: 'normal'\n })\n const style = usePickComponentStyle(props)\n const myWidth = computed(() => {\n const width = props.width as string\n return parseFloat(width)\n })\n const myData = ref<{ [key:string]: any }>({})\n watch(() => props.data, () => {\n if (props.dataType === 'static' || unref(pageMode) === 'design') {\n myData.value = props.data as { [key:string]: any }\n }\n }, {\n immediate: true,\n deep: true\n })\n const myValue = computed(() => {\n const data = unref(myData)\n const defaultValue = +(props.variableDefaultValue)\n if (data == null) {\n if (!isNaN(defaultValue)) {\n return defaultValue\n } else {\n return 0\n }\n }\n const variables = (props.text as string).match(/\\{.+\\}/g) || []\n let value\n const valueSet = new Set(Object.keys(data))\n for (let i = 0; i < variables.length; i++) {\n const variable = variables[i]\n const key = variable.slice(1, variable.length - 1)\n if (valueSet.has(key)) {\n value = data[key]\n break\n }\n }\n\n if (typeof value === 'number') {\n value = value * 100\n } else if (typeof value === 'string' && !isNaN(+value)) {\n value = (+value) * 100\n } else if (!isNaN(defaultValue)) {\n value = defaultValue * 100\n } else {\n value = 0\n }\n\n if (props.decimalFormat) {\n value = +value.toFixed(2)\n }\n return value\n })\n const text = computed(() => {\n let text = props.text as string\n if (text === '') return unref(myValue)\n const defaultValue = props.variableDefaultValue as string // 变量默认值\n const data = unref(myData) // { a: 1, b: 2 }\n const variables = (text).match(/\\{.+\\}/g) || []\n for (let i = 0; i < variables.length; i++) {\n const variable = variables[i]\n let statement = variable.slice(1, variable.length - 1) // { a - b} => a - b\n const textVariables = statement.match(/.*/g) // a - b => [a,b]\n for (let j = 0; j < textVariables?.length; j++) { // \"1 - 2\"\n const textVariable = textVariables[i]?.trim()\n if (data[textVariable] != null) {\n statement = statement.replace(textVariable, data[textVariable])\n } else {\n statement = statement.replace(textVariable, defaultValue)\n }\n }\n // 匹配加减乘除\n let usedVariable:number | string = statement\n // 运行表达式\n try {\n if ((/\\w+[+\\-*/%]+\\w+/g).test(statement)) {\n // eslint-disable-next-line no-eval\n const eval2 = eval\n usedVariable = eval2(statement)\n }\n } catch (e) {\n console.error(e)\n }\n if (typeof usedVariable === 'number' || !isNaN(+usedVariable)) {\n usedVariable = (+usedVariable * 100)\n if (props.decimalFormat) {\n usedVariable = usedVariable.toFixed(2)\n }\n }\n text = text.replace(variable, usedVariable + '')\n }\n return text\n })\n const requestData = useRequestData(props)\n const loading = ref(false)\n const handleRequestData = async () => {\n if (props.dataType !== 'request' || unref(pageMode) === 'design') return\n try {\n loading.value = true\n const res = await requestData()\n myData.value = res?.data?.data || {}\n } catch (e) {\n console.error(e)\n } finally {\n loading.value = false\n }\n }\n const refreshData = () => {\n handleRequestData()\n }\n useOnEvent(props, {\n refreshData\n })\n\n const emitEvent = useEmitEvent(props)\n\n const click = emitEvent('click', () => {})\n\n const { setRequest } = inject(REQUEST_MODEL, {\n // @ts-ignore\n // eslint-disable-next-line no-void\n setRequest: ({ id, sortNum, requestFn }: RequestModalParam) => void 0\n })\n\n setRequest({\n id: props.id as string,\n requestFn: handleRequestData,\n sortNum: props.requestSort as number\n })\n\n return {\n style,\n myWidth,\n text,\n myValue,\n loading,\n click\n }\n }\n})\n</script>\n\n<style scoped lang=\"less\">\n.ecan-proportion {\n overflow: hidden;\n}\n\n.progress {\n width: 100%;\n height: 100%;\n}\n\n.format {\n margin: 0 auto;\n}\n</style>\n"],"names":["defineComponent","AProgress","Skeleton","proportionComponentProps","props","inject","GLOBAL_CONFIG","usePickComponentStyle","computed","ref","watch","unref","text","useRequestData","useOnEvent","useEmitEvent","REQUEST_MODEL"],"mappings":"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"}
|
|
@@ -2,11 +2,7 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const withInstall = require("../../utils/withInstall.js");
|
|
4
4
|
const Proportion = require("./Proportion.vue.js");
|
|
5
|
-
const props = require("./props.js");
|
|
6
5
|
const EcanProportion = withInstall.withInstall(Proportion.default);
|
|
7
|
-
exports.proportionComponentProps = props.proportionComponentProps;
|
|
8
|
-
exports.proportionEvents = props.proportionEvents;
|
|
9
|
-
exports.proportionProps = props.proportionProps;
|
|
10
6
|
exports.EcanProportion = EcanProportion;
|
|
11
7
|
exports.default = EcanProportion;
|
|
12
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/text/proportion/index.ts"],"sourcesContent":["import { withInstall } from '@/utils/withInstall'\nimport Proportion from './Proportion.vue'\nexport const EcanProportion = withInstall(Proportion)\nexport default EcanProportion\nexport * from './props'\n"],"names":["withInstall","Proportion"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/text/proportion/index.ts"],"sourcesContent":["import { withInstall } from '@/utils/withInstall'\nimport Proportion from './Proportion.vue'\nexport const EcanProportion = withInstall(Proportion)\nexport default EcanProportion\nexport * from './props'\n"],"names":["withInstall","Proportion"],"mappings":";;;;AAEa,MAAA,iBAAiBA,wBAAYC,WAAU,OAAA;;;"}
|
|
@@ -5,17 +5,14 @@ const props = require("./props.js");
|
|
|
5
5
|
const usePickComponentStyle = require("../../hooks/usePickComponentStyle.js");
|
|
6
6
|
const useOnEvent = require("../../hooks/useOnEvent.js");
|
|
7
7
|
const useEmitEvent = require("../../hooks/useEmitEvent.js");
|
|
8
|
-
require("lodash-es");
|
|
9
8
|
const useRequestData = require("../../hooks/useRequestData.js");
|
|
10
9
|
const usePageUrl = require("../../hooks/usePageUrl.js");
|
|
11
10
|
const useVariablesInText = require("../../hooks/useVariablesInText.js");
|
|
12
11
|
const constant = require("../../utils/constant.js");
|
|
13
|
-
require("../../
|
|
14
|
-
require("ant-design-vue");
|
|
15
|
-
const util = require("../../utils/util.js");
|
|
16
|
-
const Skeleton = require("../../common/skeleton/Skeleton.vue2.js");
|
|
12
|
+
const Skeleton = require("../../common/skeleton/Skeleton.vue.js");
|
|
17
13
|
const goUp = require("../../assets/go-up.png.js");
|
|
18
14
|
const goDown = require("../../assets/go-down.png.js");
|
|
15
|
+
const util = require("../../utils/util.js");
|
|
19
16
|
const _sfc_main = vue.defineComponent({
|
|
20
17
|
name: "EcanText",
|
|
21
18
|
components: { Skeleton: Skeleton.default },
|