@ecan-bi/datav 1.0.39 → 1.0.42

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.
Files changed (55) hide show
  1. package/dist/index.es.js +701 -173
  2. package/dist/index.es.js.map +1 -1
  3. package/dist/index.umd.js +699 -171
  4. package/dist/index.umd.js.map +1 -1
  5. package/dist/style.css +132 -72
  6. package/package.json +1 -1
  7. package/types/_utils/constant.d.ts +2 -1
  8. package/types/_utils/hooks/index.d.ts +1 -0
  9. package/types/_utils/hooks/useIndicatorData.d.ts +4 -0
  10. package/types/common/echarts/Echarts.d.ts +418 -0
  11. package/types/common/echarts/index.d.ts +2 -2
  12. package/types/common/index.d.ts +1 -1
  13. package/types/common/skeleton/Skeleton.vue.d.ts +14 -0
  14. package/types/common/skeleton/index.d.ts +2 -0
  15. package/types/container/border/Border.vue.d.ts +54 -54
  16. package/types/container/border/props.d.ts +54 -54
  17. package/types/container/modal/Modal.vue.d.ts +1 -1
  18. package/types/container/modal/index.d.ts +1 -1
  19. package/types/control/button/Button.vue.d.ts +72 -0
  20. package/types/control/button/index.d.ts +72 -0
  21. package/types/control/button/props.d.ts +84 -44
  22. package/types/control/date-picker/props.d.ts +52 -52
  23. package/types/control/input/props.d.ts +48 -48
  24. package/types/control/range-picker/RangePicker.vue.d.ts +52 -52
  25. package/types/control/range-picker/props.d.ts +52 -52
  26. package/types/control/select/Select.vue.d.ts +50 -50
  27. package/types/control/select/props.d.ts +50 -50
  28. package/types/graph/bar/Bar.vue.d.ts +128 -128
  29. package/types/graph/bar/index.d.ts +128 -128
  30. package/types/graph/bar/props.d.ts +65 -65
  31. package/types/graph/combo-graph/ComboGraph.vue.d.ts +155 -0
  32. package/types/graph/combo-graph/index.d.ts +155 -0
  33. package/types/graph/combo-graph/props.d.ts +72 -0
  34. package/types/graph/custom-graph/props.d.ts +48 -48
  35. package/types/graph/line/Line.vue.d.ts +155 -0
  36. package/types/graph/line/index.d.ts +155 -0
  37. package/types/graph/line/props.d.ts +72 -0
  38. package/types/graph/pie/Pie.vue.d.ts +155 -0
  39. package/types/graph/pie/index.d.ts +155 -0
  40. package/types/graph/pie/props.d.ts +72 -0
  41. package/types/graph/scatter/Scatter.vue.d.ts +155 -0
  42. package/types/graph/scatter/index.d.ts +155 -0
  43. package/types/graph/scatter/props.d.ts +72 -0
  44. package/types/map/map/props.d.ts +112 -112
  45. package/types/media/image/props.d.ts +52 -52
  46. package/types/table/table/Table.vue.d.ts +900 -79
  47. package/types/table/table/index.d.ts +899 -79
  48. package/types/table/table/props.d.ts +451 -39
  49. package/types/text/list/List.vue.d.ts +64 -64
  50. package/types/text/list/props.d.ts +64 -64
  51. package/types/text/proportion/Proportion.vue.d.ts +68 -68
  52. package/types/text/proportion/props.d.ts +68 -68
  53. package/types/text/text/Text.vue.d.ts +66 -66
  54. package/types/text/text/props.d.ts +66 -66
  55. package/types/text/time-display/props.d.ts +60 -60
