@ecan-bi/datav 1.0.43 → 1.0.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -1383,7 +1383,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1383
1383
  }
1384
1384
  return target;
1385
1385
  };
1386
- const _sfc_main$p = vue.defineComponent({
1386
+ const _sfc_main$q = vue.defineComponent({
1387
1387
  props: {
1388
1388
  spinning: {
1389
1389
  type: Boolean,
@@ -1407,7 +1407,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1407
1407
  }
1408
1408
  });
1409
1409
  const _hoisted_1$9 = { class: "spin-wrapper" };
1410
- function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
1410
+ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
1411
1411
  const _component_a_spin = vue.resolveComponent("a-spin");
1412
1412
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
1413
1413
  _ctx.spinning ? (vue.openBlock(), vue.createBlock(_component_a_spin, {
@@ -1419,8 +1419,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1419
1419
  }, null, 8, ["spinning", "indicator"])) : vue.renderSlot(_ctx.$slots, "default", { key: 1 })
1420
1420
  ]);
1421
1421
  }
1422
- var Spin = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render$p]]);
1423
- const _sfc_main$o = vue.defineComponent({
1422
+ var Spin = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["render", _sfc_render$q]]);
1423
+ const _sfc_main$p = vue.defineComponent({
1424
1424
  name: "Skeleton",
1425
1425
  props: {
1426
1426
  loading: {
@@ -1432,7 +1432,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1432
1432
  ASkeleton: antDesignVue.Skeleton
1433
1433
  }
1434
1434
  });
1435
- function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
1435
+ function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
1436
1436
  const _component_a_skeleton = vue.resolveComponent("a-skeleton");
1437
1437
  return vue.openBlock(), vue.createBlock(_component_a_skeleton, {
1438
1438
  active: "",
@@ -1444,7 +1444,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1444
1444
  _: 3
1445
1445
  }, 8, ["loading"]);
1446
1446
  }
1447
- var Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$o]]);
1447
+ var Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render$p]]);
1448
1448
  const withInstall = (main, extra) => {
1449
1449
  main.install = (app) => {
1450
1450
  for (const comp of [main, ...Object.values(extra != null ? extra : {})]) {
@@ -1522,7 +1522,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1522
1522
  "backgroundSize",
1523
1523
  "textShadow",
1524
1524
  "justifyContent",
1525
- "alignItems"
1525
+ "alignItems",
1526
+ "zIndex"
1526
1527
  ];
1527
1528
  const usePickComponentStyle = (props2, excludeStyleList = []) => {
1528
1529
  const finalStyleList = lodashEs.without(styleList, ...excludeStyleList);
@@ -1533,6 +1534,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1533
1534
  const GLOBAL_MODEL = "GLOBAL_MODEL";
1534
1535
  const REQUEST_MODEL = "REQUEST_MODEL";
1535
1536
  const GLOBAL_TOKEN = "GLOBAL_TOKEN";
1537
+ const REFRESH_PAGE = "REFRESH_PAGE";
1536
1538
  const INDICATOR_URL = (_a = window == null ? void 0 : window.config) == null ? void 0 : _a.indicatorURL;
1537
1539
  const UPLOAD_PATH = ((_b = window == null ? void 0 : window.config) == null ? void 0 : _b.uploadPath) || "/api";
1538
1540
  const BASE_URL = ((_c = window == null ? void 0 : window.config) == null ? void 0 : _c.routerBaseURL) || "./";
@@ -1634,10 +1636,10 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1634
1636
  }
1635
1637
  return false;
1636
1638
  };
1637
- const useVariablesInText = (text, data) => {
1639
+ const useVariablesInText = (text, data = {}) => {
1638
1640
  const config2 = window.config || {};
1639
1641
  data = __spreadValues(__spreadValues({}, config2), data);
1640
- const variables = text.match(/\{.*?\}/g);
1642
+ const variables = text.match(/\{\w*\}/g);
1641
1643
  if (variables == null || variables.length === 0)
1642
1644
  return text;
1643
1645
  for (let i = 0; i < variables.length; i++) {
@@ -2176,7 +2178,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
2176
2178
  };
2177
2179
  };
2178
2180
  const useValueFormatter = (formatter = "", value) => {
2179
- const variables = formatter.match(/\{.*?\}/g);
2181
+ const variables = formatter.match(/\{\w*\}/g);
2180
2182
  if (variables == null || variables.length === 0)
2181
2183
  return formatter;
2182
2184
  for (let i = 0; i < variables.length; i++) {
@@ -2405,7 +2407,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
2405
2407
  }
2406
2408
  };
2407
2409
  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")();
2408
- const _sfc_main$n = vue.defineComponent({
2410
+ const _sfc_main$o = vue.defineComponent({
2409
2411
  name: "EcanPageConfig",
2410
2412
  props: __spreadValues({}, pageConfigComponentProps),
2411
2413
  setup(props2) {
@@ -2503,7 +2505,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
2503
2505
  id: "container",
2504
2506
  ref: "container"
2505
2507
  };
2506
- function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
2508
+ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
2507
2509
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
2508
2510
  _ctx.ready ? (vue.openBlock(), vue.createElementBlock("div", {
2509
2511
  key: 0,
@@ -2514,15 +2516,16 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
2514
2516
  ], 4)) : vue.createCommentVNode("", true)
2515
2517
  ], 512);
2516
2518
  }
2517
- var PageConfig = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$n], ["__scopeId", "data-v-5d709a9a"]]);
2519
+ var PageConfig = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$o], ["__scopeId", "data-v-5d709a9a"]]);
2518
2520
  const EcanPageConfig = withInstall(PageConfig);
2519
2521
  const providerConfig = {
2520
2522
  contextRequestUrl: "",
2521
2523
  pageMode: "normal",
2522
- theme: "light"
2524
+ theme: "light",
2525
+ containerMap: {}
2523
2526
  };
2524
2527
  const providerConfigComponentProps = transformToComponentProps(providerConfig);
