@ecan-bi/datav 1.0.41 → 1.0.44

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 (62) hide show
  1. package/dist/index.es.js +906 -255
  2. package/dist/index.es.js.map +1 -1
  3. package/dist/index.umd.js +906 -252
  4. package/dist/index.umd.js.map +1 -1
  5. package/dist/style.css +149 -86
  6. package/package.json +1 -1
  7. package/types/_utils/constant.d.ts +3 -1
  8. package/types/_utils/hooks/index.d.ts +2 -0
  9. package/types/_utils/hooks/useHrefParamsToGlobalVariables.d.ts +2 -0
  10. package/types/_utils/hooks/useIndicatorData.d.ts +4 -0
  11. package/types/container/border/Border.vue.d.ts +183 -54
  12. package/types/container/border/index.d.ts +130 -1
  13. package/types/container/border/props.d.ts +115 -55
  14. package/types/container/modal/Modal.vue.d.ts +1 -1
  15. package/types/container/modal/index.d.ts +1 -1
  16. package/types/control/button/Button.vue.d.ts +110 -0
  17. package/types/control/button/index.d.ts +111 -1
  18. package/types/control/button/props.d.ts +104 -44
  19. package/types/control/date-picker/props.d.ts +52 -52
  20. package/types/control/input/props.d.ts +48 -48
  21. package/types/control/range-picker/RangePicker.vue.d.ts +52 -52
  22. package/types/control/range-picker/props.d.ts +52 -52
  23. package/types/control/select/Select.vue.d.ts +50 -50
  24. package/types/control/select/props.d.ts +50 -50
  25. package/types/control/tabs/Tabs.vue.d.ts +42 -0
  26. package/types/control/tabs/index.d.ts +42 -0
  27. package/types/control/tabs/props.d.ts +24 -0
  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/setting/index.d.ts +1 -0
  47. package/types/setting/provider-config/ProviderConfig.vue.d.ts +36 -6
  48. package/types/setting/provider-config/index.d.ts +37 -7
  49. package/types/setting/provider-config/props.d.ts +21 -3
  50. package/types/setting/renderer/Renderer.vue.d.ts +22 -0
  51. package/types/setting/renderer/index.d.ts +23 -0
  52. package/types/setting/renderer/props.d.ts +17 -0
  53. package/types/table/table/Table.vue.d.ts +900 -79
  54. package/types/table/table/index.d.ts +899 -79
  55. package/types/table/table/props.d.ts +451 -39
  56. package/types/text/list/List.vue.d.ts +64 -64
  57. package/types/text/list/props.d.ts +64 -64
  58. package/types/text/proportion/Proportion.vue.d.ts +68 -68
  59. package/types/text/proportion/props.d.ts +68 -68
  60. package/types/text/text/Text.vue.d.ts +66 -66
  61. package/types/text/text/props.d.ts +66 -66
  62. 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, withCtx, ref, normalizeStyle, createCommentVNode, provide, 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, withModifiers, 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";
@@ -1373,7 +1373,7 @@ var _export_sfc = (sfc, props2) => {
1373
1373
  }
1374
1374
  return target;
1375
1375
  };
1376
- const _sfc_main$p = defineComponent({
1376
+ const _sfc_main$q = defineComponent({
1377
1377
  props: {
1378
1378
  spinning: {
1379
1379
  type: Boolean,
@@ -1396,10 +1396,10 @@ const _sfc_main$p = defineComponent({
1396
1396
  };
1397
1397
  }
1398
1398
  });
1399
- const _hoisted_1$b = { class: "spin-wrapper" };
1400
- function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
1399
+ const _hoisted_1$9 = { class: "spin-wrapper" };
1400
+ function _sfc_render$q(_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",
@@ -1409,8 +1409,8 @@ function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
1409
1409
  }, null, 8, ["spinning", "indicator"])) : renderSlot(_ctx.$slots, "default", { key: 1 })
1410
1410
  ]);
1411
1411
  }