package/dist/index.es.js CHANGED
@@ -18,7 +18,7 @@ var __spreadValues = (a, b) => {
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  var _a, _b, _c;
21
- import { watch, inject, computed, unref, watchEffect, defineComponent, shallowRef, toRefs, onMounted, onUnmounted, h, nextTick, createVNode, resolveComponent, openBlock, createElementBlock, createBlock, renderSlot, ref, normalizeStyle, createCommentVNode, provide, withCtx, toDisplayString, Fragment, renderList, createElementVNode, normalizeClass, pushScopeId, popScopeId, createTextVNode, createSlots, resolveDynamicComponent, mergeProps, withDirectives, vShow } from "vue";
21
+ import { watch, inject, computed, unref, watchEffect, defineComponent, shallowRef, toRefs, onMounted, onUnmounted, h, nextTick, createVNode, resolveComponent, openBlock, createElementBlock, createBlock, renderSlot, withCtx, ref, normalizeStyle, createCommentVNode, provide, toDisplayString, Fragment, renderList, createElementVNode, normalizeClass, pushScopeId, popScopeId, createTextVNode, createSlots, resolveDynamicComponent, mergeProps, withDirectives, vShow } from "vue";
22
22
  import { throttle, init, use, registerMap } from "echarts/core";
23
23
  import { addListener, removeListener } from "resize-detector";
24
24
  import { Spin as Spin$1, Skeleton as Skeleton$1, message, Progress, Input as Input$1, DatePicker as DatePicker$1, Select as Select$1, RangePicker as RangePicker$1, Button as Button$1, Modal as Modal$1, Table as Table$1, TableSummary, TableSummaryRow, TableSummaryCell } from "ant-design-vue";
@@ -36,7 +36,7 @@ import "ant-design-vue/es/select/style";
36
36
  import "ant-design-vue/es/button/style";
37
37
  import { CanvasRenderer } from "echarts/renderers";
38
38
  import { PieChart, LineChart, BarChart, ScatterChart, MapChart } from "echarts/charts";
39
- import { TitleComponent, TooltipComponent, LegendComponent, DatasetComponent, ToolboxComponent, VisualMapComponent, GraphicComponent } from "echarts/components";
39
+ import { TitleComponent, ToolboxComponent, TooltipComponent, LegendComponent, DatasetComponent, VisualMapComponent, GraphicComponent } from "echarts/components";
40
40
  import * as echarts from "echarts";
41
41
  import "ant-design-vue/es/modal/style";
42
42
  import "ant-design-vue/es/table/style";
@@ -133,7 +133,7 @@ const TAG_NAME = "x-vue-echarts";
133
133
  const THEME_KEY = "ecTheme";
134
134
  const INIT_OPTIONS_KEY = "ecInitOptions";
135
135
  const UPDATE_OPTIONS_KEY = "ecUpdateOptions";
136
- var ECharts = defineComponent({
136
+ var Echarts = defineComponent({
137
137
  name: "echarts",
138
138
  props: __spreadValues(__spreadValues({
139
139
  option: Object,
@@ -1396,10 +1396,10 @@ const _sfc_main$p = defineComponent({
1396
1396
  };
1397
1397
  }
1398
1398
  });
1399
- const _hoisted_1$b = { class: "spin-wrapper" };
1399
+ const _hoisted_1$9 = { class: "spin-wrapper" };
1400
1400
  function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
1401
1401
  const _component_a_spin = resolveComponent("a-spin");
1402
- return openBlock(), createElementBlock("div", _hoisted_1$b, [
1402
+ return openBlock(), createElementBlock("div", _hoisted_1$9, [
1403
1403
  _ctx.spinning ? (openBlock(), createBlock(_component_a_spin, {
1404
1404
  key: 0,
1405
1405
  class: "spin",
@@ -1410,7 +1410,7 @@ function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
1410
1410
  ]);
1411
1411
  }
1412
1412
  var Spin = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render$p]]);
1413
- defineComponent({
1413
+ const _sfc_main$o = defineComponent({
1414
1414
  name: "Skeleton",
1415
1415
  props: {
1416
1416
  loading: {
@@ -1422,6 +1422,19 @@ defineComponent({
1422
1422
  ASkeleton: Skeleton$1
1423
1423
  }
1424
1424
  });
1425
+ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
1426
+ const _component_a_skeleton = resolveComponent("a-skeleton");
1427
+ return openBlock(), createBlock(_component_a_skeleton, {
1428
+ active: "",
1429
+ loading: _ctx.loading
1430
+ }, {
1431
+ default: withCtx(() => [
1432
+ renderSlot(_ctx.$slots, "default")
1433
+ ]),
1434
+ _: 3
1435
+ }, 8, ["loading"]);
1436
+ }
1437
+ var Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$o]]);
1425
1438
  const withInstall = (main, extra) => {
1426
1439
  main.install = (app) => {
1427
1440
  for (const comp of [main, ...Object.values(extra != null ? extra : {})]) {
@@ -1509,9 +1522,10 @@ const EVENT_BUS = "EVENT_BUS";
1509
1522
  const GLOBAL_CONFIG = "GLOBAL_CONFIG";
1510
1523
  const GLOBAL_MODEL = "GLOBAL_MODEL";
1511
1524
  const REQUEST_MODEL = "REQUEST_MODEL";
1512
- const UPLOAD_PATH = ((_a = window == null ? void 0 : window.config) == null ? void 0 : _a.uploadPath) || "/api";
1513
- const BASE_URL = ((_b = window == null ? void 0 : window.config) == null ? void 0 : _b.routerBaseURL) || "./";
1514
- const INDICATOR_URL = (_c = window == null ? void 0 : window.config) == null ? void 0 : _c.indicatorURL;
1525
+ const GLOBAL_TOKEN = "GLOBAL_TOKEN";
1526
+ const INDICATOR_URL = (_a = window == null ? void 0 : window.config) == null ? void 0 : _a.indicatorURL;
1527
+ const UPLOAD_PATH = ((_b = window == null ? void 0 : window.config) == null ? void 0 : _b.uploadPath) || "/api";
1528
+ const BASE_URL = ((_c = window == null ? void 0 : window.config) == null ? void 0 : _c.routerBaseURL) || "./";
1515
1529
  const useOnEvent = (props2, events) => {
1516
1530
  watch(() => props2.id, (id, oldId) => {
1517
1531
  const eventBus = inject(EVENT_BUS, {
@@ -1754,12 +1768,13 @@ const useImagePath = (path, isFormat = false) => {
1754
1768
  const usePageUrl = (pageMode, pageId) => {
1755
1769
  const envPageUrl = `/preview?pageId=${pageId}`;
1756
1770
  const proPageUrl = `${BASE_URL}${pageId}`;
1771
+ console.log(pageMode);
1757
1772
  return pageMode === "preview" ? envPageUrl : proPageUrl;
1758
1773
  };
1759
1774
  const useVariablesInText = (text, data = {}) => {
1760
1775
  var _a2;
1761
- const config = (_a2 = window.config) != null ? _a2 : {};
1762
- data = __spreadValues(__spreadValues({}, config), data);
1776
+ const config2 = (_a2 = window.config) != null ? _a2 : {};
1777
+ data = __spreadValues(__spreadValues({}, config2), data);
1763
1778
  const variables = text.match(/\{.*?\}/g);
1764
1779
  if (variables == null || variables.length === 0)
1765
1780
  return text;
@@ -1778,20 +1793,20 @@ const useVariablesInText = (text, data = {}) => {
1778
1793
  const request = axios.create({
1779
1794
  timeout: 1e3 * 10
1780
1795
  });
1781
- request.interceptors.request.use((config) => {
1782
- return config;
1796
+ request.interceptors.request.use((config2) => {
1797
+ return config2;
1783
1798
  }, (error) => {
1784
1799
  return Promise.reject(error);
1785
1800
  });
1786
- request.interceptors.response.use((config) => {
1801
+ request.interceptors.response.use((config2) => {
1787
1802
  var _a2, _b2, _c2;
1788
- if (+((_a2 = config == null ? void 0 : config.data) == null ? void 0 : _a2.code) === 500) {
1803
+ if (+((_a2 = config2 == null ? void 0 : config2.data) == null ? void 0 : _a2.code) === 500) {
1789
1804
  message.error({
1790
- content: ((_b2 = config == null ? void 0 : config.data) == null ? void 0 : _b2.msg) || ((_c2 = config == null ? void 0 : config.data) == null ? void 0 : _c2.message) || "\u670D\u52A1\u5668\u5F02\u5E38",
1805
+ content: ((_b2 = config2 == null ? void 0 : config2.data) == null ? void 0 : _b2.msg) || ((_c2 = config2 == null ? void 0 : config2.data) == null ? void 0 : _c2.message) || "\u670D\u52A1\u5668\u5F02\u5E38",
1791
1806
  key: "SERVER_ERROR"
1792
1807
  });
1793
1808
  }
1794
- return config;
1809
+ return config2;
1795
1810
  }, (error) => {
1796
1811
  if (error.message.includes("timeout")) {
1797
1812
  message.error({
@@ -2165,8 +2180,209 @@ const useValueFormatter = (formatter = "", value) => {
2165
2180
  }
2166
2181
  return formatter;
2167
2182
  };
2183
+ const useIndicatorData = (props2 = {}) => {
2184
+ const { requestToken } = inject(GLOBAL_TOKEN, {
2185
+ requestToken: () => void 0
2186
+ });
2187
+ if (props2.dataType === "indicator") {
2188
+ requestToken();
2189
+ }
2190
+ const handleQueryColumn = (queryColumn = {}) => {
2191
+ const { label, name, location, show, indexCode } = queryColumn;
2192
+ return {
2193
+ label,
2194
+ columnName: name,
2195
+ location,
2196
+ show,
2197
+ calcType: "COLUMN",
2198
+ hrpIndexCode: indexCode
2199
+ };
2200
+ };
2201
+ const handleIndicator = (indicator = {}) => {
2202
+ const {
2203
+ label,
2204
+ name,
2205
+ location,
2206
+ show,
2207
+ indexCode,
2208
+ calcType = "COLUMN",
2209
+ builtInFormula,
2210
+ builtInValueSource,
2211
+ builtInCalcWay,
2212
+ formula
2213
+ } = indicator;
2214
+ return {
2215
+ label,
2216
+ columnName: name,
2217
+ location,
2218
+ show,
2219
+ calcType,
2220
+ hrpIndexCode: indexCode,
2221
+ aggregate: "SUM",
2222
+ builtInFormula,
2223
+ builtInValueSource,
2224
+ builtInCalcWay,
2225
+ formula
2226
+ };
2227
+ };
2228
+ const { getGlobalModel } = inject(GLOBAL_MODEL, {
2229
+ getGlobalModel: (key) => void 0
2230
+ });
2231
+ const handleSqlConditions = (controlList = []) => {
2232
+ var _a2;
2233
+ const len = controlList.length;
2234
+ const sqlConditions = [];
2235
+ for (let i = 0; i < len; i++) {
2236
+ const control = controlList[i];
2237
+ const {
2238
+ id,
2239
+ conditionLabel,
2240
+ conditionKey,
2241
+ conditionValueType
2242
+ } = control;
2243
+ const sqlCondition = {
2244
+ rule: "NONE",
2245
+ label: conditionLabel,
2246
+ fieldName: conditionKey,
2247
+ fieldValue: "",
2248
+ valueType: conditionValueType
2249
+ };
2250
+ const model = getGlobalModel(id) || {};
2251
+ if (lowerCaseIncludes(model.type, "date")) {
2252
+ const { value, format } = model || {};
2253
+ sqlCondition.fieldValue = (_a2 = unref(value)) == null ? void 0 : _a2.format(format);
2254
+ sqlCondition.dateFormat = format;
2255
+ }
2256
+ sqlConditions.push(sqlCondition);
2257
+ }
2258
+ return sqlConditions;
2259
+ };
2260
+ return async () => {
2261
+ var _a2, _b2;
2262
+ const { graphicConfig } = props2;
2263
+ const {
2264
+ source,
2265
+ dataViewId,
2266
+ plugin,
2267
+ layer,
2268
+ chartType,
2269
+ classificationList = [],
2270
+ seriesList = [],
2271
+ leftAxisList = [],
2272
+ rightAxisList = [],
2273
+ queryColumnList = [],
2274
+ indicators = [],
2275
+ controlList = [],
2276
+ dataSourceId,
2277
+ idxLibMode,
2278
+ preview = false
2279
+ } = graphicConfig || {};
2280
+ console.log("classificationList", classificationList);
2281
+ console.log("seriesList", seriesList);
2282
+ console.log("leftAxisList", leftAxisList);
2283
+ console.log("rightAxisList", rightAxisList);
2284
+ console.log("indicators", indicators);
2285
+ console.log("controlList", controlList);
2286
+ let classification;
2287
+ if (Array.isArray(classificationList) && classificationList.length > 0) {
2288
+ const len = classificationList.length;
2289
+ for (let i = 0; i < len; i++) {
2290
+ const item = classificationList[i] || {};
2291
+ const { label = "", name = "", show = false, sort, customGroup } = item;
2292
+ if (show) {
2293
+ classification = {
2294
+ label,
2295
+ columnName: name,
2296
+ show,
2297
+ sort,
2298
+ customGroup
2299
+ };
2300
+ break;
2301
+ }
2302
+ }
2303
+ }
2304
+ let series;
2305
+ if (Array.isArray(seriesList) && seriesList.length > 0) {
2306
+ const len = seriesList.length;
2307
+ for (let i = 0; i < len; i++) {
2308
+ const item = seriesList[i] || {};
2309
+ const { label = "", name = "", show = false, sort, customGroup } = item;
2310
+ if (show) {
2311
+ series = {
2312
+ label,
2313
+ columnName: name,
2314
+ show,
2315
+ sort,
2316
+ customGroup
2317
+ };
2318
+ break;
2319
+ }
2320
+ }
2321
+ }
2322
+ const queryColumns = [];
2323
+ queryColumnList == null ? void 0 : queryColumnList.forEach((queryColumn) => {
2324
+ queryColumns.push(handleQueryColumn(queryColumn));
2325
+ });
2326
+ const indicatorList = [];
2327
+ leftAxisList == null ? void 0 : leftAxisList.forEach((leftAxis) => {
2328
+ leftAxis.location = "LEFT";
2329
+ if (leftAxis.show) {
2330
+ indicatorList.push(handleIndicator(leftAxis));
2331
+ }
2332
+ });
2333
+ rightAxisList == null ? void 0 : rightAxisList.forEach((rightAxis) => {
2334
+ rightAxis.location = "RIGHT";
2335
+ if (rightAxis.show) {
2336
+ indicatorList.push(handleIndicator(rightAxis));
2337
+ }
2338
+ });
2339
+ indicators == null ? void 0 : indicators.forEach((indicator) => {
2340
+ indicator.location = "LEFT";
2341
+ if (indicator.show) {
2342
+ indicatorList.push(handleIndicator(indicator));
2343
+ }
2344
+ });
2345
+ if (layer === "1" && queryColumns.length === 0) {
2346
+ return;
2347
+ } else if (layer === "2" && indicatorList.length === 0) {
2348
+ return;
2349
+ }
2350
+ let sqlConditions;
2351
+ if ((graphicConfig == null ? void 0 : graphicConfig.pageMode) === "design") {
2352
+ sqlConditions = (_a2 = graphicConfig.sqlConditions) != null ? _a2 : [];
2353
+ } else {
2354
+ sqlConditions = handleSqlConditions(controlList);
2355
+ }
2356
+ try {
2357
+ const res = await request.post(`${INDICATOR_URL}/diagram`, {
2358
+ source,
2359
+ dataViewId,
2360
+ plugin,
2361
+ layer,
2362
+ chartType,
2363
+ classification,
2364
+ series,
2365
+ indicatorList,
2366
+ queryColumns,
2367
+ pageFlag: true,
2368
+ sqlConditions,
2369
+ dataSourceId,
2370
+ idxLibMode,
2371
+ preview
2372
+ }, {
2373
+ headers: {
2374
+ Authentication: (_b2 = window == null ? void 0 : window.config) == null ? void 0 : _b2.indicatorToken,
2375
+ operateContext: "ygt"
2376
+ }
2377
+ });
2378
+ return res;
2379
+ } catch (e) {
2380
+ console.error(e);
2381
+ }
2382
+ };
2383
+ };
2168
2384
  var PageConfig_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "#container[data-v-836b53bc] {\n position: fixed;\n top: 0;\n left: 0;\n overflow: hidden;\n transform-origin: left top;\n z-index: 999;\n}\n.page-config[data-v-836b53bc] {\n position: relative;\n overflow: hidden;\n background-size: cover;\n}\n")();
2169
- const _sfc_main$o = defineComponent({
2385
+ const _sfc_main$n = defineComponent({
2170
2386
  name: "EcanPageConfig",
2171
2387
  props: __spreadValues({}, pageConfigComponentProps),
2172
2388
  setup(props2) {
@@ -2260,12 +2476,12 @@ const _sfc_main$o = defineComponent({
2260
2476
  };
2261
2477
  }
2262
2478
  });
2263
- const _hoisted_1$a = {
2479
+ const _hoisted_1$8 = {
2264
2480
  id: "container",
2265
2481
  ref: "container"
2266
2482
  };
2267
- function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
2268
- return openBlock(), createElementBlock("div", _hoisted_1$a, [
2483
+ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
2484
+ return openBlock(), createElementBlock("div", _hoisted_1$8, [
2269
2485
  _ctx.ready ? (openBlock(), createElementBlock("div", {
2270
2486
  key: 0,
2271
2487
  class: "page-config",
@@ -2275,7 +2491,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
2275
2491
  ], 4)) : createCommentVNode("", true)
2276
2492
  ], 512);
2277
2493
  }
2278
- var PageConfig = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$o], ["__scopeId", "data-v-836b53bc"]]);
2494
+ var PageConfig = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$n], ["__scopeId", "data-v-836b53bc"]]);
2279
2495
  const EcanPageConfig = withInstall(PageConfig);
2280
2496
  const providerConfig = {
2281
2497
  contextRequestUrl: "",
@@ -2283,7 +2499,7 @@ const providerConfig = {
2283
2499
  theme: "light"
2284
2500
  };
2285
2501
  const providerConfigComponentProps = transformToComponentProps(providerConfig);
2286
- const _sfc_main$n = defineComponent({
2502
+ const _sfc_main$m = defineComponent({
2287
2503
  name: "EcanProviderConfig",
2288
2504
  props: __spreadValues({}, providerConfigComponentProps),
2289
2505
  setup(props2, { expose }) {
@@ -2336,6 +2552,13 @@ const _sfc_main$n = defineComponent({
2336
2552
  offEvent,
2337
2553
  emitEvent
2338
2554
  });
2555
+ const tokenNum = ref(0);
2556
+ const requestToken = () => {
2557
+ tokenNum.value = unref(tokenNum) + 1;
2558
+ };
2559
+ provide(GLOBAL_TOKEN, {
2560
+ requestToken
2561
+ });
2339
2562
  const requestModel = /* @__PURE__ */ new Map();
2340
2563
  const setRequest = (requestFn = () => {
2341
2564
  }, sortNum = 0) => {
@@ -2356,11 +2579,24 @@ const _sfc_main$n = defineComponent({
2356
2579
  });
2357
2580
  });
2358
2581
  };
2582
+ const queryUserToken = async () => {
2583
+ var _a2;
2584
+ const res = await axios.get(`${INDICATOR_URL}/user/anonymous?username=admin`, {
2585
+ headers: {
2586
+ systemCode: "F72FC50A3D97372514A6AC33333D28FD",
2587
+ current_context: "ygt"
2588
+ }
2589
+ });
2590
+ config.indicatorToken = (_a2 = res.data.data) == null ? void 0 : _a2.token;
2591
+ };
2359
2592
  const touchRequest = async () => {
2360
2593
  const requestModelArr = Array.from(requestModel);
2361
2594
  requestModelArr.sort((a, b) => b[0] - a[0]);
2362
2595
  const len = requestModelArr.length;
2363
2596
  try {
2597
+ if (props2.pageMode !== "design" && unref(tokenNum) > 0) {
2598
+ await queryUserToken();
2599
+ }
2364
2600
  for (let i = 0; i < len; i++) {
2365
2601
  const requestFnList = requestModelArr[i][1];
2366
2602
  await handleRequestFnList(requestFnList);
@@ -2382,19 +2618,20 @@ const _sfc_main$n = defineComponent({
2382
2618
  };
2383
2619
  }
2384
2620
  });
2385
- const _hoisted_1$9 = {
2621
+ const _hoisted_1$7 = {
2386
2622
  id: "ProviderConfig",
2387
2623
  ref: "providerConfig"
2388
2624
  };
2389
- function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
2390
- return openBlock(), createElementBlock("div", _hoisted_1$9, [
2625
+ function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
2626
+ return openBlock(), createElementBlock("div", _hoisted_1$7, [
2391
2627
  renderSlot(_ctx.$slots, "default")
2392
2628
  ], 512);
2393
2629
  }
2394
- var ProviderConfig = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$n]]);
2630
+ var ProviderConfig = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$m]]);
2395
2631
  const EcanProviderConfig = withInstall(ProviderConfig);
2396
2632
  const textProps = __spreadProps(__spreadValues({}, props), {
2397
- name: "\u57FA\u7840\u6587\u672C",
2633
+ name: "\u6587\u672C",
2634
+ keyName: "\u6587\u672C",
2398
2635
  type: "ecanText",
2399
2636
  width: "100px",
2400
2637
  height: "40px",
@@ -2412,32 +2649,7 @@ const textProps = __spreadProps(__spreadValues({}, props), {
2412
2649
  });
2413
2650
  const textComponentProps = transformToComponentProps(textProps);
2414
2651
  const textEvents = ["refreshData", "click"];
2415
- const _sfc_main$m = defineComponent({
2416
- name: "Skeleton",
2417
- props: {
2418
- loading: {
2419
- type: Boolean,
2420
- default: false
2421
- }
2422
- },
2423
- components: {
2424
- ASkeleton: Skeleton$1
2425
- }
2426
- });
2427
- function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
2428
- const _component_a_skeleton = resolveComponent("a-skeleton");
2429
- return openBlock(), createBlock(_component_a_skeleton, {
2430
- active: "",
2431
- loading: _ctx.loading
2432
- }, {
2433
- default: withCtx(() => [
2434
- renderSlot(_ctx.$slots, "default")
2435
- ]),
2436
- _: 3
2437
- }, 8, ["loading"]);
2438
- }
2439
- var Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$m]]);
2440
- var Text_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".skeleton-wrapper[data-v-04705f6f] {\n overflow: hidden;\n}\n.ecan-text[data-v-04705f6f] {\n overflow: hidden;\n display: flex;\n}\n")();
2652
+ var Text_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".skeleton-wrapper[data-v-e7487804] {\n overflow: hidden;\n}\n.ecan-text[data-v-e7487804] {\n overflow: hidden;\n display: flex;\n}\n")();
2441
2653
  const _sfc_main$l = defineComponent({
2442
2654
  name: "EcanText",
2443
2655
  components: { Skeleton },
@@ -2506,7 +2718,7 @@ const _sfc_main$l = defineComponent({
2506
2718
  };
2507
2719
  }
2508
2720
  });
2509
- const _hoisted_1$8 = ["innerHTML"];
2721
+ const _hoisted_1$6 = ["innerHTML"];
2510
2722
  function _sfc_render$l(_ctx, _cache, $props, $setup, $data, $options) {
2511
2723
  const _component_skeleton = resolveComponent("skeleton");
2512
2724
  return _ctx.loading ? (openBlock(), createElementBlock("div", {
@@ -2521,9 +2733,9 @@ function _sfc_render$l(_ctx, _cache, $props, $setup, $data, $options) {
2521
2733
  style: normalizeStyle(_ctx.style),
2522
2734
  innerHTML: _ctx.myText,
2523
2735
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.click && _ctx.click(...args))
2524
- }, null, 12, _hoisted_1$8));
2736
+ }, null, 12, _hoisted_1$6));
2525
2737
  }
2526
- var Text = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$l], ["__scopeId", "data-v-04705f6f"]]);
2738
+ var Text = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$l], ["__scopeId", "data-v-e7487804"]]);
2527
2739
  const EcanText = withInstall(Text);
2528
2740
  var ScrollText_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".red[data-v-0bb717eb] {\n color: red;\n}\n")();
2529
2741
  const _sfc_main$k = defineComponent({
@@ -2535,9 +2747,9 @@ const _sfc_main$k = defineComponent({
2535
2747
  };
2536
2748
  }
2537
2749
  });
2538
- const _hoisted_1$7 = { class: "red" };
2750
+ const _hoisted_1$5 = { class: "red" };
2539
2751
  function _sfc_render$k(_ctx, _cache, $props, $setup, $data, $options) {
2540
- return openBlock(), createElementBlock("div", _hoisted_1$7, toDisplayString(_ctx.text), 1);
2752
+ return openBlock(), createElementBlock("div", _hoisted_1$5, toDisplayString(_ctx.text), 1);
2541
2753
  }
2542
2754
  var ScrollText = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["render", _sfc_render$k], ["__scopeId", "data-v-0bb717eb"]]);
2543
2755
  const EcanScrollText = withInstall(ScrollText);
@@ -2632,10 +2844,10 @@ const listProps = __spreadProps(__spreadValues({}, props), {
2632
2844
  });
2633
2845
  const listComponentProps = transformToComponentProps(listProps);
2634
2846
  const listEvents = ["refreshData", "click"];
2635
- var List_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.ecan-list[data-v-766e4cb3] {
2847
+ var List_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.ecan-list[data-v-461dbe78] {
2636
2848
  overflow: hidden;
2637
2849
  }
2638
- .ecan-list-content[data-v-766e4cb3] {
2850
+ .ecan-list-content[data-v-461dbe78] {
2639
2851
  width: 100%;
2640
2852
  height: 100%;
2641
2853
  overflow: auto;
@@ -2643,7 +2855,7 @@ var List_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.
2643
2855
  align-content: flex-start;
2644
2856
  flex-wrap: wrap;
2645
2857
  }
2646
- .title[data-v-766e4cb3] {
2858
+ .title[data-v-461dbe78] {
2647
2859
  position: absolute;
2648
2860
  z-index: 9;
2649
2861
  display: flex;
@@ -2653,18 +2865,18 @@ var List_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.
2653
2865
  font-size: 16px;
2654
2866
  color: #ffffff;
2655
2867
  }
2656
- .title-inner[data-v-766e4cb3] {
2868
+ .title-inner[data-v-461dbe78] {
2657
2869
  padding-left: 28px;
2658
2870
  padding-right: 20px;
2659
2871
  flex: 1;
2660
2872
  display: flex;
2661
2873
  height: 100%;
2662
2874
  }
2663
- .title-placeholder[data-v-766e4cb3] {
2875
+ .title-placeholder[data-v-461dbe78] {
2664
2876
  width: 100%;
2665
2877
  height: 32px;
2666
2878
  }
2667
- .item[data-v-766e4cb3] {
2879
+ .item[data-v-461dbe78] {
2668
2880
  display: flex;
2669
2881
  align-items: center;
2670
2882
  height: 32px;
@@ -2674,13 +2886,13 @@ var List_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.
2674
2886
  font-size: 16px;
2675
2887
  color: #ffffff;
2676
2888
  }
2677
- .column[data-v-766e4cb3] {
2889
+ .column[data-v-461dbe78] {
2678
2890
  flex: 1;
2679
2891
  overflow: hidden;
2680
2892
  text-overflow: ellipsis;
2681
2893
  white-space: nowrap;
2682
2894
  }
2683
- .ranking[data-v-766e4cb3] {
2895
+ .ranking[data-v-461dbe78] {
2684
2896
  flex: 1;
2685
2897
  display: flex;
2686
2898
  align-items: center;
@@ -2689,28 +2901,28 @@ var List_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.
2689
2901
  text-overflow: ellipsis;
2690
2902
  white-space: nowrap;
2691
2903
  }
2692
- .icon[data-v-766e4cb3] {
2904
+ .icon[data-v-461dbe78] {
2693
2905
  width: 12px;
2694
2906
  height: 8px;
2695
2907
  background: #21BEF7;
2696
2908
  margin-right: 17px;
2697
2909
  opacity: 0.6;
2698
2910
  }
2699
- .item:nth-child(2) .icon[data-v-766e4cb3] {
2911
+ .item:nth-child(2) .icon[data-v-461dbe78] {
2700
2912
  opacity: 0.8;
2701
2913
  }
2702
- .item:first-child .icon[data-v-766e4cb3] {
2914
+ .item:first-child .icon[data-v-461dbe78] {
2703
2915
  opacity: 1;
2704
2916
  }
2705
- .sort[data-v-766e4cb3] {
2917
+ .sort[data-v-461dbe78] {
2706
2918
  font-weight: 600;
2707
2919
  }
2708
- .goUp[data-v-766e4cb3] {
2920
+ .goUp[data-v-461dbe78] {
2709
2921
  color: #FF512E;
2710
2922
  display: flex;
2711
2923
  align-items: center;
2712
2924
  }
2713
- .goUp[data-v-766e4cb3]:before {
2925
+ .goUp[data-v-461dbe78]:before {
2714
2926
  content: '';
2715
2927
  display: block;
2716
2928
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAV1BMVEUAAAD/WzT/WjP/WDD/WzT/WzP/WzT/WzT/WzT/WjT/WzT/WDT/YED/WzT/WzT/WjT/YED/WzT/WzT/WzT/XDT/WzT/WjX/WjP/XDT/XDT/WTL/Tif/WzReH8z5AAAAHHRSTlMA8RgS9W9YHbePZyME5sVjCP7bzcCxgndOQC4GFJJgKwAAAIJJREFUKM+Nkd0OgyAMRjvqcLA53fzXvv9zaokmxq8mnsue5ACFDjiy+XyjLZ7yyK35OxN5mSFZKa2QojEIKRhrZKM0QnsMQxirmJ0kBubTIZvAtUyiFAT4JFoUIYmIotZ5xjDPfyoCAV16nMPdFir8xZ16nM//tePtXw2ODOJY0V0WqQwM2rgKrU0AAAAASUVORK5CYII=");
@@ -2720,12 +2932,12 @@ var List_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.
2720
2932
  background-size: cover;
2721
2933
  margin-right: 2px;
2722
2934
  }
2723
- .goDown[data-v-766e4cb3] {
2935
+ .goDown[data-v-461dbe78] {
2724
2936
  color: #00F7B4;
2725
2937
  display: flex;
2726
2938
  align-items: center;
2727
2939
  }
2728
- .goDown[data-v-766e4cb3]:before {
2940
+ .goDown[data-v-461dbe78]:before {
2729
2941
  content: '';
2730
2942
  display: block;
2731
2943
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAaVBMVEUAAAAA+b0A+LwA+L0A/6AA+LwA+L0A+L0A+b0A+LwA/78A+LwA+L0A+LwA+LwA+b0A+LsA970A+LwA+r0A9boA/7YA+LwA+LwA+LwA+L0A97wA+bwA970A970A+bwA+bwA+LsA9rkA+LzcCa+5AAAAInRSTlMAd/uVAvjYxCsiDvPp37F7aWBMNBgK7s/NvKidh4NXUEcdp9A1SAAAAI5JREFUKM+l0UcOwzAMRFGqWZbcW3rl/Q8ZhUGKMN7lLedD4EKUi/3BEIrGsQu432pmPuF+1WnfRNjLipMz7HbHT3cIF9n3BLYSerzAooSgZNcWQiuhIdBI8JQblNISCqXU/BNG/mqzJ+az13MWluIdRspNmgV+Rvc6vkCwPu1uIhQq5o7WDOwtrToG+ssDeh4QPgfT2X0AAAAASUVORK5CYII=");
@@ -2735,7 +2947,7 @@ var List_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.
2735
2947
  background-size: cover;
2736
2948
  margin-right: 2px;
2737
2949
  }
2738
- .empty[data-v-766e4cb3] {
2950
+ .empty[data-v-461dbe78] {
2739
2951
  text-align: center;
2740
2952
  margin-top: 15%;
2741
2953
  }
@@ -2824,8 +3036,8 @@ const _sfc_main$i = defineComponent({
2824
3036
  };
2825
3037
  }
2826
3038
  });
2827
- const _withScopeId$1 = (n) => (pushScopeId("data-v-766e4cb3"), n = n(), popScopeId(), n);
2828
- const _hoisted_1$6 = {
3039
+ const _withScopeId$1 = (n) => (pushScopeId("data-v-461dbe78"), n = n(), popScopeId(), n);
3040
+ const _hoisted_1$4 = {
2829
3041
  key: 0,
2830
3042
  class: "title"
2831
3043
  };
@@ -2855,7 +3067,7 @@ function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {
2855
3067
  }, [
2856
3068
  createVNode(_component_skeleton, { loading: _ctx.loading }, {
2857
3069
  default: withCtx(() => [
2858
- _ctx.useTitle ? (openBlock(), createElementBlock("div", _hoisted_1$6, [
3070
+ _ctx.useTitle ? (openBlock(), createElementBlock("div", _hoisted_1$4, [
2859
3071
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.columnCount, (count) => {
2860
3072
  return openBlock(), createElementBlock("div", {
2861
3073
  class: "title-inner",
@@ -2924,7 +3136,7 @@ function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {
2924
3136
  }, 8, ["loading"])
2925
3137
  ], 4);
2926
3138
  }
2927
- var List = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["render", _sfc_render$i], ["__scopeId", "data-v-766e4cb3"]]);
3139
+ var List = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["render", _sfc_render$i], ["__scopeId", "data-v-461dbe78"]]);
2928
3140
  const EcanList = withInstall(List);
2929
3141
  const proportionProps = __spreadProps(__spreadValues({}, props), {
2930
3142
  name: "\u5360\u6BD4\u56FE",
@@ -2949,7 +3161,7 @@ const proportionProps = __spreadProps(__spreadValues({}, props), {
2949
3161
  });
2950
3162
  const proportionComponentProps = transformToComponentProps(proportionProps);
2951
3163
  const proportionEvents = ["refreshData", "click"];
2952
- var Proportion_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".ecan-proportion[data-v-1a10ace9] {\n overflow: hidden;\n}\n.progress[data-v-1a10ace9] {\n width: 100%;\n height: 100%;\n}\n.format[data-v-1a10ace9] {\n margin: 0 auto;\n}\n")();
3164
+ var Proportion_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".ecan-proportion[data-v-02b500fa] {\n overflow: hidden;\n}\n.progress[data-v-02b500fa] {\n width: 100%;\n height: 100%;\n}\n.format[data-v-02b500fa] {\n margin: 0 auto;\n}\n")();
2953
3165
  const _sfc_main$h = defineComponent({
2954
3166
  name: "EcanProportion",
2955
3167
  components: {
@@ -3082,7 +3294,7 @@ function _sfc_render$h(_ctx, _cache, $props, $setup, $data, $options) {
3082
3294
  }, 8, ["percent", "width", "type", "strokeColor", "strokeLinecap", "trailColor", "strokeWidth", "gapDegree", "onClick"])
3083
3295
  ], 4);
3084
3296
  }
3085
- var Proportion = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", _sfc_render$h], ["__scopeId", "data-v-1a10ace9"]]);
3297
+ var Proportion = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", _sfc_render$h], ["__scopeId", "data-v-02b500fa"]]);
3086
3298
  const EcanProportion = withInstall(Proportion);
3087
3299
  const inputProps = __spreadProps(__spreadValues({}, props), {
3088
3300
  width: "200px",
@@ -3213,7 +3425,7 @@ const selectProps = __spreadProps(__spreadValues({}, props), {
3213
3425
  });
3214
3426
  const selectComponentProps = transformToComponentProps(selectProps);
3215
3427
  const selectEvents = ["selectChange"];
3216
- var Select_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".ecan-select[data-v-2a771bb2] .ant-select-selector {\n height: 100% !important;\n}\n.select[data-v-2a771bb2] {\n width: 100%;\n height: 100%;\n}\n")();
3428
+ var Select_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".ecan-select[data-v-d70a9a94] .ant-select-selector {\n height: 100% !important;\n}\n.select[data-v-d70a9a94] {\n width: 100%;\n height: 100%;\n}\n")();
3217
3429
  var Select_vue_vue_type_style_index_1_lang = /* @__PURE__ */ (() => "[datav-theme='light'] .ant-select:not(.ant-select-customize-input) .ant-select-selector {\n border: 1px solid #d9d9d9;\n}\n[datav-theme='light'] .ant-select-dropdown {\n color: rgba(0, 0, 0, 0.85);\n background: #ffffff;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n}\n[datav-theme='light'] .ant-empty-img-simple-g {\n stroke: #d9d9d9;\n}\n[datav-theme='light'] .ant-empty-img-simple-ellipse {\n fill: #f5f5f5;\n}\n[datav-theme='light'] .ant-empty-img-simple-path {\n fill: #f5f5f5;\n stroke: #d9d9d9;\n}\n[datav-theme='light'] .ant-empty-description {\n color: rgba(0, 0, 0, 0.25);\n}\n[datav-theme='light'] .anticon-down {\n color: #333;\n}\n[datav-theme='darkBlue'] .ant-select:not(.ant-select-customize-input) .ant-select-selector {\n border: 1px solid #1f63a3;\n background-color: #05164c;\n box-shadow: inset 0 0 10px #005efe;\n color: #ffffff;\n}\n[datav-theme='darkBlue'] .ant-select-dropdown {\n box-shadow: inset 0 0 10px #005efe;\n color: #fff;\n background-color: #05164c;\n}\n[datav-theme='darkBlue'] .ant-empty-img-simple-g {\n stroke: #69befa;\n}\n[datav-theme='darkBlue'] .ant-empty-img-simple-ellipse {\n fill-opacity: 0;\n}\n[datav-theme='darkBlue'] .ant-empty-img-simple-path {\n fill: #69befa;\n stroke: #69befa;\n}\n[datav-theme='darkBlue'] .ant-empty-description {\n color: #69befa;\n}\n[datav-theme='darkBlue'] .anticon-down {\n color: #ffffff;\n}\n[datav-theme='darkBlue'] .ant-select-item {\n color: #ffffff;\n}\n[datav-theme='darkBlue'] .ant-select-item-option-active {\n background: #1f63a3;\n}\n[datav-theme='darkBlue'] .ant-select-item-option-selected:not(.ant-select-item-option-disabled) {\n background: #1f63a3;\n}\n")();
3218
3430
  const _sfc_main$e = defineComponent({
3219
3431
  name: "EcanSelect",
@@ -3284,7 +3496,7 @@ function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {
3284
3496
  }, null, 8, ["value", "options", "getPopupContainer", "field-names", "onChange"])
3285
3497
  ], 4);
3286
3498
  }
3287
- var Select = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["render", _sfc_render$e], ["__scopeId", "data-v-2a771bb2"]]);
3499
+ var Select = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["render", _sfc_render$e], ["__scopeId", "data-v-d70a9a94"]]);
3288
3500
  const EcanSelect = withInstall(Select);
3289
3501
  const rangePickerProps = __spreadProps(__spreadValues({}, props), {
3290
3502
  name: "\u8303\u56F4\u9009\u62E9\u5668",
@@ -3299,7 +3511,7 @@ const rangePickerProps = __spreadProps(__spreadValues({}, props), {
3299
3511
  });
3300
3512
  const rangePickerComponentProps = transformToComponentProps(rangePickerProps);
3301
3513
  const rangePickerEvents = ["dateChange"];
3302
- var RangePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".range-picker[data-v-11b582ae] {\n width: 100%;\n height: 100%;\n}\n")();
3514
+ var RangePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".range-picker[data-v-61322f3d] {\n width: 100%;\n height: 100%;\n}\n")();
3303
3515
  var RangePicker_vue_vue_type_style_index_1_lang = /* @__PURE__ */ (() => "[datav-theme='light'] .ecan-range-picker .ant-picker {\n background-color: #ffffff;\n color: rgba(0, 0, 0, 0.85);\n border: 1px solid #d9d9d9;\n}\n[datav-theme='light'] .ecan-range-picker .ant-picker-input > input {\n color: rgba(0, 0, 0, 0.85);\n}\n[datav-theme='light'] .ecan-range-picker .anticon-calendar {\n color: #333;\n}\n[datav-theme='light'] .ecan-range-picker .anticon-close-circle {\n color: #333;\n}\n[datav-theme='light'] .ecan-range-picker .ant-picker-input > input::placeholder {\n color: #bfbfbf;\n}\n[datav-theme='light'] .ecan-range-picker .ant-picker-separator .anticon {\n color: #333;\n}\n[datav-theme='darkBlue'] .ecan-range-picker .ant-picker {\n background-color: #05164c;\n border: 1px solid #1f63a3;\n color: #fff;\n box-shadow: inset 0 0 10px #005efe;\n}\n[datav-theme='darkBlue'] .ecan-range-picker .ant-picker-input > input {\n color: #ffffff;\n}\n[datav-theme='darkBlue'] .ecan-range-picker .anticon-calendar {\n color: #ffffff;\n}\n[datav-theme='darkBlue'] .ecan-range-picker .anticon-close-circle {\n color: #333;\n}\n[datav-theme='darkBlue'] .ecan-range-picker .ant-picker-separator .anticon {\n color: #fff;\n}\n[datav-theme='darkBlue'] .ecan-range-picker-dropdown .ant-picker-panel {\n background: #05174e;\n border-bottom: 1px solid #69befa;\n}\n[datav-theme='darkBlue'] .ecan-range-picker-dropdown .ant-picker-header {\n color: #69befa;\n border-bottom: 1px solid #69befa;\n}\n[datav-theme='darkBlue'] .ecan-range-picker-dropdown .ant-picker-panel .ant-picker-footer {\n border-top: 1px solid #69befa;\n}\n[datav-theme='darkBlue'] .ecan-range-picker-dropdown .ant-picker-header button {\n color: #69befa;\n}\n[datav-theme='darkBlue'] .ecan-range-picker-dropdown .ant-picker-content th {\n color: #69befa;\n}\n[datav-theme='darkBlue'] .ecan-range-picker-dropdown .ant-picker-content td {\n color: #69befa;\n}\n[datav-theme='darkBlue'] .ecan-range-picker-dropdown .ant-picker-today-btn {\n color: #69befa;\n}\n[datav-theme='darkBlue'] .ecan-range-picker-dropdown .ant-picker-cell-disabled .ant-picker-cell-inner {\n color: #999;\n}\n[datav-theme='darkBlue'] .ecan-range-picker-dropdown .ant-picker-cell-disabled::before {\n background: #333;\n}\n")();
3304
3516
  const _sfc_main$d = defineComponent({
3305
3517
  name: "EcanRangePicker",
@@ -3364,17 +3576,21 @@ function _sfc_render$d(_ctx, _cache, $props, $setup, $data, $options) {
3364
3576
  }, null, 8, ["value", "format", "picker", "locale", "getPopupContainer", "onChange"])
3365
3577
  ], 4);
3366
3578
  }
3367
- var RangePicker = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["render", _sfc_render$d], ["__scopeId", "data-v-11b582ae"]]);
3579
+ var RangePicker = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["render", _sfc_render$d], ["__scopeId", "data-v-61322f3d"]]);
3368
3580
  const EcanRangePicker = withInstall(RangePicker);
3369
3581
  const buttonProps = __spreadProps(__spreadValues({}, props), {
3370
3582
  width: "200px",
3371
3583
  name: "\u6309\u94AE",
3372
3584
  keyName: "\u6309\u94AE",
3373
- type: "ecanButton"
3585
+ type: "ecanButton",
3586
+ text: "\u6309\u94AE",
3587
+ mode: "default",
3588
+ danger: false,
3589
+ shape: "default"
3374
3590
  });
3375
3591
  const buttonComponentProps = transformToComponentProps(buttonProps);
3376
3592
  const buttonEvents = ["click"];
3377
- var Button_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".button[data-v-f60a3514] {\n width: 100%;\n height: 100%;\n}\n")();
3593
+ var Button_vue_vue_type_style_index_0_lang = /* @__PURE__ */ (() => ".ecan-button .ant-btn {\n width: 100%;\n height: 100%;\n}\n")();
3378
3594
  const _sfc_main$c = defineComponent({
3379
3595
  name: "EcanButton",
3380
3596
  components: {
@@ -3392,26 +3608,28 @@ const _sfc_main$c = defineComponent({
3392
3608
  };
3393
3609
  }
3394
3610
  });
3395
- const _hoisted_1$5 = /* @__PURE__ */ createTextVNode(" \u6D4B\u8BD5 ");
3396
3611
  function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
3397
3612
  const _component_a_button = resolveComponent("a-button");
3398
3613
  return openBlock(), createElementBlock("div", {
3399
- class: "ecan-input",
3614
+ class: "ecan-button",
3400
3615
  style: normalizeStyle(_ctx.style)
3401
3616
  }, [
3402
3617
  createVNode(_component_a_button, {
3403
- class: "button",
3404
3618
  block: "",
3405
- onClick: _ctx.click
3619
+ onClick: _ctx.click,
3620
+ type: _ctx.mode,
3621
+ danger: _ctx.danger,
3622
+ ghost: _ctx.ghost,
3623
+ shape: _ctx.shape
3406
3624
  }, {
3407
3625
  default: withCtx(() => [
3408
- _hoisted_1$5
3626
+ createTextVNode(toDisplayString(_ctx.text), 1)
3409
3627
  ]),
3410
3628
  _: 1
3411
- }, 8, ["onClick"])
3629
+ }, 8, ["onClick", "type", "danger", "ghost", "shape"])
3412
3630
  ], 4);
3413
3631
  }
3414
- var Button = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["render", _sfc_render$c], ["__scopeId", "data-v-f60a3514"]]);
3632
+ var Button = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["render", _sfc_render$c]]);
3415
3633
  const EcanButton = withInstall(Button);
3416
3634
  const tabsProps = __spreadProps(__spreadValues({}, props), {
3417
3635
  type: "ecanTabs",
@@ -3440,7 +3658,7 @@ const tabsProps = __spreadProps(__spreadValues({}, props), {
3440
3658
  });
3441
3659
  const tabsComponentProps = transformToComponentProps(tabsProps);
3442
3660
  const tabsEvents = ["tabChange"];
3443
- var Tabs_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".ecan-tabs[data-v-2e2bded0] {\n box-sizing: border-box;\n color: #333333;\n display: flex;\n}\n.tab[data-v-2e2bded0] {\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n background-size: 100% 100%;\n background-repeat: no-repeat;\n}\n.tab[data-v-2e2bded0]:last-child {\n margin-right: 0 !important;\n}\n")();
3661
+ var Tabs_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".ecan-tabs[data-v-5aeec0ae] {\n box-sizing: border-box;\n color: #333333;\n display: flex;\n}\n.tab[data-v-5aeec0ae] {\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n background-size: 100% 100%;\n background-repeat: no-repeat;\n}\n.tab[data-v-5aeec0ae]:last-child {\n margin-right: 0 !important;\n}\n")();
3444
3662
  const _sfc_main$b = defineComponent({
3445
3663
  name: "EcanTabs",
3446
3664
  props: __spreadValues({}, tabsComponentProps),
@@ -3476,7 +3694,7 @@ const _sfc_main$b = defineComponent({
3476
3694
  };
3477
3695
  }
3478
3696
  });
3479
- const _hoisted_1$4 = ["onClick"];
3697
+ const _hoisted_1$3 = ["onClick"];
3480
3698
  function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
3481
3699
  return openBlock(), createElementBlock("div", {
3482
3700
  class: "ecan-tabs",
@@ -3493,11 +3711,11 @@ function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
3493
3711
  }),
3494
3712
  key: index2,
3495
3713
  onClick: ($event) => _ctx.tabChange(tab, index2)
3496
- }, toDisplayString(tab.title), 13, _hoisted_1$4);
3714
+ }, toDisplayString(tab.title), 13, _hoisted_1$3);
3497
3715
  }), 128))
3498
3716
  ], 4);
3499
3717
  }
3500
- var Tabs = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$b], ["__scopeId", "data-v-2e2bded0"]]);
3718
+ var Tabs = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$b], ["__scopeId", "data-v-5aeec0ae"]]);
3501
3719
  const EcanTabs = withInstall(Tabs);