2525
- const _sfc_main$m = vue.defineComponent({
2528
+ const _sfc_main$n = vue.defineComponent({
2526
2529
  name: "EcanProviderConfig",
2527
2530
  props: __spreadValues({}, providerConfigComponentProps),
2528
2531
  setup(props2, { expose }) {
@@ -2625,17 +2628,32 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
2625
2628
  const requestFnList = requestModelArr[i][1];
2626
2629
  await handleRequestFnList(requestFnList);
2627
2630
  }
2628
- requestModel.clear();
2629
2631
  } catch (e) {
2630
2632
  console.error(e);
2633
+ } finally {
2634
+ requestModel.clear();
2631
2635
  }
2632
2636
  };
2633
2637
  vue.provide(REQUEST_MODEL, {
2634
2638
  setRequest,
2635
2639
  touchRequest
2636
2640
  });
2641
+ const emitRefreshPage = () => {
2642
+ eventBus.emit(REFRESH_PAGE);
2643
+ };
2644
+ vue.provide(REFRESH_PAGE, {
2645
+ emitRefreshPage
2646
+ });
2647
+ const onRefreshPage = (callBack) => {
2648
+ eventBus.on(REFRESH_PAGE, () => callBack());
2649
+ vue.onMounted(() => {
2650
+ eventBus.off(REFRESH_PAGE);
2651
+ });
2652
+ };
2637
2653
  expose({
2638
- touchRequest
2654
+ touchRequest,
2655
+ getGlobalModel,
2656
+ onRefreshPage
2639
2657
  });
2640
2658
  return {
2641
2659
  providerConfig: providerConfig2
@@ -2646,13 +2664,28 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
2646
2664
  id: "ProviderConfig",
2647
2665
  ref: "providerConfig"
2648
2666
  };
2649
- function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
2667
+ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
2650
2668
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
2651
2669
  vue.renderSlot(_ctx.$slots, "default")
2652
2670
  ], 512);
2653
2671
  }
2654
- var ProviderConfig = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$m]]);
2672
+ var ProviderConfig = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$n]]);
2655
2673
  const EcanProviderConfig = withInstall(ProviderConfig);
2674
+ const renderer = {
2675
+ componentList: []
2676
+ };
2677
+ const rendererComponentProps = transformToComponentProps(renderer);
2678
+ const _sfc_main$m = vue.defineComponent({
2679
+ name: "EcanRenderer",
2680
+ props: __spreadValues({}, rendererComponentProps),
2681
+ setup() {
2682
+ }
2683
+ });
2684
+ function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
2685
+ return vue.openBlock(), vue.createElementBlock("div");
2686
+ }
2687
+ var Renderer = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$m]]);
2688
+ const EcanRenderer = withInstall(Renderer);
2656
2689
  const textProps = __spreadProps(__spreadValues({}, props), {
2657
2690
  name: "\u6587\u672C",
2658
2691
  keyName: "\u6587\u672C",
@@ -2673,7 +2706,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
2673
2706
  });
2674
2707
  const textComponentProps = transformToComponentProps(textProps);
2675
2708
  const textEvents = ["refreshData", "click"];
2676
- 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")();
2709
+ var Text_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".skeleton-wrapper[data-v-9526cadc] {\n overflow: hidden;\n}\n.ecan-text[data-v-9526cadc] {\n overflow: hidden;\n display: flex;\n}\n")();
2677
2710
  const _sfc_main$l = vue.defineComponent({
2678
2711
  name: "EcanText",
2679
2712
  components: { Skeleton },
@@ -2684,7 +2717,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
2684
2717
  const myText = vue.computed(() => {
2685
2718
  let text = props2.text;
2686
2719
  const data = vue.unref(myData);
2687
- const variables = text.match(/\{.*?\}/g);
2720
+ const variables = text.match(/\{\w*\}/g);
2688
2721
  if (variables == null || variables.length === 0)
2689
2722
  return text;
2690
2723
  for (let i = 0; i < variables.length; i++) {
@@ -2759,7 +2792,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
2759
2792
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.click && _ctx.click(...args))
2760
2793
  }, null, 12, _hoisted_1$6));
2761
2794
  }
2762
- var Text = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$l], ["__scopeId", "data-v-e7487804"]]);
2795
+ var Text = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$l], ["__scopeId", "data-v-9526cadc"]]);
2763
2796
  const EcanText = withInstall(Text);
2764
2797
  var ScrollText_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".red[data-v-0bb717eb] {\n color: red;\n}\n")();
2765
2798
  const _sfc_main$k = vue.defineComponent({
@@ -3060,12 +3093,12 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3060
3093
  };
3061
3094
  }
3062
3095
  });
3063
- const _withScopeId$1 = (n) => (vue.pushScopeId("data-v-461dbe78"), n = n(), vue.popScopeId(), n);
3096
+ const _withScopeId$2 = (n) => (vue.pushScopeId("data-v-461dbe78"), n = n(), vue.popScopeId(), n);
3064
3097
  const _hoisted_1$4 = {
3065
3098
  key: 0,
3066
3099
  class: "title"
3067
3100
  };
3068
- const _hoisted_2$1 = {
3101
+ const _hoisted_2$2 = {
3069
3102
  key: 0,
3070
3103
  class: "ranking"
3071
3104
  };
@@ -3077,7 +3110,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3077
3110
  key: 0,
3078
3111
  class: "ranking"
3079
3112
  };
3080
- const _hoisted_5$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "icon" }, null, -1));
3113
+ const _hoisted_5$1 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "icon" }, null, -1));
3081
3114
  const _hoisted_6$1 = { class: "sort" };
3082
3115
  const _hoisted_7$1 = {
3083
3116
  key: 2,
@@ -3103,7 +3136,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3103
3136
  }),
3104
3137
  key: count
3105
3138
  }, [
3106
- _ctx.useRanking ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$1)) : vue.createCommentVNode("", true),
3139
+ _ctx.useRanking ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$2)) : vue.createCommentVNode("", true),
3107
3140
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.columns, (column, i) => {
3108
3141
  return vue.openBlock(), vue.createElementBlock("div", {
3109
3142
  class: "column",
@@ -3185,7 +3218,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3185
3218
  });
3186
3219
  const proportionComponentProps = transformToComponentProps(proportionProps);
3187
3220
  const proportionEvents = ["refreshData", "click"];
3188
- 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")();
3221
+ var Proportion_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".ecan-proportion[data-v-8be86ed2] {\n overflow: hidden;\n}\n.progress[data-v-8be86ed2] {\n width: 100%;\n height: 100%;\n}\n.format[data-v-8be86ed2] {\n margin: 0 auto;\n}\n")();
3189
3222
  const _sfc_main$h = vue.defineComponent({
3190
3223
  name: "EcanProportion",
3191
3224
  components: {
@@ -3217,7 +3250,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3217
3250
  var _a2;
3218
3251
  let text2 = props2.text;
3219
3252
  const data = vue.unref(myData);
3220
- const variables = text2.match(/\{.*?\}/g) || [];
3253
+ const variables = text2.match(/\{\w*\}/g) || [];
3221
3254
  if (text2 === "")
3222
3255
  return vue.unref(value) + "%";
3223
3256
  for (let i = 0; i < variables.length; i++) {
@@ -3246,6 +3279,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3246
3279
  var _a2;
3247
3280
  if (props2.dataType !== "request" || vue.unref(pageMode) === "design")
3248
3281
  return;
3282
+ console.log("\u8BF7\u6C42");
3249
3283
  try {
3250
3284
  loading.value = true;
3251
3285
  const res = await requestData();
@@ -3318,7 +3352,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3318
3352
  }, 8, ["percent", "width", "type", "strokeColor", "strokeLinecap", "trailColor", "strokeWidth", "gapDegree", "onClick"])
3319
3353
  ], 4);
3320
3354
  }