1412
- var Spin = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render$p]]);
1413
- const _sfc_main$o = defineComponent({
1412
+ var Spin = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["render", _sfc_render$q]]);
1413
+ const _sfc_main$p = defineComponent({
1414
1414
  name: "Skeleton",
1415
1415
  props: {
1416
1416
  loading: {
@@ -1422,7 +1422,7 @@ const _sfc_main$o = defineComponent({
1422
1422
  ASkeleton: Skeleton$1
1423
1423
  }
1424
1424
  });
1425
- function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
1425
+ function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
1426
1426
  const _component_a_skeleton = resolveComponent("a-skeleton");
1427
1427
  return openBlock(), createBlock(_component_a_skeleton, {
1428
1428
  active: "",
@@ -1434,7 +1434,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
1434
1434
  _: 3
1435
1435
  }, 8, ["loading"]);
1436
1436
  }
1437
- var Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$o]]);
1437
+ var Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render$p]]);
1438
1438
  const withInstall = (main, extra) => {
1439
1439
  main.install = (app) => {
1440
1440
  for (const comp of [main, ...Object.values(extra != null ? extra : {})]) {
@@ -1512,7 +1512,8 @@ const styleList = [
1512
1512
  "backgroundSize",
1513
1513
  "textShadow",
1514
1514
  "justifyContent",
1515
- "alignItems"
1515
+ "alignItems",
1516
+ "zIndex"
1516
1517
  ];
1517
1518
  const usePickComponentStyle = (props2, excludeStyleList = []) => {
1518
1519
  const finalStyleList = without(styleList, ...excludeStyleList);
@@ -1522,9 +1523,11 @@ const EVENT_BUS = "EVENT_BUS";
1522
1523
  const GLOBAL_CONFIG = "GLOBAL_CONFIG";
1523
1524
  const GLOBAL_MODEL = "GLOBAL_MODEL";
1524
1525
  const REQUEST_MODEL = "REQUEST_MODEL";
1525
- const UPLOAD_PATH = ((_a = window == null ? void 0 : window.config) == null ? void 0 : _a.uploadPath) || "/api";
1526
- const BASE_URL = ((_b = window == null ? void 0 : window.config) == null ? void 0 : _b.routerBaseURL) || "./";
1527
- const INDICATOR_URL = (_c = window == null ? void 0 : window.config) == null ? void 0 : _c.indicatorURL;
1526
+ const GLOBAL_TOKEN = "GLOBAL_TOKEN";
1527
+ const REFRESH_PAGE = "REFRESH_PAGE";
1528
+ const INDICATOR_URL = (_a = window == null ? void 0 : window.config) == null ? void 0 : _a.indicatorURL;
1529
+ const UPLOAD_PATH = ((_b = window == null ? void 0 : window.config) == null ? void 0 : _b.uploadPath) || "/api";
1530
+ const BASE_URL = ((_c = window == null ? void 0 : window.config) == null ? void 0 : _c.routerBaseURL) || "./";
1528
1531
  const useOnEvent = (props2, events) => {
1529
1532
  watch(() => props2.id, (id, oldId) => {
1530
1533
  const eventBus = inject(EVENT_BUS, {
@@ -1623,6 +1626,24 @@ const lowerCaseIncludes = (v1, v2) => {
1623
1626
  }
1624
1627
  return false;
1625
1628
  };
1629
+ const useVariablesInText = (text, data = {}) => {
1630
+ const config2 = window.config || {};
1631
+ data = __spreadValues(__spreadValues({}, config2), data);
1632
+ const variables = text.match(/\{.*?\}/g);
1633
+ if (variables == null || variables.length === 0)
1634
+ return text;
1635
+ for (let i = 0; i < variables.length; i++) {
1636
+ const variable = variables[i];
1637
+ const v = variable.slice(1, variable.length - 1);
1638
+ const usedVariable = data[v];
1639
+ if (usedVariable != null) {
1640
+ text = text.replace(variable, usedVariable);
1641
+ } else {
1642
+ text = text.replace(variable, "");
1643
+ }
1644
+ }
1645
+ return text;
1646
+ };
1626
1647
  const useRequestData = (props2, callBack = () => {
1627
1648
  }) => {
1628
1649
  const {
@@ -1660,23 +1681,25 @@ const useRequestData = (props2, callBack = () => {
1660
1681
  }
1661
1682
  _params[key] = v;
1662
1683
  } else if (typeof value === "string") {
1663
- _params[key] = value;
1684
+ _params[key] = useVariablesInText(value);
1664
1685
  }
1665
1686
  });
1666
1687
  _params = __spreadValues(__spreadValues({}, _params), params);
1667
1688
  let urlParams = "";
1668
1689
  const keys = Object.keys(_params);
1669
1690
  const last = keys.length - 1;
1691
+ const keysLen = keys.length;
1670
1692
  keys.forEach((key, index2) => {
1671
- switch (index2) {
1672
- case 0:
1693
+ if (index2 === 0) {
1694
+ if (keysLen !== 1) {
1673
1695
  urlParams += `?${key}=${_params[key]}&`;
1674
- break;
1675
- case last:
1676
- urlParams += `${key}=${_params[key]}`;
1677
- break;
1678
- default:
1679
- urlParams += `${key}=${_params[key]}&`;
1696
+ } else {
1697
+ urlParams += `?${key}=${_params[key]}`;
1698
+ }
1699
+ } else if (index2 === last) {
1700
+ urlParams += `${key}=${_params[key]}`;
1701
+ } else {
1702
+ urlParams += `${key}=${_params[key]}&`;
1680
1703
  }
1681
1704
  });
1682
1705
  try {
@@ -1767,44 +1790,26 @@ const useImagePath = (path, isFormat = false) => {
1767
1790
  const usePageUrl = (pageMode, pageId) => {
1768
1791
  const envPageUrl = `/preview?pageId=${pageId}`;
1769
1792
  const proPageUrl = `${BASE_URL}${pageId}`;
1793
+ console.log(pageMode);
1770
1794
  return pageMode === "preview" ? envPageUrl : proPageUrl;
1771
1795
  };
1772
- const useVariablesInText = (text, data = {}) => {
1773
- var _a2;
1774
- const config = (_a2 = window.config) != null ? _a2 : {};
1775
- data = __spreadValues(__spreadValues({}, config), data);
1776
- const variables = text.match(/\{.*?\}/g);
1777
- if (variables == null || variables.length === 0)
1778
- return text;
1779
- for (let i = 0; i < variables.length; i++) {
1780
- const variable = variables[i];
1781
- const v = variable.slice(1, variable.length - 1);
1782
- const usedVariables = data[v];
1783
- if (usedVariables != null) {
1784
- text = text.replace(variable, usedVariables);
1785
- } else {
1786
- text = text.replace(variable, "");
1787
- }
1788
- }
1789
- return text;
1790
- };
1791
1796
  const request = axios.create({
1792
1797
  timeout: 1e3 * 10
1793
1798
  });
1794
- request.interceptors.request.use((config) => {
1795
- return config;
1799
+ request.interceptors.request.use((config2) => {
1800
+ return config2;
1796
1801
  }, (error) => {
1797
1802
  return Promise.reject(error);
1798
1803
  });
1799
- request.interceptors.response.use((config) => {
1804
+ request.interceptors.response.use((config2) => {
1800
1805
  var _a2, _b2, _c2;
1801
- if (+((_a2 = config == null ? void 0 : config.data) == null ? void 0 : _a2.code) === 500) {
1806
+ if (+((_a2 = config2 == null ? void 0 : config2.data) == null ? void 0 : _a2.code) === 500) {
1802
1807
  message.error({
1803
- 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",
1808
+ 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",
1804
1809
  key: "SERVER_ERROR"
1805
1810
  });
1806
1811
  }
1807
- return config;
1812
+ return config2;
1808
1813
  }, (error) => {
1809
1814
  if (error.message.includes("timeout")) {
1810
1815
  message.error({
@@ -2163,7 +2168,7 @@ const useRequestDiagramData = (props2) => {
2163
2168
  };
2164
2169
  };
2165
2170
  const useValueFormatter = (formatter = "", value) => {
2166
- const variables = formatter.match(/\{.*?\}/g);
2171
+ const variables = formatter.match(/\{\w*\}/g);
2167
2172
  if (variables == null || variables.length === 0)
2168
2173
  return formatter;
2169
2174
  for (let i = 0; i < variables.length; i++) {
@@ -2178,8 +2183,221 @@ const useValueFormatter = (formatter = "", value) => {
2178
2183
  }
2179
2184
  return formatter;
2180
2185
  };
2181
- 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")();
2182
- const _sfc_main$n = defineComponent({
2186
+ const useIndicatorData = (props2 = {}) => {
2187
+ const { requestToken } = inject(GLOBAL_TOKEN, {
2188
+ requestToken: () => void 0
2189
+ });
2190
+ if (props2.dataType === "indicator") {
2191
+ requestToken();
2192
+ }
2193
+ const handleQueryColumn = (queryColumn = {}) => {
2194
+ const { label, name, location, show, indexCode } = queryColumn;
2195
+ return {
2196
+ label,
2197
+ columnName: name,
2198
+ location,
2199
+ show,
2200
+ calcType: "COLUMN",
2201
+ hrpIndexCode: indexCode
2202
+ };
2203
+ };
2204
+ const handleIndicator = (indicator = {}) => {
2205
+ const {
2206
+ label,
2207
+ name,
2208
+ location,
2209
+ show,
2210
+ indexCode,
2211
+ calcType = "COLUMN",
2212
+ builtInFormula,
2213
+ builtInValueSource,
2214
+ builtInCalcWay,
2215
+ formula
2216
+ } = indicator;
2217
+ return {
2218
+ label,
2219
+ columnName: name,
2220
+ location,
2221
+ show,
2222
+ calcType,
2223
+ hrpIndexCode: indexCode,
2224
+ aggregate: "SUM",
2225
+ builtInFormula,
2226
+ builtInValueSource,
2227
+ builtInCalcWay,
2228
+ formula
2229
+ };
2230
+ };
2231
+ const { getGlobalModel } = inject(GLOBAL_MODEL, {
2232
+ getGlobalModel: (key) => void 0
2233
+ });
2234
+ const handleSqlConditions = (controlList = []) => {
2235
+ var _a2;
2236
+ const len = controlList.length;
2237
+ const sqlConditions = [];
2238
+ for (let i = 0; i < len; i++) {
2239
+ const control = controlList[i];
2240
+ const {
2241
+ id,
2242
+ conditionLabel,
2243
+ conditionKey,
2244
+ conditionValueType
2245
+ } = control;
2246
+ const sqlCondition = {
2247
+ rule: "NONE",
2248
+ label: conditionLabel,
2249
+ fieldName: conditionKey,
2250
+ fieldValue: "",
2251
+ valueType: conditionValueType
2252
+ };
2253
+ const model = getGlobalModel(id) || {};
2254
+ if (lowerCaseIncludes(model.type, "date")) {
2255
+ const { value, format } = model || {};
2256
+ sqlCondition.fieldValue = (_a2 = unref(value)) == null ? void 0 : _a2.format(format);
2257
+ sqlCondition.dateFormat = format;
2258
+ }
2259
+ sqlConditions.push(sqlCondition);
2260
+ }
2261
+ return sqlConditions;
2262
+ };
2263
+ return async () => {
2264
+ var _a2, _b2;
2265
+ const { graphicConfig } = props2;
2266
+ const {
2267
+ source,
2268
+ dataViewId,
2269
+ plugin,
2270
+ layer,
2271
+ chartType,
2272
+ classificationList = [],
2273
+ seriesList = [],
2274
+ leftAxisList = [],
2275
+ rightAxisList = [],
2276
+ queryColumnList = [],
2277
+ indicators = [],
2278
+ controlList = [],
2279
+ dataSourceId,
2280
+ idxLibMode,
2281
+ preview = false
2282
+ } = graphicConfig || {};
2283
+ console.log("classificationList", classificationList);
2284
+ console.log("seriesList", seriesList);
2285
+ console.log("leftAxisList", leftAxisList);
2286
+ console.log("rightAxisList", rightAxisList);
2287
+ console.log("indicators", indicators);
2288
+ console.log("controlList", controlList);
2289
+ let classification;
2290
+ if (Array.isArray(classificationList) && classificationList.length > 0) {
2291
+ const len = classificationList.length;
2292
+ for (let i = 0; i < len; i++) {
2293
+ const item = classificationList[i] || {};
2294
+ const { label = "", name = "", show = false, sort, customGroup } = item;
2295
+ if (show) {
2296
+ classification = {
2297
+ label,
2298
+ columnName: name,
2299
+ show,
2300
+ sort,
2301
+ customGroup
2302
+ };
2303
+ break;
2304
+ }
2305
+ }
2306
+ }
2307
+ let series;
2308
+ if (Array.isArray(seriesList) && seriesList.length > 0) {
2309
+ const len = seriesList.length;
2310
+ for (let i = 0; i < len; i++) {
2311
+ const item = seriesList[i] || {};
2312
+ const { label = "", name = "", show = false, sort, customGroup } = item;
2313
+ if (show) {
2314
+ series = {
2315
+ label,
2316
+ columnName: name,
2317
+ show,
2318
+ sort,
2319
+ customGroup
2320
+ };
2321
+ break;
2322
+ }
2323
+ }
2324
+ }
2325
+ const queryColumns = [];
2326
+ queryColumnList == null ? void 0 : queryColumnList.forEach((queryColumn) => {
2327
+ queryColumns.push(handleQueryColumn(queryColumn));
2328
+ });
2329
+ const indicatorList = [];
2330
+ leftAxisList == null ? void 0 : leftAxisList.forEach((leftAxis) => {
2331
+ leftAxis.location = "LEFT";
2332
+ if (leftAxis.show) {
2333
+ indicatorList.push(handleIndicator(leftAxis));
2334
+ }
2335
+ });
2336
+ rightAxisList == null ? void 0 : rightAxisList.forEach((rightAxis) => {
2337
+ rightAxis.location = "RIGHT";
2338
+ if (rightAxis.show) {
2339
+ indicatorList.push(handleIndicator(rightAxis));
2340
+ }
2341
+ });
2342
+ indicators == null ? void 0 : indicators.forEach((indicator) => {
2343
+ indicator.location = "LEFT";
2344
+ if (indicator.show) {
2345
+ indicatorList.push(handleIndicator(indicator));
2346
+ }
2347
+ });
2348
+ if (layer === "1" && queryColumns.length === 0) {
2349
+ return;
2350
+ } else if (layer === "2" && indicatorList.length === 0) {
2351
+ return;
2352
+ }
2353
+ let sqlConditions;
2354
+ if ((graphicConfig == null ? void 0 : graphicConfig.pageMode) === "design") {
2355
+ sqlConditions = (_a2 = graphicConfig.sqlConditions) != null ? _a2 : [];
2356
+ } else {
2357
+ sqlConditions = handleSqlConditions(controlList);
2358
+ }
2359
+ try {
2360
+ const res = await request.post(`${INDICATOR_URL}/diagram`, {
2361
+ source,
2362
+ dataViewId,
2363
+ plugin,
2364
+ layer,
2365
+ chartType,
2366
+ classification,
2367
+ series,
2368
+ indicatorList,
2369
+ queryColumns,
2370
+ pageFlag: true,
2371
+ sqlConditions,
2372
+ dataSourceId,
2373
+ idxLibMode,
2374
+ preview
2375
+ }, {
2376
+ headers: {
2377
+ Authentication: (_b2 = window == null ? void 0 : window.config) == null ? void 0 : _b2.indicatorToken,
2378
+ operateContext: "ygt"
2379
+ }
2380
+ });
2381
+ return res;
2382
+ } catch (e) {
2383
+ console.error(e);
2384
+ }
2385
+ };
2386
+ };
2387
+ const useHrefParamsToGlobalVariables = () => {
2388
+ const search = window.location.search;
2389
+ const params = search.slice(1).split("&");
2390
+ const len = params.length;
2391
+ for (let i = 0; i < len; i++) {
2392
+ const param = params[i];
2393
+ const keyAndValue = param.split("=");
2394
+ const key = keyAndValue[0];
2395
+ const value = keyAndValue[1];
2396
+ window.config[key] = value;
2397
+ }
2398
+ };
2399
+ var PageConfig_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "#container[data-v-5d709a9a] {\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-5d709a9a] {\n position: relative;\n overflow: hidden;\n background-size: cover;\n}\n")();
2400
+ const _sfc_main$o = defineComponent({
2183
2401
  name: "EcanPageConfig",
2184
2402
  props: __spreadValues({}, pageConfigComponentProps),
2185
2403
  setup(props2) {
@@ -2273,12 +2491,12 @@ const _sfc_main$n = defineComponent({
2273
2491
  };
2274
2492
  }
2275
2493
  });
2276
- const _hoisted_1$a = {
2494
+ const _hoisted_1$8 = {
2277
2495
  id: "container",
2278
2496
  ref: "container"
2279
2497
  };
2280
- function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
2281
- return openBlock(), createElementBlock("div", _hoisted_1$a, [
2498
+ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
2499
+ return openBlock(), createElementBlock("div", _hoisted_1$8, [
2282
2500
  _ctx.ready ? (openBlock(), createElementBlock("div", {
2283
2501
  key: 0,
2284
2502
  class: "page-config",
@@ -2288,18 +2506,20 @@ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
2288
2506
  ], 4)) : createCommentVNode("", true)
2289
2507
  ], 512);
2290
2508
  }
2291
- var PageConfig = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$n], ["__scopeId", "data-v-836b53bc"]]);
2509
+ var PageConfig = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$o], ["__scopeId", "data-v-5d709a9a"]]);
2292
2510
  const EcanPageConfig = withInstall(PageConfig);
2293
2511
  const providerConfig = {
2294
2512
  contextRequestUrl: "",
2295
2513
  pageMode: "normal",
2296
- theme: "light"
2514
+ theme: "light",
2515
+ containerMap: {}
2297
2516
  };
2298
2517
  const providerConfigComponentProps = transformToComponentProps(providerConfig);
2299
- const _sfc_main$m = defineComponent({
2518
+ const _sfc_main$n = defineComponent({
2300
2519
  name: "EcanProviderConfig",
2301
2520
  props: __spreadValues({}, providerConfigComponentProps),
2302
2521
  setup(props2, { expose }) {
2522
+ useHrefParamsToGlobalVariables();
2303
2523
  const providerConfig2 = ref();
2304
2524
  const setTheme = () => {
2305
2525
  providerConfig2.value.setAttribute("datav-theme", props2.theme);
@@ -2349,6 +2569,13 @@ const _sfc_main$m = defineComponent({
2349
2569
  offEvent,
2350
2570
  emitEvent
2351
2571
  });
2572
+ const tokenNum = ref(0);
2573
+ const requestToken = () => {
2574
+ tokenNum.value = unref(tokenNum) + 1;
2575
+ };
2576
+ provide(GLOBAL_TOKEN, {
2577
+ requestToken
2578
+ });
2352
2579
  const requestModel = /* @__PURE__ */ new Map();
2353
2580
  const setRequest = (requestFn = () => {
2354
2581
  }, sortNum = 0) => {
@@ -2369,11 +2596,24 @@ const _sfc_main$m = defineComponent({
2369
2596
  });
2370
2597
  });
2371
2598
  };
2599
+ const queryUserToken = async () => {
2600
+ var _a2;
2601
+ const res = await axios.get(`${INDICATOR_URL}/user/anonymous?username=admin`, {
2602
+ headers: {
2603
+ systemCode: "F72FC50A3D97372514A6AC33333D28FD",
2604
+ current_context: "ygt"
2605
+ }
2606
+ });
2607
+ config.indicatorToken = (_a2 = res.data.data) == null ? void 0 : _a2.token;
2608
+ };
2372
2609
  const touchRequest = async () => {
2373
2610
  const requestModelArr = Array.from(requestModel);
2374
2611
  requestModelArr.sort((a, b) => b[0] - a[0]);
2375
2612
  const len = requestModelArr.length;
2376
2613
  try {
2614
+ if (props2.pageMode !== "design" && unref(tokenNum) > 0) {
2615
+ await queryUserToken();
2616
+ }
2377
2617
  for (let i = 0; i < len; i++) {
2378
2618
  const requestFnList = requestModelArr[i][1];
2379
2619
  await handleRequestFnList(requestFnList);
@@ -2387,27 +2627,57 @@ const _sfc_main$m = defineComponent({
2387
2627
  setRequest,
2388
2628
  touchRequest
2389
2629
  });
2630
+ const emitRefreshPage = () => {
2631
+ eventBus.emit(REFRESH_PAGE);
2632
+ };
2633
+ provide(REFRESH_PAGE, {
2634
+ emitRefreshPage
2635
+ });
2636
+ const onRefreshPage = (callBack) => {
2637
+ eventBus.on(REFRESH_PAGE, () => callBack());
2638
+ onMounted(() => {
2639
+ eventBus.off(REFRESH_PAGE);
2640
+ });
2641
+ };
2390
2642
  expose({
2391
- touchRequest
2643
+ touchRequest,
2644
+ getGlobalModel,
2645
+ onRefreshPage
2392
2646
  });
2393
2647
  return {
2394
2648
  providerConfig: providerConfig2
2395
2649
  };
2396
2650
  }
2397
2651
  });
2398
- const _hoisted_1$9 = {
2652
+ const _hoisted_1$7 = {
2399
2653
  id: "ProviderConfig",
2400
2654
  ref: "providerConfig"
2401
2655
  };
2402
- function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
2403
- return openBlock(), createElementBlock("div", _hoisted_1$9, [
2656
+ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
2657
+ return openBlock(), createElementBlock("div", _hoisted_1$7, [
2404
2658
  renderSlot(_ctx.$slots, "default")
2405
2659
  ], 512);
2406
2660
  }
2407
- var ProviderConfig = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$m]]);
2661
+ var ProviderConfig = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$n]]);
2408
2662
  const EcanProviderConfig = withInstall(ProviderConfig);
2663
+ const renderer = {
2664
+ componentList: []
2665
+ };
2666
+ const rendererComponentProps = transformToComponentProps(renderer);
2667
+ const _sfc_main$m = defineComponent({
2668
+ name: "EcanRenderer",
2669
+ props: __spreadValues({}, rendererComponentProps),
2670
+ setup() {
2671
+ }
2672
+ });
2673
+ function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
2674
+ return openBlock(), createElementBlock("div");
2675
+ }
2676
+ var Renderer = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$m]]);
2677
+ const EcanRenderer = withInstall(Renderer);
2409
2678
  const textProps = __spreadProps(__spreadValues({}, props), {
2410
- name: "\u57FA\u7840\u6587\u672C",
2679
+ name: "\u6587\u672C",
2680
+ keyName: "\u6587\u672C",
2411
2681
  type: "ecanText",
2412
2682
  width: "100px",
2413
2683
  height: "40px",
@@ -2425,7 +2695,7 @@ const textProps = __spreadProps(__spreadValues({}, props), {
2425
2695
  });
2426
2696
  const textComponentProps = transformToComponentProps(textProps);
2427
2697
  const textEvents = ["refreshData", "click"];
2428
- 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")();
2698
+ 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")();
2429
2699
  const _sfc_main$l = defineComponent({
2430
2700
  name: "EcanText",
2431
2701
  components: { Skeleton },
@@ -2494,7 +2764,7 @@ const _sfc_main$l = defineComponent({
2494
2764
  };
2495
2765
  }
2496
2766
  });
2497
- const _hoisted_1$8 = ["innerHTML"];
2767
+ const _hoisted_1$6 = ["innerHTML"];
2498
2768
  function _sfc_render$l(_ctx, _cache, $props, $setup, $data, $options) {
2499
2769
  const _component_skeleton = resolveComponent("skeleton");
2500
2770
  return _ctx.loading ? (openBlock(), createElementBlock("div", {
@@ -2509,9 +2779,9 @@ function _sfc_render$l(_ctx, _cache, $props, $setup, $data, $options) {
2509
2779
  style: normalizeStyle(_ctx.style),
2510
2780
  innerHTML: _ctx.myText,
2511
2781
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.click && _ctx.click(...args))
2512
- }, null, 12, _hoisted_1$8));
2782
+ }, null, 12, _hoisted_1$6));
2513
2783
  }
2514
- var Text = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$l], ["__scopeId", "data-v-04705f6f"]]);
2784
+ var Text = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$l], ["__scopeId", "data-v-e7487804"]]);
2515
2785
  const EcanText = withInstall(Text);
2516
2786
  var ScrollText_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".red[data-v-0bb717eb] {\n color: red;\n}\n")();
2517
2787
  const _sfc_main$k = defineComponent({
@@ -2523,9 +2793,9 @@ const _sfc_main$k = defineComponent({
2523
2793
  };
2524
2794
  }
2525
2795
  });
2526
- const _hoisted_1$7 = { class: "red" };
2796
+ const _hoisted_1$5 = { class: "red" };
2527
2797
  function _sfc_render$k(_ctx, _cache, $props, $setup, $data, $options) {
2528
- return openBlock(), createElementBlock("div", _hoisted_1$7, toDisplayString(_ctx.text), 1);
2798
+ return openBlock(), createElementBlock("div", _hoisted_1$5, toDisplayString(_ctx.text), 1);
2529
2799
  }
2530
2800
  var ScrollText = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["render", _sfc_render$k], ["__scopeId", "data-v-0bb717eb"]]);
2531
2801
  const EcanScrollText = withInstall(ScrollText);
@@ -2620,10 +2890,10 @@ const listProps = __spreadProps(__spreadValues({}, props), {
2620
2890
  });
2621
2891
  const listComponentProps = transformToComponentProps(listProps);
2622
2892
  const listEvents = ["refreshData", "click"];
2623
- var List_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.ecan-list[data-v-766e4cb3] {
2893
+ var List_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.ecan-list[data-v-461dbe78] {
2624
2894
  overflow: hidden;
2625
2895
  }
2626
- .ecan-list-content[data-v-766e4cb3] {
2896
+ .ecan-list-content[data-v-461dbe78] {
2627
2897
  width: 100%;
2628
2898
  height: 100%;
2629
2899
  overflow: auto;
@@ -2631,7 +2901,7 @@ var List_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.
2631
2901
  align-content: flex-start;
2632
2902
  flex-wrap: wrap;
2633
2903
  }
2634
- .title[data-v-766e4cb3] {
2904
+ .title[data-v-461dbe78] {
2635
2905
  position: absolute;
2636
2906
  z-index: 9;
2637
2907
  display: flex;
@@ -2641,18 +2911,18 @@ var List_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.
2641
2911
  font-size: 16px;
2642
2912
  color: #ffffff;
2643
2913
  }
2644
- .title-inner[data-v-766e4cb3] {
2914
+ .title-inner[data-v-461dbe78] {
2645
2915
  padding-left: 28px;
2646
2916
  padding-right: 20px;
2647
2917
  flex: 1;
2648
2918
  display: flex;
2649
2919
  height: 100%;
2650
2920
  }
2651
- .title-placeholder[data-v-766e4cb3] {
2921
+ .title-placeholder[data-v-461dbe78] {
2652
2922
  width: 100%;
2653
2923
  height: 32px;
2654
2924
  }
2655
- .item[data-v-766e4cb3] {
2925
+ .item[data-v-461dbe78] {
2656
2926
  display: flex;
2657
2927
  align-items: center;
2658
2928
  height: 32px;
@@ -2662,13 +2932,13 @@ var List_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.
2662
2932
  font-size: 16px;
2663
2933
  color: #ffffff;
2664
2934
  }
2665
- .column[data-v-766e4cb3] {
2935
+ .column[data-v-461dbe78] {
2666
2936
  flex: 1;
2667
2937
  overflow: hidden;
2668
2938
  text-overflow: ellipsis;
2669
2939
  white-space: nowrap;
2670
2940
  }
2671
- .ranking[data-v-766e4cb3] {
2941
+ .ranking[data-v-461dbe78] {
2672
2942
  flex: 1;
2673
2943
  display: flex;
2674
2944
  align-items: center;
@@ -2677,28 +2947,28 @@ var List_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.
2677
2947
  text-overflow: ellipsis;
2678
2948
  white-space: nowrap;
2679
2949
  }
2680
- .icon[data-v-766e4cb3] {
2950
+ .icon[data-v-461dbe78] {
2681
2951
  width: 12px;
2682
2952
  height: 8px;
2683
2953
  background: #21BEF7;
2684
2954
  margin-right: 17px;
2685
2955
  opacity: 0.6;
2686
2956
  }
2687
- .item:nth-child(2) .icon[data-v-766e4cb3] {
2957
+ .item:nth-child(2) .icon[data-v-461dbe78] {
2688
2958
  opacity: 0.8;
2689
2959
  }
2690
- .item:first-child .icon[data-v-766e4cb3] {
2960
+ .item:first-child .icon[data-v-461dbe78] {
2691
2961
  opacity: 1;
2692
2962
  }
2693
- .sort[data-v-766e4cb3] {
2963
+ .sort[data-v-461dbe78] {
2694
2964
  font-weight: 600;
2695
2965
  }
2696
- .goUp[data-v-766e4cb3] {
2966
+ .goUp[data-v-461dbe78] {
2697
2967
  color: #FF512E;
2698
2968
  display: flex;
2699
2969
  align-items: center;
2700
2970
  }
2701
- .goUp[data-v-766e4cb3]:before {
2971
+ .goUp[data-v-461dbe78]:before {
2702
2972
  content: '';
2703
2973
  display: block;
2704
2974
  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=");
@@ -2708,12 +2978,12 @@ var List_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.
2708
2978
  background-size: cover;
2709
2979
  margin-right: 2px;
2710
2980
  }
2711
- .goDown[data-v-766e4cb3] {
2981
+ .goDown[data-v-461dbe78] {
2712
2982
  color: #00F7B4;
2713
2983
  display: flex;
2714
2984
  align-items: center;
2715
2985
  }
2716
- .goDown[data-v-766e4cb3]:before {
2986
+ .goDown[data-v-461dbe78]:before {
2717
2987
  content: '';
2718
2988
  display: block;
2719
2989
  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=");
@@ -2723,7 +2993,7 @@ var List_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.
2723
2993
  background-size: cover;
2724
2994
  margin-right: 2px;
2725
2995
  }
2726
- .empty[data-v-766e4cb3] {
2996
+ .empty[data-v-461dbe78] {
2727
2997
  text-align: center;
2728
2998
  margin-top: 15%;
2729
2999
  }
@@ -2812,12 +3082,12 @@ const _sfc_main$i = defineComponent({
2812
3082
  };
2813
3083
  }
2814
3084
  });
2815
- const _withScopeId$1 = (n) => (pushScopeId("data-v-766e4cb3"), n = n(), popScopeId(), n);
2816
- const _hoisted_1$6 = {
3085
+ const _withScopeId$2 = (n) => (pushScopeId("data-v-461dbe78"), n = n(), popScopeId(), n);
3086
+ const _hoisted_1$4 = {
2817
3087
  key: 0,
2818
3088
  class: "title"
2819
3089
  };
2820
- const _hoisted_2$1 = {
3090
+ const _hoisted_2$2 = {
2821
3091
  key: 0,
2822
3092
  class: "ranking"
2823
3093
  };
@@ -2829,7 +3099,7 @@ const _hoisted_4$1 = {
2829
3099
  key: 0,
2830
3100
  class: "ranking"
2831
3101
  };
2832
- const _hoisted_5$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("div", { class: "icon" }, null, -1));
3102
+ const _hoisted_5$1 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("div", { class: "icon" }, null, -1));
2833
3103
  const _hoisted_6$1 = { class: "sort" };
2834
3104
  const _hoisted_7$1 = {
2835
3105
  key: 2,
@@ -2843,7 +3113,7 @@ function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {
2843
3113
  }, [
2844
3114
  createVNode(_component_skeleton, { loading: _ctx.loading }, {
2845
3115
  default: withCtx(() => [
2846
- _ctx.useTitle ? (openBlock(), createElementBlock("div", _hoisted_1$6, [
3116
+ _ctx.useTitle ? (openBlock(), createElementBlock("div", _hoisted_1$4, [
2847
3117
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.columnCount, (count) => {
2848
3118
  return openBlock(), createElementBlock("div", {
2849
3119
  class: "title-inner",
@@ -2855,7 +3125,7 @@ function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {
2855
3125
  }),
2856
3126
  key: count
2857
3127
  }, [
2858
- _ctx.useRanking ? (openBlock(), createElementBlock("div", _hoisted_2$1)) : createCommentVNode("", true),
3128
+ _ctx.useRanking ? (openBlock(), createElementBlock("div", _hoisted_2$2)) : createCommentVNode("", true),
2859
3129
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.columns, (column, i) => {
2860
3130
  return openBlock(), createElementBlock("div", {
2861
3131
  class: "column",
@@ -2912,7 +3182,7 @@ function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {
2912
3182
  }, 8, ["loading"])
2913
3183
  ], 4);
2914
3184
  }
2915
- var List = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["render", _sfc_render$i], ["__scopeId", "data-v-766e4cb3"]]);
3185
+ var List = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["render", _sfc_render$i], ["__scopeId", "data-v-461dbe78"]]);
2916
3186
  const EcanList = withInstall(List);
2917
3187
  const proportionProps = __spreadProps(__spreadValues({}, props), {
2918
3188
  name: "\u5360\u6BD4\u56FE",
@@ -2937,7 +3207,7 @@ const proportionProps = __spreadProps(__spreadValues({}, props), {
2937
3207
  });
2938
3208
  const proportionComponentProps = transformToComponentProps(proportionProps);
2939
3209
  const proportionEvents = ["refreshData", "click"];
2940
- 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")();
3210
+ 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")();
2941
3211
  const _sfc_main$h = defineComponent({
2942
3212
  name: "EcanProportion",
2943
3213
  components: {
@@ -3070,7 +3340,7 @@ function _sfc_render$h(_ctx, _cache, $props, $setup, $data, $options) {
3070
3340
  }, 8, ["percent", "width", "type", "strokeColor", "strokeLinecap", "trailColor", "strokeWidth", "gapDegree", "onClick"])
3071
3341
  ], 4);
3072
3342
  }
3073
- var Proportion = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", _sfc_render$h], ["__scopeId", "data-v-1a10ace9"]]);
3343
+ var Proportion = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", _sfc_render$h], ["__scopeId", "data-v-02b500fa"]]);
3074
3344
  const EcanProportion = withInstall(Proportion);
3075
3345
  const inputProps = __spreadProps(__spreadValues({}, props), {
3076
3346
  width: "200px",
@@ -3201,7 +3471,7 @@ const selectProps = __spreadProps(__spreadValues({}, props), {
3201
3471
  });
3202
3472
  const selectComponentProps = transformToComponentProps(selectProps);
3203
3473
  const selectEvents = ["selectChange"];
3204
- 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")();
3474
+ 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")();
3205
3475
  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")();
3206
3476
  const _sfc_main$e = defineComponent({
3207
3477
  name: "EcanSelect",
@@ -3272,7 +3542,7 @@ function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {
3272
3542
  }, null, 8, ["value", "options", "getPopupContainer", "field-names", "onChange"])
3273
3543
  ], 4);
3274
3544
  }
3275
- var Select = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["render", _sfc_render$e], ["__scopeId", "data-v-2a771bb2"]]);
3545
+ var Select = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["render", _sfc_render$e], ["__scopeId", "data-v-d70a9a94"]]);
3276
3546
  const EcanSelect = withInstall(Select);
3277
3547
  const rangePickerProps = __spreadProps(__spreadValues({}, props), {
3278
3548
  name: "\u8303\u56F4\u9009\u62E9\u5668",
@@ -3287,7 +3557,7 @@ const rangePickerProps = __spreadProps(__spreadValues({}, props), {
3287
3557
  });
3288
3558
  const rangePickerComponentProps = transformToComponentProps(rangePickerProps);
3289
3559
  const rangePickerEvents = ["dateChange"];
3290
- 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")();
3560
+ 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")();
3291
3561
  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")();
3292
3562
  const _sfc_main$d = defineComponent({
3293
3563
  name: "EcanRangePicker",
@@ -3352,17 +3622,23 @@ function _sfc_render$d(_ctx, _cache, $props, $setup, $data, $options) {
3352
3622
  }, null, 8, ["value", "format", "picker", "locale", "getPopupContainer", "onChange"])
3353
3623
  ], 4);
3354
3624
  }
3355
- var RangePicker = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["render", _sfc_render$d], ["__scopeId", "data-v-11b582ae"]]);
3625
+ var RangePicker = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["render", _sfc_render$d], ["__scopeId", "data-v-61322f3d"]]);
3356
3626
  const EcanRangePicker = withInstall(RangePicker);
3357
3627
  const buttonProps = __spreadProps(__spreadValues({}, props), {
3358
3628
  width: "200px",
3359
3629
  name: "\u6309\u94AE",
3360
3630
  keyName: "\u6309\u94AE",
3361
- type: "ecanButton"
3631
+ type: "ecanButton",
3632
+ text: "\u6309\u94AE",
3633
+ mode: "default",
3634
+ danger: false,
3635
+ shape: "default",
3636
+ href: "",
3637
+ target: "_self"
3362
3638
  });
3363
3639
  const buttonComponentProps = transformToComponentProps(buttonProps);
3364
3640
  const buttonEvents = ["click"];
3365
- var Button_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".button[data-v-f60a3514] {\n width: 100%;\n height: 100%;\n}\n")();
3641
+ var Button_vue_vue_type_style_index_0_lang = /* @__PURE__ */ (() => ".ecan-button .ant-btn {\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n")();
3366
3642
  const _sfc_main$c = defineComponent({
3367
3643
  name: "EcanButton",
3368
3644
  components: {
@@ -3374,32 +3650,46 @@ const _sfc_main$c = defineComponent({
3374
3650
  const events = props2.events;
3375
3651
  const emitEvent = useEmitEvent(events);
3376
3652
  const click = emitEvent("click");
3653
+ const myText = computed(() => useVariablesInText(props2.text));
3654
+ const myHref = computed(() => {
3655
+ const href = props2.href;
3656
+ if (href) {
3657
+ return useVariablesInText(href);
3658
+ }
3659
+ return void 0;
3660
+ });
3377
3661
  return {
3378
3662
  style: style2,
3379
- click
3663
+ click,
3664
+ myText,
3665
+ myHref
3380
3666
  };
3381
3667
  }
3382
3668
  });
3383
- const _hoisted_1$5 = /* @__PURE__ */ createTextVNode(" \u6D4B\u8BD5 ");
3384
3669
  function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
3385
3670
  const _component_a_button = resolveComponent("a-button");
3386
3671
  return openBlock(), createElementBlock("div", {
3387
- class: "ecan-input",
3672
+ class: "ecan-button",
3388
3673
  style: normalizeStyle(_ctx.style)
3389
3674
  }, [
3390
3675
  createVNode(_component_a_button, {
3391
- class: "button",
3392
3676
  block: "",
3393
- onClick: _ctx.click
3677
+ onClick: _ctx.click,
3678
+ type: _ctx.mode,
3679
+ danger: _ctx.danger,
3680
+ ghost: _ctx.ghost,
3681
+ shape: _ctx.shape,
3682
+ href: _ctx.myHref,
3683
+ target: _ctx.target
3394
3684
  }, {
3395
3685
  default: withCtx(() => [
3396
- _hoisted_1$5
3686
+ createTextVNode(toDisplayString(_ctx.myText), 1)
3397
3687
  ]),
3398
3688
  _: 1
3399
- }, 8, ["onClick"])
3689
+ }, 8, ["onClick", "type", "danger", "ghost", "shape", "href", "target"])
3400
3690
  ], 4);
3401
3691
  }
3402
- var Button = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["render", _sfc_render$c], ["__scopeId", "data-v-f60a3514"]]);
3692
+ var Button = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["render", _sfc_render$c]]);
3403
3693
  const EcanButton = withInstall(Button);
3404
3694
  const tabsProps = __spreadProps(__spreadValues({}, props), {
3405
3695
  type: "ecanTabs",
@@ -3413,7 +3703,10 @@ const tabsProps = __spreadProps(__spreadValues({}, props), {
3413
3703
  activeTabBackgroundImage: "",
3414
3704
  tabColor: "#333",
3415
3705
  tabBarGutter: "0px",
3706
+ tabHeight: "30px",
3416
3707
  value: "",
3708
+ activeKey: 0,
3709
+ contains: [],
3417
3710
  data: [
3418
3711
  {
3419
3712
  title: "\u6807\u7B7E1"
@@ -3428,7 +3721,7 @@ const tabsProps = __spreadProps(__spreadValues({}, props), {
3428
3721
  });
3429
3722
  const tabsComponentProps = transformToComponentProps(tabsProps);
3430
3723
  const tabsEvents = ["tabChange"];
3431
- 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")();
3724
+ var Tabs_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".ecan-tabs[data-v-27b19b45] {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n.tabs-header[data-v-27b19b45] {\n color: #333333;\n display: flex;\n width: 100%;\n}\n.tab[data-v-27b19b45] {\n display: flex;\n flex: 1;\n justify-content: center;\n align-items: center;\n background-size: 100% 100%;\n background-repeat: no-repeat;\n}\n.tab[data-v-27b19b45]:last-child {\n margin-right: 0 !important;\n}\n.tabs-content[data-v-27b19b45] {\n flex: 1;\n}\n")();
3432
3725
  const _sfc_main$b = defineComponent({
3433
3726
  name: "EcanTabs",
3434
3727
  props: __spreadValues({}, tabsComponentProps),
@@ -3436,20 +3729,32 @@ const _sfc_main$b = defineComponent({
3436
3729
  var _a2;
3437
3730
  const style2 = usePickComponentStyle(props2);
3438
3731
  const activeKey = ref(0);
3732
+ watch(() => props2.activeKey, (key) => {
3733
+ activeKey.value = key;
3734
+ }, {
3735
+ immediate: true
3736
+ });
3439
3737
  const myData = ref(props2.data);
3440
3738
  const isActive = (index2) => activeKey.value === index2;
3441
3739
  const myValue = ref(props2.value || unref(myData)[0] && ((_a2 = unref(myData)[0]) == null ? void 0 : _a2.value) || "");
3442
3740
  const events = props2.events;
3443
3741
  const emitEvent = useEmitEvent(events);
3444
- const tabChange = emitEvent("tabChange", (tab, index2) => {
3445
- myValue.value = (tab == null ? void 0 : tab.value) || "";
3446
- activeKey.value = index2;
3447
- });
3448
3742
  const { setGlobalModel } = inject(GLOBAL_MODEL, {
3449
3743
  setGlobalModel: (key, value) => void 0
3450
3744
  });
3451
3745
  setGlobalModel(props2.id, {
3452
- value: myValue
3746
+ value: myValue,
3747
+ activeKey
3748
+ });
3749
+ const { emitRefreshPage } = inject(REFRESH_PAGE, {
3750
+ emitRefreshPage: () => void 0
3751
+ });
3752
+ const tabChange = emitEvent("tabChange", (tab, index2) => {
3753
+ if (index2 !== unref(activeKey)) {
3754
+ myValue.value = (tab == null ? void 0 : tab.value) || "";
3755
+ activeKey.value = index2;
3756
+ emitRefreshPage();
3757
+ }
3453
3758
  });
3454
3759
  useOnEvent(props2, {
3455
3760
  tabChange
@@ -3464,28 +3769,38 @@ const _sfc_main$b = defineComponent({
3464
3769
  };
3465
3770
  }
3466
3771
  });
3467
- const _hoisted_1$4 = ["onClick"];
3772
+ const _withScopeId$1 = (n) => (pushScopeId("data-v-27b19b45"), n = n(), popScopeId(), n);
3773
+ const _hoisted_1$3 = ["onClick"];
3774
+ const _hoisted_2$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("div", { class: "tabs-content" }, null, -1));
3468
3775
  function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
3469
3776
  return openBlock(), createElementBlock("div", {
3470
3777
  class: "ecan-tabs",
3471
3778
  style: normalizeStyle(_ctx.style)
3472
3779
  }, [
3473
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.myData, (tab, index2) => {
3474
- return openBlock(), createElementBlock("div", {
3475
- class: normalizeClass(["tab"]),
3476
- style: normalizeStyle({
3477
- color: _ctx.isActive(index2) ? _ctx.activeTabColor : _ctx.tabColor,
3478
- backgroundImage: _ctx.isActive(index2) ? _ctx.useImagePath(_ctx.activeTabBackgroundImage, true) : _ctx.useImagePath(_ctx.tabBackgroundImage, true),
3479
- marginRight: _ctx.tabBarGutter,
3480
- fontSize: _ctx.tabFontSize
3481
- }),
3482
- key: index2,
3483
- onClick: ($event) => _ctx.tabChange(tab, index2)
3484
- }, toDisplayString(tab.title), 13, _hoisted_1$4);
3485
- }), 128))
3780
+ createElementVNode("div", {
3781
+ class: "tabs-header",
3782
+ style: normalizeStyle({
3783
+ fontSize: _ctx.tabFontSize
3784
+ })
3785
+ }, [
3786
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.myData, (tab, index2) => {
3787
+ return openBlock(), createElementBlock("div", {
3788
+ class: "tab",
3789
+ style: normalizeStyle({
3790
+ color: _ctx.isActive(index2) ? _ctx.activeTabColor : _ctx.tabColor,
3791
+ backgroundImage: _ctx.isActive(index2) ? _ctx.useImagePath(_ctx.activeTabBackgroundImage, true) : _ctx.useImagePath(_ctx.tabBackgroundImage, true),
3792
+ marginRight: _ctx.tabBarGutter,
3793
+ height: _ctx.tabHeight
3794
+ }),
3795
+ key: index2,
3796
+ onClick: withModifiers(($event) => _ctx.tabChange(tab, index2), ["stop"])
3797
+ }, toDisplayString(tab.title), 13, _hoisted_1$3);
3798
+ }), 128))
3799
+ ], 4),
3800
+ _hoisted_2$1
3486
3801
  ], 4);
3487
3802
  }
3488
- var Tabs = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$b], ["__scopeId", "data-v-2e2bded0"]]);
3803
+ var Tabs = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$b], ["__scopeId", "data-v-27b19b45"]]);
3489
3804
  const EcanTabs = withInstall(Tabs);
3490
3805
  const pieProps = __spreadProps(__spreadValues({}, props), {
3491
3806
  id: "",
@@ -3537,14 +3852,43 @@ const pieProps = __spreadProps(__spreadValues({}, props), {
3537
3852
  gridBottom: "10%",
3538
3853
  gridLeft: "2%",
3539
3854
  gridRight: "2%",
3540
- graphicConfig: {}
3855
+ graphicConfig: {},
3856
+ toolboxShow: false,
3857
+ toolboxOrient: "horizontal",
3858
+ toolboxItemSize: 16,
3859
+ toolboxItemGap: 8,
3860
+ toolboxLeft: "right",
3861
+ toolboxTop: "top",
3862
+ toolboxIconStyleBorderColor: "#666",
3863
+ toolboxDownloadUrl: "",
3864
+ toolboxInfoText: "\u5F53\u524D\u65E0\u8BF4\u660E\u4FE1\u606F"
3541
3865
  });
3542
3866
  const pieComponentProps = transformToComponentProps(pieProps);
3543
3867
  const pieEvents = ["click", "refreshData"];
3868
+ const useDownloadFile = async (downloadFileUrl) => {
3869
+ var _a2;
3870
+ const res = await request.post(downloadFileUrl, {}, {
3871
+ responseType: "blob"
3872
+ });
3873
+ const { data, headers } = res;
3874
+ const fileName = headers["content-disposition"].replace(/\w+;filename=(.*)/, "$1");
3875
+ const blob = new Blob([data]);
3876
+ const dom = document.createElement("a");
3877
+ const url = window.URL.createObjectURL(blob);
3878
+ dom.href = url;
3879
+ dom.download = decodeURI(fileName);
3880
+ dom.style.display = "none";
3881
+ document.body.appendChild(dom);
3882
+ dom.click();
3883
+ (_a2 = dom.parentNode) == null ? void 0 : _a2.removeChild(dom);
3884
+ window.URL.revokeObjectURL(url);
3885
+ };
3886
+ 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")();
3544
3887
  use([
3545
3888
  CanvasRenderer,
3546
3889
  PieChart,
3547
3890
  TitleComponent,
3891
+ ToolboxComponent,
3548
3892
  TooltipComponent,
3549
3893
  LegendComponent
3550
3894
  ]);
@@ -3553,11 +3897,16 @@ const _sfc_main$a = defineComponent({
3553
3897
  props: __spreadValues({}, pieComponentProps),
3554
3898
  components: {
3555
3899
  Spin,
3556
- Echarts
3900
+ Echarts,
3901
+ AModal: Modal$1
3557
3902
  },
3558
3903
  setup(props2) {
3559
3904
  const style2 = usePickComponentStyle(props2);
3560
3905
  const dataset = ref([]);
3906
+ const visible = ref(false);
3907
+ const hideModal = () => {
3908
+ visible.value = false;
3909
+ };
3561
3910
  const option = computed(() => {
3562
3911
  let { data = [] } = unref(dataset)[0] || {};
3563
3912
  if (Array.isArray(props2.colors)) {
@@ -3568,6 +3917,42 @@ const _sfc_main$a = defineComponent({
3568
3917
  }, item));
3569
3918
  }
3570
3919
  return {
3920
+ toolbox: {
3921
+ show: props2.toolboxShow,
3922
+ left: props2.toolboxLeft,
3923
+ top: props2.toolboxTop,
3924
+ itemSize: props2.toolboxItemSize,
3925
+ itemGap: props2.toolboxItemGap,
3926
+ feature: {
3927
+ myDownload: {
3928
+ show: true,
3929
+ title: "\u6570\u636E\u4E0B\u8F7D",
3930
+ 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",
3931
+ onclick() {
3932
+ useDownloadFile(props2.toolboxDownloadUrl);
3933
+ }
3934
+ },
3935
+ myDataZoom: {
3936
+ show: true,
3937
+ title: "\u653E\u5927",
3938
+ 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",
3939
+ onclick() {
3940
+ visible.value = true;
3941
+ }
3942
+ },
3943
+ myInfo: {
3944
+ show: true,
3945
+ title: "\u8BF4\u660E\u4FE1\u606F",
3946
+ 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",
3947
+ onclick() {
3948
+ Modal$1.info({
3949
+ title: "\u8BF4\u660E\u4FE1\u606F",
3950
+ content: props2.toolboxInfoText
3951
+ });
3952
+ }
3953
+ }
3954
+ }
3955
+ },
3571
3956
  title: {
3572
3957
  text: props2.titleText,
3573
3958
  subtext: props2.titleSubtext,
@@ -3722,13 +4107,16 @@ const _sfc_main$a = defineComponent({
3722
4107
  option,
3723
4108
  style: style2,
3724
4109
  click,
3725
- loading
4110
+ loading,
4111
+ visible,
4112
+ hideModal
3726
4113
  };
3727
4114
  }
3728
4115
  });
3729
4116
  function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
3730
4117
  const _component_echarts = resolveComponent("echarts");
3731
4118
  const _component_spin = resolveComponent("spin");
4119
+ const _component_a_modal = resolveComponent("a-modal");
3732
4120
  return openBlock(), createElementBlock("div", {
3733
4121
  style: normalizeStyle(_ctx.style)
3734
4122
  }, [
@@ -3741,7 +4129,28 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
3741
4129
  }, null, 8, ["option", "onClick"])
3742
4130
  ]),
3743
4131
  _: 1
3744
- }, 8, ["spinning"])
4132
+ }, 8, ["spinning"]),
4133
+ createVNode(_component_a_modal, {
4134
+ "wrap-class-name": "full-modal",
4135
+ width: "100%",
4136
+ visible: _ctx.visible,
4137
+ footer: null,
4138
+ onCancel: _ctx.hideModal
4139
+ }, {
4140
+ default: withCtx(() => [
4141
+ createVNode(_component_spin, { spinning: _ctx.loading }, {
4142
+ default: withCtx(() => [
4143
+ createVNode(_component_echarts, {
4144
+ option: _ctx.option,
4145
+ "update-options": { notMerge: true },
4146
+ autoresize: ""
4147
+ }, null, 8, ["option"])
4148
+ ]),
4149
+ _: 1
4150
+ }, 8, ["spinning"])
4151
+ ]),
4152
+ _: 1
4153
+ }, 8, ["visible", "onCancel"])
3745
4154
  ], 4);
3746
4155
  }
3747
4156
  var Pie = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["render", _sfc_render$a]]);
@@ -3792,13 +4201,24 @@ const lineProps = __spreadProps(__spreadValues({}, props), {
3792
4201
  valueTypeDataFieldNames: { name: "name", value: "value", type: "type" },
3793
4202
  keyTypeDataFieldNames: { name: "name", types: [] },
3794
4203
  dataFieldConfigType: "value",
3795
- graphicConfig: {}
4204
+ graphicConfig: {},
4205
+ toolboxShow: false,
4206
+ toolboxOrient: "horizontal",
4207
+ toolboxItemSize: 16,
4208
+ toolboxItemGap: 8,
4209
+ toolboxLeft: "right",
4210
+ toolboxTop: "top",
4211
+ toolboxIconStyleBorderColor: "#666",
4212
+ toolboxDownloadUrl: "",
4213
+ toolboxInfoText: "\u5F53\u524D\u65E0\u8BF4\u660E\u4FE1\u606F"
3796
4214
  });
3797
4215
  const lineComponentProps = transformToComponentProps(lineProps);
3798
4216
  const lineEvents = ["click", "refreshData"];
4217
+ 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")();
3799
4218
  use([
3800
4219
  CanvasRenderer,
3801
4220
  LineChart,
4221
+ ToolboxComponent,
3802
4222
  TitleComponent,
3803
4223
  LegendComponent
3804
4224
  ]);
@@ -3807,13 +4227,54 @@ const _sfc_main$9 = defineComponent({
3807
4227
  props: __spreadValues({}, lineComponentProps),
3808
4228
  components: {
3809
4229
  Spin,
3810
- Echarts
4230
+ Echarts,
4231
+ AModal: Modal$1
3811
4232
  },
3812
4233
  setup(props2) {
3813
4234
  const style2 = usePickComponentStyle(props2);
3814
4235
  const series = ref([]);
3815
4236
  const dimensions = ref([]);
4237
+ const visible = ref(false);
4238
+ const hideModal = () => {
4239
+ visible.value = false;
4240
+ };
3816
4241
  const option = computed(() => ({
4242
+ toolbox: {
4243
+ show: props2.toolboxShow,
4244
+ left: props2.toolboxLeft,
4245
+ top: props2.toolboxTop,
4246
+ itemSize: props2.toolboxItemSize,
4247
+ itemGap: props2.toolboxItemGap,
4248
+ feature: {
4249
+ myDownload: {
4250
+ show: true,
4251
+ title: "\u6570\u636E\u4E0B\u8F7D",
4252
+ 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",
4253
+ onclick() {
4254
+ useDownloadFile(props2.toolboxDownloadUrl);
4255
+ }
4256
+ },
4257
+ myDataZoom: {
4258
+ show: true,
4259
+ title: "\u653E\u5927",
4260
+ 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",
4261
+ onclick() {
4262
+ visible.value = true;
4263
+ }
4264
+ },
4265
+ myInfo: {
4266
+ show: true,
4267
+ title: "\u8BF4\u660E\u4FE1\u606F",
4268
+ 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",
4269
+ onclick() {
4270
+ Modal$1.info({
4271
+ title: "\u8BF4\u660E\u4FE1\u606F",
4272
+ content: props2.toolboxInfoText
4273
+ });
4274
+ }
4275
+ }
4276
+ }
4277
+ },
3817
4278
  title: {
3818
4279
  text: props2.titleText,
3819
4280
  subText: props2.titleSubtext,
@@ -4007,13 +4468,16 @@ const _sfc_main$9 = defineComponent({
4007
4468
  option,
4008
4469
  style: style2,
4009
4470
  click,
4010
- loading
4471
+ loading,
4472
+ visible,
4473
+ hideModal
4011
4474
  };
4012
4475
  }
4013
4476
  });
4014
4477
  function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
4015
4478
  const _component_echarts = resolveComponent("echarts");
4016
4479
  const _component_spin = resolveComponent("spin");
4480
+ const _component_a_modal = resolveComponent("a-modal");
4017
4481
  return openBlock(), createElementBlock("div", {
4018
4482
  style: normalizeStyle(_ctx.style)
4019
4483
  }, [
@@ -4026,7 +4490,28 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
4026
4490
  }, null, 8, ["option", "onClick"])
4027
4491
  ]),
4028
4492
  _: 1
4029
- }, 8, ["spinning"])
4493
+ }, 8, ["spinning"]),
4494
+ createVNode(_component_a_modal, {
4495
+ "wrap-class-name": "full-modal",
4496
+ width: "100%",
4497
+ visible: _ctx.visible,
4498
+ footer: null,
4499
+ onCancel: _ctx.hideModal
4500
+ }, {
4501
+ default: withCtx(() => [
4502
+ createVNode(_component_spin, { spinning: _ctx.loading }, {
4503
+ default: withCtx(() => [
4504
+ createVNode(_component_echarts, {
4505
+ option: _ctx.option,
4506
+ "update-options": { notMerge: true },
4507
+ autoresize: ""
4508
+ }, null, 8, ["option"])
4509
+ ]),
4510
+ _: 1
4511
+ }, 8, ["spinning"])
4512
+ ]),
4513
+ _: 1
4514
+ }, 8, ["visible", "onCancel"])
4030
4515
  ], 4);
4031
4516
  }
4032
4517
  var Line = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["render", _sfc_render$9]]);