3502
3720
  const pieProps = __spreadProps(__spreadValues({}, props), {
3503
3721
  id: "",
@@ -3549,14 +3767,43 @@ const pieProps = __spreadProps(__spreadValues({}, props), {
3549
3767
  gridBottom: "10%",
3550
3768
  gridLeft: "2%",
3551
3769
  gridRight: "2%",
3552
- graphicConfig: {}
3770
+ graphicConfig: {},
3771
+ toolboxShow: false,
3772
+ toolboxOrient: "horizontal",
3773
+ toolboxItemSize: 16,
3774
+ toolboxItemGap: 8,
3775
+ toolboxLeft: "right",
3776
+ toolboxTop: "top",
3777
+ toolboxIconStyleBorderColor: "#666",
3778
+ toolboxDownloadUrl: "",
3779
+ toolboxInfoText: "\u5F53\u524D\u65E0\u8BF4\u660E\u4FE1\u606F"
3553
3780
  });
3554
3781
  const pieComponentProps = transformToComponentProps(pieProps);
3555
3782
  const pieEvents = ["click", "refreshData"];
3783
+ const useDownloadFile = async (downloadFileUrl) => {
3784
+ var _a2;
3785
+ const res = await request.post(downloadFileUrl, {}, {
3786
+ responseType: "blob"
3787
+ });
3788
+ const { data, headers } = res;
3789
+ const fileName = headers["content-disposition"].replace(/\w+;filename=(.*)/, "$1");
3790
+ const blob = new Blob([data]);
3791
+ const dom = document.createElement("a");
3792
+ const url = window.URL.createObjectURL(blob);
3793
+ dom.href = url;
3794
+ dom.download = decodeURI(fileName);
3795
+ dom.style.display = "none";
3796
+ document.body.appendChild(dom);
3797
+ dom.click();
3798
+ (_a2 = dom.parentNode) == null ? void 0 : _a2.removeChild(dom);
3799
+ window.URL.revokeObjectURL(url);
3800
+ };
3801
+ var Pie_vue_vue_type_style_index_0_lang = /* @__PURE__ */ (() => ".full-modal .ant-modal {\n max-width: 100%;\n top: 0;\n padding-bottom: 0;\n margin: 0;\n}\n.full-modal .ant-modal-content {\n display: flex;\n flex-direction: column;\n height: calc(100vh);\n}\n.full-modal .ant-modal-body {\n flex: 1;\n}\n.full-modal .ant-modal-body {\n padding: 45px 30px 0;\n}\n")();
3556
3802
  use([
3557
3803
  CanvasRenderer,
3558
3804
  PieChart,
3559
3805
  TitleComponent,
3806
+ ToolboxComponent,
3560
3807
  TooltipComponent,
3561
3808
  LegendComponent
3562
3809
  ]);
@@ -3565,11 +3812,16 @@ const _sfc_main$a = defineComponent({
3565
3812
  props: __spreadValues({}, pieComponentProps),
3566
3813
  components: {
3567
3814
  Spin,
3568
- Echarts: ECharts
3815
+ Echarts,
3816
+ AModal: Modal$1
3569
3817
  },
3570
3818
  setup(props2) {
3571
3819
  const style2 = usePickComponentStyle(props2);
3572
3820
  const dataset = ref([]);
3821
+ const visible = ref(false);
3822
+ const hideModal = () => {
3823
+ visible.value = false;
3824
+ };
3573
3825
  const option = computed(() => {
3574
3826
  let { data = [] } = unref(dataset)[0] || {};
3575
3827
  if (Array.isArray(props2.colors)) {
@@ -3580,6 +3832,42 @@ const _sfc_main$a = defineComponent({
3580
3832
  }, item));
3581
3833
  }
3582
3834
  return {
3835
+ toolbox: {
3836
+ show: props2.toolboxShow,
3837
+ left: props2.toolboxLeft,
3838
+ top: props2.toolboxTop,
3839
+ itemSize: props2.toolboxItemSize,
3840
+ itemGap: props2.toolboxItemGap,
3841
+ feature: {
3842
+ myDownload: {
3843
+ show: true,
3844
+ title: "\u6570\u636E\u4E0B\u8F7D",
3845
+ icon: "path://M502.010485 765.939573c3.773953 3.719718 8.686846 5.573949 13.596669 5.573949 0.075725 0 0.151449-0.010233 0.227174-0.011256 0.329505 0.016373 0.654916 0.050142 0.988514 0.050142 0.706081 0 1.400906-0.042979 2.087545-0.116657 4.352121-0.366344 8.607028-2.190899 11.961426-5.496178l335.053985-330.166675c7.619538-7.509021 7.709589-19.773346 0.200568-27.393907s-19.774369-7.711636-27.39493-0.201591L536.193005 706.304358 536.193005 50.019207c0-10.698666-8.67252-19.371186-19.371186-19.371186s-19.371186 8.67252-19.371186 19.371186l0 657.032164-306.881342-302.44838c-7.618515-7.509021-19.883863-7.419993-27.393907 0.199545-7.509021 7.619538-7.419993 19.884886 0.199545 27.393907L502.010485 765.939573z, M867.170139 711.020776c-10.698666 0-19.371186 8.67252-19.371186 19.371186l0 165.419494c0 13.054317-10.620895 23.675212-23.676236 23.675212L205.182103 919.486668c-13.054317 0-23.676236-10.620895-23.676236-23.675212L181.505867 730.391962c0-10.698666-8.67252-19.371186-19.371186-19.371186s-19.371186 8.67252-19.371186 19.371186l0 165.419494c0 34.416857 28.000728 62.416562 62.417585 62.416562l618.941638 0c34.417881 0 62.417585-27.999704 62.417585-62.416562L886.540302 730.391962C886.541325 719.693296 877.868805 711.020776 867.170139 711.020776z",
3846
+ onclick() {
3847
+ useDownloadFile(props2.toolboxDownloadUrl);
3848
+ }
3849
+ },
3850
+ myDataZoom: {
3851
+ show: true,
3852
+ title: "\u653E\u5927",
3853
+ icon: "path://M932.42 902.246667L792 761.793333A403.84 403.84 0 0 0 896 490.666667c0-223.86-181.473333-405.333333-405.333333-405.333334S85.333333 266.806667 85.333333 490.666667s181.473333 405.333333 405.333334 405.333333a403.84 403.84 0 0 0 271.126666-104l140.453334 140.453333a21.333333 21.333333 0 0 0 30.173333-30.173333zM128 490.666667c0-200.293333 162.373333-362.666667 362.666667-362.666667s362.666667 162.373333 362.666666 362.666667-162.373333 362.666667-362.666666 362.666666-362.666667-162.373333-362.666667-362.666666z m512 0a21.333333 21.333333 0 0 1-21.333333 21.333333H512v106.666667a21.333333 21.333333 0 0 1-42.666667 0V512H362.666667a21.333333 21.333333 0 0 1 0-42.666667h106.666666V362.666667a21.333333 21.333333 0 0 1 42.666667 0v106.666666h106.666667a21.333333 21.333333 0 0 1 21.333333 21.333334z",
3854
+ onclick() {
3855
+ visible.value = true;
3856
+ }
3857
+ },
3858
+ myInfo: {
3859
+ show: true,
3860
+ title: "\u8BF4\u660E\u4FE1\u606F",
3861
+ icon: "path://M512.50142 958.397886c-119.320573 0-231.499491-46.465265-315.871087-130.837884C112.258737 743.188406 65.792449 631.010511 65.792449 511.688915c0-119.319549 46.466288-231.499491 130.837884-315.871087C281.002952 111.445208 393.180847 64.979944 512.50142 64.979944s231.499491 46.465265 315.871087 130.837884c84.372619 84.372619 130.837884 196.551538 130.837884 315.871087 0 119.321596-46.465265 231.499491-130.837884 315.871087C744.000911 911.932622 631.821993 958.397886 512.50142 958.397886zM512.50142 105.962334c-223.718271 0-405.726581 182.00831-405.726581 405.726581s182.00831 405.726581 405.726581 405.726581c223.718271 0 405.727605-182.00831 405.727605-405.726581S736.220714 105.962334 512.50142 105.962334z M510.150886 775.953647c-18.107403 0-32.745798-14.678304-32.745798-32.785707L477.405087 452.191846c0-18.108426 14.638395-32.785707 32.745798-32.785707 18.107403 0 32.745798 14.678304 32.745798 32.785707l0 290.976094C542.896684 761.275343 528.258289 775.953647 510.150886 775.953647z M511.357364 296.458969m-45.080731 0a44.054 44.054 0 1 0 90.161463 0 44.054 44.054 0 1 0-90.161463 0Z",
3862
+ onclick() {
3863
+ Modal$1.info({
3864
+ title: "\u8BF4\u660E\u4FE1\u606F",
3865
+ content: props2.toolboxInfoText
3866
+ });
3867
+ }
3868
+ }
3869
+ }
3870
+ },
3583
3871
  title: {
3584
3872
  text: props2.titleText,
3585
3873
  subtext: props2.titleSubtext,
@@ -3734,13 +4022,16 @@ const _sfc_main$a = defineComponent({
3734
4022
  option,
3735
4023
  style: style2,
3736
4024
  click,
3737
- loading
4025
+ loading,
4026
+ visible,
4027
+ hideModal
3738
4028
  };
3739
4029
  }
3740
4030
  });
3741
4031
  function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
3742
4032
  const _component_echarts = resolveComponent("echarts");
3743
4033
  const _component_spin = resolveComponent("spin");
4034
+ const _component_a_modal = resolveComponent("a-modal");
3744
4035
  return openBlock(), createElementBlock("div", {
3745
4036
  style: normalizeStyle(_ctx.style)
3746
4037
  }, [
@@ -3753,7 +4044,28 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
3753
4044
  }, null, 8, ["option", "onClick"])
3754
4045
  ]),
3755
4046
  _: 1
3756
- }, 8, ["spinning"])
4047
+ }, 8, ["spinning"]),
4048
+ createVNode(_component_a_modal, {
4049
+ "wrap-class-name": "full-modal",
4050
+ width: "100%",
4051
+ visible: _ctx.visible,
4052
+ footer: null,
4053
+ onCancel: _ctx.hideModal
4054
+ }, {
4055
+ default: withCtx(() => [
4056
+ createVNode(_component_spin, { spinning: _ctx.loading }, {
4057
+ default: withCtx(() => [
4058
+ createVNode(_component_echarts, {
4059
+ option: _ctx.option,
4060
+ "update-options": { notMerge: true },
4061
+ autoresize: ""
4062
+ }, null, 8, ["option"])
4063
+ ]),
4064
+ _: 1
4065
+ }, 8, ["spinning"])
4066
+ ]),
4067
+ _: 1
4068
+ }, 8, ["visible", "onCancel"])
3757
4069
  ], 4);