3321
- var Proportion = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", _sfc_render$h], ["__scopeId", "data-v-02b500fa"]]);
3355
+ var Proportion = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", _sfc_render$h], ["__scopeId", "data-v-8be86ed2"]]);
3322
3356
  const EcanProportion = withInstall(Proportion);
3323
3357
  const inputProps = __spreadProps(__spreadValues({}, props), {
3324
3358
  width: "200px",
@@ -3674,6 +3708,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3674
3708
  name: "\u6807\u7B7E\u9875",
3675
3709
  keyName: "\u6807\u7B7E\u9875",
3676
3710
  width: "200px",
3711
+ height: "400px",
3677
3712
  tabFontSize: "14px",
3678
3713
  backgroundColor: "",
3679
3714
  activeTabColor: "#1890ff",
@@ -3682,6 +3717,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3682
3717
  tabColor: "#333",
3683
3718
  tabBarGutter: "0px",
3684
3719
  value: "",
3720
+ activeKey: 0,
3721
+ contains: [],
3685
3722
  data: [
3686
3723
  {
3687
3724
  title: "\u6807\u7B7E1"
@@ -3696,7 +3733,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3696
3733
  });
3697
3734
  const tabsComponentProps = transformToComponentProps(tabsProps);
3698
3735
  const tabsEvents = ["tabChange"];
3699
- var Tabs_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".ecan-tabs[data-v-5aeec0ae] {\n box-sizing: border-box;\n color: #333333;\n display: flex;\n}\n.tab[data-v-5aeec0ae] {\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n background-size: 100% 100%;\n background-repeat: no-repeat;\n}\n.tab[data-v-5aeec0ae]:last-child {\n margin-right: 0 !important;\n}\n")();
3736
+ var Tabs_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".ecan-tabs[data-v-d53b6936] {\n display: flex;\n flex-direction: column;\n}\n.tabs-header[data-v-d53b6936] {\n color: #333333;\n display: flex;\n width: 100%;\n}\n.tab[data-v-d53b6936] {\n background-size: 100% 100%;\n background-repeat: no-repeat;\n padding: 0 12px;\n cursor: default;\n}\n.tab-inner[data-v-d53b6936] {\n padding: 12px 0;\n}\n.tab[data-v-d53b6936]:last-child {\n margin-right: 0 !important;\n}\n.tabs-content[data-v-d53b6936] {\n flex: 1;\n}\n")();
3700
3737
  const _sfc_main$b = vue.defineComponent({
3701
3738
  name: "EcanTabs",
3702
3739
  props: __spreadValues({}, tabsComponentProps),
@@ -3704,20 +3741,32 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3704
3741
  var _a2;
3705
3742
  const style2 = usePickComponentStyle(props2);
3706
3743
  const activeKey = vue.ref(0);
3744
+ vue.watch(() => props2.activeKey, (key) => {
3745
+ activeKey.value = key;
3746
+ }, {
3747
+ immediate: true
3748
+ });
3707
3749
  const myData = vue.ref(props2.data);
3708
3750
  const isActive = (index2) => activeKey.value === index2;
3709
3751
  const myValue = vue.ref(props2.value || vue.unref(myData)[0] && ((_a2 = vue.unref(myData)[0]) == null ? void 0 : _a2.value) || "");
3710
3752
  const events = props2.events;
3711
3753
  const emitEvent = useEmitEvent(events);
3712
- const tabChange = emitEvent("tabChange", (tab, index2) => {
3713
- myValue.value = (tab == null ? void 0 : tab.value) || "";
3714
- activeKey.value = index2;
3715
- });
3716
3754
  const { setGlobalModel } = vue.inject(GLOBAL_MODEL, {
3717
3755
  setGlobalModel: (key, value) => void 0
3718
3756
  });
3719
3757
  setGlobalModel(props2.id, {
3720
- value: myValue
3758
+ value: myValue,
3759
+ activeKey
3760
+ });
3761
+ const { emitRefreshPage } = vue.inject(REFRESH_PAGE, {
3762
+ emitRefreshPage: () => void 0
3763
+ });
3764
+ const tabChange = emitEvent("tabChange", (tab, index2) => {
3765
+ if (index2 !== vue.unref(activeKey)) {
3766
+ myValue.value = (tab == null ? void 0 : tab.value) || "";
3767
+ activeKey.value = index2;
3768
+ emitRefreshPage();
3769
+ }
3721
3770
  });
3722
3771
  useOnEvent(props2, {
3723
3772
  tabChange
@@ -3732,28 +3781,44 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3732
3781
  };
3733
3782
  }
3734
3783
  });
3784
+ const _withScopeId$1 = (n) => (vue.pushScopeId("data-v-d53b6936"), n = n(), vue.popScopeId(), n);
3735
3785
  const _hoisted_1$3 = ["onClick"];
3786
+ const _hoisted_2$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "tabs-content" }, null, -1));
3736
3787
  function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
