sctj-components 1.0.76 → 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",
@@ -3689,14 +3689,14 @@ const _sfc_main$c = {
3689
3689
  };
3690
3690
  const emptyImg = "data:image/png;base64,";
3691
3691
  const CommonChart_vue_vue_type_style_index_0_scoped_2f3b9e13_lang = "";
3692
- 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);
3693
3693
  const _hoisted_1$a = ["element-loading-background"];
3694
- const _hoisted_2$7 = {
3694
+ const _hoisted_2$8 = {
3695
3695
  key: 1,
3696
3696
  class: "empty-wrapper"
3697
3697
  };
3698
- const _hoisted_3$6 = ["src"];
3699
- 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));
3700
3700
  const _sfc_main$b = {
3701
3701
  __name: "CommonChart",
3702
3702
  props: {
@@ -4228,13 +4228,13 @@ const _sfc_main$b = {
4228
4228
  ref_key: "baseChartRef",
4229
4229
  ref: baseChartRef,
4230
4230
  option: unref(option)
4231
- }, null, 8, ["option"])) : (openBlock(), createElementBlock("div", _hoisted_2$7, [
4231
+ }, null, 8, ["option"])) : (openBlock(), createElementBlock("div", _hoisted_2$8, [
4232
4232
  createElementVNode("img", {
4233
4233
  src: unref(emptyImg),
4234
4234
  alt: "empty",
4235
4235
  class: "empty-image"
4236
- }, null, 8, _hoisted_3$6),
4237
- _hoisted_4$6
4236
+ }, null, 8, _hoisted_3$7),
4237
+ _hoisted_4$7
4238
4238
  ]))
4239
4239
  ], 12, _hoisted_1$a)), [
4240
4240
  [_directive_loading, __props.loading]
@@ -4264,26 +4264,43 @@ const _sfc_main$b = {
4264
4264
  }
4265
4265
  };
4266
4266
  const SCTJCommonChart = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-2f3b9e13"]]);
