sctj-components 1.0.75 → 1.0.77

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.
@@ -39,7 +39,7 @@ const _export_sfc = (sfc, props) => {
39
39
  return target;
40
40
  };
41
41
  const _hoisted_1$p = { class: "dict-tag-container" };
42
- const _hoisted_2$f = ["index"];
42
+ const _hoisted_2$g = ["index"];
43
43
  const _sfc_main$w = {
44
44
  __name: "index",
45
45
  props: {
@@ -68,7 +68,7 @@ const _sfc_main$w = {
68
68
  key: item.value,
69
69
  index: index2,
70
70
  class: normalizeClass(item.elTagClass)
71
- }, toDisplayString(item.label), 11, _hoisted_2$f)) : (openBlock(), createBlock(_component_el_tag, {
71
+ }, toDisplayString(item.label), 11, _hoisted_2$g)) : (openBlock(), createBlock(_component_el_tag, {
72
72
  "disable-transitions": true,
73
73
  key: item.value + "",
74
74
  index: index2,
@@ -133,9 +133,9 @@ const index$1 = "";
133
133
  const index_vue_vue_type_style_index_0_scoped_006fbc77_lang = "";
134
134
  const index_vue_vue_type_style_index_1_lang = "";
135
135
  const _hoisted_1$n = { class: "upload-file" };
136
- const _hoisted_2$e = { class: "el-upload__tip" };
137
- const _hoisted_3$a = { style: { "color": "#f56c6c" } };
138
- const _hoisted_4$9 = { style: { "color": "#f56c6c" } };
136
+ const _hoisted_2$f = { class: "el-upload__tip" };
137
+ const _hoisted_3$b = { style: { "color": "#f56c6c" } };
138
+ const _hoisted_4$a = { style: { "color": "#f56c6c" } };
139
139
  const _hoisted_5$7 = ["title"];
140
140
  const _hoisted_6$4 = { class: "ele-upload-list__item-content-action" };
141
141
  const _hoisted_7$4 = { style: { "width": "100%", "height": "100%", "overflow": "auto" } };
@@ -410,15 +410,15 @@ const _sfc_main$u = {
410
410
  unref(showTip) ? {
411
411
  name: "tip",
412
412
  fn: withCtx(() => [
413
- createElementVNode("div", _hoisted_2$e, [
413
+ createElementVNode("div", _hoisted_2$f, [
414
414
  createTextVNode(" \u8BF7\u4E0A\u4F20 "),
415
415
  __props.fileSize ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
416
416
  createTextVNode(" \u5927\u5C0F\u4E0D\u8D85\u8FC7 "),
417
- createElementVNode("b", _hoisted_3$a, toDisplayString(__props.fileSize) + "MB", 1)
417
+ createElementVNode("b", _hoisted_3$b, toDisplayString(__props.fileSize) + "MB", 1)
418
418
  ], 64)) : createCommentVNode("", true),
419
419
  __props.fileType ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
420
420
  createTextVNode(" \u683C\u5F0F\u4E3A "),
421
- createElementVNode("b", _hoisted_4$9, toDisplayString(__props.fileType.join("/")), 1)
421
+ createElementVNode("b", _hoisted_4$a, toDisplayString(__props.fileType.join("/")), 1)
422
422
  ], 64)) : createCommentVNode("", true),
423
423
  createTextVNode(" \u7684\u6587\u4EF6 ")
424
424
  ])
@@ -520,12 +520,12 @@ const _sfc_main$u = {
520
520
  const SCTJFileUpload = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-006fbc77"]]);
521
521
  const index_vue_vue_type_style_index_0_scoped_672e5149_lang = "";
522
522
  const _hoisted_1$m = { class: "component-upload-image" };
523
- const _hoisted_2$d = {
523
+ const _hoisted_2$e = {
524
524
  key: 0,
525
525
  class: "el-upload__tip"
526
526
  };
527
- const _hoisted_3$9 = { style: { "color": "#f56c6c" } };
528
- const _hoisted_4$8 = { style: { "color": "#f56c6c" } };
527
+ const _hoisted_3$a = { style: { "color": "#f56c6c" } };
528
+ const _hoisted_4$9 = { style: { "color": "#f56c6c" } };
529
529
  const _hoisted_5$6 = ["src"];
530
530
  const _sfc_main$t = {
531
531
  __name: "index",
@@ -760,15 +760,15 @@ const _sfc_main$t = {
760
760
  ]),
761
761
  _: 1
762
762
  }, 16, ["disabled", "action", "limit", "http-request", "headers", "file-list", "drag", "class"]),
763
- unref(showTip) ? (openBlock(), createElementBlock("div", _hoisted_2$d, [
763
+ unref(showTip) ? (openBlock(), createElementBlock("div", _hoisted_2$e, [
764
764
  createTextVNode(" \u8BF7\u4E0A\u4F20 "),
765
765
  props.fileSize ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
766
766
  createTextVNode(" \u5927\u5C0F\u4E0D\u8D85\u8FC7 "),
767
- createElementVNode("b", _hoisted_3$9, toDisplayString(props.fileSize) + "MB", 1)
767
+ createElementVNode("b", _hoisted_3$a, toDisplayString(props.fileSize) + "MB", 1)
768
768
  ], 64)) : createCommentVNode("", true),
769
769
  props.fileType ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
770
770
  createTextVNode(" \u683C\u5F0F\u4E3A "),
771
- createElementVNode("b", _hoisted_4$8, toDisplayString(props.fileType.join("/")), 1)
771
+ createElementVNode("b", _hoisted_4$9, toDisplayString(props.fileType.join("/")), 1)
772
772
  ], 64)) : createCommentVNode("", true),
773
773
  createTextVNode(" \u7684\u6587\u4EF6 ")
774
774
  ])) : createCommentVNode("", true),