@@ -4090,11 +4575,11 @@ const barProps = __spreadProps(__spreadValues({}, props), {
4090
4575
  gridLeft: "2%",
4091
4576
  gridRight: "2%",
4092
4577
  graphicConfig: {
4093
- chartType: "pie",
4578
+ chartType: "bar",
4094
4579
  plugin: "1",
4095
4580
  layer: "2"
4096
4581
  },
4097
- toolboxShow: true,
4582
+ toolboxShow: false,
4098
4583
  toolboxOrient: "horizontal",
4099
4584
  toolboxItemSize: 16,
4100
4585
  toolboxItemGap: 8,
@@ -4106,25 +4591,7 @@ const barProps = __spreadProps(__spreadValues({}, props), {
4106
4591
  });
4107
4592
  const barComponentProps = transformToComponentProps(barProps);
4108
4593
  const barEvents = ["refreshData", "click"];
4109
- const useDownloadFile = async (downloadFileUrl) => {
4110
- var _a2;
4111
- const res = await request.post(downloadFileUrl, {}, {
4112
- responseType: "blob"
4113
- });
4114
- const { data, headers } = res;
4115
- const fileName = headers["content-disposition"].replace(/\w+;filename=(.*)/, "$1");
4116
- const blob = new Blob([data]);
4117
- const dom = document.createElement("a");
4118
- const url = window.URL.createObjectURL(blob);
4119
- dom.href = url;
4120
- dom.download = decodeURI(fileName);
4121
- dom.style.display = "none";
4122
- document.body.appendChild(dom);
4123
- dom.click();
4124
- (_a2 = dom.parentNode) == null ? void 0 : _a2.removeChild(dom);
4125
- window.URL.revokeObjectURL(url);
4126
- };
4127
- 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")();
4594
+ 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")();
4128
4595
  use([
4129
4596
  CanvasRenderer,
4130
4597
  BarChart,
@@ -4314,12 +4781,12 @@ const _sfc_main$8 = defineComponent({
4314
4781
  loading.value = false;
4315
4782
  }
4316
4783
  };
4317
- const requestDiagram = useRequestDiagramData(props2);
4784
+ const indicatorData = useIndicatorData(props2);
4318
4785
  const handleIndicatorData = async () => {
4319
4786
  var _a2, _b2;
4320
4787
  try {
4321
4788
  loading.value = true;
4322
- const res = await requestDiagram();
4789
+ const res = await indicatorData();
4323
4790
  const { columns = [], rows = [] } = (_b2 = (_a2 = res == null ? void 0 : res.data) == null ? void 0 : _a2.data) != null ? _b2 : {};
4324
4791
  let fieldNames;
4325
4792
  if (columns.length > 0) {
@@ -4383,7 +4850,6 @@ const _sfc_main$8 = defineComponent({
4383
4850
  };
4384
4851
  }
4385
4852
  });
4386
- const _hoisted_1$3 = { class: "modal-inner" };
4387
4853
  function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
4388
4854
  const _component_echarts = resolveComponent("echarts");
4389
4855
  const _component_spin = resolveComponent("spin");
@@ -4411,18 +4877,16 @@ function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
4411
4877
  onCancel: _ctx.hideModal
4412
4878
  }, {
4413
4879
  default: withCtx(() => [
4414
- createElementVNode("div", _hoisted_1$3, [
4415
- createVNode(_component_spin, { spinning: _ctx.loading }, {
4416
- default: withCtx(() => [
4417
- createVNode(_component_echarts, {
4418
- option: _ctx.option,
4419
- "update-options": { notMerge: true },
4420
- autoresize: ""
4421
- }, null, 8, ["option"])
4422
- ]),
4423
- _: 1
4424
- }, 8, ["spinning"])
4425
- ])
4880
+ createVNode(_component_spin, { spinning: _ctx.loading }, {
4881
+ default: withCtx(() => [
4882
+ createVNode(_component_echarts, {
4883
+ option: _ctx.option,
4884
+ "update-options": { notMerge: true },
4885
+ autoresize: ""
4886
+ }, null, 8, ["option"])
4887
+ ]),
4888
+ _: 1
4889
+ }, 8, ["spinning"])
4426
4890
  ]),
4427
4891
  _: 1
4428
4892
  }, 8, ["visible", "onCancel"])
@@ -4472,13 +4936,24 @@ const scatterProps = __spreadProps(__spreadValues({}, props), {
4472
4936
  gridBottom: "10%",
4473
4937
  gridLeft: "2%",
4474
4938
  gridRight: "2%",
4475
- graphicConfig: void 0
4939
+ graphicConfig: void 0,
4940
+ toolboxShow: false,
4941
+ toolboxOrient: "horizontal",
4942
+ toolboxItemSize: 16,
4943
+ toolboxItemGap: 8,
4944
+ toolboxLeft: "right",
4945
+ toolboxTop: "top",
4946
+ toolboxIconStyleBorderColor: "#666",
4947
+ toolboxDownloadUrl: "",
4948
+ toolboxInfoText: "\u5F53\u524D\u65E0\u8BF4\u660E\u4FE1\u606F"
4476
4949
  });
4477
4950
  const scatterComponentProps = transformToComponentProps(scatterProps);
4478
4951
  const scatterEvents = ["click", "refreshData"];
4952
+ 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")();
4479
4953
  use([
4480
4954
  CanvasRenderer,
4481
4955
  ScatterChart,
4956
+ ToolboxComponent,
4482
4957
  TitleComponent,
4483
4958
  TooltipComponent,
4484
4959
  LegendComponent
@@ -4493,7 +4968,47 @@ const _sfc_main$7 = defineComponent({
4493
4968
  setup(props2) {
4494
4969
  const style2 = usePickComponentStyle(props2);
4495
4970
  const dataset = ref([]);
4971
+ const visible = ref(false);
4972
+ const hideModal = () => {
4973
+ visible.value = false;
4974
+ };
4496
4975
  const option = computed(() => ({
4976
+ toolbox: {
4977
+ show: props2.toolboxShow,
4978
+ left: props2.toolboxLeft,
4979
+ top: props2.toolboxTop,
4980
+ itemSize: props2.toolboxItemSize,
4981
+ itemGap: props2.toolboxItemGap,
4982
+ feature: {
4983
+ myDownload: {
4984
+ show: true,
4985
+ title: "\u6570\u636E\u4E0B\u8F7D",
4986
+ 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",
4987
+ onclick() {
4988
+ useDownloadFile(props2.toolboxDownloadUrl);
4989
+ }
4990
+ },
4991
+ myDataZoom: {
4992
+ show: true,
4993
+ title: "\u653E\u5927",
4994
+ 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",
4995
+ onclick() {
4996
+ visible.value = true;
4997
+ }
4998
+ },
4999
+ myInfo: {
5000
+ show: true,
5001
+ title: "\u8BF4\u660E\u4FE1\u606F",
5002
+ 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",
5003
+ onclick() {
5004
+ Modal$1.info({
5005
+ title: "\u8BF4\u660E\u4FE1\u606F",
5006
+ content: props2.toolboxInfoText
5007
+ });
5008
+ }
5009
+ }
5010
+ }
5011
+ },
4497
5012
  title: {
4498
5013
  text: props2.titleText,
4499
5014
  subtext: props2.titleSubtext,
@@ -4628,13 +5143,16 @@ const _sfc_main$7 = defineComponent({
4628
5143
  option,
4629
5144
  style: style2,
4630
5145
  click,
4631
- loading
5146
+ loading,
5147
+ visible,
5148
+ hideModal
4632
5149
  };
4633
5150
  }
4634
5151
  });
4635
5152
  function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
4636
5153
  const _component_echarts = resolveComponent("echarts");
4637
5154
  const _component_spin = resolveComponent("spin");
5155
+ const _component_a_modal = resolveComponent("a-modal");
4638
5156
  return openBlock(), createElementBlock("div", {
4639
5157
  style: normalizeStyle(_ctx.style)
4640
5158
  }, [
@@ -4647,7 +5165,28 @@ function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
4647
5165
  }, null, 8, ["option", "onClick"])
4648
5166
  ]),
4649
5167
  _: 1
4650
- }, 8, ["spinning"])
5168
+ }, 8, ["spinning"]),
5169
+ createVNode(_component_a_modal, {
5170
+ "wrap-class-name": "full-modal",
5171
+ width: "100%",
5172
+ visible: _ctx.visible,
5173
+ footer: null,
5174
+ onCancel: _ctx.hideModal
5175
+ }, {
5176
+ default: withCtx(() => [
5177
+ createVNode(_component_spin, { spinning: _ctx.loading }, {
5178
+ default: withCtx(() => [
5179
+ createVNode(_component_echarts, {
5180
+ option: _ctx.option,
5181
+ "update-options": { notMerge: true },
5182
+ autoresize: ""
5183
+ }, null, 8, ["option"])
5184
+ ]),
5185
+ _: 1
5186
+ }, 8, ["spinning"])
5187
+ ]),
5188
+ _: 1
5189
+ }, 8, ["visible", "onCancel"])
4651
5190
  ], 4);
4652
5191
  }
4653
5192
  var Scatter = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render$7]]);