3758
4070
  }
3759
4071
  var Pie = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["render", _sfc_render$a]]);
@@ -3804,13 +4116,24 @@ const lineProps = __spreadProps(__spreadValues({}, props), {
3804
4116
  valueTypeDataFieldNames: { name: "name", value: "value", type: "type" },
3805
4117
  keyTypeDataFieldNames: { name: "name", types: [] },
3806
4118
  dataFieldConfigType: "value",
3807
- graphicConfig: {}
4119
+ graphicConfig: {},
4120
+ toolboxShow: false,
4121
+ toolboxOrient: "horizontal",
4122
+ toolboxItemSize: 16,
4123
+ toolboxItemGap: 8,
4124
+ toolboxLeft: "right",
4125
+ toolboxTop: "top",
4126
+ toolboxIconStyleBorderColor: "#666",
4127
+ toolboxDownloadUrl: "",
4128
+ toolboxInfoText: "\u5F53\u524D\u65E0\u8BF4\u660E\u4FE1\u606F"
3808
4129
  });
3809
4130
  const lineComponentProps = transformToComponentProps(lineProps);
3810
4131
  const lineEvents = ["click", "refreshData"];
4132
+ var Line_vue_vue_type_style_index_0_lang = /* @__PURE__ */ (() => ".full-modal .ant-modal {\n max-width: 100%;\n top: 0;\n padding-bottom: 0;\n margin: 0;\n}\n.full-modal .ant-modal-content {\n display: flex;\n flex-direction: column;\n height: calc(100vh);\n}\n.full-modal .ant-modal-body {\n flex: 1;\n}\n.full-modal .ant-modal-body {\n padding: 45px 30px 0;\n}\n")();
3811
4133
  use([
3812
4134
  CanvasRenderer,
3813
4135
  LineChart,
4136
+ ToolboxComponent,
3814
4137
  TitleComponent,
3815
4138
  LegendComponent
3816
4139
  ]);