@@ -1018,8 +1018,8 @@ const icons = [
1018
1018
  ];
1019
1019
  const index_vue_vue_type_style_index_0_scoped_37029e19_lang = "";
1020
1020
  const _hoisted_1$k = { class: "icon-content" };
1021
- const _hoisted_2$c = { class: "icon-list" };
1022
- const _hoisted_3$8 = ["onClick"];
1021
+ const _hoisted_2$d = { class: "icon-list" };
1022
+ const _hoisted_3$9 = ["onClick"];
1023
1023
  const _sfc_main$r = {
1024
1024
  __name: "index",
1025
1025
  props: {
@@ -1138,7 +1138,7 @@ const _sfc_main$r = {
1138
1138
  _: 1
1139
1139
  }, 8, ["modelValue"])
1140
1140
  ]),
1141
- createElementVNode("div", _hoisted_2$c, [
1141
+ createElementVNode("div", _hoisted_2$d, [
1142
1142
  (openBlock(true), createElementBlock(Fragment, null, renderList(iconList.value, (item, index2) => {
1143
1143
  return openBlock(), createElementBlock("div", {
1144
1144
  key: index2,
@@ -1149,7 +1149,7 @@ const _sfc_main$r = {
1149
1149
  style: { "height": "30px", "width": "16px", "flex-shrink": "0" }
1150
1150
  }, null, 8, ["icon-class"]),
1151
1151
  createElementVNode("span", null, toDisplayString(item), 1)
1152
- ], 8, _hoisted_3$8);
1152
+ ], 8, _hoisted_3$9);
1153
1153
  }), 128))
1154
1154
  ])