@@ -4789,35 +5328,87 @@ const comboGraphProps = __spreadProps(__spreadValues({}, props), {
4789
5328
  gridBottom: "10%",
4790
5329
  gridLeft: "2%",
4791
5330
  gridRight: "2%",
4792
- graphicConfig: {}
5331
+ graphicConfig: {},
5332
+ toolboxShow: false,
5333
+ toolboxOrient: "horizontal",
5334
+ toolboxItemSize: 16,
5335
+ toolboxItemGap: 8,
5336
+ toolboxLeft: "right",
5337
+ toolboxTop: "top",
5338
+ toolboxIconStyleBorderColor: "#666",
5339
+ toolboxDownloadUrl: "",
5340
+ toolboxInfoText: "\u5F53\u524D\u65E0\u8BF4\u660E\u4FE1\u606F"
4793
5341
  });
4794
5342
  const comboGraphComponentProps = transformToComponentProps(comboGraphProps);
4795
5343
  const comboGraphEvents = ["refreshData", "click"];
5344
+ 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")();
4796
5345
  use([
4797
5346
  CanvasRenderer,
4798
5347
  BarChart,
4799
5348
  LineChart,
4800
5349
  TitleComponent,
4801
5350
  LegendComponent,
4802
- DatasetComponent
5351
+ DatasetComponent,
5352
+ ToolboxComponent
4803
5353
  ]);