3737
3788
  return vue.openBlock(), vue.createElementBlock("div", {
3738
3789
  class: "ecan-tabs",
3739
3790
  style: vue.normalizeStyle(_ctx.style)
3740
3791
  }, [
3741
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.myData, (tab, index2) => {
3742
- return vue.openBlock(), vue.createElementBlock("div", {
3743
- class: vue.normalizeClass(["tab"]),
3744
- style: vue.normalizeStyle({
3745
- color: _ctx.isActive(index2) ? _ctx.activeTabColor : _ctx.tabColor,
3746
- backgroundImage: _ctx.isActive(index2) ? _ctx.useImagePath(_ctx.activeTabBackgroundImage, true) : _ctx.useImagePath(_ctx.tabBackgroundImage, true),
3747
- marginRight: _ctx.tabBarGutter,
3748
- fontSize: _ctx.tabFontSize
3749
- }),
3750
- key: index2,
3751
- onClick: ($event) => _ctx.tabChange(tab, index2)
3752
- }, vue.toDisplayString(tab.title), 13, _hoisted_1$3);
3753
- }), 128))
3792
+ vue.createElementVNode("div", {
3793
+ class: "tabs-header",
3794
+ style: vue.normalizeStyle({
3795
+ fontSize: _ctx.tabFontSize
3796
+ })
3797
+ }, [
3798
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.myData, (tab, index2) => {
3799
+ return vue.openBlock(), vue.createElementBlock("div", {
3800
+ class: "tab",
3801
+ style: vue.normalizeStyle({
3802
+ color: _ctx.isActive(index2) ? _ctx.activeTabColor : _ctx.tabColor,
3803
+ backgroundImage: _ctx.isActive(index2) ? _ctx.useImagePath(_ctx.activeTabBackgroundImage, true) : _ctx.useImagePath(_ctx.tabBackgroundImage, true),
3804
+ marginRight: _ctx.tabBarGutter
3805
+ }),
3806
+ key: index2,
3807
+ onClick: vue.withModifiers(($event) => _ctx.tabChange(tab, index2), ["prevent", "stop"])
3808
+ }, [
3809
+ vue.createElementVNode("div", {
3810
+ class: "tab-inner",
3811
+ style: vue.normalizeStyle({
3812
+ borderBottom: `1px solid ${_ctx.isActive(index2) ? _ctx.activeTabColor : "transparent"}`
3813
+ })
3814
+ }, vue.toDisplayString(tab.title), 5)
3815
+ ], 12, _hoisted_1$3);
3816
+ }), 128))
3817
+ ], 4),
3818
+ _hoisted_2$1
3754
3819
  ], 4);
3755
3820
  }
3756
- var Tabs = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$b], ["__scopeId", "data-v-5aeec0ae"]]);
3821
+ var Tabs = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$b], ["__scopeId", "data-v-d53b6936"]]);
3757
3822
  const EcanTabs = withInstall(Tabs);
3758
3823
  const pieProps = __spreadProps(__spreadValues({}, props), {
3759
3824
  id: "",
@@ -5623,102 +5688,125 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
5623
5688
  fontFamily: "",
5624
5689
  fontWeight: 700,
5625
5690
  title: "\u6807\u9898",
5626
- mode: "top-title"
5691
+ mode: "only-border",
5692
+ borderColor: "#eee",
5693
+ borderRadius: "5px",
5694
+ borderStyle: "solid",
5695
+ borderWidth: "2px",
5696
+ backgroundColor: "",
5697
+ useBorderModify: false
5627
5698
  });
5628
5699
  const borderComponentProps = transformToComponentProps(borderProps);
5629
5700
  const borderEvents = ["click"];
5630
5701
  var _imports_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAAAcCAMAAACH42siAAAAZlBMVEUAAABBltJCldJCldFEk89BltJCltFBldI/lMBKndtmb9pCltNDldFAkclAldNBldJBltM/lM5AltNCldJBldJBlNJBltVBldJBlNJBlNI/lNNBldJBldNAldJBldJBldJBldNBldIiNK7WAAAAInRSTlMAM4BNGmaz5gQGbiAPCV1WQxUpOCY9EmxQSC2jdoacqZK8uPo7tAAAAZ9JREFUSMe90NmOwjAMheGka0J3SulCy/L+Lzk4I+HYhckEKs7dr1x8kQVM5YJMZ7SLiXVHOw817Z72cSns3BmziY7EnGRGjDqUpKt4pEZQKruvyaJt85YmBUebKLJVNUlpq6oOQ1tVVRzbqu6DwFb1NUlsVd3SNL0UDM0jqkaSqoeQqjKmahtQNUzuC1AtU1sF9KHmnmrtrSK6idqBWqE6GFVxFdGvqDGoJ01Qt7rfTEV0e7V6qSK6VjNPtTaqoOq8Ugnqr7aeav+rAuqrTh+qZw3o1urAVcFVQD3U6ZnaYY9MLZk6G5WhDaDFI9UeUPyE7gCNsAdAD9gxoBJ7ARRPUVwALXdu8/h/s3xmjtwUu0/M0M/UJzBjAei3TUTdpmKmcpkBmOHKBNTPzJi59zYJys3DO2aL78YcmNkLgrrM9m9TucwzmoBy08xlju+bgL42G4c5OcxqZSLqbwqXOVNTGXMWFD0ak6KN1ZKaojYmbribndW9MXELNQEFFUyiNqQlmEQ1JqpgErUifUUTUVEIupx1wzpjvWfdsh4FQX8ANe4nnpsb9NEAAAAASUVORK5CYII=";
5631
5702
  var _imports_1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAAAcCAMAAACH42siAAAAaVBMVEUAAABElM9BltJCldJCldFBltJBldJCltFNmrNCmNNFldNAldJBldNBldRBldNBldNBldJCoNFBldJBltNBldJBldJAldJAltJBldJBldJBldNAlNFAldJBlNJAldJBldNBldJBldJBldLfIVowAAAAI3RSTlMAGjJNgGbmswMSCScgDTs/ZAVRK0eYj2s3r3AWveHEhXjeXb5rzlgAAAFqSURBVEjH1dbJVsJAEIXhHjJ05tlEooK8/0NKsbDrFjmHiBD0Lvqcf9PfthRM7xvoZMQuLHZaOejGYLtcdEItzI9oaLg5xIHj5hgcG262oXXcrGzJ23Umg5717C7NKBrAjOMDM8YgCI5ghmEPprUTmMZkrBOtdbJgfpZovho0gwzNOkfTam9k5jSGkKlTMOezWT3VLH5qlg8wQzSbO5jJ28l8Z+YLmZMwuz9lupvNXpjlFTMTZv7vzFSatTDtGnNeYdpNzZTMSJhx5f84m8Y3mSEzJzTVolko3J7Qve+a0J3vntDWffdEaMUQQo1vTWjuuyA0UWvUUarqzuqLUMPt1MD3uKTaTdRwvdrdorpFtfZtH6eyK2F3RS23U3uhlr9VB1TdE1V2h7Vr1O4mdbdera6o+Wq1Vqi2rEktFapGoZopVLVCtVCXag19IBPUiiWpBrojE1QNXZAp1/TYbhKdKVwuWotORKfn9wu/DSc/X9T6qgAAAABJRU5ErkJggg==";
