sctj-components 1.0.55 → 1.0.57

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.
@@ -2,7 +2,7 @@ import { computed as computed$1, resolveComponent, openBlock, createElementBlock
2
2
  import VueOfficePdf from "@vue-office/pdf";
3
3
  import VueOfficeDocx from "@vue-office/docx";
4
4
  import VueOfficeExcel from "@vue-office/excel";
5
- import { View, Download, Delete, Plus, Picture, Search, Loading, UploadFilled, QuestionFilled } from "@element-plus/icons-vue";
5
+ import { View, Download, Delete, Plus, Picture, Search, Loading, UploadFilled, QuestionFilled, VideoPlay, VideoPause, RefreshRight } from "@element-plus/icons-vue";
6
6
  import { ElMessage, ElLoading, ElMessageBox, ElButton, ElIcon } from "element-plus";
7
7
  import * as echarts from "echarts";
8
8
  import { throttle, isEqual } from "lodash";
@@ -38,9 +38,9 @@ const _export_sfc = (sfc, props) => {
38
38
  }
39
39
  return target;
40
40
  };
41
- const _hoisted_1$n = { class: "dict-tag-container" };
41
+ const _hoisted_1$o = { class: "dict-tag-container" };
42
42
  const _hoisted_2$e = ["index"];
43
- const _sfc_main$u = {
43
+ const _sfc_main$v = {
44
44
  __name: "index",
45
45
  props: {
46
46
  options: {
@@ -60,7 +60,7 @@ const _sfc_main$u = {
60
60
  });
61
61
  return (_ctx, _cache) => {
62
62
  const _component_el_tag = resolveComponent("el-tag");
63
- return openBlock(), createElementBlock("div", _hoisted_1$n, [
63
+ return openBlock(), createElementBlock("div", _hoisted_1$o, [
64
64
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (item, index2) => {
65
65
  return openBlock(), createElementBlock(Fragment, null, [
66
66
  unref(values).includes(item.value) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
@@ -87,10 +87,10 @@ const _sfc_main$u = {
87
87
  };
88
88
  }
89
89
  };
90
- const SCTJDictTag = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-659e1d01"]]);
90
+ const SCTJDictTag = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-659e1d01"]]);
91
91
  const index_vue_vue_type_style_index_0_scope_true_lang = "";
92
- const _hoisted_1$m = ["xlink:href", "fill"];
93
- const _sfc_main$t = {
92
+ const _hoisted_1$n = ["xlink:href", "fill"];
93
+ const _sfc_main$u = {
94
94
  __name: "index",
95
95
  props: {
96
96
  iconClass: {
@@ -123,7 +123,7 @@ const _sfc_main$t = {
123
123
  createElementVNode("use", {
124
124
  "xlink:href": unref(iconName),
125
125
  fill: __props.color
126
- }, null, 8, _hoisted_1$m)
126
+ }, null, 8, _hoisted_1$n)
127
127
  ], 2);
128
128
  };
129
129
  }
@@ -132,14 +132,14 @@ const index$2 = "";
132
132
  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
- const _hoisted_1$l = { class: "upload-file" };
135
+ const _hoisted_1$m = { class: "upload-file" };
136
136
  const _hoisted_2$d = { class: "el-upload__tip" };
137
137
  const _hoisted_3$a = { style: { "color": "#f56c6c" } };
138
138
  const _hoisted_4$8 = { style: { "color": "#f56c6c" } };
139
139
  const _hoisted_5$6 = ["title"];
140
140
  const _hoisted_6$3 = { class: "ele-upload-list__item-content-action" };
141
141
  const _hoisted_7$3 = { style: { "width": "100%", "height": "100%", "overflow": "auto" } };
142
- const _sfc_main$s = {
142
+ const _sfc_main$t = {
143
143
  __name: "index",
144
144
  props: {
145
145
  modelValue: [String, Object, Array],
@@ -371,7 +371,7 @@ const _sfc_main$s = {
371
371
  const _component_el_icon = resolveComponent("el-icon");
372
372
  const _component_el_image = resolveComponent("el-image");
373
373
  const _component_el_dialog = resolveComponent("el-dialog");
374
- return openBlock(), createElementBlock("div", _hoisted_1$l, [
374
+ return openBlock(), createElementBlock("div", _hoisted_1$m, [
375
375
  !__props.disabled ? (openBlock(), createBlock(_component_el_upload, mergeProps({
376
376
  key: 0,
377
377
  multiple: "",
@@ -517,9 +517,9 @@ const _sfc_main$s = {
517
517
  };
518
518
  }
519
519
  };
520
- const SCTJFileUpload = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-006fbc77"]]);
520
+ const SCTJFileUpload = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-006fbc77"]]);
521
521
  const index_vue_vue_type_style_index_0_scoped_672e5149_lang = "";
522
- const _hoisted_1$k = { class: "component-upload-image" };
522
+ const _hoisted_1$l = { class: "component-upload-image" };
523
523
  const _hoisted_2$c = {
524
524
  key: 0,
525
525
  class: "el-upload__tip"
@@ -527,7 +527,7 @@ const _hoisted_2$c = {
527
527
  const _hoisted_3$9 = { style: { "color": "#f56c6c" } };
528
528
  const _hoisted_4$7 = { style: { "color": "#f56c6c" } };
529
529
  const _hoisted_5$5 = ["src"];
530
- const _sfc_main$r = {
530
+ const _sfc_main$s = {
531
531
  __name: "index",
532
532
  props: {
533
533
  modelValue: {
@@ -728,7 +728,7 @@ const _sfc_main$r = {
728
728
  const _component_el_icon = resolveComponent("el-icon");
729
729
  const _component_el_upload = resolveComponent("el-upload");
730
730
  const _component_el_dialog = resolveComponent("el-dialog");
731
- return openBlock(), createElementBlock("div", _hoisted_1$k, [
731
+ return openBlock(), createElementBlock("div", _hoisted_1$l, [
732
732
  createVNode(_component_el_upload, mergeProps({
733
733
  disabled: props.disabled,
734
734
  multiple: "",
@@ -791,10 +791,10 @@ const _sfc_main$r = {
791
791
  };
792
792
  }
793
793
  };
794
- const SCTJImageUpload = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-672e5149"]]);
794
+ const SCTJImageUpload = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-672e5149"]]);
795
795
  const index_vue_vue_type_style_index_0_scoped_e91fd2ba_lang = "";
796
- const _hoisted_1$j = { class: "image-slot" };
797
- const _sfc_main$q = {
796
+ const _hoisted_1$k = { class: "image-slot" };
797
+ const _sfc_main$r = {
798
798
  __name: "index",
799
799
  props: {
800
800
  enableDelete: {
@@ -908,7 +908,7 @@ const _sfc_main$q = {
908
908
  "preview-src-list": unref(realSrcList)
909
909
  }, {
910
910
  error: withCtx(() => [
911
- createElementVNode("div", _hoisted_1$j, [
911
+ createElementVNode("div", _hoisted_1$k, [
912
912
  createVNode(_component_el_icon, { class: "el-icon-picture-outline" }, {
913
913
  default: withCtx(() => [
914
914
  createVNode(unref(Picture))
@@ -925,7 +925,7 @@ const _sfc_main$q = {
925
925
  };
926
926
  }
927
927
  };
928
- const SCTJImagePreview = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-e91fd2ba"]]);
928
+ const SCTJImagePreview = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-e91fd2ba"]]);
929
929
  const icons = [
930
930
  "404",
931
931
  "asset",
@@ -1017,10 +1017,10 @@ const icons = [
1017
1017
  "zip"
1018
1018
  ];
1019
1019
  const index_vue_vue_type_style_index_0_scoped_37029e19_lang = "";
1020
- const _hoisted_1$i = { class: "icon-content" };
1020
+ const _hoisted_1$j = { class: "icon-content" };
1021
1021
  const _hoisted_2$b = { class: "icon-list" };
1022
1022
  const _hoisted_3$8 = ["onClick"];
1023
- const _sfc_main$p = {
1023
+ const _sfc_main$q = {
1024
1024
  __name: "index",
1025
1025
  props: {
1026
1026
  modelValue: {
@@ -1111,12 +1111,12 @@ const _sfc_main$p = {
1111
1111
  unref(iconName) ? {
1112
1112
  name: "prefix",
1113
1113
  fn: withCtx(() => [
1114
- createVNode(_sfc_main$t, { "icon-class": unref(iconName) }, null, 8, ["icon-class"])
1114
+ createVNode(_sfc_main$u, { "icon-class": unref(iconName) }, null, 8, ["icon-class"])
1115
1115
  ]),
1116
1116
  key: "0"
1117
1117
  } : void 0
1118
1118
  ]), 1032, ["modelValue"]),
1119
- withDirectives(createElementVNode("div", _hoisted_1$i, [
1119
+ withDirectives(createElementVNode("div", _hoisted_1$j, [
1120
1120
  createElementVNode("div", null, [
1121
1121
  createVNode(_component_el_input, {
1122
1122
  modelValue: keyWord.value,
@@ -1144,7 +1144,7 @@ const _sfc_main$p = {
1144
1144
  key: index2,
1145
1145
  onClick: ($event) => selectedIcon(item)
1146
1146
  }, [
1147
- createVNode(_sfc_main$t, {
1147
+ createVNode(_sfc_main$u, {
1148
1148
  "icon-class": item,
1149
1149
  style: { "height": "30px", "width": "16px", "flex-shrink": "0" }
1150
1150
  }, null, 8, ["icon-class"]),
@@ -1159,7 +1159,7 @@ const _sfc_main$p = {
1159
1159
  };
1160
1160
  }
1161
1161
  };
1162
- const SCTJIconSelect = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-37029e19"]]);
1162
+ const SCTJIconSelect = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-37029e19"]]);
1163
1163
  function useMobile() {
1164
1164
  const isMobile = ref$1(false);
1165
1165
  const checkIsMobile = () => {
@@ -1186,7 +1186,7 @@ function useMobile() {
1186
1186
  checkIsMobile
1187
1187
  };
1188
1188
  }
1189
- const _sfc_main$o = {
1189
+ const _sfc_main$p = {
1190
1190
  __name: "index",
1191
1191
  props: {
1192
1192
  modelValue: {
@@ -1291,8 +1291,8 @@ const _sfc_main$o = {
1291
1291
  }
1292
1292
  };
1293
1293
  const index_vue_vue_type_style_index_0_scoped_a2fe1763_lang = "";
1294
- const _hoisted_1$h = { class: "el-tree-select" };
1295
- const _sfc_main$n = {
1294
+ const _hoisted_1$i = { class: "el-tree-select" };
1295
+ const _sfc_main$o = {
1296
1296
  __name: "index",
1297
1297
  props: {
1298
1298
  objMap: {
@@ -1386,7 +1386,7 @@ const _sfc_main$n = {
1386
1386
  const _component_el_tree = resolveComponent("el-tree");
1387
1387
  const _component_el_option = resolveComponent("el-option");
1388
1388
  const _component_el_select = resolveComponent("el-select");
1389
- return openBlock(), createElementBlock("div", _hoisted_1$h, [
1389
+ return openBlock(), createElementBlock("div", _hoisted_1$i, [
1390
1390
  createVNode(_component_el_select, {
1391
1391
  style: { "width": "100%" },
1392
1392
  modelValue: unref(valueId),
@@ -1426,8 +1426,8 @@ const _sfc_main$n = {
1426
1426
  };
1427
1427
  }
1428
1428
  };
1429
- const SCTJTreeSelect = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-a2fe1763"]]);
1430
- const _sfc_main$m = {
1429
+ const SCTJTreeSelect = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-a2fe1763"]]);
1430
+ const _sfc_main$n = {
1431
1431
  __name: "index",
1432
1432
  props: {
1433
1433
  modelValue: {
@@ -1491,7 +1491,7 @@ const _sfc_main$m = {
1491
1491
  };
1492
1492
  }
1493
1493
  };
1494
- const _sfc_main$l = {
1494
+ const _sfc_main$m = {
1495
1495
  __name: "index",
1496
1496
  props: {
1497
1497
  modelValue: {
@@ -1549,9 +1549,9 @@ const _sfc_main$l = {
1549
1549
  }
1550
1550
  };
1551
1551
  const index_vue_vue_type_style_index_0_scoped_1c87997b_lang = "";
1552
- const _hoisted_1$g = { class: "time-line-slider-container" };
1552
+ const _hoisted_1$h = { class: "time-line-slider-container" };
1553
1553
  const _hoisted_2$a = { class: "time-line-slider-wrapper" };
1554
- const _sfc_main$k = {
1554
+ const _sfc_main$l = {
1555
1555
  __name: "index",
1556
1556
  props: {
1557
1557
  timeConfig: {
@@ -1796,7 +1796,7 @@ const _sfc_main$k = {
1796
1796
  const _component_el_slider = resolveComponent("el-slider");
1797
1797
  const _component_el_option = resolveComponent("el-option");
1798
1798
  const _component_el_select = resolveComponent("el-select");
1799
- return openBlock(), createElementBlock("div", _hoisted_1$g, [
1799
+ return openBlock(), createElementBlock("div", _hoisted_1$h, [
1800
1800
  createElementVNode("div", _hoisted_2$a, [
1801
1801
  createVNode(_component_el_slider, {
1802
1802
  style: normalizeStyle({ width: unref(sliderWidth) }),
@@ -1834,10 +1834,10 @@ const _sfc_main$k = {
1834
1834
  };
1835
1835
  }
1836
1836
  };
1837
- const SCTJTimeLineSelect = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-1c87997b"]]);
1837
+ const SCTJTimeLineSelect = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-1c87997b"]]);
1838
1838
  const index_vue_vue_type_style_index_0_scoped_0e809a5c_lang = "";
1839
- const _hoisted_1$f = { class: "table-container" };
1840
- const _sfc_main$j = {
1839
+ const _hoisted_1$g = { class: "table-container" };
1840
+ const _sfc_main$k = {
1841
1841
  __name: "index",
1842
1842
  props: {
1843
1843
  request: {
@@ -2093,7 +2093,7 @@ const _sfc_main$j = {
2093
2093
  class: "TJ-table-container",
2094
2094
  style: normalizeStyle({ height: __props.height })
2095
2095
  }, [
2096
- createElementVNode("div", _hoisted_1$f, [
2096
+ createElementVNode("div", _hoisted_1$g, [
2097
2097
  createVNode(_component_el_table, mergeProps({
2098
2098
  ref_key: "tableRef",
2099
2099
  ref: tableRef,
@@ -2173,18 +2173,18 @@ const _sfc_main$j = {
2173
2173
  };
2174
2174
  }
2175
2175
  };
2176
- const SCTJTable = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-0e809a5c"]]);
2176
+ const SCTJTable = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-0e809a5c"]]);
2177
2177
  const index_vue_vue_type_style_index_0_scoped_45fb95db_lang = "";
2178
- const _sfc_main$i = {};
2179
- const _hoisted_1$e = { class: "table-container" };
2178
+ const _sfc_main$j = {};
2179
+ const _hoisted_1$f = { class: "table-container" };
2180
2180
  function _sfc_render(_ctx, _cache) {
2181
- return openBlock(), createElementBlock("div", _hoisted_1$e, [
2181
+ return openBlock(), createElementBlock("div", _hoisted_1$f, [
2182
2182
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
2183
2183
  ]);
2184
2184
  }
2185
- const SCTJTableContainer = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["render", _sfc_render], ["__scopeId", "data-v-45fb95db"]]);
2185
+ const SCTJTableContainer = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["render", _sfc_render], ["__scopeId", "data-v-45fb95db"]]);
2186
2186
  const index_vue_vue_type_style_index_0_scoped_46df4461_lang = "";
2187
- const _sfc_main$h = {
2187
+ const _sfc_main$i = {
2188
2188
  __name: "index",
2189
2189
  props: {
2190
2190
  showSearch: {
@@ -2328,10 +2328,10 @@ const _sfc_main$h = {
2328
2328
  };
2329
2329
  }
2330
2330
  };
2331
- const SCTJRightToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-46df4461"]]);
2331
+ const SCTJRightToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-46df4461"]]);
2332
2332
  const index_vue_vue_type_style_index_0_scoped_056cfdde_lang = "";
2333
- const _hoisted_1$d = { class: "table-top-action-container" };
2334
- const _sfc_main$g = {
2333
+ const _hoisted_1$e = { class: "table-top-action-container" };
2334
+ const _sfc_main$h = {
2335
2335
  __name: "index",
2336
2336
  props: {
2337
2337
  showSearch: {
@@ -2358,7 +2358,7 @@ const _sfc_main$g = {
2358
2358
  emit("refresh");
2359
2359
  };
2360
2360
  return (_ctx, _cache) => {
2361
- return openBlock(), createElementBlock("div", _hoisted_1$d, [
2361
+ return openBlock(), createElementBlock("div", _hoisted_1$e, [
2362
2362
  renderSlot(_ctx.$slots, "left", {}, void 0, true),
2363
2363
  renderSlot(_ctx.$slots, "right", {}, () => [
2364
2364
  createVNode(SCTJRightToolbar, {
@@ -2372,10 +2372,10 @@ const _sfc_main$g = {
2372
2372
  };
2373
2373
  }
2374
2374
  };
2375
- const SCTJTableTopActionContainer = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-056cfdde"]]);
2375
+ const SCTJTableTopActionContainer = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-056cfdde"]]);
2376
2376
  const index_vue_vue_type_style_index_0_scoped_26db7104_lang = "";
2377
2377
  const _withScopeId$5 = (n) => (pushScopeId("data-v-26db7104"), n = n(), popScopeId(), n);
2378
- const _hoisted_1$c = {
2378
+ const _hoisted_1$d = {
2379
2379
  key: 0,
2380
2380
  class: "search-container"
2381
2381
  };
@@ -2389,7 +2389,7 @@ const _hoisted_5$4 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ create
2389
2389
  const _hoisted_6$2 = { class: "tag-container" };
2390
2390
  const _hoisted_7$2 = { class: "tag-name" };
2391
2391
  const _hoisted_8$2 = { class: "dialog-footer" };
2392
- const _sfc_main$f = {
2392
+ const _sfc_main$g = {
2393
2393
  __name: "index",
2394
2394
  props: {
2395
2395
  mode: {
@@ -2671,7 +2671,7 @@ const _sfc_main$f = {
2671
2671
  ])
2672
2672
  ]),
2673
2673
  default: withCtx(() => [
2674
- unref(queryColumns).length ? (openBlock(), createElementBlock("div", _hoisted_1$c, [
2674
+ unref(queryColumns).length ? (openBlock(), createElementBlock("div", _hoisted_1$d, [
2675
2675
  createVNode(_component_el_card, { shadow: "hover" }, {
2676
2676
  default: withCtx(() => [
2677
2677
  createVNode(_component_el_form, {
@@ -2899,10 +2899,10 @@ const _sfc_main$f = {
2899
2899
  };
2900
2900
  }
2901
2901
  };
2902
- const SCTJDialogTable = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-26db7104"]]);
2902
+ const SCTJDialogTable = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-26db7104"]]);
2903
2903
  const index_vue_vue_type_style_index_0_scoped_80cb4921_lang = "";
2904
- const _hoisted_1$b = { style: { "background": "#fff" } };
2905
- const _sfc_main$e = {
2904
+ const _hoisted_1$c = { style: { "background": "#fff" } };
2905
+ const _sfc_main$f = {
2906
2906
  __name: "index",
2907
2907
  props: {
2908
2908
  tableData: {
@@ -3189,7 +3189,7 @@ const _sfc_main$e = {
3189
3189
  const _component_el_table = resolveComponent("el-table");
3190
3190
  const _component_el_pagination = resolveComponent("el-pagination");
3191
3191
  const _directive_loading = resolveDirective("loading");
3192
- return openBlock(), createElementBlock("div", _hoisted_1$b, [
3192
+ return openBlock(), createElementBlock("div", _hoisted_1$c, [
3193
3193
  withDirectives((openBlock(), createBlock(_component_el_table, mergeProps({
3194
3194
  size: unref(isMobile) ? "small" : "default",
3195
3195
  ref_key: "tableRef",
@@ -3249,8 +3249,8 @@ const _sfc_main$e = {
3249
3249
  };
3250
3250
  }
3251
3251
  };
3252
- const SCTJScrollTable = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-80cb4921"]]);
3253
- const _sfc_main$d = {
3252
+ const SCTJScrollTable = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-80cb4921"]]);
3253
+ const _sfc_main$e = {
3254
3254
  __name: "index",
3255
3255
  setup(__props) {
3256
3256
  const { isMobile } = useMobile();
@@ -3299,9 +3299,9 @@ const _sfc_main$d = {
3299
3299
  }
3300
3300
  };
3301
3301
  const index_vue_vue_type_style_index_0_scoped_48dc11be_lang = "";
3302
- const _hoisted_1$a = { class: "table-page-container" };
3302
+ const _hoisted_1$b = { class: "table-page-container" };
3303
3303
  const _hoisted_2$8 = { style: { "flex": "1", "height": "0" } };
3304
- const _sfc_main$c = {
3304
+ const _sfc_main$d = {
3305
3305
  __name: "index",
3306
3306
  props: {
3307
3307
  showSearch: {
@@ -3328,7 +3328,7 @@ const _sfc_main$c = {
3328
3328
  emit("update:showSearch", !newVal);
3329
3329
  }, { immediate: true });
3330
3330
  return (_ctx, _cache) => {
3331
- return openBlock(), createElementBlock("div", _hoisted_1$a, [
3331
+ return openBlock(), createElementBlock("div", _hoisted_1$b, [
3332
3332
  renderSlot(_ctx.$slots, "search", {}, void 0, true),
3333
3333
  createVNode(SCTJTableTopActionContainer, {
3334
3334
  showSearch: unref(outSearch),
@@ -3348,9 +3348,9 @@ const _sfc_main$c = {
3348
3348
  };
3349
3349
  }
3350
3350
  };
3351
- const SCTJTablePageContainer = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-48dc11be"]]);
3351
+ const SCTJTablePageContainer = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-48dc11be"]]);
3352
3352
  const index_vue_vue_type_style_index_0_scoped_6e30b57f_lang = "";
3353
- const _hoisted_1$9 = {
3353
+ const _hoisted_1$a = {
3354
3354
  key: 0,
3355
3355
  class: "search-container"
3356
3356
  };
@@ -3358,7 +3358,7 @@ const _hoisted_2$7 = {
3358
3358
  key: 1,
3359
3359
  class: "custom-drawer"
3360
3360
  };
3361
- const _sfc_main$b = {
3361
+ const _sfc_main$c = {
3362
3362
  __name: "index",
3363
3363
  props: {
3364
3364
  visible: {
@@ -3375,7 +3375,7 @@ const _sfc_main$b = {
3375
3375
  return (_ctx, _cache) => {
3376
3376
  const _component_el_card = resolveComponent("el-card");
3377
3377
  const _component_el_drawer = resolveComponent("el-drawer");
3378
- return !unref(isMobile) ? withDirectives((openBlock(), createElementBlock("div", _hoisted_1$9, [
3378
+ return !unref(isMobile) ? withDirectives((openBlock(), createElementBlock("div", _hoisted_1$a, [
3379
3379
  createVNode(_component_el_card, null, {
3380
3380
  default: withCtx(() => [
3381
3381
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
@@ -3400,8 +3400,8 @@ const _sfc_main$b = {
3400
3400
  };
3401
3401
  }
3402
3402
  };
3403
- const SCTJSearch = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-6e30b57f"]]);
3404
- const _sfc_main$a = {
3403
+ const SCTJSearch = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-6e30b57f"]]);
3404
+ const _sfc_main$b = {
3405
3405
  __name: "BaseChart",
3406
3406
  props: {
3407
3407
  option: {
@@ -3505,14 +3505,14 @@ const _sfc_main$a = {
3505
3505
  const emptyImg = "data:image/png;base64,";
3506
3506
  const CommonChart_vue_vue_type_style_index_0_scoped_2f3b9e13_lang = "";
3507
3507
  const _withScopeId$4 = (n) => (pushScopeId("data-v-2f3b9e13"), n = n(), popScopeId(), n);
3508
- const _hoisted_1$8 = ["element-loading-background"];
3508
+ const _hoisted_1$9 = ["element-loading-background"];
3509
3509
  const _hoisted_2$6 = {
3510
3510
  key: 1,
3511
3511
  class: "empty-wrapper"
3512
3512
  };
3513
3513
  const _hoisted_3$6 = ["src"];
3514
3514
  const _hoisted_4$5 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createElementVNode("div", { class: "empty-text" }, "\u6682\u65E0\u6570\u636E", -1));
3515
- const _sfc_main$9 = {
3515
+ const _sfc_main$a = {
3516
3516
  __name: "CommonChart",
3517
3517
  props: {
3518
3518
  height: { type: String, default: "300px" },
@@ -4036,7 +4036,7 @@ const _sfc_main$9 = {
4036
4036
  style: normalizeStyle({ height: __props.height }),
4037
4037
  class: "card-body"
4038
4038
  }, [
4039
- !unref(isEmptyData) ? (openBlock(), createBlock(_sfc_main$a, {
4039
+ !unref(isEmptyData) ? (openBlock(), createBlock(_sfc_main$b, {
4040
4040
  key: 0,
4041
4041
  onChartClick: handleChartClick,
4042
4042
  onLegendselectchanged: handleLegendSelectChanged,
@@ -4051,7 +4051,7 @@ const _sfc_main$9 = {
4051
4051
  }, null, 8, _hoisted_3$6),
4052
4052
  _hoisted_4$5
4053
4053
  ]))
4054
- ], 12, _hoisted_1$8)), [
4054
+ ], 12, _hoisted_1$9)), [
4055
4055
  [_directive_loading, __props.loading]
4056
4056
  ])
4057
4057
  ]),
@@ -4078,10 +4078,10 @@ const _sfc_main$9 = {
4078
4078
  };
4079
4079
  }
4080
4080
  };
4081
- const SCTJCommonChart = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-2f3b9e13"]]);
4081
+ const SCTJCommonChart = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-2f3b9e13"]]);
4082
4082
  const PieChart_vue_vue_type_style_index_0_scoped_747db0fa_lang = "";
4083
- const _hoisted_1$7 = ["element-loading-background"];
4084
- const _sfc_main$8 = {
4083
+ const _hoisted_1$8 = ["element-loading-background"];
4084
+ const _sfc_main$9 = {
4085
4085
  __name: "PieChart",
4086
4086
  props: {
4087
4087
  title: { type: String, required: true },
@@ -4306,13 +4306,13 @@ const _sfc_main$8 = {
4306
4306
  style: normalizeStyle({ height: __props.height }),
4307
4307
  class: "card-body"
4308
4308
  }, [
4309
- createVNode(_sfc_main$a, {
4309
+ createVNode(_sfc_main$b, {
4310
4310
  ref_key: "baseChart",
4311
4311
  ref: baseChart,
4312
4312
  option: unref(chartOption),
4313
4313
  height: "100%"
4314
4314
  }, null, 8, ["option"])
4315
- ], 12, _hoisted_1$7)), [
4315
+ ], 12, _hoisted_1$8)), [
4316
4316
  [_directive_loading, __props.loading]
4317
4317
  ])
4318
4318
  ]),
@@ -4321,7 +4321,7 @@ const _sfc_main$8 = {
4321
4321
  };
4322
4322
  }
4323
4323
  };
4324
- const SCTJPieChart = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-747db0fa"]]);
4324
+ const SCTJPieChart = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-747db0fa"]]);
4325
4325
  const generateShortId = () => {
4326
4326
  return Math.random().toString(36).substring(2, 8);
4327
4327
  };
@@ -4349,7 +4349,7 @@ const validateCoordinates = (longitude, latitude) => {
4349
4349
  };
4350
4350
  const index_vue_vue_type_style_index_0_scoped_c613bad1_lang = "";
4351
4351
  const _withScopeId$3 = (n) => (pushScopeId("data-v-c613bad1"), n = n(), popScopeId(), n);
4352
- const _hoisted_1$6 = ["id"];
4352
+ const _hoisted_1$7 = ["id"];
4353
4353
  const _hoisted_2$5 = {
4354
4354
  key: 0,
4355
4355
  class: "error-content"
@@ -4360,7 +4360,7 @@ const _hoisted_4$4 = {
4360
4360
  class: "loading-overlay"
4361
4361
  };
4362
4362
  const _hoisted_5$3 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createElementVNode("p", null, "\u6B63\u5728\u52A0\u8F7D\u64AD\u653E\u5668...", -1));
4363
- const _sfc_main$7 = {
4363
+ const _sfc_main$8 = {
4364
4364
  __name: "index",
4365
4365
  props: {
4366
4366
  playerId: {
@@ -4645,7 +4645,7 @@ const _sfc_main$7 = {
4645
4645
  class: "video-js",
4646
4646
  controls: ""
4647
4647
  }, null, 512)
4648
- ], 8, _hoisted_1$6),
4648
+ ], 8, _hoisted_1$7),
4649
4649
  errorMessage.value ? (openBlock(), createElementBlock("div", _hoisted_2$5, [
4650
4650
  _hoisted_3$5,
4651
4651
  createElementVNode("p", null, toDisplayString(errorMessage.value), 1),
@@ -4674,9 +4674,9 @@ const _sfc_main$7 = {
4674
4674
  };
4675
4675
  }
4676
4676
  };
4677
- const SCTJFlvPlayer = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-c613bad1"]]);
4678
- const _hoisted_1$5 = ["src"];
4679
- const _sfc_main$6 = {
4677
+ const SCTJFlvPlayer = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-c613bad1"]]);
4678
+ const _hoisted_1$6 = ["src"];
4679
+ const _sfc_main$7 = {
4680
4680
  __name: "index",
4681
4681
  props: {
4682
4682
  src: {
@@ -4707,14 +4707,14 @@ const _sfc_main$6 = {
4707
4707
  frameborder: "no",
4708
4708
  style: { "width": "100%", "height": "100%" },
4709
4709
  scrolling: "auto"
4710
- }, null, 8, _hoisted_1$5)
4710
+ }, null, 8, _hoisted_1$6)
4711
4711
  ], 4)), [
4712
4712
  [_directive_loading, unref(loading)]
4713
4713
  ]);
4714
4714
  };
4715
4715
  }
4716
4716
  };
4717
- const _hoisted_1$4 = /* @__PURE__ */ createElementVNode("div", { class: "el-upload__text" }, [
4717
+ const _hoisted_1$5 = /* @__PURE__ */ createElementVNode("div", { class: "el-upload__text" }, [
4718
4718
  /* @__PURE__ */ createTextVNode("\u5C06\u6587\u4EF6\u62D6\u5230\u6B64\u5904\uFF0C\u6216"),
4719
4719
  /* @__PURE__ */ createElementVNode("em", null, "\u70B9\u51FB\u4E0A\u4F20")
4720
4720
  ], -1);
@@ -4725,7 +4725,7 @@ const _hoisted_3$4 = {
4725
4725
  };
4726
4726
  const _hoisted_4$3 = /* @__PURE__ */ createElementVNode("span", null, "\u4EC5\u5141\u8BB8\u5BFC\u5165xls\u3001xlsx\u683C\u5F0F\u6587\u4EF6\u3002", -1);
4727
4727
  const _hoisted_5$2 = { class: "dialog-footer" };
4728
- const _sfc_main$5 = {
4728
+ const _sfc_main$6 = {
4729
4729
  __name: "index",
4730
4730
  props: {
4731
4731
  title: {
@@ -5021,7 +5021,7 @@ const _sfc_main$5 = {
5021
5021
  ]),
5022
5022
  _: 1
5023
5023
  }),
5024
- _hoisted_1$4
5024
+ _hoisted_1$5
5025
5025
  ]),
5026
5026
  _: 1
5027
5027
  }, 8, ["headers", "action", "disabled"])
@@ -5031,8 +5031,8 @@ const _sfc_main$5 = {
5031
5031
  };
5032
5032
  }
5033
5033
  };
5034
- const index_vue_vue_type_style_index_0_scoped_23f6e80a_lang = "";
5035
- const _hoisted_1$3 = { class: "action-container" };
5034
+ const index_vue_vue_type_style_index_0_scoped_0946936d_lang = "";
5035
+ const _hoisted_1$4 = { class: "action-container" };
5036
5036
  const _hoisted_2$3 = {
5037
5037
  key: 0,
5038
5038
  class: "layer-switch"
@@ -5041,7 +5041,7 @@ const _hoisted_3$3 = {
5041
5041
  key: 1,
5042
5042
  class: "legendContainer"
5043
5043
  };
5044
- const _sfc_main$4 = {
5044
+ const _sfc_main$5 = {
5045
5045
  __name: "index",
5046
5046
  props: {
5047
5047
  legendConfig: {
@@ -5110,8 +5110,8 @@ const _sfc_main$4 = {
5110
5110
  setup(__props, { expose, emit }) {
5111
5111
  const props = __props;
5112
5112
  useCssVars((_ctx) => ({
5113
- "21fc5abb": __props.width,
5114
- "03c002d2": __props.height
5113
+ "1dd03d1d": __props.width,
5114
+ "fb2f26a0": __props.height
5115
5115
  }));
5116
5116
  const mapContainer = ref$1(null);
5117
5117
  const map = shallowRef(null);
@@ -5120,6 +5120,7 @@ const _sfc_main$4 = {
5120
5120
  const satelliteLayer = shallowRef(null);
5121
5121
  shallowRef(null);
5122
5122
  const controlBar = shallowRef(null);
5123
+ const toolBar = shallowRef(null);
5123
5124
  const staticMarkerInstances = shallowRef([]);
5124
5125
  const dynamicMarkerInstances = shallowRef([]);
5125
5126
  const polylineInstances = shallowRef([]);
@@ -5301,6 +5302,12 @@ const _sfc_main$4 = {
5301
5302
  controlBar.value = null;
5302
5303
  }
5303
5304
  };
5305
+ const clearMapToolBar = () => {
5306
+ if (toolBar.value) {
5307
+ map.value.removeControl(toolBar.value);
5308
+ toolBar.value = null;
5309
+ }
5310
+ };
5304
5311
  onMounted$1(async () => {
5305
5312
  await initMap();
5306
5313
  handleMapEvents();
@@ -5320,6 +5327,7 @@ const _sfc_main$4 = {
5320
5327
  if (map.value) {
5321
5328
  clearMapEvents();
5322
5329
  clearMapControlBar();
5330
+ clearMapToolBar();
5323
5331
  clearStaticMarkers();
5324
5332
  clearDynamicMarkers();
5325
5333
  clearPolylines();
@@ -5349,13 +5357,14 @@ const _sfc_main$4 = {
5349
5357
  const AMap2 = await AMapLoader.load({
5350
5358
  key: props.amapKey,
5351
5359
  version: "2.0",
5352
- plugins: ["AMap.Marker", "AMap.Polyline", "AMap.Polygon", "AMap.BezierCurve", "AMap.Circle", "AMap.Text", "AMap.LabelMarker", "AMap.BezierCurveEditor", "AMap.TileLayer.Satellite", "AMap.ControlBar", "AMap.OverlayGroup"]
5360
+ plugins: ["AMap.Marker", "AMap.Polyline", "AMap.Polygon", "AMap.BezierCurve", "AMap.Circle", "AMap.Text", "AMap.LabelMarker", "AMap.BezierCurveEditor", "AMap.TileLayer.Satellite", "AMap.ControlBar", "AMap.OverlayGroup", "AMap.ToolBar"]
5353
5361
  });
5354
5362
  const mapConfig = {
5355
5363
  viewMode: props.viewMode,
5356
5364
  zoom: 15,
5357
5365
  mapStyle: props.mapStyle,
5358
- center: parsePosition(props.center) || [116.397428, 39.90923]
5366
+ center: parsePosition(props.center) || [116.397428, 39.90923],
5367
+ zooms: [3, 25]
5359
5368
  };
5360
5369
  if (props.viewMode === "3D") {
5361
5370
  mapConfig.pitch = 45;
@@ -5375,6 +5384,15 @@ const _sfc_main$4 = {
5375
5384
  map.value.addControl(controlBar.value);
5376
5385
  }
5377
5386
  }
5387
+ if (!toolBar.value) {
5388
+ toolBar.value = new AMap2.ToolBar({
5389
+ position: {
5390
+ top: "10px",
5391
+ left: "10px"
5392
+ }
5393
+ });
5394
+ map.value.addControl(toolBar.value);
5395
+ }
5378
5396
  state.currentZoom = map.value.getZoom();
5379
5397
  } catch (error) {
5380
5398
  console.error("Failed to load AMap:", error);
@@ -5936,7 +5954,7 @@ const _sfc_main$4 = {
5936
5954
  ref_key: "mapContainer",
5937
5955
  ref: mapContainer
5938
5956
  }, [
5939
- createElementVNode("div", _hoisted_1$3, [
5957
+ createElementVNode("div", _hoisted_1$4, [
5940
5958
  __props.changeMapType ? (openBlock(), createElementBlock("div", _hoisted_2$3, [
5941
5959
  createVNode(_component_el_switch, {
5942
5960
  modelValue: isSatellite.value,
@@ -5973,10 +5991,10 @@ const _sfc_main$4 = {
5973
5991
  };
5974
5992
  }
5975
5993
  };
5976
- const SCTJMapViewer = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-23f6e80a"]]);
5994
+ const SCTJMapViewer = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-0946936d"]]);
5977
5995
  const index_vue_vue_type_style_index_0_scoped_761d2ab4_lang = "";
5978
5996
  const _withScopeId$2 = (n) => (pushScopeId("data-v-761d2ab4"), n = n(), popScopeId(), n);
5979
- const _hoisted_1$2 = {
5997
+ const _hoisted_1$3 = {
5980
5998
  key: 0,
5981
5999
  class: "btn-container"
5982
6000
  };
@@ -6038,7 +6056,7 @@ const _hoisted_13$1 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ creat
6038
6056
  ])
6039
6057
  ], -1));
6040
6058
  const _hoisted_14$1 = { class: "dialog-footer" };
6041
- const _sfc_main$3 = {
6059
+ const _sfc_main$4 = {
6042
6060
  __name: "index",
6043
6061
  props: {
6044
6062
  title: {
@@ -7380,7 +7398,7 @@ const _sfc_main$3 = {
7380
7398
  ref_key: "mapContainer",
7381
7399
  ref: mapContainer
7382
7400
  }, null, 512),
7383
- !__props.disabled ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
7401
+ !__props.disabled ? (openBlock(), createElementBlock("div", _hoisted_1$3, [
7384
7402
  createVNode(_component_el_card, { shadow: "never" }, {
7385
7403
  default: withCtx(() => [
7386
7404
  createElementVNode("div", _hoisted_2$2, [
@@ -7568,10 +7586,10 @@ const _sfc_main$3 = {
7568
7586
  };
7569
7587
  }
7570
7588
  };
7571
- const SCTJMapDrawingDialog = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-761d2ab4"]]);
7589
+ const SCTJMapDrawingDialog = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-761d2ab4"]]);
7572
7590
  const index_vue_vue_type_style_index_0_scoped_d0bea808_lang = "";
7573
7591
  const _withScopeId$1 = (n) => (pushScopeId("data-v-d0bea808"), n = n(), popScopeId(), n);
7574
- const _hoisted_1$1 = {
7592
+ const _hoisted_1$2 = {
7575
7593
  key: 0,
7576
7594
  class: "btn-container"
7577
7595
  };
@@ -7633,7 +7651,7 @@ const _hoisted_13 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createE
7633
7651
  ])
7634
7652
  ], -1));
7635
7653
  const _hoisted_14 = { class: "dialog-footer" };
7636
- const _sfc_main$2 = {
7654
+ const _sfc_main$3 = {
7637
7655
  __name: "index",
7638
7656
  props: {
7639
7657
  title: {
@@ -9180,7 +9198,7 @@ const _sfc_main$2 = {
9180
9198
  ref_key: "mapContainer",
9181
9199
  ref: mapContainer
9182
9200
  }, null, 512),
9183
- !__props.disabled ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
9201
+ !__props.disabled ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
9184
9202
  createVNode(_component_el_card, { shadow: "never" }, {
9185
9203
  default: withCtx(() => [
9186
9204
  createElementVNode("div", _hoisted_2$1, [
@@ -9399,7 +9417,308 @@ const _sfc_main$2 = {
9399
9417
  };
9400
9418
  }
9401
9419
  };
9402
- const SCTJBusinessMapDrawingDialog = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-d0bea808"]]);
9420
+ const SCTJBusinessMapDrawingDialog = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-d0bea808"]]);
9421
+ const index_vue_vue_type_style_index_0_scoped_c14c0c1e_lang = "";
9422
+ const _hoisted_1$1 = { class: "controls" };
9423
+ const _sfc_main$2 = {
9424
+ __name: "index",
9425
+ props: {
9426
+ center: {
9427
+ type: [String, Array],
9428
+ default: () => [116.397428, 39.90923]
9429
+ },
9430
+ zoom: {
9431
+ type: Number,
9432
+ default: 13
9433
+ },
9434
+ pathPoints: {
9435
+ type: Array,
9436
+ default: () => []
9437
+ },
9438
+ autoPlay: {
9439
+ type: Boolean,
9440
+ default: false
9441
+ },
9442
+ markerIcon: {
9443
+ type: String,
9444
+ default: "https://a.amap.com/jsapi_demos/static/demo-center-v2/car.png"
9445
+ },
9446
+ markerIconSize: {
9447
+ type: Array,
9448
+ default: () => [25, 34]
9449
+ },
9450
+ mapStyle: {
9451
+ type: String,
9452
+ default: () => "amap://styles/grey"
9453
+ },
9454
+ height: {
9455
+ type: String,
9456
+ default: () => "600px"
9457
+ },
9458
+ amapKey: {
9459
+ type: String,
9460
+ default: "",
9461
+ required: true
9462
+ }
9463
+ },
9464
+ setup(__props) {
9465
+ const props = __props;
9466
+ const mapContainerRef = ref$1(null);
9467
+ const map = shallowRef(null);
9468
+ const polyline = ref$1(null);
9469
+ const moveMarker = ref$1(null);
9470
+ const startMarker = ref$1(null);
9471
+ const endMarker = ref$1(null);
9472
+ const isPlaying = ref$1(false);
9473
+ const playSpeed = ref$1(1e3);
9474
+ const passedPolyline = ref$1(null);
9475
+ const isPlayed = ref$1(false);
9476
+ let AMapInstance = null;
9477
+ const getBtnText = computed$1(() => {
9478
+ if (isPlaying.value) {
9479
+ return "\u6682\u505C";
9480
+ } else {
9481
+ return isPlayed.value ? "\u7EE7\u7EED" : "\u64AD\u653E";
9482
+ }
9483
+ });
9484
+ const initMap = async () => {
9485
+ AMapInstance = await AMapLoader.load({
9486
+ key: props.amapKey,
9487
+ version: "2.0",
9488
+ plugins: ["AMap.Marker", "AMap.Polyline", "AMap.MoveAnimation"]
9489
+ });
9490
+ map.value = new AMapInstance.Map(mapContainerRef.value, {
9491
+ zoom: props.zoom,
9492
+ mapStyle: props.mapStyle,
9493
+ center: parsePosition(props.center),
9494
+ viewMode: "3D"
9495
+ });
9496
+ };
9497
+ const parsePosition = (position) => {
9498
+ if (typeof position === "string") {
9499
+ return position.split(",").map(Number);
9500
+ }
9501
+ return position;
9502
+ };
9503
+ const formatPath = (points) => {
9504
+ return points.map((point) => {
9505
+ if (typeof point === "string") {
9506
+ return point.split(",").map(Number);
9507
+ } else if (Array.isArray(point)) {
9508
+ return point;
9509
+ } else if (point.longitude && point.latitude) {
9510
+ return [point.longitude, point.latitude];
9511
+ }
9512
+ return point;
9513
+ });
9514
+ };
9515
+ const drawTrack = () => {
9516
+ if (map.value) {
9517
+ map.value.clearMap();
9518
+ }
9519
+ if (!props.pathPoints.length)
9520
+ return;
9521
+ const path = formatPath(props.pathPoints);
9522
+ if (!AMapInstance)
9523
+ return;
9524
+ polyline.value = new AMapInstance.Polyline({
9525
+ path,
9526
+ showDir: true,
9527
+ strokeColor: "#28F",
9528
+ strokeWeight: 6
9529
+ });
9530
+ startMarker.value = new AMapInstance.Marker({
9531
+ position: path[0],
9532
+ icon: new AMapInstance.Icon({
9533
+ size: new AMapInstance.Size(25, 34),
9534
+ imageSize: new AMapInstance.Size(25, 34),
9535
+ image: "https://webapi.amap.com/theme/v1.3/markers/b/start.png"
9536
+ }),
9537
+ anchor: "bottom-center"
9538
+ });
9539
+ endMarker.value = new AMapInstance.Marker({
9540
+ position: path[path.length - 1],
9541
+ icon: new AMapInstance.Icon({
9542
+ size: new AMapInstance.Size(25, 34),
9543
+ imageSize: new AMapInstance.Size(25, 34),
9544
+ image: "https://webapi.amap.com/theme/v1.3/markers/b/end.png"
9545
+ }),
9546
+ anchor: "bottom-center"
9547
+ });
9548
+ moveMarker.value = new AMapInstance.Marker({
9549
+ position: path[0],
9550
+ icon: new AMapInstance.Icon({
9551
+ size: new AMapInstance.Size(props.markerIconSize[0], props.markerIconSize[1]),
9552
+ imageSize: new AMapInstance.Size(props.markerIconSize[0], props.markerIconSize[1]),
9553
+ image: props.markerIcon
9554
+ }),
9555
+ anchor: "center"
9556
+ });
9557
+ passedPolyline.value = new AMapInstance.Polyline({
9558
+ strokeColor: "#AF5",
9559
+ strokeWeight: 6
9560
+ });
9561
+ map.value.add([polyline.value, startMarker.value, endMarker.value, moveMarker.value, passedPolyline.value]);
9562
+ map.value.setFitView();
9563
+ moveMarker.value.on("moving", (e) => {
9564
+ if (!isPlayed.value) {
9565
+ isPlayed.value = true;
9566
+ }
9567
+ passedPolyline.value.setPath(e.passedPath);
9568
+ map.value.setCenter(e.target.getPosition(), true);
9569
+ });
9570
+ };
9571
+ const startPlay = () => {
9572
+ if (!props.pathPoints.length)
9573
+ return;
9574
+ isPlaying.value = true;
9575
+ const path = formatPath(props.pathPoints);
9576
+ moveMarker.value.moveAlong(path, {
9577
+ duration: props.pathPoints.length * playSpeed.value,
9578
+ autoRotation: true
9579
+ });
9580
+ };
9581
+ const pausePlay = () => {
9582
+ if (moveMarker.value) {
9583
+ isPlaying.value = false;
9584
+ moveMarker.value.pauseMove();
9585
+ }
9586
+ };
9587
+ const resumePlay = () => {
9588
+ isPlaying.value = true;
9589
+ moveMarker.value.resumeMove();
9590
+ };
9591
+ const togglePlay = () => {
9592
+ if (!isPlaying.value) {
9593
+ isPlayed.value ? resumePlay() : startPlay();
9594
+ } else {
9595
+ pausePlay();
9596
+ }
9597
+ };
9598
+ const resetTrack = () => {
9599
+ if (moveMarker.value) {
9600
+ moveMarker.value.stopMove();
9601
+ const initialPoint2 = formatPath(props.pathPoints)[0];
9602
+ moveMarker.value.setPosition(initialPoint2);
9603
+ }
9604
+ isPlaying.value = false;
9605
+ isPlayed.value = false;
9606
+ const initialPoint = formatPath(props.pathPoints)[0];
9607
+ passedPolyline.value.setPath([initialPoint]);
9608
+ };
9609
+ const handleSpeedChange = (value) => {
9610
+ if (isPlaying.value) {
9611
+ resetTrack();
9612
+ startPlay();
9613
+ }
9614
+ };
9615
+ watch(
9616
+ () => props.pathPoints,
9617
+ (newVal) => {
9618
+ if (!map.value)
9619
+ return;
9620
+ if (newVal && newVal.length > 0) {
9621
+ drawTrack();
9622
+ if (props.autoPlay) {
9623
+ startPlay();
9624
+ }
9625
+ }
9626
+ },
9627
+ { immediate: true }
9628
+ );
9629
+ onMounted$1(async () => {
9630
+ await initMap();
9631
+ drawTrack();
9632
+ });
9633
+ onBeforeUnmount(() => {
9634
+ if (moveMarker.value) {
9635
+ moveMarker.value.stopMove();
9636
+ }
9637
+ if (map.value) {
9638
+ map.value.destroy();
9639
+ }
9640
+ });
9641
+ return (_ctx, _cache) => {
9642
+ const _component_el_icon = resolveComponent("el-icon");
9643
+ const _component_el_button = resolveComponent("el-button");
9644
+ const _component_el_button_group = resolveComponent("el-button-group");
9645
+ const _component_el_option = resolveComponent("el-option");
9646
+ const _component_el_select = resolveComponent("el-select");
9647
+ return openBlock(), createElementBlock("div", {
9648
+ class: "track-player-container",
9649
+ style: normalizeStyle({ height: __props.height })
9650
+ }, [
9651
+ createElementVNode("div", {
9652
+ ref_key: "mapContainerRef",
9653
+ ref: mapContainerRef,
9654
+ class: "map-container"
9655
+ }, null, 512),
9656
+ createElementVNode("div", _hoisted_1$1, [
9657
+ createVNode(_component_el_button_group, null, {
9658
+ default: withCtx(() => [
9659
+ createVNode(_component_el_button, {
9660
+ type: "primary",
9661
+ onClick: togglePlay
9662
+ }, {
9663
+ default: withCtx(() => [
9664
+ createVNode(_component_el_icon, null, {
9665
+ default: withCtx(() => [
9666
+ !isPlaying.value ? (openBlock(), createBlock(unref(VideoPlay), { key: 0 })) : (openBlock(), createBlock(unref(VideoPause), { key: 1 }))
9667
+ ]),
9668
+ _: 1
9669
+ }),
9670
+ createTextVNode(" " + toDisplayString(unref(getBtnText)), 1)
9671
+ ]),
9672
+ _: 1
9673
+ }),
9674
+ createVNode(_component_el_button, { onClick: resetTrack }, {
9675
+ default: withCtx(() => [
9676
+ createVNode(_component_el_icon, null, {
9677
+ default: withCtx(() => [
9678
+ createVNode(unref(RefreshRight))
9679
+ ]),
9680
+ _: 1
9681
+ }),
9682
+ createTextVNode(" \u91CD\u7F6E ")
9683
+ ]),
9684
+ _: 1
9685
+ })
9686
+ ]),
9687
+ _: 1
9688
+ }),
9689
+ createVNode(_component_el_select, {
9690
+ modelValue: playSpeed.value,
9691
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => playSpeed.value = $event),
9692
+ style: { "width": "100px", "margin": "0 16px" },
9693
+ size: "small",
9694
+ onChange: handleSpeedChange
9695
+ }, {
9696
+ default: withCtx(() => [
9697
+ createVNode(_component_el_option, {
9698
+ value: 1e3,
9699
+ label: "1x"
9700
+ }),
9701
+ createVNode(_component_el_option, {
9702
+ value: 500,
9703
+ label: "2x"
9704
+ }),
9705
+ createVNode(_component_el_option, {
9706
+ value: 250,
9707
+ label: "4x"
9708
+ }),
9709
+ createVNode(_component_el_option, {
9710
+ value: 125,
9711
+ label: "8x"
9712
+ })
9713
+ ]),
9714
+ _: 1
9715
+ }, 8, ["modelValue"])
9716
+ ])
9717
+ ], 4);
9718
+ };
9719
+ }
9720
+ };
9721
+ const SCTJTrackPlayback = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-c14c0c1e"]]);
9403
9722
  const BimViewer_vue_vue_type_style_index_0_scoped_89f55b38_lang = "";
9404
9723
  const _withScopeId = (n) => (pushScopeId("data-v-89f55b38"), n = n(), popScopeId(), n);
9405
9724
  const _hoisted_1 = {
@@ -9993,33 +10312,34 @@ const SCTJDwgViewer = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "dat
9993
10312
  const components = [
9994
10313
  { component: SCTJDictTag, name: "SCTJDictTag" },
9995
10314
  { component: SCTJTreeSelect, name: "SCTJTreeSelect" },
9996
- { component: _sfc_main$m, name: "SCTJSelect" },
9997
- { component: _sfc_main$l, name: "SCTJCheckBox" },
10315
+ { component: _sfc_main$n, name: "SCTJSelect" },
10316
+ { component: _sfc_main$m, name: "SCTJCheckBox" },
9998
10317
  { component: SCTJTimeLineSelect, name: "SCTJTimeLineSelect" },
9999
- { component: _sfc_main$t, name: "SCTJIcon" },
10318
+ { component: _sfc_main$u, name: "SCTJIcon" },
10000
10319
  { component: SCTJFileUpload, name: "SCTJFileUpload" },
10001
10320
  { component: SCTJImageUpload, name: "SCTJImageUpload" },
10002
10321
  { component: SCTJImagePreview, name: "SCTJImagePreview" },
10003
10322
  { component: SCTJIconSelect, name: "SCTJIconSelect" },
10004
10323
  { component: SCTJSearch, name: "SCTJSearch" },
10005
- { component: _sfc_main$o, name: "SCTJDateRangePicker" },
10324
+ { component: _sfc_main$p, name: "SCTJDateRangePicker" },
10006
10325
  { component: SCTJTable, name: "SCTJTable" },
10007
10326
  { component: SCTJTableContainer, name: "SCTJTableContainer" },
10008
10327
  { component: SCTJTablePageContainer, name: "SCTJTablePageContainer" },
10009
10328
  { component: SCTJTableTopActionContainer, name: "SCTJTableTopActionContainer" },
10010
10329
  { component: SCTJRightToolbar, name: "SCTJRightToolbar" },
10011
- { component: _sfc_main$d, name: "SCTJBtnContainer" },
10012
- { component: _sfc_main$a, name: "SCTJBaseChart" },
10330
+ { component: _sfc_main$e, name: "SCTJBtnContainer" },
10331
+ { component: _sfc_main$b, name: "SCTJBaseChart" },
10013
10332
  { component: SCTJCommonChart, name: "SCTJCommonChart" },
10014
10333
  { component: SCTJPieChart, name: "SCTJPieChart" },
10015
10334
  { component: SCTJFlvPlayer, name: "SCTJFlvPlayer" },
10016
- { component: _sfc_main$6, name: "SCTJIframe" },
10017
- { component: _sfc_main$5, name: "SCTJImportDialog" },
10335
+ { component: _sfc_main$7, name: "SCTJIframe" },
10336
+ { component: _sfc_main$6, name: "SCTJImportDialog" },
10018
10337
  { component: SCTJDialogTable, name: "SCTJDialogTable" },
10019
10338
  { component: SCTJScrollTable, name: "SCTJScrollTable" },
10020
10339
  { component: SCTJMapViewer, name: "SCTJMapViewer" },
10021
10340
  { component: SCTJMapDrawingDialog, name: "SCTJMapDrawingDialog" },
10022
10341
  { component: SCTJBusinessMapDrawingDialog, name: "SCTJBusinessMapDrawingDialog" },
10342
+ { component: SCTJTrackPlayback, name: "SCTJTrackPlayback" },
10023
10343
  { component: SCTJBimViewer, name: "SCTJBimViewer" },
10024
10344
  { component: SCTJDwgViewer, name: "SCTJDwgViewer" }
10025
10345
  ];
@@ -10032,67 +10352,69 @@ const index = {
10032
10352
  install,
10033
10353
  SCTJDictTag,
10034
10354
  SCTJTreeSelect,
10035
- SCTJSelect: _sfc_main$m,
10036
- SCTJCheckBox: _sfc_main$l,
10355
+ SCTJSelect: _sfc_main$n,
10356
+ SCTJCheckBox: _sfc_main$m,
10037
10357
  SCTJTimeLineSelect,
10038
- SCTJIcon: _sfc_main$t,
10358
+ SCTJIcon: _sfc_main$u,
10039
10359
  SCTJFileUpload,
10040
10360
  SCTJImageUpload,
10041
10361
  SCTJImagePreview,
10042
10362
  SCTJIconSelect,
10043
10363
  SCTJSearch,
10044
- SCTJDateRangePicker: _sfc_main$o,
10364
+ SCTJDateRangePicker: _sfc_main$p,
10045
10365
  SCTJTable,
10046
10366
  SCTJTableContainer,
10047
10367
  SCTJTablePageContainer,
10048
10368
  SCTJTableTopActionContainer,
10049
10369
  SCTJRightToolbar,
10050
- SCTJBtnContainer: _sfc_main$d,
10051
- SCTJBaseChart: _sfc_main$a,
10370
+ SCTJBtnContainer: _sfc_main$e,
10371
+ SCTJBaseChart: _sfc_main$b,
10052
10372
  SCTJCommonChart,
10053
10373
  SCTJPieChart,
10054
10374
  SCTJFlvPlayer,
10055
- SCTJIframe: _sfc_main$6,
10056
- SCTJImportDialog: _sfc_main$5,
10375
+ SCTJIframe: _sfc_main$7,
10376
+ SCTJImportDialog: _sfc_main$6,
10057
10377
  SCTJDialogTable,
10058
10378
  SCTJScrollTable,
10059
10379
  SCTJMapViewer,
10060
10380
  SCTJMapDrawingDialog,
10061
10381
  SCTJBusinessMapDrawingDialog,
10382
+ SCTJTrackPlayback,
10062
10383
  SCTJBimViewer,
10063
10384
  SCTJDwgViewer
10064
10385
  };
10065
10386
  export {
10066
- _sfc_main$a as SCTJBaseChart,
10387
+ _sfc_main$b as SCTJBaseChart,
10067
10388
  SCTJBimViewer,
10068
- _sfc_main$d as SCTJBtnContainer,
10389
+ _sfc_main$e as SCTJBtnContainer,
10069
10390
  SCTJBusinessMapDrawingDialog,
10070
- _sfc_main$l as SCTJCheckBox,
10391
+ _sfc_main$m as SCTJCheckBox,
10071
10392
  SCTJCommonChart,
10072
- _sfc_main$o as SCTJDateRangePicker,
10393
+ _sfc_main$p as SCTJDateRangePicker,
10073
10394
  SCTJDialogTable,
10074
10395
  SCTJDictTag,
10075
10396
  SCTJDwgViewer,
10076
10397
  SCTJFileUpload,
10077
10398
  SCTJFlvPlayer,
10078
- _sfc_main$t as SCTJIcon,
10399
+ _sfc_main$u as SCTJIcon,
10079
10400
  SCTJIconSelect,
10080
- _sfc_main$6 as SCTJIframe,
10401
+ _sfc_main$7 as SCTJIframe,
10081
10402
  SCTJImagePreview,
10082
10403
  SCTJImageUpload,
10083
- _sfc_main$5 as SCTJImportDialog,
10404
+ _sfc_main$6 as SCTJImportDialog,
10084
10405
  SCTJMapDrawingDialog,
10085
10406
  SCTJMapViewer,
10086
10407
  SCTJPieChart,
10087
10408
  SCTJRightToolbar,
10088
10409
  SCTJScrollTable,
10089
10410
  SCTJSearch,
10090
- _sfc_main$m as SCTJSelect,
10411
+ _sfc_main$n as SCTJSelect,
10091
10412
  SCTJTable,
10092
10413
  SCTJTableContainer,
10093
10414
  SCTJTablePageContainer,
10094
10415
  SCTJTableTopActionContainer,
10095
10416
  SCTJTimeLineSelect,
10417
+ SCTJTrackPlayback,
10096
10418
  SCTJTreeSelect,
10097
10419
  index as default
10098
10420
  };