4804
5354
  const _sfc_main$5 = defineComponent({
4805
5355
  name: "EcanComboGraph",
4806
5356
  props: __spreadValues({}, comboGraphComponentProps),
4807
5357
  components: {
4808
5358
  Spin,
4809
- Echarts
5359
+ Echarts,
5360
+ AModal: Modal$1
4810
5361
  },
4811
5362
  setup(props2) {
4812
5363
  const style2 = usePickComponentStyle(props2);
4813
5364
  const series = ref([]);
4814
5365
  const dimensions = ref([]);
5366
+ const visible = ref(false);
5367
+ const hideModal = () => {
5368
+ visible.value = false;
5369
+ };
4815
5370
  const option = computed(() => ({
4816
5371
  title: {
4817
5372
  text: props2.titleText,
4818
5373
  subtext: props2.titleSubtext,
4819
5374
  left: "center"
4820
5375
  },
5376
+ toolbox: {
5377
+ show: props2.toolboxShow,
5378
+ left: props2.toolboxLeft,
5379
+ top: props2.toolboxTop,
5380
+ itemSize: props2.toolboxItemSize,
5381
+ itemGap: props2.toolboxItemGap,
5382
+ feature: {
5383
+ myDownload: {
5384
+ show: true,
5385
+ title: "\u6570\u636E\u4E0B\u8F7D",
5386
+ 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",
5387
+ onclick() {
5388
+ useDownloadFile(props2.toolboxDownloadUrl);
5389
+ }
5390
+ },
5391
+ myDataZoom: {
5392
+ show: true,
5393
+ title: "\u653E\u5927",
5394
+ 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",
5395
+ onclick() {
5396
+ visible.value = true;
5397
+ }
5398
+ },
5399
+ myInfo: {
5400
+ show: true,
5401
+ title: "\u8BF4\u660E\u4FE1\u606F",
5402
+ 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",
5403
+ onclick() {
5404
+ Modal$1.info({
5405
+ title: "\u8BF4\u660E\u4FE1\u606F",
5406
+ content: props2.toolboxInfoText
5407
+ });
5408
+ }
5409
+ }
5410
+ }
5411
+ },
4821
5412
  grid: {
4822
5413
  top: props2.gridTop,
4823
5414
  bottom: props2.gridBottom,
@@ -5018,13 +5609,16 @@ const _sfc_main$5 = defineComponent({
5018
5609
  style: style2,
5019
5610
  option,
5020
5611
  click,
5021
- loading
5612
+ loading,
5613
+ visible,
5614
+ hideModal
5022
5615
  };
5023
5616
  }
5024
5617
  });
5025
5618
  function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
5026
5619
  const _component_echarts = resolveComponent("echarts");
5027
5620
  const _component_spin = resolveComponent("spin");
5621
+ const _component_a_modal = resolveComponent("a-modal");
5028
5622
  return openBlock(), createElementBlock("div", {
5029
5623
  style: normalizeStyle(_ctx.style)
5030
5624
  }, [
@@ -5038,7 +5632,29 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
5038
5632
  }, null, 8, ["option", "onClick"])
5039
5633
  ]),
5040
5634
  _: 1
5041
- }, 8, ["spinning"])
5635
+ }, 8, ["spinning"]),
5636
+ createVNode(_component_a_modal, {
5637
+ "wrap-class-name": "full-modal",
5638
+ width: "100%",
5639
+ visible: _ctx.visible,
5640
+ footer: null,
5641
+ onCancel: _ctx.hideModal
5642
+ }, {
5643
+ default: withCtx(() => [
5644
+ createVNode(_component_spin, { spinning: _ctx.loading }, {
5645
+ default: withCtx(() => [
5646
+ createVNode(_component_echarts, {
5647
+ option: _ctx.option,
5648
+ "update-options": { notMerge: true },
5649
+ autoresize: "",
5650
+ onClick: _ctx.click
5651
+ }, null, 8, ["option", "onClick"])
5652
+ ]),
5653
+ _: 1
5654
+ }, 8, ["spinning"])
5655
+ ]),
5656
+ _: 1
5657
+ }, 8, ["visible", "onCancel"])
5042
5658
  ], 4);