5632
- var Border_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => '.top-title[data-v-3c3b861e],\n.no-title[data-v-3c3b861e] {\n border: 1px solid rgba(55, 85, 218, 0.3);\n background: rgba(7, 22, 85, 0.8);\n position: relative;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n}\n.top-title .border-item[data-v-3c3b861e],\n.no-title .border-item[data-v-3c3b861e] {\n position: absolute;\n z-index: 2;\n border-color: #50FCFC;\n border-style: solid;\n width: 13px;\n height: 11px;\n}\n.top-title .top-left[data-v-3c3b861e],\n.no-title .top-left[data-v-3c3b861e] {\n top: 0;\n left: 0;\n border-top-width: 1px;\n border-right-width: 0;\n border-bottom-width: 0;\n border-left-width: 1px;\n}\n.top-title .top-right[data-v-3c3b861e],\n.no-title .top-right[data-v-3c3b861e] {\n top: 0;\n right: -2px;\n border-top-width: 1px;\n border-right-width: 1px;\n border-bottom-width: 0;\n border-left-width: 0;\n}\n.top-title .bottom-left[data-v-3c3b861e],\n.no-title .bottom-left[data-v-3c3b861e] {\n bottom: -2px;\n left: 0;\n border-top-width: 0;\n border-right-width: 0;\n border-bottom-width: 1px;\n border-left-width: 1px;\n}\n.top-title .bottom-right[data-v-3c3b861e],\n.no-title .bottom-right[data-v-3c3b861e] {\n bottom: -2px;\n right: -2px;\n border-top-width: 0;\n border-right-width: 1px;\n border-bottom-width: 1px;\n border-left-width: 0;\n}\n.top-title .title-item-wrapper[data-v-3c3b861e],\n.no-title .title-item-wrapper[data-v-3c3b861e] {\n width: 100%;\n padding: 5px 0;\n background-image: url("data:image/png;base64,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");\n background-size: cover;\n display: grid;\n place-content: center;\n}\n.top-title .title-item[data-v-3c3b861e],\n.no-title .title-item[data-v-3c3b861e] {\n display: flex;\n align-items: center;\n}\n.top-title .title[data-v-3c3b861e],\n.no-title .title[data-v-3c3b861e] {\n padding: 0 17px;\n color: #d5fdfd;\n background: linear-gradient(0deg, #01aaff, #00eaff);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n.top-title .title-decoration-left[data-v-3c3b861e],\n.no-title .title-decoration-left[data-v-3c3b861e] {\n width: 58px;\n height: 14px;\n}\n.top-title .title-decoration-right[data-v-3c3b861e],\n.no-title .title-decoration-right[data-v-3c3b861e] {\n width: 58px;\n height: 14px;\n}\n.only-border[data-v-3c3b861e] {\n border: 2px solid #375A8899;\n border-radius: 8px;\n width: 100%;\n height: 100%;\n}\n.left-title[data-v-3c3b861e] {\n position: relative;\n width: 100%;\n height: 100%;\n border: 2px solid #375A8899;\n border-radius: 8px;\n}\n.left-title .title[data-v-3c3b861e] {\n position: absolute;\n left: -33px;\n top: -14px;\n width: 33px;\n min-height: 194px;\n padding-top: 33px;\n padding-bottom: 31px;\n background-image: url("data:image/png;base64,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");\n background-repeat: no-repeat;\n background-size: 100% 100%;\n color: #fff;\n font-weight: 500;\n text-align: center;\n}\n.left-title .title span[data-v-3c3b861e] {\n writing-mode: vertical-lr;\n}\n')();
5703
+ 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,iVBORw0KGgoAAAANSUhEUgAAACEAAADCCAMAAADw6ltxAAACr1BMVEUAAAAhVZMcU4ocU4ocU4kcU4ocU4gbUogcU4kcU4kcU4obU4ocU4kcVIocUoUcUYYcUogcVYwcU4kiXpAcU4ocUokcU4ocVIsbU4ocUYYcUokcU4klXo4cUYYcU4ocVIshVZgbUoccVIocVIwcU4kcVIscVIwdU4gcUYYcU4ocU4kcUokcVIwbUokcUYUbVIodU4scVIscWJEcUogdU4scU4scUogcU4kcUogcVIsdUokcUYccU4kcU4ocVIwcU4sbUogcUogcVIscUokbU4wcUYccU4ccU4ocVI0cUogcU4scVIscU4gcVIsdU4kcVIkbU4kcVYscVIwcVIwcVY0cUogcUogbUIQbUokcUYcdVYocUogcVYwcUoccVY0cVo4cU4kcVo4cU4kcUoYcVYwcUYYcT4McUoYcU4wcVIocUoobUogcVIwcVI0bUogcUYQrVZUeWY8cUogcVIscVIkdUoccVY4cVIwcVo4bVo8cVIwdVYwcVo4cVYsdVYscVY0dVowdWZUArM4Am7MeW5EeV48eVY4bUokeWpccUIUcU4gRWqYErc4dV44cUIYgV40cVIwdVY0eVowXV50cUogRWqYRWaYErc4RWqYgV40QWqYRWqYErc4QWqYeV40Drc8ZWpwErM0Ers0ZW58gYJMdTYQiYpQFrs4eWJAVWJ4iWIwVWZ4nbJsRWqYgWZIErc8Ers4fWo8hXZQSWqYRWaYQWqceU4oQWqUtdaMErc0Erc4iYZgeWJIgZ5gDrc4lZZgcUoUcV5AcU4gcUoccVIkcUIIcVYwcUIQcVo0cU4ocWJEcUYUcWZEdVYscVo4cV48cVIscUYIRWqYcVY4cWI8cVooErc4cU4scV5IcWZMcVYcdXJIeV4wgXJQeWZEcTYEeYJQhZpsgYZYfY5gfbJ4M+CoSAAAAwHRSTlMAD7fQ0qPm1820/KfVr/Dj2vDjCvrJvauW6cObDebAugfgy6j0rJuO7dzZxpWMhbGZ8/DwoIR8/d7Iu/LsxZKQgfXsuZ747tevkYj39/Xx7+nEwrSiivrp39XOv75z+/n48ZR4/fHr3X/eysKxpp6JDPbo5+Gg9/Glne/k/fjRq5k0DgP7mHxvK/iu8O/j3Nh5YFAR/fji39LRvqKAcmpbQzogGffw7qKLVyUf8+3QyMK3mZCJXUg+9vLx4tvPmG19FZIlAAALrUlEQVRYw4ST22pTQRiF01vvxBfoM+QRfAN9ACWP4J2XmqIUqogtPdCDPYFVxLPiWZkahskwe/6QmZ3szSYhhz6I65/pbhOQ5CfsPTBf1qw1K6lMzs5aZc6sbBzMI9rtj4vziPbW/VnEy9dA1veWZiDH223M9qtZMnvrQFY+z0KWt1hmZu7FT4zMzv1lA8hl7gf/0VvYaU/krj4+mJO7qq68mL7H3/Xp3DXV7f5aniQebR5O5b5qXXfw9c8k0ensLl3kXgAhbKtfvD+eJDpvj2JuJmqWbPevGj9fLYl9Rr7vx9ysoaS00g+H4t61c+ToXQdzUg+5mTB9srYorH1SFr+0y0g0DKd+NPLKSWWNufWwLP5wEwgb5rR+MCASzgkjiG6WxddPOqXhmrUkeIjIC1F7OmX4GwxXYUJrgY91pMHdXZsyXK9UBYm+1sZoHKSh1ftxMGmYCWP6QgDBgwnT66Go0nAk8kxjz0CGEY15s3xhGITGZLlhROgMhCBLd55VygEhBIjcCI831EymcYFcVEmwATZKSM2HFbl2NBib66slAXPYYoBEMJoLR6NhofSHa5HwPoSI+5pPwQUXwxHc/QxF1bCjQ1ZPiGWCVWdGPU5+G0WBYIAHBAxHPW+E45W7sQin5XgOpc8JcoSAwsmFC4LzRDc88ZKyzDkQuCkOGY4KBIX0UAuWQMRFH85YJAzDOkqJSBgQhSDoXAJhEDAQejAujLGWtfhrOg+h0SgqYsKZs7NhQU4Rd8aeY2iWtFHDjM+GA0FKWatsv4wlOLQVMQvqMt6qJJFS+egE/cKEshQI9AB9a2UDiFQUmyStQcBHjYiifQIBHSjhPNi0eAUCL9SQFyCaTSm9TxutbuLzTKWMRMJZNkOy1ZK+1/OJbKUqEyAw/L+1GCz5KSV+6cI6nCdAwFVyTqg0bSaKEWvIEsnT1Lk0TZLGKQipkDNNG00JISSxMP6PqbI7lhqGoXAHNEMPPEIVdEQL8EQRxlIce4zBmU0mMyaw/DTCJ3l34MzdO7vxZ0U+ku00NCcdLYYA0XKGGEMnYU0CMdqpY4SwGpEgRlhD+rLvOX21vshjFIiwrU70rhLCVkvO13X0G+VII8QYx7ZtEG+ahnUNIdSocWiUiGclhlpDIAZ5vBQAR0SCSfiLUtfNiA3ixYaWpQYZTiCmVwgQpkIsrhXCh1dXXRcj6iTuTlRCO7Gs/BHCEBgjJlCllIkw5nFYCD8fBN8FF+MkAHwlzrEWeyUB9fr0Rf9lYgQjC8RrVsYMzZ8wGzv+J/iIETyWtrMV6JAD3oFaCRGGKoTZIyXRabecmrqZqCJRI16+E3M90qOpl6YC8LROYqQ/3vKE7MmklKOlFsX0AFQh3t+XsJkjQhiTqqAnodQ23BcIq0w8ULqaElwsn0l8+Ha/P00rpTTryaJOCCTEx58s7kGQSoJg36j4SyCIcYxjIwqcPSu2eYllb2q9RM80DCO83CJAvZTOoGqBCEbQQK5ZS16FnCAbr21dSPWJwEQWbNSskRGk+U9YJxjiTsRKfRTi3/Dqqm624C1pnZynr7YnMCvORLmuaKWXct4+EeMfwVMBqdKa94y02+1mxPYk/KlhdSoo3hgRQBxwn61o/PCEyCdABCM2H1dswKQNQQRcr8uD2LynYrtyTlrhPR0IqRAWgkV4iMz5UKIwiOa/uRZ328qWf/zIuKlR3VOJRaenEPIgPqWzlLP3DhFqvIrngcSkPXGw77knVIQtLFczQiwcAomx7D+/g1jCvF4SxEtRfRCBKJq+f78wqrNQVtA6neyZzRj9++895h/0Ydd5DGmxk+6AcUD3P78+R2vVxKwR6xaiE+1QBNP2z9/28zxvFuTw3Rd1EpzPxGnslCNRTtviRJEA4ad2ewqi5C8Q3OYn1roLEERsONTwoPWW8+3GJZVPzwxNwpUSnynqVyC82Z04e+YZIkUfmztKzXgjmJu4UhjkdrTrUFBURAiPwbeWaAy/bq2H0WS8/nj6l8Y6xlkYhsEwvHv+75L9PwhTjpGRI3AixNAIIXWolI2z8NiFT6W06euosr+4kWxXOWmuM2n6IUTqoqOVnoa599vCxbOYs9pWb0gCoIOmac8OxrKmKkJ2M+IcsRzqrla+fwTTu6s0SJkPloeOdMAUVf6YCWyO88eBMwEI6biAxZgFyQwKoeOl0QghwBBMXWbGmVyNBcij3Zbqz30HreUtJomXw9facuNVRN/p1ddyRrYdcZ9tbnYURxL/PWb0VEQ8IlqLx+3WWuvH+xjbSZTGqAsEFXF9jzEuiPgL+rAwx7oVgmAYho9rBxMTxo4MXQmDA10ccBGhE6P+JuUCSBNOYg+bC/fh2Ivsh/ENwm94wvdxLD0mVh/xvff9sq6vZXk1j883VlsgGKrcX7HlCm+wu/VYyTPmiTGtSyV5Rc3jixHlTNrn8zCaSBPLuhSttYFIVUwoT0RTjBDakKGMEWKCSM3jB6BmjCkDGTOYocS/02iQOaX0DjFPM+J8qAHoMp8Rf3y+BW5FFQiKV4mFYxYxJgEh7nBnueICH1cKh4B4Qvw+axBWqbqsDUphYRTbdomu60CskiqEtpUuhIAJm7Td1lmIHWR3TsoWSSexSRkksvvmXBXIuXEc249/KsVet1kYCsOWgjADEhVSBiQzkCn2+i1G4lsYwhjahR91DjJTRJgaKXfQZs5N9Br7noOq0Ec+531tP/vDEYH6D+14OH58lAclXFmWRbFnoPA6YApAPzBYaE6nU7M/EVAaLBYwSuiyrIukgZBgNxQoTVLUTAHjcrnUy+OaacL3hFDCwJjSJknTJp2WkqR+PU2+X/sYJSrfv/jpgk9lovIERuxfr6xEEUoEaxFiHAyMKIqvccR8fi4lXqFEiJc5+2Nk8+/3TIaXrZgzuJQzWovdzjBaZzM7ZJYSz21rMY62w1OrxEZrOwyDBUg62lqnnbXaOactG8PX1/BCDGiomsBmlAiMoU8shrvRuGLQjBI7U1GrjHwxUsr73UgDcMNICWOsKlkByVT3O13lEyW2IajCsJMylF2H3nUST9gdBkZOxoLXAYRHh+jQzuK/t+b2bA8OGK+324aheHzT9vj6QAVn8cYZ9H2P6B/9JtjgBHgI0NhAAz2BXMPWWbzvFgJe4zhycud3GPm4y/N8t92O4xYg6fxwMfa8DcJgELYiMUSIyRKWiOQMlrMwdGGhElMYWPnYyNQxhSoLUjIxdcnP6S/sncFJm0f2+96dT86dzM/ni9jnC4jSlGlKActCnuZoFCQtUgLhQMJJLmJTkyRJE7KKoq4LOoBG09R1A/tJsBKMBgEOdiNFe2oa3WiN577H0ZDagwc2iNa9R6N0inUca140BhZi0sceBh4pqj15/4f3fPGN419oXbY01OaF47La1Uoxw8BtAQY3YtwWGrVWCrPdttsX2nZZgI23B8PgxWqJFEG0MERR5SXFPaocbNjIIrGW8Z3aVhWUtb5hrVV2HXcupWYFXDTPUpQIZjMrY5RRYagUlgchG6EZR2NMyAsoiDPQUuzCcRydczNwarz6bEQj8FyfijjbXaX47oKOJwu6bApIhgdHMEFI8ZNNmWea3OTqbjeKMsMf5ZMvT3kDJUUpxcfu4Nk9OLABD/XbxxgiVwhDUTRdQ0xEBQ4DTAxIwAaPxIDBpUsIgp9K+PXotgv46+tN4DUiM5zMTR7h5HKmpHF/pZROke4WU3jBWSqFPDHGCCP9p1nX1QgpMHPWCZEJR+YOxM+rH0aEs68jy7IRwT7WNOK84Iyx5buu6wZRqg4oB3bOwNvRAJUqdxAKpLhKmGcp04s8bZBA7gxfs+f/9DRorXMYxNL2XddjYT/RoO9hEO975/FKURTaGx2MwFKVJ0WgJINqSCGLjMDnVpZzSxQIGaHmZ/a0pzfPkYGaoSJgPmBEfDzJeABvxDW2mqYKa9s2MqKa6YKMmF87DcOAkBHDnwO4M1BzQLB3BuMva+8N1Oww7kleyR9E49oLoDfH+QAAAABJRU5ErkJggg==");\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')();
5633
5704
  const _sfc_main$4 = vue.defineComponent({
5634
5705
  name: "EcanBorder",
5635
5706
  props: __spreadValues({}, borderComponentProps),
5636
5707
  setup(props2) {
5637
- const style2 = usePickComponentStyle(props2);
5708
+ const style2 = usePickComponentStyle(props2, ["background"]);
5709
+ const { theme } = vue.inject(GLOBAL_CONFIG, {
5710
+ theme: "light"
5711
+ });
5712
+ const borderStyle = vue.computed(() => {
5713
+ return {
5714
+ borderWidth: props2.borderWidth,
5715
+ borderStyle: props2.borderStyle,
5716
+ borderRadius: props2.borderRadius,
5717
+ borderColor: props2.borderColor,
5718
+ backgroundColor: props2.backgroundColor,
5719
+ width: "100%",
5720
+ height: "100%"
5721
+ };
5722
+ });
5638
5723
  const emitEvent = useEmitEvent(props2.events);
5639
5724
  const click = emitEvent("click", () => {
5640
5725
  });
5641
5726
  useOnEvent(props2, {
5642
5727
  click
5643
5728
  });
5729
+ const onDrag = (e) => {
5730
+ console.log(e);
5731
+ };
5644
5732
  return {
5645
5733
  style: style2,
5646
- click
5734
+ click,
5735
+ borderStyle,
5736
+ theme,
5737
+ onDrag
5647
5738
  };
5648
5739
  }
5649
5740
  });