@@ -3819,13 +4142,54 @@ const _sfc_main$9 = defineComponent({
3819
4142
  props: __spreadValues({}, lineComponentProps),
3820
4143
  components: {
3821
4144
  Spin,
3822
- Echarts: ECharts
4145
+ Echarts,
4146
+ AModal: Modal$1
3823
4147
  },
3824
4148
  setup(props2) {
3825
4149
  const style2 = usePickComponentStyle(props2);
3826
4150
  const series = ref([]);
3827
4151
  const dimensions = ref([]);
4152
+ const visible = ref(false);
4153
+ const hideModal = () => {
4154
+ visible.value = false;
4155
+ };
3828
4156
  const option = computed(() => ({
4157
+ toolbox: {
4158
+ show: props2.toolboxShow,
4159
+ left: props2.toolboxLeft,
4160
+ top: props2.toolboxTop,
4161
+ itemSize: props2.toolboxItemSize,
4162
+ itemGap: props2.toolboxItemGap,
4163
+ feature: {
4164
+ myDownload: {
4165
+ show: true,
4166
+ title: "\u6570\u636E\u4E0B\u8F7D",
4167
+ icon: "path://M502.010485 765.939573c3.773953 3.719718 8.686846 5.573949 13.596669 5.573949 0.075725 0 0.151449-0.010233 0.227174-0.011256 0.329505 0.016373 0.654916 0.050142 0.988514 0.050142 0.706081 0 1.400906-0.042979 2.087545-0.116657 4.352121-0.366344 8.607028-2.190899 11.961426-5.496178l335.053985-330.166675c7.619538-7.509021 7.709589-19.773346 0.200568-27.393907s-19.774369-7.711636-27.39493-0.201591L536.193005 706.304358 536.193005 50.019207c0-10.698666-8.67252-19.371186-19.371186-19.371186s-19.371186 8.67252-19.371186 19.371186l0 657.032164-306.881342-302.44838c-7.618515-7.509021-19.883863-7.419993-27.393907 0.199545-7.509021 7.619538-7.419993 19.884886 0.199545 27.393907L502.010485 765.939573z, M867.170139 711.020776c-10.698666 0-19.371186 8.67252-19.371186 19.371186l0 165.419494c0 13.054317-10.620895 23.675212-23.676236 23.675212L205.182103 919.486668c-13.054317 0-23.676236-10.620895-23.676236-23.675212L181.505867 730.391962c0-10.698666-8.67252-19.371186-19.371186-19.371186s-19.371186 8.67252-19.371186 19.371186l0 165.419494c0 34.416857 28.000728 62.416562 62.417585 62.416562l618.941638 0c34.417881 0 62.417585-27.999704 62.417585-62.416562L886.540302 730.391962C886.541325 719.693296 877.868805 711.020776 867.170139 711.020776z",
4168
+ onclick() {
4169
+ useDownloadFile(props2.toolboxDownloadUrl);
4170
+ }
4171
+ },
4172
+ myDataZoom: {
4173
+ show: true,
4174
+ title: "\u653E\u5927",
4175
+ icon: "path://M932.42 902.246667L792 761.793333A403.84 403.84 0 0 0 896 490.666667c0-223.86-181.473333-405.333333-405.333333-405.333334S85.333333 266.806667 85.333333 490.666667s181.473333 405.333333 405.333334 405.333333a403.84 403.84 0 0 0 271.126666-104l140.453334 140.453333a21.333333 21.333333 0 0 0 30.173333-30.173333zM128 490.666667c0-200.293333 162.373333-362.666667 362.666667-362.666667s362.666667 162.373333 362.666666 362.666667-162.373333 362.666667-362.666666 362.666666-362.666667-162.373333-362.666667-362.666666z m512 0a21.333333 21.333333 0 0 1-21.333333 21.333333H512v106.666667a21.333333 21.333333 0 0 1-42.666667 0V512H362.666667a21.333333 21.333333 0 0 1 0-42.666667h106.666666V362.666667a21.333333 21.333333 0 0 1 42.666667 0v106.666666h106.666667a21.333333 21.333333 0 0 1 21.333333 21.333334z",
4176
+ onclick() {
4177
+ visible.value = true;
4178
+ }
4179
+ },
4180
+ myInfo: {
4181
+ show: true,
4182
+ title: "\u8BF4\u660E\u4FE1\u606F",
4183
+ icon: "path://M512.50142 958.397886c-119.320573 0-231.499491-46.465265-315.871087-130.837884C112.258737 743.188406 65.792449 631.010511 65.792449 511.688915c0-119.319549 46.466288-231.499491 130.837884-315.871087C281.002952 111.445208 393.180847 64.979944 512.50142 64.979944s231.499491 46.465265 315.871087 130.837884c84.372619 84.372619 130.837884 196.551538 130.837884 315.871087 0 119.321596-46.465265 231.499491-130.837884 315.871087C744.000911 911.932622 631.821993 958.397886 512.50142 958.397886zM512.50142 105.962334c-223.718271 0-405.726581 182.00831-405.726581 405.726581s182.00831 405.726581 405.726581 405.726581c223.718271 0 405.727605-182.00831 405.727605-405.726581S736.220714 105.962334 512.50142 105.962334z M510.150886 775.953647c-18.107403 0-32.745798-14.678304-32.745798-32.785707L477.405087 452.191846c0-18.108426 14.638395-32.785707 32.745798-32.785707 18.107403 0 32.745798 14.678304 32.745798 32.785707l0 290.976094C542.896684 761.275343 528.258289 775.953647 510.150886 775.953647z M511.357364 296.458969m-45.080731 0a44.054 44.054 0 1 0 90.161463 0 44.054 44.054 0 1 0-90.161463 0Z",
4184
+ onclick() {
4185
+ Modal$1.info({
4186
+ title: "\u8BF4\u660E\u4FE1\u606F",
4187
+ content: props2.toolboxInfoText
4188
+ });
4189
+ }
4190
+ }
4191
+ }
4192
+ },
3829
4193
  title: {
3830
4194
  text: props2.titleText,
3831
4195
  subText: props2.titleSubtext,
@@ -4019,13 +4383,16 @@ const _sfc_main$9 = defineComponent({
4019
4383
  option,
4020
4384
  style: style2,
4021
4385
  click,
4022
- loading
4386
+ loading,
4387
+ visible,
4388
+ hideModal
4023
4389
  };
4024
4390
  }
4025
4391
  });
4026
4392
  function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
4027
4393
  const _component_echarts = resolveComponent("echarts");
4028
4394
  const _component_spin = resolveComponent("spin");
4395
+ const _component_a_modal = resolveComponent("a-modal");
4029
4396
  return openBlock(), createElementBlock("div", {
4030
4397
  style: normalizeStyle(_ctx.style)
4031
4398
  }, [
@@ -4038,7 +4405,28 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
4038
4405
  }, null, 8, ["option", "onClick"])
4039
4406
  ]),
4040
4407
  _: 1
4041
- }, 8, ["spinning"])
4408
+ }, 8, ["spinning"]),
4409
+ createVNode(_component_a_modal, {
4410
+ "wrap-class-name": "full-modal",
4411
+ width: "100%",
4412
+ visible: _ctx.visible,
4413
+ footer: null,
4414
+ onCancel: _ctx.hideModal
4415
+ }, {
4416
+ default: withCtx(() => [
4417
+ createVNode(_component_spin, { spinning: _ctx.loading }, {
4418
+ default: withCtx(() => [
4419
+ createVNode(_component_echarts, {
4420
+ option: _ctx.option,
4421
+ "update-options": { notMerge: true },
4422
+ autoresize: ""
4423
+ }, null, 8, ["option"])
4424
+ ]),
4425
+ _: 1
4426
+ }, 8, ["spinning"])
4427
+ ]),
4428
+ _: 1
4429
+ }, 8, ["visible", "onCancel"])
4042
4430
  ], 4);
4043
4431
  }
4044
4432
  var Line = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["render", _sfc_render$9]]);