5043
5659
  }
5044
5660
  var ComboGraph = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["render", _sfc_render$5]]);
@@ -5054,102 +5670,125 @@ const borderProps = __spreadProps(__spreadValues({}, props), {
5054
5670
  fontFamily: "",
5055
5671
  fontWeight: 700,
5056
5672
  title: "\u6807\u9898",
5057
- mode: "top-title"
5673
+ mode: "only-border",
5674
+ borderColor: "#eee",
5675
+ borderRadius: "5px",
5676
+ borderStyle: "solid",
5677
+ borderWidth: "2px",
5678
+ backgroundColor: "",
5679
+ useBorderModify: false
5058
5680
  });
5059
5681
  const borderComponentProps = transformToComponentProps(borderProps);
5060
5682
  const borderEvents = ["click"];
5061
5683
  var _imports_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAAAcCAMAAACH42siAAAAZlBMVEUAAABBltJCldJCldFEk89BltJCltFBldI/lMBKndtmb9pCltNDldFAkclAldNBldJBltM/lM5AltNCldJBldJBlNJBltVBldJBlNJBlNI/lNNBldJBldNAldJBldJBldJBldNBldIiNK7WAAAAInRSTlMAM4BNGmaz5gQGbiAPCV1WQxUpOCY9EmxQSC2jdoacqZK8uPo7tAAAAZ9JREFUSMe90NmOwjAMheGka0J3SulCy/L+Lzk4I+HYhckEKs7dr1x8kQVM5YJMZ7SLiXVHOw817Z72cSns3BmziY7EnGRGjDqUpKt4pEZQKruvyaJt85YmBUebKLJVNUlpq6oOQ1tVVRzbqu6DwFb1NUlsVd3SNL0UDM0jqkaSqoeQqjKmahtQNUzuC1AtU1sF9KHmnmrtrSK6idqBWqE6GFVxFdGvqDGoJ01Qt7rfTEV0e7V6qSK6VjNPtTaqoOq8Ugnqr7aeav+rAuqrTh+qZw3o1urAVcFVQD3U6ZnaYY9MLZk6G5WhDaDFI9UeUPyE7gCNsAdAD9gxoBJ7ARRPUVwALXdu8/h/s3xmjtwUu0/M0M/UJzBjAei3TUTdpmKmcpkBmOHKBNTPzJi59zYJys3DO2aL78YcmNkLgrrM9m9TucwzmoBy08xlju+bgL42G4c5OcxqZSLqbwqXOVNTGXMWFD0ak6KN1ZKaojYmbribndW9MXELNQEFFUyiNqQlmEQ1JqpgErUifUUTUVEIupx1wzpjvWfdsh4FQX8ANe4nnpsb9NEAAAAASUVORK5CYII=";
5062
5684
  var _imports_1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAAAcCAMAAACH42siAAAAaVBMVEUAAABElM9BltJCldJCldFBltJBldJCltFNmrNCmNNFldNAldJBldNBldRBldNBldNBldJCoNFBldJBltNBldJBldJAldJAltJBldJBldJBldNAlNFAldJBlNJAldJBldNBldJBldJBldLfIVowAAAAI3RSTlMAGjJNgGbmswMSCScgDTs/ZAVRK0eYj2s3r3AWveHEhXjeXb5rzlgAAAFqSURBVEjH1dbJVsJAEIXhHjJ05tlEooK8/0NKsbDrFjmHiBD0Lvqcf9PfthRM7xvoZMQuLHZaOejGYLtcdEItzI9oaLg5xIHj5hgcG262oXXcrGzJ23Umg5717C7NKBrAjOMDM8YgCI5ghmEPprUTmMZkrBOtdbJgfpZovho0gwzNOkfTam9k5jSGkKlTMOezWT3VLH5qlg8wQzSbO5jJ28l8Z+YLmZMwuz9lupvNXpjlFTMTZv7vzFSatTDtGnNeYdpNzZTMSJhx5f84m8Y3mSEzJzTVolko3J7Qve+a0J3vntDWffdEaMUQQo1vTWjuuyA0UWvUUarqzuqLUMPt1MD3uKTaTdRwvdrdorpFtfZtH6eyK2F3RS23U3uhlr9VB1TdE1V2h7Vr1O4mdbdera6o+Wq1Vqi2rEktFapGoZopVLVCtVCXag19IBPUiiWpBrojE1QNXZAp1/TYbhKdKVwuWotORKfn9wu/DSc/X9T6qgAAAABJRU5ErkJggg==";