4267
- 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);
4268
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));
4269
4276
  const _sfc_main$a = {
4270
4277
  __name: "PieChart",
4271
4278
  props: {
4272
- title: { type: String, required: true },
4279
+ title: { type: String },
4273
4280
  loading: { type: Boolean, default: false },
4274
4281
  height: { type: String, default: "300px" },
4275
4282
  mode: { type: String, default: "light" },
4283
+ showCardHeader: { type: Boolean, default: true },
4284
+ backgroundColor: { type: String, default: "" },
4276
4285
  data: {
4277
4286
  type: Array,
4278
4287
  required: true
4279
4288
  },
4289
+ labelField: {
4290
+ type: String,
4291
+ default: "name"
4292
+ },
4293
+ valueField: {
4294
+ type: String,
4295
+ default: "value"
4296
+ },
4280
4297
  center: {
4281
4298
  type: Array,
4282
4299
  default: () => ["50%", "50%"]
4283
4300
  },
4284
4301
  radius: {
4285
4302
  type: Array,
4286
- default: () => ["0%", "70%"]
4303
+ default: () => ["50%", "70%"]
4287
4304
  },
4288
4305
  type: {
4289
4306
  type: String,
@@ -4292,17 +4309,20 @@ const _sfc_main$a = {
4292
4309
  return ["pie", "doughnut", "rose"].indexOf(value) !== -1;
4293
4310
  }
4294
4311
  },
4295
- showCenterText: {
4296
- type: Boolean,
4297
- default: false
4298
- },
4299
4312
  centerText: {
4300
4313
  type: String,
4301
4314
  default: ""
4302
4315
  },
4316
+ centerTextPosition: {
4317
+ type: Object,
4318
+ default: () => ({
4319
+ left: "center",
4320
+ top: "center"
4321
+ })
4322
+ },
4303
4323
  labelPosition: {
4304
4324
  type: String,
4305
- default: "inside",
4325
+ default: "outside",
4306
4326
  validator: function(value) {
4307
4327
  return ["inside", "outside"].indexOf(value) !== -1;
4308
4328
  }
@@ -4317,11 +4337,20 @@ const _sfc_main$a = {
4317
4337
  colors: {
4318
4338
  type: Array,
4319
4339
  default: () => []
4340
+ },
4341
+ labelFormatter: {
4342
+ type: Function,
4343
+ default: null
4344
+ },
4345
+ tooltipFormatter: {
4346
+ type: Function,
4347
+ default: null
4320
4348
  }
4321
4349
  },
4322
4350
  emits: ["chartClick"],
4323
4351
  setup(__props, { emit }) {
4324
4352
  const props = __props;
4353
+ const { isMobile } = useMobile();
4325
4354
  const baseChart = ref$1(null);
4326
4355
  const resizeObserver = ref$1(null);
4327
4356
  const defaultColors = [
@@ -4381,6 +4410,9 @@ const _sfc_main$a = {
4381
4410
  const loadingColor = computed$1(() => {
4382
4411
  return props.mode === "dark" ? "rgba(25, 70, 144, .9)" : "rgba(255, 255, 255, .9)";
4383
4412
  });
4413
+ const isEmptyData = computed$1(() => {
4414
+ return !props.data || !Array.isArray(props.data) || props.data.length === 0;
4415
+ });
4384
4416
  const radiusConfig = computed$1(() => {
4385
4417
  switch (props.type) {
4386
4418
  case "doughnut":
@@ -4397,10 +4429,16 @@ const _sfc_main$a = {
4397
4429
  });
4398
4430
  const chartOption = computed$1(() => {
4399
4431
  return {
4432
+ appendToBody: !isMobile.value,
4400
4433
  color: props.colors.length > 0 ? props.colors : defaultColors,
4401
4434
  tooltip: {
4402
4435
  trigger: "item",
4403
- 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
+ },
4404
4442
  ...props.mode === "dark" ? {
4405
4443
  backgroundColor: "#194690",
4406
4444
  textStyle: {
@@ -4410,6 +4448,7 @@ const _sfc_main$a = {
4410
4448
  } : {}
4411
4449
  },
4412
4450
  legend: {
4451
+ type: "scroll",
4413
4452
  orient: "horizontal",
4414
4453
  bottom: "0",
4415
4454
  ...props.mode === "dark" ? {
@@ -4418,10 +4457,9 @@ const _sfc_main$a = {
4418
4457
  }
4419
4458
  } : {}
4420
4459
  },
4421
- graphic: props.showCenterText ? [{
4460
+ graphic: props.centerText ? [{
4422
4461
  type: "text",
4423
- left: "center",
4424
- top: "middle",
4462
+ ...props.centerTextPosition,
4425
4463
  style: {
4426
4464
  text: props.centerText,
4427
4465
  fontSize: 20,
@@ -4433,7 +4471,10 @@ const _sfc_main$a = {
4433
4471
  type: "pie",
4434
4472
  radius: radiusConfig.value,
4435
4473
  center: props.center,
4436
- data: props.data,
4474
+ data: props.data.map((item) => ({
4475
+ name: item[props.labelField],
4476
+ value: item[props.valueField]
4477
+ })),
4437
4478
  ...props.type === "rose" ? { roseType: props.roseType } : {},
4438
4479
  emphasis: {
4439
4480
  itemStyle: {
@@ -4445,7 +4486,12 @@ const _sfc_main$a = {
4445
4486
  label: {
4446
4487
  show: true,
4447
4488
  position: props.labelPosition,
4448
- 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
+ },
4449
4495
  ...props.mode === "dark" ? {
4450
4496
  color: "#fff"
4451
4497
  } : {}
@@ -4477,41 +4523,56 @@ const _sfc_main$a = {
4477
4523
  return openBlock(), createBlock(_component_el_card, {
4478
4524
  class: "card-container",
4479
4525
  style: normalizeStyle(unref(cardContainerStyle))
4480
- }, {
4481
- header: withCtx(() => [
4482
- createElementVNode("div", {
4483
- class: "card-header",
4484
- style: normalizeStyle(unref(cardHeaderStyle))
4485
- }, [
4486
- createElementVNode("span", {
4487
- class: "card-title",
4488
- style: normalizeStyle(unref(cardTitleStyle))
4489
- }, toDisplayString(__props.title), 5)
4490
- ], 4)
4491
- ]),
4526
+ }, createSlots({
4492
4527
  default: withCtx(() => [
4493
4528
  withDirectives((openBlock(), createElementBlock("div", {
4494
4529
  "element-loading-background": unref(loadingColor),
4495
4530
  style: normalizeStyle({ height: __props.height }),
4496
4531
  class: "card-body"
4497
4532
  }, [
4498
- createVNode(_sfc_main$c, {
4533
+ !unref(isEmptyData) ? (openBlock(), createBlock(_sfc_main$c, {
4534
+ key: 0,
4499
4535
  onChartClick: handleChartClick,
4500
4536
  ref_key: "baseChart",
4501
4537
  ref: baseChart,
4502
4538
  option: unref(chartOption),
4503
4539
  height: "100%"
4504
- }, 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
+ ]))
4505
4548
  ], 12, _hoisted_1$9)), [
4506
4549
  [_directive_loading, __props.loading]
4507
4550
  ])
4508
4551
  ]),
4509
- _: 1
4510
- }, 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"]);
4511
4572
  };
4512
4573
  }
4513
4574
  };
4514
- 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"]]);
4515
4576
  const generateShortId = () => {
4516
4577
  return Math.random().toString(36).substring(2, 8);
4517
4578
  };