@@ -4102,11 +4490,11 @@ const barProps = __spreadProps(__spreadValues({}, props), {
4102
4490
  gridLeft: "2%",
4103
4491
  gridRight: "2%",
4104
4492
  graphicConfig: {
4105
- chartType: "pie",
4493
+ chartType: "bar",
4106
4494
  plugin: "1",
4107
4495
  layer: "2"
4108
4496
  },
4109
- toolboxShow: true,
4497
+ toolboxShow: false,
4110
4498
  toolboxOrient: "horizontal",
4111
4499
  toolboxItemSize: 16,
4112
4500
  toolboxItemGap: 8,
@@ -4118,25 +4506,7 @@ const barProps = __spreadProps(__spreadValues({}, props), {
4118
4506
  });
4119
4507
  const barComponentProps = transformToComponentProps(barProps);
4120
4508
  const barEvents = ["refreshData", "click"];
4121
- const useDownloadFile = async (downloadFileUrl) => {
4122
- var _a2;
4123
- const res = await request.post(downloadFileUrl, {}, {
4124
- responseType: "blob"
4125
- });
4126
- const { data, headers } = res;
4127
- const fileName = headers["content-disposition"].replace(/\w+;filename=(.*)/, "$1");
4128
- const blob = new Blob([data]);
4129
- const dom = document.createElement("a");
4130
- const url = window.URL.createObjectURL(blob);
4131
- dom.href = url;
4132
- dom.download = decodeURI(fileName);
4133
- dom.style.display = "none";
4134
- document.body.appendChild(dom);
4135
- dom.click();
4136
- (_a2 = dom.parentNode) == null ? void 0 : _a2.removeChild(dom);
4137
- window.URL.revokeObjectURL(url);
4138
- };
4139
- var Bar_vue_vue_type_style_index_0_lang = /* @__PURE__ */ (() => ".full-modal .ant-modal {\n max-width: 100%;\n top: 0;\n padding-bottom: 0;\n margin: 0;\n}\n.full-modal .ant-modal-content {\n display: flex;\n flex-direction: column;\n height: calc(100vh);\n}\n.full-modal .ant-modal-body {\n flex: 1;\n}\n.full-modal .modal-inner {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n padding: 20px;\n}\n")();
4509
+ var Bar_vue_vue_type_style_index_0_lang = /* @__PURE__ */ (() => ".full-modal .ant-modal {\n max-width: 100%;\n top: 0;\n padding-bottom: 0;\n margin: 0;\n}\n.full-modal .ant-modal-content {\n display: flex;\n flex-direction: column;\n height: calc(100vh);\n}\n.full-modal .ant-modal-body {\n flex: 1;\n}\n.full-modal .ant-modal-body {\n padding: 45px 30px 0;\n}\n")();
4140
4510
  use([
4141
4511
  CanvasRenderer,
4142
4512
  BarChart,
@@ -4150,7 +4520,7 @@ const _sfc_main$8 = defineComponent({
4150
4520
  props: __spreadValues({}, barComponentProps),
4151
4521
  components: {
4152
4522
  Spin,
4153
- Echarts: ECharts,
4523
+ Echarts,
4154
4524
  AModal: Modal$1
4155
4525
  },
4156
4526
  setup(props2, { expose }) {
@@ -4326,12 +4696,12 @@ const _sfc_main$8 = defineComponent({
4326
4696
  loading.value = false;
4327
4697
  }
4328
4698
  };
4329
- const requestDiagram = useRequestDiagramData(props2);
4699
+ const indicatorData = useIndicatorData(props2);
4330
4700
  const handleIndicatorData = async () => {
4331
4701
  var _a2, _b2;
4332
4702
  try {
4333
4703
  loading.value = true;
4334
- const res = await requestDiagram();
4704
+ const res = await indicatorData();
4335
4705
  const { columns = [], rows = [] } = (_b2 = (_a2 = res == null ? void 0 : res.data) == null ? void 0 : _a2.data) != null ? _b2 : {};
4336
4706
  let fieldNames;
4337
4707
  if (columns.length > 0) {
@@ -4395,7 +4765,6 @@ const _sfc_main$8 = defineComponent({
4395
4765
  };
4396
4766
  }
4397
4767
  });
4398
- const _hoisted_1$3 = { class: "modal-inner" };
4399
4768
  function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
4400
4769
  const _component_echarts = resolveComponent("echarts");
4401
4770
  const _component_spin = resolveComponent("spin");
@@ -4423,18 +4792,16 @@ function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
4423
4792
  onCancel: _ctx.hideModal
4424
4793
  }, {
4425
4794
  default: withCtx(() => [
4426
- createElementVNode("div", _hoisted_1$3, [
4427
- createVNode(_component_spin, { spinning: _ctx.loading }, {
4428
- default: withCtx(() => [
4429
- createVNode(_component_echarts, {
4430
- option: _ctx.option,
4431
- "update-options": { notMerge: true },
4432
- autoresize: ""
4433
- }, null, 8, ["option"])
4434
- ]),
4435
- _: 1
4436
- }, 8, ["spinning"])
4437
- ])
4795
+ createVNode(_component_spin, { spinning: _ctx.loading }, {
4796
+ default: withCtx(() => [
4797
+ createVNode(_component_echarts, {
4798
+ option: _ctx.option,
4799
+ "update-options": { notMerge: true },
4800
+ autoresize: ""
4801
+ }, null, 8, ["option"])
4802
+ ]),
4803
+ _: 1
4804
+ }, 8, ["spinning"])
4438
4805
  ]),
4439
4806
  _: 1
4440
4807
  }, 8, ["visible", "onCancel"])
@@ -4484,13 +4851,24 @@ const scatterProps = __spreadProps(__spreadValues({}, props), {
4484
4851
  gridBottom: "10%",
4485
4852
  gridLeft: "2%",
4486
4853
  gridRight: "2%",
4487
- graphicConfig: void 0
4854
+ graphicConfig: void 0,
4855
+ toolboxShow: false,
4856
+ toolboxOrient: "horizontal",
4857
+ toolboxItemSize: 16,
4858
+ toolboxItemGap: 8,
4859
+ toolboxLeft: "right",
4860
+ toolboxTop: "top",
4861
+ toolboxIconStyleBorderColor: "#666",
4862
+ toolboxDownloadUrl: "",
4863
+ toolboxInfoText: "\u5F53\u524D\u65E0\u8BF4\u660E\u4FE1\u606F"
4488
4864
  });
4489
4865
  const scatterComponentProps = transformToComponentProps(scatterProps);
4490
4866
  const scatterEvents = ["click", "refreshData"];
4867
+ var Scatter_vue_vue_type_style_index_0_lang = /* @__PURE__ */ (() => ".full-modal .ant-modal {\n max-width: 100%;\n top: 0;\n padding-bottom: 0;\n margin: 0;\n}\n.full-modal .ant-modal-content {\n display: flex;\n flex-direction: column;\n height: calc(100vh);\n}\n.full-modal .ant-modal-body {\n flex: 1;\n}\n.full-modal .ant-modal-body {\n padding: 45px 30px 0;\n}\n")();
4491
4868
  use([
4492
4869
  CanvasRenderer,
4493
4870
  ScatterChart,
4871
+ ToolboxComponent,
4494
4872
  TitleComponent,
4495
4873
  TooltipComponent,
4496
4874
  LegendComponent
@@ -4500,12 +4878,52 @@ const _sfc_main$7 = defineComponent({
4500
4878
  props: __spreadValues({}, scatterComponentProps),
4501
4879
  components: {
4502
4880
  Spin,
4503
- Echarts: ECharts
4881
+ Echarts
4504
4882
  },
4505
4883
  setup(props2) {
4506
4884
  const style2 = usePickComponentStyle(props2);
4507
4885
  const dataset = ref([]);
4886
+ const visible = ref(false);
4887
+ const hideModal = () => {
4888
+ visible.value = false;
4889
+ };
4508
4890
  const option = computed(() => ({
4891
+ toolbox: {
4892
+ show: props2.toolboxShow,
4893
+ left: props2.toolboxLeft,
4894
+ top: props2.toolboxTop,
4895
+ itemSize: props2.toolboxItemSize,
4896
+ itemGap: props2.toolboxItemGap,
4897
+ feature: {
4898
+ myDownload: {
4899
+ show: true,
4900
+ title: "\u6570\u636E\u4E0B\u8F7D",
4901
+ icon: "path://M502.010485 765.939573c3.773953 3.719718 8.686846 5.573949 13.596669 5.573949 0.075725 0 0.151449-0.010233 0.227174-0.011256 0.329505 0.016373 0.654916 0.050142 0.988514 0.050142 0.706081 0 1.400906-0.042979 2.087545-0.116657 4.352121-0.366344 8.607028-2.190899 11.961426-5.496178l335.053985-330.166675c7.619538-7.509021 7.709589-19.773346 0.200568-27.393907s-19.774369-7.711636-27.39493-0.201591L536.193005 706.304358 536.193005 50.019207c0-10.698666-8.67252-19.371186-19.371186-19.371186s-19.371186 8.67252-19.371186 19.371186l0 657.032164-306.881342-302.44838c-7.618515-7.509021-19.883863-7.419993-27.393907 0.199545-7.509021 7.619538-7.419993 19.884886 0.199545 27.393907L502.010485 765.939573z, M867.170139 711.020776c-10.698666 0-19.371186 8.67252-19.371186 19.371186l0 165.419494c0 13.054317-10.620895 23.675212-23.676236 23.675212L205.182103 919.486668c-13.054317 0-23.676236-10.620895-23.676236-23.675212L181.505867 730.391962c0-10.698666-8.67252-19.371186-19.371186-19.371186s-19.371186 8.67252-19.371186 19.371186l0 165.419494c0 34.416857 28.000728 62.416562 62.417585 62.416562l618.941638 0c34.417881 0 62.417585-27.999704 62.417585-62.416562L886.540302 730.391962C886.541325 719.693296 877.868805 711.020776 867.170139 711.020776z",
4902
+ onclick() {
4903
+ useDownloadFile(props2.toolboxDownloadUrl);
4904
+ }
4905
+ },
4906
+ myDataZoom: {
4907
+ show: true,
4908
+ title: "\u653E\u5927",
4909
+ icon: "path://M932.42 902.246667L792 761.793333A403.84 403.84 0 0 0 896 490.666667c0-223.86-181.473333-405.333333-405.333333-405.333334S85.333333 266.806667 85.333333 490.666667s181.473333 405.333333 405.333334 405.333333a403.84 403.84 0 0 0 271.126666-104l140.453334 140.453333a21.333333 21.333333 0 0 0 30.173333-30.173333zM128 490.666667c0-200.293333 162.373333-362.666667 362.666667-362.666667s362.666667 162.373333 362.666666 362.666667-162.373333 362.666667-362.666666 362.666666-362.666667-162.373333-362.666667-362.666666z m512 0a21.333333 21.333333 0 0 1-21.333333 21.333333H512v106.666667a21.333333 21.333333 0 0 1-42.666667 0V512H362.666667a21.333333 21.333333 0 0 1 0-42.666667h106.666666V362.666667a21.333333 21.333333 0 0 1 42.666667 0v106.666666h106.666667a21.333333 21.333333 0 0 1 21.333333 21.333334z",
4910
+ onclick() {
4911
+ visible.value = true;
4912
+ }
4913
+ },
4914
+ myInfo: {
4915
+ show: true,
4916
+ title: "\u8BF4\u660E\u4FE1\u606F",
4917
+ icon: "path://M512.50142 958.397886c-119.320573 0-231.499491-46.465265-315.871087-130.837884C112.258737 743.188406 65.792449 631.010511 65.792449 511.688915c0-119.319549 46.466288-231.499491 130.837884-315.871087C281.002952 111.445208 393.180847 64.979944 512.50142 64.979944s231.499491 46.465265 315.871087 130.837884c84.372619 84.372619 130.837884 196.551538 130.837884 315.871087 0 119.321596-46.465265 231.499491-130.837884 315.871087C744.000911 911.932622 631.821993 958.397886 512.50142 958.397886zM512.50142 105.962334c-223.718271 0-405.726581 182.00831-405.726581 405.726581s182.00831 405.726581 405.726581 405.726581c223.718271 0 405.727605-182.00831 405.727605-405.726581S736.220714 105.962334 512.50142 105.962334z M510.150886 775.953647c-18.107403 0-32.745798-14.678304-32.745798-32.785707L477.405087 452.191846c0-18.108426 14.638395-32.785707 32.745798-32.785707 18.107403 0 32.745798 14.678304 32.745798 32.785707l0 290.976094C542.896684 761.275343 528.258289 775.953647 510.150886 775.953647z M511.357364 296.458969m-45.080731 0a44.054 44.054 0 1 0 90.161463 0 44.054 44.054 0 1 0-90.161463 0Z",
4918
+ onclick() {
4919
+ Modal$1.info({
4920
+ title: "\u8BF4\u660E\u4FE1\u606F",
4921
+ content: props2.toolboxInfoText
4922
+ });
4923
+ }
4924
+ }
4925
+ }
4926
+ },
4509
4927
  title: {
4510
4928
  text: props2.titleText,
4511
4929
  subtext: props2.titleSubtext,
@@ -4640,13 +5058,16 @@ const _sfc_main$7 = defineComponent({
4640
5058
  option,
4641
5059
  style: style2,
4642
5060
  click,
4643
- loading
5061
+ loading,
5062
+ visible,
5063
+ hideModal
4644
5064
  };
4645
5065
  }
4646
5066
  });
4647
5067
  function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
4648
5068
  const _component_echarts = resolveComponent("echarts");
4649
5069
  const _component_spin = resolveComponent("spin");
5070
+ const _component_a_modal = resolveComponent("a-modal");
4650
5071
  return openBlock(), createElementBlock("div", {
4651
5072
  style: normalizeStyle(_ctx.style)
4652
5073
  }, [
@@ -4659,7 +5080,28 @@ function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
4659
5080
  }, null, 8, ["option", "onClick"])
4660
5081
  ]),
4661
5082
  _: 1
4662
- }, 8, ["spinning"])
5083
+ }, 8, ["spinning"]),
5084
+ createVNode(_component_a_modal, {
5085
+ "wrap-class-name": "full-modal",
5086
+ width: "100%",
5087
+ visible: _ctx.visible,
5088
+ footer: null,
5089
+ onCancel: _ctx.hideModal
5090
+ }, {
5091
+ default: withCtx(() => [
5092
+ createVNode(_component_spin, { spinning: _ctx.loading }, {
5093
+ default: withCtx(() => [
5094
+ createVNode(_component_echarts, {
5095
+ option: _ctx.option,
5096
+ "update-options": { notMerge: true },
5097
+ autoresize: ""
5098
+ }, null, 8, ["option"])
5099
+ ]),
5100
+ _: 1
5101
+ }, 8, ["spinning"])
5102
+ ]),
5103
+ _: 1
5104
+ }, 8, ["visible", "onCancel"])
4663
5105
  ], 4);
4664
5106
  }
4665
5107
  var Scatter = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render$7]]);
@@ -4679,7 +5121,7 @@ const _sfc_main$6 = defineComponent({
4679
5121
  name: "EcanCustomGraph",
4680
5122
  props: __spreadValues({}, customGraphComponentProps),
4681
5123
  components: {
4682
- Echarts: ECharts
5124
+ Echarts
4683
5125
  },
4684
5126
  setup(props2) {
4685
5127
  const style2 = usePickComponentStyle(props2);
@@ -4801,35 +5243,87 @@ const comboGraphProps = __spreadProps(__spreadValues({}, props), {
4801
5243
  gridBottom: "10%",
4802
5244
  gridLeft: "2%",
4803
5245
  gridRight: "2%",
4804
- graphicConfig: {}
5246
+ graphicConfig: {},
5247
+ toolboxShow: false,
5248
+ toolboxOrient: "horizontal",
5249
+ toolboxItemSize: 16,
5250
+ toolboxItemGap: 8,
5251
+ toolboxLeft: "right",
5252
+ toolboxTop: "top",
5253
+ toolboxIconStyleBorderColor: "#666",
5254
+ toolboxDownloadUrl: "",
5255
+ toolboxInfoText: "\u5F53\u524D\u65E0\u8BF4\u660E\u4FE1\u606F"
4805
5256
  });
4806
5257
  const comboGraphComponentProps = transformToComponentProps(comboGraphProps);
4807
5258
  const comboGraphEvents = ["refreshData", "click"];
5259
+ var ComboGraph_vue_vue_type_style_index_0_lang = /* @__PURE__ */ (() => ".full-modal .ant-modal {\n max-width: 100%;\n top: 0;\n padding-bottom: 0;\n margin: 0;\n}\n.full-modal .ant-modal-content {\n display: flex;\n flex-direction: column;\n height: calc(100vh);\n}\n.full-modal .ant-modal-body {\n flex: 1;\n}\n.full-modal .ant-modal-body {\n padding: 45px 30px 0;\n}\n")();
4808
5260
  use([
4809
5261
  CanvasRenderer,
4810
5262
  BarChart,
4811
5263
  LineChart,
4812
5264
  TitleComponent,
4813
5265
  LegendComponent,
4814
- DatasetComponent
5266
+ DatasetComponent,
5267
+ ToolboxComponent
4815
5268
  ]);
4816
5269
  const _sfc_main$5 = defineComponent({
4817
5270
  name: "EcanComboGraph",
4818
5271
  props: __spreadValues({}, comboGraphComponentProps),
4819
5272
  components: {
4820
5273
  Spin,
4821
- Echarts: ECharts
5274
+ Echarts,
5275
+ AModal: Modal$1
4822
5276
  },
4823
5277
  setup(props2) {
4824
5278
  const style2 = usePickComponentStyle(props2);
4825
5279
  const series = ref([]);
4826
5280
  const dimensions = ref([]);
5281
+ const visible = ref(false);
5282
+ const hideModal = () => {
5283
+ visible.value = false;
5284
+ };
4827
5285
  const option = computed(() => ({
4828
5286
  title: {
4829
5287
  text: props2.titleText,
4830
5288
  subtext: props2.titleSubtext,
4831
5289
  left: "center"
4832
5290
  },
5291
+ toolbox: {
5292
+ show: props2.toolboxShow,
5293
+ left: props2.toolboxLeft,
5294
+ top: props2.toolboxTop,
5295
+ itemSize: props2.toolboxItemSize,
5296
+ itemGap: props2.toolboxItemGap,
5297
+ feature: {
5298
+ myDownload: {
5299
+ show: true,
5300
+ title: "\u6570\u636E\u4E0B\u8F7D",
5301
+ icon: "path://M502.010485 765.939573c3.773953 3.719718 8.686846 5.573949 13.596669 5.573949 0.075725 0 0.151449-0.010233 0.227174-0.011256 0.329505 0.016373 0.654916 0.050142 0.988514 0.050142 0.706081 0 1.400906-0.042979 2.087545-0.116657 4.352121-0.366344 8.607028-2.190899 11.961426-5.496178l335.053985-330.166675c7.619538-7.509021 7.709589-19.773346 0.200568-27.393907s-19.774369-7.711636-27.39493-0.201591L536.193005 706.304358 536.193005 50.019207c0-10.698666-8.67252-19.371186-19.371186-19.371186s-19.371186 8.67252-19.371186 19.371186l0 657.032164-306.881342-302.44838c-7.618515-7.509021-19.883863-7.419993-27.393907 0.199545-7.509021 7.619538-7.419993 19.884886 0.199545 27.393907L502.010485 765.939573z, M867.170139 711.020776c-10.698666 0-19.371186 8.67252-19.371186 19.371186l0 165.419494c0 13.054317-10.620895 23.675212-23.676236 23.675212L205.182103 919.486668c-13.054317 0-23.676236-10.620895-23.676236-23.675212L181.505867 730.391962c0-10.698666-8.67252-19.371186-19.371186-19.371186s-19.371186 8.67252-19.371186 19.371186l0 165.419494c0 34.416857 28.000728 62.416562 62.417585 62.416562l618.941638 0c34.417881 0 62.417585-27.999704 62.417585-62.416562L886.540302 730.391962C886.541325 719.693296 877.868805 711.020776 867.170139 711.020776z",
5302
+ onclick() {
5303
+ useDownloadFile(props2.toolboxDownloadUrl);
5304
+ }
5305
+ },
5306
+ myDataZoom: {
5307
+ show: true,
5308
+ title: "\u653E\u5927",
5309
+ icon: "path://M932.42 902.246667L792 761.793333A403.84 403.84 0 0 0 896 490.666667c0-223.86-181.473333-405.333333-405.333333-405.333334S85.333333 266.806667 85.333333 490.666667s181.473333 405.333333 405.333334 405.333333a403.84 403.84 0 0 0 271.126666-104l140.453334 140.453333a21.333333 21.333333 0 0 0 30.173333-30.173333zM128 490.666667c0-200.293333 162.373333-362.666667 362.666667-362.666667s362.666667 162.373333 362.666666 362.666667-162.373333 362.666667-362.666666 362.666666-362.666667-162.373333-362.666667-362.666666z m512 0a21.333333 21.333333 0 0 1-21.333333 21.333333H512v106.666667a21.333333 21.333333 0 0 1-42.666667 0V512H362.666667a21.333333 21.333333 0 0 1 0-42.666667h106.666666V362.666667a21.333333 21.333333 0 0 1 42.666667 0v106.666666h106.666667a21.333333 21.333333 0 0 1 21.333333 21.333334z",
5310
+ onclick() {
5311
+ visible.value = true;
5312
+ }
5313
+ },
5314
+ myInfo: {
5315
+ show: true,
5316
+ title: "\u8BF4\u660E\u4FE1\u606F",
5317
+ icon: "path://M512.50142 958.397886c-119.320573 0-231.499491-46.465265-315.871087-130.837884C112.258737 743.188406 65.792449 631.010511 65.792449 511.688915c0-119.319549 46.466288-231.499491 130.837884-315.871087C281.002952 111.445208 393.180847 64.979944 512.50142 64.979944s231.499491 46.465265 315.871087 130.837884c84.372619 84.372619 130.837884 196.551538 130.837884 315.871087 0 119.321596-46.465265 231.499491-130.837884 315.871087C744.000911 911.932622 631.821993 958.397886 512.50142 958.397886zM512.50142 105.962334c-223.718271 0-405.726581 182.00831-405.726581 405.726581s182.00831 405.726581 405.726581 405.726581c223.718271 0 405.727605-182.00831 405.727605-405.726581S736.220714 105.962334 512.50142 105.962334z M510.150886 775.953647c-18.107403 0-32.745798-14.678304-32.745798-32.785707L477.405087 452.191846c0-18.108426 14.638395-32.785707 32.745798-32.785707 18.107403 0 32.745798 14.678304 32.745798 32.785707l0 290.976094C542.896684 761.275343 528.258289 775.953647 510.150886 775.953647z M511.357364 296.458969m-45.080731 0a44.054 44.054 0 1 0 90.161463 0 44.054 44.054 0 1 0-90.161463 0Z",
5318
+ onclick() {
5319
+ Modal$1.info({
5320
+ title: "\u8BF4\u660E\u4FE1\u606F",
5321
+ content: props2.toolboxInfoText
5322
+ });
5323
+ }
5324
+ }
5325
+ }
5326
+ },
4833
5327
  grid: {
4834
5328
  top: props2.gridTop,
4835
5329
  bottom: props2.gridBottom,
@@ -5030,13 +5524,16 @@ const _sfc_main$5 = defineComponent({
5030
5524
  style: style2,
5031
5525
  option,
5032
5526
  click,
5033
- loading
5527
+ loading,
5528
+ visible,
5529
+ hideModal
5034
5530
  };
5035
5531
  }
5036
5532
  });
5037
5533
  function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
5038
5534
  const _component_echarts = resolveComponent("echarts");
5039
5535
  const _component_spin = resolveComponent("spin");
5536
+ const _component_a_modal = resolveComponent("a-modal");
5040
5537
  return openBlock(), createElementBlock("div", {
5041
5538
  style: normalizeStyle(_ctx.style)
5042
5539
  }, [
@@ -5050,7 +5547,29 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
5050
5547
  }, null, 8, ["option", "onClick"])
5051
5548
  ]),
5052
5549
  _: 1
5053
- }, 8, ["spinning"])
5550
+ }, 8, ["spinning"]),
5551
+ createVNode(_component_a_modal, {
5552
+ "wrap-class-name": "full-modal",
5553
+ width: "100%",
5554
+ visible: _ctx.visible,
5555
+ footer: null,
5556
+ onCancel: _ctx.hideModal
5557
+ }, {
5558
+ default: withCtx(() => [
5559
+ createVNode(_component_spin, { spinning: _ctx.loading }, {
5560
+ default: withCtx(() => [
5561
+ createVNode(_component_echarts, {
5562
+ option: _ctx.option,
5563
+ "update-options": { notMerge: true },
5564
+ autoresize: "",
5565
+ onClick: _ctx.click
5566
+ }, null, 8, ["option", "onClick"])
5567
+ ]),
5568
+ _: 1
5569
+ }, 8, ["spinning"])
5570
+ ]),
5571
+ _: 1
5572
+ }, 8, ["visible", "onCancel"])
5054
5573
  ], 4);
5055
5574
  }
