@bdsoft/element 1.1.26 → 1.1.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/dist/BdElement.js +22921 -0
  2. package/dist/cjs/_virtual/_plugin-vue_export-helper.cjs +9 -0
  3. package/dist/cjs/global/index.cjs +14 -0
  4. package/dist/cjs/index.cjs +18276 -0
  5. package/dist/cjs/node_modules/.pnpm/splitpanes@4.0.4_vue@3.5.25_typescript@5.4.5_/node_modules/splitpanes/dist/splitpanes.css.cjs +1 -0
  6. package/dist/cjs/src/assets/css/element.scss.cjs +1 -0
  7. package/dist/cjs/src/assets/css/layout.scss.cjs +1 -0
  8. package/dist/cjs/src/assets/css/tailwind.scss.cjs +1 -0
  9. package/dist/cjs/src/assets/images/ff.png.cjs +3 -0
  10. package/dist/cjs/src/assets/images/menu/add.png.cjs +3 -0
  11. package/dist/cjs/src/assets/images/menu/del.png.cjs +3 -0
  12. package/dist/cjs/src/assets/images/menu/edit.png.cjs +3 -0
  13. package/dist/cjs/src/components/3dcloudwords/index.cjs +344 -0
  14. package/dist/cjs/src/components/3dcloudwords/index.vue.cjs +125 -0
  15. package/dist/cjs/src/components/badge/index.vue.cjs +96 -0
  16. package/dist/cjs/src/components/badge/index.vue2.cjs +1 -0
  17. package/dist/cjs/src/components/basic/Finish.vue.cjs +55 -0
  18. package/dist/cjs/src/components/basic/Finish.vue2.cjs +1 -0
  19. package/dist/cjs/src/components/button/index.vue.cjs +44 -0
  20. package/dist/cjs/src/components/carousel/index.vue.cjs +97 -0
  21. package/dist/cjs/src/components/carousel/index.vue2.cjs +1 -0
  22. package/dist/cjs/src/components/chartconfig/index.vue.cjs +327 -0
  23. package/dist/cjs/src/components/contextMenu/index.vue.cjs +152 -0
  24. package/dist/cjs/src/components/contextMenu/index.vue2.cjs +1 -0
  25. package/dist/cjs/src/components/countup/countUp.cjs +165 -0
  26. package/dist/cjs/src/components/countup/index.vue.cjs +116 -0
  27. package/dist/cjs/src/components/empty/assets/build.png.cjs +3 -0
  28. package/dist/cjs/src/components/empty/assets/emptybg.gif.cjs +3 -0
  29. package/dist/cjs/src/components/empty/assets/emptybg.png.cjs +3 -0
  30. package/dist/cjs/src/components/empty/assets/emptybg2.jpg.cjs +3 -0
  31. package/dist/cjs/src/components/empty/assets/emptybg3.jpg.cjs +3 -0
  32. package/dist/cjs/src/components/empty/assets/wuxiao.png.cjs +3 -0
  33. package/dist/cjs/src/components/empty/assets/wuxiao.webp.cjs +3 -0
  34. package/dist/cjs/src/components/empty/building.vue.cjs +95 -0
  35. package/dist/cjs/src/components/empty/building.vue2.cjs +1 -0
  36. package/dist/cjs/src/components/empty/empty.vue.cjs +108 -0
  37. package/dist/cjs/src/components/empty/empty.vue2.cjs +1 -0
  38. package/dist/cjs/src/components/empty/invalid.vue.cjs +20 -0
  39. package/dist/cjs/src/components/empty/invalid.vue2.cjs +1 -0
  40. package/dist/cjs/src/components/error/Error.vue.cjs +47 -0
  41. package/dist/cjs/src/components/error/Error.vue2.cjs +1 -0
  42. package/dist/cjs/src/components/form/Form.vue.cjs +92 -0
  43. package/dist/cjs/src/components/form/FormItem.vue.cjs +107 -0
  44. package/dist/cjs/src/components/form/FormItem.vue2.cjs +3 -0
  45. package/dist/cjs/src/components/layout/bar.vue.cjs +45 -0
  46. package/dist/cjs/src/components/layout/bar.vue2.cjs +1 -0
  47. package/dist/cjs/src/components/layout/layout1.vue.cjs +79 -0
  48. package/dist/cjs/src/components/layout/layout2.vue.cjs +174 -0
  49. package/dist/cjs/src/components/layout/layout2.vue2.cjs +1 -0
  50. package/dist/cjs/src/components/layout/layout3.vue.cjs +111 -0
  51. package/dist/cjs/src/components/layout/layout3.vue2.cjs +1 -0
  52. package/dist/cjs/src/components/layout/layout4.vue.cjs +70 -0
  53. package/dist/cjs/src/components/layout/layout4.vue2.cjs +1 -0
  54. package/dist/cjs/src/components/layout/nav.vue.cjs +222 -0
  55. package/dist/cjs/src/components/layout/nav.vue2.cjs +1 -0
  56. package/dist/cjs/src/components/layout/nav.vue3.cjs +1 -0
  57. package/dist/cjs/src/components/loading/index.vue.cjs +26 -0
  58. package/dist/cjs/src/components/loading/index.vue2.cjs +1 -0
  59. package/dist/cjs/src/components/notice/NoticeList.vue.cjs +202 -0
  60. package/dist/cjs/src/components/notice/NoticeList.vue2.cjs +1 -0
  61. package/dist/cjs/src/components/notice/NoticeListPaging.vue.cjs +343 -0
  62. package/dist/cjs/src/components/notice/NoticeListPaging.vue2.cjs +1 -0
  63. package/dist/cjs/src/components/notice/NoticeView.vue.cjs +134 -0
  64. package/dist/cjs/src/components/notice/NoticeView.vue2.cjs +1 -0
  65. package/dist/cjs/src/components/pagination/index.vue.cjs +97 -0
  66. package/dist/cjs/src/components/pagination/index.vue2.cjs +1 -0
  67. package/dist/cjs/src/components/pagination/scroll-to.cjs +40 -0
  68. package/dist/cjs/src/components/progress/bar.vue.cjs +64 -0
  69. package/dist/cjs/src/components/progress/bar.vue2.cjs +1 -0
  70. package/dist/cjs/src/components/progress/progress.vue.cjs +51 -0
  71. package/dist/cjs/src/components/progress/progress.vue2.cjs +1 -0
  72. package/dist/cjs/src/components/statisticalCount/index.vue.cjs +88 -0
  73. package/dist/cjs/src/components/statisticalCount/index.vue2.cjs +1 -0
  74. package/dist/cjs/src/components/username/index.vue.cjs +59 -0
  75. package/dist/cjs/src/components/username/index.vue2.cjs +1 -0
  76. package/dist/cjs/src/index.cjs +68 -0
  77. package/dist/cjs/src/utils/coms/load.cjs +23 -0
  78. package/dist/cjs/src/utils/func.cjs +48 -0
  79. package/dist/cjs/src/utils/hookDialog.cjs +27 -0
  80. package/dist/cjs/src/utils/hookPage.cjs +42 -0
  81. package/dist/cjs/src/utils/message.cjs +164 -0
  82. package/dist/cjs/src/xm_components/HeadSearch/hook/hookSearch.cjs +64 -0
  83. package/dist/cjs/src/xm_components/HeadSearch/index.vue.cjs +139 -0
  84. package/dist/cjs/src/xm_components/HeadSearch/index.vue2.cjs +1 -0
  85. package/dist/cjs/src/xm_components/Milestone/index.vue.cjs +88 -0
  86. package/dist/cjs/src/xm_components/Milestone/index.vue2.cjs +1 -0
  87. package/dist/cjs/src/xm_components/MultiStatisticalCard/index.vue.cjs +88 -0
  88. package/dist/cjs/src/xm_components/MultiStatisticalCard/index.vue2.cjs +1 -0
  89. package/dist/cjs/src/xm_components/StatisticalCard/index.vue.cjs +163 -0
  90. package/dist/cjs/src/xm_components/StatisticalCard/index.vue2.cjs +1 -0
  91. package/dist/es/_virtual/_plugin-vue_export-helper.js +10 -0
  92. package/dist/es/global/index.js +14 -0
  93. package/dist/es/index.js +18247 -0
  94. package/dist/es/node_modules/.pnpm/splitpanes@4.0.4_vue@3.5.25_typescript@5.4.5_/node_modules/splitpanes/dist/splitpanes.css.js +1 -0
  95. package/dist/es/src/assets/css/element.scss.js +1 -0
  96. package/dist/es/src/assets/css/layout.scss.js +1 -0
  97. package/dist/es/src/assets/css/tailwind.scss.js +1 -0
  98. package/dist/es/src/assets/images/ff.png.js +4 -0
  99. package/dist/es/src/assets/images/menu/add.png.js +4 -0
  100. package/dist/es/src/assets/images/menu/del.png.js +4 -0
  101. package/dist/es/src/assets/images/menu/edit.png.js +4 -0
  102. package/dist/es/src/components/3dcloudwords/index.js +345 -0
  103. package/dist/es/src/components/3dcloudwords/index.vue.js +126 -0
  104. package/dist/es/src/components/badge/index.vue.js +97 -0
  105. package/dist/es/src/components/badge/index.vue2.js +1 -0
  106. package/dist/es/src/components/basic/Finish.vue.js +56 -0
  107. package/dist/es/src/components/basic/Finish.vue2.js +1 -0
  108. package/dist/es/src/components/button/index.vue.js +45 -0
  109. package/dist/es/src/components/carousel/index.vue.js +98 -0
  110. package/dist/es/src/components/carousel/index.vue2.js +1 -0
  111. package/dist/es/src/components/chartconfig/index.vue.js +328 -0
  112. package/dist/es/src/components/contextMenu/index.vue.js +153 -0
  113. package/dist/es/src/components/contextMenu/index.vue2.js +1 -0
  114. package/dist/es/src/components/countup/countUp.js +165 -0
  115. package/dist/es/src/components/countup/index.vue.js +117 -0
  116. package/dist/es/src/components/empty/assets/build.png.js +4 -0
  117. package/dist/es/src/components/empty/assets/emptybg.gif.js +4 -0
  118. package/dist/es/src/components/empty/assets/emptybg.png.js +4 -0
  119. package/dist/es/src/components/empty/assets/emptybg2.jpg.js +4 -0
  120. package/dist/es/src/components/empty/assets/emptybg3.jpg.js +4 -0
  121. package/dist/es/src/components/empty/assets/wuxiao.png.js +4 -0
  122. package/dist/es/src/components/empty/assets/wuxiao.webp.js +4 -0
  123. package/dist/es/src/components/empty/building.vue.js +95 -0
  124. package/dist/es/src/components/empty/building.vue2.js +1 -0
  125. package/dist/es/src/components/empty/empty.vue.js +108 -0
  126. package/dist/es/src/components/empty/empty.vue2.js +1 -0
  127. package/dist/es/src/components/empty/invalid.vue.js +21 -0
  128. package/dist/es/src/components/empty/invalid.vue2.js +1 -0
  129. package/dist/es/src/components/error/Error.vue.js +48 -0
  130. package/dist/es/src/components/error/Error.vue2.js +1 -0
  131. package/dist/es/src/components/form/Form.vue.js +93 -0
  132. package/dist/es/src/components/form/FormItem.vue.js +108 -0
  133. package/dist/es/src/components/form/FormItem.vue2.js +4 -0
  134. package/dist/es/src/components/layout/bar.vue.js +46 -0
  135. package/dist/es/src/components/layout/bar.vue2.js +1 -0
  136. package/dist/es/src/components/layout/layout1.vue.js +80 -0
  137. package/dist/es/src/components/layout/layout2.vue.js +175 -0
  138. package/dist/es/src/components/layout/layout2.vue2.js +1 -0
  139. package/dist/es/src/components/layout/layout3.vue.js +112 -0
  140. package/dist/es/src/components/layout/layout3.vue2.js +1 -0
  141. package/dist/es/src/components/layout/layout4.vue.js +71 -0
  142. package/dist/es/src/components/layout/layout4.vue2.js +1 -0
  143. package/dist/es/src/components/layout/nav.vue.js +223 -0
  144. package/dist/es/src/components/layout/nav.vue2.js +1 -0
  145. package/dist/es/src/components/layout/nav.vue3.js +1 -0
  146. package/dist/es/src/components/loading/index.vue.js +27 -0
  147. package/dist/es/src/components/loading/index.vue2.js +1 -0
  148. package/dist/es/src/components/notice/NoticeList.vue.js +203 -0
  149. package/dist/es/src/components/notice/NoticeList.vue2.js +1 -0
  150. package/dist/es/src/components/notice/NoticeListPaging.vue.js +344 -0
  151. package/dist/es/src/components/notice/NoticeListPaging.vue2.js +1 -0
  152. package/dist/es/src/components/notice/NoticeView.vue.js +135 -0
  153. package/dist/es/src/components/notice/NoticeView.vue2.js +1 -0
  154. package/dist/es/src/components/pagination/index.vue.js +98 -0
  155. package/dist/es/src/components/pagination/index.vue2.js +1 -0
  156. package/dist/es/src/components/pagination/scroll-to.js +40 -0
  157. package/dist/es/src/components/progress/bar.vue.js +65 -0
  158. package/dist/es/src/components/progress/bar.vue2.js +1 -0
  159. package/dist/es/src/components/progress/progress.vue.js +52 -0
  160. package/dist/es/src/components/progress/progress.vue2.js +1 -0
  161. package/dist/es/src/components/statisticalCount/index.vue.js +89 -0
  162. package/dist/es/src/components/statisticalCount/index.vue2.js +1 -0
  163. package/dist/es/src/components/username/index.vue.js +60 -0
  164. package/dist/es/src/components/username/index.vue2.js +1 -0
  165. package/dist/es/src/index.js +68 -0
  166. package/dist/es/src/utils/coms/load.js +24 -0
  167. package/dist/es/src/utils/func.js +48 -0
  168. package/dist/es/src/utils/hookDialog.js +27 -0
  169. package/dist/es/src/utils/hookPage.js +42 -0
  170. package/dist/es/src/utils/message.js +153 -0
  171. package/dist/es/src/xm_components/HeadSearch/hook/hookSearch.js +65 -0
  172. package/dist/es/src/xm_components/HeadSearch/index.vue.js +140 -0
  173. package/dist/es/src/xm_components/HeadSearch/index.vue2.js +1 -0
  174. package/dist/es/src/xm_components/Milestone/index.vue.js +89 -0
  175. package/dist/es/src/xm_components/Milestone/index.vue2.js +1 -0
  176. package/dist/es/src/xm_components/MultiStatisticalCard/index.vue.js +89 -0
  177. package/dist/es/src/xm_components/MultiStatisticalCard/index.vue2.js +1 -0
  178. package/dist/es/src/xm_components/StatisticalCard/index.vue.js +164 -0
  179. package/dist/es/src/xm_components/StatisticalCard/index.vue2.js +1 -0
  180. package/package.json +26 -10
  181. package/index.html +0 -13
  182. package/vite.config.js +0 -51
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ require("./Finish.vue2.cjs");
4
+ const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.cjs");
5
+ const _hoisted_1 = { class: "title" };
6
+ const _sfc_main = {
7
+ __name: "Finish",
8
+ props: {
9
+ text: {
10
+ type: String,
11
+ default: "处理数据完成!"
12
+ },
13
+ scale: {
14
+ type: Number,
15
+ default: 0.5
16
+ }
17
+ },
18
+ setup(__props) {
19
+ return (_ctx, _cache) => {
20
+ return vue.openBlock(), vue.createElementBlock("div", {
21
+ class: "svgwarp",
22
+ style: vue.normalizeStyle({ scale: __props.scale })
23
+ }, [
24
+ _cache[0] || (_cache[0] = vue.createElementVNode("svg", {
25
+ width: "100",
26
+ height: "100"
27
+ }, [
28
+ vue.createElementVNode("circle", {
29
+ fill: "none",
30
+ stroke: "#68E534",
31
+ "stroke-width": "8",
32
+ cx: "50",
33
+ cy: "50",
34
+ r: "45",
35
+ class: "circle",
36
+ "stroke-linecap": "round",
37
+ transform: "rotate(-23 50 50)"
38
+ }),
39
+ vue.createElementVNode("polyline", {
40
+ fill: "none",
41
+ stroke: "#68E534",
42
+ "stroke-width": "10",
43
+ points: "22,53 43,71 76,34",
44
+ "stroke-linecap": "round",
45
+ "stroke-linejoin": "round",
46
+ class: "tick"
47
+ })
48
+ ], -1)),
49
+ vue.createElementVNode("h2", _hoisted_1, vue.toDisplayString(__props.text), 1)
50
+ ], 4);
51
+ };
52
+ }
53
+ };
54
+ const Finish = /* @__PURE__ */ _pluginVue_exportHelper(_sfc_main, [["__scopeId", "data-v-ff609e78"]]);
55
+ module.exports = Finish;
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ const _sfc_main = {
4
+ __name: "index",
5
+ props: {
6
+ onClick: {
7
+ type: Function,
8
+ required: true
9
+ },
10
+ loadingText: {
11
+ type: String,
12
+ default: "加载中...",
13
+ required: false
14
+ }
15
+ },
16
+ setup(__props) {
17
+ const props = __props;
18
+ const loading = vue.ref(false);
19
+ const clickHandler = async (e) => {
20
+ loading.value = true;
21
+ try {
22
+ await props.onClick(e);
23
+ } finally {
24
+ loading.value = false;
25
+ }
26
+ };
27
+ vue.useSlots();
28
+ return (_ctx, _cache) => {
29
+ const _component_el_button = vue.resolveComponent("el-button");
30
+ return vue.openBlock(), vue.createBlock(_component_el_button, {
31
+ onClick: clickHandler,
32
+ loading: loading.value
33
+ }, {
34
+ default: vue.withCtx(() => [
35
+ loading.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
36
+ vue.createTextVNode(vue.toDisplayString(props.loadingText), 1)
37
+ ], 64)) : vue.renderSlot(_ctx.$slots, "default", { key: 1 })
38
+ ]),
39
+ _: 3
40
+ }, 8, ["loading"]);
41
+ };
42
+ }
43
+ };
44
+ module.exports = _sfc_main;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ require("./index.vue2.cjs");
4
+ const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.cjs");
5
+ const _hoisted_1 = { class: "banner-bg" };
6
+ const _hoisted_2 = { class: "banner-warp" };
7
+ const _hoisted_3 = {
8
+ class: "carousel-warp",
9
+ style: {}
10
+ };
11
+ const _hoisted_4 = {
12
+ key: 0,
13
+ autoplay: "",
14
+ muted: "",
15
+ loop: "",
16
+ style: { "visibility": "visible", "object-fit": "cover", "object-position": "center", "width": "100%", "height": "560px" }
17
+ };
18
+ const _hoisted_5 = ["src"];
19
+ const _hoisted_6 = ["src"];
20
+ const _sfc_main = {
21
+ __name: "index",
22
+ props: {
23
+ // // 图片的url
24
+ // picUrl: {
25
+ // type: String,
26
+ // default: 'ptService/sysconfig/pic'
27
+ // },
28
+ // // 图片的code
29
+ // picCode: {
30
+ // type: String,
31
+ // default: 'ptxmpic'
32
+ // },
33
+ // categoryid: {
34
+ // type: String,
35
+ // },
36
+ // fl: {
37
+ // type: String,
38
+ // }
39
+ carouselData: {
40
+ type: Array,
41
+ default: () => []
42
+ },
43
+ // 是否自动切换
44
+ autoplay: {
45
+ type: Boolean,
46
+ default: true
47
+ }
48
+ },
49
+ setup(__props) {
50
+ const props = __props;
51
+ vue.onMounted(() => {
52
+ });
53
+ return (_ctx, _cache) => {
54
+ const _component_el_carousel_item = vue.resolveComponent("el-carousel-item");
55
+ const _component_el_carousel = vue.resolveComponent("el-carousel");
56
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
57
+ vue.createElementVNode("div", _hoisted_2, [
58
+ vue.createElementVNode("div", _hoisted_3, [
59
+ vue.createVNode(_component_el_carousel, {
60
+ height: "560px",
61
+ "motion-blur": "",
62
+ style: {},
63
+ autoplay: __props.autoplay
64
+ }, {
65
+ default: vue.withCtx(() => [
66
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(props.carouselData, (item) => {
67
+ return vue.openBlock(), vue.createBlock(_component_el_carousel_item, { key: item }, {
68
+ default: vue.withCtx(() => [
69
+ item.filtype == "video" ? (vue.openBlock(), vue.createElementBlock("video", _hoisted_4, [
70
+ vue.createElementVNode("source", {
71
+ src: item.imgUrl,
72
+ type: "video/mp4"
73
+ }, null, 8, _hoisted_5)
74
+ ])) : (vue.openBlock(), vue.createElementBlock("img", {
75
+ key: 1,
76
+ src: item.imgUrl,
77
+ class: "img"
78
+ }, null, 8, _hoisted_6)),
79
+ item.component ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(item.component), {
80
+ key: 2,
81
+ item
82
+ }, null, 8, ["item"])) : vue.createCommentVNode("", true)
83
+ ]),
84
+ _: 2
85
+ }, 1024);
86
+ }), 128))
87
+ ]),
88
+ _: 1
89
+ }, 8, ["autoplay"])
90
+ ])
91
+ ])
92
+ ]);
93
+ };
94
+ }
95
+ };
96
+ const index = /* @__PURE__ */ _pluginVue_exportHelper(_sfc_main, [["__scopeId", "data-v-ade8f2df"]]);
97
+ module.exports = index;
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,327 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ const hookDialog = require("../../utils/hookDialog.cjs");
4
+ const _hoisted_1 = { class: "dialog-footer" };
5
+ const _sfc_main = {
6
+ __name: "index",
7
+ emits: ["setNewChartConfig"],
8
+ setup(__props, { expose: __expose, emit: __emit }) {
9
+ const emits = __emit;
10
+ const chartForm = vue.ref({
11
+ xAxis_axisLabel_interval: 0,
12
+ xAxis_axisLabel_rotate: 0,
13
+ yAxis_min: null,
14
+ yAxis_max: null,
15
+ yAxis_interval: null,
16
+ grid_left: null,
17
+ grid_top: null,
18
+ grid_right: null,
19
+ grid_bottom: null,
20
+ seriesConfig: []
21
+ // 颜色配置
22
+ });
23
+ const callShowDialog = () => {
24
+ let config = openParms.value;
25
+ chartColorForm.sourceid = config.sourceid;
26
+ chartColorForm.chartid = config.api.getId();
27
+ chartColorForm.api = config.api;
28
+ chartForm.value = Object.assign({}, chartForm.value, extParms.value);
29
+ };
30
+ const { visible, showDialog, openParms, extParms, hideDialog } = hookDialog.useDialog(callShowDialog);
31
+ const chartColorForm = vue.reactive({
32
+ sourceid: "",
33
+ chartid: "",
34
+ // 当前操作的图表对象
35
+ api: null,
36
+ // 当前操作的图表对象
37
+ visiable: false
38
+ });
39
+ const handleSetChartColorSave = () => {
40
+ emits("setNewChartConfig", chartForm.value);
41
+ dialogClose();
42
+ };
43
+ const dialogClose = () => {
44
+ visible.value = false;
45
+ };
46
+ __expose({
47
+ showDialog,
48
+ hideDialog,
49
+ dialogClose
50
+ });
51
+ return (_ctx, _cache) => {
52
+ const _component_el_divider = vue.resolveComponent("el-divider");
53
+ const _component_el_input_number = vue.resolveComponent("el-input-number");
54
+ const _component_el_form_item = vue.resolveComponent("el-form-item");
55
+ const _component_el_tab_pane = vue.resolveComponent("el-tab-pane");
56
+ const _component_el_color_picker = vue.resolveComponent("el-color-picker");
57
+ const _component_el_checkbox = vue.resolveComponent("el-checkbox");
58
+ const _component_el_row = vue.resolveComponent("el-row");
59
+ const _component_el_input = vue.resolveComponent("el-input");
60
+ const _component_el_col = vue.resolveComponent("el-col");
61
+ const _component_el_tabs = vue.resolveComponent("el-tabs");
62
+ const _component_el_form = vue.resolveComponent("el-form");
63
+ const _component_el_button = vue.resolveComponent("el-button");
64
+ const _component_el_dialog = vue.resolveComponent("el-dialog");
65
+ return vue.openBlock(), vue.createBlock(_component_el_dialog, {
66
+ modelValue: vue.unref(visible),
67
+ "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.isRef(visible) ? visible.value = $event : null),
68
+ width: 600,
69
+ title: "图表配置",
70
+ class: "bdDialog chartConfig",
71
+ style: { borderRadius: "10px" },
72
+ draggable: ""
73
+ }, {
74
+ footer: vue.withCtx(() => [
75
+ vue.createElementVNode("div", _hoisted_1, [
76
+ vue.createVNode(_component_el_button, {
77
+ onClick: _cache[10] || (_cache[10] = ($event) => visible.value = false)
78
+ }, {
79
+ default: vue.withCtx(() => [..._cache[16] || (_cache[16] = [
80
+ vue.createTextVNode("取消", -1)
81
+ ])]),
82
+ _: 1
83
+ }),
84
+ vue.createVNode(_component_el_button, {
85
+ type: "primary",
86
+ onClick: handleSetChartColorSave
87
+ }, {
88
+ default: vue.withCtx(() => [..._cache[17] || (_cache[17] = [
89
+ vue.createTextVNode(" 确定 ", -1)
90
+ ])]),
91
+ _: 1
92
+ })
93
+ ])
94
+ ]),
95
+ default: vue.withCtx(() => [
96
+ vue.createVNode(_component_el_form, {
97
+ modelValue: chartColorForm,
98
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => chartColorForm = $event),
99
+ "label-suffix": ":",
100
+ "label-width": "80px",
101
+ class: "formconfig",
102
+ style: { "padding": "10px 10px" }
103
+ }, {
104
+ default: vue.withCtx(() => [
105
+ vue.createVNode(_component_el_tabs, {
106
+ type: "border-card",
107
+ class: "chart-tabs",
108
+ style: { "height": "100%" }
109
+ }, {
110
+ default: vue.withCtx(() => [
111
+ vue.createVNode(_component_el_tab_pane, { label: "坐标轴配置" }, {
112
+ default: vue.withCtx(() => [
113
+ vue.createVNode(_component_el_divider, { "content-position": "left" }, {
114
+ default: vue.withCtx(() => [..._cache[12] || (_cache[12] = [
115
+ vue.createTextVNode("X坐标轴", -1)
116
+ ])]),
117
+ _: 1
118
+ }),
119
+ vue.createVNode(_component_el_form_item, { label: "抽稀个数" }, {
120
+ default: vue.withCtx(() => [
121
+ vue.createVNode(_component_el_input_number, {
122
+ modelValue: chartForm.value.xAxis_axisLabel_interval,
123
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => chartForm.value.xAxis_axisLabel_interval = $event),
124
+ min: 0,
125
+ "controls-position": "right"
126
+ }, null, 8, ["modelValue"])
127
+ ]),
128
+ _: 1
129
+ }),
130
+ vue.createVNode(_component_el_form_item, { label: "旋转角度" }, {
131
+ default: vue.withCtx(() => [
132
+ vue.createVNode(_component_el_input_number, {
133
+ modelValue: chartForm.value.xAxis_axisLabel_rotate,
134
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => chartForm.value.xAxis_axisLabel_rotate = $event),
135
+ min: -90,
136
+ max: 90,
137
+ "controls-position": "right"
138
+ }, null, 8, ["modelValue"])
139
+ ]),
140
+ _: 1
141
+ }),
142
+ vue.createVNode(_component_el_divider, { "content-position": "left" }, {
143
+ default: vue.withCtx(() => [..._cache[13] || (_cache[13] = [
144
+ vue.createTextVNode("Y坐标轴", -1)
145
+ ])]),
146
+ _: 1
147
+ }),
148
+ vue.createVNode(_component_el_form_item, { label: "最小值" }, {
149
+ default: vue.withCtx(() => [
150
+ vue.createVNode(_component_el_input_number, {
151
+ modelValue: chartForm.value.yAxis_min,
152
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => chartForm.value.yAxis_min = $event),
153
+ "controls-position": "right"
154
+ }, null, 8, ["modelValue"])
155
+ ]),
156
+ _: 1
157
+ }),
158
+ vue.createVNode(_component_el_form_item, { label: "最大值" }, {
159
+ default: vue.withCtx(() => [
160
+ vue.createVNode(_component_el_input_number, {
161
+ modelValue: chartForm.value.yAxis_max,
162
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => chartForm.value.yAxis_max = $event),
163
+ "controls-position": "right"
164
+ }, null, 8, ["modelValue"])
165
+ ]),
166
+ _: 1
167
+ }),
168
+ vue.createVNode(_component_el_form_item, { label: "间隔值" }, {
169
+ default: vue.withCtx(() => [
170
+ vue.createVNode(_component_el_input_number, {
171
+ modelValue: chartForm.value.yAxis_interval,
172
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => chartForm.value.yAxis_interval = $event),
173
+ min: 0,
174
+ "controls-position": "right"
175
+ }, null, 8, ["modelValue"])
176
+ ]),
177
+ _: 1
178
+ })
179
+ ]),
180
+ _: 1
181
+ }),
182
+ vue.createVNode(_component_el_tab_pane, { label: "曲线配置" }, {
183
+ default: vue.withCtx(() => [
184
+ vue.createVNode(_component_el_divider, { "content-position": "left" }, {
185
+ default: vue.withCtx(() => [..._cache[14] || (_cache[14] = [
186
+ vue.createTextVNode("曲线节点", -1)
187
+ ])]),
188
+ _: 1
189
+ }),
190
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(chartForm.value.seriesConfig, (item, index) => {
191
+ return vue.openBlock(), vue.createBlock(_component_el_form_item, {
192
+ label: item.name,
193
+ key: index
194
+ }, {
195
+ default: vue.withCtx(() => [
196
+ vue.createVNode(_component_el_row, null, {
197
+ default: vue.withCtx(() => [
198
+ vue.createVNode(_component_el_form_item, { label: "颜色" }, {
199
+ default: vue.withCtx(() => [
200
+ vue.createVNode(_component_el_color_picker, {
201
+ modelValue: item.itemStyle_color,
202
+ "onUpdate:modelValue": ($event) => item.itemStyle_color = $event,
203
+ size: "small"
204
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
205
+ ]),
206
+ _: 2
207
+ }, 1024),
208
+ vue.createVNode(_component_el_form_item, { label: "显示数值" }, {
209
+ default: vue.withCtx(() => [
210
+ vue.createVNode(_component_el_checkbox, {
211
+ modelValue: item.label_show,
212
+ "onUpdate:modelValue": ($event) => item.label_show = $event,
213
+ label: ""
214
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
215
+ ]),
216
+ _: 2
217
+ }, 1024),
218
+ vue.createVNode(_component_el_form_item, { label: "抽稀个数" }, {
219
+ default: vue.withCtx(() => [
220
+ vue.createVNode(_component_el_input_number, {
221
+ modelValue: item.label_interval,
222
+ "onUpdate:modelValue": ($event) => item.label_interval = $event,
223
+ min: 0,
224
+ "controls-position": "right"
225
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
226
+ ]),
227
+ _: 2
228
+ }, 1024)
229
+ ]),
230
+ _: 2
231
+ }, 1024)
232
+ ]),
233
+ _: 2
234
+ }, 1032, ["label"]);
235
+ }), 128)),
236
+ vue.createVNode(_component_el_divider, { "content-position": "left" }, {
237
+ default: vue.withCtx(() => [..._cache[15] || (_cache[15] = [
238
+ vue.createTextVNode("grid边距", -1)
239
+ ])]),
240
+ _: 1
241
+ }),
242
+ vue.createVNode(_component_el_row, null, {
243
+ default: vue.withCtx(() => [
244
+ vue.createVNode(_component_el_col, { span: 12 }, {
245
+ default: vue.withCtx(() => [
246
+ vue.createVNode(_component_el_form_item, { label: "左侧边距" }, {
247
+ default: vue.withCtx(() => [
248
+ vue.createVNode(_component_el_input, {
249
+ modelValue: chartForm.value.grid_left,
250
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => chartForm.value.grid_left = $event),
251
+ placeholder: "示例: 20 或 20%"
252
+ }, null, 8, ["modelValue"])
253
+ ]),
254
+ _: 1
255
+ })
256
+ ]),
257
+ _: 1
258
+ }),
259
+ vue.createVNode(_component_el_col, { span: 12 }, {
260
+ default: vue.withCtx(() => [
261
+ vue.createVNode(_component_el_form_item, { label: "右侧边距" }, {
262
+ default: vue.withCtx(() => [
263
+ vue.createVNode(_component_el_input, {
264
+ modelValue: chartForm.value.grid_right,
265
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => chartForm.value.grid_right = $event),
266
+ placeholder: "示例: 20 或 20%"
267
+ }, null, 8, ["modelValue"])
268
+ ]),
269
+ _: 1
270
+ })
271
+ ]),
272
+ _: 1
273
+ })
274
+ ]),
275
+ _: 1
276
+ }),
277
+ vue.createVNode(_component_el_row, null, {
278
+ default: vue.withCtx(() => [
279
+ vue.createVNode(_component_el_col, { span: 12 }, {
280
+ default: vue.withCtx(() => [
281
+ vue.createVNode(_component_el_form_item, { label: "上侧边距" }, {
282
+ default: vue.withCtx(() => [
283
+ vue.createVNode(_component_el_input, {
284
+ modelValue: chartForm.value.grid_top,
285
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => chartForm.value.grid_top = $event),
286
+ placeholder: "示例: 20 或 20%"
287
+ }, null, 8, ["modelValue"])
288
+ ]),
289
+ _: 1
290
+ })
291
+ ]),
292
+ _: 1
293
+ }),
294
+ vue.createVNode(_component_el_col, { span: 12 }, {
295
+ default: vue.withCtx(() => [
296
+ vue.createVNode(_component_el_form_item, { label: "下侧边距" }, {
297
+ default: vue.withCtx(() => [
298
+ vue.createVNode(_component_el_input, {
299
+ modelValue: chartForm.value.grid_bottom,
300
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => chartForm.value.grid_bottom = $event),
301
+ placeholder: "示例: 20 或 20%"
302
+ }, null, 8, ["modelValue"])
303
+ ]),
304
+ _: 1
305
+ })
306
+ ]),
307
+ _: 1
308
+ })
309
+ ]),
310
+ _: 1
311
+ })
312
+ ]),
313
+ _: 1
314
+ })
315
+ ]),
316
+ _: 1
317
+ })
318
+ ]),
319
+ _: 1
320
+ }, 8, ["modelValue"])
321
+ ]),
322
+ _: 1
323
+ }, 8, ["modelValue"]);
324
+ };
325
+ }
326
+ };
327
+ module.exports = _sfc_main;
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ require("./index.vue2.cjs");
4
+ const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.cjs");
5
+ const _hoisted_1 = { class: "context-menu-container" };
6
+ const _hoisted_2 = ["onClick"];
7
+ const _sfc_main = {
8
+ __name: "index",
9
+ props: {
10
+ options: {
11
+ type: Array,
12
+ default: () => []
13
+ }
14
+ },
15
+ emits: ["menu-click", "show-menu", "hide-menu"],
16
+ setup(__props, { expose: __expose, emit: __emit }) {
17
+ const props = __props;
18
+ const emit = __emit;
19
+ const menuRef = vue.ref(null);
20
+ const isMenuVisible = vue.ref(false);
21
+ const menuX = vue.ref(0);
22
+ const menuY = vue.ref(0);
23
+ const currentItem = vue.ref(null);
24
+ const menuOptions = vue.computed(() => props.options);
25
+ const currentItemData = vue.ref(null);
26
+ vue.provide("showContextMenu", (itemData, event) => {
27
+ event.preventDefault();
28
+ currentItemData.value = itemData;
29
+ const { clientX, clientY } = event;
30
+ const menuWidth = 180;
31
+ const menuHeight = props.options.length * 40;
32
+ let x = clientX;
33
+ if (x + menuWidth > window.innerWidth) {
34
+ x = Math.max(0, window.innerWidth - menuWidth);
35
+ }
36
+ let y = clientY;
37
+ if (y + menuHeight > window.innerHeight) {
38
+ y = Math.max(0, window.innerHeight - menuHeight);
39
+ }
40
+ menuX.value = x;
41
+ menuY.value = y;
42
+ isMenuVisible.value = true;
43
+ });
44
+ const showMenu = (item, event) => {
45
+ event.preventDefault();
46
+ currentItem.value = item;
47
+ const { x, y } = calculateMenuPosition(event.clientX, event.clientY);
48
+ menuX.value = x;
49
+ menuY.value = y;
50
+ isMenuVisible.value = true;
51
+ emit("show-menu", { item, x, y });
52
+ };
53
+ const calculateMenuPosition = (clientX, clientY) => {
54
+ const menuWidth = 180;
55
+ const menuHeight = 40 * menuOptions.value.length;
56
+ let x = clientX;
57
+ let y = clientY;
58
+ if (x + menuWidth > window.innerWidth) {
59
+ x = window.innerWidth - menuWidth;
60
+ }
61
+ if (y + menuHeight > window.innerHeight) {
62
+ y = window.innerHeight - menuHeight;
63
+ }
64
+ return { x, y };
65
+ };
66
+ const handleMenuItemClick = (item, index2) => {
67
+ isMenuVisible.value = false;
68
+ emit("menu-click", { item, index: index2, data: currentItem.value });
69
+ if (typeof item.click === "function") {
70
+ item.click(currentItem.value);
71
+ }
72
+ };
73
+ const handleEnter = (el) => {
74
+ el.style.opacity = "0";
75
+ el.style.transform = "translateY(-10px)";
76
+ el.style.transition = "opacity 0.2s, transform 0.2s";
77
+ setTimeout(() => {
78
+ el.style.opacity = "1";
79
+ el.style.transform = "translateY(0)";
80
+ }, 10);
81
+ };
82
+ const closeMenuOnClickOutside = (event) => {
83
+ if (menuRef.value && !menuRef.value.contains(event.target)) {
84
+ isMenuVisible.value = false;
85
+ emit("hide-menu");
86
+ }
87
+ };
88
+ const closeMenuOnEsc = (event) => {
89
+ if (event.key === "Escape") {
90
+ isMenuVisible.value = false;
91
+ emit("hide-menu");
92
+ }
93
+ };
94
+ vue.onMounted(() => {
95
+ document.addEventListener("click", closeMenuOnClickOutside);
96
+ document.addEventListener("keydown", closeMenuOnEsc);
97
+ });
98
+ vue.onUnmounted(() => {
99
+ document.removeEventListener("click", closeMenuOnClickOutside);
100
+ document.removeEventListener("keydown", closeMenuOnEsc);
101
+ });
102
+ __expose({
103
+ showMenu
104
+ });
105
+ vue.watch(() => props.options, (newOptions) => {
106
+ if (isMenuVisible.value && menuRef.value) {
107
+ const menuHeight = 40 * newOptions.length;
108
+ menuRef.value.style.height = `${menuHeight}px`;
109
+ }
110
+ });
111
+ return (_ctx, _cache) => {
112
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
113
+ vue.renderSlot(_ctx.$slots, "default", {}, void 0, true),
114
+ (vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
115
+ vue.createVNode(vue.Transition, {
116
+ name: "menu-fade",
117
+ onEnter: handleEnter
118
+ }, {
119
+ default: vue.withCtx(() => [
120
+ isMenuVisible.value ? (vue.openBlock(), vue.createElementBlock("div", {
121
+ key: 0,
122
+ class: "context-menu",
123
+ ref_key: "menuRef",
124
+ ref: menuRef,
125
+ style: vue.normalizeStyle({ top: menuY.value + "px", left: menuX.value + "px" })
126
+ }, [
127
+ vue.createElementVNode("ul", null, [
128
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(menuOptions.value, (item, index2) => {
129
+ return vue.openBlock(), vue.createElementBlock("li", {
130
+ key: index2,
131
+ class: "menu-item",
132
+ onClick: ($event) => handleMenuItemClick(item, index2)
133
+ }, [
134
+ vue.createTextVNode(vue.toDisplayString(item.label) + " ", 1),
135
+ item.icon ? (vue.openBlock(), vue.createElementBlock("span", {
136
+ key: 0,
137
+ class: vue.normalizeClass(item.icon)
138
+ }, null, 2)) : vue.createCommentVNode("", true)
139
+ ], 8, _hoisted_2);
140
+ }), 128))
141
+ ])
142
+ ], 4)) : vue.createCommentVNode("", true)
143
+ ]),
144
+ _: 1
145
+ })
146
+ ]))
147
+ ]);
148
+ };
149
+ }
150
+ };
151
+ const index = /* @__PURE__ */ _pluginVue_exportHelper(_sfc_main, [["__scopeId", "data-v-d29d1e99"]]);
152
+ module.exports = index;
@@ -0,0 +1 @@
1
+ "use strict";