5650
- const _withScopeId = (n) => (vue.pushScopeId("data-v-3c3b861e"), n = n(), vue.popScopeId(), n);
5651
- const _hoisted_1$2 = {
5652
- key: 0,
5653
- class: "top-title"
5654
- };
5655
- const _hoisted_2 = { class: "title-item-wrapper" };
5656
- const _hoisted_3 = { class: "title-item" };
5657
- const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("img", {
5741
+ const _withScopeId = (n) => (vue.pushScopeId("data-v-f913847e"), n = n(), vue.popScopeId(), n);
5742
+ const _hoisted_1$2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "top-left border-item" }, null, -1));
5743
+ const _hoisted_2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "top-right border-item" }, null, -1));
5744
+ const _hoisted_3 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "bottom-left border-item" }, null, -1));
5745
+ const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "bottom-right border-item" }, null, -1));
5746
+ const _hoisted_5 = { class: "title-item-wrapper" };
5747
+ const _hoisted_6 = { class: "title-item" };
5748
+ const _hoisted_7 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("img", {
5658
5749
  class: "title-decoration-left",
5659
5750
  src: _imports_0
5660
5751
  }, null, -1));
5661
- const _hoisted_5 = { class: "title" };
5662
- const _hoisted_6 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("img", {
5752
+ const _hoisted_8 = { class: "title" };
5753
+ const _hoisted_9 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("img", {
5663
5754
  class: "title-decoration-right",
5664
5755
  src: _imports_1
5665
5756
  }, null, -1));
5666
- const _hoisted_7 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "top-left border-item" }, null, -1));
5667
- const _hoisted_8 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "top-right border-item" }, null, -1));
5668
- const _hoisted_9 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "bottom-left border-item" }, null, -1));
5669
- const _hoisted_10 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "bottom-right border-item" }, null, -1));
5670
- const _hoisted_11 = {
5671
- key: 1,
5672
- class: "no-title"
5673
- };
5674
- const _hoisted_12 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "top-left border-item" }, null, -1));
5675
- const _hoisted_13 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "top-right border-item" }, null, -1));
5676
- const _hoisted_14 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "bottom-left border-item" }, null, -1));
5677
- const _hoisted_15 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "bottom-right border-item" }, null, -1));
5678
- const _hoisted_16 = [
5679
- _hoisted_12,
5680
- _hoisted_13,
5681
- _hoisted_14,
5682
- _hoisted_15
5683
- ];
5684
- const _hoisted_17 = {
5757
+ const _hoisted_10 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "top-left border-item" }, null, -1));
5758
+ const _hoisted_11 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "top-right border-item" }, null, -1));
5759
+ const _hoisted_12 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "bottom-left border-item" }, null, -1));
5760
+ const _hoisted_13 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { class: "bottom-right border-item" }, null, -1));
5761
+ const _hoisted_14 = {
5685
5762
  key: 2,
5686
- class: "only-border"
5687
- };
5688
- const _hoisted_18 = {
5689
- key: 3,
5690
5763
  class: "left-title"
5691
5764
  };