5056
5575
  var ComboGraph = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["render", _sfc_render$5]]);
@@ -5072,7 +5591,7 @@ const borderComponentProps = transformToComponentProps(borderProps);
5072
5591
  const borderEvents = ["click"];
5073
5592
  var _imports_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAAAcCAMAAACH42siAAAAZlBMVEUAAABBltJCldJCldFEk89BltJCltFBldI/lMBKndtmb9pCltNDldFAkclAldNBldJBltM/lM5AltNCldJBldJBlNJBltVBldJBlNJBlNI/lNNBldJBldNAldJBldJBldJBldNBldIiNK7WAAAAInRSTlMAM4BNGmaz5gQGbiAPCV1WQxUpOCY9EmxQSC2jdoacqZK8uPo7tAAAAZ9JREFUSMe90NmOwjAMheGka0J3SulCy/L+Lzk4I+HYhckEKs7dr1x8kQVM5YJMZ7SLiXVHOw817Z72cSns3BmziY7EnGRGjDqUpKt4pEZQKruvyaJt85YmBUebKLJVNUlpq6oOQ1tVVRzbqu6DwFb1NUlsVd3SNL0UDM0jqkaSqoeQqjKmahtQNUzuC1AtU1sF9KHmnmrtrSK6idqBWqE6GFVxFdGvqDGoJ01Qt7rfTEV0e7V6qSK6VjNPtTaqoOq8Ugnqr7aeav+rAuqrTh+qZw3o1urAVcFVQD3U6ZnaYY9MLZk6G5WhDaDFI9UeUPyE7gCNsAdAD9gxoBJ7ARRPUVwALXdu8/h/s3xmjtwUu0/M0M/UJzBjAei3TUTdpmKmcpkBmOHKBNTPzJi59zYJys3DO2aL78YcmNkLgrrM9m9TucwzmoBy08xlju+bgL42G4c5OcxqZSLqbwqXOVNTGXMWFD0ak6KN1ZKaojYmbribndW9MXELNQEFFUyiNqQlmEQ1JqpgErUifUUTUVEIupx1wzpjvWfdsh4FQX8ANe4nnpsb9NEAAAAASUVORK5CYII=";
5074
5593
  var _imports_1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAAAcCAMAAACH42siAAAAaVBMVEUAAABElM9BltJCldJCldFBltJBldJCltFNmrNCmNNFldNAldJBldNBldRBldNBldNBldJCoNFBldJBltNBldJBldJAldJAltJBldJBldJBldNAlNFAldJBlNJAldJBldNBldJBldJBldLfIVowAAAAI3RSTlMAGjJNgGbmswMSCScgDTs/ZAVRK0eYj2s3r3AWveHEhXjeXb5rzlgAAAFqSURBVEjH1dbJVsJAEIXhHjJ05tlEooK8/0NKsbDrFjmHiBD0Lvqcf9PfthRM7xvoZMQuLHZaOejGYLtcdEItzI9oaLg5xIHj5hgcG262oXXcrGzJ23Umg5717C7NKBrAjOMDM8YgCI5ghmEPprUTmMZkrBOtdbJgfpZovho0gwzNOkfTam9k5jSGkKlTMOezWT3VLH5qlg8wQzSbO5jJ28l8Z+YLmZMwuz9lupvNXpjlFTMTZv7vzFSatTDtGnNeYdpNzZTMSJhx5f84m8Y3mSEzJzTVolko3J7Qve+a0J3vntDWffdEaMUQQo1vTWjuuyA0UWvUUarqzuqLUMPt1MD3uKTaTdRwvdrdorpFtfZtH6eyK2F3RS23U3uhlr9VB1TdE1V2h7Vr1O4mdbdera6o+Wq1Vqi2rEktFapGoZopVLVCtVCXag19IBPUiiWpBrojE1QNXZAp1/TYbhKdKVwuWotORKfn9wu/DSc/X9T6qgAAAABJRU5ErkJggg==";
5075
- var Border_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => '.top-title[data-v-f83231c0],\n.no-title[data-v-f83231c0] {\n border: 1px solid rgba(55, 85, 218, 0.3);\n background: rgba(7, 22, 85, 0.8);\n position: relative;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n}\n.top-title .border-item[data-v-f83231c0],\n.no-title .border-item[data-v-f83231c0] {\n position: absolute;\n z-index: 2;\n border-color: #50FCFC;\n border-style: solid;\n width: 13px;\n height: 11px;\n}\n.top-title .top-left[data-v-f83231c0],\n.no-title .top-left[data-v-f83231c0] {\n top: 0;\n left: 0;\n border-top-width: 1px;\n border-right-width: 0;\n border-bottom-width: 0;\n border-left-width: 1px;\n}\n.top-title .top-right[data-v-f83231c0],\n.no-title .top-right[data-v-f83231c0] {\n top: 0;\n right: -2px;\n border-top-width: 1px;\n border-right-width: 1px;\n border-bottom-width: 0;\n border-left-width: 0;\n}\n.top-title .bottom-left[data-v-f83231c0],\n.no-title .bottom-left[data-v-f83231c0] {\n bottom: -2px;\n left: 0;\n border-top-width: 0;\n border-right-width: 0;\n border-bottom-width: 1px;\n border-left-width: 1px;\n}\n.top-title .bottom-right[data-v-f83231c0],\n.no-title .bottom-right[data-v-f83231c0] {\n bottom: -2px;\n right: -2px;\n border-top-width: 0;\n border-right-width: 1px;\n border-bottom-width: 1px;\n border-left-width: 0;\n}\n.top-title .title-item-wrapper[data-v-f83231c0],\n.no-title .title-item-wrapper[data-v-f83231c0] {\n width: 100%;\n padding: 5px 0;\n background-image: url("data:image/png;base64,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");\n background-size: cover;\n display: grid;\n place-content: center;\n}\n.top-title .title-item[data-v-f83231c0],\n.no-title .title-item[data-v-f83231c0] {\n display: flex;\n align-items: center;\n}\n.top-title .title[data-v-f83231c0],\n.no-title .title[data-v-f83231c0] {\n padding: 0 17px;\n color: #d5fdfd;\n background: linear-gradient(0deg, #01aaff, #00eaff);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n.top-title .title-decoration-left[data-v-f83231c0],\n.no-title .title-decoration-left[data-v-f83231c0] {\n width: 58px;\n height: 14px;\n}\n.top-title .title-decoration-right[data-v-f83231c0],\n.no-title .title-decoration-right[data-v-f83231c0] {\n width: 58px;\n height: 14px;\n}\n.only-border[data-v-f83231c0] {\n border: 2px solid #375A8899;\n border-radius: 8px;\n width: 100%;\n height: 100%;\n}\n.left-title[data-v-f83231c0] {\n position: relative;\n width: 100%;\n height: 100%;\n border: 2px solid #375A8899;\n border-radius: 8px;\n}\n.left-title .title[data-v-f83231c0] {\n position: absolute;\n left: -33px;\n top: -14px;\n width: 33px;\n min-height: 194px;\n padding-top: 33px;\n padding-bottom: 31px;\n background-image: url("data:image/png;base64,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");\n background-repeat: no-repeat;\n background-size: 100% 100%;\n color: #fff;\n font-weight: 500;\n text-align: center;\n}\n.left-title .title span[data-v-f83231c0] {\n writing-mode: vertical-lr;\n}\n')();
5594
+ var Border_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => '.top-title[data-v-3c3b861e],\n.no-title[data-v-3c3b861e] {\n border: 1px solid rgba(55, 85, 218, 0.3);\n background: rgba(7, 22, 85, 0.8);\n position: relative;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n}\n.top-title .border-item[data-v-3c3b861e],\n.no-title .border-item[data-v-3c3b861e] {\n position: absolute;\n z-index: 2;\n border-color: #50FCFC;\n border-style: solid;\n width: 13px;\n height: 11px;\n}\n.top-title .top-left[data-v-3c3b861e],\n.no-title .top-left[data-v-3c3b861e] {\n top: 0;\n left: 0;\n border-top-width: 1px;\n border-right-width: 0;\n border-bottom-width: 0;\n border-left-width: 1px;\n}\n.top-title .top-right[data-v-3c3b861e],\n.no-title .top-right[data-v-3c3b861e] {\n top: 0;\n right: -2px;\n border-top-width: 1px;\n border-right-width: 1px;\n border-bottom-width: 0;\n border-left-width: 0;\n}\n.top-title .bottom-left[data-v-3c3b861e],\n.no-title .bottom-left[data-v-3c3b861e] {\n bottom: -2px;\n left: 0;\n border-top-width: 0;\n border-right-width: 0;\n border-bottom-width: 1px;\n border-left-width: 1px;\n}\n.top-title .bottom-right[data-v-3c3b861e],\n.no-title .bottom-right[data-v-3c3b861e] {\n bottom: -2px;\n right: -2px;\n border-top-width: 0;\n border-right-width: 1px;\n border-bottom-width: 1px;\n border-left-width: 0;\n}\n.top-title .title-item-wrapper[data-v-3c3b861e],\n.no-title .title-item-wrapper[data-v-3c3b861e] {\n width: 100%;\n padding: 5px 0;\n background-image: url("data:image/png;base64,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");\n background-size: cover;\n display: grid;\n place-content: center;\n}\n.top-title .title-item[data-v-3c3b861e],\n.no-title .title-item[data-v-3c3b861e] {\n display: flex;\n align-items: center;\n}\n.top-title .title[data-v-3c3b861e],\n.no-title .title[data-v-3c3b861e] {\n padding: 0 17px;\n color: #d5fdfd;\n background: linear-gradient(0deg, #01aaff, #00eaff);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n.top-title .title-decoration-left[data-v-3c3b861e],\n.no-title .title-decoration-left[data-v-3c3b861e] {\n width: 58px;\n height: 14px;\n}\n.top-title .title-decoration-right[data-v-3c3b861e],\n.no-title .title-decoration-right[data-v-3c3b861e] {\n width: 58px;\n height: 14px;\n}\n.only-border[data-v-3c3b861e] {\n border: 2px solid #375A8899;\n border-radius: 8px;\n width: 100%;\n height: 100%;\n}\n.left-title[data-v-3c3b861e] {\n position: relative;\n width: 100%;\n height: 100%;\n border: 2px solid #375A8899;\n border-radius: 8px;\n}\n.left-title .title[data-v-3c3b861e] {\n position: absolute;\n left: -33px;\n top: -14px;\n width: 33px;\n min-height: 194px;\n padding-top: 33px;\n padding-bottom: 31px;\n background-image: url("data:image/png;base64,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");\n background-repeat: no-repeat;\n background-size: 100% 100%;\n color: #fff;\n font-weight: 500;\n text-align: center;\n}\n.left-title .title span[data-v-3c3b861e] {\n writing-mode: vertical-lr;\n}\n')();
5076
5595
  const _sfc_main$4 = defineComponent({
5077
5596
  name: "EcanBorder",
5078
5597
  props: __spreadValues({}, borderComponentProps),
@@ -5090,7 +5609,7 @@ const _sfc_main$4 = defineComponent({
5090
5609
  };
5091
5610
  }
5092
5611
  });
5093
- const _withScopeId = (n) => (pushScopeId("data-v-f83231c0"), n = n(), popScopeId(), n);
5612
+ const _withScopeId = (n) => (pushScopeId("data-v-3c3b861e"), n = n(), popScopeId(), n);
5094
5613
  const _hoisted_1$2 = {
5095
5614
  key: 0,
5096
5615
  class: "top-title"
@@ -5161,7 +5680,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
5161
5680
  ])) : createCommentVNode("", true)
5162
5681
  ], 4);
5163
5682
  }
5164
- var Border = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4], ["__scopeId", "data-v-f83231c0"]]);
5683
+ var Border = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4], ["__scopeId", "data-v-3c3b861e"]]);
5165
5684
  const EcanBorder = withInstall(Border);
5166
5685
  const modalProps = {
5167
5686
  id: "",
@@ -5427,38 +5946,41 @@ const tableProps = __spreadProps(__spreadValues({}, props), {
5427
5946
  address: "\u798F\u5DDE\u8F6F\u4EF6\u56ED"
5428
5947
  }
5429
5948
  ],
5430
- graphicConfig: {}
5949
+ graphicConfig: {
5950
+ chartType: "table",
5951
+ plugin: "1",
5952
+ layer: "1"
5953
+ }
5431
5954
  });
5432
5955
  const tableComponentProps = transformToComponentProps(tableProps);
