xt-element-ui 1.2.2 → 1.2.3
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/lib/index.common.js +1211 -1154
- package/lib/index.css +1 -1
- package/lib/index.umd.js +1216 -1159
- package/lib/index.umd.min.js +5 -5
- package/package.json +1 -1
- package/src/components/ex-button/index.vue +1 -1
- package/src/components/ex-button/style/index.scss +10 -4
- package/src/components/ex-chart/theme/dark.js +1 -1
- package/src/components/ex-chart/utils.js +1 -1
- package/src/components/ex-page/index.js +2 -0
- package/src/components/ex-select-tree/index.js +2 -0
- package/src/components/{xt-select-tree → ex-select-tree}/index.vue +1 -1
- package/src/components/ex-table/ExTableCell.vue +3 -2
- package/src/components/ex-table/VirtualElTable.vue +234 -0
- package/src/components/ex-table/index.vue +176 -445
- package/src/components/ex-upload/index.js +2 -0
- package/src/components/xt-config-provider/index.js +2 -2
- package/src/components/xt-config-provider/index.vue +7 -3
- package/src/components/xt-text/style/index.scss +13 -13
- package/src/styles/css-variables.scss +1 -1
- package/src/styles/element-theme.scss +1 -1
- package/src/utils/index.js +11 -2
- package/src/components/xt-page/index.js +0 -0
- package/src/components/xt-select-tree/index.js +0 -0
- package/src/components/xt-upload/index.js +0 -2
- /package/src/components/{xt-page → ex-page}/index.vue +0 -0
- /package/src/components/{xt-upload → ex-upload}/index.vue +0 -0
- /package/src/components/{xt-upload → ex-upload}/preview.vue +0 -0
package/lib/index.common.js
CHANGED
|
@@ -154,6 +154,13 @@ function startOfDay (dirtyDate) {
|
|
|
154
154
|
module.exports = startOfDay
|
|
155
155
|
|
|
156
156
|
|
|
157
|
+
/***/ }),
|
|
158
|
+
|
|
159
|
+
/***/ "0c1c":
|
|
160
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
161
|
+
|
|
162
|
+
// extracted by mini-css-extract-plugin
|
|
163
|
+
|
|
157
164
|
/***/ }),
|
|
158
165
|
|
|
159
166
|
/***/ "0d3e":
|
|
@@ -2587,6 +2594,17 @@ function getSeconds (dirtyDate) {
|
|
|
2587
2594
|
module.exports = getSeconds
|
|
2588
2595
|
|
|
2589
2596
|
|
|
2597
|
+
/***/ }),
|
|
2598
|
+
|
|
2599
|
+
/***/ "24a5":
|
|
2600
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
2601
|
+
|
|
2602
|
+
"use strict";
|
|
2603
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_314a5524_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("0c1c");
|
|
2604
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_314a5524_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_314a5524_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__);
|
|
2605
|
+
/* unused harmony reexport * */
|
|
2606
|
+
|
|
2607
|
+
|
|
2590
2608
|
/***/ }),
|
|
2591
2609
|
|
|
2592
2610
|
/***/ "2507":
|
|
@@ -121175,17 +121193,6 @@ function startOfToday () {
|
|
|
121175
121193
|
module.exports = startOfToday
|
|
121176
121194
|
|
|
121177
121195
|
|
|
121178
|
-
/***/ }),
|
|
121179
|
-
|
|
121180
|
-
/***/ "3cd7":
|
|
121181
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
121182
|
-
|
|
121183
|
-
"use strict";
|
|
121184
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_279f5e29_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("5ee4");
|
|
121185
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_279f5e29_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_279f5e29_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__);
|
|
121186
|
-
/* unused harmony reexport * */
|
|
121187
|
-
|
|
121188
|
-
|
|
121189
121196
|
/***/ }),
|
|
121190
121197
|
|
|
121191
121198
|
/***/ "3eee":
|
|
@@ -121849,6 +121856,13 @@ function isSaturday (dirtyDate) {
|
|
|
121849
121856
|
module.exports = isSaturday
|
|
121850
121857
|
|
|
121851
121858
|
|
|
121859
|
+
/***/ }),
|
|
121860
|
+
|
|
121861
|
+
/***/ "493c":
|
|
121862
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
121863
|
+
|
|
121864
|
+
// extracted by mini-css-extract-plugin
|
|
121865
|
+
|
|
121852
121866
|
/***/ }),
|
|
121853
121867
|
|
|
121854
121868
|
/***/ "4f67":
|
|
@@ -122153,20 +122167,6 @@ function getHours (dirtyDate) {
|
|
|
122153
122167
|
module.exports = getHours
|
|
122154
122168
|
|
|
122155
122169
|
|
|
122156
|
-
/***/ }),
|
|
122157
|
-
|
|
122158
|
-
/***/ "5ee4":
|
|
122159
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
122160
|
-
|
|
122161
|
-
// extracted by mini-css-extract-plugin
|
|
122162
|
-
|
|
122163
|
-
/***/ }),
|
|
122164
|
-
|
|
122165
|
-
/***/ "5f72":
|
|
122166
|
-
/***/ (function(module, exports) {
|
|
122167
|
-
|
|
122168
|
-
module.exports = require("ElementUI");
|
|
122169
|
-
|
|
122170
122170
|
/***/ }),
|
|
122171
122171
|
|
|
122172
122172
|
/***/ "6254":
|
|
@@ -124802,17 +124802,6 @@ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
|
|
|
124802
124802
|
}
|
|
124803
124803
|
|
|
124804
124804
|
|
|
124805
|
-
/***/ }),
|
|
124806
|
-
|
|
124807
|
-
/***/ "93f4":
|
|
124808
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
124809
|
-
|
|
124810
|
-
"use strict";
|
|
124811
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_78d2b726_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("b49a");
|
|
124812
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_78d2b726_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_78d2b726_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__);
|
|
124813
|
-
/* unused harmony reexport * */
|
|
124814
|
-
|
|
124815
|
-
|
|
124816
124805
|
/***/ }),
|
|
124817
124806
|
|
|
124818
124807
|
/***/ "942b":
|
|
@@ -125166,6 +125155,17 @@ module.exports = isThisMonth
|
|
|
125166
125155
|
/* unused harmony reexport * */
|
|
125167
125156
|
|
|
125168
125157
|
|
|
125158
|
+
/***/ }),
|
|
125159
|
+
|
|
125160
|
+
/***/ "a0ef":
|
|
125161
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
125162
|
+
|
|
125163
|
+
"use strict";
|
|
125164
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_f6bc1634_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d661");
|
|
125165
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_f6bc1634_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_f6bc1634_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__);
|
|
125166
|
+
/* unused harmony reexport * */
|
|
125167
|
+
|
|
125168
|
+
|
|
125169
125169
|
/***/ }),
|
|
125170
125170
|
|
|
125171
125171
|
/***/ "a431":
|
|
@@ -125370,6 +125370,17 @@ function isEqual (dirtyLeftDate, dirtyRightDate) {
|
|
|
125370
125370
|
module.exports = isEqual
|
|
125371
125371
|
|
|
125372
125372
|
|
|
125373
|
+
/***/ }),
|
|
125374
|
+
|
|
125375
|
+
/***/ "ac06":
|
|
125376
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
125377
|
+
|
|
125378
|
+
"use strict";
|
|
125379
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_VirtualElTable_vue_vue_type_style_index_0_id_5eb34e1c_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("493c");
|
|
125380
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_VirtualElTable_vue_vue_type_style_index_0_id_5eb34e1c_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_vue_cli_service_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_VirtualElTable_vue_vue_type_style_index_0_id_5eb34e1c_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__);
|
|
125381
|
+
/* unused harmony reexport * */
|
|
125382
|
+
|
|
125383
|
+
|
|
125373
125384
|
/***/ }),
|
|
125374
125385
|
|
|
125375
125386
|
/***/ "acc4":
|
|
@@ -125528,13 +125539,6 @@ function differenceInISOYears (dirtyDateLeft, dirtyDateRight) {
|
|
|
125528
125539
|
module.exports = differenceInISOYears
|
|
125529
125540
|
|
|
125530
125541
|
|
|
125531
|
-
/***/ }),
|
|
125532
|
-
|
|
125533
|
-
/***/ "b49a":
|
|
125534
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
125535
|
-
|
|
125536
|
-
// extracted by mini-css-extract-plugin
|
|
125537
|
-
|
|
125538
125542
|
/***/ }),
|
|
125539
125543
|
|
|
125540
125544
|
/***/ "b4c7":
|
|
@@ -127041,6 +127045,13 @@ var LRU = (function () {
|
|
|
127041
127045
|
/* harmony default export */ __webpack_exports__["a"] = (LRU);
|
|
127042
127046
|
|
|
127043
127047
|
|
|
127048
|
+
/***/ }),
|
|
127049
|
+
|
|
127050
|
+
/***/ "d661":
|
|
127051
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
127052
|
+
|
|
127053
|
+
// extracted by mini-css-extract-plugin
|
|
127054
|
+
|
|
127044
127055
|
/***/ }),
|
|
127045
127056
|
|
|
127046
127057
|
/***/ "d67a":
|
|
@@ -128015,7 +128026,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
128015
128026
|
__webpack_require__.d(__webpack_exports__, "ExChart", function() { return /* reexport */ components_ex_chart; });
|
|
128016
128027
|
__webpack_require__.d(__webpack_exports__, "createVirtualScrollData", function() { return /* reexport */ createVirtualScrollData; });
|
|
128017
128028
|
__webpack_require__.d(__webpack_exports__, "virtualScrollColumns", function() { return /* reexport */ virtualScrollColumns; });
|
|
128018
|
-
__webpack_require__.d(__webpack_exports__, "utils", function() { return /* reexport */
|
|
128029
|
+
__webpack_require__.d(__webpack_exports__, "utils", function() { return /* reexport */ src_utils_0; });
|
|
128019
128030
|
__webpack_require__.d(__webpack_exports__, "variables", function() { return /* reexport */ variables_export_default.a; });
|
|
128020
128031
|
__webpack_require__.d(__webpack_exports__, "getConfig", function() { return /* reexport */ src_getConfig; });
|
|
128021
128032
|
__webpack_require__.d(__webpack_exports__, "setConfig", function() { return /* reexport */ src_setConfig; });
|
|
@@ -128054,7 +128065,811 @@ var components = __webpack_require__("d67a");
|
|
|
128054
128065
|
var variables_export = __webpack_require__("ad4d");
|
|
128055
128066
|
var variables_export_default = /*#__PURE__*/__webpack_require__.n(variables_export);
|
|
128056
128067
|
|
|
128068
|
+
// CONCATENATED MODULE: ./src/components/ex-chart/theme/white.js
|
|
128069
|
+
/* harmony default export */ var white = ({
|
|
128070
|
+
color: ["#1890ff", "#37c3a4", "#29c0ce", "#6480D7", "#8cce6f", "#3a5dca", "#ffb74d"],
|
|
128071
|
+
backgroundColor: "#ffffff",
|
|
128072
|
+
textStyle: {
|
|
128073
|
+
fontFamily: "Microsoft YaHei, sans-serif"
|
|
128074
|
+
},
|
|
128075
|
+
title: {
|
|
128076
|
+
textStyle: {
|
|
128077
|
+
color: "#333",
|
|
128078
|
+
fontSize: 16
|
|
128079
|
+
},
|
|
128080
|
+
subtextStyle: {
|
|
128081
|
+
color: "#666666",
|
|
128082
|
+
fontSize: 12
|
|
128083
|
+
}
|
|
128084
|
+
},
|
|
128085
|
+
line: {
|
|
128086
|
+
itemStyle: {
|
|
128087
|
+
},
|
|
128088
|
+
lineStyle: {
|
|
128089
|
+
width: 2
|
|
128090
|
+
}
|
|
128091
|
+
},
|
|
128092
|
+
bar: {
|
|
128093
|
+
itemStyle: {
|
|
128094
|
+
borderRadius: 4
|
|
128095
|
+
}
|
|
128096
|
+
},
|
|
128097
|
+
pie: {
|
|
128098
|
+
roseType: "radius",
|
|
128099
|
+
label: {
|
|
128100
|
+
color: "#333"
|
|
128101
|
+
}
|
|
128102
|
+
},
|
|
128103
|
+
radar: {
|
|
128104
|
+
indicator: {
|
|
128105
|
+
color: "#666666"
|
|
128106
|
+
}
|
|
128107
|
+
},
|
|
128108
|
+
map: {
|
|
128109
|
+
label: {
|
|
128110
|
+
color: "#333"
|
|
128111
|
+
},
|
|
128112
|
+
itemStyle: {
|
|
128113
|
+
borderColor: "#fff"
|
|
128114
|
+
}
|
|
128115
|
+
},
|
|
128116
|
+
gauge: {
|
|
128117
|
+
axisLine: {
|
|
128118
|
+
lineStyle: {
|
|
128119
|
+
color: [[1, "#5470c6"]]
|
|
128120
|
+
}
|
|
128121
|
+
}
|
|
128122
|
+
},
|
|
128123
|
+
toolbox: {
|
|
128124
|
+
iconStyle: {
|
|
128125
|
+
borderColor: "#666666"
|
|
128126
|
+
}
|
|
128127
|
+
},
|
|
128128
|
+
xAxis: {
|
|
128129
|
+
axisLine: {
|
|
128130
|
+
lineStyle: {
|
|
128131
|
+
color: "#DFE9EE"
|
|
128132
|
+
}
|
|
128133
|
+
},
|
|
128134
|
+
axisTick: {
|
|
128135
|
+
lineStyle: {
|
|
128136
|
+
color: "#DFE9EE"
|
|
128137
|
+
},
|
|
128138
|
+
show: false
|
|
128139
|
+
}
|
|
128140
|
+
},
|
|
128141
|
+
yAxis: {
|
|
128142
|
+
axisLine: {
|
|
128143
|
+
lineStyle: {
|
|
128144
|
+
color: "#DFE9EE"
|
|
128145
|
+
}
|
|
128146
|
+
},
|
|
128147
|
+
axisTick: {
|
|
128148
|
+
lineStyle: {
|
|
128149
|
+
color: "#DFE9EE"
|
|
128150
|
+
}
|
|
128151
|
+
},
|
|
128152
|
+
splitLine: {
|
|
128153
|
+
show: true,
|
|
128154
|
+
lineStyle: {
|
|
128155
|
+
type: "dashed",
|
|
128156
|
+
color: "#DFE9EE"
|
|
128157
|
+
}
|
|
128158
|
+
}
|
|
128159
|
+
},
|
|
128160
|
+
splitArea: {
|
|
128161
|
+
areaStyle: {
|
|
128162
|
+
color: ["#f7f8fa", "#ffffff"]
|
|
128163
|
+
}
|
|
128164
|
+
},
|
|
128165
|
+
legend: {
|
|
128166
|
+
textStyle: {
|
|
128167
|
+
color: "#333333"
|
|
128168
|
+
}
|
|
128169
|
+
},
|
|
128170
|
+
tooltip: {
|
|
128171
|
+
borderWidth: 1,
|
|
128172
|
+
backgroundColor: "#ffffff",
|
|
128173
|
+
textStyle: {
|
|
128174
|
+
color: "#333333"
|
|
128175
|
+
},
|
|
128176
|
+
trigger: "axis"
|
|
128177
|
+
}
|
|
128178
|
+
});
|
|
128179
|
+
|
|
128180
|
+
// CONCATENATED MODULE: ./src/components/ex-chart/theme/dark.js
|
|
128181
|
+
/* harmony default export */ var dark = ({
|
|
128182
|
+
color: ["#0de7ff", "#a782ff", "#fcdd60", "#0de7ff", "#ffc5a1", "#6291ae", "#13ce66"],
|
|
128183
|
+
backgroundColor: "#000",
|
|
128184
|
+
textStyle: {
|
|
128185
|
+
fontFamily: "Microsoft YaHei, sans-serif"
|
|
128186
|
+
},
|
|
128187
|
+
title: {
|
|
128188
|
+
textStyle: {
|
|
128189
|
+
color: "#333"
|
|
128190
|
+
},
|
|
128191
|
+
subtextStyle: {
|
|
128192
|
+
color: "#666666"
|
|
128193
|
+
}
|
|
128194
|
+
},
|
|
128195
|
+
line: {
|
|
128196
|
+
itemStyle: {
|
|
128197
|
+
},
|
|
128198
|
+
lineStyle: {
|
|
128199
|
+
width: 2
|
|
128200
|
+
}
|
|
128201
|
+
},
|
|
128202
|
+
bar: {
|
|
128203
|
+
itemStyle: {
|
|
128204
|
+
borderRadius: 4
|
|
128205
|
+
}
|
|
128206
|
+
},
|
|
128207
|
+
pie: {
|
|
128208
|
+
roseType: "radius",
|
|
128209
|
+
label: {
|
|
128210
|
+
color: "#333"
|
|
128211
|
+
}
|
|
128212
|
+
},
|
|
128213
|
+
radar: {
|
|
128214
|
+
indicator: {
|
|
128215
|
+
color: "#666666"
|
|
128216
|
+
}
|
|
128217
|
+
},
|
|
128218
|
+
map: {
|
|
128219
|
+
label: {
|
|
128220
|
+
color: "#333"
|
|
128221
|
+
},
|
|
128222
|
+
itemStyle: {
|
|
128223
|
+
borderColor: "#fff"
|
|
128224
|
+
}
|
|
128225
|
+
},
|
|
128226
|
+
gauge: {
|
|
128227
|
+
axisLine: {
|
|
128228
|
+
lineStyle: {
|
|
128229
|
+
color: [[1, "#5470c6"]]
|
|
128230
|
+
}
|
|
128231
|
+
}
|
|
128232
|
+
},
|
|
128233
|
+
toolbox: {
|
|
128234
|
+
iconStyle: {
|
|
128235
|
+
borderColor: "#666666"
|
|
128236
|
+
}
|
|
128237
|
+
},
|
|
128238
|
+
axisLine: {
|
|
128239
|
+
lineStyle: {
|
|
128240
|
+
color: "#DCDFE6"
|
|
128241
|
+
}
|
|
128242
|
+
},
|
|
128243
|
+
axisTick: {
|
|
128244
|
+
lineStyle: {
|
|
128245
|
+
color: "#DCDFE6"
|
|
128246
|
+
}
|
|
128247
|
+
},
|
|
128248
|
+
splitLine: {
|
|
128249
|
+
lineStyle: {
|
|
128250
|
+
color: "#ebeef5"
|
|
128251
|
+
}
|
|
128252
|
+
},
|
|
128253
|
+
splitArea: {
|
|
128254
|
+
areaStyle: {
|
|
128255
|
+
color: ["#f7f8fa", "#ffffff"]
|
|
128256
|
+
}
|
|
128257
|
+
},
|
|
128258
|
+
legend: {
|
|
128259
|
+
textStyle: {
|
|
128260
|
+
color: "#666"
|
|
128261
|
+
}
|
|
128262
|
+
},
|
|
128263
|
+
tooltip: {
|
|
128264
|
+
backgroundColor: "rgba(255, 255, 255, 0.95)",
|
|
128265
|
+
borderColor: "#DCDFE6",
|
|
128266
|
+
borderWidth: 1,
|
|
128267
|
+
textStyle: {
|
|
128268
|
+
color: "#333"
|
|
128269
|
+
}
|
|
128270
|
+
}
|
|
128271
|
+
});
|
|
128272
|
+
|
|
128273
|
+
// CONCATENATED MODULE: ./src/components/ex-chart/theme/blue.js
|
|
128274
|
+
/* harmony default export */ var blue = ({
|
|
128275
|
+
color: ["#2CDEB3", "#A17EE6", "#E57E40", "#409EFF"],
|
|
128276
|
+
backgroundColor: "#ffffff",
|
|
128277
|
+
textStyle: {
|
|
128278
|
+
fontFamily: "Microsoft YaHei, sans-serif"
|
|
128279
|
+
},
|
|
128280
|
+
title: {
|
|
128281
|
+
textStyle: {
|
|
128282
|
+
color: "#333"
|
|
128283
|
+
},
|
|
128284
|
+
subtextStyle: {
|
|
128285
|
+
color: "#666666"
|
|
128286
|
+
}
|
|
128287
|
+
},
|
|
128288
|
+
line: {
|
|
128289
|
+
itemStyle: {
|
|
128290
|
+
},
|
|
128291
|
+
lineStyle: {
|
|
128292
|
+
width: 2
|
|
128293
|
+
}
|
|
128294
|
+
},
|
|
128295
|
+
bar: {
|
|
128296
|
+
itemStyle: {
|
|
128297
|
+
borderRadius: 4
|
|
128298
|
+
}
|
|
128299
|
+
},
|
|
128300
|
+
pie: {
|
|
128301
|
+
roseType: "radius",
|
|
128302
|
+
label: {
|
|
128303
|
+
color: "#333"
|
|
128304
|
+
}
|
|
128305
|
+
},
|
|
128306
|
+
radar: {
|
|
128307
|
+
indicator: {
|
|
128308
|
+
color: "#666666"
|
|
128309
|
+
}
|
|
128310
|
+
},
|
|
128311
|
+
map: {
|
|
128312
|
+
label: {
|
|
128313
|
+
color: "#333"
|
|
128314
|
+
},
|
|
128315
|
+
itemStyle: {
|
|
128316
|
+
borderColor: "#fff"
|
|
128317
|
+
}
|
|
128318
|
+
},
|
|
128319
|
+
gauge: {
|
|
128320
|
+
axisLine: {
|
|
128321
|
+
lineStyle: {
|
|
128322
|
+
color: [[1, "#5470c6"]]
|
|
128323
|
+
}
|
|
128324
|
+
}
|
|
128325
|
+
},
|
|
128326
|
+
toolbox: {
|
|
128327
|
+
iconStyle: {
|
|
128328
|
+
borderColor: "#666666"
|
|
128329
|
+
}
|
|
128330
|
+
},
|
|
128331
|
+
axisLine: {
|
|
128332
|
+
lineStyle: {
|
|
128333
|
+
color: "#DCDFE6"
|
|
128334
|
+
}
|
|
128335
|
+
},
|
|
128336
|
+
axisTick: {
|
|
128337
|
+
lineStyle: {
|
|
128338
|
+
color: "#DCDFE6"
|
|
128339
|
+
}
|
|
128340
|
+
},
|
|
128341
|
+
splitLine: {
|
|
128342
|
+
lineStyle: {
|
|
128343
|
+
color: "#ebeef5"
|
|
128344
|
+
}
|
|
128345
|
+
},
|
|
128346
|
+
splitArea: {
|
|
128347
|
+
areaStyle: {
|
|
128348
|
+
color: ["#f7f8fa", "#ffffff"]
|
|
128349
|
+
}
|
|
128350
|
+
},
|
|
128351
|
+
legend: {
|
|
128352
|
+
textStyle: {
|
|
128353
|
+
color: "#666"
|
|
128354
|
+
}
|
|
128355
|
+
},
|
|
128356
|
+
tooltip: {
|
|
128357
|
+
backgroundColor: "rgba(255, 255, 255, 0.95)",
|
|
128358
|
+
borderColor: "#DCDFE6",
|
|
128359
|
+
borderWidth: 1,
|
|
128360
|
+
textStyle: {
|
|
128361
|
+
color: "#333"
|
|
128362
|
+
}
|
|
128363
|
+
}
|
|
128364
|
+
});
|
|
128365
|
+
|
|
128366
|
+
// CONCATENATED MODULE: ./src/components/ex-chart/theme/starry.js
|
|
128367
|
+
/* harmony default export */ var starry = ({
|
|
128368
|
+
color: [
|
|
128369
|
+
"#1685a9", // 石青
|
|
128370
|
+
"#21a675", // 松柏绿
|
|
128371
|
+
"#1bd1a5", // 飞燕草蓝
|
|
128372
|
+
"#8c4356", // 绛紫
|
|
128373
|
+
"#0dafc6", // 孔雀蓝
|
|
128374
|
+
"#4b5cc4", // 宝蓝
|
|
128375
|
+
"#758a99", // 墨灰
|
|
128376
|
+
"#cca4e3", // 丁香色
|
|
128377
|
+
"#205277", // 靛青色
|
|
128378
|
+
"#d9b611", // 秋香色
|
|
128379
|
+
"#ff8c31", // 杏红
|
|
128380
|
+
"#9d2933", // 胭脂
|
|
128381
|
+
"#0288c5", // 浅靛青蓝
|
|
128382
|
+
"#44cef6" // 天蓝色
|
|
128383
|
+
],
|
|
128384
|
+
backgroundColor: "#ffffff",
|
|
128385
|
+
textStyle: {
|
|
128386
|
+
fontFamily: "Microsoft YaHei, sans-serif"
|
|
128387
|
+
},
|
|
128388
|
+
title: {
|
|
128389
|
+
textStyle: {
|
|
128390
|
+
color: "#333"
|
|
128391
|
+
},
|
|
128392
|
+
subtextStyle: {
|
|
128393
|
+
color: "#666666"
|
|
128394
|
+
}
|
|
128395
|
+
},
|
|
128396
|
+
line: {
|
|
128397
|
+
itemStyle: {
|
|
128398
|
+
},
|
|
128399
|
+
lineStyle: {
|
|
128400
|
+
width: 2
|
|
128401
|
+
}
|
|
128402
|
+
},
|
|
128403
|
+
bar: {
|
|
128404
|
+
itemStyle: {
|
|
128405
|
+
borderRadius: 4
|
|
128406
|
+
}
|
|
128407
|
+
},
|
|
128408
|
+
pie: {
|
|
128409
|
+
roseType: "radius",
|
|
128410
|
+
label: {
|
|
128411
|
+
color: "#333"
|
|
128412
|
+
}
|
|
128413
|
+
},
|
|
128414
|
+
radar: {
|
|
128415
|
+
indicator: {
|
|
128416
|
+
color: "#666666"
|
|
128417
|
+
}
|
|
128418
|
+
},
|
|
128419
|
+
map: {
|
|
128420
|
+
label: {
|
|
128421
|
+
color: "#333"
|
|
128422
|
+
},
|
|
128423
|
+
itemStyle: {
|
|
128424
|
+
borderColor: "#fff"
|
|
128425
|
+
}
|
|
128426
|
+
},
|
|
128427
|
+
gauge: {
|
|
128428
|
+
axisLine: {
|
|
128429
|
+
lineStyle: {
|
|
128430
|
+
color: [[1, "#5470c6"]]
|
|
128431
|
+
}
|
|
128432
|
+
}
|
|
128433
|
+
},
|
|
128434
|
+
toolbox: {
|
|
128435
|
+
iconStyle: {
|
|
128436
|
+
borderColor: "#666666"
|
|
128437
|
+
}
|
|
128438
|
+
},
|
|
128439
|
+
axisLine: {
|
|
128440
|
+
lineStyle: {
|
|
128441
|
+
color: "#DCDFE6"
|
|
128442
|
+
}
|
|
128443
|
+
},
|
|
128444
|
+
axisTick: {
|
|
128445
|
+
lineStyle: {
|
|
128446
|
+
color: "#DCDFE6"
|
|
128447
|
+
}
|
|
128448
|
+
},
|
|
128449
|
+
splitLine: {
|
|
128450
|
+
lineStyle: {
|
|
128451
|
+
color: "#ebeef5"
|
|
128452
|
+
}
|
|
128453
|
+
},
|
|
128454
|
+
splitArea: {
|
|
128455
|
+
areaStyle: {
|
|
128456
|
+
color: ["#f7f8fa", "#ffffff"]
|
|
128457
|
+
}
|
|
128458
|
+
},
|
|
128459
|
+
legend: {
|
|
128460
|
+
textStyle: {
|
|
128461
|
+
color: "#666"
|
|
128462
|
+
}
|
|
128463
|
+
},
|
|
128464
|
+
tooltip: {
|
|
128465
|
+
backgroundColor: "rgba(255, 255, 255, 0.95)",
|
|
128466
|
+
borderColor: "#DCDFE6",
|
|
128467
|
+
borderWidth: 1,
|
|
128468
|
+
textStyle: {
|
|
128469
|
+
color: "#333"
|
|
128470
|
+
}
|
|
128471
|
+
}
|
|
128472
|
+
});
|
|
128473
|
+
|
|
128474
|
+
// CONCATENATED MODULE: ./src/components/ex-chart/theme/orange.js
|
|
128475
|
+
/* harmony default export */ var orange = ({
|
|
128476
|
+
color: ["#e69419", "#A5b4da", "#F8792C", "#97bfb4", "#de747b", "#d6bac0", "#e62737", "#f35969", "#f1ccb0", "#b7394e", "#fe9c1c2"],
|
|
128477
|
+
backgroundColor: "#ffffff",
|
|
128478
|
+
textStyle: {
|
|
128479
|
+
fontFamily: "Microsoft YaHei, sans-serif"
|
|
128480
|
+
},
|
|
128481
|
+
title: {
|
|
128482
|
+
textStyle: {
|
|
128483
|
+
color: "#333"
|
|
128484
|
+
},
|
|
128485
|
+
subtextStyle: {
|
|
128486
|
+
color: "#666666"
|
|
128487
|
+
}
|
|
128488
|
+
},
|
|
128489
|
+
line: {
|
|
128490
|
+
itemStyle: {
|
|
128491
|
+
color: "#e69419"
|
|
128492
|
+
},
|
|
128493
|
+
lineStyle: {
|
|
128494
|
+
width: 2
|
|
128495
|
+
}
|
|
128496
|
+
},
|
|
128497
|
+
bar: {
|
|
128498
|
+
itemStyle: {
|
|
128499
|
+
borderRadius: 4
|
|
128500
|
+
}
|
|
128501
|
+
},
|
|
128502
|
+
pie: {
|
|
128503
|
+
roseType: "radius",
|
|
128504
|
+
label: {
|
|
128505
|
+
color: "#333"
|
|
128506
|
+
}
|
|
128507
|
+
},
|
|
128508
|
+
radar: {
|
|
128509
|
+
indicator: {
|
|
128510
|
+
color: "#666666"
|
|
128511
|
+
}
|
|
128512
|
+
},
|
|
128513
|
+
map: {
|
|
128514
|
+
label: {
|
|
128515
|
+
color: "#333"
|
|
128516
|
+
},
|
|
128517
|
+
itemStyle: {
|
|
128518
|
+
borderColor: "#fff"
|
|
128519
|
+
}
|
|
128520
|
+
},
|
|
128521
|
+
gauge: {
|
|
128522
|
+
axisLine: {
|
|
128523
|
+
lineStyle: {
|
|
128524
|
+
color: [[1, "#5470c6"]]
|
|
128525
|
+
}
|
|
128526
|
+
}
|
|
128527
|
+
},
|
|
128528
|
+
toolbox: {
|
|
128529
|
+
iconStyle: {
|
|
128530
|
+
borderColor: "#666666"
|
|
128531
|
+
}
|
|
128532
|
+
},
|
|
128533
|
+
axisLine: {
|
|
128534
|
+
lineStyle: {
|
|
128535
|
+
color: "#DCDFE6"
|
|
128536
|
+
}
|
|
128537
|
+
},
|
|
128538
|
+
axisTick: {
|
|
128539
|
+
lineStyle: {
|
|
128540
|
+
color: "#DCDFE6"
|
|
128541
|
+
}
|
|
128542
|
+
},
|
|
128543
|
+
splitLine: {
|
|
128544
|
+
lineStyle: {
|
|
128545
|
+
color: "#ebeef5"
|
|
128546
|
+
}
|
|
128547
|
+
},
|
|
128548
|
+
splitArea: {
|
|
128549
|
+
areaStyle: {
|
|
128550
|
+
color: ["#f7f8fa", "#ffffff"]
|
|
128551
|
+
}
|
|
128552
|
+
},
|
|
128553
|
+
legend: {
|
|
128554
|
+
textStyle: {
|
|
128555
|
+
color: "#666"
|
|
128556
|
+
}
|
|
128557
|
+
},
|
|
128558
|
+
tooltip: {
|
|
128559
|
+
backgroundColor: "rgba(255, 255, 255, 0.95)",
|
|
128560
|
+
borderColor: "#DCDFE6",
|
|
128561
|
+
borderWidth: 1,
|
|
128562
|
+
textStyle: {
|
|
128563
|
+
color: "#333"
|
|
128564
|
+
}
|
|
128565
|
+
}
|
|
128566
|
+
});
|
|
128567
|
+
|
|
128568
|
+
// CONCATENATED MODULE: ./src/components/ex-chart/utils.js
|
|
128569
|
+
|
|
128570
|
+
|
|
128571
|
+
|
|
128572
|
+
|
|
128573
|
+
|
|
128574
|
+
|
|
128575
|
+
const themeKeys = {
|
|
128576
|
+
"default": white,
|
|
128577
|
+
"white": white,
|
|
128578
|
+
"dark": dark,
|
|
128579
|
+
"blue": blue,
|
|
128580
|
+
"starry": starry,
|
|
128581
|
+
"orange": orange
|
|
128582
|
+
};
|
|
128583
|
+
|
|
128584
|
+
// echarts 仅在客户端加载,避免 SSR 编译/渲染报错
|
|
128585
|
+
let echarts = null;
|
|
128586
|
+
|
|
128587
|
+
function getEcharts() {
|
|
128588
|
+
if (!echarts && typeof window !== 'undefined') {
|
|
128589
|
+
try {
|
|
128590
|
+
echarts = __webpack_require__("313e");
|
|
128591
|
+
// 注册所有主题
|
|
128592
|
+
for (const key in themeKeys) {
|
|
128593
|
+
echarts.registerTheme(key, themeKeys[key]);
|
|
128594
|
+
}
|
|
128595
|
+
} catch (e) {
|
|
128596
|
+
console.warn('[ExChart] echarts 加载失败:', e.message);
|
|
128597
|
+
}
|
|
128598
|
+
}
|
|
128599
|
+
return echarts;
|
|
128600
|
+
}
|
|
128601
|
+
|
|
128602
|
+
// 字体大小配置
|
|
128603
|
+
const fontSizeMap = {
|
|
128604
|
+
small: {
|
|
128605
|
+
title: 14,
|
|
128606
|
+
subtitle: 11,
|
|
128607
|
+
legend: 11,
|
|
128608
|
+
axisLabel: 10,
|
|
128609
|
+
tooltip: 11,
|
|
128610
|
+
label: 11
|
|
128611
|
+
},
|
|
128612
|
+
medium: {
|
|
128613
|
+
title: 16,
|
|
128614
|
+
subtitle: 12,
|
|
128615
|
+
legend: 12,
|
|
128616
|
+
axisLabel: 12,
|
|
128617
|
+
tooltip: 12,
|
|
128618
|
+
label: 12
|
|
128619
|
+
},
|
|
128620
|
+
large: {
|
|
128621
|
+
title: 18,
|
|
128622
|
+
subtitle: 14,
|
|
128623
|
+
legend: 14,
|
|
128624
|
+
axisLabel: 14,
|
|
128625
|
+
tooltip: 14,
|
|
128626
|
+
label: 14
|
|
128627
|
+
}
|
|
128628
|
+
};
|
|
128629
|
+
|
|
128630
|
+
function EchartsUtil() {}
|
|
128631
|
+
|
|
128632
|
+
EchartsUtil.currentTheme = "default";
|
|
128633
|
+
EchartsUtil.currentSize = "medium";
|
|
128634
|
+
EchartsUtil.inverse = false;
|
|
128635
|
+
|
|
128636
|
+
EchartsUtil.EchartsUtil = {
|
|
128637
|
+
backgroundColor: "transparent",
|
|
128638
|
+
tooltip: {
|
|
128639
|
+
trigger: "axis",
|
|
128640
|
+
borderWidth: 1
|
|
128641
|
+
},
|
|
128642
|
+
legend: {
|
|
128643
|
+
right: 20,
|
|
128644
|
+
top: 0,
|
|
128645
|
+
show: true,
|
|
128646
|
+
textStyle: {
|
|
128647
|
+
fontSize: 12
|
|
128648
|
+
}
|
|
128649
|
+
},
|
|
128650
|
+
grid: {
|
|
128651
|
+
top: "25%",
|
|
128652
|
+
left: "40",
|
|
128653
|
+
right: "15",
|
|
128654
|
+
bottom: "40"
|
|
128655
|
+
},
|
|
128656
|
+
xAxis: {
|
|
128657
|
+
type: "category",
|
|
128658
|
+
boundaryGap: false,
|
|
128659
|
+
axisTick: {
|
|
128660
|
+
show: true,
|
|
128661
|
+
length: 4
|
|
128662
|
+
},
|
|
128663
|
+
axisLabel: {
|
|
128664
|
+
fontSize: 12,
|
|
128665
|
+
interval: 0,
|
|
128666
|
+
formatter: function(value) {
|
|
128667
|
+
return !this.reverse && this.longLable ? value.replace(new RegExp(`(.{${this.longLableSplitNum}})`, "g"), `$1\n`) : value;
|
|
128668
|
+
}
|
|
128669
|
+
}
|
|
128670
|
+
},
|
|
128671
|
+
yAxis: {
|
|
128672
|
+
type: "value",
|
|
128673
|
+
axisTick: {
|
|
128674
|
+
show: false
|
|
128675
|
+
},
|
|
128676
|
+
min: null,
|
|
128677
|
+
max: null,
|
|
128678
|
+
axisLabel: {
|
|
128679
|
+
show: false
|
|
128680
|
+
},
|
|
128681
|
+
splitLine: {
|
|
128682
|
+
lineStyle: {
|
|
128683
|
+
type: "dashed",
|
|
128684
|
+
width: 1
|
|
128685
|
+
}
|
|
128686
|
+
}
|
|
128687
|
+
}
|
|
128688
|
+
};
|
|
128689
|
+
|
|
128690
|
+
EchartsUtil.chartInstanceList = [];
|
|
128691
|
+
|
|
128692
|
+
EchartsUtil.mergeOptions = function(themeOption, customOption) {
|
|
128693
|
+
return Object.assign({}, this.baseOption, themeOption, customOption);
|
|
128694
|
+
};
|
|
128695
|
+
|
|
128696
|
+
// 根据字体大小调整主题配置
|
|
128697
|
+
EchartsUtil.applyFontSize = function(themeOption, size) {
|
|
128698
|
+
const fontSizeConfig = fontSizeMap[size] || fontSizeMap.medium;
|
|
128699
|
+
|
|
128700
|
+
const result = JSON.parse(JSON.stringify(themeOption));
|
|
128701
|
+
|
|
128702
|
+
// 调整标题字体大小
|
|
128703
|
+
if (result.title && result.title.textStyle) {
|
|
128704
|
+
result.title.textStyle.fontSize = fontSizeConfig.title;
|
|
128705
|
+
}
|
|
128706
|
+
if (result.title && result.title.subtextStyle) {
|
|
128707
|
+
result.title.subtextStyle.fontSize = fontSizeConfig.subtitle;
|
|
128708
|
+
}
|
|
128709
|
+
|
|
128710
|
+
// 调整图例字体大小
|
|
128711
|
+
if (result.legend && result.legend.textStyle) {
|
|
128712
|
+
result.legend.textStyle.fontSize = fontSizeConfig.legend;
|
|
128713
|
+
}
|
|
128714
|
+
|
|
128715
|
+
// 调整提示框字体大小
|
|
128716
|
+
if (result.tooltip && result.tooltip.textStyle) {
|
|
128717
|
+
result.tooltip.textStyle.fontSize = fontSizeConfig.tooltip;
|
|
128718
|
+
}
|
|
128719
|
+
|
|
128720
|
+
// 调整饼图标签字体大小
|
|
128721
|
+
if (result.pie && result.pie.label) {
|
|
128722
|
+
if (typeof result.pie.label === 'object') {
|
|
128723
|
+
result.pie.label.fontSize = fontSizeConfig.label;
|
|
128724
|
+
}
|
|
128725
|
+
}
|
|
128726
|
+
|
|
128727
|
+
// 调整雷达图指示器字体大小
|
|
128728
|
+
if (result.radar && result.radar.indicator) {
|
|
128729
|
+
if (typeof result.radar.indicator === 'object' && result.radar.indicator.textStyle) {
|
|
128730
|
+
result.radar.indicator.textStyle.fontSize = fontSizeConfig.label;
|
|
128731
|
+
}
|
|
128732
|
+
}
|
|
128733
|
+
|
|
128734
|
+
// 调整地图标签字体大小
|
|
128735
|
+
if (result.map && result.map.label) {
|
|
128736
|
+
if (typeof result.map.label === 'object') {
|
|
128737
|
+
result.map.label.fontSize = fontSizeConfig.label;
|
|
128738
|
+
}
|
|
128739
|
+
}
|
|
128740
|
+
|
|
128741
|
+
return result;
|
|
128742
|
+
};
|
|
128743
|
+
|
|
128744
|
+
EchartsUtil.init = function(dom, theme, customOption, size) {
|
|
128745
|
+
const ec = getEcharts();
|
|
128746
|
+
// SSR 环境下忽略初始化
|
|
128747
|
+
if (!ec || !dom) return null;
|
|
128748
|
+
|
|
128749
|
+
theme = theme || "default";
|
|
128750
|
+
size = size || "medium";
|
|
128751
|
+
customOption = customOption || {};
|
|
128752
|
+
|
|
128753
|
+
const useTheme = this.currentTheme || theme;
|
|
128754
|
+
const useSize = this.currentSize || size;
|
|
128755
|
+
|
|
128756
|
+
this.currentTheme = useTheme;
|
|
128757
|
+
this.currentSize = useSize;
|
|
128758
|
+
|
|
128759
|
+
let themeOption = themeKeys[useTheme];
|
|
128760
|
+
// 应用字体大小配置
|
|
128761
|
+
themeOption = this.applyFontSize(themeOption, useSize);
|
|
128762
|
+
|
|
128763
|
+
const option = this.mergeOptions(themeOption, customOption);
|
|
128764
|
+
|
|
128765
|
+
const chart = ec.init(dom, useTheme);
|
|
128766
|
+
chart.setOption(option, true);
|
|
128767
|
+
|
|
128768
|
+
this.chartInstanceList.push({
|
|
128769
|
+
dom,
|
|
128770
|
+
chart,
|
|
128771
|
+
customOption,
|
|
128772
|
+
size: useSize
|
|
128773
|
+
});
|
|
128774
|
+
|
|
128775
|
+
this.bindResize(chart);
|
|
128776
|
+
return chart;
|
|
128777
|
+
};
|
|
128778
|
+
|
|
128779
|
+
EchartsUtil.changeSingleTheme = function(dom, chartIns, customOption, newTheme) {
|
|
128780
|
+
const ec = getEcharts();
|
|
128781
|
+
if (!ec || !dom || !chartIns) return;
|
|
128782
|
+
|
|
128783
|
+
customOption = customOption || {};
|
|
128784
|
+
newTheme = newTheme || "default";
|
|
128785
|
+
|
|
128786
|
+
this.currentTheme = newTheme;
|
|
128787
|
+
chartIns.dispose();
|
|
128788
|
+
|
|
128789
|
+
const newChart = ec.init(dom, newTheme, customOption);
|
|
128790
|
+
|
|
128791
|
+
const item = this.chartInstanceList.find(function(v) {
|
|
128792
|
+
return v.dom === dom;
|
|
128793
|
+
});
|
|
128794
|
+
|
|
128795
|
+
if (item) {
|
|
128796
|
+
item.chart = newChart;
|
|
128797
|
+
}
|
|
128798
|
+
|
|
128799
|
+
return newChart;
|
|
128800
|
+
};
|
|
128801
|
+
|
|
128802
|
+
EchartsUtil.changeAllTheme = function(newTheme, newSize) {
|
|
128803
|
+
const ec = getEcharts();
|
|
128804
|
+
if (!ec || !newTheme) return;
|
|
128805
|
+
|
|
128806
|
+
this.currentTheme = newTheme;
|
|
128807
|
+
// 如果传入了新的 size,则更新全局 size
|
|
128808
|
+
if (newSize) {
|
|
128809
|
+
this.currentSize = newSize;
|
|
128810
|
+
}
|
|
128811
|
+
|
|
128812
|
+
this.chartInstanceList.forEach(function(item) {
|
|
128813
|
+
const dom = item.dom;
|
|
128814
|
+
const chart = item.chart;
|
|
128815
|
+
const customOption = item.customOption;
|
|
128816
|
+
// 使用图表自己的 size,如果没有则使用全局 size
|
|
128817
|
+
const useSize = item.size || EchartsUtil.currentSize;
|
|
128818
|
+
|
|
128819
|
+
if (chart) {
|
|
128820
|
+
chart.dispose();
|
|
128821
|
+
}
|
|
128822
|
+
|
|
128823
|
+
const newChart = ec.init(dom, newTheme);
|
|
128824
|
+
let themeOption = themeKeys[newTheme];
|
|
128825
|
+
// 应用字体大小配置
|
|
128826
|
+
themeOption = EchartsUtil.applyFontSize(themeOption, useSize);
|
|
128827
|
+
const option = EchartsUtil.mergeOptions(themeOption, customOption);
|
|
128828
|
+
|
|
128829
|
+
newChart.setOption(option, true);
|
|
128830
|
+
item.chart = newChart;
|
|
128831
|
+
// 更新图表的 size 记录
|
|
128832
|
+
item.size = useSize;
|
|
128833
|
+
EchartsUtil.bindResize(newChart);
|
|
128834
|
+
});
|
|
128835
|
+
};
|
|
128836
|
+
|
|
128837
|
+
EchartsUtil.bindResize = function(chartIns) {
|
|
128838
|
+
if (!chartIns || chartIns.resizeLocked) return;
|
|
128839
|
+
|
|
128840
|
+
window.addEventListener("resize", function() {
|
|
128841
|
+
chartIns.resize();
|
|
128842
|
+
});
|
|
128843
|
+
|
|
128844
|
+
chartIns._resizeLocked = true;
|
|
128845
|
+
};
|
|
128846
|
+
|
|
128847
|
+
EchartsUtil.destroy = function(chartIns) {
|
|
128848
|
+
if (chartIns) {
|
|
128849
|
+
chartIns.dispose();
|
|
128850
|
+
}
|
|
128851
|
+
|
|
128852
|
+
this.chartInstanceList = this.chartInstanceList.filter(function(item) {
|
|
128853
|
+
return item.chart !== chartIns;
|
|
128854
|
+
});
|
|
128855
|
+
};
|
|
128856
|
+
|
|
128857
|
+
EchartsUtil.destroyAll = function() {
|
|
128858
|
+
this.chartInstanceList.forEach(function(item) {
|
|
128859
|
+
if (item.chart) {
|
|
128860
|
+
item.chart.dispose();
|
|
128861
|
+
}
|
|
128862
|
+
});
|
|
128863
|
+
|
|
128864
|
+
this.chartInstanceList = [];
|
|
128865
|
+
};
|
|
128866
|
+
|
|
128867
|
+
/* harmony default export */ var utils = (EchartsUtil);
|
|
128868
|
+
|
|
128869
|
+
|
|
128870
|
+
|
|
128057
128871
|
// CONCATENATED MODULE: ./src/utils/index.js
|
|
128872
|
+
|
|
128058
128873
|
// 默认配置
|
|
128059
128874
|
const defaultConfig = {
|
|
128060
128875
|
theme: 'white',
|
|
@@ -128101,7 +128916,7 @@ const setConfig = function(config) {
|
|
|
128101
128916
|
}
|
|
128102
128917
|
|
|
128103
128918
|
|
|
128104
|
-
// 设置主题
|
|
128919
|
+
// 设置主题 并更新图表主题
|
|
128105
128920
|
const setTheme = function(theme) {
|
|
128106
128921
|
const validThemes = ['white', 'dark']
|
|
128107
128922
|
if (!validThemes.includes(theme)) {
|
|
@@ -128116,9 +128931,13 @@ const setTheme = function(theme) {
|
|
|
128116
128931
|
if (theme === 'dark') {
|
|
128117
128932
|
root.setAttribute('data-theme', 'dark')
|
|
128118
128933
|
} else {
|
|
128119
|
-
root.
|
|
128934
|
+
root.setAttribute('data-theme', theme)
|
|
128120
128935
|
}
|
|
128121
128936
|
|
|
128937
|
+
// 更新图表主题
|
|
128938
|
+
utils.changeAllTheme(currentConfig.theme, currentConfig.size)
|
|
128939
|
+
console.log('更新图表主题')
|
|
128940
|
+
|
|
128122
128941
|
emitConfigChange('theme', theme)
|
|
128123
128942
|
}
|
|
128124
128943
|
|
|
@@ -128132,6 +128951,10 @@ const setSize = function(size) {
|
|
|
128132
128951
|
|
|
128133
128952
|
currentConfig.size = size
|
|
128134
128953
|
document.documentElement.setAttribute('data-size', size)
|
|
128954
|
+
// 更新图表主题
|
|
128955
|
+
utils.changeAllTheme(currentConfig.theme, currentConfig.size)
|
|
128956
|
+
console.log('更新图表字体')
|
|
128957
|
+
|
|
128135
128958
|
emitConfigChange('size', size)
|
|
128136
128959
|
}
|
|
128137
128960
|
|
|
@@ -128236,7 +129059,7 @@ const onConfigChange = function(listener) {
|
|
|
128236
129059
|
}
|
|
128237
129060
|
}
|
|
128238
129061
|
|
|
128239
|
-
/* harmony default export */ var
|
|
129062
|
+
/* harmony default export */ var src_utils = ({
|
|
128240
129063
|
setTheme,
|
|
128241
129064
|
setSize,
|
|
128242
129065
|
setPrimaryColor,
|
|
@@ -128689,6 +129512,7 @@ var xt_card_item_component = normalizeComponent(
|
|
|
128689
129512
|
/* harmony default export */ var components_xt_card_item = (xt_card_item);
|
|
128690
129513
|
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/xt-config-provider/index.vue?vue&type=script&lang=js
|
|
128691
129514
|
|
|
129515
|
+
|
|
128692
129516
|
/* harmony default export */ var xt_config_providervue_type_script_lang_js = ({
|
|
128693
129517
|
name: 'XtConfigProvider',
|
|
128694
129518
|
inheritAttrs: false,
|
|
@@ -128829,9 +129653,9 @@ var xt_card_item_component = normalizeComponent(
|
|
|
128829
129653
|
}
|
|
128830
129654
|
|
|
128831
129655
|
const sizeMap = {
|
|
128832
|
-
small: '
|
|
128833
|
-
medium: '
|
|
128834
|
-
large: '
|
|
129656
|
+
small: '14px',
|
|
129657
|
+
medium: '16px',
|
|
129658
|
+
large: '18px'
|
|
128835
129659
|
}
|
|
128836
129660
|
if (sizeMap[this.size]) {
|
|
128837
129661
|
result['--xt-font-size-base'] = sizeMap[this.size]
|
|
@@ -128998,6 +129822,9 @@ var xt_card_item_component = normalizeComponent(
|
|
|
128998
129822
|
|
|
128999
129823
|
// 设置 data-theme 属性
|
|
129000
129824
|
element.setAttribute('data-theme', this.theme)
|
|
129825
|
+
|
|
129826
|
+
// 更新图表颜色
|
|
129827
|
+
utils.changeAllTheme(this.theme, this.size, this.primaryColor)
|
|
129001
129828
|
|
|
129002
129829
|
// 触发主题改变钩子(当主题实际发生变化时)
|
|
129003
129830
|
if (prevTheme !== this.theme && typeof this.onThemeChange === 'function') {
|
|
@@ -129040,8 +129867,8 @@ var xt_card_item_component = normalizeComponent(
|
|
|
129040
129867
|
|
|
129041
129868
|
// CONCATENATED MODULE: ./src/components/xt-config-provider/index.vue?vue&type=script&lang=js
|
|
129042
129869
|
/* harmony default export */ var components_xt_config_providervue_type_script_lang_js = (xt_config_providervue_type_script_lang_js);
|
|
129043
|
-
// EXTERNAL MODULE: ./src/components/xt-config-provider/index.vue?vue&type=style&index=0&id=
|
|
129044
|
-
var
|
|
129870
|
+
// EXTERNAL MODULE: ./src/components/xt-config-provider/index.vue?vue&type=style&index=0&id=314a5524&prod&scoped=true&lang=css
|
|
129871
|
+
var xt_config_providervue_type_style_index_0_id_314a5524_prod_scoped_true_lang_css = __webpack_require__("24a5");
|
|
129045
129872
|
|
|
129046
129873
|
// CONCATENATED MODULE: ./src/components/xt-config-provider/index.vue
|
|
129047
129874
|
var xt_config_provider_render, xt_config_provider_staticRenderFns
|
|
@@ -129058,7 +129885,7 @@ var xt_config_provider_component = normalizeComponent(
|
|
|
129058
129885
|
xt_config_provider_staticRenderFns,
|
|
129059
129886
|
false,
|
|
129060
129887
|
null,
|
|
129061
|
-
"
|
|
129888
|
+
"314a5524",
|
|
129062
129889
|
null
|
|
129063
129890
|
|
|
129064
129891
|
)
|
|
@@ -129808,13 +130635,13 @@ var xt_date_picker_component = normalizeComponent(
|
|
|
129808
130635
|
// CONCATENATED MODULE: ./src/components/xt-date-picker/index.js
|
|
129809
130636
|
|
|
129810
130637
|
/* harmony default export */ var components_xt_date_picker = (xt_date_picker);
|
|
129811
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"44e6dca7-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ex-button/index.vue?vue&type=template&id=
|
|
129812
|
-
var
|
|
130638
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"44e6dca7-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ex-button/index.vue?vue&type=template&id=1b7e9238
|
|
130639
|
+
var ex_buttonvue_type_template_id_1b7e9238_render = function render(){var _vm=this,_c=_vm._self._c;return _c('el-button',_vm._b({staticClass:"ex-button",class:_vm.buttonClasses,on:{"click":_vm.handleClick}},'el-button',_vm.$attrs,false),[_vm._t("default")],2)
|
|
129813
130640
|
}
|
|
129814
|
-
var
|
|
130641
|
+
var ex_buttonvue_type_template_id_1b7e9238_staticRenderFns = []
|
|
129815
130642
|
|
|
129816
130643
|
|
|
129817
|
-
// CONCATENATED MODULE: ./src/components/ex-button/index.vue?vue&type=template&id=
|
|
130644
|
+
// CONCATENATED MODULE: ./src/components/ex-button/index.vue?vue&type=template&id=1b7e9238
|
|
129818
130645
|
|
|
129819
130646
|
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ex-button/index.vue?vue&type=script&lang=js
|
|
129820
130647
|
|
|
@@ -129843,7 +130670,7 @@ var ex_buttonvue_type_template_id_4c2fec21_staticRenderFns = []
|
|
|
129843
130670
|
size: {
|
|
129844
130671
|
type: String,
|
|
129845
130672
|
default: null,
|
|
129846
|
-
validator: (val) => !val || ['small', 'medium', 'large'].includes(val)
|
|
130673
|
+
validator: (val) => !val || ['mini', 'small', 'medium', 'large'].includes(val)
|
|
129847
130674
|
}
|
|
129848
130675
|
},
|
|
129849
130676
|
data() {
|
|
@@ -129886,8 +130713,8 @@ var ex_buttonvue_type_template_id_4c2fec21_staticRenderFns = []
|
|
|
129886
130713
|
|
|
129887
130714
|
var ex_button_component = normalizeComponent(
|
|
129888
130715
|
components_ex_buttonvue_type_script_lang_js,
|
|
129889
|
-
|
|
129890
|
-
|
|
130716
|
+
ex_buttonvue_type_template_id_1b7e9238_render,
|
|
130717
|
+
ex_buttonvue_type_template_id_1b7e9238_staticRenderFns,
|
|
129891
130718
|
false,
|
|
129892
130719
|
null,
|
|
129893
130720
|
null,
|
|
@@ -129915,809 +130742,6 @@ var ExBarvue_type_template_id_10acd2fc_scoped_true_staticRenderFns = []
|
|
|
129915
130742
|
|
|
129916
130743
|
// CONCATENATED MODULE: ./src/components/ex-chart/ExBar.vue?vue&type=template&id=10acd2fc&scoped=true
|
|
129917
130744
|
|
|
129918
|
-
// CONCATENATED MODULE: ./src/components/ex-chart/theme/white.js
|
|
129919
|
-
/* harmony default export */ var white = ({
|
|
129920
|
-
color: ["#1890ff", "#37c3a4", "#29c0ce", "#6480D7", "#8cce6f", "#3a5dca", "#ffb74d"],
|
|
129921
|
-
backgroundColor: "#ffffff",
|
|
129922
|
-
textStyle: {
|
|
129923
|
-
fontFamily: "Microsoft YaHei, sans-serif"
|
|
129924
|
-
},
|
|
129925
|
-
title: {
|
|
129926
|
-
textStyle: {
|
|
129927
|
-
color: "#333",
|
|
129928
|
-
fontSize: 16
|
|
129929
|
-
},
|
|
129930
|
-
subtextStyle: {
|
|
129931
|
-
color: "#666666",
|
|
129932
|
-
fontSize: 12
|
|
129933
|
-
}
|
|
129934
|
-
},
|
|
129935
|
-
line: {
|
|
129936
|
-
itemStyle: {
|
|
129937
|
-
},
|
|
129938
|
-
lineStyle: {
|
|
129939
|
-
width: 2
|
|
129940
|
-
}
|
|
129941
|
-
},
|
|
129942
|
-
bar: {
|
|
129943
|
-
itemStyle: {
|
|
129944
|
-
borderRadius: 4
|
|
129945
|
-
}
|
|
129946
|
-
},
|
|
129947
|
-
pie: {
|
|
129948
|
-
roseType: "radius",
|
|
129949
|
-
label: {
|
|
129950
|
-
color: "#333"
|
|
129951
|
-
}
|
|
129952
|
-
},
|
|
129953
|
-
radar: {
|
|
129954
|
-
indicator: {
|
|
129955
|
-
color: "#666666"
|
|
129956
|
-
}
|
|
129957
|
-
},
|
|
129958
|
-
map: {
|
|
129959
|
-
label: {
|
|
129960
|
-
color: "#333"
|
|
129961
|
-
},
|
|
129962
|
-
itemStyle: {
|
|
129963
|
-
borderColor: "#fff"
|
|
129964
|
-
}
|
|
129965
|
-
},
|
|
129966
|
-
gauge: {
|
|
129967
|
-
axisLine: {
|
|
129968
|
-
lineStyle: {
|
|
129969
|
-
color: [[1, "#5470c6"]]
|
|
129970
|
-
}
|
|
129971
|
-
}
|
|
129972
|
-
},
|
|
129973
|
-
toolbox: {
|
|
129974
|
-
iconStyle: {
|
|
129975
|
-
borderColor: "#666666"
|
|
129976
|
-
}
|
|
129977
|
-
},
|
|
129978
|
-
xAxis: {
|
|
129979
|
-
axisLine: {
|
|
129980
|
-
lineStyle: {
|
|
129981
|
-
color: "#DFE9EE"
|
|
129982
|
-
}
|
|
129983
|
-
},
|
|
129984
|
-
axisTick: {
|
|
129985
|
-
lineStyle: {
|
|
129986
|
-
color: "#DFE9EE"
|
|
129987
|
-
},
|
|
129988
|
-
show: false
|
|
129989
|
-
}
|
|
129990
|
-
},
|
|
129991
|
-
yAxis: {
|
|
129992
|
-
axisLine: {
|
|
129993
|
-
lineStyle: {
|
|
129994
|
-
color: "#DFE9EE"
|
|
129995
|
-
}
|
|
129996
|
-
},
|
|
129997
|
-
axisTick: {
|
|
129998
|
-
lineStyle: {
|
|
129999
|
-
color: "#DFE9EE"
|
|
130000
|
-
}
|
|
130001
|
-
},
|
|
130002
|
-
splitLine: {
|
|
130003
|
-
show: true,
|
|
130004
|
-
lineStyle: {
|
|
130005
|
-
type: "dashed",
|
|
130006
|
-
color: "#DFE9EE"
|
|
130007
|
-
}
|
|
130008
|
-
}
|
|
130009
|
-
},
|
|
130010
|
-
splitArea: {
|
|
130011
|
-
areaStyle: {
|
|
130012
|
-
color: ["#f7f8fa", "#ffffff"]
|
|
130013
|
-
}
|
|
130014
|
-
},
|
|
130015
|
-
legend: {
|
|
130016
|
-
textStyle: {
|
|
130017
|
-
color: "#333333"
|
|
130018
|
-
}
|
|
130019
|
-
},
|
|
130020
|
-
tooltip: {
|
|
130021
|
-
borderWidth: 1,
|
|
130022
|
-
backgroundColor: "#ffffff",
|
|
130023
|
-
textStyle: {
|
|
130024
|
-
color: "#333333"
|
|
130025
|
-
},
|
|
130026
|
-
trigger: "axis"
|
|
130027
|
-
}
|
|
130028
|
-
});
|
|
130029
|
-
|
|
130030
|
-
// CONCATENATED MODULE: ./src/components/ex-chart/theme/dark.js
|
|
130031
|
-
/* harmony default export */ var dark = ({
|
|
130032
|
-
color: ["#0de7ff", "#a782ff", "#fcdd60", "#0de7ff", "#ffc5a1", "#6291ae", "#13ce66"],
|
|
130033
|
-
backgroundColor: "transparent",
|
|
130034
|
-
textStyle: {
|
|
130035
|
-
fontFamily: "Microsoft YaHei, sans-serif"
|
|
130036
|
-
},
|
|
130037
|
-
title: {
|
|
130038
|
-
textStyle: {
|
|
130039
|
-
color: "#333"
|
|
130040
|
-
},
|
|
130041
|
-
subtextStyle: {
|
|
130042
|
-
color: "#666666"
|
|
130043
|
-
}
|
|
130044
|
-
},
|
|
130045
|
-
line: {
|
|
130046
|
-
itemStyle: {
|
|
130047
|
-
},
|
|
130048
|
-
lineStyle: {
|
|
130049
|
-
width: 2
|
|
130050
|
-
}
|
|
130051
|
-
},
|
|
130052
|
-
bar: {
|
|
130053
|
-
itemStyle: {
|
|
130054
|
-
borderRadius: 4
|
|
130055
|
-
}
|
|
130056
|
-
},
|
|
130057
|
-
pie: {
|
|
130058
|
-
roseType: "radius",
|
|
130059
|
-
label: {
|
|
130060
|
-
color: "#333"
|
|
130061
|
-
}
|
|
130062
|
-
},
|
|
130063
|
-
radar: {
|
|
130064
|
-
indicator: {
|
|
130065
|
-
color: "#666666"
|
|
130066
|
-
}
|
|
130067
|
-
},
|
|
130068
|
-
map: {
|
|
130069
|
-
label: {
|
|
130070
|
-
color: "#333"
|
|
130071
|
-
},
|
|
130072
|
-
itemStyle: {
|
|
130073
|
-
borderColor: "#fff"
|
|
130074
|
-
}
|
|
130075
|
-
},
|
|
130076
|
-
gauge: {
|
|
130077
|
-
axisLine: {
|
|
130078
|
-
lineStyle: {
|
|
130079
|
-
color: [[1, "#5470c6"]]
|
|
130080
|
-
}
|
|
130081
|
-
}
|
|
130082
|
-
},
|
|
130083
|
-
toolbox: {
|
|
130084
|
-
iconStyle: {
|
|
130085
|
-
borderColor: "#666666"
|
|
130086
|
-
}
|
|
130087
|
-
},
|
|
130088
|
-
axisLine: {
|
|
130089
|
-
lineStyle: {
|
|
130090
|
-
color: "#DCDFE6"
|
|
130091
|
-
}
|
|
130092
|
-
},
|
|
130093
|
-
axisTick: {
|
|
130094
|
-
lineStyle: {
|
|
130095
|
-
color: "#DCDFE6"
|
|
130096
|
-
}
|
|
130097
|
-
},
|
|
130098
|
-
splitLine: {
|
|
130099
|
-
lineStyle: {
|
|
130100
|
-
color: "#ebeef5"
|
|
130101
|
-
}
|
|
130102
|
-
},
|
|
130103
|
-
splitArea: {
|
|
130104
|
-
areaStyle: {
|
|
130105
|
-
color: ["#f7f8fa", "#ffffff"]
|
|
130106
|
-
}
|
|
130107
|
-
},
|
|
130108
|
-
legend: {
|
|
130109
|
-
textStyle: {
|
|
130110
|
-
color: "#666"
|
|
130111
|
-
}
|
|
130112
|
-
},
|
|
130113
|
-
tooltip: {
|
|
130114
|
-
backgroundColor: "rgba(255, 255, 255, 0.95)",
|
|
130115
|
-
borderColor: "#DCDFE6",
|
|
130116
|
-
borderWidth: 1,
|
|
130117
|
-
textStyle: {
|
|
130118
|
-
color: "#333"
|
|
130119
|
-
}
|
|
130120
|
-
}
|
|
130121
|
-
});
|
|
130122
|
-
|
|
130123
|
-
// CONCATENATED MODULE: ./src/components/ex-chart/theme/blue.js
|
|
130124
|
-
/* harmony default export */ var blue = ({
|
|
130125
|
-
color: ["#2CDEB3", "#A17EE6", "#E57E40", "#409EFF"],
|
|
130126
|
-
backgroundColor: "#ffffff",
|
|
130127
|
-
textStyle: {
|
|
130128
|
-
fontFamily: "Microsoft YaHei, sans-serif"
|
|
130129
|
-
},
|
|
130130
|
-
title: {
|
|
130131
|
-
textStyle: {
|
|
130132
|
-
color: "#333"
|
|
130133
|
-
},
|
|
130134
|
-
subtextStyle: {
|
|
130135
|
-
color: "#666666"
|
|
130136
|
-
}
|
|
130137
|
-
},
|
|
130138
|
-
line: {
|
|
130139
|
-
itemStyle: {
|
|
130140
|
-
},
|
|
130141
|
-
lineStyle: {
|
|
130142
|
-
width: 2
|
|
130143
|
-
}
|
|
130144
|
-
},
|
|
130145
|
-
bar: {
|
|
130146
|
-
itemStyle: {
|
|
130147
|
-
borderRadius: 4
|
|
130148
|
-
}
|
|
130149
|
-
},
|
|
130150
|
-
pie: {
|
|
130151
|
-
roseType: "radius",
|
|
130152
|
-
label: {
|
|
130153
|
-
color: "#333"
|
|
130154
|
-
}
|
|
130155
|
-
},
|
|
130156
|
-
radar: {
|
|
130157
|
-
indicator: {
|
|
130158
|
-
color: "#666666"
|
|
130159
|
-
}
|
|
130160
|
-
},
|
|
130161
|
-
map: {
|
|
130162
|
-
label: {
|
|
130163
|
-
color: "#333"
|
|
130164
|
-
},
|
|
130165
|
-
itemStyle: {
|
|
130166
|
-
borderColor: "#fff"
|
|
130167
|
-
}
|
|
130168
|
-
},
|
|
130169
|
-
gauge: {
|
|
130170
|
-
axisLine: {
|
|
130171
|
-
lineStyle: {
|
|
130172
|
-
color: [[1, "#5470c6"]]
|
|
130173
|
-
}
|
|
130174
|
-
}
|
|
130175
|
-
},
|
|
130176
|
-
toolbox: {
|
|
130177
|
-
iconStyle: {
|
|
130178
|
-
borderColor: "#666666"
|
|
130179
|
-
}
|
|
130180
|
-
},
|
|
130181
|
-
axisLine: {
|
|
130182
|
-
lineStyle: {
|
|
130183
|
-
color: "#DCDFE6"
|
|
130184
|
-
}
|
|
130185
|
-
},
|
|
130186
|
-
axisTick: {
|
|
130187
|
-
lineStyle: {
|
|
130188
|
-
color: "#DCDFE6"
|
|
130189
|
-
}
|
|
130190
|
-
},
|
|
130191
|
-
splitLine: {
|
|
130192
|
-
lineStyle: {
|
|
130193
|
-
color: "#ebeef5"
|
|
130194
|
-
}
|
|
130195
|
-
},
|
|
130196
|
-
splitArea: {
|
|
130197
|
-
areaStyle: {
|
|
130198
|
-
color: ["#f7f8fa", "#ffffff"]
|
|
130199
|
-
}
|
|
130200
|
-
},
|
|
130201
|
-
legend: {
|
|
130202
|
-
textStyle: {
|
|
130203
|
-
color: "#666"
|
|
130204
|
-
}
|
|
130205
|
-
},
|
|
130206
|
-
tooltip: {
|
|
130207
|
-
backgroundColor: "rgba(255, 255, 255, 0.95)",
|
|
130208
|
-
borderColor: "#DCDFE6",
|
|
130209
|
-
borderWidth: 1,
|
|
130210
|
-
textStyle: {
|
|
130211
|
-
color: "#333"
|
|
130212
|
-
}
|
|
130213
|
-
}
|
|
130214
|
-
});
|
|
130215
|
-
|
|
130216
|
-
// CONCATENATED MODULE: ./src/components/ex-chart/theme/starry.js
|
|
130217
|
-
/* harmony default export */ var starry = ({
|
|
130218
|
-
color: [
|
|
130219
|
-
"#1685a9", // 石青
|
|
130220
|
-
"#21a675", // 松柏绿
|
|
130221
|
-
"#1bd1a5", // 飞燕草蓝
|
|
130222
|
-
"#8c4356", // 绛紫
|
|
130223
|
-
"#0dafc6", // 孔雀蓝
|
|
130224
|
-
"#4b5cc4", // 宝蓝
|
|
130225
|
-
"#758a99", // 墨灰
|
|
130226
|
-
"#cca4e3", // 丁香色
|
|
130227
|
-
"#205277", // 靛青色
|
|
130228
|
-
"#d9b611", // 秋香色
|
|
130229
|
-
"#ff8c31", // 杏红
|
|
130230
|
-
"#9d2933", // 胭脂
|
|
130231
|
-
"#0288c5", // 浅靛青蓝
|
|
130232
|
-
"#44cef6" // 天蓝色
|
|
130233
|
-
],
|
|
130234
|
-
backgroundColor: "#ffffff",
|
|
130235
|
-
textStyle: {
|
|
130236
|
-
fontFamily: "Microsoft YaHei, sans-serif"
|
|
130237
|
-
},
|
|
130238
|
-
title: {
|
|
130239
|
-
textStyle: {
|
|
130240
|
-
color: "#333"
|
|
130241
|
-
},
|
|
130242
|
-
subtextStyle: {
|
|
130243
|
-
color: "#666666"
|
|
130244
|
-
}
|
|
130245
|
-
},
|
|
130246
|
-
line: {
|
|
130247
|
-
itemStyle: {
|
|
130248
|
-
},
|
|
130249
|
-
lineStyle: {
|
|
130250
|
-
width: 2
|
|
130251
|
-
}
|
|
130252
|
-
},
|
|
130253
|
-
bar: {
|
|
130254
|
-
itemStyle: {
|
|
130255
|
-
borderRadius: 4
|
|
130256
|
-
}
|
|
130257
|
-
},
|
|
130258
|
-
pie: {
|
|
130259
|
-
roseType: "radius",
|
|
130260
|
-
label: {
|
|
130261
|
-
color: "#333"
|
|
130262
|
-
}
|
|
130263
|
-
},
|
|
130264
|
-
radar: {
|
|
130265
|
-
indicator: {
|
|
130266
|
-
color: "#666666"
|
|
130267
|
-
}
|
|
130268
|
-
},
|
|
130269
|
-
map: {
|
|
130270
|
-
label: {
|
|
130271
|
-
color: "#333"
|
|
130272
|
-
},
|
|
130273
|
-
itemStyle: {
|
|
130274
|
-
borderColor: "#fff"
|
|
130275
|
-
}
|
|
130276
|
-
},
|
|
130277
|
-
gauge: {
|
|
130278
|
-
axisLine: {
|
|
130279
|
-
lineStyle: {
|
|
130280
|
-
color: [[1, "#5470c6"]]
|
|
130281
|
-
}
|
|
130282
|
-
}
|
|
130283
|
-
},
|
|
130284
|
-
toolbox: {
|
|
130285
|
-
iconStyle: {
|
|
130286
|
-
borderColor: "#666666"
|
|
130287
|
-
}
|
|
130288
|
-
},
|
|
130289
|
-
axisLine: {
|
|
130290
|
-
lineStyle: {
|
|
130291
|
-
color: "#DCDFE6"
|
|
130292
|
-
}
|
|
130293
|
-
},
|
|
130294
|
-
axisTick: {
|
|
130295
|
-
lineStyle: {
|
|
130296
|
-
color: "#DCDFE6"
|
|
130297
|
-
}
|
|
130298
|
-
},
|
|
130299
|
-
splitLine: {
|
|
130300
|
-
lineStyle: {
|
|
130301
|
-
color: "#ebeef5"
|
|
130302
|
-
}
|
|
130303
|
-
},
|
|
130304
|
-
splitArea: {
|
|
130305
|
-
areaStyle: {
|
|
130306
|
-
color: ["#f7f8fa", "#ffffff"]
|
|
130307
|
-
}
|
|
130308
|
-
},
|
|
130309
|
-
legend: {
|
|
130310
|
-
textStyle: {
|
|
130311
|
-
color: "#666"
|
|
130312
|
-
}
|
|
130313
|
-
},
|
|
130314
|
-
tooltip: {
|
|
130315
|
-
backgroundColor: "rgba(255, 255, 255, 0.95)",
|
|
130316
|
-
borderColor: "#DCDFE6",
|
|
130317
|
-
borderWidth: 1,
|
|
130318
|
-
textStyle: {
|
|
130319
|
-
color: "#333"
|
|
130320
|
-
}
|
|
130321
|
-
}
|
|
130322
|
-
});
|
|
130323
|
-
|
|
130324
|
-
// CONCATENATED MODULE: ./src/components/ex-chart/theme/orange.js
|
|
130325
|
-
/* harmony default export */ var orange = ({
|
|
130326
|
-
color: ["#e69419", "#A5b4da", "#F8792C", "#97bfb4", "#de747b", "#d6bac0", "#e62737", "#f35969", "#f1ccb0", "#b7394e", "#fe9c1c2"],
|
|
130327
|
-
backgroundColor: "#ffffff",
|
|
130328
|
-
textStyle: {
|
|
130329
|
-
fontFamily: "Microsoft YaHei, sans-serif"
|
|
130330
|
-
},
|
|
130331
|
-
title: {
|
|
130332
|
-
textStyle: {
|
|
130333
|
-
color: "#333"
|
|
130334
|
-
},
|
|
130335
|
-
subtextStyle: {
|
|
130336
|
-
color: "#666666"
|
|
130337
|
-
}
|
|
130338
|
-
},
|
|
130339
|
-
line: {
|
|
130340
|
-
itemStyle: {
|
|
130341
|
-
color: "#e69419"
|
|
130342
|
-
},
|
|
130343
|
-
lineStyle: {
|
|
130344
|
-
width: 2
|
|
130345
|
-
}
|
|
130346
|
-
},
|
|
130347
|
-
bar: {
|
|
130348
|
-
itemStyle: {
|
|
130349
|
-
borderRadius: 4
|
|
130350
|
-
}
|
|
130351
|
-
},
|
|
130352
|
-
pie: {
|
|
130353
|
-
roseType: "radius",
|
|
130354
|
-
label: {
|
|
130355
|
-
color: "#333"
|
|
130356
|
-
}
|
|
130357
|
-
},
|
|
130358
|
-
radar: {
|
|
130359
|
-
indicator: {
|
|
130360
|
-
color: "#666666"
|
|
130361
|
-
}
|
|
130362
|
-
},
|
|
130363
|
-
map: {
|
|
130364
|
-
label: {
|
|
130365
|
-
color: "#333"
|
|
130366
|
-
},
|
|
130367
|
-
itemStyle: {
|
|
130368
|
-
borderColor: "#fff"
|
|
130369
|
-
}
|
|
130370
|
-
},
|
|
130371
|
-
gauge: {
|
|
130372
|
-
axisLine: {
|
|
130373
|
-
lineStyle: {
|
|
130374
|
-
color: [[1, "#5470c6"]]
|
|
130375
|
-
}
|
|
130376
|
-
}
|
|
130377
|
-
},
|
|
130378
|
-
toolbox: {
|
|
130379
|
-
iconStyle: {
|
|
130380
|
-
borderColor: "#666666"
|
|
130381
|
-
}
|
|
130382
|
-
},
|
|
130383
|
-
axisLine: {
|
|
130384
|
-
lineStyle: {
|
|
130385
|
-
color: "#DCDFE6"
|
|
130386
|
-
}
|
|
130387
|
-
},
|
|
130388
|
-
axisTick: {
|
|
130389
|
-
lineStyle: {
|
|
130390
|
-
color: "#DCDFE6"
|
|
130391
|
-
}
|
|
130392
|
-
},
|
|
130393
|
-
splitLine: {
|
|
130394
|
-
lineStyle: {
|
|
130395
|
-
color: "#ebeef5"
|
|
130396
|
-
}
|
|
130397
|
-
},
|
|
130398
|
-
splitArea: {
|
|
130399
|
-
areaStyle: {
|
|
130400
|
-
color: ["#f7f8fa", "#ffffff"]
|
|
130401
|
-
}
|
|
130402
|
-
},
|
|
130403
|
-
legend: {
|
|
130404
|
-
textStyle: {
|
|
130405
|
-
color: "#666"
|
|
130406
|
-
}
|
|
130407
|
-
},
|
|
130408
|
-
tooltip: {
|
|
130409
|
-
backgroundColor: "rgba(255, 255, 255, 0.95)",
|
|
130410
|
-
borderColor: "#DCDFE6",
|
|
130411
|
-
borderWidth: 1,
|
|
130412
|
-
textStyle: {
|
|
130413
|
-
color: "#333"
|
|
130414
|
-
}
|
|
130415
|
-
}
|
|
130416
|
-
});
|
|
130417
|
-
|
|
130418
|
-
// CONCATENATED MODULE: ./src/components/ex-chart/utils.js
|
|
130419
|
-
|
|
130420
|
-
|
|
130421
|
-
|
|
130422
|
-
|
|
130423
|
-
|
|
130424
|
-
|
|
130425
|
-
const themeKeys = {
|
|
130426
|
-
"default": white,
|
|
130427
|
-
"white": white,
|
|
130428
|
-
"dark": dark,
|
|
130429
|
-
"blue": blue,
|
|
130430
|
-
"starry": starry,
|
|
130431
|
-
"orange": orange
|
|
130432
|
-
};
|
|
130433
|
-
|
|
130434
|
-
// echarts 仅在客户端加载,避免 SSR 编译/渲染报错
|
|
130435
|
-
let echarts = null;
|
|
130436
|
-
|
|
130437
|
-
function getEcharts() {
|
|
130438
|
-
if (!echarts && typeof window !== 'undefined') {
|
|
130439
|
-
try {
|
|
130440
|
-
echarts = __webpack_require__("313e");
|
|
130441
|
-
// 注册所有主题
|
|
130442
|
-
for (const key in themeKeys) {
|
|
130443
|
-
echarts.registerTheme(key, themeKeys[key]);
|
|
130444
|
-
}
|
|
130445
|
-
} catch (e) {
|
|
130446
|
-
console.warn('[ExChart] echarts 加载失败:', e.message);
|
|
130447
|
-
}
|
|
130448
|
-
}
|
|
130449
|
-
return echarts;
|
|
130450
|
-
}
|
|
130451
|
-
|
|
130452
|
-
// 字体大小配置
|
|
130453
|
-
const fontSizeMap = {
|
|
130454
|
-
small: {
|
|
130455
|
-
title: 14,
|
|
130456
|
-
subtitle: 11,
|
|
130457
|
-
legend: 11,
|
|
130458
|
-
axisLabel: 10,
|
|
130459
|
-
tooltip: 11,
|
|
130460
|
-
label: 11
|
|
130461
|
-
},
|
|
130462
|
-
medium: {
|
|
130463
|
-
title: 16,
|
|
130464
|
-
subtitle: 12,
|
|
130465
|
-
legend: 12,
|
|
130466
|
-
axisLabel: 12,
|
|
130467
|
-
tooltip: 12,
|
|
130468
|
-
label: 12
|
|
130469
|
-
},
|
|
130470
|
-
large: {
|
|
130471
|
-
title: 18,
|
|
130472
|
-
subtitle: 14,
|
|
130473
|
-
legend: 14,
|
|
130474
|
-
axisLabel: 14,
|
|
130475
|
-
tooltip: 14,
|
|
130476
|
-
label: 14
|
|
130477
|
-
}
|
|
130478
|
-
};
|
|
130479
|
-
|
|
130480
|
-
function EchartsUtil() {}
|
|
130481
|
-
|
|
130482
|
-
EchartsUtil.currentTheme = "default";
|
|
130483
|
-
EchartsUtil.currentSize = "medium";
|
|
130484
|
-
EchartsUtil.inverse = false;
|
|
130485
|
-
|
|
130486
|
-
EchartsUtil.baseOption = {
|
|
130487
|
-
backgroundColor: "transparent",
|
|
130488
|
-
tooltip: {
|
|
130489
|
-
trigger: "axis",
|
|
130490
|
-
borderWidth: 1
|
|
130491
|
-
},
|
|
130492
|
-
legend: {
|
|
130493
|
-
right: 20,
|
|
130494
|
-
top: 0,
|
|
130495
|
-
show: true,
|
|
130496
|
-
textStyle: {
|
|
130497
|
-
fontSize: 12
|
|
130498
|
-
}
|
|
130499
|
-
},
|
|
130500
|
-
grid: {
|
|
130501
|
-
top: "25%",
|
|
130502
|
-
left: "40",
|
|
130503
|
-
right: "15",
|
|
130504
|
-
bottom: "40"
|
|
130505
|
-
},
|
|
130506
|
-
xAxis: {
|
|
130507
|
-
type: "category",
|
|
130508
|
-
boundaryGap: false,
|
|
130509
|
-
axisTick: {
|
|
130510
|
-
show: true,
|
|
130511
|
-
length: 4
|
|
130512
|
-
},
|
|
130513
|
-
axisLabel: {
|
|
130514
|
-
fontSize: 12,
|
|
130515
|
-
interval: 0,
|
|
130516
|
-
formatter: function(value) {
|
|
130517
|
-
return !this.reverse && this.longLable ? value.replace(new RegExp(`(.{${this.longLableSplitNum}})`, "g"), `$1\n`) : value;
|
|
130518
|
-
}
|
|
130519
|
-
}
|
|
130520
|
-
},
|
|
130521
|
-
yAxis: {
|
|
130522
|
-
type: "value",
|
|
130523
|
-
axisTick: {
|
|
130524
|
-
show: false
|
|
130525
|
-
},
|
|
130526
|
-
min: null,
|
|
130527
|
-
max: null,
|
|
130528
|
-
axisLabel: {
|
|
130529
|
-
show: false
|
|
130530
|
-
},
|
|
130531
|
-
splitLine: {
|
|
130532
|
-
lineStyle: {
|
|
130533
|
-
type: "dashed",
|
|
130534
|
-
width: 1
|
|
130535
|
-
}
|
|
130536
|
-
}
|
|
130537
|
-
}
|
|
130538
|
-
};
|
|
130539
|
-
|
|
130540
|
-
EchartsUtil.chartInstanceList = [];
|
|
130541
|
-
|
|
130542
|
-
EchartsUtil.mergeOptions = function(themeOption, customOption) {
|
|
130543
|
-
return Object.assign({}, this.baseOption, themeOption, customOption);
|
|
130544
|
-
};
|
|
130545
|
-
|
|
130546
|
-
// 根据字体大小调整主题配置
|
|
130547
|
-
EchartsUtil.applyFontSize = function(themeOption, size) {
|
|
130548
|
-
const fontSizeConfig = fontSizeMap[size] || fontSizeMap.medium;
|
|
130549
|
-
|
|
130550
|
-
const result = JSON.parse(JSON.stringify(themeOption));
|
|
130551
|
-
|
|
130552
|
-
// 调整标题字体大小
|
|
130553
|
-
if (result.title && result.title.textStyle) {
|
|
130554
|
-
result.title.textStyle.fontSize = fontSizeConfig.title;
|
|
130555
|
-
}
|
|
130556
|
-
if (result.title && result.title.subtextStyle) {
|
|
130557
|
-
result.title.subtextStyle.fontSize = fontSizeConfig.subtitle;
|
|
130558
|
-
}
|
|
130559
|
-
|
|
130560
|
-
// 调整图例字体大小
|
|
130561
|
-
if (result.legend && result.legend.textStyle) {
|
|
130562
|
-
result.legend.textStyle.fontSize = fontSizeConfig.legend;
|
|
130563
|
-
}
|
|
130564
|
-
|
|
130565
|
-
// 调整提示框字体大小
|
|
130566
|
-
if (result.tooltip && result.tooltip.textStyle) {
|
|
130567
|
-
result.tooltip.textStyle.fontSize = fontSizeConfig.tooltip;
|
|
130568
|
-
}
|
|
130569
|
-
|
|
130570
|
-
// 调整饼图标签字体大小
|
|
130571
|
-
if (result.pie && result.pie.label) {
|
|
130572
|
-
if (typeof result.pie.label === 'object') {
|
|
130573
|
-
result.pie.label.fontSize = fontSizeConfig.label;
|
|
130574
|
-
}
|
|
130575
|
-
}
|
|
130576
|
-
|
|
130577
|
-
// 调整雷达图指示器字体大小
|
|
130578
|
-
if (result.radar && result.radar.indicator) {
|
|
130579
|
-
if (typeof result.radar.indicator === 'object' && result.radar.indicator.textStyle) {
|
|
130580
|
-
result.radar.indicator.textStyle.fontSize = fontSizeConfig.label;
|
|
130581
|
-
}
|
|
130582
|
-
}
|
|
130583
|
-
|
|
130584
|
-
// 调整地图标签字体大小
|
|
130585
|
-
if (result.map && result.map.label) {
|
|
130586
|
-
if (typeof result.map.label === 'object') {
|
|
130587
|
-
result.map.label.fontSize = fontSizeConfig.label;
|
|
130588
|
-
}
|
|
130589
|
-
}
|
|
130590
|
-
|
|
130591
|
-
return result;
|
|
130592
|
-
};
|
|
130593
|
-
|
|
130594
|
-
EchartsUtil.init = function(dom, theme, customOption, size) {
|
|
130595
|
-
const ec = getEcharts();
|
|
130596
|
-
// SSR 环境下忽略初始化
|
|
130597
|
-
if (!ec || !dom) return null;
|
|
130598
|
-
|
|
130599
|
-
theme = theme || "default";
|
|
130600
|
-
size = size || "medium";
|
|
130601
|
-
customOption = customOption || {};
|
|
130602
|
-
|
|
130603
|
-
const useTheme = this.currentTheme || theme;
|
|
130604
|
-
const useSize = this.currentSize || size;
|
|
130605
|
-
|
|
130606
|
-
this.currentTheme = useTheme;
|
|
130607
|
-
this.currentSize = useSize;
|
|
130608
|
-
|
|
130609
|
-
let themeOption = themeKeys[useTheme];
|
|
130610
|
-
// 应用字体大小配置
|
|
130611
|
-
themeOption = this.applyFontSize(themeOption, useSize);
|
|
130612
|
-
|
|
130613
|
-
const option = this.mergeOptions(themeOption, customOption);
|
|
130614
|
-
|
|
130615
|
-
const chart = ec.init(dom, useTheme);
|
|
130616
|
-
chart.setOption(option, true);
|
|
130617
|
-
|
|
130618
|
-
this.chartInstanceList.push({
|
|
130619
|
-
dom,
|
|
130620
|
-
chart,
|
|
130621
|
-
customOption,
|
|
130622
|
-
size: useSize
|
|
130623
|
-
});
|
|
130624
|
-
|
|
130625
|
-
this.bindResize(chart);
|
|
130626
|
-
return chart;
|
|
130627
|
-
};
|
|
130628
|
-
|
|
130629
|
-
EchartsUtil.changeSingleTheme = function(dom, chartIns, customOption, newTheme) {
|
|
130630
|
-
const ec = getEcharts();
|
|
130631
|
-
if (!ec || !dom || !chartIns) return;
|
|
130632
|
-
|
|
130633
|
-
customOption = customOption || {};
|
|
130634
|
-
newTheme = newTheme || "default";
|
|
130635
|
-
|
|
130636
|
-
this.currentTheme = newTheme;
|
|
130637
|
-
chartIns.dispose();
|
|
130638
|
-
|
|
130639
|
-
const newChart = ec.init(dom, newTheme, customOption);
|
|
130640
|
-
|
|
130641
|
-
const item = this.chartInstanceList.find(function(v) {
|
|
130642
|
-
return v.dom === dom;
|
|
130643
|
-
});
|
|
130644
|
-
|
|
130645
|
-
if (item) {
|
|
130646
|
-
item.chart = newChart;
|
|
130647
|
-
}
|
|
130648
|
-
|
|
130649
|
-
return newChart;
|
|
130650
|
-
};
|
|
130651
|
-
|
|
130652
|
-
EchartsUtil.changeAllTheme = function(newTheme, newSize) {
|
|
130653
|
-
const ec = getEcharts();
|
|
130654
|
-
if (!ec || !newTheme) return;
|
|
130655
|
-
|
|
130656
|
-
this.currentTheme = newTheme;
|
|
130657
|
-
// 如果传入了新的 size,则更新全局 size
|
|
130658
|
-
if (newSize) {
|
|
130659
|
-
this.currentSize = newSize;
|
|
130660
|
-
}
|
|
130661
|
-
|
|
130662
|
-
this.chartInstanceList.forEach(function(item) {
|
|
130663
|
-
const dom = item.dom;
|
|
130664
|
-
const chart = item.chart;
|
|
130665
|
-
const customOption = item.customOption;
|
|
130666
|
-
// 使用图表自己的 size,如果没有则使用全局 size
|
|
130667
|
-
const useSize = item.size || EchartsUtil.currentSize;
|
|
130668
|
-
|
|
130669
|
-
if (chart) {
|
|
130670
|
-
chart.dispose();
|
|
130671
|
-
}
|
|
130672
|
-
|
|
130673
|
-
const newChart = ec.init(dom, newTheme);
|
|
130674
|
-
let themeOption = themeKeys[newTheme];
|
|
130675
|
-
// 应用字体大小配置
|
|
130676
|
-
themeOption = EchartsUtil.applyFontSize(themeOption, useSize);
|
|
130677
|
-
const option = EchartsUtil.mergeOptions(themeOption, customOption);
|
|
130678
|
-
|
|
130679
|
-
newChart.setOption(option, true);
|
|
130680
|
-
item.chart = newChart;
|
|
130681
|
-
// 更新图表的 size 记录
|
|
130682
|
-
item.size = useSize;
|
|
130683
|
-
EchartsUtil.bindResize(newChart);
|
|
130684
|
-
});
|
|
130685
|
-
};
|
|
130686
|
-
|
|
130687
|
-
EchartsUtil.bindResize = function(chartIns) {
|
|
130688
|
-
if (!chartIns || chartIns.resizeLocked) return;
|
|
130689
|
-
|
|
130690
|
-
window.addEventListener("resize", function() {
|
|
130691
|
-
chartIns.resize();
|
|
130692
|
-
});
|
|
130693
|
-
|
|
130694
|
-
chartIns._resizeLocked = true;
|
|
130695
|
-
};
|
|
130696
|
-
|
|
130697
|
-
EchartsUtil.destroy = function(chartIns) {
|
|
130698
|
-
if (chartIns) {
|
|
130699
|
-
chartIns.dispose();
|
|
130700
|
-
}
|
|
130701
|
-
|
|
130702
|
-
this.chartInstanceList = this.chartInstanceList.filter(function(item) {
|
|
130703
|
-
return item.chart !== chartIns;
|
|
130704
|
-
});
|
|
130705
|
-
};
|
|
130706
|
-
|
|
130707
|
-
EchartsUtil.destroyAll = function() {
|
|
130708
|
-
this.chartInstanceList.forEach(function(item) {
|
|
130709
|
-
if (item.chart) {
|
|
130710
|
-
item.chart.dispose();
|
|
130711
|
-
}
|
|
130712
|
-
});
|
|
130713
|
-
|
|
130714
|
-
this.chartInstanceList = [];
|
|
130715
|
-
};
|
|
130716
|
-
|
|
130717
|
-
/* harmony default export */ var ex_chart_utils = (EchartsUtil);
|
|
130718
|
-
|
|
130719
|
-
|
|
130720
|
-
|
|
130721
130745
|
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ex-chart/ExBar.vue?vue&type=script&lang=js
|
|
130722
130746
|
|
|
130723
130747
|
|
|
@@ -130910,7 +130934,7 @@ EchartsUtil.destroyAll = function() {
|
|
|
130910
130934
|
if (!this.markPoint) {
|
|
130911
130935
|
this.$delete(option.series[0], "markPoint");
|
|
130912
130936
|
}
|
|
130913
|
-
this.myChart =
|
|
130937
|
+
this.myChart = utils.init(_self.$refs.barchart, this.theme, option, this.size);
|
|
130914
130938
|
}
|
|
130915
130939
|
}
|
|
130916
130940
|
});
|
|
@@ -131084,7 +131108,7 @@ var ExLinevue_type_template_id_386a9c5d_scoped_true_staticRenderFns = []
|
|
|
131084
131108
|
}]
|
|
131085
131109
|
};
|
|
131086
131110
|
|
|
131087
|
-
this.myChart =
|
|
131111
|
+
this.myChart = utils.init(_self.$refs.linechart, this.theme, option, this.size);
|
|
131088
131112
|
}
|
|
131089
131113
|
}
|
|
131090
131114
|
});
|
|
@@ -131271,7 +131295,7 @@ var ExPievue_type_template_id_5100b648_scoped_true_staticRenderFns = []
|
|
|
131271
131295
|
})
|
|
131272
131296
|
}]
|
|
131273
131297
|
};
|
|
131274
|
-
this.myChart =
|
|
131298
|
+
this.myChart = utils.init(_self.$refs.piechart, this.theme, option, this.size);
|
|
131275
131299
|
}
|
|
131276
131300
|
}
|
|
131277
131301
|
});
|
|
@@ -131531,7 +131555,7 @@ var ExMultivue_type_template_id_18661424_scoped_true_staticRenderFns = []
|
|
|
131531
131555
|
],
|
|
131532
131556
|
series: this.getSeriesData()
|
|
131533
131557
|
};
|
|
131534
|
-
this.myChart =
|
|
131558
|
+
this.myChart = utils.init(_self.$refs.multilinechart, this.theme, option, this.size);
|
|
131535
131559
|
},
|
|
131536
131560
|
getSeriesData() {
|
|
131537
131561
|
// 创建 24小时 时间数据填充对象
|
|
@@ -131710,7 +131734,7 @@ var ExTrendvue_type_template_id_36cddc14_scoped_true_staticRenderFns = []
|
|
|
131710
131734
|
const _self = this;
|
|
131711
131735
|
// 数据处理
|
|
131712
131736
|
const option = this.getOption();
|
|
131713
|
-
this.myChart =
|
|
131737
|
+
this.myChart = utils.init(_self.$refs.barchart, this.theme, option, this.size);
|
|
131714
131738
|
}
|
|
131715
131739
|
}
|
|
131716
131740
|
});
|
|
@@ -131996,13 +132020,13 @@ ex_card.install = function (Vue) {
|
|
|
131996
132020
|
|
|
131997
132021
|
/* harmony default export */ var components_ex_card = (ex_card);
|
|
131998
132022
|
|
|
131999
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"44e6dca7-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ex-table/index.vue?vue&type=template&id=
|
|
132000
|
-
var
|
|
132023
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"44e6dca7-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ex-table/index.vue?vue&type=template&id=f6bc1634&scoped=true
|
|
132024
|
+
var ex_tablevue_type_template_id_f6bc1634_scoped_true_render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:"ex-table-wrapper"},[(_vm.title || _vm.$slots.toolbar)?_c('div',{staticClass:"ex-table-header"},[(_vm.title)?_c('span',{staticClass:"ex-table-title"},[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('div',{staticClass:"ex-table-toolbar"},[_vm._t("toolbar")],2)]):_vm._e(),_c('div',{staticClass:"ex-table-body"},[_c('VirtualElTable',_vm._g(_vm._b({ref:"table",staticClass:"ex-table",attrs:{"data":_vm.processedTableData,"height":_vm.computedHeight,"max-height":_vm.computedMaxHeight,"virtual-scroll":_vm.virtualScroll,"row-height":_vm.rowInitHeight,"buffer-size":_vm.bufferSize,"span-method":_vm.groupColumns.length ? _vm.handleSpanMethod : undefined,"row-class-name":_vm.getRowClassName},on:{"selection-change":_vm.handleSelectionChange,"sort-change":_vm.handleSortChange}},'VirtualElTable',_vm.$attrs,false),_vm.$listeners),[(_vm.selection)?_c('el-table-column',{attrs:{"type":"selection","width":"55","fixed":_vm.selectionFixed}}):_vm._e(),(_vm.showIndex)?_c('el-table-column',{attrs:{"type":"index","width":"60","label":"#","fixed":_vm.indexFixed,"index":_vm.indexMethod}}):_vm._e(),_vm._l((_vm.flattenedColumns),function(col){return [(col.children && col.children.length)?_c('el-table-column',_vm._b({key:col._key},'el-table-column',_vm.getColumnProps(col),false),[_vm._l((col.children),function(child){return [_c('el-table-column',_vm._b({key:child._key,scopedSlots:_vm._u([(child.render)?{key:"default",fn:function(scope){return [_vm._v(_vm._s(child.render(scope)))]}}:(child.formatter)?{key:"default",fn:function(scope){return [_c('ExTableCell',{attrs:{"row":scope.row,"index":scope.$index,"formatter":child.formatter,"column":child}})]}}:(child.slot)?{key:"default",fn:function(scope){return [_vm._t(child.slot,null,{"row":scope.row,"index":scope.$index,"column":child})]}}:null],null,true)},'el-table-column',_vm.getColumnProps(child),false))]})],2):_c('el-table-column',_vm._b({key:col._key,scopedSlots:_vm._u([(col.render)?{key:"default",fn:function(scope){return [_vm._v(_vm._s(col.render(scope)))]}}:(col.formatter)?{key:"default",fn:function(scope){return [_c('ExTableCell',{attrs:{"row":scope.row,"index":scope.$index,"formatter":col.formatter,"column":col}})]}}:(col.slot)?{key:"default",fn:function(scope){return [_vm._t(col.slot,null,{"row":scope.row,"index":scope.$index,"column":col})]}}:null],null,true)},'el-table-column',_vm.getColumnProps(col),false))]})],2)],1),(_vm.showPagination)?_c('div',{staticClass:"ex-table-footer"},[_c('el-pagination',{attrs:{"current-page":_vm.pagination.PageNum,"page-size":_vm.pagination.PageSize,"total":_vm.total,"page-sizes":_vm.pagination.PageSizes || [10, 20, 50, 100],"layout":"total, sizes, prev, pager, next, jumper"},on:{"size-change":_vm.handleSizeChange,"current-change":_vm.handleCurrentChange}})],1):_vm._e()])
|
|
132001
132025
|
}
|
|
132002
|
-
var
|
|
132026
|
+
var ex_tablevue_type_template_id_f6bc1634_scoped_true_staticRenderFns = []
|
|
132003
132027
|
|
|
132004
132028
|
|
|
132005
|
-
// CONCATENATED MODULE: ./src/components/ex-table/index.vue?vue&type=template&id=
|
|
132029
|
+
// CONCATENATED MODULE: ./src/components/ex-table/index.vue?vue&type=template&id=f6bc1634&scoped=true
|
|
132006
132030
|
|
|
132007
132031
|
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ex-table/ExTableCell.vue?vue&type=script&lang=js
|
|
132008
132032
|
|
|
@@ -132021,9 +132045,10 @@ var ex_tablevue_type_template_id_78d2b726_scoped_true_staticRenderFns = []
|
|
|
132021
132045
|
index: ctx.props.index
|
|
132022
132046
|
}
|
|
132023
132047
|
if (ctx.props.column) params.column = ctx.props.column
|
|
132024
|
-
const isVnode = (it) => typeof it === 'object' && it.hasOwnProperty('componentOptions')
|
|
132048
|
+
const isVnode = (it) => it !== null && it !== undefined && typeof it === 'object' && it.hasOwnProperty('componentOptions')
|
|
132025
132049
|
const renderNode = ctx.props.formatter(h, params)
|
|
132026
|
-
|
|
132050
|
+
if (renderNode === null || renderNode === undefined || renderNode === '') return h('span', '')
|
|
132051
|
+
return isVnode(renderNode) ? renderNode : h('span', String(renderNode))
|
|
132027
132052
|
}
|
|
132028
132053
|
});
|
|
132029
132054
|
|
|
@@ -132049,74 +132074,293 @@ var ExTableCell_component = normalizeComponent(
|
|
|
132049
132074
|
)
|
|
132050
132075
|
|
|
132051
132076
|
/* harmony default export */ var ExTableCell = (ExTableCell_component.exports);
|
|
132052
|
-
//
|
|
132053
|
-
var
|
|
132077
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"44e6dca7-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ex-table/VirtualElTable.vue?vue&type=template&id=5eb34e1c&scoped=true
|
|
132078
|
+
var VirtualElTablevue_type_template_id_5eb34e1c_scoped_true_render = function render(){var _vm=this,_c=_vm._self._c;return _c('el-table',_vm._g(_vm._b({ref:"innerTable",attrs:{"data":_vm.renderList}},'el-table',_vm.$attrs,false),_vm.$listeners),[_vm._t("default")],2)
|
|
132079
|
+
}
|
|
132080
|
+
var VirtualElTablevue_type_template_id_5eb34e1c_scoped_true_staticRenderFns = []
|
|
132081
|
+
|
|
132082
|
+
|
|
132083
|
+
// CONCATENATED MODULE: ./src/components/ex-table/VirtualElTable.vue?vue&type=template&id=5eb34e1c&scoped=true
|
|
132084
|
+
|
|
132085
|
+
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ex-table/VirtualElTable.vue?vue&type=script&lang=js
|
|
132086
|
+
|
|
132087
|
+
/* harmony default export */ var VirtualElTablevue_type_script_lang_js = ({
|
|
132088
|
+
name: 'VirtualElTable',
|
|
132089
|
+
inheritAttrs: false,
|
|
132090
|
+
|
|
132091
|
+
props: {
|
|
132092
|
+
virtualScroll: {
|
|
132093
|
+
type: Boolean,
|
|
132094
|
+
default: false
|
|
132095
|
+
},
|
|
132096
|
+
rowHeight: {
|
|
132097
|
+
type: Number,
|
|
132098
|
+
default: 48
|
|
132099
|
+
},
|
|
132100
|
+
bufferSize: {
|
|
132101
|
+
type: Number,
|
|
132102
|
+
default: 5
|
|
132103
|
+
}
|
|
132104
|
+
},
|
|
132105
|
+
|
|
132106
|
+
data() {
|
|
132107
|
+
return {
|
|
132108
|
+
scrollWrap: null,
|
|
132109
|
+
phantomDom: null,
|
|
132110
|
+
scrollTop: 0,
|
|
132111
|
+
// 根据数据量与容器高度预先估算一个合理的 endIndex,避免首屏只渲染 0 行
|
|
132112
|
+
startIndex: 0,
|
|
132113
|
+
endIndex: 20,
|
|
132114
|
+
rafId: null,
|
|
132115
|
+
unwatchPhantom: null,
|
|
132116
|
+
layoutTimer: null,
|
|
132117
|
+
retryTimers: []
|
|
132118
|
+
}
|
|
132119
|
+
},
|
|
132120
|
+
|
|
132121
|
+
computed: {
|
|
132122
|
+
originData() {
|
|
132123
|
+
return this.$attrs.data || []
|
|
132124
|
+
},
|
|
132125
|
+
renderList() {
|
|
132126
|
+
if (!this.virtualScroll) return this.originData
|
|
132127
|
+
const start = Math.max(0, this.startIndex - this.bufferSize)
|
|
132128
|
+
const end = Math.min(this.originData.length, this.endIndex + this.bufferSize)
|
|
132129
|
+
return this.originData.slice(start, end)
|
|
132130
|
+
},
|
|
132131
|
+
totalListHeight() {
|
|
132132
|
+
return this.originData.length * this.rowHeight
|
|
132133
|
+
},
|
|
132134
|
+
contentOffsetY() {
|
|
132135
|
+
return Math.max(0, this.startIndex - this.bufferSize) * this.rowHeight
|
|
132136
|
+
}
|
|
132137
|
+
},
|
|
132138
|
+
|
|
132139
|
+
watch: {
|
|
132140
|
+
renderList() {
|
|
132141
|
+
this.scheduleLayout()
|
|
132142
|
+
},
|
|
132143
|
+
originData: {
|
|
132144
|
+
handler(val) {
|
|
132145
|
+
if (!this.virtualScroll) return
|
|
132146
|
+
if (val && val.length) {
|
|
132147
|
+
this.$nextTick(() => {
|
|
132148
|
+
this.calcVisibleRange()
|
|
132149
|
+
})
|
|
132150
|
+
}
|
|
132151
|
+
}
|
|
132152
|
+
}
|
|
132153
|
+
},
|
|
132154
|
+
|
|
132155
|
+
mounted() {
|
|
132156
|
+
this.$nextTick(() => {
|
|
132157
|
+
this.initVirtualScroll()
|
|
132158
|
+
})
|
|
132159
|
+
},
|
|
132160
|
+
|
|
132161
|
+
beforeDestroy() {
|
|
132162
|
+
this.unbindScrollEvent()
|
|
132163
|
+
if (this.rafId) {
|
|
132164
|
+
cancelAnimationFrame(this.rafId)
|
|
132165
|
+
this.rafId = null
|
|
132166
|
+
}
|
|
132167
|
+
if (this.unwatchPhantom) {
|
|
132168
|
+
this.unwatchPhantom()
|
|
132169
|
+
this.unwatchPhantom = null
|
|
132170
|
+
}
|
|
132171
|
+
if (this.layoutTimer) {
|
|
132172
|
+
clearTimeout(this.layoutTimer)
|
|
132173
|
+
this.layoutTimer = null
|
|
132174
|
+
}
|
|
132175
|
+
this.retryTimers.forEach(t => clearTimeout(t))
|
|
132176
|
+
this.retryTimers = []
|
|
132177
|
+
},
|
|
132178
|
+
|
|
132179
|
+
methods: {
|
|
132180
|
+
initVirtualScroll() {
|
|
132181
|
+
if (!this.virtualScroll) return
|
|
132182
|
+
this.scrollWrap = this.$refs.innerTable.$el.querySelector('.el-table__body-wrapper')
|
|
132183
|
+
if (!this.scrollWrap) {
|
|
132184
|
+
console.warn('[VirtualElTable] 无法找到滚动容器,虚拟滚动功能已禁用')
|
|
132185
|
+
this.virtualScroll = false
|
|
132186
|
+
return
|
|
132187
|
+
}
|
|
132188
|
+
|
|
132189
|
+
this.scrollWrap.style.overflowY = 'auto'
|
|
132190
|
+
this.scrollWrap.style.overflowX = 'auto'
|
|
132191
|
+
|
|
132192
|
+
this.wrapTableBody()
|
|
132193
|
+
this.scrollWrap.addEventListener('scroll', this.onScroll, { passive: true })
|
|
132194
|
+
|
|
132195
|
+
// 首次可见范围计算 + 多次重试:
|
|
132196
|
+
// ElementUI 的 el-table 在 mounted 后仍会异步完成列宽/高度布局,
|
|
132197
|
+
// 单次 $nextTick 可能拿到 clientHeight=0,导致计算失败且无法恢复。
|
|
132198
|
+
// 以递增延迟多次调用,直到 scrollWrap.clientHeight 获得稳定值。
|
|
132199
|
+
this.calcVisibleRange()
|
|
132200
|
+
const delays = [100, 300, 600, 1000]
|
|
132201
|
+
delays.forEach(ms => {
|
|
132202
|
+
const timer = setTimeout(() => {
|
|
132203
|
+
this.calcVisibleRange()
|
|
132204
|
+
}, ms)
|
|
132205
|
+
this.retryTimers.push(timer)
|
|
132206
|
+
})
|
|
132207
|
+
},
|
|
132208
|
+
|
|
132209
|
+
wrapTableBody() {
|
|
132210
|
+
const bodyDom = this.scrollWrap.querySelector('.el-table__body')
|
|
132211
|
+
if (!bodyDom || bodyDom.querySelector('.vs-phantom')) return
|
|
132212
|
+
|
|
132213
|
+
// phantom 采用标准 block 布局:
|
|
132214
|
+
// - height = 总数据高度,确保撑开 body-wrapper 的滚动条
|
|
132215
|
+
// - padding-top = 可见区域偏移量,将 table 推到正确位置
|
|
132216
|
+
// - min-width: 100%(不设 width),允许 table 自然撑开,保证列宽生效
|
|
132217
|
+
const phantom = document.createElement('div')
|
|
132218
|
+
phantom.className = 'vs-phantom'
|
|
132219
|
+
phantom.style.position = 'relative'
|
|
132220
|
+
phantom.style.minWidth = '100%'
|
|
132221
|
+
phantom.style.boxSizing = 'border-box'
|
|
132222
|
+
phantom.style.zIndex = '1'
|
|
132223
|
+
this.phantomDom = phantom
|
|
132224
|
+
|
|
132225
|
+
const table = bodyDom.querySelector('table')
|
|
132226
|
+
phantom.appendChild(table)
|
|
132227
|
+
bodyDom.appendChild(phantom)
|
|
132228
|
+
|
|
132229
|
+
this.unwatchPhantom = this.$watch(
|
|
132230
|
+
['totalListHeight', 'contentOffsetY'],
|
|
132231
|
+
() => {
|
|
132232
|
+
if (this.phantomDom) {
|
|
132233
|
+
this.phantomDom.style.height = `${this.totalListHeight}px`
|
|
132234
|
+
this.phantomDom.style.paddingTop = `${this.contentOffsetY}px`
|
|
132235
|
+
}
|
|
132236
|
+
},
|
|
132237
|
+
{ immediate: true }
|
|
132238
|
+
)
|
|
132239
|
+
},
|
|
132240
|
+
|
|
132241
|
+
onScroll() {
|
|
132242
|
+
this.scrollTop = this.scrollWrap.scrollTop
|
|
132243
|
+
if (this.rafId) return
|
|
132244
|
+
this.rafId = requestAnimationFrame(() => {
|
|
132245
|
+
this.calcVisibleRange()
|
|
132246
|
+
this.rafId = null
|
|
132247
|
+
})
|
|
132248
|
+
},
|
|
132249
|
+
|
|
132250
|
+
calcVisibleRange() {
|
|
132251
|
+
if (!this.scrollWrap) return
|
|
132252
|
+
let viewHeight = this.scrollWrap.clientHeight
|
|
132253
|
+
|
|
132254
|
+
// 关键兜底:ElementUI 异步布局尚未完成时,clientHeight 可能为 0,
|
|
132255
|
+
// 此时用组件接收到的 height / max-height 作为估算值,确保至少能渲染正确数量的行。
|
|
132256
|
+
if (!viewHeight) {
|
|
132257
|
+
const h = this.$attrs.height || this.$attrs.maxHeight
|
|
132258
|
+
if (h) {
|
|
132259
|
+
viewHeight = typeof h === 'number' ? h : parseInt(String(h), 10)
|
|
132260
|
+
}
|
|
132261
|
+
}
|
|
132262
|
+
if (!viewHeight || viewHeight <= 0) return
|
|
132263
|
+
|
|
132264
|
+
const visibleRowCount = Math.ceil(viewHeight / this.rowHeight)
|
|
132265
|
+
const newStart = Math.floor(this.scrollTop / this.rowHeight)
|
|
132266
|
+
const newEnd = Math.min(this.originData.length, newStart + visibleRowCount)
|
|
132267
|
+
|
|
132268
|
+
if (newStart !== this.startIndex || newEnd !== this.endIndex) {
|
|
132269
|
+
this.startIndex = newStart
|
|
132270
|
+
this.endIndex = newEnd
|
|
132271
|
+
}
|
|
132272
|
+
},
|
|
132273
|
+
|
|
132274
|
+
unbindScrollEvent() {
|
|
132275
|
+
if (this.scrollWrap) {
|
|
132276
|
+
this.scrollWrap.removeEventListener('scroll', this.onScroll)
|
|
132277
|
+
}
|
|
132278
|
+
},
|
|
132279
|
+
|
|
132280
|
+
scheduleLayout() {
|
|
132281
|
+
if (this.layoutTimer) return
|
|
132282
|
+
this.layoutTimer = setTimeout(() => {
|
|
132283
|
+
if (this.$refs.innerTable) {
|
|
132284
|
+
this.$refs.innerTable.doLayout()
|
|
132285
|
+
}
|
|
132286
|
+
this.layoutTimer = null
|
|
132287
|
+
}, 0)
|
|
132288
|
+
},
|
|
132289
|
+
|
|
132290
|
+
clearSelection() {
|
|
132291
|
+
return this.$refs.innerTable.clearSelection()
|
|
132292
|
+
},
|
|
132293
|
+
toggleRowSelection() {
|
|
132294
|
+
return this.$refs.innerTable.toggleRowSelection()
|
|
132295
|
+
},
|
|
132296
|
+
doLayout() {
|
|
132297
|
+
return this.$refs.innerTable.doLayout()
|
|
132298
|
+
}
|
|
132299
|
+
}
|
|
132300
|
+
});
|
|
132301
|
+
|
|
132302
|
+
// CONCATENATED MODULE: ./src/components/ex-table/VirtualElTable.vue?vue&type=script&lang=js
|
|
132303
|
+
/* harmony default export */ var ex_table_VirtualElTablevue_type_script_lang_js = (VirtualElTablevue_type_script_lang_js);
|
|
132304
|
+
// EXTERNAL MODULE: ./src/components/ex-table/VirtualElTable.vue?vue&type=style&index=0&id=5eb34e1c&prod&scoped=true&lang=css
|
|
132305
|
+
var VirtualElTablevue_type_style_index_0_id_5eb34e1c_prod_scoped_true_lang_css = __webpack_require__("ac06");
|
|
132306
|
+
|
|
132307
|
+
// CONCATENATED MODULE: ./src/components/ex-table/VirtualElTable.vue
|
|
132308
|
+
|
|
132054
132309
|
|
|
132310
|
+
|
|
132311
|
+
|
|
132312
|
+
|
|
132313
|
+
|
|
132314
|
+
/* normalize component */
|
|
132315
|
+
|
|
132316
|
+
var VirtualElTable_component = normalizeComponent(
|
|
132317
|
+
ex_table_VirtualElTablevue_type_script_lang_js,
|
|
132318
|
+
VirtualElTablevue_type_template_id_5eb34e1c_scoped_true_render,
|
|
132319
|
+
VirtualElTablevue_type_template_id_5eb34e1c_scoped_true_staticRenderFns,
|
|
132320
|
+
false,
|
|
132321
|
+
null,
|
|
132322
|
+
"5eb34e1c",
|
|
132323
|
+
null
|
|
132324
|
+
|
|
132325
|
+
)
|
|
132326
|
+
|
|
132327
|
+
/* harmony default export */ var VirtualElTable = (VirtualElTable_component.exports);
|
|
132055
132328
|
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ex-table/index.vue?vue&type=script&lang=js
|
|
132056
132329
|
|
|
132057
132330
|
|
|
132058
|
-
// 内部导入 element-ui 组件,避免与外部 element-ui 冲突
|
|
132059
132331
|
|
|
132060
132332
|
|
|
132061
132333
|
/* harmony default export */ var ex_tablevue_type_script_lang_js = ({
|
|
132062
132334
|
name: 'ExTable',
|
|
132063
132335
|
inheritAttrs: false,
|
|
132064
|
-
components: { ExTableCell: ExTableCell,
|
|
132336
|
+
components: { ExTableCell: ExTableCell, VirtualElTable: VirtualElTable },
|
|
132337
|
+
|
|
132065
132338
|
props: {
|
|
132066
|
-
// 表格数据
|
|
132067
132339
|
tableData: { type: Array, default: () => [] },
|
|
132068
|
-
// 列配置(支持 children 多级表头)
|
|
132069
132340
|
columns: { type: Array, default: () => [] },
|
|
132070
|
-
// 分组列配置(按配置的层级合并单元格)
|
|
132071
132341
|
groupColumns: { type: Array, default: () => [] },
|
|
132072
|
-
// 标题
|
|
132073
132342
|
title: { type: String, default: '' },
|
|
132074
|
-
// 高度
|
|
132075
132343
|
height: { type: [Number, String], default: null },
|
|
132076
|
-
// 最大高度(非虚拟滚动时与 height 二选一,均支持固定表头)
|
|
132077
132344
|
maxHeight: { type: [Number, String], default: null },
|
|
132078
|
-
// 虚拟滚动
|
|
132079
132345
|
virtualScroll: { type: Boolean, default: false },
|
|
132080
|
-
// 预估行高
|
|
132081
132346
|
rowInitHeight: { type: Number, default: 48 },
|
|
132082
|
-
// 缓冲区行数
|
|
132083
132347
|
bufferSize: { type: Number, default: 5 },
|
|
132084
|
-
// 分页配置
|
|
132085
132348
|
pagination: { type: Object, default: null },
|
|
132086
|
-
// 总条数
|
|
132087
132349
|
total: { type: Number, default: 0 },
|
|
132088
|
-
// 是否显示序号
|
|
132089
132350
|
showIndex: { type: Boolean, default: false },
|
|
132090
|
-
// 是否可选
|
|
132091
132351
|
selection: { type: Boolean, default: false },
|
|
132092
|
-
// 选择列固定位置
|
|
132093
132352
|
selectionFixed: { type: [String, Boolean], default: false },
|
|
132094
|
-
// 序号列固定位置
|
|
132095
132353
|
indexFixed: { type: [String, Boolean], default: false },
|
|
132096
|
-
// 加载状态
|
|
132097
132354
|
loading: { type: Boolean, default: false },
|
|
132098
|
-
// 空数据文案
|
|
132099
132355
|
emptyText: { type: String, default: '暂无数据' },
|
|
132100
|
-
// 小计配置
|
|
132101
132356
|
subtotalConfig: { type: Object, default: () => ({ enabled: false }) },
|
|
132102
|
-
// 总计配置
|
|
132103
132357
|
totalConfig: { type: Object, default: () => ({ enabled: false }) }
|
|
132104
132358
|
},
|
|
132105
132359
|
|
|
132106
132360
|
data() {
|
|
132107
132361
|
return {
|
|
132108
|
-
// 虚拟滚动相关
|
|
132109
|
-
scrollTop: 0,
|
|
132110
|
-
scrollLeft: 0,
|
|
132111
|
-
rowHeight: 48,
|
|
132112
|
-
visibleStartIndex: 0,
|
|
132113
|
-
visibleEndIndex: 0,
|
|
132114
|
-
visibleCount: 0,
|
|
132115
|
-
// 分组合并缓存
|
|
132116
132362
|
spanCache: {},
|
|
132117
|
-
// 列扁平化缓存
|
|
132118
132363
|
flattenedColumnsCache: [],
|
|
132119
|
-
// 选中数据
|
|
132120
132364
|
selectedRows: []
|
|
132121
132365
|
}
|
|
132122
132366
|
},
|
|
@@ -132125,75 +132369,44 @@ var external_ElementUI_ = __webpack_require__("5f72");
|
|
|
132125
132369
|
showPagination() {
|
|
132126
132370
|
return this.pagination && this.total > 0
|
|
132127
132371
|
},
|
|
132128
|
-
|
|
132129
132372
|
computedHeight() {
|
|
132130
|
-
if (this.virtualScroll) {
|
|
132131
|
-
return this.height || this.maxHeight || 400
|
|
132132
|
-
}
|
|
132133
132373
|
return this.height || undefined
|
|
132134
132374
|
},
|
|
132135
|
-
|
|
132136
132375
|
computedMaxHeight() {
|
|
132137
|
-
|
|
132138
|
-
return this.maxHeight || undefined
|
|
132139
|
-
},
|
|
132140
|
-
|
|
132141
|
-
// 虚拟滚动固定表头占位数据(仅渲染表头,不渲染 body 行)
|
|
132142
|
-
headerTableData() {
|
|
132143
|
-
return []
|
|
132376
|
+
return this.height ? undefined : this.maxHeight || undefined
|
|
132144
132377
|
},
|
|
132145
132378
|
|
|
132146
|
-
//
|
|
132379
|
+
// 处理小计、总计后的最终数据
|
|
132147
132380
|
processedTableData() {
|
|
132148
132381
|
if (!this.tableData.length) return []
|
|
132149
|
-
|
|
132150
132382
|
let data = [...this.tableData]
|
|
132151
132383
|
const hasSubtotal = this.subtotalConfig && this.subtotalConfig.enabled
|
|
132152
132384
|
const hasTotal = this.totalConfig && this.totalConfig.enabled
|
|
132153
132385
|
|
|
132154
132386
|
if (!hasSubtotal && !hasTotal) return data
|
|
132155
132387
|
|
|
132156
|
-
// 找到第一个数据列作为标签列
|
|
132157
132388
|
const labelColumn = this.findLabelColumn()
|
|
132158
|
-
|
|
132159
132389
|
let result = []
|
|
132160
132390
|
|
|
132161
132391
|
if (hasSubtotal && this.subtotalConfig.groupBy && this.subtotalConfig.groupBy.length) {
|
|
132162
|
-
// 按 groupBy 分组
|
|
132163
132392
|
const groups = this.groupData(data, this.subtotalConfig.groupBy)
|
|
132164
|
-
groups.forEach((groupRows
|
|
132165
|
-
// 插入数据行
|
|
132393
|
+
groups.forEach((groupRows) => {
|
|
132166
132394
|
result.push(...groupRows)
|
|
132167
|
-
|
|
132168
|
-
const subtotalRow = this.createSubtotalRow(groupRows, groupKey)
|
|
132395
|
+
const subtotalRow = this.createSubtotalRow(groupRows)
|
|
132169
132396
|
result.push(subtotalRow)
|
|
132170
132397
|
})
|
|
132171
132398
|
} else {
|
|
132172
132399
|
result = data
|
|
132173
132400
|
}
|
|
132174
132401
|
|
|
132175
|
-
// 插入总计行
|
|
132176
132402
|
if (hasTotal) {
|
|
132177
132403
|
const totalRow = this.createTotalRow(data)
|
|
132178
132404
|
result.push(totalRow)
|
|
132179
132405
|
}
|
|
132180
|
-
|
|
132181
132406
|
return result
|
|
132182
132407
|
},
|
|
132183
132408
|
|
|
132184
|
-
//
|
|
132185
|
-
virtualTotalHeight() {
|
|
132186
|
-
const data = this.processedTableData
|
|
132187
|
-
return data.length * this.rowHeight
|
|
132188
|
-
},
|
|
132189
|
-
|
|
132190
|
-
// 虚拟滚动偏移量
|
|
132191
|
-
virtualOffsetY() {
|
|
132192
|
-
const start = Math.max(0, this.visibleStartIndex - this.bufferSize)
|
|
132193
|
-
return start * this.rowHeight
|
|
132194
|
-
},
|
|
132195
|
-
|
|
132196
|
-
// 扁平化列配置(为每级列补充 _key)
|
|
132409
|
+
// 扁平化列配置,添加唯一 key
|
|
132197
132410
|
flattenedColumns() {
|
|
132198
132411
|
if (this.flattenedColumnsCache.length) return this.flattenedColumnsCache
|
|
132199
132412
|
const assignKeys = (cols, parentPath = '') => {
|
|
@@ -132209,91 +132422,47 @@ var external_ElementUI_ = __webpack_require__("5f72");
|
|
|
132209
132422
|
}
|
|
132210
132423
|
this.flattenedColumnsCache = assignKeys(this.columns)
|
|
132211
132424
|
return this.flattenedColumnsCache
|
|
132212
|
-
},
|
|
132213
|
-
|
|
132214
|
-
// 虚拟滚动时的可见数据(附带 _realIndex 供序号列使用)
|
|
132215
|
-
visibleData() {
|
|
132216
|
-
const data = this.processedTableData
|
|
132217
|
-
if (!this.virtualScroll || data.length === 0) {
|
|
132218
|
-
return data
|
|
132219
|
-
}
|
|
132220
|
-
const start = Math.max(0, this.visibleStartIndex - this.bufferSize)
|
|
132221
|
-
const end = Math.min(data.length, this.visibleEndIndex + this.bufferSize)
|
|
132222
|
-
return data.slice(start, end).map((row, i) => ({
|
|
132223
|
-
...row,
|
|
132224
|
-
_realIndex: start + i
|
|
132225
|
-
}))
|
|
132226
132425
|
}
|
|
132227
132426
|
},
|
|
132228
132427
|
|
|
132229
132428
|
watch: {
|
|
132230
|
-
tableData
|
|
132231
|
-
|
|
132232
|
-
|
|
132233
|
-
this.flattenedColumnsCache = []
|
|
132234
|
-
if (this.virtualScroll) {
|
|
132235
|
-
this.$nextTick(() => {
|
|
132236
|
-
this.measureRowHeight()
|
|
132237
|
-
this.updateVisibleRange()
|
|
132238
|
-
this.syncTableLayout()
|
|
132239
|
-
})
|
|
132240
|
-
}
|
|
132241
|
-
},
|
|
132242
|
-
immediate: false
|
|
132429
|
+
tableData() {
|
|
132430
|
+
this.spanCache = {}
|
|
132431
|
+
this.flattenedColumnsCache = []
|
|
132243
132432
|
},
|
|
132244
|
-
|
|
132245
132433
|
columns: {
|
|
132246
132434
|
handler() {
|
|
132247
132435
|
this.flattenedColumnsCache = []
|
|
132248
|
-
|
|
132249
|
-
this.$nextTick(() => this.syncTableLayout())
|
|
132250
|
-
}
|
|
132436
|
+
this.spanCache = {}
|
|
132251
132437
|
},
|
|
132252
132438
|
deep: true
|
|
132253
132439
|
},
|
|
132254
|
-
|
|
132255
|
-
|
|
132256
|
-
|
|
132257
|
-
|
|
132258
|
-
|
|
132259
|
-
},
|
|
132260
|
-
|
|
132261
|
-
maxHeight() {
|
|
132262
|
-
if (this.virtualScroll) {
|
|
132263
|
-
this.$nextTick(() => this.syncTableLayout())
|
|
132264
|
-
}
|
|
132265
|
-
},
|
|
132266
|
-
|
|
132267
|
-
virtualScroll(val) {
|
|
132268
|
-
if (val) {
|
|
132269
|
-
this.$nextTick(() => this.initVirtualScroll())
|
|
132270
|
-
} else {
|
|
132271
|
-
this.destroyVirtualScroll()
|
|
132272
|
-
}
|
|
132440
|
+
groupColumns: {
|
|
132441
|
+
handler() {
|
|
132442
|
+
this.spanCache = {}
|
|
132443
|
+
},
|
|
132444
|
+
deep: true
|
|
132273
132445
|
}
|
|
132274
132446
|
},
|
|
132275
132447
|
|
|
132276
132448
|
mounted() {
|
|
132277
|
-
|
|
132278
|
-
|
|
132279
|
-
}
|
|
132280
|
-
// 监听窗口resize,更新表格宽度
|
|
132281
|
-
this.resizeHandler = () => {
|
|
132282
|
-
if (this.virtualScroll) {
|
|
132283
|
-
this.$nextTick(() => this.syncTableLayout())
|
|
132284
|
-
}
|
|
132285
|
-
}
|
|
132286
|
-
window.addEventListener('resize', this.resizeHandler)
|
|
132449
|
+
this.$nextTick(() => {
|
|
132450
|
+
window.addEventListener('resize', this.handleResize)
|
|
132451
|
+
})
|
|
132287
132452
|
},
|
|
132288
132453
|
|
|
132289
132454
|
beforeDestroy() {
|
|
132290
|
-
this.
|
|
132291
|
-
window.removeEventListener('resize', this.resizeHandler)
|
|
132455
|
+
window.removeEventListener('resize', this.handleResize)
|
|
132292
132456
|
},
|
|
132293
132457
|
|
|
132294
132458
|
methods: {
|
|
132295
|
-
|
|
132296
|
-
|
|
132459
|
+
handleResize() {
|
|
132460
|
+
this.$nextTick(() => {
|
|
132461
|
+
this.$refs.table && this.$refs.table.doLayout()
|
|
132462
|
+
})
|
|
132463
|
+
},
|
|
132464
|
+
|
|
132465
|
+
// ========== 小计 / 总计 相关 ==========
|
|
132297
132466
|
findLabelColumn() {
|
|
132298
132467
|
for (const col of this.columns) {
|
|
132299
132468
|
if (col.children && col.children.length) {
|
|
@@ -132307,33 +132476,25 @@ var external_ElementUI_ = __webpack_require__("5f72");
|
|
|
132307
132476
|
return { prop: '', label: '' }
|
|
132308
132477
|
},
|
|
132309
132478
|
|
|
132310
|
-
// 按指定字段分组(保持分组顺序)
|
|
132311
132479
|
groupData(data, groupBy) {
|
|
132312
132480
|
const map = new Map()
|
|
132313
132481
|
data.forEach(row => {
|
|
132314
132482
|
const key = groupBy.map(f => row[f]).join('|||')
|
|
132315
|
-
if (!map.has(key))
|
|
132316
|
-
map.set(key, [])
|
|
132317
|
-
}
|
|
132483
|
+
if (!map.has(key)) map.set(key, [])
|
|
132318
132484
|
map.get(key).push(row)
|
|
132319
132485
|
})
|
|
132320
132486
|
return map
|
|
132321
132487
|
},
|
|
132322
132488
|
|
|
132323
|
-
// 计算单列的聚合值
|
|
132324
132489
|
_calcValue(rows, calc) {
|
|
132325
|
-
// 自定义函数
|
|
132326
132490
|
if (typeof calc === 'function') return calc(rows)
|
|
132327
|
-
|
|
132328
|
-
// 字符串:'sum' | 'avg' | 'count' | 'min' | 'max'(需配合 prop 使用)
|
|
132329
|
-
|
|
132330
|
-
// 对象:{ prop: 'field', type: 'sum' } 或 { prop: 'field' } (默认 sum)
|
|
132331
132491
|
const prop = calc.prop
|
|
132332
132492
|
const type = calc.type || 'sum'
|
|
132333
132493
|
const vals = prop ? rows.map(r => parseFloat(r[prop]) || 0) : []
|
|
132334
132494
|
switch (type) {
|
|
132335
132495
|
case 'sum': return vals.reduce((s, v) => s + v, 0)
|
|
132336
|
-
case 'avg':
|
|
132496
|
+
case 'avg':
|
|
132497
|
+
case 'average': return vals.length ? vals.reduce((s, v) => s + v, 0) / vals.length : 0
|
|
132337
132498
|
case 'count': return rows.length
|
|
132338
132499
|
case 'min': return vals.length ? Math.min(...vals) : 0
|
|
132339
132500
|
case 'max': return vals.length ? Math.max(...vals) : 0
|
|
@@ -132341,20 +132502,16 @@ var external_ElementUI_ = __webpack_require__("5f72");
|
|
|
132341
132502
|
}
|
|
132342
132503
|
},
|
|
132343
132504
|
|
|
132344
|
-
|
|
132345
|
-
createSubtotalRow(groupRows, groupKey) {
|
|
132505
|
+
createSubtotalRow(groupRows) {
|
|
132346
132506
|
const config = this.subtotalConfig
|
|
132347
132507
|
const rawLabelProp = this.findLabelColumn()
|
|
132348
|
-
|
|
132349
|
-
// 获取第一个 groupBy 列的值显示
|
|
132350
132508
|
const labelField = config.groupBy ? config.groupBy[0] : ''
|
|
132351
|
-
const groupValue = groupRows[0] ? groupRows[0][labelField] :
|
|
132509
|
+
const groupValue = groupRows[0] ? groupRows[0][labelField] : ''
|
|
132352
132510
|
const labelText = config.labelText || `${groupValue} 小计`
|
|
132353
132511
|
|
|
132354
|
-
const row = { _rowType: 'subtotal'
|
|
132512
|
+
const row = { _rowType: 'subtotal' }
|
|
132355
132513
|
row[rawLabelProp.prop] = labelText
|
|
132356
132514
|
|
|
132357
|
-
// 计算各列的聚合值
|
|
132358
132515
|
if (config.columns) {
|
|
132359
132516
|
Object.keys(config.columns).forEach(prop => {
|
|
132360
132517
|
const calc = config.columns[prop]
|
|
@@ -132363,11 +132520,9 @@ var external_ElementUI_ = __webpack_require__("5f72");
|
|
|
132363
132520
|
: this._calcValue(groupRows, calc)
|
|
132364
132521
|
})
|
|
132365
132522
|
}
|
|
132366
|
-
|
|
132367
132523
|
return row
|
|
132368
132524
|
},
|
|
132369
132525
|
|
|
132370
|
-
// 创建总计行
|
|
132371
132526
|
createTotalRow(allRows) {
|
|
132372
132527
|
const config = this.totalConfig
|
|
132373
132528
|
const rawLabelProp = this.findLabelColumn()
|
|
@@ -132376,7 +132531,6 @@ var external_ElementUI_ = __webpack_require__("5f72");
|
|
|
132376
132531
|
const row = { _rowType: 'total' }
|
|
132377
132532
|
row[rawLabelProp.prop] = labelText
|
|
132378
132533
|
|
|
132379
|
-
// 计算各列的聚合值
|
|
132380
132534
|
if (config.columns) {
|
|
132381
132535
|
Object.keys(config.columns).forEach(prop => {
|
|
132382
132536
|
const calc = config.columns[prop]
|
|
@@ -132385,55 +132539,40 @@ var external_ElementUI_ = __webpack_require__("5f72");
|
|
|
132385
132539
|
: this._calcValue(allRows, calc)
|
|
132386
132540
|
})
|
|
132387
132541
|
}
|
|
132388
|
-
|
|
132389
132542
|
return row
|
|
132390
132543
|
},
|
|
132391
132544
|
|
|
132392
|
-
// 行类名(小计/总计行样式)
|
|
132393
132545
|
getRowClassName({ row }) {
|
|
132394
|
-
if (!row) return ''
|
|
132395
132546
|
if (row._rowType === 'subtotal') return 'ex-table-row-subtotal'
|
|
132396
132547
|
if (row._rowType === 'total') return 'ex-table-row-total'
|
|
132397
132548
|
return ''
|
|
132398
132549
|
},
|
|
132399
132550
|
|
|
132400
|
-
//
|
|
132551
|
+
// ========== 列处理 ==========
|
|
132401
132552
|
getColumnProps(col) {
|
|
132402
132553
|
const { _key, children, render, formatter, slot, ...props } = col
|
|
132403
132554
|
return props
|
|
132404
132555
|
},
|
|
132405
132556
|
|
|
132406
|
-
// ==================== 序号方法 ====================
|
|
132407
132557
|
indexMethod(index) {
|
|
132408
|
-
if (this.virtualScroll && this.visibleData.length > 0) {
|
|
132409
|
-
const row = this.visibleData[index]
|
|
132410
|
-
if (row && row._realIndex !== undefined) {
|
|
132411
|
-
return row._realIndex + 1
|
|
132412
|
-
}
|
|
132413
|
-
}
|
|
132414
132558
|
return index + 1
|
|
132415
132559
|
},
|
|
132416
132560
|
|
|
132417
|
-
//
|
|
132561
|
+
// ========== 合并单元格 ==========
|
|
132418
132562
|
handleSpanMethod({ row, column, rowIndex }) {
|
|
132419
|
-
// 跳过小计/总计行,不做合并
|
|
132420
132563
|
if (row._rowType === 'subtotal' || row._rowType === 'total') {
|
|
132421
132564
|
return { rowspan: 1, colspan: 1 }
|
|
132422
132565
|
}
|
|
132423
|
-
|
|
132424
132566
|
if (!this.groupColumns.length) return { rowspan: 1, colspan: 1 }
|
|
132425
132567
|
|
|
132426
|
-
const data = this.
|
|
132568
|
+
const data = this.processedTableData
|
|
132427
132569
|
const prop = column.property
|
|
132428
132570
|
const groupIndex = this.groupColumns.indexOf(prop)
|
|
132429
|
-
|
|
132430
132571
|
if (groupIndex === -1) return { rowspan: 1, colspan: 1 }
|
|
132431
132572
|
|
|
132432
|
-
// 检查缓存
|
|
132433
132573
|
const cacheKey = `${rowIndex}_${prop}`
|
|
132434
132574
|
if (this.spanCache[cacheKey]) return this.spanCache[cacheKey]
|
|
132435
132575
|
|
|
132436
|
-
// 判断当前行是否与前一行在分组列上完全相同
|
|
132437
132576
|
if (rowIndex > 0) {
|
|
132438
132577
|
const prevRow = data[rowIndex - 1]
|
|
132439
132578
|
let isSame = true
|
|
@@ -132445,156 +132584,74 @@ var external_ElementUI_ = __webpack_require__("5f72");
|
|
|
132445
132584
|
}
|
|
132446
132585
|
}
|
|
132447
132586
|
if (isSame) {
|
|
132448
|
-
const
|
|
132449
|
-
this.spanCache[cacheKey] =
|
|
132450
|
-
return
|
|
132587
|
+
const res = { rowspan: 0, colspan: 1 }
|
|
132588
|
+
this.spanCache[cacheKey] = res
|
|
132589
|
+
return res
|
|
132451
132590
|
}
|
|
132452
132591
|
}
|
|
132453
132592
|
|
|
132454
|
-
// 向下扫描计算合并行数
|
|
132455
132593
|
let count = 1
|
|
132456
132594
|
for (let i = rowIndex + 1; i < data.length; i++) {
|
|
132457
132595
|
const nextRow = data[i]
|
|
132458
|
-
let
|
|
132596
|
+
let same = true
|
|
132459
132597
|
for (let j = 0; j <= groupIndex; j++) {
|
|
132460
132598
|
const gp = this.groupColumns[j]
|
|
132461
132599
|
if (nextRow[gp] !== row[gp]) {
|
|
132462
|
-
|
|
132600
|
+
same = false
|
|
132463
132601
|
break
|
|
132464
132602
|
}
|
|
132465
132603
|
}
|
|
132466
|
-
if (
|
|
132467
|
-
|
|
132468
|
-
} else {
|
|
132469
|
-
break
|
|
132470
|
-
}
|
|
132604
|
+
if (same) count++
|
|
132605
|
+
else break
|
|
132471
132606
|
}
|
|
132472
132607
|
|
|
132473
|
-
const
|
|
132474
|
-
this.spanCache[cacheKey] =
|
|
132475
|
-
return
|
|
132608
|
+
const res = { rowspan: count > 1 ? count : 1, colspan: 1 }
|
|
132609
|
+
this.spanCache[cacheKey] = res
|
|
132610
|
+
return res
|
|
132476
132611
|
},
|
|
132477
132612
|
|
|
132478
|
-
//
|
|
132613
|
+
// ========== 选择、排序、分页 ==========
|
|
132479
132614
|
handleSelectionChange(rows) {
|
|
132480
|
-
// 过滤掉小计/总计行
|
|
132481
132615
|
this.selectedRows = rows.filter(r => !r._rowType)
|
|
132482
132616
|
this.$emit('selection-change', this.selectedRows)
|
|
132483
132617
|
},
|
|
132484
|
-
|
|
132485
|
-
|
|
132486
|
-
handleSortChange({ prop, order }) {
|
|
132487
|
-
this.$emit('sort-change', { prop, order })
|
|
132618
|
+
handleSortChange(info) {
|
|
132619
|
+
this.$emit('sort-change', info)
|
|
132488
132620
|
},
|
|
132489
|
-
|
|
132490
|
-
// ==================== 分页 ====================
|
|
132491
132621
|
handleSizeChange(size) {
|
|
132492
132622
|
this.$emit('size-change', size)
|
|
132493
132623
|
},
|
|
132494
|
-
|
|
132495
132624
|
handleCurrentChange(page) {
|
|
132496
132625
|
this.$emit('page-change', page)
|
|
132497
132626
|
},
|
|
132498
132627
|
|
|
132499
|
-
//
|
|
132628
|
+
// ========== 对外暴露方法 ==========
|
|
132500
132629
|
getSelection() {
|
|
132501
132630
|
return this.selectedRows
|
|
132502
132631
|
},
|
|
132503
|
-
|
|
132504
132632
|
clearSelection() {
|
|
132505
132633
|
this.$refs.table && this.$refs.table.clearSelection()
|
|
132506
132634
|
this.selectedRows = []
|
|
132507
132635
|
},
|
|
132508
|
-
|
|
132509
132636
|
toggleRowSelection(row, selected) {
|
|
132510
132637
|
this.$refs.table && this.$refs.table.toggleRowSelection(row, selected)
|
|
132511
132638
|
},
|
|
132512
|
-
|
|
132513
132639
|
toggleRowsSelection(rows, selected) {
|
|
132514
|
-
if (rows
|
|
132515
|
-
|
|
132516
|
-
|
|
132517
|
-
|
|
132518
|
-
}
|
|
132640
|
+
if (!rows || !rows.length) return
|
|
132641
|
+
rows.forEach(row => {
|
|
132642
|
+
this.$refs.table && this.$refs.table.toggleRowSelection(row, selected)
|
|
132643
|
+
})
|
|
132519
132644
|
},
|
|
132520
|
-
|
|
132521
132645
|
doLayout() {
|
|
132522
|
-
this.
|
|
132523
|
-
},
|
|
132524
|
-
|
|
132525
|
-
// ==================== 虚拟滚动固定表头 ====================
|
|
132526
|
-
syncTableLayout() {
|
|
132527
|
-
const bodyTable = this.$refs.table
|
|
132528
|
-
const headerTable = this.$refs.headerTable
|
|
132529
|
-
if (bodyTable) bodyTable.doLayout()
|
|
132530
|
-
if (headerTable) headerTable.doLayout()
|
|
132531
|
-
this.syncHeaderScroll(this.scrollLeft)
|
|
132532
|
-
},
|
|
132533
|
-
|
|
132534
|
-
syncHeaderScroll(scrollLeft) {
|
|
132535
|
-
const headerTable = this.$refs.headerTable
|
|
132536
|
-
if (!headerTable) return
|
|
132537
|
-
const headerWrapper = headerTable.$el.querySelector('.el-table__header-wrapper')
|
|
132538
|
-
if (headerWrapper) {
|
|
132539
|
-
headerWrapper.scrollLeft = scrollLeft
|
|
132540
|
-
}
|
|
132541
|
-
},
|
|
132542
|
-
|
|
132543
|
-
// ==================== 虚拟滚动 ====================
|
|
132544
|
-
initVirtualScroll() {
|
|
132545
|
-
this.rowHeight = this.rowInitHeight
|
|
132546
|
-
this.measureRowHeight()
|
|
132547
|
-
if (this.processedTableData.length > 0) {
|
|
132548
|
-
this.updateVisibleRange()
|
|
132549
|
-
}
|
|
132550
|
-
this.syncTableLayout()
|
|
132551
|
-
},
|
|
132552
|
-
|
|
132553
|
-
measureRowHeight() {
|
|
132554
|
-
const el = this.$refs.table && this.$refs.table.$el
|
|
132555
|
-
if (!el) return
|
|
132556
|
-
const row = el.querySelector('.el-table__row')
|
|
132557
|
-
if (row) {
|
|
132558
|
-
this.rowHeight = row.offsetHeight || this.rowInitHeight
|
|
132559
|
-
}
|
|
132560
|
-
},
|
|
132561
|
-
|
|
132562
|
-
handleBodyScroll(event) {
|
|
132563
|
-
const target = event.target
|
|
132564
|
-
this.scrollLeft = target.scrollLeft
|
|
132565
|
-
if (this.virtualScroll) {
|
|
132566
|
-
this.scrollTop = target.scrollTop
|
|
132567
|
-
this.updateVisibleRange()
|
|
132568
|
-
this.syncHeaderScroll(target.scrollLeft)
|
|
132569
|
-
}
|
|
132570
|
-
},
|
|
132571
|
-
|
|
132572
|
-
updateVisibleRange() {
|
|
132573
|
-
const totalCount = this.processedTableData.length
|
|
132574
|
-
if (totalCount === 0 || this.rowHeight === 0) return
|
|
132575
|
-
|
|
132576
|
-
const visibleCount = Math.ceil((this.computedHeight || 400) / this.rowHeight)
|
|
132577
|
-
|
|
132578
|
-
this.visibleStartIndex = Math.max(0, Math.floor(this.scrollTop / this.rowHeight))
|
|
132579
|
-
this.visibleEndIndex = Math.min(
|
|
132580
|
-
totalCount,
|
|
132581
|
-
this.visibleStartIndex + visibleCount
|
|
132582
|
-
)
|
|
132583
|
-
this.visibleCount = visibleCount
|
|
132584
|
-
},
|
|
132585
|
-
|
|
132586
|
-
destroyVirtualScroll() {
|
|
132587
|
-
this.scrollTop = 0
|
|
132588
|
-
this.visibleStartIndex = 0
|
|
132589
|
-
this.visibleEndIndex = 0
|
|
132646
|
+
this.$refs.table && this.$refs.table.doLayout()
|
|
132590
132647
|
}
|
|
132591
132648
|
}
|
|
132592
132649
|
});
|
|
132593
132650
|
|
|
132594
132651
|
// CONCATENATED MODULE: ./src/components/ex-table/index.vue?vue&type=script&lang=js
|
|
132595
132652
|
/* harmony default export */ var components_ex_tablevue_type_script_lang_js = (ex_tablevue_type_script_lang_js);
|
|
132596
|
-
// EXTERNAL MODULE: ./src/components/ex-table/index.vue?vue&type=style&index=0&id=
|
|
132597
|
-
var
|
|
132653
|
+
// EXTERNAL MODULE: ./src/components/ex-table/index.vue?vue&type=style&index=0&id=f6bc1634&prod&scoped=true&lang=css
|
|
132654
|
+
var ex_tablevue_type_style_index_0_id_f6bc1634_prod_scoped_true_lang_css = __webpack_require__("a0ef");
|
|
132598
132655
|
|
|
132599
132656
|
// CONCATENATED MODULE: ./src/components/ex-table/index.vue
|
|
132600
132657
|
|
|
@@ -132607,11 +132664,11 @@ var ex_tablevue_type_style_index_0_id_78d2b726_prod_scoped_true_lang_css = __web
|
|
|
132607
132664
|
|
|
132608
132665
|
var ex_table_component = normalizeComponent(
|
|
132609
132666
|
components_ex_tablevue_type_script_lang_js,
|
|
132610
|
-
|
|
132611
|
-
|
|
132667
|
+
ex_tablevue_type_template_id_f6bc1634_scoped_true_render,
|
|
132668
|
+
ex_tablevue_type_template_id_f6bc1634_scoped_true_staticRenderFns,
|
|
132612
132669
|
false,
|
|
132613
132670
|
null,
|
|
132614
|
-
"
|
|
132671
|
+
"f6bc1634",
|
|
132615
132672
|
null
|
|
132616
132673
|
|
|
132617
132674
|
)
|
|
@@ -132808,10 +132865,10 @@ const virtualScrollColumns = [
|
|
|
132808
132865
|
|
|
132809
132866
|
|
|
132810
132867
|
// ES Module 默认导出需要通过 .default 访问
|
|
132811
|
-
const
|
|
132868
|
+
const src_utils_0 = src_utils.default || src_utils
|
|
132812
132869
|
|
|
132813
132870
|
// 从 utils 导入配置管理函数(仅用于存储配置)
|
|
132814
|
-
const { getConfig: src_getConfig, setConfig: src_setConfig, getTheme: src_getTheme, getSize: src_getSize, getPrimaryColor: src_getPrimaryColor, resetConfig: src_resetConfig, onConfigChange: src_onConfigChange, setTheme: src_setTheme, setSize: src_setSize, setPrimaryColor: src_setPrimaryColor } =
|
|
132871
|
+
const { getConfig: src_getConfig, setConfig: src_setConfig, getTheme: src_getTheme, getSize: src_getSize, getPrimaryColor: src_getPrimaryColor, resetConfig: src_resetConfig, onConfigChange: src_onConfigChange, setTheme: src_setTheme, setSize: src_setSize, setPrimaryColor: src_setPrimaryColor } = src_utils_0
|
|
132815
132872
|
|
|
132816
132873
|
// 导入组件
|
|
132817
132874
|
|