5063
- 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,iVBORw0KGgoAAAANSUhEUgAAAcgAAAAsCAMAAADW3dj4AAAAVFBMVEUIKbkAAAAAqv8IL70AovwAnfAAlvEGQsUIOcEAkewGfuQGR8gAg+YIPMMFd+AEadkEXtQAi+sEYtcGTcsFcd4INL8DWdEGUc4EbNsAiOkHVdAIK7o5DngbAAAAHHRSTlNmAAVmCxAVWmEaK1YmXjA8RR5BUjRjSU84IkxfPwrt7wAABlFJREFUeNrMmQtW20AMRWlrJ9R8TCgJ0O5/nxVHIRrNRSgTZwJvJs4C7rnWx1f/FuXug6zXcpmbKn9cng/5e8jO5aHMo8+MvLznyefeZapzW+a1yIb57bJCxg8zhPkZ50eeq6PyK8q2yPX2usqdpYZ7Q7IVWKLdlWhLqhVYItUQqCUgCqZA6UKYJc5BrrIEw7ej/4QoR556uoI0kgTpUBKm5ygXJOkoQYLjowM5H0DKOYDUYxzlGkXhOBUU5RxAyjGQcgqKwlEetZU1TOE1gqOilOgTLC9rpA9J1oGRGchdaKShnE8wcpILIadjjNwUGKnkWCkpGNVIvVQywCi/9yO3A0hJKqRxhJI33kln5HO7kcZSzlFG3sNIU9IbqUmNlMM6KQ8aSYbBe5VC9gdJkj5nNPKBRhrG5Ube1oGQcY00lqMeC2skcUYs9fQCuZVbJFFSj2FsNnKXGzmfYOQkP18jqWRuJJWkkYMqORKiCUmWANgDJLrWhhK5TrrWBiPDpvUlN9JjzJtWi+MY1kgo+amQA3WUv65G5t1OKKRyPKORzsmga30Ka2Ri5OseJY303Y6ct4u21VEMu1aFSCkBsDPI/NXKCrnIyGT+MIypklNoJF+tkZGG09fIVd3qyPG9jglpMJnuNRIYkxrZ3cj5yDnSKUkjo5erF3LjjURGq5Fc7pBlTvBCr1YEPl7KyGxbxxcrlIzmjyKRjxZ0rXpcIKT8UCMV53cYP9Z36RzpnAxXdET5iBrpMc7NRhpHdjty4znSMVxspNFUhh2bnYaNQLJGN4jJii43Mt2f5zXSMCZG0smkad0fubGS5LhXUm+PGukCklzseIw0csEcaUJiikzmyHTX2mYkx0i0rTQyZmhKXmhpnjc7+L6VbHYW1MjFu1YLSMZdq651YOQKRoKi3+wMgZJyu4FsWLYCY2uNpJFWJJfMkdzs1CXSL1vjOZJGYknHQVJhxl1rsRD4NkbWHH0aulYvJDY7MFLTstmZ+BUrN/LtmpU2RcZG5kXSEKqUX7/ZSedIJ2QGctdopKRpsxMtzRuNxKdlGsntHHNRI9nrNH79oJLtRs5yTUnsWi1djFyha02NpJJIIWTM8oLTRzpHuqRGgmObkYWS06lG8utHlVGPyxH78sEYQsjuIHOSbFmh5Ek1kigtMNKy0Mh8jFSEEBJzZCqknyS7g8yX5oGQ5zVyxvQRGgmU5MjNjhwn5MZPkUaSLGkkv34Qoz47G7lN363xFAkfF9RItq3pHJkaic1OViJpJNqdgSsBGhm3rfL/9a/W/92c3UrDQBSEQUK8EJTSCvb9X9RgL8bli7M7dk8NDnmDw8ecn9k8o5Qkcvumz5ECUkQCSZRydI484SAJjzRABl3rkTyylkhaJIk0y1aWMSRy3b1HMnsFj+xldmSNtpbFVyxp7Pgh/X6OFJKTiLzeQSQTyuBxjEjcP0rHD++RYjII0aVz5HDS/DKfyHW1a3PV06foFiK5fSVESvGu1a9aXybMkW/wyHSzw1qyaxWRLKVwZM68Z5LL/vlDMD5w/JBApAvRBfdIEum61vwe2RaxTyTDV+KR2vNIdazWJP+5R7ZN6/ZhjIwTAkDSEenjkB7JfvBqYkDZ1NED6SMC93ukZDYCtmvVkg5I2s2OiPRPBijRGBG56SDjh5CESc4gUsIcOZTZkfxmB12rAZLXDyJJKBeD5BGanV7S/Byt6AyQzfEj3uzkRApI+CS7Vk+kFB8kS/PJkUmeR5fmRJJEqpSzPZJEZkjyGgkg26YVEYH6OfIdQNZ5pCdSKiaSQJq+1RBpm52Gwz9fCHCOfIhHfniPlGKPzInUdq4VcGRB+wnlioCAP2NJFR5JJH3TKiJf8WK5nxAwXasjktVEzJxrgVoik1xrEZF8jDXUtV6C64cqeWKwlXlIAunjkFrs3D4IR6zae2R/ISAVECkBSJNr5WbHB5Q9jwTSeSRXrQ7IJzWtFUR+L6QnEik6IWm61tQj30bukUTSlBLnyD6RQtIQSSxdHW9IFhKZeCQHyeldKyM7d75Y5hmLRArJ/c3OOpRP9pX8QvIQ90i+/ZCqdq30yB+B9JmdK7tWEcmuVTwKSUdke1NemNghkizk7D+YkT3C5z0RZctMkbMjSZQciJJIlLo/vaKW/Rc8IhJAtgsBp08PATOql6UCVwAAAABJRU5ErkJggg==");\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')();
5685
+ var Border_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => '.top-title[data-v-f913847e],\n.no-title[data-v-f913847e] {\n position: relative;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n}\n.top-title .border-item[data-v-f913847e],\n.no-title .border-item[data-v-f913847e] {\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-f913847e],\n.no-title .top-left[data-v-f913847e] {\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-f913847e],\n.no-title .top-right[data-v-f913847e] {\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-f913847e],\n.no-title .bottom-left[data-v-f913847e] {\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-f913847e],\n.no-title .bottom-right[data-v-f913847e] {\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-f913847e],\n.no-title .title-item-wrapper[data-v-f913847e] {\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-f913847e],\n.no-title .title-item[data-v-f913847e] {\n display: flex;\n align-items: center;\n}\n.top-title .title[data-v-f913847e],\n.no-title .title[data-v-f913847e] {\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-f913847e],\n.no-title .title-decoration-left[data-v-f913847e] {\n width: 58px;\n height: 14px;\n}\n.top-title .title-decoration-right[data-v-f913847e],\n.no-title .title-decoration-right[data-v-f913847e] {\n width: 58px;\n height: 14px;\n}\n.left-title[data-v-f913847e] {\n position: relative;\n width: 100%;\n height: 100%;\n border: 2px solid #375A8899;\n border-radius: 0;\n}\n.left-title .title[data-v-f913847e] {\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-f913847e] {\n writing-mode: vertical-lr;\n}\n')();
5064
5686
  const _sfc_main$4 = defineComponent({
5065
5687
  name: "EcanBorder",
5066
5688
  props: __spreadValues({}, borderComponentProps),
5067
5689
  setup(props2) {
5068
- const style2 = usePickComponentStyle(props2);
5690
+ const style2 = usePickComponentStyle(props2, ["background"]);
5691
+ const { theme } = inject(GLOBAL_CONFIG, {
5692
+ theme: "light"
5693
+ });
5694
+ const borderStyle = computed(() => {
5695
+ return {
5696
+ borderWidth: props2.borderWidth,
5697
+ borderStyle: props2.borderStyle,
5698
+ borderRadius: props2.borderRadius,
5699
+ borderColor: props2.borderColor,
5700
+ backgroundColor: props2.backgroundColor,
5701
+ width: "100%",
5702
+ height: "100%"
5703
+ };
5704
+ });
5069
5705
  const emitEvent = useEmitEvent(props2.events);
5070
5706
  const click = emitEvent("click", () => {
5071
5707
  });
5072
5708
  useOnEvent(props2, {
5073
5709
  click
5074
5710
  });
5711
+ const onDrag = (e) => {
5712
+ console.log(e);
5713
+ };
5075
5714
  return {
5076
5715
  style: style2,
5077
- click
5716
+ click,
5717
+ borderStyle,
5718
+ theme,
5719
+ onDrag
5078
5720
  };
5079
5721
  }
5080
5722
  });
5081
- const _withScopeId = (n) => (pushScopeId("data-v-f83231c0"), n = n(), popScopeId(), n);
5082
- const _hoisted_1$2 = {
5083
- key: 0,
5084
- class: "top-title"
5085
- };
5086
- const _hoisted_2 = { class: "title-item-wrapper" };
5087
- const _hoisted_3 = { class: "title-item" };
5088
- const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("img", {
5723
+ const _withScopeId = (n) => (pushScopeId("data-v-f913847e"), n = n(), popScopeId(), n);
5724
+ const _hoisted_1$2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "top-left border-item" }, null, -1));
5725
+ const _hoisted_2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "top-right border-item" }, null, -1));
5726
+ const _hoisted_3 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "bottom-left border-item" }, null, -1));
5727
+ const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "bottom-right border-item" }, null, -1));
5728
+ const _hoisted_5 = { class: "title-item-wrapper" };
5729
+ const _hoisted_6 = { class: "title-item" };
5730
+ const _hoisted_7 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("img", {
5089
5731
  class: "title-decoration-left",
5090
5732
  src: _imports_0
5091
5733
  }, null, -1));
5092
- const _hoisted_5 = { class: "title" };
5093
- const _hoisted_6 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("img", {
5734
+ const _hoisted_8 = { class: "title" };
5735
+ const _hoisted_9 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("img", {
5094
5736
  class: "title-decoration-right",
5095
5737
  src: _imports_1
5096
5738
  }, null, -1));
5097
- const _hoisted_7 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "top-left border-item" }, null, -1));
5098
- const _hoisted_8 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "top-right border-item" }, null, -1));
5099
- const _hoisted_9 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "bottom-left border-item" }, null, -1));
5100
- const _hoisted_10 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "bottom-right border-item" }, null, -1));
5101
- const _hoisted_11 = {
5102
- key: 1,
5103
- class: "no-title"
5104
- };
5105
- const _hoisted_12 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "top-left border-item" }, null, -1));
5106
- const _hoisted_13 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "top-right border-item" }, null, -1));
5107
- const _hoisted_14 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "bottom-left border-item" }, null, -1));
5108
- const _hoisted_15 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "bottom-right border-item" }, null, -1));
5109
- const _hoisted_16 = [
5110
- _hoisted_12,
5111
- _hoisted_13,
5112
- _hoisted_14,
5113
- _hoisted_15
5114
- ];
5115
- const _hoisted_17 = {
5739
+ const _hoisted_10 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "top-left border-item" }, null, -1));
5740
+ const _hoisted_11 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "top-right border-item" }, null, -1));
5741
+ const _hoisted_12 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "bottom-left border-item" }, null, -1));
5742
+ const _hoisted_13 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "bottom-right border-item" }, null, -1));
5743
+ const _hoisted_14 = {
5116
5744
  key: 2,
5117
- class: "only-border"
5118
- };
5119
- const _hoisted_18 = {
5120
- key: 3,
5121
5745
  class: "left-title"
5122
5746
  };
5123
- const _hoisted_19 = { class: "title" };
5747
+ const _hoisted_15 = { class: "title" };
5124
5748
  function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
5125
5749
  return openBlock(), createElementBlock("div", {
5126
5750
  class: "ecan-border",
5127
5751
  style: normalizeStyle(_ctx.style),
5128
- onClick: _cache[0] || (_cache[0] = (...args) => _ctx.click && _ctx.click(...args))
5752
+ onClick: _cache[1] || (_cache[1] = (...args) => _ctx.click && _ctx.click(...args))
5129
5753
  }, [
5130
- _ctx.mode === "top-title" ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
5131
- createElementVNode("div", _hoisted_2, [
5132
- createElementVNode("div", _hoisted_3, [
5133
- _hoisted_4,
5134
- createElementVNode("div", _hoisted_5, toDisplayString(_ctx.title), 1),
5135
- _hoisted_6
5754
+ _ctx.mode === "no-title" ? (openBlock(), createElementBlock("div", {
5755
+ key: 0,
5756
+ class: "no-title",
5757
+ style: normalizeStyle(_ctx.borderStyle),
5758
+ onDrag: _cache[0] || (_cache[0] = (...args) => _ctx.onDrag && _ctx.onDrag(...args))
5759
+ }, [
5760
+ _ctx.useBorderModify ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
5761
+ _hoisted_1$2,
5762
+ _hoisted_2,
5763
+ _hoisted_3,
5764
+ _hoisted_4
5765
+ ], 64)) : createCommentVNode("", true)
5766
+ ], 36)) : createCommentVNode("", true),
5767
+ _ctx.mode === "top-title" ? (openBlock(), createElementBlock("div", {
5768
+ key: 1,
5769
+ class: "top-title",
5770
+ style: normalizeStyle(_ctx.borderStyle)
5771
+ }, [
5772
+ createElementVNode("div", _hoisted_5, [
5773
+ createElementVNode("div", _hoisted_6, [
5774
+ _hoisted_7,
5775
+ createElementVNode("div", _hoisted_8, toDisplayString(_ctx.title), 1),
5776
+ _hoisted_9
5136
5777
  ])
5137
5778
  ]),
5138
- _hoisted_7,
5139
- _hoisted_8,
5140
- _hoisted_9,
5141
- _hoisted_10
5142
- ])) : createCommentVNode("", true),
5143
- _ctx.mode === "no-title" ? (openBlock(), createElementBlock("div", _hoisted_11, _hoisted_16)) : createCommentVNode("", true),
5144
- _ctx.mode === "only-border" ? (openBlock(), createElementBlock("div", _hoisted_17)) : createCommentVNode("", true),
5145
- _ctx.mode === "left-title" ? (openBlock(), createElementBlock("div", _hoisted_18, [
5146
- createElementVNode("div", _hoisted_19, [
5779
+ _hoisted_10,
5780
+ _hoisted_11,
5781
+ _hoisted_12,
5782
+ _hoisted_13
5783
+ ], 4)) : createCommentVNode("", true),
5784
+ _ctx.mode === "left-title" ? (openBlock(), createElementBlock("div", _hoisted_14, [
5785
+ createElementVNode("div", _hoisted_15, [
5147
5786
  createElementVNode("span", null, toDisplayString(_ctx.title), 1)
5148
5787
  ])
5149
5788
  ])) : createCommentVNode("", true)
5150
5789
  ], 4);
5151
5790
  }
5152
- var Border = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4], ["__scopeId", "data-v-f83231c0"]]);
5791
+ var Border = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4], ["__scopeId", "data-v-f913847e"]]);
5153
5792
  const EcanBorder = withInstall(Border);
