xt-element-ui 1.2.1 → 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 +1306 -1398
- package/lib/index.css +1 -1
- package/lib/index.umd.js +1311 -1403
- package/lib/index.umd.min.js +5 -5
- package/package.json +3 -4
- package/src/components/ex-button/index.vue +8 -2
- package/src/components/ex-button/style/index.scss +42 -6
- package/src/components/ex-card/index.vue +0 -82
- package/src/components/ex-card/style/index.scss +7 -3
- 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 +188 -625
- package/src/components/ex-table/virtualScrollData.js +35 -0
- 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 +17 -13
- package/src/components/xt-text/style/index.scss +13 -13
- package/src/index.js +4 -1
- package/src/styles/css-variables.scss +1 -2
- package/src/styles/element-theme.scss +12 -4
- 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":
|
|
@@ -121838,6 +121856,13 @@ function isSaturday (dirtyDate) {
|
|
|
121838
121856
|
module.exports = isSaturday
|
|
121839
121857
|
|
|
121840
121858
|
|
|
121859
|
+
/***/ }),
|
|
121860
|
+
|
|
121861
|
+
/***/ "493c":
|
|
121862
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
121863
|
+
|
|
121864
|
+
// extracted by mini-css-extract-plugin
|
|
121865
|
+
|
|
121841
121866
|
/***/ }),
|
|
121842
121867
|
|
|
121843
121868
|
/***/ "4f67":
|
|
@@ -122142,13 +122167,6 @@ function getHours (dirtyDate) {
|
|
|
122142
122167
|
module.exports = getHours
|
|
122143
122168
|
|
|
122144
122169
|
|
|
122145
|
-
/***/ }),
|
|
122146
|
-
|
|
122147
|
-
/***/ "5f72":
|
|
122148
|
-
/***/ (function(module, exports) {
|
|
122149
|
-
|
|
122150
|
-
module.exports = require("ElementUI");
|
|
122151
|
-
|
|
122152
122170
|
/***/ }),
|
|
122153
122171
|
|
|
122154
122172
|
/***/ "6254":
|
|
@@ -122423,13 +122441,6 @@ function addMonths (dirtyDate, dirtyAmount) {
|
|
|
122423
122441
|
module.exports = addMonths
|
|
122424
122442
|
|
|
122425
122443
|
|
|
122426
|
-
/***/ }),
|
|
122427
|
-
|
|
122428
|
-
/***/ "67b7":
|
|
122429
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
122430
|
-
|
|
122431
|
-
// extracted by mini-css-extract-plugin
|
|
122432
|
-
|
|
122433
122444
|
/***/ }),
|
|
122434
122445
|
|
|
122435
122446
|
/***/ "693a":
|
|
@@ -125144,6 +125155,17 @@ module.exports = isThisMonth
|
|
|
125144
125155
|
/* unused harmony reexport * */
|
|
125145
125156
|
|
|
125146
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
|
+
|
|
125147
125169
|
/***/ }),
|
|
125148
125170
|
|
|
125149
125171
|
/***/ "a431":
|
|
@@ -125313,13 +125335,6 @@ function isPast (dirtyDate) {
|
|
|
125313
125335
|
module.exports = isPast
|
|
125314
125336
|
|
|
125315
125337
|
|
|
125316
|
-
/***/ }),
|
|
125317
|
-
|
|
125318
|
-
/***/ "a968":
|
|
125319
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
125320
|
-
|
|
125321
|
-
// extracted by mini-css-extract-plugin
|
|
125322
|
-
|
|
125323
125338
|
/***/ }),
|
|
125324
125339
|
|
|
125325
125340
|
/***/ "abd4":
|
|
@@ -125355,6 +125370,17 @@ function isEqual (dirtyLeftDate, dirtyRightDate) {
|
|
|
125355
125370
|
module.exports = isEqual
|
|
125356
125371
|
|
|
125357
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
|
+
|
|
125358
125384
|
/***/ }),
|
|
125359
125385
|
|
|
125360
125386
|
/***/ "acc4":
|
|
@@ -125425,24 +125451,6 @@ function addSeconds (dirtyDate, dirtyAmount) {
|
|
|
125425
125451
|
module.exports = addSeconds
|
|
125426
125452
|
|
|
125427
125453
|
|
|
125428
|
-
/***/ }),
|
|
125429
|
-
|
|
125430
|
-
/***/ "b2a4":
|
|
125431
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
125432
|
-
|
|
125433
|
-
// extracted by mini-css-extract-plugin
|
|
125434
|
-
|
|
125435
|
-
/***/ }),
|
|
125436
|
-
|
|
125437
|
-
/***/ "b2b3":
|
|
125438
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
125439
|
-
|
|
125440
|
-
"use strict";
|
|
125441
|
-
/* 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_5be23981_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("b2a4");
|
|
125442
|
-
/* 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_5be23981_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_5be23981_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__);
|
|
125443
|
-
/* unused harmony reexport * */
|
|
125444
|
-
|
|
125445
|
-
|
|
125446
125454
|
/***/ }),
|
|
125447
125455
|
|
|
125448
125456
|
/***/ "b2e9":
|
|
@@ -127037,6 +127045,13 @@ var LRU = (function () {
|
|
|
127037
127045
|
/* harmony default export */ __webpack_exports__["a"] = (LRU);
|
|
127038
127046
|
|
|
127039
127047
|
|
|
127048
|
+
/***/ }),
|
|
127049
|
+
|
|
127050
|
+
/***/ "d661":
|
|
127051
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
127052
|
+
|
|
127053
|
+
// extracted by mini-css-extract-plugin
|
|
127054
|
+
|
|
127040
127055
|
/***/ }),
|
|
127041
127056
|
|
|
127042
127057
|
/***/ "d67a":
|
|
@@ -127089,17 +127104,6 @@ module.exports = endOfMonth
|
|
|
127089
127104
|
/* unused harmony reexport * */
|
|
127090
127105
|
|
|
127091
127106
|
|
|
127092
|
-
/***/ }),
|
|
127093
|
-
|
|
127094
|
-
/***/ "d81e":
|
|
127095
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
127096
|
-
|
|
127097
|
-
"use strict";
|
|
127098
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_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_2073f658_prod_scoped_true_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("67b7");
|
|
127099
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_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_2073f658_prod_scoped_true_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_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_2073f658_prod_scoped_true_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
|
|
127100
|
-
/* unused harmony reexport * */
|
|
127101
|
-
|
|
127102
|
-
|
|
127103
127107
|
/***/ }),
|
|
127104
127108
|
|
|
127105
127109
|
/***/ "d975":
|
|
@@ -127356,17 +127360,6 @@ module.exports = Array.isArray || function (arr) {
|
|
|
127356
127360
|
};
|
|
127357
127361
|
|
|
127358
127362
|
|
|
127359
|
-
/***/ }),
|
|
127360
|
-
|
|
127361
|
-
/***/ "e3e9":
|
|
127362
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
127363
|
-
|
|
127364
|
-
"use strict";
|
|
127365
|
-
/* 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_cdc550fc_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("a968");
|
|
127366
|
-
/* 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_cdc550fc_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_cdc550fc_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__);
|
|
127367
|
-
/* unused harmony reexport * */
|
|
127368
|
-
|
|
127369
|
-
|
|
127370
127363
|
/***/ }),
|
|
127371
127364
|
|
|
127372
127365
|
/***/ "e51d":
|
|
@@ -128031,7 +128024,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
128031
128024
|
|
|
128032
128025
|
// EXPORTS
|
|
128033
128026
|
__webpack_require__.d(__webpack_exports__, "ExChart", function() { return /* reexport */ components_ex_chart; });
|
|
128034
|
-
__webpack_require__.d(__webpack_exports__, "
|
|
128027
|
+
__webpack_require__.d(__webpack_exports__, "createVirtualScrollData", function() { return /* reexport */ createVirtualScrollData; });
|
|
128028
|
+
__webpack_require__.d(__webpack_exports__, "virtualScrollColumns", function() { return /* reexport */ virtualScrollColumns; });
|
|
128029
|
+
__webpack_require__.d(__webpack_exports__, "utils", function() { return /* reexport */ src_utils_0; });
|
|
128035
128030
|
__webpack_require__.d(__webpack_exports__, "variables", function() { return /* reexport */ variables_export_default.a; });
|
|
128036
128031
|
__webpack_require__.d(__webpack_exports__, "getConfig", function() { return /* reexport */ src_getConfig; });
|
|
128037
128032
|
__webpack_require__.d(__webpack_exports__, "setConfig", function() { return /* reexport */ src_setConfig; });
|
|
@@ -128070,7 +128065,811 @@ var components = __webpack_require__("d67a");
|
|
|
128070
128065
|
var variables_export = __webpack_require__("ad4d");
|
|
128071
128066
|
var variables_export_default = /*#__PURE__*/__webpack_require__.n(variables_export);
|
|
128072
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
|
+
|
|
128073
128871
|
// CONCATENATED MODULE: ./src/utils/index.js
|
|
128872
|
+
|
|
128074
128873
|
// 默认配置
|
|
128075
128874
|
const defaultConfig = {
|
|
128076
128875
|
theme: 'white',
|
|
@@ -128117,7 +128916,7 @@ const setConfig = function(config) {
|
|
|
128117
128916
|
}
|
|
128118
128917
|
|
|
128119
128918
|
|
|
128120
|
-
// 设置主题
|
|
128919
|
+
// 设置主题 并更新图表主题
|
|
128121
128920
|
const setTheme = function(theme) {
|
|
128122
128921
|
const validThemes = ['white', 'dark']
|
|
128123
128922
|
if (!validThemes.includes(theme)) {
|
|
@@ -128132,9 +128931,13 @@ const setTheme = function(theme) {
|
|
|
128132
128931
|
if (theme === 'dark') {
|
|
128133
128932
|
root.setAttribute('data-theme', 'dark')
|
|
128134
128933
|
} else {
|
|
128135
|
-
root.
|
|
128934
|
+
root.setAttribute('data-theme', theme)
|
|
128136
128935
|
}
|
|
128137
128936
|
|
|
128937
|
+
// 更新图表主题
|
|
128938
|
+
utils.changeAllTheme(currentConfig.theme, currentConfig.size)
|
|
128939
|
+
console.log('更新图表主题')
|
|
128940
|
+
|
|
128138
128941
|
emitConfigChange('theme', theme)
|
|
128139
128942
|
}
|
|
128140
128943
|
|
|
@@ -128148,6 +128951,10 @@ const setSize = function(size) {
|
|
|
128148
128951
|
|
|
128149
128952
|
currentConfig.size = size
|
|
128150
128953
|
document.documentElement.setAttribute('data-size', size)
|
|
128954
|
+
// 更新图表主题
|
|
128955
|
+
utils.changeAllTheme(currentConfig.theme, currentConfig.size)
|
|
128956
|
+
console.log('更新图表字体')
|
|
128957
|
+
|
|
128151
128958
|
emitConfigChange('size', size)
|
|
128152
128959
|
}
|
|
128153
128960
|
|
|
@@ -128252,7 +129059,7 @@ const onConfigChange = function(listener) {
|
|
|
128252
129059
|
}
|
|
128253
129060
|
}
|
|
128254
129061
|
|
|
128255
|
-
/* harmony default export */ var
|
|
129062
|
+
/* harmony default export */ var src_utils = ({
|
|
128256
129063
|
setTheme,
|
|
128257
129064
|
setSize,
|
|
128258
129065
|
setPrimaryColor,
|
|
@@ -128265,7 +129072,7 @@ const onConfigChange = function(listener) {
|
|
|
128265
129072
|
onConfigChange
|
|
128266
129073
|
});
|
|
128267
129074
|
|
|
128268
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
129075
|
+
// 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/xt-button/index.vue?vue&type=template&id=10eba8a7
|
|
128269
129076
|
var render = function render(){var _vm=this,_c=_vm._self._c;return _c('button',{staticClass:"el-button xt-button",class:[
|
|
128270
129077
|
_vm.type ?'xt-button--' + _vm.type: '',
|
|
128271
129078
|
_vm.size ? 'xt-button--' + _vm.size : '',
|
|
@@ -128441,7 +129248,7 @@ var component = normalizeComponent(
|
|
|
128441
129248
|
// CONCATENATED MODULE: ./src/components/xt-button/index.js
|
|
128442
129249
|
|
|
128443
129250
|
/* harmony default export */ var components_xt_button = (xt_button);
|
|
128444
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
129251
|
+
// 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/xt-input/index.vue?vue&type=template&id=f11783a2
|
|
128445
129252
|
var xt_inputvue_type_template_id_f11783a2_render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:"xt-input"},[_c('el-input',{style:(_vm.inputStyle),attrs:{"value":_vm.value,"placeholder":_vm.placeholder},on:{"input":function($event){return _vm.$emit('input', $event)}}})],1)
|
|
128446
129253
|
}
|
|
128447
129254
|
var xt_inputvue_type_template_id_f11783a2_staticRenderFns = []
|
|
@@ -128501,7 +129308,7 @@ var xt_input_component = normalizeComponent(
|
|
|
128501
129308
|
// CONCATENATED MODULE: ./src/components/xt-input/index.js
|
|
128502
129309
|
|
|
128503
129310
|
/* harmony default export */ var components_xt_input = (xt_input);
|
|
128504
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
129311
|
+
// 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/xt-flex-box/index.vue?vue&type=template&id=21429280
|
|
128505
129312
|
var xt_flex_boxvue_type_template_id_21429280_render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:"xt-flex-box",class:_vm.classAttrs,style:(_vm.flexStyle)},[_vm._t("default")],2)
|
|
128506
129313
|
}
|
|
128507
129314
|
var xt_flex_boxvue_type_template_id_21429280_staticRenderFns = []
|
|
@@ -128563,7 +129370,7 @@ var xt_flex_box_component = normalizeComponent(
|
|
|
128563
129370
|
// CONCATENATED MODULE: ./src/components/xt-flex-box/index.js
|
|
128564
129371
|
|
|
128565
129372
|
/* harmony default export */ var components_xt_flex_box = (xt_flex_box);
|
|
128566
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
129373
|
+
// 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/xt-card/index.vue?vue&type=template&id=bc9ed1fa
|
|
128567
129374
|
var xt_cardvue_type_template_id_bc9ed1fa_render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:"xt-card",class:{'no-padding': _vm.noPadding }},[(_vm.title)?_c('div',{staticClass:"card__header"},[_vm._t("icon",function(){return [_vm._v(_vm._s(_vm.icon))]}),_vm._t("title",function(){return [_vm._v(_vm._s(_vm.title))]})],2):_vm._e(),_c('div',{staticClass:"card__body"},[_vm._t("default",function(){return [_c('span',{staticClass:"value"},[_vm._t("value",function(){return [_vm._v(_vm._s(_vm.value))]})],2),_c('span',{staticClass:"unit"},[_vm._v(_vm._s(_vm.unit))])]})],2)])
|
|
128568
129375
|
}
|
|
128569
129376
|
var xt_cardvue_type_template_id_bc9ed1fa_staticRenderFns = []
|
|
@@ -128611,7 +129418,7 @@ var xt_card_component = normalizeComponent(
|
|
|
128611
129418
|
// CONCATENATED MODULE: ./src/components/xt-card/index.js
|
|
128612
129419
|
|
|
128613
129420
|
/* harmony default export */ var components_xt_card = (xt_card);
|
|
128614
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
129421
|
+
// 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/xt-card-item/index.vue?vue&type=template&id=4f375226
|
|
128615
129422
|
var xt_card_itemvue_type_template_id_4f375226_render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.iconType=='border')?_c('FlexBox',{staticClass:"xt-card-item is-border",class:[_vm.iconType=='border'?`is-${_vm.type}`:''],style:(_vm.cardItemStyle),attrs:{"content":"between"}},[(_vm.title)?_c('span',{staticClass:"item__label"},[_vm._t("label",function(){return [_vm._v(_vm._s(_vm.label))]})],2):_vm._e(),_c('span',{staticClass:"item__value"},[_vm._t("value",function(){return [_vm._v(_vm._s(_vm.value))]})],2),_c('span',{staticClass:"item__unit"},[_vm._t("unit",function(){return [_vm._v(_vm._s(_vm.unit))]})],2)]):_c('FlexBox',{staticClass:"xt-card-item",attrs:{"direction":_vm.direction,"content":_vm.contentAlign}},[_vm._t("icon",function(){return [_c('el-button',{attrs:{"type":_vm.type,"circle":_vm.circle,"round":_vm.round,"plain":"","icon":_vm.icon}})]}),_c('div',{staticClass:"item__value"},[_c('span',{staticClass:"value",style:(_vm.valueStyle)},[_vm._t("value",function(){return [_vm._v(_vm._s(_vm.label))]})],2),_c('div',{staticClass:"unit"},[_vm._v(_vm._s(_vm.value))])])],2)
|
|
128616
129423
|
}
|
|
128617
129424
|
var xt_card_itemvue_type_template_id_4f375226_staticRenderFns = []
|
|
@@ -128705,6 +129512,7 @@ var xt_card_item_component = normalizeComponent(
|
|
|
128705
129512
|
/* harmony default export */ var components_xt_card_item = (xt_card_item);
|
|
128706
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
|
|
128707
129514
|
|
|
129515
|
+
|
|
128708
129516
|
/* harmony default export */ var xt_config_providervue_type_script_lang_js = ({
|
|
128709
129517
|
name: 'XtConfigProvider',
|
|
128710
129518
|
inheritAttrs: false,
|
|
@@ -128719,25 +129527,25 @@ var xt_card_item_component = normalizeComponent(
|
|
|
128719
129527
|
},
|
|
128720
129528
|
watch: {
|
|
128721
129529
|
theme(newVal) {
|
|
128722
|
-
this
|
|
129530
|
+
this.xtConfig ={
|
|
128723
129531
|
theme: newVal,
|
|
128724
129532
|
size: this.size,
|
|
128725
129533
|
primaryColor: this.primaryColor
|
|
128726
|
-
}
|
|
129534
|
+
}
|
|
128727
129535
|
},
|
|
128728
129536
|
size(newVal) {
|
|
128729
|
-
this
|
|
128730
|
-
theme:
|
|
128731
|
-
size:
|
|
129537
|
+
this.xtConfig ={
|
|
129538
|
+
theme: newVal,
|
|
129539
|
+
size: this.size,
|
|
128732
129540
|
primaryColor: this.primaryColor
|
|
128733
|
-
}
|
|
129541
|
+
}
|
|
128734
129542
|
},
|
|
128735
129543
|
primaryColor(newVal) {
|
|
128736
|
-
this
|
|
128737
|
-
theme:
|
|
129544
|
+
this.xtConfig ={
|
|
129545
|
+
theme: newVal,
|
|
128738
129546
|
size: this.size,
|
|
128739
|
-
primaryColor:
|
|
128740
|
-
}
|
|
129547
|
+
primaryColor: this.primaryColor
|
|
129548
|
+
}
|
|
128741
129549
|
}
|
|
128742
129550
|
},
|
|
128743
129551
|
render(h) {
|
|
@@ -128845,9 +129653,9 @@ var xt_card_item_component = normalizeComponent(
|
|
|
128845
129653
|
}
|
|
128846
129654
|
|
|
128847
129655
|
const sizeMap = {
|
|
128848
|
-
small: '
|
|
128849
|
-
medium: '
|
|
128850
|
-
large: '
|
|
129656
|
+
small: '14px',
|
|
129657
|
+
medium: '16px',
|
|
129658
|
+
large: '18px'
|
|
128851
129659
|
}
|
|
128852
129660
|
if (sizeMap[this.size]) {
|
|
128853
129661
|
result['--xt-font-size-base'] = sizeMap[this.size]
|
|
@@ -129014,6 +129822,9 @@ var xt_card_item_component = normalizeComponent(
|
|
|
129014
129822
|
|
|
129015
129823
|
// 设置 data-theme 属性
|
|
129016
129824
|
element.setAttribute('data-theme', this.theme)
|
|
129825
|
+
|
|
129826
|
+
// 更新图表颜色
|
|
129827
|
+
utils.changeAllTheme(this.theme, this.size, this.primaryColor)
|
|
129017
129828
|
|
|
129018
129829
|
// 触发主题改变钩子(当主题实际发生变化时)
|
|
129019
129830
|
if (prevTheme !== this.theme && typeof this.onThemeChange === 'function') {
|
|
@@ -129056,8 +129867,8 @@ var xt_card_item_component = normalizeComponent(
|
|
|
129056
129867
|
|
|
129057
129868
|
// CONCATENATED MODULE: ./src/components/xt-config-provider/index.vue?vue&type=script&lang=js
|
|
129058
129869
|
/* harmony default export */ var components_xt_config_providervue_type_script_lang_js = (xt_config_providervue_type_script_lang_js);
|
|
129059
|
-
// EXTERNAL MODULE: ./src/components/xt-config-provider/index.vue?vue&type=style&index=0&id=
|
|
129060
|
-
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");
|
|
129061
129872
|
|
|
129062
129873
|
// CONCATENATED MODULE: ./src/components/xt-config-provider/index.vue
|
|
129063
129874
|
var xt_config_provider_render, xt_config_provider_staticRenderFns
|
|
@@ -129074,7 +129885,7 @@ var xt_config_provider_component = normalizeComponent(
|
|
|
129074
129885
|
xt_config_provider_staticRenderFns,
|
|
129075
129886
|
false,
|
|
129076
129887
|
null,
|
|
129077
|
-
"
|
|
129888
|
+
"314a5524",
|
|
129078
129889
|
null
|
|
129079
129890
|
|
|
129080
129891
|
)
|
|
@@ -129084,7 +129895,7 @@ var xt_config_provider_component = normalizeComponent(
|
|
|
129084
129895
|
|
|
129085
129896
|
/* harmony default export */ var components_xt_config_provider = (xt_config_provider);
|
|
129086
129897
|
|
|
129087
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
129898
|
+
// 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/xt-text/index.vue?vue&type=template&id=2b4328b0
|
|
129088
129899
|
var xt_textvue_type_template_id_2b4328b0_render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:"xt-text",class:[
|
|
129089
129900
|
_vm.type ? 'xt-text--' + _vm.type : '',
|
|
129090
129901
|
'xt-text--' + _vm.size,
|
|
@@ -129231,7 +130042,7 @@ var xt_text_component = normalizeComponent(
|
|
|
129231
130042
|
// CONCATENATED MODULE: ./src/components/xt-text/index.js
|
|
129232
130043
|
|
|
129233
130044
|
/* harmony default export */ var components_xt_text = (xt_text);
|
|
129234
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
130045
|
+
// 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/xt-grid-box/index.vue?vue&type=template&id=67e197c4
|
|
129235
130046
|
var xt_grid_boxvue_type_template_id_67e197c4_render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:"xt-grid-box",style:(_vm.styleAttrs)},[_vm._t("default")],2)
|
|
129236
130047
|
}
|
|
129237
130048
|
var xt_grid_boxvue_type_template_id_67e197c4_staticRenderFns = []
|
|
@@ -129395,7 +130206,7 @@ var xt_grid_box_component = normalizeComponent(
|
|
|
129395
130206
|
|
|
129396
130207
|
/* harmony default export */ var components_xt_grid_box = (xt_grid_box);
|
|
129397
130208
|
|
|
129398
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
130209
|
+
// 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/xt-grid-item/index.vue?vue&type=template&id=5318efc6&scoped=true
|
|
129399
130210
|
var xt_grid_itemvue_type_template_id_5318efc6_scoped_true_render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:"xt-grid-item",style:(_vm.styleAttrs)},[_vm._t("default")],2)
|
|
129400
130211
|
}
|
|
129401
130212
|
var xt_grid_itemvue_type_template_id_5318efc6_scoped_true_staticRenderFns = []
|
|
@@ -129528,7 +130339,7 @@ var xt_grid_item_component = normalizeComponent(
|
|
|
129528
130339
|
// CONCATENATED MODULE: ./src/components/xt-grid-item/index.js
|
|
129529
130340
|
|
|
129530
130341
|
/* harmony default export */ var components_xt_grid_item = (xt_grid_item);
|
|
129531
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
130342
|
+
// 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/xt-date-picker/index.vue?vue&type=template&id=6a59ddb5&scoped=true
|
|
129532
130343
|
var xt_date_pickervue_type_template_id_6a59ddb5_scoped_true_render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticStyle:{"display":"inline-block"}},[(_vm.dateType=='quarter')?_c('FlexBox',{staticClass:"xt-date-picker",class:{focus: _vm.isfocus},style:(_vm.width?{width: `${_vm.width}px`}:{}),attrs:{"type":"inline-flex"}},[_c('Quarter',{attrs:{"format":_vm.format,"placeholder":"开始时间","quarter-type":"quarter-start","clearable":""},model:{value:(_vm.timeStart),callback:function ($$v) {_vm.timeStart=$$v},expression:"timeStart"}}),_c('span',{staticClass:"separator"},[_vm._v(_vm._s(_vm.separator))]),_c('Quarter',{attrs:{"format":_vm.format,"placeholder":"结束时间","quarter-type":"quarter-end","clearable":""},model:{value:(_vm.timeEnd),callback:function ($$v) {_vm.timeEnd=$$v},expression:"timeEnd"}})],1):_c('FlexBox',{staticClass:"xt-date",class:{focus: _vm.isfocus},style:(_vm.width?{width: `${_vm.width}px`}:{}),attrs:{"type":"inline-flex"}},[_c('el-date-picker',{key:"startSelect",ref:"timeStart",attrs:{"size":"small","disabled":_vm.disabled,"append-to-body":"","picker-options":_vm.startTimeRange,"format":_vm.format,"type":_vm.dateType,"placeholder":"开始时间","clearable":""},on:{"blur":function($event){return _vm.$emit('blur')},"focus":function($event){return _vm.$emit('focus')}},model:{value:(_vm.timeStart),callback:function ($$v) {_vm.timeStart=$$v},expression:"timeStart"}}),_c('span',{staticClass:"separator"},[_vm._v(_vm._s(_vm.separator))]),_c('el-date-picker',{key:"endSelect",ref:"timeEnd",attrs:{"size":"small","disabled":_vm.disabled,"append-to-body":"","picker-options":_vm.endTimeRange,"format":_vm.format,"type":_vm.dateType,"placeholder":"结束时间","clearable":""},on:{"blur":function($event){return _vm.$emit('blur')},"focus":function($event){return _vm.$emit('focus')}},model:{value:(_vm.timeEnd),callback:function ($$v) {_vm.timeEnd=$$v},expression:"timeEnd"}})],1)],1)
|
|
129533
130344
|
}
|
|
129534
130345
|
var xt_date_pickervue_type_template_id_6a59ddb5_scoped_true_staticRenderFns = []
|
|
@@ -129536,7 +130347,7 @@ var xt_date_pickervue_type_template_id_6a59ddb5_scoped_true_staticRenderFns = []
|
|
|
129536
130347
|
|
|
129537
130348
|
// CONCATENATED MODULE: ./src/components/xt-date-picker/index.vue?vue&type=template&id=6a59ddb5&scoped=true
|
|
129538
130349
|
|
|
129539
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
130350
|
+
// 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/xt-date-picker/quarter.vue?vue&type=template&id=4e3cbf9a
|
|
129540
130351
|
var quartervue_type_template_id_4e3cbf9a_render = function render(){var _vm=this,_c=_vm._self._c;return _c('el-popover',{attrs:{"trigger":"click","disabled":_vm.disabled,"transition":"el-zoom-in-top","placement":_vm.placement,"width":_vm.popoverWidth},on:{"hide":_vm.handleBlur},model:{value:(_vm.popoverVisible),callback:function ($$v) {_vm.popoverVisible=$$v},expression:"popoverVisible"}},[_c('div',{staticClass:"quarter-wrapper"},[_c('BaseFlexBox',{attrs:{"content":"between"}},[_c('i',{staticClass:"el-icon-d-arrow-left",on:{"click":_vm.prev}}),_c('span',[_vm._v(_vm._s(_vm.selectYear))]),_c('i',{staticClass:"el-icon-d-arrow-right",on:{"click":_vm.after}})]),_c('BaseFlexBox',{staticStyle:{"margin-top":"10px"},attrs:{"content":"between"}},_vm._l((_vm.quarterList),function(item){return _c('el-button',{key:item.value,attrs:{"disabled":_vm.getDisable(item),"type":_vm.currentyear==_vm.selectYear&&item.value == _vm.currentQuarter ?'primary':'',"size":"mini","round":""},on:{"click":function($event){return _vm.setCurrent(item)}}},[_vm._v(_vm._s(item.label))])}),1)],1),_c('el-input',{ref:"reference",attrs:{"slot":"reference","size":"small","value":_vm.quarterLabel,"readonly":"","title":_vm.value,"placeholder":_vm.placeholder,"prefix-icon":"el-icon-date","clearable":""},slot:"reference"})],1)
|
|
129541
130352
|
}
|
|
129542
130353
|
var quartervue_type_template_id_4e3cbf9a_staticRenderFns = []
|
|
@@ -129824,13 +130635,13 @@ var xt_date_picker_component = normalizeComponent(
|
|
|
129824
130635
|
// CONCATENATED MODULE: ./src/components/xt-date-picker/index.js
|
|
129825
130636
|
|
|
129826
130637
|
/* harmony default export */ var components_xt_date_picker = (xt_date_picker);
|
|
129827
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
129828
|
-
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)
|
|
129829
130640
|
}
|
|
129830
|
-
var
|
|
130641
|
+
var ex_buttonvue_type_template_id_1b7e9238_staticRenderFns = []
|
|
129831
130642
|
|
|
129832
130643
|
|
|
129833
|
-
// 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
|
|
129834
130645
|
|
|
129835
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
|
|
129836
130647
|
|
|
@@ -129847,6 +130658,11 @@ var ex_buttonvue_type_template_id_39655574_staticRenderFns = []
|
|
|
129847
130658
|
}
|
|
129848
130659
|
},
|
|
129849
130660
|
props: {
|
|
130661
|
+
type: {
|
|
130662
|
+
type: String,
|
|
130663
|
+
default: 'default',
|
|
130664
|
+
validator: (val) => ['default', 'primary', 'success', 'warning', 'danger'].includes(val)
|
|
130665
|
+
},
|
|
129850
130666
|
throttle: {
|
|
129851
130667
|
type: Number,
|
|
129852
130668
|
default: 0
|
|
@@ -129854,7 +130670,7 @@ var ex_buttonvue_type_template_id_39655574_staticRenderFns = []
|
|
|
129854
130670
|
size: {
|
|
129855
130671
|
type: String,
|
|
129856
130672
|
default: null,
|
|
129857
|
-
validator: (val) => !val || ['small', 'medium', 'large'].includes(val)
|
|
130673
|
+
validator: (val) => !val || ['mini', 'small', 'medium', 'large'].includes(val)
|
|
129858
130674
|
}
|
|
129859
130675
|
},
|
|
129860
130676
|
data() {
|
|
@@ -129869,7 +130685,8 @@ var ex_buttonvue_type_template_id_39655574_staticRenderFns = []
|
|
|
129869
130685
|
},
|
|
129870
130686
|
buttonClasses() {
|
|
129871
130687
|
return [
|
|
129872
|
-
`ex-button-${this.finalSize}
|
|
130688
|
+
`ex-button-${this.finalSize}`,
|
|
130689
|
+
`ex-button-${this.type}`
|
|
129873
130690
|
]
|
|
129874
130691
|
}
|
|
129875
130692
|
},
|
|
@@ -129896,8 +130713,8 @@ var ex_buttonvue_type_template_id_39655574_staticRenderFns = []
|
|
|
129896
130713
|
|
|
129897
130714
|
var ex_button_component = normalizeComponent(
|
|
129898
130715
|
components_ex_buttonvue_type_script_lang_js,
|
|
129899
|
-
|
|
129900
|
-
|
|
130716
|
+
ex_buttonvue_type_template_id_1b7e9238_render,
|
|
130717
|
+
ex_buttonvue_type_template_id_1b7e9238_staticRenderFns,
|
|
129901
130718
|
false,
|
|
129902
130719
|
null,
|
|
129903
130720
|
null,
|
|
@@ -129909,7 +130726,7 @@ var ex_button_component = normalizeComponent(
|
|
|
129909
130726
|
// CONCATENATED MODULE: ./src/components/ex-button/index.js
|
|
129910
130727
|
|
|
129911
130728
|
/* harmony default export */ var components_ex_button = (ex_button);
|
|
129912
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
130729
|
+
// 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-chart/index.vue?vue&type=template&id=40ae37dd
|
|
129913
130730
|
var ex_chartvue_type_template_id_40ae37dd_render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.type=='bar')?_c('ex-bar',_vm._b({attrs:{"theme":_vm.myTheme,"size":_vm.mySize}},'ex-bar',_vm.$attrs,false)):(_vm.type=='line')?_c('ex-line',_vm._b({attrs:{"theme":_vm.myTheme,"size":_vm.mySize}},'ex-line',_vm.$attrs,false)):(_vm.type=='pie')?_c('ex-pie',_vm._b({attrs:{"theme":_vm.myTheme,"size":_vm.mySize}},'ex-pie',_vm.$attrs,false)):(_vm.type=='multi')?_c('ex-multi',_vm._b({attrs:{"theme":_vm.myTheme,"size":_vm.mySize}},'ex-multi',_vm.$attrs,false)):(_vm.type=='trend')?_c('ex-trend',_vm._b({attrs:{"theme":_vm.myTheme,"size":_vm.mySize}},'ex-trend',_vm.$attrs,false)):_vm._e()
|
|
129914
130731
|
}
|
|
129915
130732
|
var ex_chartvue_type_template_id_40ae37dd_staticRenderFns = []
|
|
@@ -129917,7 +130734,7 @@ var ex_chartvue_type_template_id_40ae37dd_staticRenderFns = []
|
|
|
129917
130734
|
|
|
129918
130735
|
// CONCATENATED MODULE: ./src/components/ex-chart/index.vue?vue&type=template&id=40ae37dd
|
|
129919
130736
|
|
|
129920
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
130737
|
+
// 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-chart/ExBar.vue?vue&type=template&id=10acd2fc&scoped=true
|
|
129921
130738
|
var ExBarvue_type_template_id_10acd2fc_scoped_true_render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:"barchart",staticClass:"bar-box"})
|
|
129922
130739
|
}
|
|
129923
130740
|
var ExBarvue_type_template_id_10acd2fc_scoped_true_staticRenderFns = []
|
|
@@ -129925,809 +130742,6 @@ var ExBarvue_type_template_id_10acd2fc_scoped_true_staticRenderFns = []
|
|
|
129925
130742
|
|
|
129926
130743
|
// CONCATENATED MODULE: ./src/components/ex-chart/ExBar.vue?vue&type=template&id=10acd2fc&scoped=true
|
|
129927
130744
|
|
|
129928
|
-
// CONCATENATED MODULE: ./src/components/ex-chart/theme/white.js
|
|
129929
|
-
/* harmony default export */ var white = ({
|
|
129930
|
-
color: ["#1890ff", "#37c3a4", "#29c0ce", "#6480D7", "#8cce6f", "#3a5dca", "#ffb74d"],
|
|
129931
|
-
backgroundColor: "#ffffff",
|
|
129932
|
-
textStyle: {
|
|
129933
|
-
fontFamily: "Microsoft YaHei, sans-serif"
|
|
129934
|
-
},
|
|
129935
|
-
title: {
|
|
129936
|
-
textStyle: {
|
|
129937
|
-
color: "#333",
|
|
129938
|
-
fontSize: 16
|
|
129939
|
-
},
|
|
129940
|
-
subtextStyle: {
|
|
129941
|
-
color: "#666666",
|
|
129942
|
-
fontSize: 12
|
|
129943
|
-
}
|
|
129944
|
-
},
|
|
129945
|
-
line: {
|
|
129946
|
-
itemStyle: {
|
|
129947
|
-
},
|
|
129948
|
-
lineStyle: {
|
|
129949
|
-
width: 2
|
|
129950
|
-
}
|
|
129951
|
-
},
|
|
129952
|
-
bar: {
|
|
129953
|
-
itemStyle: {
|
|
129954
|
-
borderRadius: 4
|
|
129955
|
-
}
|
|
129956
|
-
},
|
|
129957
|
-
pie: {
|
|
129958
|
-
roseType: "radius",
|
|
129959
|
-
label: {
|
|
129960
|
-
color: "#333"
|
|
129961
|
-
}
|
|
129962
|
-
},
|
|
129963
|
-
radar: {
|
|
129964
|
-
indicator: {
|
|
129965
|
-
color: "#666666"
|
|
129966
|
-
}
|
|
129967
|
-
},
|
|
129968
|
-
map: {
|
|
129969
|
-
label: {
|
|
129970
|
-
color: "#333"
|
|
129971
|
-
},
|
|
129972
|
-
itemStyle: {
|
|
129973
|
-
borderColor: "#fff"
|
|
129974
|
-
}
|
|
129975
|
-
},
|
|
129976
|
-
gauge: {
|
|
129977
|
-
axisLine: {
|
|
129978
|
-
lineStyle: {
|
|
129979
|
-
color: [[1, "#5470c6"]]
|
|
129980
|
-
}
|
|
129981
|
-
}
|
|
129982
|
-
},
|
|
129983
|
-
toolbox: {
|
|
129984
|
-
iconStyle: {
|
|
129985
|
-
borderColor: "#666666"
|
|
129986
|
-
}
|
|
129987
|
-
},
|
|
129988
|
-
xAxis: {
|
|
129989
|
-
axisLine: {
|
|
129990
|
-
lineStyle: {
|
|
129991
|
-
color: "#DFE9EE"
|
|
129992
|
-
}
|
|
129993
|
-
},
|
|
129994
|
-
axisTick: {
|
|
129995
|
-
lineStyle: {
|
|
129996
|
-
color: "#DFE9EE"
|
|
129997
|
-
},
|
|
129998
|
-
show: false
|
|
129999
|
-
}
|
|
130000
|
-
},
|
|
130001
|
-
yAxis: {
|
|
130002
|
-
axisLine: {
|
|
130003
|
-
lineStyle: {
|
|
130004
|
-
color: "#DFE9EE"
|
|
130005
|
-
}
|
|
130006
|
-
},
|
|
130007
|
-
axisTick: {
|
|
130008
|
-
lineStyle: {
|
|
130009
|
-
color: "#DFE9EE"
|
|
130010
|
-
}
|
|
130011
|
-
},
|
|
130012
|
-
splitLine: {
|
|
130013
|
-
show: true,
|
|
130014
|
-
lineStyle: {
|
|
130015
|
-
type: "dashed",
|
|
130016
|
-
color: "#DFE9EE"
|
|
130017
|
-
}
|
|
130018
|
-
}
|
|
130019
|
-
},
|
|
130020
|
-
splitArea: {
|
|
130021
|
-
areaStyle: {
|
|
130022
|
-
color: ["#f7f8fa", "#ffffff"]
|
|
130023
|
-
}
|
|
130024
|
-
},
|
|
130025
|
-
legend: {
|
|
130026
|
-
textStyle: {
|
|
130027
|
-
color: "#333333"
|
|
130028
|
-
}
|
|
130029
|
-
},
|
|
130030
|
-
tooltip: {
|
|
130031
|
-
borderWidth: 1,
|
|
130032
|
-
backgroundColor: "#ffffff",
|
|
130033
|
-
textStyle: {
|
|
130034
|
-
color: "#333333"
|
|
130035
|
-
},
|
|
130036
|
-
trigger: "axis"
|
|
130037
|
-
}
|
|
130038
|
-
});
|
|
130039
|
-
|
|
130040
|
-
// CONCATENATED MODULE: ./src/components/ex-chart/theme/dark.js
|
|
130041
|
-
/* harmony default export */ var dark = ({
|
|
130042
|
-
color: ["#0de7ff", "#a782ff", "#fcdd60", "#0de7ff", "#ffc5a1", "#6291ae", "#13ce66"],
|
|
130043
|
-
backgroundColor: "transparent",
|
|
130044
|
-
textStyle: {
|
|
130045
|
-
fontFamily: "Microsoft YaHei, sans-serif"
|
|
130046
|
-
},
|
|
130047
|
-
title: {
|
|
130048
|
-
textStyle: {
|
|
130049
|
-
color: "#333"
|
|
130050
|
-
},
|
|
130051
|
-
subtextStyle: {
|
|
130052
|
-
color: "#666666"
|
|
130053
|
-
}
|
|
130054
|
-
},
|
|
130055
|
-
line: {
|
|
130056
|
-
itemStyle: {
|
|
130057
|
-
},
|
|
130058
|
-
lineStyle: {
|
|
130059
|
-
width: 2
|
|
130060
|
-
}
|
|
130061
|
-
},
|
|
130062
|
-
bar: {
|
|
130063
|
-
itemStyle: {
|
|
130064
|
-
borderRadius: 4
|
|
130065
|
-
}
|
|
130066
|
-
},
|
|
130067
|
-
pie: {
|
|
130068
|
-
roseType: "radius",
|
|
130069
|
-
label: {
|
|
130070
|
-
color: "#333"
|
|
130071
|
-
}
|
|
130072
|
-
},
|
|
130073
|
-
radar: {
|
|
130074
|
-
indicator: {
|
|
130075
|
-
color: "#666666"
|
|
130076
|
-
}
|
|
130077
|
-
},
|
|
130078
|
-
map: {
|
|
130079
|
-
label: {
|
|
130080
|
-
color: "#333"
|
|
130081
|
-
},
|
|
130082
|
-
itemStyle: {
|
|
130083
|
-
borderColor: "#fff"
|
|
130084
|
-
}
|
|
130085
|
-
},
|
|
130086
|
-
gauge: {
|
|
130087
|
-
axisLine: {
|
|
130088
|
-
lineStyle: {
|
|
130089
|
-
color: [[1, "#5470c6"]]
|
|
130090
|
-
}
|
|
130091
|
-
}
|
|
130092
|
-
},
|
|
130093
|
-
toolbox: {
|
|
130094
|
-
iconStyle: {
|
|
130095
|
-
borderColor: "#666666"
|
|
130096
|
-
}
|
|
130097
|
-
},
|
|
130098
|
-
axisLine: {
|
|
130099
|
-
lineStyle: {
|
|
130100
|
-
color: "#DCDFE6"
|
|
130101
|
-
}
|
|
130102
|
-
},
|
|
130103
|
-
axisTick: {
|
|
130104
|
-
lineStyle: {
|
|
130105
|
-
color: "#DCDFE6"
|
|
130106
|
-
}
|
|
130107
|
-
},
|
|
130108
|
-
splitLine: {
|
|
130109
|
-
lineStyle: {
|
|
130110
|
-
color: "#ebeef5"
|
|
130111
|
-
}
|
|
130112
|
-
},
|
|
130113
|
-
splitArea: {
|
|
130114
|
-
areaStyle: {
|
|
130115
|
-
color: ["#f7f8fa", "#ffffff"]
|
|
130116
|
-
}
|
|
130117
|
-
},
|
|
130118
|
-
legend: {
|
|
130119
|
-
textStyle: {
|
|
130120
|
-
color: "#666"
|
|
130121
|
-
}
|
|
130122
|
-
},
|
|
130123
|
-
tooltip: {
|
|
130124
|
-
backgroundColor: "rgba(255, 255, 255, 0.95)",
|
|
130125
|
-
borderColor: "#DCDFE6",
|
|
130126
|
-
borderWidth: 1,
|
|
130127
|
-
textStyle: {
|
|
130128
|
-
color: "#333"
|
|
130129
|
-
}
|
|
130130
|
-
}
|
|
130131
|
-
});
|
|
130132
|
-
|
|
130133
|
-
// CONCATENATED MODULE: ./src/components/ex-chart/theme/blue.js
|
|
130134
|
-
/* harmony default export */ var blue = ({
|
|
130135
|
-
color: ["#2CDEB3", "#A17EE6", "#E57E40", "#409EFF"],
|
|
130136
|
-
backgroundColor: "#ffffff",
|
|
130137
|
-
textStyle: {
|
|
130138
|
-
fontFamily: "Microsoft YaHei, sans-serif"
|
|
130139
|
-
},
|
|
130140
|
-
title: {
|
|
130141
|
-
textStyle: {
|
|
130142
|
-
color: "#333"
|
|
130143
|
-
},
|
|
130144
|
-
subtextStyle: {
|
|
130145
|
-
color: "#666666"
|
|
130146
|
-
}
|
|
130147
|
-
},
|
|
130148
|
-
line: {
|
|
130149
|
-
itemStyle: {
|
|
130150
|
-
},
|
|
130151
|
-
lineStyle: {
|
|
130152
|
-
width: 2
|
|
130153
|
-
}
|
|
130154
|
-
},
|
|
130155
|
-
bar: {
|
|
130156
|
-
itemStyle: {
|
|
130157
|
-
borderRadius: 4
|
|
130158
|
-
}
|
|
130159
|
-
},
|
|
130160
|
-
pie: {
|
|
130161
|
-
roseType: "radius",
|
|
130162
|
-
label: {
|
|
130163
|
-
color: "#333"
|
|
130164
|
-
}
|
|
130165
|
-
},
|
|
130166
|
-
radar: {
|
|
130167
|
-
indicator: {
|
|
130168
|
-
color: "#666666"
|
|
130169
|
-
}
|
|
130170
|
-
},
|
|
130171
|
-
map: {
|
|
130172
|
-
label: {
|
|
130173
|
-
color: "#333"
|
|
130174
|
-
},
|
|
130175
|
-
itemStyle: {
|
|
130176
|
-
borderColor: "#fff"
|
|
130177
|
-
}
|
|
130178
|
-
},
|
|
130179
|
-
gauge: {
|
|
130180
|
-
axisLine: {
|
|
130181
|
-
lineStyle: {
|
|
130182
|
-
color: [[1, "#5470c6"]]
|
|
130183
|
-
}
|
|
130184
|
-
}
|
|
130185
|
-
},
|
|
130186
|
-
toolbox: {
|
|
130187
|
-
iconStyle: {
|
|
130188
|
-
borderColor: "#666666"
|
|
130189
|
-
}
|
|
130190
|
-
},
|
|
130191
|
-
axisLine: {
|
|
130192
|
-
lineStyle: {
|
|
130193
|
-
color: "#DCDFE6"
|
|
130194
|
-
}
|
|
130195
|
-
},
|
|
130196
|
-
axisTick: {
|
|
130197
|
-
lineStyle: {
|
|
130198
|
-
color: "#DCDFE6"
|
|
130199
|
-
}
|
|
130200
|
-
},
|
|
130201
|
-
splitLine: {
|
|
130202
|
-
lineStyle: {
|
|
130203
|
-
color: "#ebeef5"
|
|
130204
|
-
}
|
|
130205
|
-
},
|
|
130206
|
-
splitArea: {
|
|
130207
|
-
areaStyle: {
|
|
130208
|
-
color: ["#f7f8fa", "#ffffff"]
|
|
130209
|
-
}
|
|
130210
|
-
},
|
|
130211
|
-
legend: {
|
|
130212
|
-
textStyle: {
|
|
130213
|
-
color: "#666"
|
|
130214
|
-
}
|
|
130215
|
-
},
|
|
130216
|
-
tooltip: {
|
|
130217
|
-
backgroundColor: "rgba(255, 255, 255, 0.95)",
|
|
130218
|
-
borderColor: "#DCDFE6",
|
|
130219
|
-
borderWidth: 1,
|
|
130220
|
-
textStyle: {
|
|
130221
|
-
color: "#333"
|
|
130222
|
-
}
|
|
130223
|
-
}
|
|
130224
|
-
});
|
|
130225
|
-
|
|
130226
|
-
// CONCATENATED MODULE: ./src/components/ex-chart/theme/starry.js
|
|
130227
|
-
/* harmony default export */ var starry = ({
|
|
130228
|
-
color: [
|
|
130229
|
-
"#1685a9", // 石青
|
|
130230
|
-
"#21a675", // 松柏绿
|
|
130231
|
-
"#1bd1a5", // 飞燕草蓝
|
|
130232
|
-
"#8c4356", // 绛紫
|
|
130233
|
-
"#0dafc6", // 孔雀蓝
|
|
130234
|
-
"#4b5cc4", // 宝蓝
|
|
130235
|
-
"#758a99", // 墨灰
|
|
130236
|
-
"#cca4e3", // 丁香色
|
|
130237
|
-
"#205277", // 靛青色
|
|
130238
|
-
"#d9b611", // 秋香色
|
|
130239
|
-
"#ff8c31", // 杏红
|
|
130240
|
-
"#9d2933", // 胭脂
|
|
130241
|
-
"#0288c5", // 浅靛青蓝
|
|
130242
|
-
"#44cef6" // 天蓝色
|
|
130243
|
-
],
|
|
130244
|
-
backgroundColor: "#ffffff",
|
|
130245
|
-
textStyle: {
|
|
130246
|
-
fontFamily: "Microsoft YaHei, sans-serif"
|
|
130247
|
-
},
|
|
130248
|
-
title: {
|
|
130249
|
-
textStyle: {
|
|
130250
|
-
color: "#333"
|
|
130251
|
-
},
|
|
130252
|
-
subtextStyle: {
|
|
130253
|
-
color: "#666666"
|
|
130254
|
-
}
|
|
130255
|
-
},
|
|
130256
|
-
line: {
|
|
130257
|
-
itemStyle: {
|
|
130258
|
-
},
|
|
130259
|
-
lineStyle: {
|
|
130260
|
-
width: 2
|
|
130261
|
-
}
|
|
130262
|
-
},
|
|
130263
|
-
bar: {
|
|
130264
|
-
itemStyle: {
|
|
130265
|
-
borderRadius: 4
|
|
130266
|
-
}
|
|
130267
|
-
},
|
|
130268
|
-
pie: {
|
|
130269
|
-
roseType: "radius",
|
|
130270
|
-
label: {
|
|
130271
|
-
color: "#333"
|
|
130272
|
-
}
|
|
130273
|
-
},
|
|
130274
|
-
radar: {
|
|
130275
|
-
indicator: {
|
|
130276
|
-
color: "#666666"
|
|
130277
|
-
}
|
|
130278
|
-
},
|
|
130279
|
-
map: {
|
|
130280
|
-
label: {
|
|
130281
|
-
color: "#333"
|
|
130282
|
-
},
|
|
130283
|
-
itemStyle: {
|
|
130284
|
-
borderColor: "#fff"
|
|
130285
|
-
}
|
|
130286
|
-
},
|
|
130287
|
-
gauge: {
|
|
130288
|
-
axisLine: {
|
|
130289
|
-
lineStyle: {
|
|
130290
|
-
color: [[1, "#5470c6"]]
|
|
130291
|
-
}
|
|
130292
|
-
}
|
|
130293
|
-
},
|
|
130294
|
-
toolbox: {
|
|
130295
|
-
iconStyle: {
|
|
130296
|
-
borderColor: "#666666"
|
|
130297
|
-
}
|
|
130298
|
-
},
|
|
130299
|
-
axisLine: {
|
|
130300
|
-
lineStyle: {
|
|
130301
|
-
color: "#DCDFE6"
|
|
130302
|
-
}
|
|
130303
|
-
},
|
|
130304
|
-
axisTick: {
|
|
130305
|
-
lineStyle: {
|
|
130306
|
-
color: "#DCDFE6"
|
|
130307
|
-
}
|
|
130308
|
-
},
|
|
130309
|
-
splitLine: {
|
|
130310
|
-
lineStyle: {
|
|
130311
|
-
color: "#ebeef5"
|
|
130312
|
-
}
|
|
130313
|
-
},
|
|
130314
|
-
splitArea: {
|
|
130315
|
-
areaStyle: {
|
|
130316
|
-
color: ["#f7f8fa", "#ffffff"]
|
|
130317
|
-
}
|
|
130318
|
-
},
|
|
130319
|
-
legend: {
|
|
130320
|
-
textStyle: {
|
|
130321
|
-
color: "#666"
|
|
130322
|
-
}
|
|
130323
|
-
},
|
|
130324
|
-
tooltip: {
|
|
130325
|
-
backgroundColor: "rgba(255, 255, 255, 0.95)",
|
|
130326
|
-
borderColor: "#DCDFE6",
|
|
130327
|
-
borderWidth: 1,
|
|
130328
|
-
textStyle: {
|
|
130329
|
-
color: "#333"
|
|
130330
|
-
}
|
|
130331
|
-
}
|
|
130332
|
-
});
|
|
130333
|
-
|
|
130334
|
-
// CONCATENATED MODULE: ./src/components/ex-chart/theme/orange.js
|
|
130335
|
-
/* harmony default export */ var orange = ({
|
|
130336
|
-
color: ["#e69419", "#A5b4da", "#F8792C", "#97bfb4", "#de747b", "#d6bac0", "#e62737", "#f35969", "#f1ccb0", "#b7394e", "#fe9c1c2"],
|
|
130337
|
-
backgroundColor: "#ffffff",
|
|
130338
|
-
textStyle: {
|
|
130339
|
-
fontFamily: "Microsoft YaHei, sans-serif"
|
|
130340
|
-
},
|
|
130341
|
-
title: {
|
|
130342
|
-
textStyle: {
|
|
130343
|
-
color: "#333"
|
|
130344
|
-
},
|
|
130345
|
-
subtextStyle: {
|
|
130346
|
-
color: "#666666"
|
|
130347
|
-
}
|
|
130348
|
-
},
|
|
130349
|
-
line: {
|
|
130350
|
-
itemStyle: {
|
|
130351
|
-
color: "#e69419"
|
|
130352
|
-
},
|
|
130353
|
-
lineStyle: {
|
|
130354
|
-
width: 2
|
|
130355
|
-
}
|
|
130356
|
-
},
|
|
130357
|
-
bar: {
|
|
130358
|
-
itemStyle: {
|
|
130359
|
-
borderRadius: 4
|
|
130360
|
-
}
|
|
130361
|
-
},
|
|
130362
|
-
pie: {
|
|
130363
|
-
roseType: "radius",
|
|
130364
|
-
label: {
|
|
130365
|
-
color: "#333"
|
|
130366
|
-
}
|
|
130367
|
-
},
|
|
130368
|
-
radar: {
|
|
130369
|
-
indicator: {
|
|
130370
|
-
color: "#666666"
|
|
130371
|
-
}
|
|
130372
|
-
},
|
|
130373
|
-
map: {
|
|
130374
|
-
label: {
|
|
130375
|
-
color: "#333"
|
|
130376
|
-
},
|
|
130377
|
-
itemStyle: {
|
|
130378
|
-
borderColor: "#fff"
|
|
130379
|
-
}
|
|
130380
|
-
},
|
|
130381
|
-
gauge: {
|
|
130382
|
-
axisLine: {
|
|
130383
|
-
lineStyle: {
|
|
130384
|
-
color: [[1, "#5470c6"]]
|
|
130385
|
-
}
|
|
130386
|
-
}
|
|
130387
|
-
},
|
|
130388
|
-
toolbox: {
|
|
130389
|
-
iconStyle: {
|
|
130390
|
-
borderColor: "#666666"
|
|
130391
|
-
}
|
|
130392
|
-
},
|
|
130393
|
-
axisLine: {
|
|
130394
|
-
lineStyle: {
|
|
130395
|
-
color: "#DCDFE6"
|
|
130396
|
-
}
|
|
130397
|
-
},
|
|
130398
|
-
axisTick: {
|
|
130399
|
-
lineStyle: {
|
|
130400
|
-
color: "#DCDFE6"
|
|
130401
|
-
}
|
|
130402
|
-
},
|
|
130403
|
-
splitLine: {
|
|
130404
|
-
lineStyle: {
|
|
130405
|
-
color: "#ebeef5"
|
|
130406
|
-
}
|
|
130407
|
-
},
|
|
130408
|
-
splitArea: {
|
|
130409
|
-
areaStyle: {
|
|
130410
|
-
color: ["#f7f8fa", "#ffffff"]
|
|
130411
|
-
}
|
|
130412
|
-
},
|
|
130413
|
-
legend: {
|
|
130414
|
-
textStyle: {
|
|
130415
|
-
color: "#666"
|
|
130416
|
-
}
|
|
130417
|
-
},
|
|
130418
|
-
tooltip: {
|
|
130419
|
-
backgroundColor: "rgba(255, 255, 255, 0.95)",
|
|
130420
|
-
borderColor: "#DCDFE6",
|
|
130421
|
-
borderWidth: 1,
|
|
130422
|
-
textStyle: {
|
|
130423
|
-
color: "#333"
|
|
130424
|
-
}
|
|
130425
|
-
}
|
|
130426
|
-
});
|
|
130427
|
-
|
|
130428
|
-
// CONCATENATED MODULE: ./src/components/ex-chart/utils.js
|
|
130429
|
-
|
|
130430
|
-
|
|
130431
|
-
|
|
130432
|
-
|
|
130433
|
-
|
|
130434
|
-
|
|
130435
|
-
const themeKeys = {
|
|
130436
|
-
"default": white,
|
|
130437
|
-
"white": white,
|
|
130438
|
-
"dark": dark,
|
|
130439
|
-
"blue": blue,
|
|
130440
|
-
"starry": starry,
|
|
130441
|
-
"orange": orange
|
|
130442
|
-
};
|
|
130443
|
-
|
|
130444
|
-
// echarts 仅在客户端加载,避免 SSR 编译/渲染报错
|
|
130445
|
-
let echarts = null;
|
|
130446
|
-
|
|
130447
|
-
function getEcharts() {
|
|
130448
|
-
if (!echarts && typeof window !== 'undefined') {
|
|
130449
|
-
try {
|
|
130450
|
-
echarts = __webpack_require__("313e");
|
|
130451
|
-
// 注册所有主题
|
|
130452
|
-
for (const key in themeKeys) {
|
|
130453
|
-
echarts.registerTheme(key, themeKeys[key]);
|
|
130454
|
-
}
|
|
130455
|
-
} catch (e) {
|
|
130456
|
-
console.warn('[ExChart] echarts 加载失败:', e.message);
|
|
130457
|
-
}
|
|
130458
|
-
}
|
|
130459
|
-
return echarts;
|
|
130460
|
-
}
|
|
130461
|
-
|
|
130462
|
-
// 字体大小配置
|
|
130463
|
-
const fontSizeMap = {
|
|
130464
|
-
small: {
|
|
130465
|
-
title: 14,
|
|
130466
|
-
subtitle: 11,
|
|
130467
|
-
legend: 11,
|
|
130468
|
-
axisLabel: 10,
|
|
130469
|
-
tooltip: 11,
|
|
130470
|
-
label: 11
|
|
130471
|
-
},
|
|
130472
|
-
medium: {
|
|
130473
|
-
title: 16,
|
|
130474
|
-
subtitle: 12,
|
|
130475
|
-
legend: 12,
|
|
130476
|
-
axisLabel: 12,
|
|
130477
|
-
tooltip: 12,
|
|
130478
|
-
label: 12
|
|
130479
|
-
},
|
|
130480
|
-
large: {
|
|
130481
|
-
title: 18,
|
|
130482
|
-
subtitle: 14,
|
|
130483
|
-
legend: 14,
|
|
130484
|
-
axisLabel: 14,
|
|
130485
|
-
tooltip: 14,
|
|
130486
|
-
label: 14
|
|
130487
|
-
}
|
|
130488
|
-
};
|
|
130489
|
-
|
|
130490
|
-
function EchartsUtil() {}
|
|
130491
|
-
|
|
130492
|
-
EchartsUtil.currentTheme = "default";
|
|
130493
|
-
EchartsUtil.currentSize = "medium";
|
|
130494
|
-
EchartsUtil.inverse = false;
|
|
130495
|
-
|
|
130496
|
-
EchartsUtil.baseOption = {
|
|
130497
|
-
backgroundColor: "transparent",
|
|
130498
|
-
tooltip: {
|
|
130499
|
-
trigger: "axis",
|
|
130500
|
-
borderWidth: 1
|
|
130501
|
-
},
|
|
130502
|
-
legend: {
|
|
130503
|
-
right: 20,
|
|
130504
|
-
top: 0,
|
|
130505
|
-
show: true,
|
|
130506
|
-
textStyle: {
|
|
130507
|
-
fontSize: 12
|
|
130508
|
-
}
|
|
130509
|
-
},
|
|
130510
|
-
grid: {
|
|
130511
|
-
top: "25%",
|
|
130512
|
-
left: "40",
|
|
130513
|
-
right: "15",
|
|
130514
|
-
bottom: "40"
|
|
130515
|
-
},
|
|
130516
|
-
xAxis: {
|
|
130517
|
-
type: "category",
|
|
130518
|
-
boundaryGap: false,
|
|
130519
|
-
axisTick: {
|
|
130520
|
-
show: true,
|
|
130521
|
-
length: 4
|
|
130522
|
-
},
|
|
130523
|
-
axisLabel: {
|
|
130524
|
-
fontSize: 12,
|
|
130525
|
-
interval: 0,
|
|
130526
|
-
formatter: function(value) {
|
|
130527
|
-
return !this.reverse && this.longLable ? value.replace(new RegExp(`(.{${this.longLableSplitNum}})`, "g"), `$1\n`) : value;
|
|
130528
|
-
}
|
|
130529
|
-
}
|
|
130530
|
-
},
|
|
130531
|
-
yAxis: {
|
|
130532
|
-
type: "value",
|
|
130533
|
-
axisTick: {
|
|
130534
|
-
show: false
|
|
130535
|
-
},
|
|
130536
|
-
min: null,
|
|
130537
|
-
max: null,
|
|
130538
|
-
axisLabel: {
|
|
130539
|
-
show: false
|
|
130540
|
-
},
|
|
130541
|
-
splitLine: {
|
|
130542
|
-
lineStyle: {
|
|
130543
|
-
type: "dashed",
|
|
130544
|
-
width: 1
|
|
130545
|
-
}
|
|
130546
|
-
}
|
|
130547
|
-
}
|
|
130548
|
-
};
|
|
130549
|
-
|
|
130550
|
-
EchartsUtil.chartInstanceList = [];
|
|
130551
|
-
|
|
130552
|
-
EchartsUtil.mergeOptions = function(themeOption, customOption) {
|
|
130553
|
-
return Object.assign({}, this.baseOption, themeOption, customOption);
|
|
130554
|
-
};
|
|
130555
|
-
|
|
130556
|
-
// 根据字体大小调整主题配置
|
|
130557
|
-
EchartsUtil.applyFontSize = function(themeOption, size) {
|
|
130558
|
-
const fontSizeConfig = fontSizeMap[size] || fontSizeMap.medium;
|
|
130559
|
-
|
|
130560
|
-
const result = JSON.parse(JSON.stringify(themeOption));
|
|
130561
|
-
|
|
130562
|
-
// 调整标题字体大小
|
|
130563
|
-
if (result.title && result.title.textStyle) {
|
|
130564
|
-
result.title.textStyle.fontSize = fontSizeConfig.title;
|
|
130565
|
-
}
|
|
130566
|
-
if (result.title && result.title.subtextStyle) {
|
|
130567
|
-
result.title.subtextStyle.fontSize = fontSizeConfig.subtitle;
|
|
130568
|
-
}
|
|
130569
|
-
|
|
130570
|
-
// 调整图例字体大小
|
|
130571
|
-
if (result.legend && result.legend.textStyle) {
|
|
130572
|
-
result.legend.textStyle.fontSize = fontSizeConfig.legend;
|
|
130573
|
-
}
|
|
130574
|
-
|
|
130575
|
-
// 调整提示框字体大小
|
|
130576
|
-
if (result.tooltip && result.tooltip.textStyle) {
|
|
130577
|
-
result.tooltip.textStyle.fontSize = fontSizeConfig.tooltip;
|
|
130578
|
-
}
|
|
130579
|
-
|
|
130580
|
-
// 调整饼图标签字体大小
|
|
130581
|
-
if (result.pie && result.pie.label) {
|
|
130582
|
-
if (typeof result.pie.label === 'object') {
|
|
130583
|
-
result.pie.label.fontSize = fontSizeConfig.label;
|
|
130584
|
-
}
|
|
130585
|
-
}
|
|
130586
|
-
|
|
130587
|
-
// 调整雷达图指示器字体大小
|
|
130588
|
-
if (result.radar && result.radar.indicator) {
|
|
130589
|
-
if (typeof result.radar.indicator === 'object' && result.radar.indicator.textStyle) {
|
|
130590
|
-
result.radar.indicator.textStyle.fontSize = fontSizeConfig.label;
|
|
130591
|
-
}
|
|
130592
|
-
}
|
|
130593
|
-
|
|
130594
|
-
// 调整地图标签字体大小
|
|
130595
|
-
if (result.map && result.map.label) {
|
|
130596
|
-
if (typeof result.map.label === 'object') {
|
|
130597
|
-
result.map.label.fontSize = fontSizeConfig.label;
|
|
130598
|
-
}
|
|
130599
|
-
}
|
|
130600
|
-
|
|
130601
|
-
return result;
|
|
130602
|
-
};
|
|
130603
|
-
|
|
130604
|
-
EchartsUtil.init = function(dom, theme, customOption, size) {
|
|
130605
|
-
const ec = getEcharts();
|
|
130606
|
-
// SSR 环境下忽略初始化
|
|
130607
|
-
if (!ec || !dom) return null;
|
|
130608
|
-
|
|
130609
|
-
theme = theme || "default";
|
|
130610
|
-
size = size || "medium";
|
|
130611
|
-
customOption = customOption || {};
|
|
130612
|
-
|
|
130613
|
-
const useTheme = this.currentTheme || theme;
|
|
130614
|
-
const useSize = this.currentSize || size;
|
|
130615
|
-
|
|
130616
|
-
this.currentTheme = useTheme;
|
|
130617
|
-
this.currentSize = useSize;
|
|
130618
|
-
|
|
130619
|
-
let themeOption = themeKeys[useTheme];
|
|
130620
|
-
// 应用字体大小配置
|
|
130621
|
-
themeOption = this.applyFontSize(themeOption, useSize);
|
|
130622
|
-
|
|
130623
|
-
const option = this.mergeOptions(themeOption, customOption);
|
|
130624
|
-
|
|
130625
|
-
const chart = ec.init(dom, useTheme);
|
|
130626
|
-
chart.setOption(option, true);
|
|
130627
|
-
|
|
130628
|
-
this.chartInstanceList.push({
|
|
130629
|
-
dom,
|
|
130630
|
-
chart,
|
|
130631
|
-
customOption,
|
|
130632
|
-
size: useSize
|
|
130633
|
-
});
|
|
130634
|
-
|
|
130635
|
-
this.bindResize(chart);
|
|
130636
|
-
return chart;
|
|
130637
|
-
};
|
|
130638
|
-
|
|
130639
|
-
EchartsUtil.changeSingleTheme = function(dom, chartIns, customOption, newTheme) {
|
|
130640
|
-
const ec = getEcharts();
|
|
130641
|
-
if (!ec || !dom || !chartIns) return;
|
|
130642
|
-
|
|
130643
|
-
customOption = customOption || {};
|
|
130644
|
-
newTheme = newTheme || "default";
|
|
130645
|
-
|
|
130646
|
-
this.currentTheme = newTheme;
|
|
130647
|
-
chartIns.dispose();
|
|
130648
|
-
|
|
130649
|
-
const newChart = ec.init(dom, newTheme, customOption);
|
|
130650
|
-
|
|
130651
|
-
const item = this.chartInstanceList.find(function(v) {
|
|
130652
|
-
return v.dom === dom;
|
|
130653
|
-
});
|
|
130654
|
-
|
|
130655
|
-
if (item) {
|
|
130656
|
-
item.chart = newChart;
|
|
130657
|
-
}
|
|
130658
|
-
|
|
130659
|
-
return newChart;
|
|
130660
|
-
};
|
|
130661
|
-
|
|
130662
|
-
EchartsUtil.changeAllTheme = function(newTheme, newSize) {
|
|
130663
|
-
const ec = getEcharts();
|
|
130664
|
-
if (!ec || !newTheme) return;
|
|
130665
|
-
|
|
130666
|
-
this.currentTheme = newTheme;
|
|
130667
|
-
// 如果传入了新的 size,则更新全局 size
|
|
130668
|
-
if (newSize) {
|
|
130669
|
-
this.currentSize = newSize;
|
|
130670
|
-
}
|
|
130671
|
-
|
|
130672
|
-
this.chartInstanceList.forEach(function(item) {
|
|
130673
|
-
const dom = item.dom;
|
|
130674
|
-
const chart = item.chart;
|
|
130675
|
-
const customOption = item.customOption;
|
|
130676
|
-
// 使用图表自己的 size,如果没有则使用全局 size
|
|
130677
|
-
const useSize = item.size || EchartsUtil.currentSize;
|
|
130678
|
-
|
|
130679
|
-
if (chart) {
|
|
130680
|
-
chart.dispose();
|
|
130681
|
-
}
|
|
130682
|
-
|
|
130683
|
-
const newChart = ec.init(dom, newTheme);
|
|
130684
|
-
let themeOption = themeKeys[newTheme];
|
|
130685
|
-
// 应用字体大小配置
|
|
130686
|
-
themeOption = EchartsUtil.applyFontSize(themeOption, useSize);
|
|
130687
|
-
const option = EchartsUtil.mergeOptions(themeOption, customOption);
|
|
130688
|
-
|
|
130689
|
-
newChart.setOption(option, true);
|
|
130690
|
-
item.chart = newChart;
|
|
130691
|
-
// 更新图表的 size 记录
|
|
130692
|
-
item.size = useSize;
|
|
130693
|
-
EchartsUtil.bindResize(newChart);
|
|
130694
|
-
});
|
|
130695
|
-
};
|
|
130696
|
-
|
|
130697
|
-
EchartsUtil.bindResize = function(chartIns) {
|
|
130698
|
-
if (!chartIns || chartIns.resizeLocked) return;
|
|
130699
|
-
|
|
130700
|
-
window.addEventListener("resize", function() {
|
|
130701
|
-
chartIns.resize();
|
|
130702
|
-
});
|
|
130703
|
-
|
|
130704
|
-
chartIns._resizeLocked = true;
|
|
130705
|
-
};
|
|
130706
|
-
|
|
130707
|
-
EchartsUtil.destroy = function(chartIns) {
|
|
130708
|
-
if (chartIns) {
|
|
130709
|
-
chartIns.dispose();
|
|
130710
|
-
}
|
|
130711
|
-
|
|
130712
|
-
this.chartInstanceList = this.chartInstanceList.filter(function(item) {
|
|
130713
|
-
return item.chart !== chartIns;
|
|
130714
|
-
});
|
|
130715
|
-
};
|
|
130716
|
-
|
|
130717
|
-
EchartsUtil.destroyAll = function() {
|
|
130718
|
-
this.chartInstanceList.forEach(function(item) {
|
|
130719
|
-
if (item.chart) {
|
|
130720
|
-
item.chart.dispose();
|
|
130721
|
-
}
|
|
130722
|
-
});
|
|
130723
|
-
|
|
130724
|
-
this.chartInstanceList = [];
|
|
130725
|
-
};
|
|
130726
|
-
|
|
130727
|
-
/* harmony default export */ var ex_chart_utils = (EchartsUtil);
|
|
130728
|
-
|
|
130729
|
-
|
|
130730
|
-
|
|
130731
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
|
|
130732
130746
|
|
|
130733
130747
|
|
|
@@ -130920,7 +130934,7 @@ EchartsUtil.destroyAll = function() {
|
|
|
130920
130934
|
if (!this.markPoint) {
|
|
130921
130935
|
this.$delete(option.series[0], "markPoint");
|
|
130922
130936
|
}
|
|
130923
|
-
this.myChart =
|
|
130937
|
+
this.myChart = utils.init(_self.$refs.barchart, this.theme, option, this.size);
|
|
130924
130938
|
}
|
|
130925
130939
|
}
|
|
130926
130940
|
});
|
|
@@ -130951,7 +130965,7 @@ var ExBar_component = normalizeComponent(
|
|
|
130951
130965
|
)
|
|
130952
130966
|
|
|
130953
130967
|
/* harmony default export */ var ExBar = (ExBar_component.exports);
|
|
130954
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
130968
|
+
// 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-chart/ExLine.vue?vue&type=template&id=386a9c5d&scoped=true
|
|
130955
130969
|
var ExLinevue_type_template_id_386a9c5d_scoped_true_render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:"linechart",staticClass:"line-box"})
|
|
130956
130970
|
}
|
|
130957
130971
|
var ExLinevue_type_template_id_386a9c5d_scoped_true_staticRenderFns = []
|
|
@@ -131094,7 +131108,7 @@ var ExLinevue_type_template_id_386a9c5d_scoped_true_staticRenderFns = []
|
|
|
131094
131108
|
}]
|
|
131095
131109
|
};
|
|
131096
131110
|
|
|
131097
|
-
this.myChart =
|
|
131111
|
+
this.myChart = utils.init(_self.$refs.linechart, this.theme, option, this.size);
|
|
131098
131112
|
}
|
|
131099
131113
|
}
|
|
131100
131114
|
});
|
|
@@ -131125,7 +131139,7 @@ var ExLine_component = normalizeComponent(
|
|
|
131125
131139
|
)
|
|
131126
131140
|
|
|
131127
131141
|
/* harmony default export */ var ExLine = (ExLine_component.exports);
|
|
131128
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
131142
|
+
// 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-chart/ExPie.vue?vue&type=template&id=5100b648&scoped=true
|
|
131129
131143
|
var ExPievue_type_template_id_5100b648_scoped_true_render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:"piechart",staticClass:"pie-box"})
|
|
131130
131144
|
}
|
|
131131
131145
|
var ExPievue_type_template_id_5100b648_scoped_true_staticRenderFns = []
|
|
@@ -131281,7 +131295,7 @@ var ExPievue_type_template_id_5100b648_scoped_true_staticRenderFns = []
|
|
|
131281
131295
|
})
|
|
131282
131296
|
}]
|
|
131283
131297
|
};
|
|
131284
|
-
this.myChart =
|
|
131298
|
+
this.myChart = utils.init(_self.$refs.piechart, this.theme, option, this.size);
|
|
131285
131299
|
}
|
|
131286
131300
|
}
|
|
131287
131301
|
});
|
|
@@ -131312,7 +131326,7 @@ var ExPie_component = normalizeComponent(
|
|
|
131312
131326
|
)
|
|
131313
131327
|
|
|
131314
131328
|
/* harmony default export */ var ExPie = (ExPie_component.exports);
|
|
131315
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
131329
|
+
// 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-chart/ExMulti.vue?vue&type=template&id=18661424&scoped=true
|
|
131316
131330
|
var ExMultivue_type_template_id_18661424_scoped_true_render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:"multilinechart",staticClass:"multiline-box"})
|
|
131317
131331
|
}
|
|
131318
131332
|
var ExMultivue_type_template_id_18661424_scoped_true_staticRenderFns = []
|
|
@@ -131541,7 +131555,7 @@ var ExMultivue_type_template_id_18661424_scoped_true_staticRenderFns = []
|
|
|
131541
131555
|
],
|
|
131542
131556
|
series: this.getSeriesData()
|
|
131543
131557
|
};
|
|
131544
|
-
this.myChart =
|
|
131558
|
+
this.myChart = utils.init(_self.$refs.multilinechart, this.theme, option, this.size);
|
|
131545
131559
|
},
|
|
131546
131560
|
getSeriesData() {
|
|
131547
131561
|
// 创建 24小时 时间数据填充对象
|
|
@@ -131600,7 +131614,7 @@ var ExMulti_component = normalizeComponent(
|
|
|
131600
131614
|
)
|
|
131601
131615
|
|
|
131602
131616
|
/* harmony default export */ var ExMulti = (ExMulti_component.exports);
|
|
131603
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
131617
|
+
// 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-chart/ExTrend.vue?vue&type=template&id=36cddc14&scoped=true
|
|
131604
131618
|
var ExTrendvue_type_template_id_36cddc14_scoped_true_render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:"barchart",staticClass:"bar-box",style:({width:_vm.width})})
|
|
131605
131619
|
}
|
|
131606
131620
|
var ExTrendvue_type_template_id_36cddc14_scoped_true_staticRenderFns = []
|
|
@@ -131720,7 +131734,7 @@ var ExTrendvue_type_template_id_36cddc14_scoped_true_staticRenderFns = []
|
|
|
131720
131734
|
const _self = this;
|
|
131721
131735
|
// 数据处理
|
|
131722
131736
|
const option = this.getOption();
|
|
131723
|
-
this.myChart =
|
|
131737
|
+
this.myChart = utils.init(_self.$refs.barchart, this.theme, option, this.size);
|
|
131724
131738
|
}
|
|
131725
131739
|
}
|
|
131726
131740
|
});
|
|
@@ -131911,13 +131925,13 @@ var ex_chart_component = normalizeComponent(
|
|
|
131911
131925
|
|
|
131912
131926
|
/* harmony default export */ var components_ex_chart = (ex_chart);
|
|
131913
131927
|
|
|
131914
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
131915
|
-
var
|
|
131928
|
+
// 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-card/index.vue?vue&type=template&id=0d381618
|
|
131929
|
+
var ex_cardvue_type_template_id_0d381618_render = function render(){var _vm=this,_c=_vm._self._c;return _c('el-card',_vm._b({staticClass:"ex-card",class:_vm.cardClasses,scopedSlots:_vm._u([(_vm.$slots.header || _vm.title)?{key:"header",fn:function(){return [_vm._t("header",function(){return [_vm._v(_vm._s(_vm.title))]})]},proxy:true}:null],null,true)},'el-card',_vm.$attrs,false),[_vm._t("default")],2)
|
|
131916
131930
|
}
|
|
131917
|
-
var
|
|
131931
|
+
var ex_cardvue_type_template_id_0d381618_staticRenderFns = []
|
|
131918
131932
|
|
|
131919
131933
|
|
|
131920
|
-
// CONCATENATED MODULE: ./src/components/ex-card/index.vue?vue&type=template&id=
|
|
131934
|
+
// CONCATENATED MODULE: ./src/components/ex-card/index.vue?vue&type=template&id=0d381618
|
|
131921
131935
|
|
|
131922
131936
|
// 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-card/index.vue?vue&type=script&lang=js
|
|
131923
131937
|
|
|
@@ -131977,25 +131991,21 @@ var ex_cardvue_type_template_id_2073f658_scoped_true_staticRenderFns = []
|
|
|
131977
131991
|
|
|
131978
131992
|
// CONCATENATED MODULE: ./src/components/ex-card/index.vue?vue&type=script&lang=js
|
|
131979
131993
|
/* harmony default export */ var components_ex_cardvue_type_script_lang_js = (ex_cardvue_type_script_lang_js);
|
|
131980
|
-
// EXTERNAL MODULE: ./src/components/ex-card/index.vue?vue&type=style&index=0&id=2073f658&prod&scoped=true&lang=scss
|
|
131981
|
-
var ex_cardvue_type_style_index_0_id_2073f658_prod_scoped_true_lang_scss = __webpack_require__("d81e");
|
|
131982
|
-
|
|
131983
131994
|
// CONCATENATED MODULE: ./src/components/ex-card/index.vue
|
|
131984
131995
|
|
|
131985
131996
|
|
|
131986
131997
|
|
|
131987
131998
|
|
|
131988
131999
|
|
|
131989
|
-
|
|
131990
132000
|
/* normalize component */
|
|
131991
132001
|
|
|
131992
132002
|
var ex_card_component = normalizeComponent(
|
|
131993
132003
|
components_ex_cardvue_type_script_lang_js,
|
|
131994
|
-
|
|
131995
|
-
|
|
132004
|
+
ex_cardvue_type_template_id_0d381618_render,
|
|
132005
|
+
ex_cardvue_type_template_id_0d381618_staticRenderFns,
|
|
131996
132006
|
false,
|
|
131997
132007
|
null,
|
|
131998
|
-
|
|
132008
|
+
null,
|
|
131999
132009
|
null
|
|
132000
132010
|
|
|
132001
132011
|
)
|
|
@@ -132010,13 +132020,13 @@ ex_card.install = function (Vue) {
|
|
|
132010
132020
|
|
|
132011
132021
|
/* harmony default export */ var components_ex_card = (ex_card);
|
|
132012
132022
|
|
|
132013
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
132014
|
-
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()])
|
|
132015
132025
|
}
|
|
132016
|
-
var
|
|
132026
|
+
var ex_tablevue_type_template_id_f6bc1634_scoped_true_staticRenderFns = []
|
|
132017
132027
|
|
|
132018
132028
|
|
|
132019
|
-
// 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
|
|
132020
132030
|
|
|
132021
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
|
|
132022
132032
|
|
|
@@ -132035,9 +132045,10 @@ var ex_tablevue_type_template_id_5be23981_scoped_true_staticRenderFns = []
|
|
|
132035
132045
|
index: ctx.props.index
|
|
132036
132046
|
}
|
|
132037
132047
|
if (ctx.props.column) params.column = ctx.props.column
|
|
132038
|
-
const isVnode = (it) => typeof it === 'object' && it.hasOwnProperty('componentOptions')
|
|
132048
|
+
const isVnode = (it) => it !== null && it !== undefined && typeof it === 'object' && it.hasOwnProperty('componentOptions')
|
|
132039
132049
|
const renderNode = ctx.props.formatter(h, params)
|
|
132040
|
-
|
|
132050
|
+
if (renderNode === null || renderNode === undefined || renderNode === '') return h('span', '')
|
|
132051
|
+
return isVnode(renderNode) ? renderNode : h('span', String(renderNode))
|
|
132041
132052
|
}
|
|
132042
132053
|
});
|
|
132043
132054
|
|
|
@@ -132063,74 +132074,293 @@ var ExTableCell_component = normalizeComponent(
|
|
|
132063
132074
|
)
|
|
132064
132075
|
|
|
132065
132076
|
/* harmony default export */ var ExTableCell = (ExTableCell_component.exports);
|
|
132066
|
-
//
|
|
132067
|
-
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
|
+
|
|
132309
|
+
|
|
132310
|
+
|
|
132311
|
+
|
|
132312
|
+
|
|
132313
|
+
|
|
132314
|
+
/* normalize component */
|
|
132068
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);
|
|
132069
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
|
|
132070
132329
|
|
|
132071
132330
|
|
|
132072
|
-
// 内部导入 element-ui 组件,避免与外部 element-ui 冲突
|
|
132073
132331
|
|
|
132074
132332
|
|
|
132075
132333
|
/* harmony default export */ var ex_tablevue_type_script_lang_js = ({
|
|
132076
132334
|
name: 'ExTable',
|
|
132077
132335
|
inheritAttrs: false,
|
|
132078
|
-
components: { ExTableCell: ExTableCell,
|
|
132336
|
+
components: { ExTableCell: ExTableCell, VirtualElTable: VirtualElTable },
|
|
132337
|
+
|
|
132079
132338
|
props: {
|
|
132080
|
-
// 表格数据
|
|
132081
132339
|
tableData: { type: Array, default: () => [] },
|
|
132082
|
-
// 列配置(支持 children 多级表头)
|
|
132083
132340
|
columns: { type: Array, default: () => [] },
|
|
132084
|
-
// 分组列配置(按配置的层级合并单元格)
|
|
132085
132341
|
groupColumns: { type: Array, default: () => [] },
|
|
132086
|
-
// 标题
|
|
132087
132342
|
title: { type: String, default: '' },
|
|
132088
|
-
// 高度
|
|
132089
132343
|
height: { type: [Number, String], default: null },
|
|
132090
|
-
|
|
132344
|
+
maxHeight: { type: [Number, String], default: null },
|
|
132091
132345
|
virtualScroll: { type: Boolean, default: false },
|
|
132092
|
-
// 预估行高
|
|
132093
132346
|
rowInitHeight: { type: Number, default: 48 },
|
|
132094
|
-
// 缓冲区行数
|
|
132095
132347
|
bufferSize: { type: Number, default: 5 },
|
|
132096
|
-
// 分页配置
|
|
132097
132348
|
pagination: { type: Object, default: null },
|
|
132098
|
-
// 总条数
|
|
132099
132349
|
total: { type: Number, default: 0 },
|
|
132100
|
-
// 是否显示序号
|
|
132101
132350
|
showIndex: { type: Boolean, default: false },
|
|
132102
|
-
// 是否可选
|
|
132103
132351
|
selection: { type: Boolean, default: false },
|
|
132104
|
-
// 选择列固定位置
|
|
132105
132352
|
selectionFixed: { type: [String, Boolean], default: false },
|
|
132106
|
-
// 序号列固定位置
|
|
132107
132353
|
indexFixed: { type: [String, Boolean], default: false },
|
|
132108
|
-
// 加载状态
|
|
132109
132354
|
loading: { type: Boolean, default: false },
|
|
132110
|
-
// 空数据文案
|
|
132111
132355
|
emptyText: { type: String, default: '暂无数据' },
|
|
132112
|
-
// 小计配置
|
|
132113
132356
|
subtotalConfig: { type: Object, default: () => ({ enabled: false }) },
|
|
132114
|
-
// 总计配置
|
|
132115
132357
|
totalConfig: { type: Object, default: () => ({ enabled: false }) }
|
|
132116
132358
|
},
|
|
132117
132359
|
|
|
132118
132360
|
data() {
|
|
132119
132361
|
return {
|
|
132120
|
-
// 虚拟滚动相关
|
|
132121
|
-
scrollTop: 0,
|
|
132122
|
-
scrollLeft: 0,
|
|
132123
|
-
rowHeight: 48,
|
|
132124
|
-
visibleStartIndex: 0,
|
|
132125
|
-
visibleEndIndex: 0,
|
|
132126
|
-
visibleCount: 0,
|
|
132127
|
-
// 表格宽度(用于自适应列宽计算)
|
|
132128
|
-
tableWidth: 0,
|
|
132129
|
-
// 分组合并缓存
|
|
132130
132362
|
spanCache: {},
|
|
132131
|
-
// 列扁平化缓存
|
|
132132
132363
|
flattenedColumnsCache: [],
|
|
132133
|
-
// 选中数据
|
|
132134
132364
|
selectedRows: []
|
|
132135
132365
|
}
|
|
132136
132366
|
},
|
|
@@ -132139,337 +132369,100 @@ var external_ElementUI_ = __webpack_require__("5f72");
|
|
|
132139
132369
|
showPagination() {
|
|
132140
132370
|
return this.pagination && this.total > 0
|
|
132141
132371
|
},
|
|
132142
|
-
|
|
132143
132372
|
computedHeight() {
|
|
132144
|
-
if (this.virtualScroll) {
|
|
132145
|
-
return this.height || 400
|
|
132146
|
-
}
|
|
132147
132373
|
return this.height || undefined
|
|
132148
132374
|
},
|
|
132149
|
-
|
|
132150
|
-
|
|
132151
|
-
fixedColumnWidth() {
|
|
132152
|
-
let width = 0
|
|
132153
|
-
// 选择列
|
|
132154
|
-
if (this.selection) width += 55
|
|
132155
|
-
// 序号列
|
|
132156
|
-
if (this.showIndex) width += 60
|
|
132157
|
-
// fixed 列
|
|
132158
|
-
const sumFixedWidth = (cols) => {
|
|
132159
|
-
cols.forEach(c => {
|
|
132160
|
-
if (c.fixed && (c.width || c.minWidth)) {
|
|
132161
|
-
width += typeof c.width === 'number' ? c.width : (typeof c.minWidth === 'number' ? c.minWidth : 100)
|
|
132162
|
-
}
|
|
132163
|
-
if (c.children && c.children.length) sumFixedWidth(c.children)
|
|
132164
|
-
})
|
|
132165
|
-
}
|
|
132166
|
-
sumFixedWidth(this.columns)
|
|
132167
|
-
return width
|
|
132375
|
+
computedMaxHeight() {
|
|
132376
|
+
return this.height ? undefined : this.maxHeight || undefined
|
|
132168
132377
|
},
|
|
132169
132378
|
|
|
132170
|
-
//
|
|
132171
|
-
nonFixedColumnWidthWithWidth() {
|
|
132172
|
-
let width = 0
|
|
132173
|
-
const sumWidth = (cols) => {
|
|
132174
|
-
cols.forEach(c => {
|
|
132175
|
-
if (!c.fixed && c.width) {
|
|
132176
|
-
width += typeof c.width === 'number' ? c.width : parseInt(c.width) || 0
|
|
132177
|
-
}
|
|
132178
|
-
if (c.children && c.children.length) sumWidth(c.children)
|
|
132179
|
-
})
|
|
132180
|
-
}
|
|
132181
|
-
sumWidth(this.columns)
|
|
132182
|
-
return width
|
|
132183
|
-
},
|
|
132184
|
-
|
|
132185
|
-
// 计算需要自适应的列数(非固定列且未设置width)
|
|
132186
|
-
autoColumnCount() {
|
|
132187
|
-
let count = 0
|
|
132188
|
-
const countCols = (cols) => {
|
|
132189
|
-
cols.forEach(c => {
|
|
132190
|
-
if (!c.fixed) {
|
|
132191
|
-
if (c.children && c.children.length) {
|
|
132192
|
-
countCols(c.children)
|
|
132193
|
-
} else if (!c.width) {
|
|
132194
|
-
// 只有未设置width的非固定列才参与自适应
|
|
132195
|
-
count++
|
|
132196
|
-
}
|
|
132197
|
-
}
|
|
132198
|
-
})
|
|
132199
|
-
}
|
|
132200
|
-
countCols(this.columns)
|
|
132201
|
-
return count
|
|
132202
|
-
},
|
|
132203
|
-
|
|
132204
|
-
// 自适应列宽(未设置width的非固定列均分剩余宽度)
|
|
132205
|
-
autoColumnWidth() {
|
|
132206
|
-
const totalWidth = this.tableWidth || 1000
|
|
132207
|
-
const gutter = 12 // el-table 默认 gutter
|
|
132208
|
-
const fixedWidth = this.fixedColumnWidth
|
|
132209
|
-
const nonFixedWithWidth = this.nonFixedColumnWidthWithWidth
|
|
132210
|
-
const autoCount = this.autoColumnCount
|
|
132211
|
-
|
|
132212
|
-
if (autoCount <= 0) return 100 // 默认宽度
|
|
132213
|
-
|
|
132214
|
-
// 自适应宽度 = (总宽度 - gutter - 固定列宽度 - 非固定列中已设置的width)/ 需要自适应的列数
|
|
132215
|
-
const availableWidth = totalWidth - gutter - fixedWidth - nonFixedWithWidth
|
|
132216
|
-
return Math.max(80, Math.floor(availableWidth / autoCount)) // 最小80px
|
|
132217
|
-
},
|
|
132218
|
-
|
|
132219
|
-
// 表头列定义(用于 colgroup,与 headerRows 列数保持一致)
|
|
132220
|
-
headerCols() {
|
|
132221
|
-
const cols = []
|
|
132222
|
-
|
|
132223
|
-
// 选择列
|
|
132224
|
-
if (this.selection) {
|
|
132225
|
-
cols.push({ _key: 'prepend_selection', _width: 55, _minWidth: 55 })
|
|
132226
|
-
}
|
|
132227
|
-
|
|
132228
|
-
// 序号列
|
|
132229
|
-
if (this.showIndex) {
|
|
132230
|
-
cols.push({ _key: 'prepend_index', _width: 60, _minWidth: 60 })
|
|
132231
|
-
}
|
|
132232
|
-
|
|
132233
|
-
// 数据列(只取叶子节点,使用一致的key生成)
|
|
132234
|
-
const addLeafCols = (columns, parentPath = '') => {
|
|
132235
|
-
columns.forEach((col, index) => {
|
|
132236
|
-
const path = parentPath ? `${parentPath}_${index}` : String(index)
|
|
132237
|
-
const key = this.generateColKey(col, path)
|
|
132238
|
-
|
|
132239
|
-
if (col.children && col.children.length) {
|
|
132240
|
-
addLeafCols(col.children, path)
|
|
132241
|
-
} else {
|
|
132242
|
-
cols.push({
|
|
132243
|
-
_key: key,
|
|
132244
|
-
_width: this.getColumnWidth(col),
|
|
132245
|
-
_minWidth: col.minWidth
|
|
132246
|
-
})
|
|
132247
|
-
}
|
|
132248
|
-
})
|
|
132249
|
-
}
|
|
132250
|
-
addLeafCols(this.columns)
|
|
132251
|
-
|
|
132252
|
-
return cols
|
|
132253
|
-
},
|
|
132254
|
-
|
|
132255
|
-
// 表头层级结构(用于自定义固定表头渲染)
|
|
132256
|
-
headerRows() {
|
|
132257
|
-
const rows = []
|
|
132258
|
-
let maxDepth = 1
|
|
132259
|
-
|
|
132260
|
-
// 计算最大深度
|
|
132261
|
-
const calcDepth = (cols, depth) => {
|
|
132262
|
-
maxDepth = Math.max(maxDepth, depth)
|
|
132263
|
-
cols.forEach(c => { if (c.children && c.children.length) calcDepth(c.children, depth + 1) })
|
|
132264
|
-
}
|
|
132265
|
-
if (this.columns.length) calcDepth(this.columns, 1)
|
|
132266
|
-
|
|
132267
|
-
// 初始化行
|
|
132268
|
-
for (let i = 0; i < maxDepth; i++) rows.push([])
|
|
132269
|
-
|
|
132270
|
-
// 计算叶子数量
|
|
132271
|
-
const countLeaves = (cols) => {
|
|
132272
|
-
let n = 0
|
|
132273
|
-
cols.forEach(c => {
|
|
132274
|
-
if (c.children && c.children.length) n += countLeaves(c.children)
|
|
132275
|
-
else n++
|
|
132276
|
-
})
|
|
132277
|
-
return n
|
|
132278
|
-
}
|
|
132279
|
-
|
|
132280
|
-
// 选择列 / 序号列占位(仅第一行,rowspan 跨所有行)
|
|
132281
|
-
if (this.selection) {
|
|
132282
|
-
rows[0].push({
|
|
132283
|
-
_key: 'prepend_selection',
|
|
132284
|
-
_rowspan: maxDepth,
|
|
132285
|
-
_colspan: 1,
|
|
132286
|
-
_style: { width: '55px' },
|
|
132287
|
-
_hidden: false,
|
|
132288
|
-
label: ''
|
|
132289
|
-
})
|
|
132290
|
-
for (let i = 1; i < maxDepth; i++) {
|
|
132291
|
-
rows[i].push({ _key: 'prepend_selection_' + i, _rowspan: 0, _colspan: 1, _hidden: true, label: '' })
|
|
132292
|
-
}
|
|
132293
|
-
}
|
|
132294
|
-
if (this.showIndex) {
|
|
132295
|
-
rows[0].push({
|
|
132296
|
-
_key: 'prepend_index',
|
|
132297
|
-
_rowspan: maxDepth,
|
|
132298
|
-
_colspan: 1,
|
|
132299
|
-
_style: { width: '60px' },
|
|
132300
|
-
_hidden: false,
|
|
132301
|
-
label: '#'
|
|
132302
|
-
})
|
|
132303
|
-
for (let i = 1; i < maxDepth; i++) {
|
|
132304
|
-
rows[i].push({ _key: 'prepend_index_' + i, _rowspan: 0, _colspan: 1, _hidden: true, label: '' })
|
|
132305
|
-
}
|
|
132306
|
-
}
|
|
132307
|
-
|
|
132308
|
-
// 填充列
|
|
132309
|
-
if (this.columns.length) {
|
|
132310
|
-
const fill = (cols, depth, parentPath = '') => {
|
|
132311
|
-
cols.forEach((c, index) => {
|
|
132312
|
-
const path = parentPath ? `${parentPath}_${index}` : String(index)
|
|
132313
|
-
const key = this.generateColKey(c, path)
|
|
132314
|
-
const hasKids = c.children && c.children.length
|
|
132315
|
-
const style = {}
|
|
132316
|
-
|
|
132317
|
-
// 如果有固定宽度,使用固定宽度;否则使用自适应宽度
|
|
132318
|
-
if (c.width) {
|
|
132319
|
-
style.width = typeof c.width === 'number' ? c.width + 'px' : c.width
|
|
132320
|
-
} else if (!c.fixed && this.virtualScroll) {
|
|
132321
|
-
// 非固定列且虚拟滚动时使用自适应宽度
|
|
132322
|
-
style.width = this.autoColumnWidth + 'px'
|
|
132323
|
-
}
|
|
132324
|
-
|
|
132325
|
-
if (c.minWidth) style.minWidth = typeof c.minWidth === 'number' ? c.minWidth + 'px' : c.minWidth
|
|
132326
|
-
|
|
132327
|
-
rows[depth].push({
|
|
132328
|
-
_key: key,
|
|
132329
|
-
_rowspan: hasKids ? 1 : maxDepth - depth,
|
|
132330
|
-
_colspan: hasKids ? countLeaves(c.children) : 1,
|
|
132331
|
-
_style: style,
|
|
132332
|
-
_hidden: !c.label && !c.prop,
|
|
132333
|
-
label: c.label || ''
|
|
132334
|
-
})
|
|
132335
|
-
if (hasKids) fill(c.children, depth + 1, path)
|
|
132336
|
-
})
|
|
132337
|
-
}
|
|
132338
|
-
fill(this.columns, 0)
|
|
132339
|
-
}
|
|
132340
|
-
|
|
132341
|
-
return rows
|
|
132342
|
-
},
|
|
132343
|
-
|
|
132344
|
-
// 处理后的数据(注入小计/总计行)
|
|
132379
|
+
// 处理小计、总计后的最终数据
|
|
132345
132380
|
processedTableData() {
|
|
132346
132381
|
if (!this.tableData.length) return []
|
|
132347
|
-
|
|
132348
132382
|
let data = [...this.tableData]
|
|
132349
132383
|
const hasSubtotal = this.subtotalConfig && this.subtotalConfig.enabled
|
|
132350
132384
|
const hasTotal = this.totalConfig && this.totalConfig.enabled
|
|
132351
132385
|
|
|
132352
132386
|
if (!hasSubtotal && !hasTotal) return data
|
|
132353
132387
|
|
|
132354
|
-
// 找到第一个数据列作为标签列
|
|
132355
132388
|
const labelColumn = this.findLabelColumn()
|
|
132356
|
-
|
|
132357
132389
|
let result = []
|
|
132358
132390
|
|
|
132359
132391
|
if (hasSubtotal && this.subtotalConfig.groupBy && this.subtotalConfig.groupBy.length) {
|
|
132360
|
-
// 按 groupBy 分组
|
|
132361
132392
|
const groups = this.groupData(data, this.subtotalConfig.groupBy)
|
|
132362
|
-
groups.forEach((groupRows
|
|
132363
|
-
// 插入数据行
|
|
132393
|
+
groups.forEach((groupRows) => {
|
|
132364
132394
|
result.push(...groupRows)
|
|
132365
|
-
|
|
132366
|
-
const subtotalRow = this.createSubtotalRow(groupRows, groupKey)
|
|
132395
|
+
const subtotalRow = this.createSubtotalRow(groupRows)
|
|
132367
132396
|
result.push(subtotalRow)
|
|
132368
132397
|
})
|
|
132369
132398
|
} else {
|
|
132370
132399
|
result = data
|
|
132371
132400
|
}
|
|
132372
132401
|
|
|
132373
|
-
// 插入总计行
|
|
132374
132402
|
if (hasTotal) {
|
|
132375
132403
|
const totalRow = this.createTotalRow(data)
|
|
132376
132404
|
result.push(totalRow)
|
|
132377
132405
|
}
|
|
132378
|
-
|
|
132379
132406
|
return result
|
|
132380
132407
|
},
|
|
132381
132408
|
|
|
132382
|
-
//
|
|
132383
|
-
virtualTotalHeight() {
|
|
132384
|
-
const data = this.processedTableData
|
|
132385
|
-
return data.length * this.rowHeight
|
|
132386
|
-
},
|
|
132387
|
-
|
|
132388
|
-
// 虚拟滚动偏移量
|
|
132389
|
-
virtualOffsetY() {
|
|
132390
|
-
const start = Math.max(0, this.visibleStartIndex - this.bufferSize)
|
|
132391
|
-
return start * this.rowHeight
|
|
132392
|
-
},
|
|
132393
|
-
|
|
132394
|
-
// 扁平化列配置(处理 children 嵌套)
|
|
132409
|
+
// 扁平化列配置,添加唯一 key
|
|
132395
132410
|
flattenedColumns() {
|
|
132396
132411
|
if (this.flattenedColumnsCache.length) return this.flattenedColumnsCache
|
|
132397
|
-
const
|
|
132398
|
-
|
|
132399
|
-
|
|
132400
|
-
const key = col.prop || col.label ||
|
|
132401
|
-
|
|
132412
|
+
const assignKeys = (cols, parentPath = '') => {
|
|
132413
|
+
return cols.map((col, index) => {
|
|
132414
|
+
const path = parentPath ? `${parentPath}_${index}` : String(index)
|
|
132415
|
+
const key = col.prop || col.slot || col.label || path
|
|
132416
|
+
const item = { ...col, _key: key }
|
|
132417
|
+
if (col.children && col.children.length) {
|
|
132418
|
+
item.children = assignKeys(col.children, path)
|
|
132419
|
+
}
|
|
132420
|
+
return item
|
|
132402
132421
|
})
|
|
132403
132422
|
}
|
|
132404
|
-
|
|
132405
|
-
this.flattenedColumnsCache
|
|
132406
|
-
return result
|
|
132407
|
-
},
|
|
132408
|
-
|
|
132409
|
-
// 虚拟滚动时的可见数据
|
|
132410
|
-
visibleData() {
|
|
132411
|
-
const data = this.processedTableData
|
|
132412
|
-
if (!this.virtualScroll || data.length === 0) {
|
|
132413
|
-
return data
|
|
132414
|
-
}
|
|
132415
|
-
const start = Math.max(0, this.visibleStartIndex - this.bufferSize)
|
|
132416
|
-
const end = Math.min(data.length, this.visibleEndIndex + this.bufferSize)
|
|
132417
|
-
return data.slice(start, end)
|
|
132423
|
+
this.flattenedColumnsCache = assignKeys(this.columns)
|
|
132424
|
+
return this.flattenedColumnsCache
|
|
132418
132425
|
}
|
|
132419
132426
|
},
|
|
132420
132427
|
|
|
132421
132428
|
watch: {
|
|
132422
|
-
tableData
|
|
132423
|
-
|
|
132424
|
-
|
|
132425
|
-
this.flattenedColumnsCache = []
|
|
132426
|
-
if (this.virtualScroll) {
|
|
132427
|
-
this.$nextTick(() => {
|
|
132428
|
-
this.measureRowHeight()
|
|
132429
|
-
this.updateVisibleRange()
|
|
132430
|
-
})
|
|
132431
|
-
}
|
|
132432
|
-
},
|
|
132433
|
-
immediate: false
|
|
132429
|
+
tableData() {
|
|
132430
|
+
this.spanCache = {}
|
|
132431
|
+
this.flattenedColumnsCache = []
|
|
132434
132432
|
},
|
|
132435
|
-
|
|
132436
132433
|
columns: {
|
|
132437
132434
|
handler() {
|
|
132438
132435
|
this.flattenedColumnsCache = []
|
|
132436
|
+
this.spanCache = {}
|
|
132439
132437
|
},
|
|
132440
132438
|
deep: true
|
|
132441
132439
|
},
|
|
132442
|
-
|
|
132443
|
-
|
|
132444
|
-
|
|
132445
|
-
|
|
132446
|
-
|
|
132447
|
-
this.destroyVirtualScroll()
|
|
132448
|
-
}
|
|
132440
|
+
groupColumns: {
|
|
132441
|
+
handler() {
|
|
132442
|
+
this.spanCache = {}
|
|
132443
|
+
},
|
|
132444
|
+
deep: true
|
|
132449
132445
|
}
|
|
132450
132446
|
},
|
|
132451
132447
|
|
|
132452
132448
|
mounted() {
|
|
132453
|
-
|
|
132454
|
-
|
|
132455
|
-
}
|
|
132456
|
-
// 监听窗口resize,更新表格宽度
|
|
132457
|
-
this.resizeHandler = () => {
|
|
132458
|
-
if (this.virtualScroll) {
|
|
132459
|
-
this.$nextTick(() => this.updateTableWidth())
|
|
132460
|
-
}
|
|
132461
|
-
}
|
|
132462
|
-
window.addEventListener('resize', this.resizeHandler)
|
|
132449
|
+
this.$nextTick(() => {
|
|
132450
|
+
window.addEventListener('resize', this.handleResize)
|
|
132451
|
+
})
|
|
132463
132452
|
},
|
|
132464
132453
|
|
|
132465
132454
|
beforeDestroy() {
|
|
132466
|
-
this.
|
|
132467
|
-
window.removeEventListener('resize', this.resizeHandler)
|
|
132455
|
+
window.removeEventListener('resize', this.handleResize)
|
|
132468
132456
|
},
|
|
132469
132457
|
|
|
132470
132458
|
methods: {
|
|
132471
|
-
|
|
132472
|
-
|
|
132459
|
+
handleResize() {
|
|
132460
|
+
this.$nextTick(() => {
|
|
132461
|
+
this.$refs.table && this.$refs.table.doLayout()
|
|
132462
|
+
})
|
|
132463
|
+
},
|
|
132464
|
+
|
|
132465
|
+
// ========== 小计 / 总计 相关 ==========
|
|
132473
132466
|
findLabelColumn() {
|
|
132474
132467
|
for (const col of this.columns) {
|
|
132475
132468
|
if (col.children && col.children.length) {
|
|
@@ -132483,33 +132476,25 @@ var external_ElementUI_ = __webpack_require__("5f72");
|
|
|
132483
132476
|
return { prop: '', label: '' }
|
|
132484
132477
|
},
|
|
132485
132478
|
|
|
132486
|
-
// 按指定字段分组(保持分组顺序)
|
|
132487
132479
|
groupData(data, groupBy) {
|
|
132488
132480
|
const map = new Map()
|
|
132489
132481
|
data.forEach(row => {
|
|
132490
132482
|
const key = groupBy.map(f => row[f]).join('|||')
|
|
132491
|
-
if (!map.has(key))
|
|
132492
|
-
map.set(key, [])
|
|
132493
|
-
}
|
|
132483
|
+
if (!map.has(key)) map.set(key, [])
|
|
132494
132484
|
map.get(key).push(row)
|
|
132495
132485
|
})
|
|
132496
132486
|
return map
|
|
132497
132487
|
},
|
|
132498
132488
|
|
|
132499
|
-
// 计算单列的聚合值
|
|
132500
132489
|
_calcValue(rows, calc) {
|
|
132501
|
-
// 自定义函数
|
|
132502
132490
|
if (typeof calc === 'function') return calc(rows)
|
|
132503
|
-
|
|
132504
|
-
// 字符串:'sum' | 'avg' | 'count' | 'min' | 'max'(需配合 prop 使用)
|
|
132505
|
-
|
|
132506
|
-
// 对象:{ prop: 'field', type: 'sum' } 或 { prop: 'field' } (默认 sum)
|
|
132507
132491
|
const prop = calc.prop
|
|
132508
132492
|
const type = calc.type || 'sum'
|
|
132509
132493
|
const vals = prop ? rows.map(r => parseFloat(r[prop]) || 0) : []
|
|
132510
132494
|
switch (type) {
|
|
132511
132495
|
case 'sum': return vals.reduce((s, v) => s + v, 0)
|
|
132512
|
-
case 'avg':
|
|
132496
|
+
case 'avg':
|
|
132497
|
+
case 'average': return vals.length ? vals.reduce((s, v) => s + v, 0) / vals.length : 0
|
|
132513
132498
|
case 'count': return rows.length
|
|
132514
132499
|
case 'min': return vals.length ? Math.min(...vals) : 0
|
|
132515
132500
|
case 'max': return vals.length ? Math.max(...vals) : 0
|
|
@@ -132517,20 +132502,16 @@ var external_ElementUI_ = __webpack_require__("5f72");
|
|
|
132517
132502
|
}
|
|
132518
132503
|
},
|
|
132519
132504
|
|
|
132520
|
-
|
|
132521
|
-
createSubtotalRow(groupRows, groupKey) {
|
|
132505
|
+
createSubtotalRow(groupRows) {
|
|
132522
132506
|
const config = this.subtotalConfig
|
|
132523
132507
|
const rawLabelProp = this.findLabelColumn()
|
|
132524
|
-
|
|
132525
|
-
// 获取第一个 groupBy 列的值显示
|
|
132526
132508
|
const labelField = config.groupBy ? config.groupBy[0] : ''
|
|
132527
|
-
const groupValue = groupRows[0] ? groupRows[0][labelField] :
|
|
132509
|
+
const groupValue = groupRows[0] ? groupRows[0][labelField] : ''
|
|
132528
132510
|
const labelText = config.labelText || `${groupValue} 小计`
|
|
132529
132511
|
|
|
132530
|
-
const row = { _rowType: 'subtotal'
|
|
132512
|
+
const row = { _rowType: 'subtotal' }
|
|
132531
132513
|
row[rawLabelProp.prop] = labelText
|
|
132532
132514
|
|
|
132533
|
-
// 计算各列的聚合值
|
|
132534
132515
|
if (config.columns) {
|
|
132535
132516
|
Object.keys(config.columns).forEach(prop => {
|
|
132536
132517
|
const calc = config.columns[prop]
|
|
@@ -132539,11 +132520,9 @@ var external_ElementUI_ = __webpack_require__("5f72");
|
|
|
132539
132520
|
: this._calcValue(groupRows, calc)
|
|
132540
132521
|
})
|
|
132541
132522
|
}
|
|
132542
|
-
|
|
132543
132523
|
return row
|
|
132544
132524
|
},
|
|
132545
132525
|
|
|
132546
|
-
// 创建总计行
|
|
132547
132526
|
createTotalRow(allRows) {
|
|
132548
132527
|
const config = this.totalConfig
|
|
132549
132528
|
const rawLabelProp = this.findLabelColumn()
|
|
@@ -132552,7 +132531,6 @@ var external_ElementUI_ = __webpack_require__("5f72");
|
|
|
132552
132531
|
const row = { _rowType: 'total' }
|
|
132553
132532
|
row[rawLabelProp.prop] = labelText
|
|
132554
132533
|
|
|
132555
|
-
// 计算各列的聚合值
|
|
132556
132534
|
if (config.columns) {
|
|
132557
132535
|
Object.keys(config.columns).forEach(prop => {
|
|
132558
132536
|
const calc = config.columns[prop]
|
|
@@ -132561,55 +132539,40 @@ var external_ElementUI_ = __webpack_require__("5f72");
|
|
|
132561
132539
|
: this._calcValue(allRows, calc)
|
|
132562
132540
|
})
|
|
132563
132541
|
}
|
|
132564
|
-
|
|
132565
132542
|
return row
|
|
132566
132543
|
},
|
|
132567
132544
|
|
|
132568
|
-
// 行类名(小计/总计行样式)
|
|
132569
132545
|
getRowClassName({ row }) {
|
|
132570
|
-
if (!row) return ''
|
|
132571
132546
|
if (row._rowType === 'subtotal') return 'ex-table-row-subtotal'
|
|
132572
132547
|
if (row._rowType === 'total') return 'ex-table-row-total'
|
|
132573
132548
|
return ''
|
|
132574
132549
|
},
|
|
132575
132550
|
|
|
132576
|
-
//
|
|
132551
|
+
// ========== 列处理 ==========
|
|
132577
132552
|
getColumnProps(col) {
|
|
132578
132553
|
const { _key, children, render, formatter, slot, ...props } = col
|
|
132579
132554
|
return props
|
|
132580
132555
|
},
|
|
132581
132556
|
|
|
132582
|
-
// ==================== 序号方法 ====================
|
|
132583
132557
|
indexMethod(index) {
|
|
132584
|
-
if (this.virtualScroll && this.visibleData.length > 0) {
|
|
132585
|
-
const row = this.visibleData[index]
|
|
132586
|
-
if (row && row._realIndex !== undefined) {
|
|
132587
|
-
return row._realIndex + 1
|
|
132588
|
-
}
|
|
132589
|
-
}
|
|
132590
132558
|
return index + 1
|
|
132591
132559
|
},
|
|
132592
132560
|
|
|
132593
|
-
//
|
|
132561
|
+
// ========== 合并单元格 ==========
|
|
132594
132562
|
handleSpanMethod({ row, column, rowIndex }) {
|
|
132595
|
-
// 跳过小计/总计行,不做合并
|
|
132596
132563
|
if (row._rowType === 'subtotal' || row._rowType === 'total') {
|
|
132597
132564
|
return { rowspan: 1, colspan: 1 }
|
|
132598
132565
|
}
|
|
132599
|
-
|
|
132600
132566
|
if (!this.groupColumns.length) return { rowspan: 1, colspan: 1 }
|
|
132601
132567
|
|
|
132602
|
-
const data = this.
|
|
132568
|
+
const data = this.processedTableData
|
|
132603
132569
|
const prop = column.property
|
|
132604
132570
|
const groupIndex = this.groupColumns.indexOf(prop)
|
|
132605
|
-
|
|
132606
132571
|
if (groupIndex === -1) return { rowspan: 1, colspan: 1 }
|
|
132607
132572
|
|
|
132608
|
-
// 检查缓存
|
|
132609
132573
|
const cacheKey = `${rowIndex}_${prop}`
|
|
132610
132574
|
if (this.spanCache[cacheKey]) return this.spanCache[cacheKey]
|
|
132611
132575
|
|
|
132612
|
-
// 判断当前行是否与前一行在分组列上完全相同
|
|
132613
132576
|
if (rowIndex > 0) {
|
|
132614
132577
|
const prevRow = data[rowIndex - 1]
|
|
132615
132578
|
let isSame = true
|
|
@@ -132621,161 +132584,74 @@ var external_ElementUI_ = __webpack_require__("5f72");
|
|
|
132621
132584
|
}
|
|
132622
132585
|
}
|
|
132623
132586
|
if (isSame) {
|
|
132624
|
-
const
|
|
132625
|
-
this.spanCache[cacheKey] =
|
|
132626
|
-
return
|
|
132587
|
+
const res = { rowspan: 0, colspan: 1 }
|
|
132588
|
+
this.spanCache[cacheKey] = res
|
|
132589
|
+
return res
|
|
132627
132590
|
}
|
|
132628
132591
|
}
|
|
132629
132592
|
|
|
132630
|
-
// 向下扫描计算合并行数
|
|
132631
132593
|
let count = 1
|
|
132632
132594
|
for (let i = rowIndex + 1; i < data.length; i++) {
|
|
132633
132595
|
const nextRow = data[i]
|
|
132634
|
-
let
|
|
132596
|
+
let same = true
|
|
132635
132597
|
for (let j = 0; j <= groupIndex; j++) {
|
|
132636
132598
|
const gp = this.groupColumns[j]
|
|
132637
132599
|
if (nextRow[gp] !== row[gp]) {
|
|
132638
|
-
|
|
132600
|
+
same = false
|
|
132639
132601
|
break
|
|
132640
132602
|
}
|
|
132641
132603
|
}
|
|
132642
|
-
if (
|
|
132643
|
-
|
|
132644
|
-
} else {
|
|
132645
|
-
break
|
|
132646
|
-
}
|
|
132604
|
+
if (same) count++
|
|
132605
|
+
else break
|
|
132647
132606
|
}
|
|
132648
132607
|
|
|
132649
|
-
const
|
|
132650
|
-
this.spanCache[cacheKey] =
|
|
132651
|
-
return
|
|
132608
|
+
const res = { rowspan: count > 1 ? count : 1, colspan: 1 }
|
|
132609
|
+
this.spanCache[cacheKey] = res
|
|
132610
|
+
return res
|
|
132652
132611
|
},
|
|
132653
132612
|
|
|
132654
|
-
//
|
|
132613
|
+
// ========== 选择、排序、分页 ==========
|
|
132655
132614
|
handleSelectionChange(rows) {
|
|
132656
|
-
// 过滤掉小计/总计行
|
|
132657
132615
|
this.selectedRows = rows.filter(r => !r._rowType)
|
|
132658
132616
|
this.$emit('selection-change', this.selectedRows)
|
|
132659
132617
|
},
|
|
132660
|
-
|
|
132661
|
-
|
|
132662
|
-
handleSortChange({ prop, order }) {
|
|
132663
|
-
this.$emit('sort-change', { prop, order })
|
|
132618
|
+
handleSortChange(info) {
|
|
132619
|
+
this.$emit('sort-change', info)
|
|
132664
132620
|
},
|
|
132665
|
-
|
|
132666
|
-
// ==================== 分页 ====================
|
|
132667
132621
|
handleSizeChange(size) {
|
|
132668
132622
|
this.$emit('size-change', size)
|
|
132669
132623
|
},
|
|
132670
|
-
|
|
132671
132624
|
handleCurrentChange(page) {
|
|
132672
132625
|
this.$emit('page-change', page)
|
|
132673
132626
|
},
|
|
132674
132627
|
|
|
132675
|
-
//
|
|
132628
|
+
// ========== 对外暴露方法 ==========
|
|
132676
132629
|
getSelection() {
|
|
132677
132630
|
return this.selectedRows
|
|
132678
132631
|
},
|
|
132679
|
-
|
|
132680
132632
|
clearSelection() {
|
|
132681
132633
|
this.$refs.table && this.$refs.table.clearSelection()
|
|
132682
132634
|
this.selectedRows = []
|
|
132683
132635
|
},
|
|
132684
|
-
|
|
132685
132636
|
toggleRowSelection(row, selected) {
|
|
132686
132637
|
this.$refs.table && this.$refs.table.toggleRowSelection(row, selected)
|
|
132687
132638
|
},
|
|
132688
|
-
|
|
132689
132639
|
toggleRowsSelection(rows, selected) {
|
|
132690
|
-
if (rows
|
|
132691
|
-
|
|
132692
|
-
|
|
132693
|
-
|
|
132694
|
-
}
|
|
132640
|
+
if (!rows || !rows.length) return
|
|
132641
|
+
rows.forEach(row => {
|
|
132642
|
+
this.$refs.table && this.$refs.table.toggleRowSelection(row, selected)
|
|
132643
|
+
})
|
|
132695
132644
|
},
|
|
132696
|
-
|
|
132697
132645
|
doLayout() {
|
|
132698
132646
|
this.$refs.table && this.$refs.table.doLayout()
|
|
132699
|
-
},
|
|
132700
|
-
|
|
132701
|
-
// 获取列宽度(支持自适应)
|
|
132702
|
-
getColumnWidth(col) {
|
|
132703
|
-
// 如果有固定宽度,使用固定宽度
|
|
132704
|
-
if (col.width) {
|
|
132705
|
-
return typeof col.width === 'number' ? col.width : col.width.replace('px', '')
|
|
132706
|
-
}
|
|
132707
|
-
// 非固定列且虚拟滚动时使用自适应宽度
|
|
132708
|
-
if (!col.fixed && this.virtualScroll) {
|
|
132709
|
-
return this.autoColumnWidth
|
|
132710
|
-
}
|
|
132711
|
-
// 默认宽度
|
|
132712
|
-
if (col.minWidth) {
|
|
132713
|
-
return typeof col.minWidth === 'number' ? col.minWidth : col.minWidth.replace('px', '')
|
|
132714
|
-
}
|
|
132715
|
-
return 100
|
|
132716
|
-
},
|
|
132717
|
-
|
|
132718
|
-
// 更新表格宽度(用于自适应列宽计算)
|
|
132719
|
-
updateTableWidth() {
|
|
132720
|
-
const tableWrapper = this.$refs.tableBody
|
|
132721
|
-
if (tableWrapper) {
|
|
132722
|
-
this.tableWidth = tableWrapper.offsetWidth || 1000
|
|
132723
|
-
}
|
|
132724
|
-
},
|
|
132725
|
-
|
|
132726
|
-
// ==================== 虚拟滚动 ====================
|
|
132727
|
-
initVirtualScroll() {
|
|
132728
|
-
this.updateTableWidth()
|
|
132729
|
-
this.measureRowHeight()
|
|
132730
|
-
if (this.processedTableData.length > 0) {
|
|
132731
|
-
this.updateVisibleRange()
|
|
132732
|
-
}
|
|
132733
|
-
},
|
|
132734
|
-
|
|
132735
|
-
measureRowHeight() {
|
|
132736
|
-
const el = this.$refs.table && this.$refs.table.$el
|
|
132737
|
-
if (!el) return
|
|
132738
|
-
const row = el.querySelector('.el-table__row')
|
|
132739
|
-
if (row) {
|
|
132740
|
-
this.rowHeight = row.offsetHeight || this.rowInitHeight
|
|
132741
|
-
}
|
|
132742
|
-
},
|
|
132743
|
-
|
|
132744
|
-
handleBodyScroll(event) {
|
|
132745
|
-
const target = event.target
|
|
132746
|
-
this.scrollLeft = target.scrollLeft
|
|
132747
|
-
if (this.virtualScroll) {
|
|
132748
|
-
this.scrollTop = target.scrollTop
|
|
132749
|
-
this.updateVisibleRange()
|
|
132750
|
-
}
|
|
132751
|
-
},
|
|
132752
|
-
|
|
132753
|
-
updateVisibleRange() {
|
|
132754
|
-
const totalCount = this.processedTableData.length
|
|
132755
|
-
if (totalCount === 0 || this.rowHeight === 0) return
|
|
132756
|
-
|
|
132757
|
-
const visibleCount = Math.ceil((this.computedHeight || 400) / this.rowHeight)
|
|
132758
|
-
|
|
132759
|
-
this.visibleStartIndex = Math.max(0, Math.floor(this.scrollTop / this.rowHeight))
|
|
132760
|
-
this.visibleEndIndex = Math.min(
|
|
132761
|
-
totalCount,
|
|
132762
|
-
this.visibleStartIndex + visibleCount
|
|
132763
|
-
)
|
|
132764
|
-
this.visibleCount = visibleCount
|
|
132765
|
-
},
|
|
132766
|
-
|
|
132767
|
-
destroyVirtualScroll() {
|
|
132768
|
-
this.scrollTop = 0
|
|
132769
|
-
this.visibleStartIndex = 0
|
|
132770
|
-
this.visibleEndIndex = 0
|
|
132771
132647
|
}
|
|
132772
132648
|
}
|
|
132773
132649
|
});
|
|
132774
132650
|
|
|
132775
132651
|
// CONCATENATED MODULE: ./src/components/ex-table/index.vue?vue&type=script&lang=js
|
|
132776
132652
|
/* harmony default export */ var components_ex_tablevue_type_script_lang_js = (ex_tablevue_type_script_lang_js);
|
|
132777
|
-
// EXTERNAL MODULE: ./src/components/ex-table/index.vue?vue&type=style&index=0&id=
|
|
132778
|
-
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");
|
|
132779
132655
|
|
|
132780
132656
|
// CONCATENATED MODULE: ./src/components/ex-table/index.vue
|
|
132781
132657
|
|
|
@@ -132788,11 +132664,11 @@ var ex_tablevue_type_style_index_0_id_5be23981_prod_scoped_true_lang_css = __web
|
|
|
132788
132664
|
|
|
132789
132665
|
var ex_table_component = normalizeComponent(
|
|
132790
132666
|
components_ex_tablevue_type_script_lang_js,
|
|
132791
|
-
|
|
132792
|
-
|
|
132667
|
+
ex_tablevue_type_template_id_f6bc1634_scoped_true_render,
|
|
132668
|
+
ex_tablevue_type_template_id_f6bc1634_scoped_true_staticRenderFns,
|
|
132793
132669
|
false,
|
|
132794
132670
|
null,
|
|
132795
|
-
"
|
|
132671
|
+
"f6bc1634",
|
|
132796
132672
|
null
|
|
132797
132673
|
|
|
132798
132674
|
)
|
|
@@ -132939,6 +132815,43 @@ function registerElementDirectives(Vue, ElementUI) {
|
|
|
132939
132815
|
}
|
|
132940
132816
|
})
|
|
132941
132817
|
}
|
|
132818
|
+
// CONCATENATED MODULE: ./src/components/ex-table/virtualScrollData.js
|
|
132819
|
+
/**
|
|
132820
|
+
* 生成虚拟滚动演示数据
|
|
132821
|
+
* @param {number} count 数据条数,默认 10000
|
|
132822
|
+
* @returns {Array}
|
|
132823
|
+
*/
|
|
132824
|
+
function createVirtualScrollData(count = 10000) {
|
|
132825
|
+
const departments = ['研发部', '产品部', '运营部', '财务部', '市场部']
|
|
132826
|
+
const positions = ['工程师', '产品经理', '运营专员', '财务主管', '市场经理']
|
|
132827
|
+
const statuses = ['在职', '休假', '离职']
|
|
132828
|
+
|
|
132829
|
+
return Array.from({ length: count }, (_, i) => ({
|
|
132830
|
+
id: i + 1,
|
|
132831
|
+
name: `用户${i + 1}`,
|
|
132832
|
+
department: departments[i % departments.length],
|
|
132833
|
+
position: positions[i % positions.length],
|
|
132834
|
+
email: `user${i + 1}@example.com`,
|
|
132835
|
+
phone: `13800138${String(i).padStart(4, '0')}`,
|
|
132836
|
+
address: `北京市朝阳区第${i + 1}号街道`,
|
|
132837
|
+
salary: 5000 + Math.floor(Math.random() * 10000),
|
|
132838
|
+
status: statuses[i % statuses.length]
|
|
132839
|
+
}))
|
|
132840
|
+
}
|
|
132841
|
+
|
|
132842
|
+
/** 虚拟滚动演示列配置 */
|
|
132843
|
+
const virtualScrollColumns = [
|
|
132844
|
+
{ prop: 'id', label: 'ID', fixed: 'left', width: 80 },
|
|
132845
|
+
{ prop: 'name', label: '姓名', fixed: 'left', width: 120 },
|
|
132846
|
+
{ prop: 'department', label: '部门', width: 150 },
|
|
132847
|
+
{ prop: 'position', label: '职位', width: 150 },
|
|
132848
|
+
{ prop: 'email', label: '邮箱', width: 200 },
|
|
132849
|
+
{ prop: 'phone', label: '电话', width: 130 },
|
|
132850
|
+
{ prop: 'address', label: '地址', width: 200 },
|
|
132851
|
+
{ prop: 'salary', label: '薪资', width: 120 },
|
|
132852
|
+
{ prop: 'status', label: '状态', fixed: 'right', width: 100 }
|
|
132853
|
+
]
|
|
132854
|
+
|
|
132942
132855
|
// CONCATENATED MODULE: ./src/index.js
|
|
132943
132856
|
// 导入主题样式(定义 CSS 变量)
|
|
132944
132857
|
|
|
@@ -132952,10 +132865,10 @@ function registerElementDirectives(Vue, ElementUI) {
|
|
|
132952
132865
|
|
|
132953
132866
|
|
|
132954
132867
|
// ES Module 默认导出需要通过 .default 访问
|
|
132955
|
-
const
|
|
132868
|
+
const src_utils_0 = src_utils.default || src_utils
|
|
132956
132869
|
|
|
132957
132870
|
// 从 utils 导入配置管理函数(仅用于存储配置)
|
|
132958
|
-
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
|
|
132959
132872
|
|
|
132960
132873
|
// 导入组件
|
|
132961
132874
|
|
|
@@ -133038,15 +132951,7 @@ const install = function (Vue, options = {}) {
|
|
|
133038
132951
|
}
|
|
133039
132952
|
}
|
|
133040
132953
|
|
|
133041
|
-
|
|
133042
|
-
const ElementUI = __webpack_require__("5f72")
|
|
133043
|
-
|
|
133044
|
-
// 注册 ElementUI 的基础组件(用于 ExTable 等封装组件内部使用)
|
|
133045
|
-
// 不调用 Vue.use(ElementUI),避免全局污染
|
|
133046
|
-
// ex-table 等组件内部会直接使用 element-ui 的组件
|
|
133047
|
-
|
|
133048
|
-
// 在开发环境下注册 ElementUI 组件为 Ex 开头(方便文档和示例使用)
|
|
133049
|
-
if (false) {}
|
|
132954
|
+
if (false) {}
|
|
133050
132955
|
|
|
133051
132956
|
// 调用统一的注册函数
|
|
133052
132957
|
}
|
|
@@ -133080,6 +132985,9 @@ if (typeof window !== 'undefined' && window.Vue) {
|
|
|
133080
132985
|
// ExChart 组件按需导出(使用时需自行安装 echarts 依赖)
|
|
133081
132986
|
|
|
133082
132987
|
|
|
132988
|
+
// ExTable 虚拟滚动演示数据工具
|
|
132989
|
+
|
|
132990
|
+
|
|
133083
132991
|
// 导出工具函数和变量
|
|
133084
132992
|
|
|
133085
132993
|
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js
|