5692
- const _hoisted_19 = { class: "title" };
5765
+ const _hoisted_15 = { class: "title" };
5693
5766
  function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
5694
5767
  return vue.openBlock(), vue.createElementBlock("div", {
5695
5768
  class: "ecan-border",
5696
5769
  style: vue.normalizeStyle(_ctx.style),
5697
- onClick: _cache[0] || (_cache[0] = (...args) => _ctx.click && _ctx.click(...args))
5770
+ onClick: _cache[1] || (_cache[1] = (...args) => _ctx.click && _ctx.click(...args))
5698
5771
  }, [
5699
- _ctx.mode === "top-title" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
5700
- vue.createElementVNode("div", _hoisted_2, [
5701
- vue.createElementVNode("div", _hoisted_3, [
5702
- _hoisted_4,
5703
- vue.createElementVNode("div", _hoisted_5, vue.toDisplayString(_ctx.title), 1),
5704
- _hoisted_6
5772
+ _ctx.mode === "no-title" ? (vue.openBlock(), vue.createElementBlock("div", {
5773
+ key: 0,
5774
+ class: "no-title",
5775
+ style: vue.normalizeStyle(_ctx.borderStyle),
5776
+ onDrag: _cache[0] || (_cache[0] = (...args) => _ctx.onDrag && _ctx.onDrag(...args))
5777
+ }, [
5778
+ _ctx.useBorderModify ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
5779
+ _hoisted_1$2,
5780
+ _hoisted_2,
5781
+ _hoisted_3,
5782
+ _hoisted_4
5783
+ ], 64)) : vue.createCommentVNode("", true)
5784
+ ], 36)) : vue.createCommentVNode("", true),
5785
+ _ctx.mode === "top-title" ? (vue.openBlock(), vue.createElementBlock("div", {
5786
+ key: 1,
5787
+ class: "top-title",
5788
+ style: vue.normalizeStyle(_ctx.borderStyle)
5789
+ }, [
5790
+ vue.createElementVNode("div", _hoisted_5, [
5791
+ vue.createElementVNode("div", _hoisted_6, [
5792
+ _hoisted_7,
5793
+ vue.createElementVNode("div", _hoisted_8, vue.toDisplayString(_ctx.title), 1),
5794
+ _hoisted_9
5705
5795
  ])
5706
5796
  ]),
5707
- _hoisted_7,
5708
- _hoisted_8,
5709
- _hoisted_9,
5710
- _hoisted_10
5711
- ])) : vue.createCommentVNode("", true),
5712
- _ctx.mode === "no-title" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11, _hoisted_16)) : vue.createCommentVNode("", true),
5713
- _ctx.mode === "only-border" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_17)) : vue.createCommentVNode("", true),
5714
- _ctx.mode === "left-title" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_18, [
5715
- vue.createElementVNode("div", _hoisted_19, [
5797
+ _hoisted_10,
5798
+ _hoisted_11,
5799
+ _hoisted_12,
5800
+ _hoisted_13
5801
+ ], 4)) : vue.createCommentVNode("", true),
5802
+ _ctx.mode === "left-title" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_14, [
5803
+ vue.createElementVNode("div", _hoisted_15, [
5716
5804
  vue.createElementVNode("span", null, vue.toDisplayString(_ctx.title), 1)
5717
5805
  ])
5718
5806
  ])) : vue.createCommentVNode("", true)