5154
5793
  const modalProps = {
5155
5794
  id: "",
@@ -5172,7 +5811,7 @@ const modalProps = {
5172
5811
  };
5173
5812
  const modalComponentProps = transformToComponentProps(modalProps);
5174
5813
  const modalEvents = ["showModal"];
5175
- var Modal_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".contain[data-v-0b2fdae1] {\n position: relative;\n overflow: hidden;\n}\n.content[data-v-0b2fdae1] {\n transform-origin: left top;\n z-index: 999;\n}\n")();
5814
+ var Modal_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".contain[data-v-378919f0] {\n position: relative;\n overflow: hidden;\n}\n.content[data-v-378919f0] {\n transform-origin: left top;\n z-index: 999;\n}\n")();
5176
5815
  var Modal_vue_vue_type_style_index_1_lang = /* @__PURE__ */ (() => ".ecan-modal .ant-modal-body {\n padding: 0;\n}\n.ecan-modal .ant-modal-header {\n padding: 0;\n border-bottom: none;\n background: none;\n}\n.ecan-full-width-modal .ant-modal {\n max-width: 100%;\n top: 0;\n padding-bottom: 0;\n margin: 0;\n}\n.ecan-full-width-modal .ant-modal-content {\n display: flex;\n flex-direction: column;\n}\n.ecan-full-width-modal .ant-modal-body {\n flex: 1;\n}\n.ecan-full-modal .ant-modal {\n max-width: 100%;\n top: 0;\n padding-bottom: 0;\n margin: 0;\n}\n.ecan-full-modal .ant-modal-content {\n display: flex;\n flex-direction: column;\n height: calc(100vh);\n}\n.ecan-full-modal .ant-modal-body {\n flex: 1;\n}\n[datav-theme='darkBlue'] .ecan-modal .anticon-close > svg > path {\n fill: #fff;\n}\n")();
5177
5816
  const _sfc_main$3 = defineComponent({
5178
5817
  name: "EcanModal",
@@ -5317,7 +5956,7 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
5317
5956
  } : void 0
5318
5957
  ]), 1032, ["getContainer", "wrapClassName", "visible", "width", "destroyOnClose", "style", "onOk", "onCancel"]);
5319
5958
  }
5320
- var Modal = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$3], ["__scopeId", "data-v-0b2fdae1"]]);
5959
+ var Modal = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$3], ["__scopeId", "data-v-378919f0"]]);
5321
5960
  const EcanModal = withInstall(Modal);
5322
5961
  const imageProps = __spreadProps(__spreadValues({}, props), {
5323
5962
  name: "\u56FE\u7247",
@@ -5415,38 +6054,41 @@ const tableProps = __spreadProps(__spreadValues({}, props), {
5415
6054
  address: "\u798F\u5DDE\u8F6F\u4EF6\u56ED"
5416
6055
  }
5417
6056
  ],
5418
- graphicConfig: {}
6057
+ graphicConfig: {
6058
+ chartType: "table",
6059
+ plugin: "1",
6060
+ layer: "1"
6061
+ }
5419
6062
  });
5420
6063
  const tableComponentProps = transformToComponentProps(tableProps);
5421
6064
  const tableEvents = ["click", "refreshData"];
5422
- var Table_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.table[data-v-3c009dfc] {
6065
+ var Table_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `.table[data-v-56b87792] {
5423
6066
  width: 100%;
5424
- height: 100%;
5425
6067
  }
5426
- .goUp[data-v-3c009dfc] {
6068
+ .goUp[data-v-56b87792] {
5427
6069
  color: #FF512E;
5428
6070
  display: flex;
5429
6071
  align-items: center;
5430
6072
  }
5431
- .goUp[data-v-3c009dfc]:before {
6073
+ .goUp[data-v-56b87792]:before {
5432
6074
  content: '';
5433
6075
  display: block;
5434
- 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=");
6076
+ 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=");
5435
6077
  width: 12px;
5436
6078
  height: 12px;
5437
6079
  background-repeat: no-repeat;
5438
6080
  background-size: cover;
5439
6081
  margin-right: 2px;
5440
6082
  }
5441
- .goDown[data-v-3c009dfc] {
6083
+ .goDown[data-v-56b87792] {
5442
6084
  color: #00F7B4;
5443
6085
  display: flex;
5444
6086
  align-items: center;
5445
6087
  }
5446
- .goDown[data-v-3c009dfc]:before {
6088
+ .goDown[data-v-56b87792]:before {
5447
6089
  content: '';
5448
6090
  display: block;
5449
- 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=");
6091
+ 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=");
5450
6092
  width: 12px;
5451
6093
  height: 12px;
5452
6094
  background-repeat: no-repeat;
@@ -5454,7 +6096,7 @@ var Table_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => `
5454
6096
  margin-right: 2px;
5455
6097
  }
5456
6098
  `)();
5457
- 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")();
6099
+ 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")();
5458
6100
  const _sfc_main$1 = defineComponent({
5459
6101
  name: "EcanTable",
5460
6102
  components: {
@@ -5465,7 +6107,7 @@ const _sfc_main$1 = defineComponent({
5465
6107
  ATableSummaryCell: TableSummaryCell
5466
6108
  },
5467
6109
  props: __spreadValues({}, tableComponentProps),
5468
- setup(props2) {
6110
+ setup(props2, { expose }) {
5469
6111
  const style2 = usePickComponentStyle(props2);
5470
6112
  const splitY = computed(() => {
5471
6113
  if (props2.paginationShow) {
@@ -5564,7 +6206,6 @@ const _sfc_main$1 = defineComponent({
5564
6206
  };
5565
6207
  const tableChange = ({ current }, _filters, _sorter) => {
5566
6208
  pageNum.value = current;
5567
- handleIndicatorData();
5568
6209
  };
5569
6210
  const pagination = computed(() => {
5570
6211
  const simple = props2.simple;
@@ -5622,12 +6263,12 @@ const _sfc_main$1 = defineComponent({
5622
6263
  });
5623
6264
  dataSource.value = rows;
5624
6265
  };
5625
- const requestDiagram = useRequestDiagramData(props2);
6266
+ const indicatorData = useIndicatorData(props2);
5626
6267
  const handleIndicatorData = async () => {
5627
6268
  var _a2, _b2, _c2, _d;
5628
6269
  try {
5629
6270
  loading.value = true;
5630
- const res = await requestDiagram();
6271
+ const res = await indicatorData();
5631
6272
  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);
5632
6273
  } catch (e) {
5633
6274
  console.error(e);
@@ -5643,6 +6284,7 @@ const _sfc_main$1 = defineComponent({
5643
6284
  })
5644
6285
  });
5645
6286
  const refreshData = () => {
6287
+ console.log(unref(pageMode));
5646
6288
  if (unref(pageMode) === "design")
5647
6289
  return;
5648
6290
  switch (props2.dataType) {
@@ -5696,6 +6338,9 @@ const _sfc_main$1 = defineComponent({
5696
6338
  setRequest: (requestFn, sortNum) => void 0
5697
6339
  });
5698
6340
  setRequest(refreshData, props2.requestSort);
6341
+ expose({
6342
+ refreshData
6343
+ });
5699
6344
  return {
5700
6345
  x,
5701
6346
  y,
@@ -5727,6 +6372,9 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
5727
6372
  default: withCtx(() => [
5728
6373
  createVNode(_component_a_table, {
5729
6374
  class: "table",
6375
+ style: {
6376
+ height: "100%"
6377
+ },
5730
6378
  columns: _ctx.dataColumns.length > 0 ? _ctx.dataColumns : _ctx.myColumns,
5731
6379
  "data-source": _ctx.dataSource,
5732
6380
  bordered: _ctx.bordered,
@@ -5782,7 +6430,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
5782
6430
  }, 8, ["loading"])
5783
6431
  ], 4);
5784
6432
  }
5785
- var Table = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__scopeId", "data-v-3c009dfc"]]);
6433
+ var Table = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__scopeId", "data-v-56b87792"]]);
5786
6434
  const EcanTable = withInstall(Table);
5787
6435
  const mapProps = __spreadProps(__spreadValues({}, props), {
5788
6436
  mapJson: null,
@@ -5995,6 +6643,9 @@ var components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProp
5995
6643
  providerConfig,
5996
6644
  providerConfigComponentProps,
5997
6645
  EcanProviderConfig,
6646
+ renderer,
6647
+ rendererComponentProps,
6648
+ EcanRenderer,
5998
6649
  textProps,
5999
6650
  textComponentProps,
6000
6651
  textEvents,
@@ -6087,5 +6738,5 @@ const install = (app) => {
6087
6738
  var index = {
6088
6739
  install
6089
6740
  };
6090
- export { EcanBar, EcanBorder, EcanButton, EcanComboGraph, EcanCustomGraph, EcanDatePicker, EcanImage, EcanInput, EcanLine, EcanList, EcanMap, EcanModal, EcanPageConfig, EcanPie, EcanProportion, EcanProviderConfig, EcanRangePicker, EcanScatter, EcanScrollText, EcanSelect, EcanTable, EcanTabs, EcanText, EcanTimeDisplay, barComponentProps, barEvents, barProps, borderComponentProps, borderEvents, borderProps, buttonComponentProps, buttonEvents, buttonProps, comboGraphComponentProps, comboGraphEvents, comboGraphProps, customGraphComponentProps, customGraphProps, datePickerComponentProps, datePickerEvents, datePickerProps, index as default, imageComponentProps, imageProps, inputComponentProps, inputProps, lineComponentProps, lineEvents, lineProps, listComponentProps, listEvents, listProps, mapComponentProps, mapProps, modalComponentProps, modalEvents, modalProps, pageConfig, pageConfigComponentProps, pieComponentProps, pieEvents, pieProps, proportionComponentProps, proportionEvents, proportionProps, providerConfig, providerConfigComponentProps, rangePickerComponentProps, rangePickerEvents, rangePickerProps, scatterComponentProps, scatterEvents, scatterProps, selectComponentProps, selectEvents, selectProps, tableComponentProps, tableEvents, tableProps, tabsComponentProps, tabsEvents, tabsProps, textComponentProps, textEvents, textProps, timeDisplayComponentProps, timeDisplayProps };
6741
+ export { EcanBar, EcanBorder, EcanButton, EcanComboGraph, EcanCustomGraph, EcanDatePicker, EcanImage, EcanInput, EcanLine, EcanList, EcanMap, EcanModal, EcanPageConfig, EcanPie, EcanProportion, EcanProviderConfig, EcanRangePicker, EcanRenderer, EcanScatter, EcanScrollText, EcanSelect, EcanTable, EcanTabs, EcanText, EcanTimeDisplay, barComponentProps, barEvents, barProps, borderComponentProps, borderEvents, borderProps, buttonComponentProps, buttonEvents, buttonProps, comboGraphComponentProps, comboGraphEvents, comboGraphProps, customGraphComponentProps, customGraphProps, datePickerComponentProps, datePickerEvents, datePickerProps, index as default, imageComponentProps, imageProps, inputComponentProps, inputProps, lineComponentProps, lineEvents, lineProps, listComponentProps, listEvents, listProps, mapComponentProps, mapProps, modalComponentProps, modalEvents, modalProps, pageConfig, pageConfigComponentProps, pieComponentProps, pieEvents, pieProps, proportionComponentProps, proportionEvents, proportionProps, providerConfig, providerConfigComponentProps, rangePickerComponentProps, rangePickerEvents, rangePickerProps, renderer, rendererComponentProps, scatterComponentProps, scatterEvents, scatterProps, selectComponentProps, selectEvents, selectProps, tableComponentProps, tableEvents, tableProps, tabsComponentProps, tabsEvents, tabsProps, textComponentProps, textEvents, textProps, timeDisplayComponentProps, timeDisplayProps };
6091
6742
  //# sourceMappingURL=index.es.js.map