1155
1155
  ], 512), [
@@ -1724,7 +1724,7 @@ const _sfc_main$n = {
1724
1724
  };
1725
1725
  const index_vue_vue_type_style_index_0_scoped_1c87997b_lang = "";
1726
1726
  const _hoisted_1$i = { class: "time-line-slider-container" };
1727
- const _hoisted_2$b = { class: "time-line-slider-wrapper" };
1727
+ const _hoisted_2$c = { class: "time-line-slider-wrapper" };
1728
1728
  const _sfc_main$m = {
1729
1729
  __name: "index",
1730
1730
  props: {
@@ -1971,7 +1971,7 @@ const _sfc_main$m = {
1971
1971
  const _component_el_option = resolveComponent("el-option");
1972
1972
  const _component_el_select = resolveComponent("el-select");
1973
1973
  return openBlock(), createElementBlock("div", _hoisted_1$i, [
1974
- createElementVNode("div", _hoisted_2$b, [
1974
+ createElementVNode("div", _hoisted_2$c, [
1975
1975
  createVNode(_component_el_slider, {
1976
1976
  style: normalizeStyle({ width: unref(sliderWidth) }),
1977
1977
  modelValue: selectValue.value,
@@ -2548,18 +2548,18 @@ const _sfc_main$i = {
2548
2548
  };
2549
2549
  const SCTJTableTopActionContainer = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-056cfdde"]]);
2550
2550
  const index_vue_vue_type_style_index_0_scoped_946a1b5d_lang = "";
2551
- const _withScopeId$6 = (n) => (pushScopeId("data-v-946a1b5d"), n = n(), popScopeId(), n);
2551
+ const _withScopeId$7 = (n) => (pushScopeId("data-v-946a1b5d"), n = n(), popScopeId(), n);
2552
2552
  const _hoisted_1$e = {
2553
2553
  key: 0,
2554
2554
  class: "search-container"
2555
2555
  };
2556
- const _hoisted_2$a = { class: "table-box" };
2557
- const _hoisted_3$7 = ["onClick"];
2558
- const _hoisted_4$7 = {
2556
+ const _hoisted_2$b = { class: "table-box" };
2557
+ const _hoisted_3$8 = ["onClick"];
2558
+ const _hoisted_4$8 = {
2559
2559
  slot: "header",
2560
2560
  class: "clearfix"
2561
2561
  };
2562
- const _hoisted_5$5 = /* @__PURE__ */ _withScopeId$6(() => /* @__PURE__ */ createElementVNode("span", { style: { "font-weight": "bold" } }, "\u5DF2\u9009\u5217\u8868", -1));
2562
+ const _hoisted_5$5 = /* @__PURE__ */ _withScopeId$7(() => /* @__PURE__ */ createElementVNode("span", { style: { "font-weight": "bold" } }, "\u5DF2\u9009\u5217\u8868", -1));
2563
2563
  const _hoisted_6$3 = { class: "tag-container" };
2564
2564
  const _hoisted_7$3 = { class: "tag-name" };
2565
2565
  const _hoisted_8$3 = { class: "dialog-footer" };
@@ -2944,7 +2944,7 @@ const _sfc_main$h = {
2944
2944
  style: normalizeStyle({ height: !unref(isMobile) ? __props.height : "100%" }),
2945
2945
  class: normalizeClass(["content-box", unref(isMobile) && "content-box-mobile"])
2946
2946
  }, [
2947
- createElementVNode("div", _hoisted_2$a, [
2947
+ createElementVNode("div", _hoisted_2$b, [
2948
2948
  withDirectives((openBlock(), createBlock(_component_el_table, {
2949
2949
  size: unref(isMobile) ? "small" : "",
2950
2950
  class: "table-content",
@@ -2990,7 +2990,7 @@ const _sfc_main$h = {
2990
2990
  createElementVNode("span", {
2991
2991
  onClick: ($event) => handleClick(item.action, item.prop, scope),
2992
2992
  class: normalizeClass({ "linkStyle": item.action || false })
2993
- }, toDisplayString(item.format ? item.format(scope.row, scope.$index) : scope.row[item.prop]), 11, _hoisted_3$7)
2993
+ }, toDisplayString(item.format ? item.format(scope.row, scope.$index) : scope.row[item.prop]), 11, _hoisted_3$8)
2994
2994
  ]),
2995
2995
  _: 2
2996
2996
  }, 1040))
@@ -3038,7 +3038,7 @@ const _sfc_main$h = {
3038
3038
  shadow: "never"
3039
3039
  }, {
3040
3040
  default: withCtx(() => [
3041
- createElementVNode("div", _hoisted_4$7, [
3041
+ createElementVNode("div", _hoisted_4$8, [
3042
3042
  _hoisted_5$5,
3043
3043
  createVNode(_component_el_button, {
3044
3044
  style: { "float": "right", "padding": "3px 0" },
@@ -3484,7 +3484,7 @@ const _sfc_main$f = {
3484
3484
  };
3485
3485
  const index_vue_vue_type_style_index_0_scoped_48dc11be_lang = "";
3486
3486
  const _hoisted_1$c = { class: "table-page-container" };
3487
- const _hoisted_2$9 = { style: { "flex": "1", "height": "0" } };
3487
+ const _hoisted_2$a = { style: { "flex": "1", "height": "0" } };
3488
3488
  const _sfc_main$e = {
3489
3489
  __name: "index",
3490
3490
  props: {
@@ -3524,7 +3524,7 @@ const _sfc_main$e = {
3524
3524
  ]),
3525
3525
  _: 3
3526
3526
  }, 8, ["showSearch"]),
3527
- createElementVNode("div", _hoisted_2$9, [
3527
+ createElementVNode("div", _hoisted_2$a, [
3528
3528
  renderSlot(_ctx.$slots, "table", {}, void 0, true)
3529
3529
  ]),
3530
3530
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
@@ -3538,7 +3538,7 @@ const _hoisted_1$b = {
3538
3538
  key: 0,
3539
3539
  class: "search-container"
3540
3540
  };
3541
- const _hoisted_2$8 = {
3541
+ const _hoisted_2$9 = {
3542
3542
  key: 1,
3543
3543
  class: "custom-drawer"
3544
3544
  };
@@ -3568,7 +3568,7 @@ const _sfc_main$d = {
3568
3568
  })
3569
3569
  ], 512)), [
3570
3570
  [vShow, __props.visible]
3571
- ]) : (openBlock(), createElementBlock("div", _hoisted_2$8, [
3571
+ ]) : (openBlock(), createElementBlock("div", _hoisted_2$9, [
3572
3572
  createVNode(_component_el_drawer, {
3573
3573
  "model-value": __props.visible,
3574
3574
  title: "\u7B5B\u9009\u6761\u4EF6",
@@ -3624,6 +3624,7 @@ const _sfc_main$c = {
3624
3624
  }
3625
3625
  };
3626
3626
  const chartClick = (params) => {
3627
+ console.log("Chart clicked:", params);
3627
3628
  emit("chartClick", params);
3628
3629
  };
3629
3630
  const legendSelectChanged = (params) => {
@@ -3688,14 +3689,14 @@ const _sfc_main$c = {
3688
3689
  };
3689
3690
  const emptyImg = "data:image/png;base64,";
3690
3691
  const CommonChart_vue_vue_type_style_index_0_scoped_2f3b9e13_lang = "";
3691
- const _withScopeId$5 = (n) => (pushScopeId("data-v-2f3b9e13"), n = n(), popScopeId(), n);
3692
+ const _withScopeId$6 = (n) => (pushScopeId("data-v-2f3b9e13"), n = n(), popScopeId(), n);
3692
3693
  const _hoisted_1$a = ["element-loading-background"];
3693
- const _hoisted_2$7 = {
3694
+ const _hoisted_2$8 = {
3694
3695
  key: 1,
3695
3696
  class: "empty-wrapper"
3696
3697
  };
3697
- const _hoisted_3$6 = ["src"];
3698
- const _hoisted_4$6 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createElementVNode("div", { class: "empty-text" }, "\u6682\u65E0\u6570\u636E", -1));
3698
+ const _hoisted_3$7 = ["src"];
3699
+ const _hoisted_4$7 = /* @__PURE__ */ _withScopeId$6(() => /* @__PURE__ */ createElementVNode("div", { class: "empty-text" }, "\u6682\u65E0\u6570\u636E", -1));
3699
3700
  const _sfc_main$b = {
3700
3701
  __name: "CommonChart",
3701
3702
  props: {
@@ -4227,13 +4228,13 @@ const _sfc_main$b = {
4227
4228
  ref_key: "baseChartRef",
4228
4229
  ref: baseChartRef,
4229
4230
  option: unref(option)
4230
- }, null, 8, ["option"])) : (openBlock(), createElementBlock("div", _hoisted_2$7, [
4231
+ }, null, 8, ["option"])) : (openBlock(), createElementBlock("div", _hoisted_2$8, [
4231
4232
  createElementVNode("img", {
4232
4233
  src: unref(emptyImg),
4233
4234
  alt: "empty",
4234
4235
  class: "empty-image"
4235
- }, null, 8, _hoisted_3$6),
4236
- _hoisted_4$6
4236
+ }, null, 8, _hoisted_3$7),
4237
+ _hoisted_4$7
4237
4238
  ]))
4238
4239
  ], 12, _hoisted_1$a)), [
4239
4240
  [_directive_loading, __props.loading]
@@ -4263,26 +4264,43 @@ const _sfc_main$b = {
4263
4264
  }
4264
4265
  };
4265
4266
  const SCTJCommonChart = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-2f3b9e13"]]);
4266
- const PieChart_vue_vue_type_style_index_0_scoped_c3a3e060_lang = "";
4267
+ const PieChart_vue_vue_type_style_index_0_scoped_21c095e8_lang = "";
4268
+ const _withScopeId$5 = (n) => (pushScopeId("data-v-21c095e8"), n = n(), popScopeId(), n);
4267
4269
  const _hoisted_1$9 = ["element-loading-background"];
4270
+ const _hoisted_2$7 = {
4271
+ key: 1,
4272
+ class: "empty-wrapper"
4273
+ };
4274
+ const _hoisted_3$6 = ["src"];
4275
+ const _hoisted_4$6 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createElementVNode("div", { class: "empty-text" }, "\u6682\u65E0\u6570\u636E", -1));
4268
4276
  const _sfc_main$a = {
4269
4277
  __name: "PieChart",
4270
4278
  props: {
4271
- title: { type: String, required: true },
4279
+ title: { type: String },
4272
4280
  loading: { type: Boolean, default: false },
4273
4281
  height: { type: String, default: "300px" },
4274
4282
  mode: { type: String, default: "light" },
4283
+ showCardHeader: { type: Boolean, default: true },
4284
+ backgroundColor: { type: String, default: "" },
4275
4285
  data: {
4276
4286
  type: Array,
4277
4287
  required: true
4278
4288
  },
4289
+ labelField: {
4290
+ type: String,
4291
+ default: "name"
4292
+ },
4293
+ valueField: {
4294
+ type: String,
4295
+ default: "value"
4296
+ },
4279
4297
  center: {
4280
4298
  type: Array,
4281
4299
  default: () => ["50%", "50%"]
4282
4300
  },
4283
4301
  radius: {
4284
4302
  type: Array,
4285
- default: () => ["0%", "70%"]
4303
+ default: () => ["50%", "70%"]
4286
4304
  },
4287
4305
  type: {
4288
4306
  type: String,
@@ -4291,17 +4309,20 @@ const _sfc_main$a = {
4291
4309
  return ["pie", "doughnut", "rose"].indexOf(value) !== -1;
4292
4310
  }
4293
4311
  },
4294
- showCenterText: {
4295
- type: Boolean,
4296
- default: false
4297
- },
4298
4312
  centerText: {
4299
4313
  type: String,
4300
4314
  default: ""
4301
4315
  },
4316
+ centerTextPosition: {
4317
+ type: Object,
4318
+ default: () => ({
4319
+ left: "center",
4320
+ top: "center"
4321
+ })
4322
+ },
4302
4323
  labelPosition: {
4303
4324
  type: String,
4304
- default: "inside",
4325
+ default: "outside",
4305
4326
  validator: function(value) {
4306
4327
  return ["inside", "outside"].indexOf(value) !== -1;
4307
4328
  }
@@ -4316,11 +4337,20 @@ const _sfc_main$a = {
4316
4337
  colors: {
4317
4338
  type: Array,
4318
4339
  default: () => []
4340
+ },
4341
+ labelFormatter: {
4342
+ type: Function,
4343
+ default: null
4344
+ },
4345
+ tooltipFormatter: {
4346
+ type: Function,
4347
+ default: null
4319
4348
  }
4320
4349
  },
4321
4350
  emits: ["chartClick"],
4322
4351
  setup(__props, { emit }) {
4323
4352
  const props = __props;
4353
+ const { isMobile } = useMobile();
4324
4354
  const baseChart = ref$1(null);
4325
4355
  const resizeObserver = ref$1(null);
4326
4356
  const defaultColors = [
@@ -4380,6 +4410,9 @@ const _sfc_main$a = {
4380
4410
  const loadingColor = computed$1(() => {
4381
4411
  return props.mode === "dark" ? "rgba(25, 70, 144, .9)" : "rgba(255, 255, 255, .9)";
4382
4412
  });
4413
+ const isEmptyData = computed$1(() => {
4414
+ return !props.data || !Array.isArray(props.data) || props.data.length === 0;
4415
+ });
4383
4416
  const radiusConfig = computed$1(() => {
4384
4417
  switch (props.type) {
4385
4418
  case "doughnut":
@@ -4396,10 +4429,16 @@ const _sfc_main$a = {
4396
4429
  });
4397
4430
  const chartOption = computed$1(() => {
4398
4431
  return {
4432
+ appendToBody: !isMobile.value,
4399
4433
  color: props.colors.length > 0 ? props.colors : defaultColors,
4400
4434
  tooltip: {
4401
4435
  trigger: "item",
4402
- formatter: "{b}: {c} ({d}%)",
4436
+ formatter: function(params) {
4437
+ if (props.tooltipFormatter) {
4438
+ return props.tooltipFormatter(params);
4439
+ }
4440
+ return `${params.name}: ${params.value}(${params.percent === void 0 ? "0%" : params.percent + "%"})`;
4441
+ },
4403
4442
  ...props.mode === "dark" ? {
4404
4443
  backgroundColor: "#194690",
4405
4444
  textStyle: {
@@ -4409,6 +4448,7 @@ const _sfc_main$a = {
4409
4448
  } : {}
4410
4449
  },
4411
4450
  legend: {
4451
+ type: "scroll",
4412
4452
  orient: "horizontal",
4413
4453
  bottom: "0",
4414
4454
  ...props.mode === "dark" ? {
@@ -4417,10 +4457,9 @@ const _sfc_main$a = {
4417
4457
  }
4418
4458
  } : {}
4419
4459
  },
4420
- graphic: props.showCenterText ? [{
4460
+ graphic: props.centerText ? [{
4421
4461
  type: "text",
4422
- left: "center",
4423
- top: "middle",
4462
+ ...props.centerTextPosition,
4424
4463
  style: {
4425
4464
  text: props.centerText,
4426
4465
  fontSize: 20,
@@ -4432,7 +4471,10 @@ const _sfc_main$a = {
4432
4471
  type: "pie",
4433
4472
  radius: radiusConfig.value,
4434
4473
  center: props.center,
4435
- data: props.data,
4474
+ data: props.data.map((item) => ({
4475
+ name: item[props.labelField],
4476
+ value: item[props.valueField]
4477
+ })),
4436
4478
  ...props.type === "rose" ? { roseType: props.roseType } : {},
4437
4479
  emphasis: {
4438
4480
  itemStyle: {
@@ -4444,7 +4486,12 @@ const _sfc_main$a = {
4444
4486
  label: {
4445
4487
  show: true,
4446
4488
  position: props.labelPosition,
4447
- formatter: "{b}: {d}%",
4489
+ formatter: function(params) {
4490
+ if (props.labelFormatter) {
4491
+ return props.labelFormatter(params);
4492
+ }
4493
+ return `${params.name}: ${params.value}(${params.percent === void 0 ? "0%" : params.percent + "%"})`;
4494
+ },
4448
4495
  ...props.mode === "dark" ? {
4449
4496
  color: "#fff"
4450
4497
  } : {}
@@ -4476,41 +4523,56 @@ const _sfc_main$a = {
4476
4523
  return openBlock(), createBlock(_component_el_card, {
4477
4524
  class: "card-container",
4478
4525
  style: normalizeStyle(unref(cardContainerStyle))
4479
- }, {
4480
- header: withCtx(() => [
4481
- createElementVNode("div", {
4482
- class: "card-header",
4483
- style: normalizeStyle(unref(cardHeaderStyle))
4484
- }, [
4485
- createElementVNode("span", {
4486
- class: "card-title",
4487
- style: normalizeStyle(unref(cardTitleStyle))
4488
- }, toDisplayString(__props.title), 5)
4489
- ], 4)
4490
- ]),
4526
+ }, createSlots({
4491
4527
  default: withCtx(() => [
4492
4528
  withDirectives((openBlock(), createElementBlock("div", {
4493
4529
  "element-loading-background": unref(loadingColor),
4494
4530
  style: normalizeStyle({ height: __props.height }),
4495
4531
  class: "card-body"
4496
4532
  }, [
4497
- createVNode(_sfc_main$c, {
4533
+ !unref(isEmptyData) ? (openBlock(), createBlock(_sfc_main$c, {
4534
+ key: 0,
4498
4535
  onChartClick: handleChartClick,
4499
4536
  ref_key: "baseChart",
4500
4537
  ref: baseChart,
4501
4538
  option: unref(chartOption),
4502
4539
  height: "100%"
4503
- }, null, 8, ["option"])
4540
+ }, null, 8, ["option"])) : (openBlock(), createElementBlock("div", _hoisted_2$7, [
4541
+ createElementVNode("img", {
4542
+ src: unref(emptyImg),
4543
+ alt: "empty",
4544
+ class: "empty-image"
4545
+ }, null, 8, _hoisted_3$6),
4546
+ _hoisted_4$6
4547
+ ]))
4504
4548
  ], 12, _hoisted_1$9)), [
4505
4549
  [_directive_loading, __props.loading]
4506
4550
  ])
4507
4551
  ]),
4508
- _: 1
4509
- }, 8, ["style"]);
4552
+ _: 2
4553
+ }, [
4554
+ __props.showCardHeader ? {
4555
+ name: "header",
4556
+ fn: withCtx(() => [
4557
+ renderSlot(_ctx.$slots, "header", {}, () => [
4558
+ createElementVNode("div", {
4559
+ class: "card-header",
4560
+ style: normalizeStyle(unref(cardHeaderStyle))
4561
+ }, [
4562
+ createElementVNode("span", {
4563
+ class: "card-title",
4564
+ style: normalizeStyle(unref(cardTitleStyle))
4565
+ }, toDisplayString(__props.title), 5)
4566
+ ], 4)
4567
+ ], true)
4568
+ ]),
4569
+ key: "0"
4570
+ } : void 0
4571
+ ]), 1032, ["style"]);
4510
4572
  };
4511
4573
  }
4512
4574
  };
4513
- const SCTJPieChart = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-c3a3e060"]]);
4575
+ const SCTJPieChart = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-21c095e8"]]);
4514
4576
  const generateShortId = () => {
4515
4577
  return Math.random().toString(36).substring(2, 8);
4516
4578
  };