5719
5807
  ], 4);
5720
5808
  }
5721
- var Border = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4], ["__scopeId", "data-v-3c3b861e"]]);
5809
+ var Border = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4], ["__scopeId", "data-v-f913847e"]]);
5722
5810
  const EcanBorder = withInstall(Border);
5723
5811
  const modalProps = {
5724
5812
  id: "",
@@ -5741,7 +5829,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
5741
5829
  };
5742
5830
  const modalComponentProps = transformToComponentProps(modalProps);
5743
5831
  const modalEvents = ["showModal"];
5744
- 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")();
5832
+ 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")();
5745
5833
  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")();
5746
5834
  const _sfc_main$3 = vue.defineComponent({
5747
5835
  name: "EcanModal",
@@ -5886,7 +5974,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
5886
5974
  } : void 0
5887
5975
  ]), 1032, ["getContainer", "wrapClassName", "visible", "width", "destroyOnClose", "style", "onOk", "onCancel"]);
5888
5976
  }
5889
- var Modal = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$3], ["__scopeId", "data-v-0b2fdae1"]]);
5977
+ var Modal = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$3], ["__scopeId", "data-v-378919f0"]]);
5890
5978
  const EcanModal = withInstall(Modal);
5891
5979
  const imageProps = __spreadProps(__spreadValues({}, props), {
5892
5980
  name: "\u56FE\u7247",
@@ -6573,6 +6661,9 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
6573
6661
  providerConfig,
6574
6662
  providerConfigComponentProps,
6575
6663
  EcanProviderConfig,
6664
+ renderer,
6665
+ rendererComponentProps,
6666
+ EcanRenderer,
6576
6667
  textProps,
6577
6668
  textComponentProps,
6578
6669
  textEvents,
@@ -6682,6 +6773,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
6682
6773
  exports2.EcanProportion = EcanProportion;
6683
6774
  exports2.EcanProviderConfig = EcanProviderConfig;
6684
6775
  exports2.EcanRangePicker = EcanRangePicker;
6776
+ exports2.EcanRenderer = EcanRenderer;
6685
6777
  exports2.EcanScatter = EcanScatter;
6686
6778
  exports2.EcanScrollText = EcanScrollText;
6687
6779
  exports2.EcanSelect = EcanSelect;
@@ -6735,6 +6827,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
6735
6827
  exports2.rangePickerComponentProps = rangePickerComponentProps;
6736
6828
  exports2.rangePickerEvents = rangePickerEvents;
6737
6829
  exports2.rangePickerProps = rangePickerProps;
6830
+ exports2.renderer = renderer;
6831
+ exports2.rendererComponentProps = rendererComponentProps;
6738
6832
  exports2.scatterComponentProps = scatterComponentProps;
6739
6833
  exports2.scatterEvents = scatterEvents;
6740
6834
  exports2.scatterProps = scatterProps;