@ecan-bi/datav 1.1.22 → 1.1.24
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 +619 -615
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +6 -6
- package/dist/index.umd.js.map +1 -1
- package/dist/style.css +3 -2
- 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 +29 -19
- package/es/common/spin/Spin.vue.js.map +1 -1
- package/es/common/spin/Spin.vue2.js +2 -29
- package/es/common/spin/Spin.vue2.js.map +1 -1
- package/es/common/spin/Spin.vue3.js +19 -2
- package/es/common/spin/Spin.vue3.js.map +1 -1
- package/es/common/spin/index.js +1 -1
- package/es/components.js +30 -25
- package/es/components.js.map +1 -1
- package/es/container/border/Border.vue.js.map +1 -1
- package/es/container/border/Border.vue2.js +4 -0
- package/es/container/border/Border.vue2.js.map +1 -1
- package/es/container/border/index.js +4 -0
- package/es/container/border/index.js.map +1 -1
- package/es/container/border/props.js +1 -1
- package/es/container/modal/Modal.vue.js.map +1 -1
- package/es/container/modal/Modal.vue2.js +4 -1
- package/es/container/modal/Modal.vue2.js.map +1 -1
- package/es/container/modal/index.js +5 -1
- package/es/container/modal/index.js.map +1 -1
- package/es/container/tabs/Tabs.vue.js.map +1 -1
- package/es/container/tabs/Tabs.vue2.js +5 -1
- package/es/container/tabs/Tabs.vue2.js.map +1 -1
- package/es/container/tabs/index.js +5 -1
- package/es/container/tabs/index.js.map +1 -1
- package/es/container/tabs/props.js +1 -1
- package/es/control/button/Button.vue.js.map +1 -1
- package/es/control/button/Button.vue2.js +4 -0
- package/es/control/button/Button.vue2.js.map +1 -1
- package/es/control/button/index.js +4 -0
- package/es/control/button/index.js.map +1 -1
- package/es/control/button/props.js +1 -1
- package/es/control/checkbox/Checkbox.vue.js.map +1 -1
- package/es/control/checkbox/Checkbox.vue2.js +3 -1
- package/es/control/checkbox/Checkbox.vue2.js.map +1 -1
- package/es/control/checkbox/index.js +4 -0
- package/es/control/checkbox/index.js.map +1 -1
- package/es/control/checkbox/props.js +1 -1
- package/es/control/date-picker/DatePicker.vue.js.map +1 -1
- package/es/control/date-picker/DatePicker.vue2.js +4 -1
- package/es/control/date-picker/DatePicker.vue2.js.map +1 -1
- package/es/control/date-picker/index.js +4 -0
- package/es/control/date-picker/index.js.map +1 -1
- package/es/control/date-picker/props.js +1 -1
- package/es/control/input/Input.vue.js.map +1 -1
- package/es/control/input/Input.vue2.js +4 -2
- package/es/control/input/Input.vue2.js.map +1 -1
- package/es/control/input/index.js +5 -1
- package/es/control/input/index.js.map +1 -1
- package/es/control/input/props.js +1 -1
- package/es/control/range-picker/RangePicker.vue.js.map +1 -1
- package/es/control/range-picker/RangePicker.vue2.js +4 -1
- package/es/control/range-picker/RangePicker.vue2.js.map +1 -1
- package/es/control/range-picker/index.js +5 -1
- package/es/control/range-picker/index.js.map +1 -1
- package/es/control/range-picker/props.js +1 -1
- package/es/control/select/Select.vue.js.map +1 -1
- package/es/control/select/Select.vue2.js +2 -0
- package/es/control/select/Select.vue2.js.map +1 -1
- package/es/control/select/index.js +5 -1
- package/es/control/select/index.js.map +1 -1
- package/es/control/select/props.js +1 -1
- package/es/graph/bar/Bar.vue.js.map +1 -1
- package/es/graph/bar/Bar.vue2.js +5 -4
- package/es/graph/bar/Bar.vue2.js.map +1 -1
- package/es/graph/bar/index.js +4 -0
- package/es/graph/bar/index.js.map +1 -1
- package/es/graph/bar/props.js +1 -1
- package/es/graph/combo-graph/ComboGraph.vue.js.map +1 -1
- package/es/graph/combo-graph/ComboGraph.vue2.js +4 -3
- package/es/graph/combo-graph/ComboGraph.vue2.js.map +1 -1
- package/es/graph/combo-graph/index.js +4 -0
- 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.vue.js.map +1 -1
- package/es/graph/custom-graph/CustomGraph.vue2.js +5 -0
- package/es/graph/custom-graph/CustomGraph.vue2.js.map +1 -1
- package/es/graph/custom-graph/index.js +3 -0
- package/es/graph/custom-graph/index.js.map +1 -1
- package/es/graph/custom-graph/props.js +1 -1
- package/es/graph/line/Line.vue.js.map +1 -1
- package/es/graph/line/Line.vue2.js +4 -3
- package/es/graph/line/Line.vue2.js.map +1 -1
- package/es/graph/line/index.js +5 -1
- package/es/graph/line/index.js.map +1 -1
- package/es/graph/line/props.js +1 -1
- package/es/graph/pie/Pie.vue.js.map +1 -1
- package/es/graph/pie/Pie.vue2.js +6 -5
- package/es/graph/pie/Pie.vue2.js.map +1 -1
- package/es/graph/pie/index.js +5 -1
- package/es/graph/pie/index.js.map +1 -1
- package/es/graph/pie/props.js +1 -1
- package/es/graph/scatter/Scatter.vue.js.map +1 -1
- package/es/graph/scatter/Scatter.vue2.js +6 -4
- package/es/graph/scatter/Scatter.vue2.js.map +1 -1
- package/es/graph/scatter/index.js +5 -1
- package/es/graph/scatter/index.js.map +1 -1
- package/es/graph/scatter/props.js +1 -1
- package/es/hooks/useDownloadFile.js +1 -2
- package/es/hooks/useDownloadFile.js.map +1 -1
- package/es/index.js +0 -11218
- package/es/map/map/Map.vue.js.map +1 -1
- package/es/map/map/Map.vue2.js +5 -1
- package/es/map/map/Map.vue2.js.map +1 -1
- package/es/map/map/index.js +4 -1
- package/es/map/map/index.js.map +1 -1
- package/es/map/map/props.js +1 -1
- package/es/media/iframe/Iframe.vue.js.map +1 -1
- package/es/media/iframe/Iframe.vue2.js +5 -1
- package/es/media/iframe/Iframe.vue2.js.map +1 -1
- package/es/media/iframe/index.js +4 -1
- package/es/media/iframe/index.js.map +1 -1
- package/es/media/iframe/props.js +1 -1
- package/es/media/image/Image.vue.js.map +1 -1
- package/es/media/image/Image.vue2.js +6 -2
- package/es/media/image/Image.vue2.js.map +1 -1
- package/es/media/image/index.js +4 -1
- 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 +1 -2
- package/es/node_modules/zrender/lib/animation/Animator.js.map +1 -1
- package/es/node_modules/zrender/lib/core/util.js +2 -0
- 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.vue.js.map +1 -1
- package/es/setting/page-config/PageConfig.vue2.js +4 -0
- package/es/setting/page-config/PageConfig.vue2.js.map +1 -1
- package/es/setting/page-config/index.js +4 -1
- package/es/setting/page-config/index.js.map +1 -1
- package/es/setting/provider-config/ProviderConfig.vue.js.map +1 -1
- package/es/setting/provider-config/ProviderConfig.vue2.js +4 -1
- package/es/setting/provider-config/ProviderConfig.vue2.js.map +1 -1
- package/es/setting/provider-config/index.js +4 -1
- package/es/setting/provider-config/index.js.map +1 -1
- package/es/table/table/Table.vue.js +1 -1
- package/es/table/table/Table.vue.js.map +1 -1
- package/es/table/table/Table.vue2.js +12 -10
- package/es/table/table/Table.vue2.js.map +1 -1
- package/es/table/table/Table.vue3.js +2 -2
- package/es/table/table/index.js +5 -1
- package/es/table/table/index.js.map +1 -1
- package/es/table/table/props.js +1 -1
- package/es/text/list/List.vue.js.map +1 -1
- package/es/text/list/List.vue2.js +5 -2
- package/es/text/list/List.vue2.js.map +1 -1
- package/es/text/list/index.js +5 -1
- package/es/text/list/index.js.map +1 -1
- package/es/text/list/props.js +1 -1
- package/es/text/proportion/Proportion.vue.js.map +1 -1
- package/es/text/proportion/Proportion.vue2.js +4 -2
- package/es/text/proportion/Proportion.vue2.js.map +1 -1
- package/es/text/proportion/index.js +5 -1
- package/es/text/proportion/index.js.map +1 -1
- package/es/text/proportion/props.js +1 -1
- package/es/text/scroll-text/ScrollText.vue2.js.map +1 -1
- package/es/text/text/Text.vue.js +1 -1
- package/es/text/text/Text.vue.js.map +1 -1
- package/es/text/text/Text.vue2.js +5 -2
- package/es/text/text/Text.vue2.js.map +1 -1
- package/es/text/text/Text.vue3.js +2 -2
- package/es/text/text/index.js +5 -1
- package/es/text/text/index.js.map +1 -1
- package/es/text/text/props.js +1 -1
- package/es/text/time-display/TimeDisplay.vue.js.map +1 -1
- package/es/text/time-display/TimeDisplay.vue2.js +5 -0
- package/es/text/time-display/TimeDisplay.vue2.js.map +1 -1
- package/es/text/time-display/index.js +4 -1
- 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 +28 -18
- package/lib/common/spin/Spin.vue.js.map +1 -1
- package/lib/common/spin/Spin.vue2.js +2 -29
- package/lib/common/spin/Spin.vue2.js.map +1 -1
- package/lib/common/spin/Spin.vue3.js +19 -2
- package/lib/common/spin/Spin.vue3.js.map +1 -1
- package/lib/common/spin/index.js +1 -1
- package/lib/components.js +56 -51
- package/lib/components.js.map +1 -1
- package/lib/container/border/Border.vue.js.map +1 -1
- package/lib/container/border/Border.vue2.js +4 -0
- package/lib/container/border/Border.vue2.js.map +1 -1
- package/lib/container/border/index.js +4 -0
- package/lib/container/border/index.js.map +1 -1
- package/lib/container/modal/Modal.vue.js.map +1 -1
- package/lib/container/modal/Modal.vue2.js +4 -1
- package/lib/container/modal/Modal.vue2.js.map +1 -1
- package/lib/container/modal/index.js +4 -0
- package/lib/container/modal/index.js.map +1 -1
- package/lib/container/tabs/Tabs.vue.js.map +1 -1
- package/lib/container/tabs/Tabs.vue2.js +5 -1
- package/lib/container/tabs/Tabs.vue2.js.map +1 -1
- package/lib/container/tabs/index.js +4 -0
- package/lib/container/tabs/index.js.map +1 -1
- package/lib/control/button/Button.vue.js.map +1 -1
- package/lib/control/button/Button.vue2.js +4 -0
- package/lib/control/button/Button.vue2.js.map +1 -1
- package/lib/control/button/index.js +4 -0
- package/lib/control/button/index.js.map +1 -1
- package/lib/control/checkbox/Checkbox.vue.js.map +1 -1
- package/lib/control/checkbox/Checkbox.vue2.js +3 -1
- package/lib/control/checkbox/Checkbox.vue2.js.map +1 -1
- package/lib/control/checkbox/index.js +4 -0
- package/lib/control/checkbox/index.js.map +1 -1
- package/lib/control/date-picker/DatePicker.vue.js.map +1 -1
- package/lib/control/date-picker/DatePicker.vue2.js +4 -1
- package/lib/control/date-picker/DatePicker.vue2.js.map +1 -1
- package/lib/control/date-picker/index.js +4 -0
- package/lib/control/date-picker/index.js.map +1 -1
- package/lib/control/input/Input.vue.js.map +1 -1
- package/lib/control/input/Input.vue2.js +4 -2
- package/lib/control/input/Input.vue2.js.map +1 -1
- package/lib/control/input/index.js +4 -0
- package/lib/control/input/index.js.map +1 -1
- package/lib/control/range-picker/RangePicker.vue.js.map +1 -1
- package/lib/control/range-picker/RangePicker.vue2.js +4 -1
- package/lib/control/range-picker/RangePicker.vue2.js.map +1 -1
- package/lib/control/range-picker/index.js +4 -0
- package/lib/control/range-picker/index.js.map +1 -1
- package/lib/control/select/Select.vue.js.map +1 -1
- package/lib/control/select/Select.vue2.js +2 -0
- package/lib/control/select/Select.vue2.js.map +1 -1
- package/lib/control/select/index.js +4 -0
- package/lib/control/select/index.js.map +1 -1
- package/lib/graph/bar/Bar.vue.js.map +1 -1
- package/lib/graph/bar/Bar.vue2.js +5 -4
- package/lib/graph/bar/Bar.vue2.js.map +1 -1
- package/lib/graph/bar/index.js +4 -0
- package/lib/graph/bar/index.js.map +1 -1
- package/lib/graph/combo-graph/ComboGraph.vue.js.map +1 -1
- package/lib/graph/combo-graph/ComboGraph.vue2.js +4 -3
- package/lib/graph/combo-graph/ComboGraph.vue2.js.map +1 -1
- package/lib/graph/combo-graph/index.js +4 -0
- package/lib/graph/combo-graph/index.js.map +1 -1
- package/lib/graph/custom-graph/CustomGraph.vue.js.map +1 -1
- package/lib/graph/custom-graph/CustomGraph.vue2.js +5 -0
- package/lib/graph/custom-graph/CustomGraph.vue2.js.map +1 -1
- package/lib/graph/custom-graph/index.js +3 -0
- package/lib/graph/custom-graph/index.js.map +1 -1
- package/lib/graph/line/Line.vue.js.map +1 -1
- package/lib/graph/line/Line.vue2.js +4 -3
- package/lib/graph/line/Line.vue2.js.map +1 -1
- package/lib/graph/line/index.js +4 -0
- package/lib/graph/line/index.js.map +1 -1
- package/lib/graph/pie/Pie.vue.js.map +1 -1
- package/lib/graph/pie/Pie.vue2.js +6 -5
- package/lib/graph/pie/Pie.vue2.js.map +1 -1
- package/lib/graph/pie/index.js +4 -0
- package/lib/graph/pie/index.js.map +1 -1
- package/lib/graph/scatter/Scatter.vue.js.map +1 -1
- package/lib/graph/scatter/Scatter.vue2.js +6 -4
- package/lib/graph/scatter/Scatter.vue2.js.map +1 -1
- package/lib/graph/scatter/index.js +4 -0
- package/lib/graph/scatter/index.js.map +1 -1
- package/lib/hooks/useDownloadFile.js +1 -2
- package/lib/hooks/useDownloadFile.js.map +1 -1
- package/lib/index.js +0 -11218
- package/lib/map/map/Map.vue.js.map +1 -1
- package/lib/map/map/Map.vue2.js +5 -1
- package/lib/map/map/Map.vue2.js.map +1 -1
- package/lib/map/map/index.js +3 -0
- package/lib/map/map/index.js.map +1 -1
- package/lib/media/iframe/Iframe.vue.js.map +1 -1
- package/lib/media/iframe/Iframe.vue2.js +5 -1
- package/lib/media/iframe/Iframe.vue2.js.map +1 -1
- package/lib/media/iframe/index.js +3 -0
- package/lib/media/iframe/index.js.map +1 -1
- package/lib/media/image/Image.vue.js.map +1 -1
- package/lib/media/image/Image.vue2.js +6 -2
- package/lib/media/image/Image.vue2.js.map +1 -1
- package/lib/media/image/index.js +3 -0
- 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 +1 -2
- package/lib/node_modules/zrender/lib/animation/Animator.js.map +1 -1
- package/lib/node_modules/zrender/lib/core/util.js +2 -0
- package/lib/node_modules/zrender/lib/core/util.js.map +1 -1
- package/lib/setting/page-config/PageConfig.vue.js.map +1 -1
- package/lib/setting/page-config/PageConfig.vue2.js +4 -0
- package/lib/setting/page-config/PageConfig.vue2.js.map +1 -1
- package/lib/setting/page-config/index.js +3 -0
- package/lib/setting/page-config/index.js.map +1 -1
- package/lib/setting/provider-config/ProviderConfig.vue.js.map +1 -1
- package/lib/setting/provider-config/ProviderConfig.vue2.js +4 -1
- package/lib/setting/provider-config/ProviderConfig.vue2.js.map +1 -1
- package/lib/setting/provider-config/index.js +3 -0
- package/lib/setting/provider-config/index.js.map +1 -1
- package/lib/style.css +11218 -0
- package/lib/table/table/Table.vue.js +1 -1
- package/lib/table/table/Table.vue.js.map +1 -1
- package/lib/table/table/Table.vue2.js +12 -10
- package/lib/table/table/Table.vue2.js.map +1 -1
- package/lib/table/table/Table.vue3.js +2 -2
- package/lib/table/table/index.js +4 -0
- package/lib/table/table/index.js.map +1 -1
- package/lib/text/list/List.vue.js.map +1 -1
- package/lib/text/list/List.vue2.js +5 -2
- package/lib/text/list/List.vue2.js.map +1 -1
- package/lib/text/list/index.js +4 -0
- package/lib/text/list/index.js.map +1 -1
- package/lib/text/proportion/Proportion.vue.js.map +1 -1
- package/lib/text/proportion/Proportion.vue2.js +4 -2
- package/lib/text/proportion/Proportion.vue2.js.map +1 -1
- package/lib/text/proportion/index.js +4 -0
- package/lib/text/proportion/index.js.map +1 -1
- package/lib/text/scroll-text/ScrollText.vue2.js.map +1 -1
- package/lib/text/text/Text.vue.js +1 -1
- package/lib/text/text/Text.vue.js.map +1 -1
- package/lib/text/text/Text.vue2.js +5 -2
- package/lib/text/text/Text.vue2.js.map +1 -1
- package/lib/text/text/Text.vue3.js +2 -2
- package/lib/text/text/index.js +4 -0
- package/lib/text/text/index.js.map +1 -1
- package/lib/text/time-display/TimeDisplay.vue.js.map +1 -1
- package/lib/text/time-display/TimeDisplay.vue2.js +5 -0
- package/lib/text/time-display/TimeDisplay.vue2.js.map +1 -1
- package/lib/text/time-display/index.js +3 -0
- package/lib/text/time-display/index.js.map +1 -1
- package/package.json +11 -10
|
@@ -159,6 +159,6 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
159
159
|
}, 8, ["loading"])
|
|
160
160
|
], 4);
|
|
161
161
|
}
|
|
162
|
-
const Table = /* @__PURE__ */ _pluginVue_exportHelper.default(Table_vue_vue_type_script_lang.default, [["render", _sfc_render], ["__scopeId", "data-v-
|
|
162
|
+
const Table = /* @__PURE__ */ _pluginVue_exportHelper.default(Table_vue_vue_type_script_lang.default, [["render", _sfc_render], ["__scopeId", "data-v-5a3cc727"]]);
|
|
163
163
|
exports.default = Table;
|
|
164
164
|
//# sourceMappingURL=Table.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.vue.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":["_resolveComponent","_openBlock","_createElementBlock","_normalizeStyle","_withCtx","_createVNode","_createElementVNode","_toDisplayString","_createCommentVNode","_Fragment","_renderList","_normalizeClass","_createBlock"],"mappings":";;;;;;;;;;MA+DiB,aAAM;AAAA,EAAA,KAAA;AAAA;;;;;;;;;;;8BA9DrBA,qBAwHM,UAAA;SAxHwBC,IAAO,UAAA,GAAAC,IAAA,mBAAA,OAAA;AAAA,IAAA,OAAA;AAAA,IACnC,OAsHWC,IAAAA,eAAA,KAAA,KAAA;AAAA,EAAA,GAAA;AAAA,oBArHT,qBAoHU,EAAA,SAAA,KAAA,QAAA,GAAA;AAAA,MAAA,SAnHHC,IAAQ,QAAA,MAAA;AAAA,QACLC,IAAAA,YAAA,oBAAA;AAAA,UAAA,OAAA;AAAA,UAEP,OAAA;AAAA,YACA,QAAO;AAAA,UAAA;AAAA,UAEP,SAAQ,KAAE;AAAA,UACV,eAAU,KAAA;AAAA,UACV,UAAS,KAAE;AAAA,UACX,MAAM,KAAA;AAAA,UACN,WAAU,KAAE;AAAA,UACZ,QAAM,EAAE,GAAW,KAAA,GAAA,GAAA,KAAA,EAAA;AAAA,UAAA,YAAA,KAAA;AAAA,UAET,UAAA,KAAA;AAAA,QAAA,GAAA;AAAA,gCAEDD,IAAAA,QAAmB,CAAA,EAAA,QAAA,cAAA,iBAAA,SAAA,mBAAA;AAAA,YACnBE,IAAAA,mBAAA,OAAA;AAAA,cAAA,OAAA;AAAA;;;;cAKWD,IAAAA,YAAA,oBAAA;AAAA,gBACf,OAAY,OAAA;AAAA,gBAEZ,kBAAM,CAAc,WAAA,OAAA,0BAAA;AAAA,gBACnB,aAAQ;AAAA,gBAAA,OAAA;AAAA,gBAEX,UAMmB,KAAA;AAAA,cAAA,GALT,MAAO,aAAO,kBAAwB,UAAA,CAAA;AAAA,cAAxBA,IAAAA,YAAA,6BAAA;AAAA,gBACtB,OAAM,OAAA;AAAA,gBACL,kBAAS,YAAgB,OAAO,2BAAA;AAAA,gBAChC,OAAA;AAAA,gBAAA,SAAA,KAAA,iBAAA,MAAA;AAAA,gBAGH,UAgBM,CAAA,WAAA,KAAA,mBAAA,iBAAA,MAAA;AAAA,cAAA,GAfJ,MAOW,GAAA,CAAA,SAAA,kBAAA,WAAA,UAAA,CAAA;AAAA,cANKC,IAAA,mBAAA,OAAA,MAAA;AAAA,gBAAAD,IAAAA,YACT,qBAAO;AAAA,kBACZ,MAAsC;AAAA,kBACrC,MAAA;AAAA,kBAAA,OAAA,EAAA,SAAA,QAAA,gBAAA,MAAA;AAAA,kBAGH,SAAA,MAAA,QAAA;AAAA,gBAAA,GAAA;AAAA;;;kBACA,GAAA;AAAA,gBAAA,GACE,MAAK,CAAO,SAAA,CAAA;AAAA,gBAAAA,IAAAA,YACZ,qBAAmB;AAAA,kBAClB,MAAA;AAAA,kBAAA,OAAA,EAAA,SAAA,OAAA;AAAA,kBAGH,SAAA,CAAA,WAAA,KAAA,cAAA,cAAA,MAAA;AAAA,gBAAA,GAAA;AAAA;;;;;;YAIK,GAAA,CAAA;AAAA,UAAA,CAAA;AAAA,mCAEP,QAA4B,OAAA,MAAA,aAAA;AAAA,YAGd,OAAA,cAAA,SAAAJ,IAAA,UAAA,GAAgBC,IAAAA,mBAC9B,QAAA,YAAAK,IAAA,gBAAA,QAAA,CAAA,GAAA,CAAA,KAAAC,IAAA,mBAAA,IAAA,IAAA;AAAA,YAAA,OAAA,cAAA,YAAAP,IAAAA,UAAA,GAAAC,IAAA,mBACE,OAaM,YAAA;AAAA,eAAAD,IAAAA,UAbK,IAAQ,GAAAC,IAAA,mBAAAO,cAAA,MAAAC,IAAA,WAAA,KAAA,YAAA,CAAA,QAAA,WAAA;uBAA6CT,IAAK,UAAA,GAAAC,IAAA,mBAAA,OAAA;AAAA,kBAAA,OAAA;AAAA,kBACnE,KAAA;AAAA,gBAAA,GAAA;AAAA,kBAEWI,IAAAA,mBAAA,KAAA;AAAA,oBACR,MAAK,KAAA,WAAA,OAAA,MAAA,MAAA;AAAA,oBAAA,QAA+B,KAAO,iBAAK,OAAA,MAAA;AAAA,oBAAA,OAAsBH,IAAAA,eAAQ;AAAA,sBAAsB,OAAA,OAAA;AAAA,sBAAA,UAAA,KAAA;AAAA,sBAK/F,YAAA,KAAA;AAAA,oBAAA,CAAA;AAAA;;;;oCASDD,IAAA,mBAAA,OAAA;AAAA,cACR,KAAK;AAAA,cAA4B,OAAAS,IAAAA,eAAA,CAAA,KAAA,cAAA,MAAA,OAAA,MAAA,CAAA,CAAA;AAAA,cAAkB,OAAAR,IAAAA,eAAA;AAAA,gBAAA,UAAA,KAAA;AAAA;;YAS/C,GAAOI,IAyBE,gBAAA,OAAA,UAAA,OAAA,KAAA,SAAA,MAAA,OAAA,MAAA,IAAA,IAAA,GAAA,CAAA;AAAA,UAAA,CAAA;AAAA,UAxBlB,SAAAH,IAAA,QAAA,MAAA;AAAA,YAAA,KAAA,YAAA,SAuBwB,sBAAAQ,IAAA,YAAA,4BAAA,EAAA,KAAA,KAAA;AAAA,cApBqB,SAAAR,IAAA,QAAA,MAAA;AAAA,gBAmBlBC,IAAA,YAAA,gCAAA,MAAA;AAAA,kBAAA,SAAAD,IAAA,QAAA,MAAA;AAAA,mCAlBf,IAAK,GAAAF,IAAA,mBAAAO,cAAA,MAAAC,IAAA,WAAA,KAAA,aAAA,CAAA,SAAA,UAAA;6BACLT,IAAO,UAAA,GAAAW,IAAA,YAAA,iCAAA;AAAA,wBACZ,KAAK;AAAA,wBAAA;AAAA,+BAAyFT,IAAAA,eAAiB;AAAA,0BAA+C,iBAAA,KAAA;AAAA,0BAAgD,WAAA,QAAA,aAAA;AAAA,0BAAA,OAAA,QAAA;AAAA;;;wBAQvM,SAAAC,IAAA,QAAA,MAAA;AAAA,0BACAE,IAAAA,mBAAA,OAAA;AAAA,4BAAwB,OAAQK,IAAAA,eAAA,CAAA,KAAA,cAAA,QAAA,OAAA,QAAA,MAAA,CAAA,CAAA;AAAA,4BAAsB,OAAUR,IAAAA,eAAA;AAAA,8BAAA,UAAA,KAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"Table.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -18,14 +18,15 @@ 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");
|
|
21
22
|
const useRequestData = require("../../hooks/useRequestData.js");
|
|
23
|
+
const constant = require("../../utils/constant.js");
|
|
22
24
|
const useVariablesInText = require("../../hooks/useVariablesInText.js");
|
|
25
|
+
require("../../utils/request.js");
|
|
23
26
|
const useIndicatorData = require("../../hooks/useIndicatorData.js");
|
|
24
27
|
const props = require("./props.js");
|
|
25
28
|
const util = require("../../utils/util.js");
|
|
26
|
-
const
|
|
27
|
-
const Skeleton = require("../../common/skeleton/Skeleton.vue.js");
|
|
28
|
-
const lodashEs = require("lodash-es");
|
|
29
|
+
const Skeleton = require("../../common/skeleton/Skeleton.vue2.js");
|
|
29
30
|
const _sfc_main = vue.defineComponent({
|
|
30
31
|
name: "EcanTable",
|
|
31
32
|
components: {
|
|
@@ -434,9 +435,12 @@ const _sfc_main = vue.defineComponent({
|
|
|
434
435
|
}
|
|
435
436
|
if (calcTotalCount === 0)
|
|
436
437
|
return [];
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
438
|
+
let records = vue.unref(tableDataSource);
|
|
439
|
+
if (props2.paginationShow) {
|
|
440
|
+
const start = (vue.unref(pageNum) - 1) * vue.unref(pageSize);
|
|
441
|
+
const end = start + vue.unref(pageSize);
|
|
442
|
+
records = records.slice(start, end);
|
|
443
|
+
}
|
|
440
444
|
for (let i = 0; i < summaryList2.length; i++) {
|
|
441
445
|
const summary = summaryList2[i];
|
|
442
446
|
let total2 = 0;
|
|
@@ -444,10 +448,8 @@ const _sfc_main = vue.defineComponent({
|
|
|
444
448
|
if (isCalcTotal === true) {
|
|
445
449
|
for (let j = 0; j < records.length; j++) {
|
|
446
450
|
const record = records[j];
|
|
447
|
-
const num = record[dataIndex];
|
|
448
|
-
|
|
449
|
-
total2 = num + total2;
|
|
450
|
-
}
|
|
451
|
+
const num = +record[dataIndex];
|
|
452
|
+
total2 += num;
|
|
451
453
|
}
|
|
452
454
|
summary.total = total2;
|
|
453
455
|
}
|
|
@@ -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?vue&type=script&lang.ts"],"sourcesContent":["\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'\n// import { Big } from 'big.js'\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 let records = unref(tableDataSource)\n if (props.paginationShow) {\n const start = (unref(pageNum) - 1) * unref(pageSize)\n const end = start + unref(pageSize)\n records = records.slice(start, end)\n }\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 total += num\n // console.log(num)\n // if (!isNaN(num)) {\n // total = new Big(total).add(num).toNumber()\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"],"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,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
-
const
|
|
4
|
-
exports.default =
|
|
3
|
+
const Table_vue_vue_type_style_index_0_scoped_5a3cc727_lang = "";
|
|
4
|
+
exports.default = Table_vue_vue_type_style_index_0_scoped_5a3cc727_lang;
|
|
5
5
|
//# sourceMappingURL=Table.vue3.js.map
|
package/lib/table/table/index.js
CHANGED
|
@@ -2,7 +2,11 @@
|
|
|
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");
|
|
5
6
|
const EcanTable = withInstall.withInstall(Table.default);
|
|
7
|
+
exports.tableComponentProps = props.tableComponentProps;
|
|
8
|
+
exports.tableEvents = props.tableEvents;
|
|
9
|
+
exports.tableProps = props.tableProps;
|
|
6
10
|
exports.EcanTable = EcanTable;
|
|
7
11
|
exports.default = EcanTable;
|
|
8
12
|
//# 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;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.vue.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":["_resolveComponent","_openBlock","_createElementBlock","_normalizeStyle","_withCtx","_Fragment","_renderList","_createCommentVNode","_normalizeClass"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"List.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -5,10 +5,13 @@ 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");
|
|
8
9
|
const useRequestData = require("../../hooks/useRequestData.js");
|
|
9
|
-
const util = require("../../utils/util.js");
|
|
10
10
|
const constant = require("../../utils/constant.js");
|
|
11
|
-
|
|
11
|
+
require("../../utils/request.js");
|
|
12
|
+
require("ant-design-vue");
|
|
13
|
+
const util = require("../../utils/util.js");
|
|
14
|
+
const Skeleton = require("../../common/skeleton/Skeleton.vue2.js");
|
|
12
15
|
const _sfc_main = vue.defineComponent({
|
|
13
16
|
name: "EcanList",
|
|
14
17
|
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?vue&type=script&lang.ts"],"sourcesContent":["\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"],"names":["defineComponent","Skeleton","listComponentProps","props","ref","usePickComponentStyle","computed","formatMoney","formatPercentage","useRequestData","inject","GLOBAL_CONFIG","unref","useEmitEvent","useOnEvent","REQUEST_MODEL"],"mappings":";;;;;;;;;;;;;;AAQA,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,7 +2,11 @@
|
|
|
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");
|
|
5
6
|
const EcanList = withInstall.withInstall(List.default);
|
|
7
|
+
exports.listComponentProps = props.listComponentProps;
|
|
8
|
+
exports.listEvents = props.listEvents;
|
|
9
|
+
exports.listProps = props.listProps;
|
|
6
10
|
exports.EcanList = EcanList;
|
|
7
11
|
exports.default = EcanList;
|
|
8
12
|
//# 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;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Proportion.vue.js","sources":[
|
|
1
|
+
{"version":3,"file":"Proportion.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -7,10 +7,12 @@ 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");
|
|
10
11
|
const useRequestData = require("../../hooks/useRequestData.js");
|
|
11
|
-
const props = require("./props.js");
|
|
12
12
|
const constant = require("../../utils/constant.js");
|
|
13
|
-
|
|
13
|
+
require("../../utils/request.js");
|
|
14
|
+
const props = require("./props.js");
|
|
15
|
+
const Skeleton = require("../../common/skeleton/Skeleton.vue2.js");
|
|
14
16
|
const _sfc_main = vue.defineComponent({
|
|
15
17
|
name: "EcanProportion",
|
|
16
18
|
components: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Proportion.vue2.js","sources":["../../../src/text/proportion/Proportion.vue"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"Proportion.vue2.js","sources":["../../../src/text/proportion/Proportion.vue?vue&type=script&lang.ts"],"sourcesContent":["\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"],"names":["defineComponent","AProgress","Skeleton","proportionComponentProps","props","inject","GLOBAL_CONFIG","usePickComponentStyle","computed","ref","watch","unref","text","useRequestData","useOnEvent","useEmitEvent","REQUEST_MODEL"],"mappings":";;;;;;;;;;;;;;;AASA,MAAA,YAAeA,oBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IAAA,WACVC,aAAA;AAAA,IAAA,UACAC,SAAA;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,GAAGC,MAAA;AAAA,EACL;AAAA,EACA,MAAOC,QAAO;AACZ,UAAM,EAAE,SAAA,IAAaC,IAAA,OAAOC,wBAAe;AAAA,MACzC,UAAU;AAAA,IAAA,CACX;AACK,UAAA,QAAQC,4CAAsBH,MAAK;AACnC,UAAA,UAAUI,IAAAA,SAAS,MAAM;AAC7B,YAAM,QAAQJ,OAAM;AACpB,aAAO,WAAW,KAAK;AAAA,IAAA,CACxB;AACK,UAAA,SAASK,QAA2B,CAAA,CAAE;AACtCC,cAAA,MAAMN,OAAM,MAAM,MAAM;AAC5B,UAAIA,OAAM,aAAa,YAAYO,IAAAA,MAAM,QAAQ,MAAM,UAAU;AAC/D,eAAO,QAAQP,OAAM;AAAA,MACvB;AAAA,IAAA,GACC;AAAA,MACD,WAAW;AAAA,MACX,MAAM;AAAA,IAAA,CACP;AACK,UAAA,UAAUI,IAAAA,SAAS,MAAM;AACvB,YAAA,OAAOG,UAAM,MAAM;AACnB,YAAA,eAAe,CAAEP,OAAM;AAC7B,UAAI,QAAQ,MAAM;AACZ,YAAA,CAAC,MAAM,YAAY,GAAG;AACjB,iBAAA;AAAA,QAAA,OACF;AACE,iBAAA;AAAA,QACT;AAAA,MACF;AACA,YAAM,YAAaA,OAAM,KAAgB,MAAM,SAAS,KAAK;AACzD,UAAA;AACJ,YAAM,WAAW,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC;AAC1C,eAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACnC,cAAA,WAAW,UAAU,CAAC;AAC5B,cAAM,MAAM,SAAS,MAAM,GAAG,SAAS,SAAS,CAAC;AAC7C,YAAA,SAAS,IAAI,GAAG,GAAG;AACrB,kBAAQ,KAAK,GAAG;AAChB;AAAA,QACF;AAAA,MACF;AAEI,UAAA,OAAO,UAAU,UAAU;AAC7B,gBAAQ,QAAQ;AAAA,MAAA,WACP,OAAO,UAAU,YAAY,CAAC,MAAM,CAAC,KAAK,GAAG;AACtD,gBAAS,CAAC,QAAS;AAAA,MAAA,WACV,CAAC,MAAM,YAAY,GAAG;AAC/B,gBAAQ,eAAe;AAAA,MAAA,OAClB;AACG,gBAAA;AAAA,MACV;AAEA,UAAIA,OAAM,eAAe;AACf,gBAAA,CAAC,MAAM,QAAQ,CAAC;AAAA,MAC1B;AACO,aAAA;AAAA,IAAA,CACR;AACK,UAAA,OAAOI,IAAAA,SAAS,MAAM;;AAC1B,UAAII,QAAOR,OAAM;AACjB,UAAIQ,UAAS;AAAI,eAAOD,IAAAA,MAAM,OAAO;AACrC,YAAM,eAAeP,OAAM;AACrB,YAAA,OAAOO,UAAM,MAAM;AACzB,YAAM,YAAaC,MAAM,MAAM,SAAS,KAAK,CAAA;AAC7C,eAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACnC,cAAA,WAAW,UAAU,CAAC;AAC5B,YAAI,YAAY,SAAS,MAAM,GAAG,SAAS,SAAS,CAAC;AAC/C,cAAA,gBAAgB,UAAU,MAAM,KAAK;AAC3C,iBAAS,IAAI,GAAG,KAAI,+CAAe,SAAQ,KAAK;AAC9C,gBAAM,gBAAe,mBAAc,CAAC,MAAf,mBAAkB;AACnC,cAAA,KAAK,YAAY,KAAK,MAAM;AAC9B,wBAAY,UAAU,QAAQ,cAAc,KAAK,YAAY,CAAC;AAAA,UAAA,OACzD;AACO,wBAAA,UAAU,QAAQ,cAAc,YAAY;AAAA,UAC1D;AAAA,QACF;AAEA,YAAI,eAA+B;AAE/B,YAAA;AACG,cAAA,mBAAoB,KAAK,SAAS,GAAG;AAExC,kBAAM,QAAQ;AACd,2BAAe,MAAM,SAAS;AAAA,UAChC;AAAA,iBACO;AACP,kBAAQ,MAAM,CAAC;AAAA,QACjB;AACA,YAAI,OAAO,iBAAiB,YAAY,CAAC,MAAM,CAAC,YAAY,GAAG;AAC7D,yBAAgB,CAAC,eAAe;AAChC,cAAIR,OAAM,eAAe;AACR,2BAAA,aAAa,QAAQ,CAAC;AAAA,UACvC;AAAA,QACF;AACAQ,gBAAOA,MAAK,QAAQ,UAAU,eAAe,EAAE;AAAA,MACjD;AACOA,aAAAA;AAAAA,IAAA,CACR;AACK,UAAA,cAAcC,8BAAeT,MAAK;AAClC,UAAA,UAAUK,QAAI,KAAK;AACzB,UAAM,oBAAoB,YAAY;;AACpC,UAAIL,OAAM,aAAa,aAAaO,IAAAA,MAAM,QAAQ,MAAM;AAAU;AAC9D,UAAA;AACF,gBAAQ,QAAQ;AACV,cAAA,MAAM,MAAM;AAClB,eAAO,UAAQ,gCAAK,SAAL,mBAAW,SAAQ,CAAA;AAAA,eAC3B;AACP,gBAAQ,MAAM,CAAC;AAAA,MAAA,UACf;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAEF,UAAM,cAAc,MAAM;AACN;IAAA;AAEpBG,eAAAA,WAAWV,QAAO;AAAA,MAChB;AAAA,IAAA,CACD;AAEK,UAAA,YAAYW,0BAAaX,MAAK;AAE9B,UAAA,QAAQ,UAAU,SAAS,MAAM;AAAA,IAAA,CAAE;AAEzC,UAAM,EAAE,WAAA,IAAeC,IAAA,OAAOW,wBAAe;AAAA;AAAA;AAAA,MAG3C,YAAY,CAAC,EAAE,IAAI,SAAS,gBAAmC;AAAA,IAAA,CAChE;AAEU,eAAA;AAAA,MACT,IAAIZ,OAAM;AAAA,MACV,WAAW;AAAA,MACX,SAASA,OAAM;AAAA,IAAA,CAChB;AAEM,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;"}
|
|
@@ -2,7 +2,11 @@
|
|
|
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");
|
|
5
6
|
const EcanProportion = withInstall.withInstall(Proportion.default);
|
|
7
|
+
exports.proportionComponentProps = props.proportionComponentProps;
|
|
8
|
+
exports.proportionEvents = props.proportionEvents;
|
|
9
|
+
exports.proportionProps = props.proportionProps;
|
|
6
10
|
exports.EcanProportion = EcanProportion;
|
|
7
11
|
exports.default = EcanProportion;
|
|
8
12
|
//# 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;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollText.vue2.js","sources":["../../../src/text/scroll-text/ScrollText.vue"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"ScrollText.vue2.js","sources":["../../../src/text/scroll-text/ScrollText.vue?vue&type=script&lang.ts"],"sourcesContent":["\nimport { defineComponent, ref } from 'vue'\nexport default defineComponent({\n name: 'EcanScrollText',\n setup () {\n const text = ref('基础文本')\n return {\n text\n }\n }\n})\n"],"names":["defineComponent","ref"],"mappings":";;;AAEA,MAAA,YAAeA,oBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,QAAS;AACD,UAAA,OAAOC,QAAI,MAAM;AAChB,WAAA;AAAA,MACL;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;"}
|
|
@@ -21,6 +21,6 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
21
21
|
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.click && _ctx.click(...args))
|
|
22
22
|
}, null, 12, _hoisted_1));
|
|
23
23
|
}
|
|
24
|
-
const Text = /* @__PURE__ */ _pluginVue_exportHelper.default(Text_vue_vue_type_script_lang.default, [["render", _sfc_render], ["__scopeId", "data-v-
|
|
24
|
+
const Text = /* @__PURE__ */ _pluginVue_exportHelper.default(Text_vue_vue_type_script_lang.default, [["render", _sfc_render], ["__scopeId", "data-v-1cb788d9"]]);
|
|
25
25
|
exports.default = Text;
|
|
26
26
|
//# sourceMappingURL=Text.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.vue.js","sources":[
|
|
1
|
+
{"version":3,"file":"Text.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
|