5433
5956
  const tableEvents = ["click", "refreshData"];
5434
- var Table_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.table[data-v-3c009dfc] {
5957
+ var Table_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.table[data-v-56b87792] {
5435
5958
  width: 100%;
5436
- height: 100%;
5437
5959
  }
5438
- .goUp[data-v-3c009dfc] {
5960
+ .goUp[data-v-56b87792] {
5439
5961
  color: #FF512E;
5440
5962
  display: flex;
5441
5963
  align-items: center;
5442
5964
  }
5443
- .goUp[data-v-3c009dfc]:before {
5965
+ .goUp[data-v-56b87792]:before {
5444
5966
  content: '';
5445
5967
  display: block;
5446
- background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAV1BMVEUAAAD/WzT/WjP/WDD/WzT/WzP/WzT/WzT/WzT/WjT/WzT/WDT/YED/WzT/WzT/WjT/YED/WzT/WzT/WzT/XDT/WzT/WjX/WjP/XDT/XDT/WTL/Tif/WzReH8z5AAAAHHRSTlMA8RgS9W9YHbePZyME5sVjCP7bzcCxgndOQC4GFJJgKwAAAIJJREFUKM+Nkd0OgyAMRjvqcLA53fzXvv9zaokmxq8mnsue5ACFDjiy+XyjLZ7yyK35OxN5mSFZKa2QojEIKRhrZKM0QnsMQxirmJ0kBubTIZvAtUyiFAT4JFoUIYmIotZ5xjDPfyoCAV16nMPdFir8xZ16nM//tePtXw2ODOJY0V0WqQwM2rgKrU0AAAAASUVORK5CYII=");
5968
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAV1BMVEUAAAD/WzT/WjP/WDD/WzT/WzP/WzT/WzT/WzT/WjT/WzT/WDT/YED/WzT/WzT/WjT/YED/WzT/WzT/WzT/XDT/WzT/WjX/WjP/XDT/XDT/WTL/Tif/WzReH8z5AAAAHHRSTlMA8RgS9W9YHbePZyME5sVjCP7bzcCxgndOQC4GFJJgKwAAAIJJREFUKM+Nkd0OgyAMRjvqcLA53fzXvv9zaokmxq8mnsue5ACFDjiy+XyjLZ7yyK35OxN5mSFZKa2QojEIKRhrZKM0QnsMQxirmJ0kBubTIZvAtUyiFAT4JFoUIYmIotZ5xjDPfyoCAV16nMPdFir8xZ16nM//tePtXw2ODOJY0V0WqQwM2rgKrU0AAAAASUVORK5CYII=");
5447
5969
  width: 12px;
5448
5970
  height: 12px;
5449
5971
  background-repeat: no-repeat;
5450
5972
  background-size: cover;
5451
5973
  margin-right: 2px;
5452
5974
  }
5453
- .goDown[data-v-3c009dfc] {
5975
+ .goDown[data-v-56b87792] {
5454
5976
  color: #00F7B4;
5455
5977
  display: flex;
5456
5978
  align-items: center;
5457
5979
  }
5458
- .goDown[data-v-3c009dfc]:before {
5980
+ .goDown[data-v-56b87792]:before {
5459
5981
  content: '';
5460
5982
  display: block;
5461
- background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAaVBMVEUAAAAA+b0A+LwA+L0A/6AA+LwA+L0A+L0A+b0A+LwA/78A+LwA+L0A+LwA+LwA+b0A+LsA970A+LwA+r0A9boA/7YA+LwA+LwA+LwA+L0A97wA+bwA970A970A+bwA+bwA+LsA9rkA+LzcCa+5AAAAInRSTlMAd/uVAvjYxCsiDvPp37F7aWBMNBgK7s/NvKidh4NXUEcdp9A1SAAAAI5JREFUKM+l0UcOwzAMRFGqWZbcW3rl/Q8ZhUGKMN7lLedD4EKUi/3BEIrGsQu432pmPuF+1WnfRNjLipMz7HbHT3cIF9n3BLYSerzAooSgZNcWQiuhIdBI8JQblNISCqXU/BNG/mqzJ+az13MWluIdRspNmgV+Rvc6vkCwPu1uIhQq5o7WDOwtrToG+ssDeh4QPgfT2X0AAAAASUVORK5CYII=");
5983
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAaVBMVEUAAAAA+b0A+LwA+L0A/6AA+LwA+L0A+L0A+b0A+LwA/78A+LwA+L0A+LwA+LwA+b0A+LsA970A+LwA+r0A9boA/7YA+LwA+LwA+LwA+L0A97wA+bwA970A970A+bwA+bwA+LsA9rkA+LzcCa+5AAAAInRSTlMAd/uVAvjYxCsiDvPp37F7aWBMNBgK7s/NvKidh4NXUEcdp9A1SAAAAI5JREFUKM+l0UcOwzAMRFGqWZbcW3rl/Q8ZhUGKMN7lLedD4EKUi/3BEIrGsQu432pmPuF+1WnfRNjLipMz7HbHT3cIF9n3BLYSerzAooSgZNcWQiuhIdBI8JQblNISCqXU/BNG/mqzJ+az13MWluIdRspNmgV+Rvc6vkCwPu1uIhQq5o7WDOwtrToG+ssDeh4QPgfT2X0AAAAASUVORK5CYII=");
5462
5984
  width: 12px;
5463
5985
  height: 12px;
5464
5986
  background-repeat: no-repeat;
@@ -5466,7 +5988,7 @@ var Table_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `
5466
5988
  margin-right: 2px;
5467
5989
  }
5468
5990
  `)();
5469
- var Table_vue_vue_type_style_index_1_lang = /* @__PURE__ */ (() => ".ecan-table *::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n}\n.ecan-table *::-webkit-scrollbar-thumb {\n border-radius: 3px;\n -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);\n background-color: #c8c9ca !important;\n}\n.ecan-table *::-webkit-scrollbar-track {\n background-color: #fff;\n}\n.ecan-table .ant-table-cell-scrollbar {\n box-shadow: 0 1px 0 1px transparent;\n}\n.ecan-table .ant-table {\n color: rgba(0, 0, 0, 0.65);\n background: #ffffff;\n}\n.ecan-table .ant-table-thead > tr > th {\n color: rgba(0, 0, 0, 0.85);\n background: #fafafa;\n border-bottom: 1px solid #f0f0f0;\n}\n.ecan-table .ant-table-tbody > tr > td {\n border-bottom: 1px solid #f0f0f0;\n}\n.ecan-table .ant-table-bordered .ant-table-container {\n border: 1px solid #f0f0f0 !important;\n}\n.ecan-table .ant-table-bordered .ant-table-cell {\n border-right: 1px solid #f0f0f0 !important;\n}\n.ecan-table .ant-pagination-item-link {\n border: 1px solid #d9d9d9 !important;\n}\n.ecan-table .anticon {\n color: rgba(0, 0, 0, 0.65) !important;\n}\n[datav-theme='darkBlue'] .ecan-table *::-webkit-scrollbar-thumb {\n background-color: #2f4dac !important;\n}\n[datav-theme='darkBlue'] .ecan-table *::-webkit-scrollbar-track {\n background-color: #192c70;\n}\n[datav-theme='darkBlue'] .ecan-table *::-webkit-scrollbar-corner {\n background-color: #192c70 !important;\n}\n[datav-theme='darkBlue'] .ecan-table .ant-table {\n color: #e8e8e8;\n background: #071655;\n}\n[datav-theme='darkBlue'] .ecan-table .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table,\n[datav-theme='darkBlue'] .ecan-table .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table {\n border-top: 1px solid #3e8ee3 !important;\n}\n[datav-theme='darkBlue'] .ecan-table .ant-table-thead > tr > th {\n color: #cdd0f7;\n background: #17338c;\n border-bottom: 1px solid #3e8ee3;\n}\n[datav-theme='darkBlue'] .ecan-table .ant-table-tbody > tr > td {\n border-bottom: 1px solid #3e8ee3;\n}\n[datav-theme='darkBlue'] .ecan-table .ant-table-bordered .ant-table-container {\n border: 1px solid #3e8ee3 !important;\n}\n[datav-theme='darkBlue'] .ecan-table .ant-table-bordered .ant-table-cell {\n border-right: 1px solid #3e8ee3 !important;\n}\n[datav-theme='darkBlue'] .ecan-table .ant-pagination-item-link {\n background: #17338c !important;\n border: 1px solid #243c8e !important;\n}\n[datav-theme='darkBlue'] .ecan-table .ant-pagination-item {\n background: #17338c !important;\n}\n[datav-theme='darkBlue'] .ecan-table .anticon {\n color: rgba(255, 255, 255, 0.65) !important;\n}\n[datav-theme='darkBlue'] .ecan-table .ant-table-tbody > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td {\n background: #225b98;\n}\n")();
5991
+ var Table_vue_vue_type_style_index_1_lang = /* @__PURE__ */ (() => ".ecan-table *::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n}\n.ecan-table *::-webkit-scrollbar-thumb {\n border-radius: 3px;\n -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);\n background-color: #c8c9ca !important;\n}\n.ecan-table *::-webkit-scrollbar-track {\n background-color: #fff;\n}\n.ecan-table .ant-table-cell-scrollbar {\n box-shadow: 0 1px 0 1px transparent;\n}\n.ecan-table .ant-table {\n color: rgba(0, 0, 0, 0.65);\n background: #ffffff;\n}\n.ecan-table .ant-table-thead > tr > th {\n color: rgba(0, 0, 0, 0.85);\n background: #fafafa;\n border-bottom: 1px solid #f0f0f0;\n}\n.ecan-table .ant-table-tbody > tr > td {\n border-bottom: 1px solid #f0f0f0;\n}\n.ecan-table .ant-table-bordered .ant-table-container {\n border: 1px solid #f0f0f0 !important;\n}\n.ecan-table .ant-table-bordered .ant-table-cell {\n border-right: 1px solid #f0f0f0 !important;\n}\n.ecan-table .anticon {\n color: rgba(0, 0, 0, 0.65) !important;\n}\n[datav-theme='darkBlue'] .ecan-table *::-webkit-scrollbar-thumb {\n background-color: #2f4dac !important;\n}\n[datav-theme='darkBlue'] .ecan-table *::-webkit-scrollbar-track {\n background-color: #192c70;\n}\n[datav-theme='darkBlue'] .ecan-table *::-webkit-scrollbar-corner {\n background-color: #192c70 !important;\n}\n[datav-theme='darkBlue'] .ecan-table .ant-table {\n color: #e8e8e8;\n background: #071655;\n}\n[datav-theme='darkBlue'] .ecan-table .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table,\n[datav-theme='darkBlue'] .ecan-table .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table {\n border-top: 1px solid #3e8ee3 !important;\n}\n[datav-theme='darkBlue'] .ecan-table .ant-table-thead > tr > th {\n color: #cdd0f7;\n background: #17338c;\n border-bottom: 1px solid #3e8ee3;\n}\n[datav-theme='darkBlue'] .ecan-table .ant-table-tbody > tr > td {\n border-bottom: 1px solid #3e8ee3;\n}\n[datav-theme='darkBlue'] .ecan-table .ant-table-bordered .ant-table-container {\n border: 1px solid #3e8ee3 !important;\n}\n[datav-theme='darkBlue'] .ecan-table .ant-table-bordered .ant-table-cell {\n border-right: 1px solid #3e8ee3 !important;\n}\n[datav-theme='darkBlue'] .ecan-table .ant-pagination-item-link {\n background: #17338c !important;\n}\n[datav-theme='darkBlue'] .ecan-table .ant-pagination-item {\n background: #17338c !important;\n}\n[datav-theme='darkBlue'] .ecan-table .anticon {\n color: rgba(255, 255, 255, 0.65) !important;\n}\n[datav-theme='darkBlue'] .ecan-table .ant-table-tbody > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td {\n background: #225b98;\n}\n")();
5470
5992
  const _sfc_main$1 = defineComponent({
5471
5993
  name: "EcanTable",
5472
5994
  components: {
@@ -5477,7 +5999,7 @@ const _sfc_main$1 = defineComponent({
5477
5999
  ATableSummaryCell: TableSummaryCell
5478
6000
  },
5479
6001
  props: __spreadValues({}, tableComponentProps),
5480
- setup(props2) {
6002
+ setup(props2, { expose }) {
5481
6003
  const style2 = usePickComponentStyle(props2);
5482
6004
  const splitY = computed(() => {
5483
6005
  if (props2.paginationShow) {
@@ -5576,7 +6098,6 @@ const _sfc_main$1 = defineComponent({
5576
6098
  };
5577
6099
  const tableChange = ({ current }, _filters, _sorter) => {
5578
6100
  pageNum.value = current;
5579
- handleIndicatorData();
5580
6101
  };
5581
6102
  const pagination = computed(() => {
5582
6103
  const simple = props2.simple;
@@ -5634,12 +6155,12 @@ const _sfc_main$1 = defineComponent({
5634
6155
  });
5635
6156
  dataSource.value = rows;
5636
6157
  };
5637
- const requestDiagram = useRequestDiagramData(props2);
6158
+ const indicatorData = useIndicatorData(props2);
5638
6159
  const handleIndicatorData = async () => {
5639
6160
  var _a2, _b2, _c2, _d;
5640
6161
  try {
5641
6162
  loading.value = true;
5642
- const res = await requestDiagram();
6163
+ const res = await indicatorData();
5643
6164
  handleIndicatorDataset((_b2 = (_a2 = res == null ? void 0 : res.data) == null ? void 0 : _a2.data) == null ? void 0 : _b2.columns, (_d = (_c2 = res == null ? void 0 : res.data) == null ? void 0 : _c2.data) == null ? void 0 : _d.rows);
5644
6165
  } catch (e) {
5645
6166
  console.error(e);
@@ -5655,6 +6176,7 @@ const _sfc_main$1 = defineComponent({
5655
6176
  })
5656
6177
  });
5657
6178
  const refreshData = () => {
6179
+ console.log(unref(pageMode));
5658
6180
  if (unref(pageMode) === "design")
5659
6181
  return;
5660
6182
  switch (props2.dataType) {
@@ -5708,6 +6230,9 @@ const _sfc_main$1 = defineComponent({
5708
6230
  setRequest: (requestFn, sortNum) => void 0
5709
6231
  });
5710
6232
  setRequest(refreshData, props2.requestSort);
6233
+ expose({
6234
+ refreshData
6235
+ });
5711
6236
  return {
5712
6237
  x,
5713
6238
  y,
@@ -5739,6 +6264,9 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
5739
6264
  default: withCtx(() => [
5740
6265
  createVNode(_component_a_table, {
5741
6266
  class: "table",
6267
+ style: {
6268
+ height: "100%"
6269
+ },
5742
6270
  columns: _ctx.dataColumns.length > 0 ? _ctx.dataColumns : _ctx.myColumns,
5743
6271
  "data-source": _ctx.dataSource,
5744
6272
  bordered: _ctx.bordered,
@@ -5794,7 +6322,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
5794
6322
  }, 8, ["loading"])
5795
6323
  ], 4);
5796
6324
  }
5797
- var Table = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__scopeId", "data-v-3c009dfc"]]);
6325
+ var Table = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__scopeId", "data-v-56b87792"]]);
5798
6326
  const EcanTable = withInstall(Table);
5799
6327
  const mapProps = __spreadProps(__spreadValues({}, props), {
5800
6328
  mapJson: null,
@@ -5850,7 +6378,7 @@ use([
5850
6378
  const _sfc_main = defineComponent({
5851
6379
  name: "EcanMap",
5852
6380
  components: {
5853
- Echarts: ECharts
6381
+ Echarts
5854
6382
  },
5855
6383
  props: __spreadValues({}, mapComponentProps),
5856
6384
  setup(props2) {