@qxs-bns/components 0.0.45 → 0.0.47

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 (219) hide show
  1. package/es/_virtual/_plugin-vue_export-helper.mjs +1 -1
  2. package/es/index.css +83 -0
  3. package/es/package.json.mjs +1 -1
  4. package/es/src/data-chart/src/components/area.vue.mjs +1 -1
  5. package/es/src/data-chart/src/components/area.vue2.mjs +1 -1
  6. package/es/src/data-chart/src/components/bar.vue.mjs +1 -1
  7. package/es/src/data-chart/src/components/card.vue.mjs +1 -1
  8. package/es/src/data-chart/src/components/card.vue2.mjs +1 -1
  9. package/es/src/data-chart/src/components/card.vue2.mjs.map +1 -1
  10. package/es/src/data-chart/src/components/empty.vue.mjs +1 -1
  11. package/es/src/data-chart/src/components/funnel.vue.mjs +1 -1
  12. package/es/src/data-chart/src/components/line.vue.mjs +1 -1
  13. package/es/src/data-chart/src/components/line.vue2.mjs +1 -1
  14. package/es/src/data-chart/src/components/pie.vue.mjs +1 -1
  15. package/es/src/data-chart/src/components/radar.vue.mjs +1 -1
  16. package/es/src/data-chart/src/components/scatter-simple.vue.mjs +1 -1
  17. package/es/src/data-chart/src/components/scatter.vue.mjs +1 -1
  18. package/es/src/data-chart/src/components/table.vue.mjs +1 -1
  19. package/es/src/data-chart/src/components/table.vue.mjs.map +1 -1
  20. package/es/src/data-chart/src/data-chart.vue.mjs +1 -1
  21. package/es/src/data-chart/src/utils/config.mjs +1 -1
  22. package/es/src/data-chart/src/utils/useCharts.mjs +1 -1
  23. package/es/src/file-upload/src/file-upload.vue.mjs +1 -1
  24. package/es/src/file-upload/src/file-upload.vue.mjs.map +1 -1
  25. package/es/src/fixed-action-bar/src/fixed-action-bar.vue.mjs +1 -1
  26. package/es/src/image-upload/src/image-upload.vue.mjs +1 -1
  27. package/es/src/image-upload/src/image-upload.vue.mjs.map +1 -1
  28. package/es/src/photo-crop-tool/src/composables.mjs +1 -1
  29. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.mjs +1 -1
  30. package/es/src/subject-action/src/subject-action.vue.mjs +1 -1
  31. package/es/src/subject-action/src/subject-action.vue.mjs.map +1 -1
  32. package/es/src/subject-layout/src/subject-layout.vue.mjs +1 -1
  33. package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs +1 -1
  34. package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs.map +1 -1
  35. package/es/src/subject-list/src/components/SubjectRichText.vue.mjs +1 -1
  36. package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs +1 -1
  37. package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs.map +1 -1
  38. package/es/src/subject-list/src/components/subject-scale.vue.mjs +1 -1
  39. package/es/src/subject-list/src/components/subject-scale.vue.mjs.map +1 -1
  40. package/es/src/subject-list/src/components/subject-single.vue.mjs +1 -1
  41. package/es/src/subject-list/src/components/subject-single.vue.mjs.map +1 -1
  42. package/es/src/subject-list/src/components/subject-text-fill.vue.mjs +1 -1
  43. package/es/src/subject-list/src/components/subject-text-fill.vue.mjs.map +1 -1
  44. package/es/src/subject-list/src/subject-list.vue.mjs +1 -1
  45. package/es/src/subject-list/src/subject-list.vue.mjs.map +1 -1
  46. package/es/src/subject-type/src/subject-type.vue.mjs +1 -1
  47. package/es/src/tiny-mce-editor/index.mjs.map +1 -1
  48. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs +1 -1
  49. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs.map +1 -1
  50. package/es/src/withInstall.mjs +1 -1
  51. package/lib/_virtual/_plugin-vue_export-helper.cjs +1 -1
  52. package/lib/index.cjs +1 -1
  53. package/lib/index.css +83 -0
  54. package/lib/package.json.cjs +1 -1
  55. package/lib/src/components.cjs +1 -1
  56. package/lib/src/data-chart/index.cjs +1 -1
  57. package/lib/src/data-chart/src/components/area.vue.cjs +1 -1
  58. package/lib/src/data-chart/src/components/area.vue2.cjs +1 -1
  59. package/lib/src/data-chart/src/components/bar.vue.cjs +1 -1
  60. package/lib/src/data-chart/src/components/card.vue.cjs +1 -1
  61. package/lib/src/data-chart/src/components/card.vue2.cjs +1 -1
  62. package/lib/src/data-chart/src/components/card.vue2.cjs.map +1 -1
  63. package/lib/src/data-chart/src/components/empty.vue.cjs +1 -1
  64. package/lib/src/data-chart/src/components/funnel.vue.cjs +1 -1
  65. package/lib/src/data-chart/src/components/line.vue.cjs +1 -1
  66. package/lib/src/data-chart/src/components/line.vue2.cjs +1 -1
  67. package/lib/src/data-chart/src/components/pie.vue.cjs +1 -1
  68. package/lib/src/data-chart/src/components/radar.vue.cjs +1 -1
  69. package/lib/src/data-chart/src/components/scatter-simple.vue.cjs +1 -1
  70. package/lib/src/data-chart/src/components/scatter.vue.cjs +1 -1
  71. package/lib/src/data-chart/src/components/table.vue.cjs +1 -1
  72. package/lib/src/data-chart/src/components/table.vue.cjs.map +1 -1
  73. package/lib/src/data-chart/src/data-chart.vue.cjs +1 -1
  74. package/lib/src/data-chart/src/utils/useCharts.cjs +1 -1
  75. package/lib/src/file-upload/index.cjs +1 -1
  76. package/lib/src/file-upload/src/file-upload.vue.cjs +1 -1
  77. package/lib/src/file-upload/src/file-upload.vue.cjs.map +1 -1
  78. package/lib/src/fixed-action-bar/index.cjs +1 -1
  79. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.cjs +1 -1
  80. package/lib/src/image-upload/index.cjs +1 -1
  81. package/lib/src/image-upload/src/image-upload.vue.cjs +1 -1
  82. package/lib/src/image-upload/src/image-upload.vue.cjs.map +1 -1
  83. package/lib/src/make-installer.cjs +1 -1
  84. package/lib/src/photo-crop-tool/index.cjs +1 -1
  85. package/lib/src/photo-crop-tool/src/composables.cjs +1 -1
  86. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.cjs +1 -1
  87. package/lib/src/subject-action/index.cjs +1 -1
  88. package/lib/src/subject-action/src/subject-action.vue.cjs +1 -1
  89. package/lib/src/subject-action/src/subject-action.vue.cjs.map +1 -1
  90. package/lib/src/subject-layout/index.cjs +1 -1
  91. package/lib/src/subject-layout/src/subject-layout.vue.cjs +1 -1
  92. package/lib/src/subject-list/index.cjs +1 -1
  93. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs +1 -1
  94. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs.map +1 -1
  95. package/lib/src/subject-list/src/components/SubjectRichText.vue.cjs +1 -1
  96. package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs +1 -1
  97. package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs.map +1 -1
  98. package/lib/src/subject-list/src/components/subject-scale.vue.cjs +1 -1
  99. package/lib/src/subject-list/src/components/subject-scale.vue.cjs.map +1 -1
  100. package/lib/src/subject-list/src/components/subject-single.vue.cjs +1 -1
  101. package/lib/src/subject-list/src/components/subject-single.vue.cjs.map +1 -1
  102. package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs +1 -1
  103. package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs.map +1 -1
  104. package/lib/src/subject-list/src/subject-list.vue.cjs +1 -1
  105. package/lib/src/subject-list/src/subject-list.vue.cjs.map +1 -1
  106. package/lib/src/subject-type/index.cjs +1 -1
  107. package/lib/src/subject-type/src/subject-type.vue.cjs +1 -1
  108. package/lib/src/tiny-mce-editor/index.cjs +1 -1
  109. package/lib/src/tiny-mce-editor/index.cjs.map +1 -1
  110. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs +1 -1
  111. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs.map +1 -1
  112. package/lib/src/withInstall.cjs +1 -1
  113. package/package.json +4 -6
  114. package/theme-chalk/index.css +1 -1
  115. package/theme-chalk/index.scss +13 -0
  116. package/theme-chalk/src/base.css +1 -0
  117. package/theme-chalk/src/base.scss +16 -0
  118. package/theme-chalk/src/common/element-plus.css +1 -0
  119. package/theme-chalk/src/common/element-plus.scss +606 -0
  120. package/theme-chalk/src/data-chart/empty.css +1 -0
  121. package/theme-chalk/src/data-chart/empty.scss +24 -0
  122. package/theme-chalk/src/data-chart/index.css +1 -0
  123. package/theme-chalk/src/data-chart/index.scss +9 -0
  124. package/theme-chalk/src/data-chart/table.css +1 -0
  125. package/theme-chalk/src/data-chart/table.scss +39 -0
  126. package/theme-chalk/src/file-upload.css +1 -0
  127. package/theme-chalk/src/file-upload.scss +34 -0
  128. package/theme-chalk/src/fixed-action-bar.css +1 -0
  129. package/theme-chalk/src/fixed-action-bar.scss +18 -0
  130. package/theme-chalk/src/image-upload.css +1 -0
  131. package/theme-chalk/src/image-upload.scss +135 -0
  132. package/theme-chalk/src/mixins/_var.css +0 -0
  133. package/theme-chalk/src/mixins/_var.scss +24 -0
  134. package/theme-chalk/src/mixins/config.css +0 -0
  135. package/theme-chalk/src/mixins/config.scss +14 -0
  136. package/theme-chalk/src/mixins/function.css +0 -0
  137. package/theme-chalk/src/mixins/function.scss +95 -0
  138. package/theme-chalk/src/mixins/mixins.css +0 -0
  139. package/theme-chalk/src/mixins/mixins.scss +103 -0
  140. package/theme-chalk/src/photo-crop-tool.css +1 -0
  141. package/theme-chalk/src/photo-crop-tool.scss +84 -0
  142. package/theme-chalk/src/subject-action.css +1 -0
  143. package/theme-chalk/src/subject-action.scss +36 -0
  144. package/theme-chalk/src/subject-layout.css +1 -0
  145. package/theme-chalk/src/subject-layout.scss +28 -0
  146. package/theme-chalk/src/subject-list.css +1 -0
  147. package/theme-chalk/src/subject-list.scss +289 -0
  148. package/theme-chalk/src/subject-template.scss +5 -0
  149. package/theme-chalk/src/subject-type.css +1 -0
  150. package/theme-chalk/src/subject-type.scss +32 -0
  151. package/theme-chalk/src/tiny-mce-editor.css +1 -0
  152. package/theme-chalk/src/tiny-mce-editor.scss +27 -0
  153. package/types/src/file-upload/src/file-upload.vue.d.ts.map +1 -1
  154. package/types/src/image-upload/index.d.ts +3 -40
  155. package/types/src/image-upload/index.d.ts.map +1 -1
  156. package/types/src/image-upload/src/image-upload.vue.d.ts +11 -20
  157. package/types/src/image-upload/src/image-upload.vue.d.ts.map +1 -1
  158. package/types/src/subject-action/src/subject-action.vue.d.ts.map +1 -1
  159. package/types/src/subject-layout/src/subject-layout.vue.d.ts.map +1 -1
  160. package/types/src/subject-list/src/components/subject-blank-fill.vue.d.ts.map +1 -1
  161. package/types/src/subject-list/src/components/subject-scale.vue.d.ts.map +1 -1
  162. package/types/src/subject-list/src/components/subject-single.vue.d.ts.map +1 -1
  163. package/types/src/subject-list/src/components/subject-text-fill.vue.d.ts.map +1 -1
  164. package/types/src/tiny-mce-editor/index.d.ts +1 -1
  165. package/types/src/tiny-mce-editor/index.d.ts.map +1 -1
  166. package/types/src/tiny-mce-editor/src/tiny-mce-editor.vue.d.ts +19 -19
  167. package/types/src/tiny-mce-editor/src/tiny-mce-editor.vue.d.ts.map +1 -1
  168. package/types/tsconfig.tsbuildinfo +1 -1
  169. package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs +0 -2
  170. package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs.map +0 -1
  171. package/es/src/data-chart/src/components/area.vue3.mjs +0 -2
  172. package/es/src/data-chart/src/components/area.vue3.mjs.map +0 -1
  173. package/es/src/data-chart/src/components/card.vue3.mjs +0 -2
  174. package/es/src/data-chart/src/components/card.vue3.mjs.map +0 -1
  175. package/es/src/data-chart/src/components/line.vue3.mjs +0 -2
  176. package/es/src/data-chart/src/components/line.vue3.mjs.map +0 -1
  177. package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.cjs +0 -2
  178. package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.cjs.map +0 -1
  179. package/lib/src/data-chart/src/components/area.vue3.cjs +0 -2
  180. package/lib/src/data-chart/src/components/area.vue3.cjs.map +0 -1
  181. package/lib/src/data-chart/src/components/card.vue3.cjs +0 -2
  182. package/lib/src/data-chart/src/components/card.vue3.cjs.map +0 -1
  183. package/lib/src/data-chart/src/components/line.vue3.cjs +0 -2
  184. package/lib/src/data-chart/src/components/line.vue3.cjs.map +0 -1
  185. package/theme-chalk/base.css +0 -1
  186. package/theme-chalk/file-upload.css +0 -1
  187. package/theme-chalk/fixed-action-bar.css +0 -1
  188. package/theme-chalk/image-upload.css +0 -1
  189. package/theme-chalk/photo-crop-tool.css +0 -1
  190. package/theme-chalk/src/base.scss.js +0 -4
  191. package/theme-chalk/src/base.scss.js.map +0 -1
  192. package/theme-chalk/src/file-upload.scss.js +0 -4
  193. package/theme-chalk/src/file-upload.scss.js.map +0 -1
  194. package/theme-chalk/src/fixed-action-bar.scss.js +0 -4
  195. package/theme-chalk/src/fixed-action-bar.scss.js.map +0 -1
  196. package/theme-chalk/src/image-upload.scss.js +0 -4
  197. package/theme-chalk/src/image-upload.scss.js.map +0 -1
  198. package/theme-chalk/src/index.scss.js +0 -4
  199. package/theme-chalk/src/index.scss.js.map +0 -1
  200. package/theme-chalk/src/photo-crop-tool.scss.js +0 -4
  201. package/theme-chalk/src/photo-crop-tool.scss.js.map +0 -1
  202. package/theme-chalk/src/subject-action.scss.js +0 -4
  203. package/theme-chalk/src/subject-action.scss.js.map +0 -1
  204. package/theme-chalk/src/subject-layout.scss.js +0 -4
  205. package/theme-chalk/src/subject-layout.scss.js.map +0 -1
  206. package/theme-chalk/src/subject-list.scss.js +0 -4
  207. package/theme-chalk/src/subject-list.scss.js.map +0 -1
  208. package/theme-chalk/src/subject-template.scss.js +0 -4
  209. package/theme-chalk/src/subject-template.scss.js.map +0 -1
  210. package/theme-chalk/src/subject-type.scss.js +0 -4
  211. package/theme-chalk/src/subject-type.scss.js.map +0 -1
  212. package/theme-chalk/src/tiny-mce-editor.scss.js +0 -4
  213. package/theme-chalk/src/tiny-mce-editor.scss.js.map +0 -1
  214. package/theme-chalk/subject-action.css +0 -1
  215. package/theme-chalk/subject-layout.css +0 -1
  216. package/theme-chalk/subject-list.css +0 -1
  217. package/theme-chalk/subject-type.css +0 -1
  218. package/theme-chalk/tiny-mce-editor.css +0 -1
  219. /package/theme-chalk/{subject-template.css → src/subject-template.css} +0 -0
package/lib/index.css ADDED
@@ -0,0 +1,83 @@
1
+ /* unplugin-vue-components disabled */
2
+ .line-vue-vue-type-style-index-0-scoped-397864aa-lang_data-chart-line__IKZEs[data-v-397864aa] {
3
+ width: 100%;
4
+ height: 100%;
5
+ }
6
+ /* unplugin-vue-components disabled */
7
+ .area-vue-vue-type-style-index-0-scoped-51660d7b-lang_data-chart-area-wrap__nAnr8[data-v-51660d7b] {
8
+ position: relative;
9
+ }
10
+ .area-vue-vue-type-style-index-0-scoped-51660d7b-lang_data-chart-area-wrap__nAnr8 .area-vue-vue-type-style-index-0-scoped-51660d7b-lang_city-select__IkwG-[data-v-51660d7b] {
11
+ position: absolute;
12
+ top: 10px;
13
+ right: 100px;
14
+ z-index: 1;
15
+ width: 120px;
16
+ }
17
+ .area-vue-vue-type-style-index-0-scoped-51660d7b-lang_data-chart-area-wrap__nAnr8 .area-vue-vue-type-style-index-0-scoped-51660d7b-lang_data-chart-area__tbCEP[data-v-51660d7b] {
18
+ height: 100%;
19
+ }
20
+ /* unplugin-vue-components disabled */
21
+ .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_data-chart-card__IY-jh[data-v-1c14c088] {
22
+ display: flex;
23
+ flex-direction: column;
24
+ }
25
+ .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_data-chart-card__IY-jh .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_title__dVPGY[data-v-1c14c088] {
26
+ display: flex;
27
+ align-items: center;
28
+ justify-content: space-between;
29
+ padding: 0 5px;
30
+ margin-top: 2px;
31
+ margin-bottom: 7px;
32
+ font-family: sans-serif;
33
+ font-size: 14px;
34
+ font-weight: bolder;
35
+ color: #464646;
36
+ }
37
+ .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_data-chart-card__IY-jh .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_data-chart-card-grid-layout__RzZja[data-v-1c14c088] {
38
+ display: grid;
39
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
40
+ gap: 10px;
41
+ width: calc(100% - 3px);
42
+ }
43
+ .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_data-chart-card__IY-jh .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_data-chart-card-wrap__kvIfO[data-v-1c14c088] {
44
+ height: 100% !important;
45
+ }
46
+ .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_data-chart-card__IY-jh .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_data-chart-card-wrap__kvIfO .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_card-item__oV7pK[data-v-1c14c088] {
47
+ width: 100% !important;
48
+ }
49
+ .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_data-chart-card__IY-jh .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_card-item__oV7pK[data-v-1c14c088] {
50
+ position: relative;
51
+ background-image: url("./data-chart-card-bg-left.svg"), url("./data-chart-card-bg-right.svg");
52
+ background-repeat: no-repeat;
53
+ background-position: left top, right top;
54
+ background-size: contain, contain;
55
+ border: 2px solid #2196f3;
56
+ border-radius: 6px;
57
+ }
58
+ .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_data-chart-card__IY-jh .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_card-item__oV7pK .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_suffix-icon__f7x6q[data-v-1c14c088] {
59
+ position: absolute;
60
+ right: 1px;
61
+ bottom: calc(25% - 14px);
62
+ width: 20px;
63
+ font-size: 20px;
64
+ font-weight: bold;
65
+ color: #fff;
66
+ text-align: center;
67
+ }
68
+ .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_data-chart-card__IY-jh .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_card-item__oV7pK .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_card-title__eF2-d[data-v-1c14c088] {
69
+ padding-left: 15px;
70
+ margin-top: 10px;
71
+ margin-bottom: 5px;
72
+ overflow: hidden;
73
+ font-size: 16px;
74
+ font-weight: bold;
75
+ color: #2196f3;
76
+ text-overflow: ellipsis;
77
+ white-space: nowrap;
78
+ }
79
+ .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_data-chart-card__IY-jh .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_card-item__oV7pK .card-vue-vue-type-style-index-0-scoped-1c14c088-lang_context__ro9I-[data-v-1c14c088] {
80
+ padding: 0 30px 10px 20px;
81
+ font-size: 14px;
82
+ color: #464646;
83
+ }
@@ -1,2 +1,2 @@
1
- "use strict";exports.version="0.0.45";
1
+ "use strict";exports.version="0.0.47";
2
2
  //# sourceMappingURL=package.json.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("./data-chart/index.cjs"),r=require("./file-upload/index.cjs"),i=require("./fixed-action-bar/index.cjs"),s=require("./image-upload/index.cjs"),t=require("./photo-crop-tool/index.cjs"),o=require("./subject-action/index.cjs"),x=require("./subject-layout/index.cjs"),c=require("./subject-list/index.cjs"),u=require("./subject-type/index.cjs"),d=require("./tiny-mce-editor/index.cjs");exports.QxsDataChart=e.QxsDataChart,exports.QxsFileUpload=r.QxsFileUpload,exports.QxsFixedActionBar=i.QxsFixedActionBar,exports.QxsImageUpload=s.QxsImageUpload,exports.QxsPhotoCropTool=t.QxsPhotoCropTool,exports.QxsSubjectAction=o.QxsSubjectAction,exports.QxsSubjectLayout=x.QxsSubjectLayout,exports.QxsSubjectList=c.QxsSubjectList,exports.QxsSubjectType=u.QxsSubjectType,exports.QxsTinyMceEditor=d.QxsTinyMceEditor;
1
+ "use strict";var e=require("./data-chart/index.cjs"),t=require("./file-upload/index.cjs"),s=require("./fixed-action-bar/index.cjs"),r=require("./image-upload/index.cjs"),i=require("./photo-crop-tool/index.cjs"),o=require("./subject-action/index.cjs"),x=require("./subject-layout/index.cjs"),c=require("./subject-list/index.cjs"),u=require("./subject-type/index.cjs"),a=require("./tiny-mce-editor/index.cjs");exports.QxsDataChart=e.QxsDataChart,exports.QxsFileUpload=t.QxsFileUpload,exports.QxsFixedActionBar=s.QxsFixedActionBar,exports.QxsImageUpload=r.QxsImageUpload,exports.QxsPhotoCropTool=i.QxsPhotoCropTool,exports.QxsSubjectAction=o.QxsSubjectAction,exports.QxsSubjectLayout=x.QxsSubjectLayout,exports.QxsSubjectList=c.QxsSubjectList,exports.QxsSubjectType=u.QxsSubjectType,exports.QxsTinyMceEditor=a.QxsTinyMceEditor;
2
2
  //# sourceMappingURL=components.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../withInstall.cjs"),r=require("./src/data-chart.vue.cjs");const s=e.withInstall(r.default);exports.QxsDataChart=s,exports.default=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../withInstall.cjs"),t=require("./src/data-chart.vue.cjs");const r=e.withInstall(t.default);exports.QxsDataChart=r,exports.default=r;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./area.vue2.cjs");require("./area.vue3.cjs");var r=require("../../../../_virtual/_plugin-vue_export-helper.cjs").default(e.default,[["__scopeId","data-v-51660d7b"]]);exports.default=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./area.vue2.cjs"),r=require("../../../../_virtual/_plugin-vue_export-helper.cjs").default(e.default,[["__scopeId","data-v-51660d7b"]]);exports.default=r;
2
2
  //# sourceMappingURL=area.vue.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("echarts"),a=require("../utils/config.cjs"),r=require("../utils/injectionKeys.cjs"),c=require("../utils/useCharts.cjs");function n(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var r=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,r.get?r:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var s=n(t);const l={class:"data-chart-area-wrap"};var u=e.defineComponent({name:"DataChartArea",__name:"area",props:{chartOptions:{type:null,required:!0},chartData:{type:Object,required:!1,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})}},setup(t){const n=e.inject(r.InjectionChartMerge,(e=>e),!0);let u="中国";const i=e.ref({features:[],type:"FeatureCollection"}),o=e.ref(null);let p=null;const m=e.computed((()=>{const{xGroupByDesc:e,groupByDesc:a,colDesc:r,modelName:c,data:s}=t.chartData,l=[];r.forEach((e=>{s.forEach((t=>{l.push(Number(t[e]))}))}));const o={title:{text:c},tooltip:{formatter(e){let t=`${e.name}<br/>`;return o.series?.forEach((a=>{a.data?.forEach((r=>{r.name===e.name&&(t+=`${a.name}:${r.value}</br>`)})),t.includes(a.name)||(t+=`${a.name}:-</br>`)})),t}},visualMap:{min:Math.min(...l,0),max:Math.max(...l,0)},series:r?.map((t=>{const r=[],c=a.find((e=>e.colDesc===("中国"===u?"医院所在省":"医院所在市"))),n={};s.map((a=>{const r=a[("中国"===u?e?.colDesc||"":c?.colDesc)||""],n=i.value.features?.find((({properties:{name:e}})=>e?.includes(r)));return{name:n?.properties?.name||"",value:Number(a[t])}})).forEach((e=>{n[e.name]?n[e.name]=n[e.name]+e.value:n[e.name]=e.value}));for(const e in n)r.push({name:e,value:n[e]});return{name:t,type:"map",map:u,data:r}}))};return n(o,t.chartOptions)}));async function d(e="中国"){if(p&&!p.isDisposed()){p.showLoading();try{const t=await a.getGeoJsonData({adcode:e});if(!t)return void p.hideLoading();i.value=t,u=e;const r=s.registerMap(e,t);return p.hideLoading(),r}catch(e){console.log(e),p.hideLoading()}}}return c.useCharts({chartDOM:o,chartOptions:m,chartData:e.computed((()=>t.chartData)),initAfter:async function(){await d(),p&&!p.isDisposed()&&(p.getZr()?.on("click",(e=>{e.target||"中国"===u||d("中国")})),p.on("click",(e=>{const a=t.chartData.groupByDesc?.some((e=>"医院所在市"===e.colDesc));"中国"===u&&a&&d(e.name).then((()=>{p&&!p.isDisposed()&&p.setOption(m.value)}))})))},callback:e=>{p=e}}),(t,a)=>(e.openBlock(),e.createElementBlock("div",l,[e.createCommentVNode(' <el-select\n v-if="isShowSelect"\n v-model="adcode"\n class="city-select"\n size="small"\n @change="selectChina"\n >\n <el-option\n v-for="item in selectList"\n :key="item.value"\n :label="item.label"\n :value="item.value"\n />\n </el-select> '),e.createElementVNode("div",{ref_key:"dataChartArea",ref:o,class:"data-chart-area"},null,512)]))}});exports.default=u;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("echarts"),a=require("../utils/config.cjs"),r=require("../utils/injectionKeys.cjs"),n=require("../utils/useCharts.cjs");function c(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var r=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,r.get?r:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var o=c(t);const s={class:"data-chart-area-wrap"};var i=e.defineComponent({name:"DataChartArea",__name:"area",props:{chartOptions:{type:null,required:!0},chartData:{type:Object,required:!1,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})}},setup(t){const c=e.inject(r.InjectionChartMerge,(e=>e),!0);let i="中国";const l=e.ref({features:[],type:"FeatureCollection"}),u=e.ref(null);let m=null;const p=e.computed((()=>{const{xGroupByDesc:e,groupByDesc:a,colDesc:r,modelName:n,data:o}=t.chartData,s=[];r.forEach((e=>{o.forEach((t=>{s.push(Number(t[e]))}))}));const u={title:{text:n},tooltip:{formatter(e){let t=`${e.name}<br/>`;return u.series?.forEach((a=>{a.data?.forEach((r=>{r.name===e.name&&(t+=`${a.name}:${r.value}</br>`)})),t.includes(a.name)||(t+=`${a.name}:-</br>`)})),t}},visualMap:{min:Math.min(...s,0),max:Math.max(...s,0)},series:r?.map((t=>{const r=[],n=a.find((e=>e.colDesc===("中国"===i?"医院所在省":"医院所在市"))),c={};o.map((a=>{const r=a[("中国"===i?e?.colDesc||"":n?.colDesc)||""],c=l.value.features?.find((({properties:{name:e}})=>e?.includes(r)));return{name:c?.properties?.name||"",value:Number(a[t])}})).forEach((e=>{c[e.name]?c[e.name]=c[e.name]+e.value:c[e.name]=e.value}));for(const e in c)r.push({name:e,value:c[e]});return{name:t,type:"map",map:i,data:r}}))};return c(u,t.chartOptions)}));async function d(e="中国"){if(m&&!m.isDisposed()){m.showLoading();try{const t=await a.getGeoJsonData({adcode:e});if(!t)return void m.hideLoading();l.value=t,i=e;const r=o.registerMap(e,t);return m.hideLoading(),r}catch(e){console.log(e),m.hideLoading()}}}return n.useCharts({chartDOM:u,chartOptions:p,chartData:e.computed((()=>t.chartData)),initAfter:async function(){await d(),m&&!m.isDisposed()&&(m.getZr()?.on("click",(e=>{e.target||"中国"===i||d("中国")})),m.on("click",(e=>{const a=t.chartData.groupByDesc?.some((e=>"医院所在市"===e.colDesc));"中国"===i&&a&&d(e.name).then((()=>{m&&!m.isDisposed()&&m.setOption(p.value)}))})))},callback:e=>{m=e}}),(t,a)=>(e.openBlock(),e.createElementBlock("div",s,[e.createCommentVNode(' <el-select\n v-if="isShowSelect"\n v-model="adcode"\n class="city-select"\n size="small"\n @change="selectChina"\n >\n <el-option\n v-for="item in selectList"\n :key="item.value"\n :label="item.label"\n :value="item.value"\n />\n </el-select> '),e.createElementVNode("div",{ref_key:"dataChartArea",ref:u,class:"data-chart-area"},null,512)]))}});exports.default=i;
2
2
  //# sourceMappingURL=area.vue2.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),a=require("lodash-es"),t=require("../utils/injectionKeys.cjs"),r=require("../utils/useCharts.cjs"),s=e.defineComponent({name:"DataChartBar",__name:"bar",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},subShowType:{type:String,required:!0,default:"bar-simple"},chartOptions:{type:null,required:!0}},setup(s){const l=e.inject(t.InjectionChartMerge,(e=>e),!0),c=e.ref(null),i=e.computed((()=>{const{colDesc:e,xGroupByDesc:t,groupByDesc:r,data:c=[],modelName:i}=s.chartData,o=Array.from(new Set(c.map((e=>e[t.colDesc||""])))).filter((e=>null!=e))||[],u=r.find((e=>!e.xAxis))||{groupByValues:[],colDesc:""};u.groupByValues=a.uniq(c.map((e=>u.colDesc?String(e[u.colDesc]):""))),t&&t.groupByValues&&(t.groupByValues=a.uniq(c.map((e=>t.colDesc?String(e[t.colDesc]):""))));const n={title:{text:i},xAxis:{name:"",type:"category",axisLabel:{interval:0,formatter:e=>e.length>5?`${e.substring(0,5)}...`:e},data:o},yAxis:{type:"value"},legend:{data:[]},dataZoom:[{type:"inside",disabled:o.length<15}]};if(1===r.length)n.series=e.map((e=>({name:e,data:c.map((a=>a[e])),type:"bar",emphasis:{focus:"series"},label:{show:!0,position:"inside"}}))),n.legend.data=e;else if(2===r.length){const a=e.map((e=>u.groupByValues?.map((a=>{const r={name:`${a||"/"}-${e}`,type:"bar",stack:e,emphasis:{focus:"series"},data:[],label:{show:!0,position:"inside"}};return r.data=(t.groupByValues||[]).map((e=>{let s=null;return c.forEach((l=>{u.colDesc&&l[u.colDesc]===a&&t.colDesc&&l[t.colDesc]===e&&r.stack&&(s=l[r.stack]??null)})),s||""})).filter((e=>""!==e)),r}))||[])).flat();n.series=a,delete n.legend}function p(e,a,t,r){Array.isArray(e)?e.forEach((e=>{e&&(e.type=a,"category"===a&&(e.data=t||[],e.name=r||""))})):e&&(e.type=a,"category"===a&&(e.data=t||[],e.name=r||""))}switch(s.subShowType){case"bar-simple":case"default":p(n.xAxis,"category",o,t.colDesc||""),p(n.yAxis,"value");break;case"bar-y-category":p(n.xAxis,"value"),p(n.yAxis,"category",o,t.colDesc||"")}return l(n,s.chartOptions)}));return r.useCharts({chartDOM:c,chartOptions:i,chartData:e.computed((()=>s.chartData))}),(a,t)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataChartBar",ref:c,class:"data-chart-bar"},null,512))}});exports.default=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),a=require("lodash-es"),t=require("../utils/injectionKeys.cjs"),s=require("../utils/useCharts.cjs"),r=e.defineComponent({name:"DataChartBar",__name:"bar",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},subShowType:{type:String,required:!0,default:"bar-simple"},chartOptions:{type:null,required:!0}},setup(r){const c=e.inject(t.InjectionChartMerge,(e=>e),!0),l=e.ref(null),o=e.computed((()=>{const{colDesc:e,xGroupByDesc:t,groupByDesc:s,data:l=[],modelName:o}=r.chartData,i=Array.from(new Set(l.map((e=>e[t.colDesc||""])))).filter((e=>null!=e))||[],u=s.find((e=>!e.xAxis))||{groupByValues:[],colDesc:""};u.groupByValues=a.uniq(l.map((e=>u.colDesc?String(e[u.colDesc]):""))),t&&t.groupByValues&&(t.groupByValues=a.uniq(l.map((e=>t.colDesc?String(e[t.colDesc]):""))));const n={title:{text:o},xAxis:{name:"",type:"category",axisLabel:{interval:0,formatter:e=>e.length>5?`${e.substring(0,5)}...`:e},data:i},yAxis:{type:"value"},legend:{data:[]},dataZoom:[{type:"inside",disabled:i.length<15}]};if(1===s.length)n.series=e.map((e=>({name:e,data:l.map((a=>a[e])),type:"bar",emphasis:{focus:"series"},label:{show:!0,position:"inside"}}))),n.legend.data=e;else if(2===s.length){const a=e.map((e=>u.groupByValues?.map((a=>{const s={name:`${a||"/"}-${e}`,type:"bar",stack:e,emphasis:{focus:"series"},data:[],label:{show:!0,position:"inside"}};return s.data=(t.groupByValues||[]).map((e=>{let r=null;return l.forEach((c=>{u.colDesc&&c[u.colDesc]===a&&t.colDesc&&c[t.colDesc]===e&&s.stack&&(r=c[s.stack]??null)})),r||""})).filter((e=>""!==e)),s}))||[])).flat();n.series=a,delete n.legend}function p(e,a,t,s){Array.isArray(e)?e.forEach((e=>{e&&(e.type=a,"category"===a&&(e.data=t||[],e.name=s||""))})):e&&(e.type=a,"category"===a&&(e.data=t||[],e.name=s||""))}switch(r.subShowType){case"bar-simple":case"default":p(n.xAxis,"category",i,t.colDesc||""),p(n.yAxis,"value");break;case"bar-y-category":p(n.xAxis,"value"),p(n.yAxis,"category",i,t.colDesc||"")}return c(n,r.chartOptions)}));return s.useCharts({chartDOM:l,chartOptions:o,chartData:e.computed((()=>r.chartData))}),(a,t)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataChartBar",ref:l,class:"data-chart-bar"},null,512))}});exports.default=r;
2
2
  //# sourceMappingURL=bar.vue.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./card.vue2.cjs");require("./card.vue3.cjs");var r=require("../../../../_virtual/_plugin-vue_export-helper.cjs").default(e.default,[["__scopeId","data-v-1c14c088"]]);exports.default=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./card.vue2.cjs"),r=require("../../../../_virtual/_plugin-vue_export-helper.cjs").default(e.default,[["__scopeId","data-v-1c14c088"]]);exports.default=r;
2
2
  //# sourceMappingURL=card.vue.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("element-plus/es"),e=require("vue"),a=require("./empty.vue.cjs");const l={class:"data-chart-card"},s={key:0,class:"title"},c=["title"],r={class:"context"},i={class:"suffix-icon"},d={key:2,class:"data-chart-card-wrap"},n=["title"],u={class:"context"};var o=e.defineComponent({name:"DataChartCard",__name:"card",props:{chartData:{type:Object,default:()=>({colDesc:[],xGroupByDesc:[],data:[],modelName:""})}},setup(o){const v=o;function p(t){const e=v.chartData.xGroupByDesc?.colDesc||"";return e?e+t[e]:""}return(v,y)=>{const k=t.ElScrollbar;return e.openBlock(),e.createElementBlock("div",l,[o.chartData.groupByDesc.length?(e.openBlock(),e.createElementBlock("p",s,e.toDisplayString(o.chartData.modelName),1)):e.createCommentVNode("v-if",!0),o.chartData.groupByDesc.length?e.withDirectives((e.openBlock(),e.createBlock(k,{key:1},{default:e.withCtx((()=>[e.createElementVNode("div",{class:e.normalizeClass({"data-chart-card-grid-layout":o.chartData.groupByDesc.length})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.chartData.data,((t,a)=>(e.openBlock(),e.createElementBlock("div",{key:a,class:"card-item"},[e.createElementVNode("div",{class:"card-title",title:p(t)},e.toDisplayString(p(t)),9,c),e.createElementVNode("div",r,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.chartData.colDesc,((a,l)=>(e.openBlock(),e.createElementBlock("span",{key:a},[e.createTextVNode(e.toDisplayString(`${a}: `||"-"),1),e.createElementVNode("strong",null,e.toDisplayString(t[a]||"-"),1),e.createTextVNode(" "+e.toDisplayString(l===o.chartData.colDesc.length-1?"":","),1)])))),128))]),e.createElementVNode("div",i,e.toDisplayString(a+1),1)])))),128))],2)])),_:1},512)),[[e.vShow,o.chartData.data.length]]):(e.openBlock(),e.createElementBlock("div",d,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.chartData.data,((t,a)=>(e.openBlock(),e.createElementBlock("div",{key:a,class:"card-item"},[e.createElementVNode("div",{class:"card-title",title:o.chartData.modelName},e.toDisplayString(o.chartData.modelName),9,n),e.createElementVNode("div",u,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.chartData.colDesc,((a,l)=>(e.openBlock(),e.createElementBlock("span",{key:a},[t?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(`${a}: `||"-"),1),e.createElementVNode("strong",null,e.toDisplayString(t[a]||"-"),1),e.createTextVNode(" "+e.toDisplayString(l===o.chartData.colDesc.length-1?"":","),1)],64)):e.createCommentVNode("v-if",!0)])))),128))])])))),128))])),e.withDirectives(e.createVNode(a.default,null,null,512),[[e.vShow,!o.chartData.data.length]])])}}});exports.default=o;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("element-plus/es");require("element-plus/es/components/base/style/index"),require("element-plus/es/components/scrollbar/style/index");var t=require("vue"),a=require("./empty.vue.cjs");const l={class:"data-chart-card"},c={key:0,class:"title"},r=["title"],o={class:"context"},n={class:"suffix-icon"},s={key:2,class:"data-chart-card-wrap"},i=["title"],d={class:"context"};var m=t.defineComponent({name:"DataChartCard",__name:"card",props:{chartData:{type:Object,default:()=>({colDesc:[],xGroupByDesc:[],data:[],modelName:""})}},setup(m){const p=m;function D(e){const t=p.chartData.xGroupByDesc?.colDesc||"";return t?t+e[t]:""}return(p,u)=>{const k=e.ElScrollbar;return t.openBlock(),t.createElementBlock("div",l,[m.chartData.groupByDesc.length?(t.openBlock(),t.createElementBlock("p",c,t.toDisplayString(m.chartData.modelName),1)):t.createCommentVNode("v-if",!0),m.chartData.groupByDesc.length?t.withDirectives((t.openBlock(),t.createBlock(k,{key:1},{default:t.withCtx((()=>[t.createElementVNode("div",{class:t.normalizeClass({"data-chart-card-grid-layout":m.chartData.groupByDesc.length})},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.chartData.data,((e,a)=>(t.openBlock(),t.createElementBlock("div",{key:a,class:"card-item"},[t.createElementVNode("div",{class:"card-title",title:D(e)},t.toDisplayString(D(e)),9,r),t.createElementVNode("div",o,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.chartData.colDesc,((a,l)=>(t.openBlock(),t.createElementBlock("span",{key:a},[t.createTextVNode(t.toDisplayString(`${a}: `||"-"),1),t.createElementVNode("strong",null,t.toDisplayString(e[a]||"-"),1),t.createTextVNode(" "+t.toDisplayString(l===m.chartData.colDesc.length-1?"":","),1)])))),128))]),t.createElementVNode("div",n,t.toDisplayString(a+1),1)])))),128))],2)])),_:1},512)),[[t.vShow,m.chartData.data.length]]):(t.openBlock(),t.createElementBlock("div",s,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.chartData.data,((e,a)=>(t.openBlock(),t.createElementBlock("div",{key:a,class:"card-item"},[t.createElementVNode("div",{class:"card-title",title:m.chartData.modelName},t.toDisplayString(m.chartData.modelName),9,i),t.createElementVNode("div",d,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.chartData.colDesc,((a,l)=>(t.openBlock(),t.createElementBlock("span",{key:a},[e?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createTextVNode(t.toDisplayString(`${a}: `||"-"),1),t.createElementVNode("strong",null,t.toDisplayString(e[a]||"-"),1),t.createTextVNode(" "+t.toDisplayString(l===m.chartData.colDesc.length-1?"":","),1)],64)):t.createCommentVNode("v-if",!0)])))),128))])])))),128))])),t.withDirectives(t.createVNode(a.default,null,null,512),[[t.vShow,!m.chartData.data.length]])])}}});exports.default=m;
2
2
  //# sourceMappingURL=card.vue2.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"card.vue2.cjs","sources":["../../../../../../../packages/components/src/data-chart/src/components/card.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { EChartData, IFormatPublicData } from '../types'\nimport Empty from './empty.vue'\n\ndefineOptions({\n name: 'DataChartCard',\n})\n\nconst props = defineProps({\n chartData: {\n type: Object as PropType<IFormatPublicData>,\n default: () => ({\n colDesc: [],\n xGroupByDesc: [],\n data: [],\n modelName: '',\n }),\n },\n})\n\nfunction cardTitle(dataItem: EChartData['data'][0]) {\n const colDesc = props.chartData.xGroupByDesc?.colDesc || ''\n\n return colDesc ? (colDesc + dataItem[colDesc]) : ''\n}\n</script>\n\n<template>\n <div class=\"data-chart-card\">\n <p v-if=\"chartData.groupByDesc.length\" class=\"title\">\n {{ chartData.modelName }}\n </p>\n <el-scrollbar v-show=\"chartData.data.length\" v-if=\"chartData.groupByDesc.length\">\n <div :class=\"{ 'data-chart-card-grid-layout': chartData.groupByDesc.length }\">\n <div\n v-for=\"(dataItem, dataIndex) in chartData.data\"\n :key=\"dataIndex\"\n class=\"card-item\"\n >\n <div class=\"card-title\" :title=\"cardTitle(dataItem)\">\n {{ cardTitle(dataItem) }}\n </div>\n <div class=\"context\">\n <span v-for=\"(item, index) in chartData.colDesc\" :key=\"item\">\n {{ `${item}: ` || '-' }}<strong>{{ dataItem[item] || '-' }}</strong> {{ index === chartData.colDesc.length - 1 ? '' : ',' }}\n </span>\n </div>\n <div class=\"suffix-icon\">\n {{ dataIndex + 1 }}\n </div>\n </div>\n </div>\n </el-scrollbar>\n <div v-else class=\"data-chart-card-wrap\">\n <div\n v-for=\"(dataItem, dataIndex) in chartData.data\"\n :key=\"dataIndex\"\n class=\"card-item\"\n >\n <div class=\"card-title\" :title=\"chartData.modelName\">\n {{ chartData.modelName }}\n </div>\n <div class=\"context\">\n <span v-for=\"(item, index) in chartData.colDesc\" :key=\"item\">\n <template v-if=\"dataItem\">\n {{ `${item}: ` || '-' }}<strong>{{ dataItem[item] || '-' }}</strong> {{ index === chartData.colDesc.length - 1 ? '' : ',' }}\n </template>\n </span>\n </div>\n </div>\n </div>\n <Empty v-show=\"!chartData.data.length\" />\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n.data-chart-card {\n display: flex;\n flex-direction: column;\n\n .title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 5px;\n margin-top: 2px;\n margin-bottom: 7px;\n font-family: sans-serif;\n font-size: 14px;\n font-weight: bolder;\n color: #464646;\n }\n\n .data-chart-card-grid-layout {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n gap: 10px;\n width: calc(100% - 3px);\n }\n\n .data-chart-card-wrap {\n height: 100% !important;\n\n .card-item {\n width: 100% !important;\n }\n }\n\n .card-item {\n position: relative;\n background-image: url(\"./data-chart-card-bg-left.svg\"), url(\"./data-chart-card-bg-right.svg\");\n background-repeat: no-repeat;\n background-position: left top, right top;\n background-size: contain, contain;\n border: 2px solid #2196f3;\n border-radius: 6px;\n\n .suffix-icon {\n position: absolute;\n right: 1px;\n bottom: calc(25% - 14px);\n width: 20px;\n font-size: 20px;\n font-weight: bold;\n color: #fff;\n text-align: center;\n }\n\n .card-title {\n padding-left: 15px;\n margin-top: 10px;\n margin-bottom: 5px;\n overflow: hidden;\n font-size: 16px;\n font-weight: bold;\n color: #2196f3;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .context {\n padding: 0 30px 10px 20px;\n font-size: 14px;\n color: #464646;\n }\n }\n}\n</style>\n"],"names":["props","__props","cardTitle","dataItem","colDesc","chartData","xGroupByDesc"],"mappings":"ifASA,MAAMA,EAAQC,EAYd,SAASC,EAAUC,GACjB,MAAMC,EAAUJ,EAAMK,UAAUC,cAAcF,SAAW,GAEzD,OAAOA,EAAWA,EAAUD,EAASC,GAAY,EAAA"}
1
+ {"version":3,"file":"card.vue2.cjs","sources":["../../../../../../../packages/components/src/data-chart/src/components/card.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { EChartData, IFormatPublicData } from '../types'\nimport Empty from './empty.vue'\n\ndefineOptions({\n name: 'DataChartCard',\n})\n\nconst props = defineProps({\n chartData: {\n type: Object as PropType<IFormatPublicData>,\n default: () => ({\n colDesc: [],\n xGroupByDesc: [],\n data: [],\n modelName: '',\n }),\n },\n})\n\nfunction cardTitle(dataItem: EChartData['data'][0]) {\n const colDesc = props.chartData.xGroupByDesc?.colDesc || ''\n\n return colDesc ? (colDesc + dataItem[colDesc]) : ''\n}\n</script>\n\n<template>\n <div class=\"data-chart-card\">\n <p v-if=\"chartData.groupByDesc.length\" class=\"title\">\n {{ chartData.modelName }}\n </p>\n <el-scrollbar v-show=\"chartData.data.length\" v-if=\"chartData.groupByDesc.length\">\n <div :class=\"{ 'data-chart-card-grid-layout': chartData.groupByDesc.length }\">\n <div\n v-for=\"(dataItem, dataIndex) in chartData.data\"\n :key=\"dataIndex\"\n class=\"card-item\"\n >\n <div class=\"card-title\" :title=\"cardTitle(dataItem)\">\n {{ cardTitle(dataItem) }}\n </div>\n <div class=\"context\">\n <span v-for=\"(item, index) in chartData.colDesc\" :key=\"item\">\n {{ `${item}: ` || '-' }}<strong>{{ dataItem[item] || '-' }}</strong> {{ index === chartData.colDesc.length - 1 ? '' : ',' }}\n </span>\n </div>\n <div class=\"suffix-icon\">\n {{ dataIndex + 1 }}\n </div>\n </div>\n </div>\n </el-scrollbar>\n <div v-else class=\"data-chart-card-wrap\">\n <div\n v-for=\"(dataItem, dataIndex) in chartData.data\"\n :key=\"dataIndex\"\n class=\"card-item\"\n >\n <div class=\"card-title\" :title=\"chartData.modelName\">\n {{ chartData.modelName }}\n </div>\n <div class=\"context\">\n <span v-for=\"(item, index) in chartData.colDesc\" :key=\"item\">\n <template v-if=\"dataItem\">\n {{ `${item}: ` || '-' }}<strong>{{ dataItem[item] || '-' }}</strong> {{ index === chartData.colDesc.length - 1 ? '' : ',' }}\n </template>\n </span>\n </div>\n </div>\n </div>\n <Empty v-show=\"!chartData.data.length\" />\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n.data-chart-card {\n display: flex;\n flex-direction: column;\n\n .title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 5px;\n margin-top: 2px;\n margin-bottom: 7px;\n font-family: sans-serif;\n font-size: 14px;\n font-weight: bolder;\n color: #464646;\n }\n\n .data-chart-card-grid-layout {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n gap: 10px;\n width: calc(100% - 3px);\n }\n\n .data-chart-card-wrap {\n height: 100% !important;\n\n .card-item {\n width: 100% !important;\n }\n }\n\n .card-item {\n position: relative;\n background-image: url(\"./data-chart-card-bg-left.svg\"), url(\"./data-chart-card-bg-right.svg\");\n background-repeat: no-repeat;\n background-position: left top, right top;\n background-size: contain, contain;\n border: 2px solid #2196f3;\n border-radius: 6px;\n\n .suffix-icon {\n position: absolute;\n right: 1px;\n bottom: calc(25% - 14px);\n width: 20px;\n font-size: 20px;\n font-weight: bold;\n color: #fff;\n text-align: center;\n }\n\n .card-title {\n padding-left: 15px;\n margin-top: 10px;\n margin-bottom: 5px;\n overflow: hidden;\n font-size: 16px;\n font-weight: bold;\n color: #2196f3;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .context {\n padding: 0 30px 10px 20px;\n font-size: 14px;\n color: #464646;\n }\n }\n}\n</style>\n"],"names":["props","__props","cardTitle","dataItem","colDesc","chartData","xGroupByDesc"],"mappings":"wmBASA,MAAMA,EAAQC,EAYd,SAASC,EAAUC,GACjB,MAAMC,EAAUJ,EAAMK,UAAUC,cAAcF,SAAW,GAEzD,OAAOA,EAAWA,EAAUD,EAASC,GAAY,EAAA"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("./empty.svg.cjs"),r=require("@qxs-bns/hooks");const s={class:"empty-content"},i=["src","alt"],a={class:"empty-description"};var p=e.defineComponent({name:"Empty",__name:"empty",props:{image:{type:String,required:!1,default:()=>t.default},description:{type:String,required:!1,default:"暂无数据"},imageSize:{type:Object,required:!1,default:()=>({width:"200px",height:"80px"})}},setup(t){const p=r.useNamespace("data-chart");return(t,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(p).e("empty")])},[e.createElementVNode("div",s,[e.createElementVNode("img",{style:e.normalizeStyle(t.imageSize),src:t.image,alt:t.description},null,12,i),e.createElementVNode("span",a,e.toDisplayString(t.description),1)])],2))}});exports.default=p;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("./empty.svg.cjs"),r=require("@qxs-bns/hooks");const i={class:"empty-content"},a=["src","alt"],s={class:"empty-description"};var n=e.defineComponent({name:"Empty",__name:"empty",props:{image:{type:String,required:!1,default:()=>t.default},description:{type:String,required:!1,default:"暂无数据"},imageSize:{type:Object,required:!1,default:()=>({width:"200px",height:"80px"})}},setup(t){const n=r.useNamespace("data-chart");return(t,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(n).e("empty")])},[e.createElementVNode("div",i,[e.createElementVNode("img",{style:e.normalizeStyle(t.imageSize),src:t.image,alt:t.description},null,12,a),e.createElementVNode("span",s,e.toDisplayString(t.description),1)])],2))}});exports.default=n;
2
2
  //# sourceMappingURL=empty.vue.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("../utils/injectionKeys.cjs"),a=require("../utils/useCharts.cjs"),r=e.defineComponent({name:"DataChartFunnel",__name:"funnel",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},chartOptions:{type:null,required:!0}},setup(r){const s=e.ref(),l=e.inject(t.InjectionChartMerge,(e=>e),!0),u=e.computed((()=>{const{colDesc:e,xGroupByDesc:t,modelName:a,data:s}=r.chartData,u={title:{text:a},legend:{},series:e.map((e=>({name:e,type:"funnel",left:"10%",width:"80%",label:{formatter:"{c}"},labelLine:{show:!1},itemStyle:{opacity:.7},emphasis:{label:{position:"inside",formatter:`{b}${e}: {c}`}},data:s.map((a=>({name:a[t?.colDesc||""],value:a[e]})))})))};return 1!==e.length&&(u.legend.data=e),l(u,r.chartOptions)}));return a.useCharts({chartDOM:s,chartOptions:u,chartData:e.computed((()=>r.chartData))}),(t,a)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataChartFunnel",ref:s,class:"data-chart-funnel"},null,512))}});exports.default=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("../utils/injectionKeys.cjs"),a=require("../utils/useCharts.cjs"),r=e.defineComponent({name:"DataChartFunnel",__name:"funnel",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},chartOptions:{type:null,required:!0}},setup(r){const c=e.ref(),n=e.inject(t.InjectionChartMerge,(e=>e),!0),s=e.computed((()=>{const{colDesc:e,xGroupByDesc:t,modelName:a,data:c}=r.chartData,s={title:{text:a},legend:{},series:e.map((e=>({name:e,type:"funnel",left:"10%",width:"80%",label:{formatter:"{c}"},labelLine:{show:!1},itemStyle:{opacity:.7},emphasis:{label:{position:"inside",formatter:`{b}${e}: {c}`}},data:c.map((a=>({name:a[t?.colDesc||""],value:a[e]})))})))};return 1!==e.length&&(s.legend.data=e),n(s,r.chartOptions)}));return a.useCharts({chartDOM:c,chartOptions:s,chartData:e.computed((()=>r.chartData))}),(t,a)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataChartFunnel",ref:c,class:"data-chart-funnel"},null,512))}});exports.default=r;
2
2
  //# sourceMappingURL=funnel.vue.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./line.vue2.cjs");require("./line.vue3.cjs");var r=require("../../../../_virtual/_plugin-vue_export-helper.cjs").default(e.default,[["__scopeId","data-v-397864aa"]]);exports.default=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./line.vue2.cjs"),r=require("../../../../_virtual/_plugin-vue_export-helper.cjs").default(e.default,[["__scopeId","data-v-397864aa"]]);exports.default=r;
2
2
  //# sourceMappingURL=line.vue.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("../utils/injectionKeys.cjs"),a=require("../utils/useCharts.cjs"),r=e.defineComponent({name:"DataChartLine",__name:"line",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},subShowType:{type:String,required:!0,default:"line-simple"},chartOptions:{type:null,required:!0}},setup(r){const s=e.ref(),n=e.inject(t.InjectionChartMerge,(e=>e),!0),c=15,i="Total";const l=e.computed((()=>{const{colDesc:e,xGroupByDesc:t,groupByDesc:a,data:s,modelName:l}=r.chartData,u=Array.from(new Set(s?.map((e=>e[t?.colDesc||""])))).filter((e=>null!=e))||[],o=a?.find((e=>!e.xAxis)),d={title:{text:l},legend:{data:[]},xAxis:{name:t?.colDesc||"",data:u},dataZoom:[{type:"inside",disabled:u.length<c}]};if(1===a?.length)d.series=e.map((e=>({name:e,type:"line",data:s.map((t=>t[e])).filter((e=>null!=e))}))),d.legend.data=e;else if(2===a?.length){const a=[...new Set(s.map((e=>String(e[o?.colDesc||""]))))];d.legend.data=a,d.series=a.map((a=>function(e,t,a,r,s,n){const c=[];return t.forEach((t=>{const i=a.find((a=>a[r?.colDesc]===t&&a[s?.colDesc]===e));i?c.push(i[n[0]]):c.push(0)})),{name:e,type:"line",stack:i,areaStyle:{},data:c}}(a,u,s,t,o,e)))}return d.series=d.series?.map((e=>{const t={...e};switch(r.subShowType){case"line-simple":default:delete t.areaStyle;break;case"area-basic":t.areaStyle={}}return t})),n(d,r.chartOptions)}));return a.useCharts({chartDOM:s,chartOptions:l,chartData:e.computed((()=>r.chartData))}),(t,a)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataChartLine",ref:s,class:"data-chart-line"},null,512))}});exports.default=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("../utils/injectionKeys.cjs"),a=require("../utils/useCharts.cjs"),r=e.defineComponent({name:"DataChartLine",__name:"line",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},subShowType:{type:String,required:!0,default:"line-simple"},chartOptions:{type:null,required:!0}},setup(r){const s=e.ref(),c=e.inject(t.InjectionChartMerge,(e=>e),!0),n=15,l="Total";const i=e.computed((()=>{const{colDesc:e,xGroupByDesc:t,groupByDesc:a,data:s,modelName:i}=r.chartData,o=Array.from(new Set(s?.map((e=>e[t?.colDesc||""])))).filter((e=>null!=e))||[],u=a?.find((e=>!e.xAxis)),p={title:{text:i},legend:{data:[]},xAxis:{name:t?.colDesc||"",data:o},dataZoom:[{type:"inside",disabled:o.length<n}]};if(1===a?.length)p.series=e.map((e=>({name:e,type:"line",data:s.map((t=>t[e])).filter((e=>null!=e))}))),p.legend.data=e;else if(2===a?.length){const a=[...new Set(s.map((e=>String(e[u?.colDesc||""]))))];p.legend.data=a,p.series=a.map((a=>function(e,t,a,r,s,c){const n=[];return t.forEach((t=>{const l=a.find((a=>a[r?.colDesc]===t&&a[s?.colDesc]===e));l?n.push(l[c[0]]):n.push(0)})),{name:e,type:"line",stack:l,areaStyle:{},data:n}}(a,o,s,t,u,e)))}return p.series=p.series?.map((e=>{const t={...e};switch(r.subShowType){case"line-simple":default:delete t.areaStyle;break;case"area-basic":t.areaStyle={}}return t})),c(p,r.chartOptions)}));return a.useCharts({chartDOM:s,chartOptions:i,chartData:e.computed((()=>r.chartData))}),(t,a)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataChartLine",ref:s,class:"data-chart-line"},null,512))}});exports.default=r;
2
2
  //# sourceMappingURL=line.vue2.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("lodash-es"),r=require("../utils/injectionKeys.cjs"),a=require("../utils/useCharts.cjs"),s=e.defineComponent({name:"DataChartPie",__name:"pie",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},subShowType:{type:String,required:!0,default:"pie-simple"},chartOptions:{type:null,required:!0}},setup(s){const u=e.inject(r.InjectionChartMerge,(e=>e),!0),i=e.ref(null),o=e.computed((()=>{const{colDesc:e,xGroupByDesc:r,data:a,modelName:i}=s.chartData,o=e.length,l={title:{text:i},series:e.map(((e,u)=>{const i={name:e,type:"pie",center:["50%","50%"],data:[],emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}},label:{formatter:"{b}:{c}({d}%)",rich:{b:{color:"#4C5058",fontSize:14,fontWeight:"bold",lineHeight:33}}}};let l=5;const c=t.orderBy(t.cloneDeep(a),[e],["desc"]),n=c.reduce(((t,r)=>t+Number(r[e])),0);if(a.length>l)for(;l<9;){const t=c.slice(0,l);if(t.reduce(((t,r)=>t+Number(r[e])),0)/n>.9||8===l){const s=c.slice(l,c.length-1);i.data=a.map((a=>{let s={};return t.forEach((t=>{JSON.stringify(t)===JSON.stringify(a)&&(s={name:r?.colDesc?a[r.colDesc]:"",value:a[e]})})),s})).filter((e=>e)),i.data.push({name:"其它",value:s.reduce(((t,r)=>t+Number(r[e])),0)});break}l++}else i.data=a.map((t=>({name:r?.colDesc&&t[r.colDesc]||"",value:Number(t[e]||0)})));if(1===o?i.center=["50%","60%"]:2===o?0===u?(i.right="40%",i.left="",i.center=["40%","60%"]):(i.right="",i.left="40%",i.center=["60%","60%"]):3===o?0===u?(i.right="40%",i.bottom="50%",i.top="",i.left="",i.center=["40%","78%"]):1===u?(i.right="",i.bottom="50%",i.top="",i.left="40%",i.center=["60%","78%"]):(i.right="40%",i.bottom="",i.top="50%",i.left="",i.center=["40%","60%"]):4===o&&(0===u?(i.right="40%",i.bottom="50%",i.top="",i.left="",i.center=["40%","78%"]):1===u?(i.right="",i.bottom="50%",i.top="",i.left="40%",i.center=["60%","78%"]):2===u?(i.right="40%",i.bottom="",i.top="50%",i.left="",i.center=["40%","60%"]):(i.right="",i.bottom="",i.top="50%",i.left="40%",i.center=["60%","60%"])),"pie-borderRadius"===s.subShowType)i.radius=["50%","70%"];else i.radius="50%";return i}))};return u(l,s.chartOptions)}));return a.useCharts({chartDOM:i,chartOptions:o,chartData:e.computed((()=>s.chartData))}),(t,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataChartPie",ref:i,class:"data-chart-pie"},null,512))}});exports.default=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("lodash-es"),r=require("../utils/injectionKeys.cjs"),o=require("../utils/useCharts.cjs"),a=e.defineComponent({name:"DataChartPie",__name:"pie",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},subShowType:{type:String,required:!0,default:"pie-simple"},chartOptions:{type:null,required:!0}},setup(a){const c=e.inject(r.InjectionChartMerge,(e=>e),!0),s=e.ref(null),i=e.computed((()=>{const{colDesc:e,xGroupByDesc:r,data:o,modelName:s}=a.chartData,i=e.length,l={title:{text:s},series:e.map(((e,c)=>{const s={name:e,type:"pie",center:["50%","50%"],data:[],emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}},label:{formatter:"{b}:{c}({d}%)",rich:{b:{color:"#4C5058",fontSize:14,fontWeight:"bold",lineHeight:33}}}};let l=5;const n=t.orderBy(t.cloneDeep(o),[e],["desc"]),u=n.reduce(((t,r)=>t+Number(r[e])),0);if(o.length>l)for(;l<9;){const t=n.slice(0,l);if(t.reduce(((t,r)=>t+Number(r[e])),0)/u>.9||8===l){const a=n.slice(l,n.length-1);s.data=o.map((o=>{let a={};return t.forEach((t=>{JSON.stringify(t)===JSON.stringify(o)&&(a={name:r?.colDesc?o[r.colDesc]:"",value:o[e]})})),a})).filter((e=>e)),s.data.push({name:"其它",value:a.reduce(((t,r)=>t+Number(r[e])),0)});break}l++}else s.data=o.map((t=>({name:r?.colDesc&&t[r.colDesc]||"",value:Number(t[e]||0)})));if(1===i?s.center=["50%","60%"]:2===i?0===c?(s.right="40%",s.left="",s.center=["40%","60%"]):(s.right="",s.left="40%",s.center=["60%","60%"]):3===i?0===c?(s.right="40%",s.bottom="50%",s.top="",s.left="",s.center=["40%","78%"]):1===c?(s.right="",s.bottom="50%",s.top="",s.left="40%",s.center=["60%","78%"]):(s.right="40%",s.bottom="",s.top="50%",s.left="",s.center=["40%","60%"]):4===i&&(0===c?(s.right="40%",s.bottom="50%",s.top="",s.left="",s.center=["40%","78%"]):1===c?(s.right="",s.bottom="50%",s.top="",s.left="40%",s.center=["60%","78%"]):2===c?(s.right="40%",s.bottom="",s.top="50%",s.left="",s.center=["40%","60%"]):(s.right="",s.bottom="",s.top="50%",s.left="40%",s.center=["60%","60%"])),"pie-borderRadius"===a.subShowType)s.radius=["50%","70%"];else s.radius="50%";return s}))};return c(l,a.chartOptions)}));return o.useCharts({chartDOM:s,chartOptions:i,chartData:e.computed((()=>a.chartData))}),(t,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataChartPie",ref:s,class:"data-chart-pie"},null,512))}});exports.default=a;
2
2
  //# sourceMappingURL=pie.vue.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),a=require("lodash-es"),r=require("../utils/injectionKeys.cjs"),t=require("../utils/useCharts.cjs"),s=e.defineComponent({name:"DataChartRadar",__name:"radar",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},chartOptions:{type:null,required:!0}},setup(s){const u=e.ref(),c=e.inject(r.InjectionChartMerge,(e=>e),!0),o=e.computed((()=>{const{colDesc:e,xGroupByDesc:r,modelName:t,data:u}=s.chartData;r?.groupByValues&&(r.groupByValues=[]),r.groupByValues=a.uniq(u.map((e=>e[r.colDesc||""])).filter((e=>e)));const o={title:{text:t},radar:{indicator:r?.groupByValues?.map((a=>({name:a,max:Math.max(...u.map((a=>Number(a[e[0]]))))})))||[]},series:[{name:r?.colDesc,type:"radar",tooltip:{trigger:"item"},data:e.map((e=>({name:e,value:r?.groupByValues?.map((a=>u.map((t=>a===t[r.colDesc||""]?t[e]:null)).filter((e=>e)).reduce(((e,a)=>Number(e||0)+Number(a||0)),0)))})))}]};return c(o,s.chartOptions)}));return t.useCharts({chartDOM:u,chartOptions:o,chartData:e.computed((()=>s.chartData))}),(a,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataChartRadar",ref:u,class:"data-chart-radar"},null,512))}});exports.default=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),a=require("lodash-es"),r=require("../utils/injectionKeys.cjs"),t=require("../utils/useCharts.cjs"),u=e.defineComponent({name:"DataChartRadar",__name:"radar",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},chartOptions:{type:null,required:!0}},setup(u){const s=e.ref(),c=e.inject(r.InjectionChartMerge,(e=>e),!0),o=e.computed((()=>{const{colDesc:e,xGroupByDesc:r,modelName:t,data:s}=u.chartData;r?.groupByValues&&(r.groupByValues=[]),r.groupByValues=a.uniq(s.map((e=>e[r.colDesc||""])).filter((e=>e)));const o={title:{text:t},radar:{indicator:r?.groupByValues?.map((a=>({name:a,max:Math.max(...s.map((a=>Number(a[e[0]]))))})))||[]},series:[{name:r?.colDesc,type:"radar",tooltip:{trigger:"item"},data:e.map((e=>({name:e,value:r?.groupByValues?.map((a=>s.map((t=>a===t[r.colDesc||""]?t[e]:null)).filter((e=>e)).reduce(((e,a)=>Number(e||0)+Number(a||0)),0)))})))}]};return c(o,u.chartOptions)}));return t.useCharts({chartDOM:s,chartOptions:o,chartData:e.computed((()=>u.chartData))}),(a,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataChartRadar",ref:s,class:"data-chart-radar"},null,512))}});exports.default=u;
2
2
  //# sourceMappingURL=radar.vue.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("../utils/injectionKeys.cjs"),r=require("../utils/useCharts.cjs"),a=e.defineComponent({name:"DataChartScatterSimple",__name:"scatter-simple",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},chartOptions:{type:null,required:!0}},setup(a){const s=e.ref(),c=e.inject(t.InjectionChartMerge,(e=>e),!0),u=e.computed((()=>{const{colDesc:e,xGroupByDesc:t,modelName:r,data:s}=a.chartData,u={title:{text:r},tooltip:{formatter:e=>e.value.length>1?`${e.seriesName} :<br/>${e.value[0]} ${e.value[1]} `:`${e.seriesName} :<br/>${e.name} : ${e.value} `},series:e.map((e=>({symbolSize:20,name:e,data:s.map((r=>[r[e],r[t?.colDesc||""]])),type:"scatter"})))};return c(u,a.chartOptions)}));return r.useCharts({chartDOM:s,chartOptions:u,chartData:e.computed((()=>a.chartData))}),(t,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataChartScatterSimple",ref:s,class:"data-chart-scatter-simple"},null,512))}});exports.default=a;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("../utils/injectionKeys.cjs"),a=require("../utils/useCharts.cjs"),r=e.defineComponent({name:"DataChartScatterSimple",__name:"scatter-simple",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},chartOptions:{type:null,required:!0}},setup(r){const s=e.ref(),c=e.inject(t.InjectionChartMerge,(e=>e),!0),o=e.computed((()=>{const{colDesc:e,xGroupByDesc:t,modelName:a,data:s}=r.chartData,o={title:{text:a},tooltip:{formatter:e=>e.value.length>1?`${e.seriesName} :<br/>${e.value[0]} ${e.value[1]} `:`${e.seriesName} :<br/>${e.name} : ${e.value} `},series:e.map((e=>({symbolSize:20,name:e,data:s.map((a=>[a[e],a[t?.colDesc||""]])),type:"scatter"})))};return c(o,r.chartOptions)}));return a.useCharts({chartDOM:s,chartOptions:o,chartData:e.computed((()=>r.chartData))}),(t,a)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataChartScatterSimple",ref:s,class:"data-chart-scatter-simple"},null,512))}});exports.default=r;
2
2
  //# sourceMappingURL=scatter-simple.vue.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("../utils/injectionKeys.cjs"),r=require("../utils/useCharts.cjs"),a=e.defineComponent({name:"DataChartScatter",__name:"scatter",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},chartOptions:{type:null,required:!0}},setup(a){const s=e.ref(),c=e.inject(t.InjectionChartMerge,(e=>e),!0),u=e.computed((()=>c({xAxis:{},yAxis:{},series:[{symbolSize:20,data:[[10,8.04],[8.07,6.95],[13,7.58],[9.05,8.81],[11,8.33],[14,7.66],[13.4,6.81],[10,6.33],[14,8.96],[12.5,6.82],[9.15,7.2],[11.5,7.2],[3.03,4.23],[12.2,7.83],[2.02,4.47],[1.05,3.33],[4.05,4.96],[6.03,7.24],[12,6.26],[12,8.84],[7.08,5.82],[5.02,5.68]],type:"scatter"}]},a.chartOptions)));return r.useCharts({chartDOM:s,chartOptions:u,chartData:e.computed((()=>a.chartData))}),(t,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataChartScatter",ref:s,class:"data-chart-scatter"},null,512))}});exports.default=a;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("../utils/injectionKeys.cjs"),r=require("../utils/useCharts.cjs"),a=e.defineComponent({name:"DataChartScatter",__name:"scatter",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},chartOptions:{type:null,required:!0}},setup(a){const s=e.ref(),c=e.inject(t.InjectionChartMerge,(e=>e),!0),o=e.computed((()=>c({xAxis:{},yAxis:{},series:[{symbolSize:20,data:[[10,8.04],[8.07,6.95],[13,7.58],[9.05,8.81],[11,8.33],[14,7.66],[13.4,6.81],[10,6.33],[14,8.96],[12.5,6.82],[9.15,7.2],[11.5,7.2],[3.03,4.23],[12.2,7.83],[2.02,4.47],[1.05,3.33],[4.05,4.96],[6.03,7.24],[12,6.26],[12,8.84],[7.08,5.82],[5.02,5.68]],type:"scatter"}]},a.chartOptions)));return r.useCharts({chartDOM:s,chartOptions:o,chartData:e.computed((()=>a.chartData))}),(t,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataChartScatter",ref:s,class:"data-chart-scatter"},null,512))}});exports.default=a;
2
2
  //# sourceMappingURL=scatter.vue.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("element-plus/es"),t=require("vue"),a=require("./empty.vue.cjs"),r=require("@qxs-bns/hooks");const l={key:0,class:"title"};var o=t.defineComponent({name:"DataChartTable",__name:"table",props:{chartData:{type:Object,default:()=>({colDesc:[],xGroupByDesc:[],data:[],modelName:""})}},setup(o){const s=o,n=r.useNamespace("data-chart"),i=t.computed((()=>s.chartData.groupByDesc.find((e=>!e.xAxis))));function p(e){if(!e)return 100;const t=14*e.length+20+30;return t<100?100:t}return(r,s)=>{const u=e.ElTableColumn,c=e.ElTable;return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass([t.unref(n).e("data-chart-table")])},[o.chartData.modelName?(t.openBlock(),t.createElementBlock("p",l,[t.createElementVNode("span",null,t.toDisplayString(o.chartData.modelName),1)])):t.createCommentVNode("v-if",!0),t.createVNode(c,{class:"customize-table data-chart-table-content",data:o.chartData.data,stripe:"",height:"100%"},{empty:t.withCtx((()=>[t.createVNode(a.default)])),default:t.withCtx((()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.chartData.groupByDesc,((e,a)=>(t.openBlock(),t.createBlock(u,{key:`${e.colDesc}${e.groupByDesc}${a}`,align:"center","show-overflow-tooltip":"",sortable:"","min-width":`${p(e.colDesc)}px`,prop:e.colDesc||""},{header:t.withCtx((()=>[t.createTextVNode(t.toDisplayString(e.colDesc),1)])),default:t.withCtx((a=>[t.createTextVNode(t.toDisplayString((t.unref(i)&&(t.unref(i).colDesc,e.colDesc),a.row[e.colDesc||""]||"--")),1)])),_:2},1032,["min-width","prop"])))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.chartData.colDesc,((e,a)=>(t.openBlock(),t.createBlock(u,{key:e+a,align:"center","min-width":`${p(e)}px`,label:e,"show-overflow-tooltip":"",sortable:"",prop:e},{header:t.withCtx((()=>[t.createTextVNode(t.toDisplayString(e),1)])),_:2},1032,["min-width","label","prop"])))),128))])),_:1},8,["data"])],2)}}});exports.default=o;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("element-plus/es");require("element-plus/es/components/base/style/index"),require("element-plus/es/components/table/style/index"),require("element-plus/es/components/table-column/style/index");var t=require("vue"),a=require("./empty.vue.cjs"),l=require("@qxs-bns/hooks");const o={key:0,class:"title"};var r=t.defineComponent({name:"DataChartTable",__name:"table",props:{chartData:{type:Object,default:()=>({colDesc:[],xGroupByDesc:[],data:[],modelName:""})}},setup(r){const c=r,n=l.useNamespace("data-chart"),s=t.computed((()=>c.chartData.groupByDesc.find((e=>!e.xAxis))));function i(e){if(!e)return 100;const t=14*e.length+20+30;return t<100?100:t}return(l,c)=>{const p=e.ElTableColumn,u=e.ElTable;return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass([t.unref(n).e("data-chart-table")])},[r.chartData.modelName?(t.openBlock(),t.createElementBlock("p",o,[t.createElementVNode("span",null,t.toDisplayString(r.chartData.modelName),1)])):t.createCommentVNode("v-if",!0),t.createVNode(u,{class:"customize-table data-chart-table-content",data:r.chartData.data,stripe:"",height:"100%"},{empty:t.withCtx((()=>[t.createVNode(a.default)])),default:t.withCtx((()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.chartData.groupByDesc,((e,a)=>(t.openBlock(),t.createBlock(p,{key:`${e.colDesc}${e.groupByDesc}${a}`,align:"center","show-overflow-tooltip":"",sortable:"","min-width":`${i(e.colDesc)}px`,prop:e.colDesc||""},{header:t.withCtx((()=>[t.createTextVNode(t.toDisplayString(e.colDesc),1)])),default:t.withCtx((a=>[t.createTextVNode(t.toDisplayString((t.unref(s)&&(t.unref(s).colDesc,e.colDesc),a.row[e.colDesc||""]||"--")),1)])),_:2},1032,["min-width","prop"])))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.chartData.colDesc,((e,a)=>(t.openBlock(),t.createBlock(p,{key:e+a,align:"center","min-width":`${i(e)}px`,label:e,"show-overflow-tooltip":"",sortable:"",prop:e},{header:t.withCtx((()=>[t.createTextVNode(t.toDisplayString(e),1)])),_:2},1032,["min-width","label","prop"])))),128))])),_:1},8,["data"])],2)}}});exports.default=r;
2
2
  //# sourceMappingURL=table.vue.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.vue.cjs","sources":["../../../../../../../packages/components/src/data-chart/src/components/table.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { IFormatPublicData } from '../types'\nimport Empty from './empty.vue'\nimport { useNamespace } from '@qxs-bns/hooks'\n\ndefineOptions({\n name: 'DataChartTable',\n})\n\nconst props = defineProps({\n chartData: {\n type: Object as PropType<IFormatPublicData>,\n default: () => ({\n colDesc: [],\n xGroupByDesc: [],\n data: [],\n modelName: '',\n }),\n },\n})\n\nconst ns = useNamespace('data-chart')\n\nconst yGroupByDesc = computed(() => {\n const row = props.chartData.groupByDesc.find(item => !item.xAxis)\n return row\n})\n\nfunction baseWidth(str: string | null) {\n if (!str) {\n return 100\n }\n const strWidth = str.length * 14 + 20 + 30\n return strWidth < 100 ? 100 : strWidth\n}\n</script>\n\n<template>\n <div :class=\"[ns.e('data-chart-table')]\">\n <p v-if=\"chartData.modelName\" class=\"title\">\n <span>{{ chartData.modelName }}</span>\n </p>\n <el-table\n class=\"customize-table data-chart-table-content\"\n :data=\"chartData.data\"\n stripe\n height=\"100%\"\n >\n <el-table-column\n v-for=\"(item, index) in chartData.groupByDesc\"\n :key=\"`${item.colDesc}${item.groupByDesc}${index}`\"\n align=\"center\"\n show-overflow-tooltip\n sortable\n :min-width=\"`${baseWidth(item.colDesc)}px`\"\n :prop=\"item.colDesc || ''\"\n >\n <template #header>\n {{ item.colDesc }}\n </template>\n <template #default=\"scoped\">\n {{ (yGroupByDesc && yGroupByDesc.colDesc === item.colDesc ? scoped.row[item.colDesc || ''] : scoped.row[item.colDesc || '']) || '--' }}\n </template>\n </el-table-column>\n <el-table-column\n v-for=\"(item, index) in chartData.colDesc\"\n :key=\"item + index\"\n align=\"center\"\n :min-width=\"`${baseWidth(item)}px`\"\n :label=\"item\"\n show-overflow-tooltip\n sortable\n :prop=\"item\"\n >\n <template #header>\n {{ item }}\n </template>\n </el-table-column>\n <template #empty>\n <Empty />\n </template>\n </el-table>\n </div>\n</template>"],"names":["props","__props","ns","useNamespace","yGroupByDesc","computed","chartData","groupByDesc","find","item","xAxis","baseWidth","str","strWidth","length"],"mappings":"oXAUA,MAAMA,EAAQC,EAYRC,EAAKC,eAAa,cAElBC,EAAeC,EAAAA,UAAS,IAChBL,EAAMM,UAAUC,YAAYC,MAAaC,IAACA,EAAKC,UAI7D,SAASC,EAAUC,GACjB,IAAKA,EACI,OAAA,IAET,MAAMC,EAAwB,GAAbD,EAAIE,OAAc,GAAK,GACjC,OAAAD,EAAW,IAAM,IAAMA,CAAA"}
1
+ {"version":3,"file":"table.vue.cjs","sources":["../../../../../../../packages/components/src/data-chart/src/components/table.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { PropType } from 'vue'\nimport type { IFormatPublicData } from '../types'\nimport Empty from './empty.vue'\nimport { useNamespace } from '@qxs-bns/hooks'\n\ndefineOptions({\n name: 'DataChartTable',\n})\n\nconst props = defineProps({\n chartData: {\n type: Object as PropType<IFormatPublicData>,\n default: () => ({\n colDesc: [],\n xGroupByDesc: [],\n data: [],\n modelName: '',\n }),\n },\n})\n\nconst ns = useNamespace('data-chart')\n\nconst yGroupByDesc = computed(() => {\n const row = props.chartData.groupByDesc.find(item => !item.xAxis)\n return row\n})\n\nfunction baseWidth(str: string | null) {\n if (!str) {\n return 100\n }\n const strWidth = str.length * 14 + 20 + 30\n return strWidth < 100 ? 100 : strWidth\n}\n</script>\n\n<template>\n <div :class=\"[ns.e('data-chart-table')]\">\n <p v-if=\"chartData.modelName\" class=\"title\">\n <span>{{ chartData.modelName }}</span>\n </p>\n <el-table\n class=\"customize-table data-chart-table-content\"\n :data=\"chartData.data\"\n stripe\n height=\"100%\"\n >\n <el-table-column\n v-for=\"(item, index) in chartData.groupByDesc\"\n :key=\"`${item.colDesc}${item.groupByDesc}${index}`\"\n align=\"center\"\n show-overflow-tooltip\n sortable\n :min-width=\"`${baseWidth(item.colDesc)}px`\"\n :prop=\"item.colDesc || ''\"\n >\n <template #header>\n {{ item.colDesc }}\n </template>\n <template #default=\"scoped\">\n {{ (yGroupByDesc && yGroupByDesc.colDesc === item.colDesc ? scoped.row[item.colDesc || ''] : scoped.row[item.colDesc || '']) || '--' }}\n </template>\n </el-table-column>\n <el-table-column\n v-for=\"(item, index) in chartData.colDesc\"\n :key=\"item + index\"\n align=\"center\"\n :min-width=\"`${baseWidth(item)}px`\"\n :label=\"item\"\n show-overflow-tooltip\n sortable\n :prop=\"item\"\n >\n <template #header>\n {{ item }}\n </template>\n </el-table-column>\n <template #empty>\n <Empty />\n </template>\n </el-table>\n </div>\n</template>"],"names":["props","__props","ns","useNamespace","yGroupByDesc","computed","chartData","groupByDesc","find","item","xAxis","baseWidth","str","strWidth","length"],"mappings":"siBAUA,MAAMA,EAAQC,EAYRC,EAAKC,eAAa,cAElBC,EAAeC,EAAAA,UAAS,IAChBL,EAAMM,UAAUC,YAAYC,MAAaC,IAACA,EAAKC,UAI7D,SAASC,EAAUC,GACjB,IAAKA,EACI,OAAA,IAET,MAAMC,EAAwB,GAAbD,EAAIE,OAAc,GAAK,GACjC,OAAAD,EAAW,IAAM,IAAMA,CAAA"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),r=require("@qxs-bns/utils"),t=require("lodash-es"),s=require("./utils/config.cjs"),u=require("./utils/injectionKeys.cjs"),c=require("./utils/useCharts.cjs"),o=require("@qxs-bns/hooks"),n=require("./components/table.vue.cjs"),a=require("./components/bar.vue.cjs"),i=require("./components/line.vue.cjs"),p=require("./components/pie.vue.cjs"),l=require("./components/radar.vue.cjs"),d=require("./components/scatter.vue.cjs"),q=require("./components/funnel.vue.cjs"),h=require("./components/area.vue.cjs"),y=require("./components/card.vue.cjs"),m=require("./components/scatter-simple.vue.cjs"),j=e.defineComponent({name:"QxsDataChart",__name:"data-chart",props:{modelName:{type:String,required:!1,default:""},showTypeName:{type:String,required:!1,default:"table"},subShowType:{type:String,required:!1},data:{type:Object,required:!1,default:()=>({data:[],desc:{colDesc:[],showDesc:{showType:0,chartOptions:"{}",jsCodeSnippet:""},groupByDesc:[]}})},chartOptions:{type:null,required:!1,default:()=>({})},jsCodeSnippet:{type:String,required:!1,default:""}},setup(j,{expose:f}){const v=o.useNamespace("data-chart"),b={table:n.default,bar:a.default,line:i.default,pie:p.default,radar:l.default,scatter:d.default,funnel:q.default,area:h.default,card:y.default,"scatter-simple":m.default},g=e.computed((()=>t.cloneDeep(s.defaultChartOption[j.showTypeName]))),x=e.computed((()=>{const{desc:{colDesc:e=[],groupByDesc:r=[]}={},data:t=[]}=j.data;let s=[],u=null;s=r?.map((e=>(e.xAxis&&(u=e),e)));const c=u?t.filter((e=>e&&e[u.colDesc])):t;return{colDesc:e,modelName:j.modelName,subShowType:j.subShowType,xGroupByDesc:u||{groupByDesc:null,groupByValues:null,colDesc:null,xAxis:!1},groupByDesc:s,data:c}}));return f({exportExal:function(){if(0===j.data.data.length)return void console.log("暂无数据");const e=c.useDataToExcelJson(j.data);r.JsonToExcel(j.modelName,e)}}),e.provide(u.InjectionChartMerge,(function(e,r){let s=t.merge({},g.value,e,r)||{};if(j.jsCodeSnippet)try{s=new Function("config",`"use strict"; ${j.jsCodeSnippet}; return config;`)(s)}catch(e){console.error("代码执行失败:",e)}return s})),(r,t)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b[r.showTypeName]),{class:e.normalizeClass([e.unref(v).e("wrapper")]),"sub-show-type":r.subShowType,"chart-data":e.unref(x),"chart-options":r.chartOptions},null,8,["class","sub-show-type","chart-data","chart-options"]))}});exports.default=j;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@qxs-bns/utils"),r=require("lodash-es"),s=require("./utils/config.cjs"),o=require("./utils/injectionKeys.cjs"),a=require("./utils/useCharts.cjs"),u=require("@qxs-bns/hooks"),n=require("./components/table.vue.cjs"),c=require("./components/bar.vue.cjs"),l=require("./components/line.vue.cjs"),i=require("./components/pie.vue.cjs"),p=require("./components/radar.vue.cjs"),d=require("./components/scatter.vue.cjs"),m=require("./components/funnel.vue.cjs"),f=require("./components/area.vue.cjs"),h=require("./components/card.vue.cjs"),y=require("./components/scatter-simple.vue.cjs"),q=e.defineComponent({name:"QxsDataChart",__name:"data-chart",props:{modelName:{type:String,required:!1,default:""},showTypeName:{type:String,required:!1,default:"table"},subShowType:{type:String,required:!1},data:{type:Object,required:!1,default:()=>({data:[],desc:{colDesc:[],showDesc:{showType:0,chartOptions:"{}",jsCodeSnippet:""},groupByDesc:[]}})},chartOptions:{type:null,required:!1,default:()=>({})},jsCodeSnippet:{type:String,required:!1,default:""}},setup(q,{expose:j}){const v=u.useNamespace("data-chart"),g={table:n.default,bar:c.default,line:l.default,pie:i.default,radar:p.default,scatter:d.default,funnel:m.default,area:f.default,card:h.default,"scatter-simple":y.default},b=e.computed((()=>r.cloneDeep(s.defaultChartOption[q.showTypeName]))),x=e.computed((()=>{const{desc:{colDesc:e=[],groupByDesc:t=[]}={},data:r=[]}=q.data;let s=[],o=null;s=t?.map((e=>(e.xAxis&&(o=e),e)));const a=o?r.filter((e=>e&&e[o.colDesc])):r;return{colDesc:e,modelName:q.modelName,subShowType:q.subShowType,xGroupByDesc:o||{groupByDesc:null,groupByValues:null,colDesc:null,xAxis:!1},groupByDesc:s,data:a}}));return j({exportExal:function(){if(0===q.data.data.length)return void console.log("暂无数据");const e=a.useDataToExcelJson(q.data);t.JsonToExcel(q.modelName,e)}}),e.provide(o.InjectionChartMerge,(function(e,t){let s=r.merge({},b.value,e,t)||{};if(q.jsCodeSnippet)try{s=new Function("config",`"use strict"; ${q.jsCodeSnippet}; return config;`)(s)}catch(e){console.error("代码执行失败:",e)}return s})),(t,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g[t.showTypeName]),{class:e.normalizeClass([e.unref(v).e("wrapper")]),"sub-show-type":t.subShowType,"chart-data":e.unref(x),"chart-options":t.chartOptions},null,8,["class","sub-show-type","chart-data","chart-options"]))}});exports.default=q;
2
2
  //# sourceMappingURL=data-chart.vue.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("echarts"),t=require("../components/empty.svg.cjs"),r=require("vue"),n=require("@vueuse/core");function o(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var i=o(e);function c(e,t){const{width:r,height:o}=n.useElementSize(t);n.watchDebounced([r,o],(()=>{e&&e.resize()}))}exports.useCharts=function(e){let{chartDOM:o,chartData:u,chartOptions:a,mountedBefore:l,initAfter:s,callback:f}=e,d=null;const v=r.ref(!1),x=window.devicePixelRatio||1;function h(){d&&!d.isDisposed()&&(d.dispose(),d=null)}function b(){if(d&&v.value&&o.value){d.showLoading();try{d.isDisposed()&&(d=i.init(o.value,null,{devicePixelRatio:x,renderer:"svg"})),d.setOption(...arguments)}catch(e){console.log("error: ",e),h(),o.value&&(d=i.init(o.value,null,{devicePixelRatio:x,renderer:"svg"}),p("配置项错误"))}finally{d?.hideLoading()}}}const{isOutside:g}=n.useMouseInElement(o);function p(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"暂无数据";b({title:[{text:u.value?.modelName,...a.value.title},{subtext:e,top:"center",left:"center",text:" {a|}",itemGap:-20,textStyle:{align:"center",rich:{a:{color:"#000",fontSize:"16",height:80,width:160,backgroundColor:{image:t.default}}}},subtextStyle:{fontSize:16}}]},{notMerge:!0,replaceMerge:["xAxis","yAxis","series"],lazyUpdate:!1})}return n.watchDebounced(g,(e=>{var t;"boolean"==typeof e&&(t=!e,d?.isDisposed()||d?.setOption({toolbox:{show:t}}))}),{debounce:200}),r.onMounted((async()=>{l&&await l(),o.value&&(h(),d=i.init(o.value,null,{devicePixelRatio:x,renderer:"svg"}),f&&f(d),s&&await s(),c(d,o),v.value=!0,u.value?.data?.length?b(a.value,{}):p())})),r.onUnmounted((()=>{d&&(d.getZr()?.off("mousemove"),d.getZr()?.off("mouseout"),h())})),{myChart:d}},exports.useDataToExcelJson=function(e){const{desc:{colDesc:t=[],groupByDesc:r=[]}={},data:n=[]}=e,o=[...r.map((e=>e.colDesc)),...t].filter((e=>e)),i=n.map((e=>o.map((t=>e[t]||""))));return[o,...i]},exports.useResize=c;
1
+ "use strict";var e=require("echarts"),t=require("../components/empty.svg.cjs"),o=require("vue"),i=require("@vueuse/core");function n(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(o){if("default"!==o){var i=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,i.get?i:{enumerable:!0,get:function(){return e[o]}})}})),t.default=e,Object.freeze(t)}var r=n(e);function a(e,t){const{width:o,height:n}=i.useElementSize(t);i.watchDebounced([o,n],(()=>{e&&e.resize()}))}exports.useCharts=function(e){let{chartDOM:n,chartData:u,chartOptions:l,mountedBefore:s,initAfter:c,callback:d}=e,f=null;const v=o.ref(!1),p=window.devicePixelRatio||1;function g(){f&&!f.isDisposed()&&(f.dispose(),f=null)}function h(){if(f&&v.value&&n.value){f.showLoading();try{f.isDisposed()&&(f=r.init(n.value,null,{devicePixelRatio:p,renderer:"svg"})),f.setOption(...arguments)}catch(e){console.log("error: ",e),g(),n.value&&(f=r.init(n.value,null,{devicePixelRatio:p,renderer:"svg"}),x("配置项错误"))}finally{f?.hideLoading()}}}const{isOutside:m}=i.useMouseInElement(n);function x(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"暂无数据";h({title:[{text:u.value?.modelName,...l.value.title},{subtext:e,top:"center",left:"center",text:" {a|}",itemGap:-20,textStyle:{align:"center",rich:{a:{color:"#000",fontSize:"16",height:80,width:160,backgroundColor:{image:t.default}}}},subtextStyle:{fontSize:16}}]},{notMerge:!0,replaceMerge:["xAxis","yAxis","series"],lazyUpdate:!1})}return i.watchDebounced(m,(e=>{var t;"boolean"==typeof e&&(t=!e,f?.isDisposed()||f?.setOption({toolbox:{show:t}}))}),{debounce:200}),o.onMounted((async()=>{s&&await s(),n.value&&(g(),f=r.init(n.value,null,{devicePixelRatio:p,renderer:"svg"}),d&&d(f),c&&await c(),a(f,n),v.value=!0,u.value?.data?.length?h(l.value,{}):x())})),o.onUnmounted((()=>{f&&(f.getZr()?.off("mousemove"),f.getZr()?.off("mouseout"),g())})),{myChart:f}},exports.useDataToExcelJson=function(e){const{desc:{colDesc:t=[],groupByDesc:o=[]}={},data:i=[]}=e,n=[...o.map((e=>e.colDesc)),...t].filter((e=>e)),r=i.map((e=>n.map((t=>e[t]||""))));return[n,...r]},exports.useResize=a;
2
2
  //# sourceMappingURL=useCharts.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../withInstall.cjs"),s=require("./src/file-upload.vue.cjs");const r=e.withInstall(s.default);exports.QxsFileUpload=r,exports.default=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../withInstall.cjs"),t=require("./src/file-upload.vue.cjs");const s=e.withInstall(t.default);exports.QxsFileUpload=s,exports.default=s;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("element-plus/es"),t=require("vue"),l=require("@element-plus/icons-vue"),r=require("@qxs-bns/hooks");const i={class:"slot"},s={key:0,class:"el-upload__tip"},a={style:{display:"inline-block"}};var u=t.defineComponent({name:"QxsFileUpload",__name:"file-upload",props:{action:{type:String,required:!0},headers:{type:null,required:!1},data:{type:null,required:!1},name:{type:String,required:!1,default:"file"},size:{type:Number,required:!1,default:20},max:{type:Number,required:!1,default:3},accept:{type:String,required:!1,default:"zip,rar"},files:{type:Array,required:!1,default:()=>[]},notip:{type:Boolean,required:!1,default:!1},ext:{type:Array,required:!1}},emits:["onSuccess"],setup(u,{emit:d}){const n=d,o=r.useNamespace("file-upload"),p=t.computed((()=>u.accept.split(","))),c=t=>{const l=t.name.split(".").at(-1)??"",r=p.value.includes(l),i=t.size/1024/1024<u.size;return r||e.ElMessage.error(`上传文件只支持 ${p.value.join(" / ")} 格式!`),i||e.ElMessage.error(`上传文件大小不能超过 ${u.size}MB!`),r&&i},f=()=>{e.ElMessage.warning("文件上传超过限制")},y=(e,t,l)=>{n("onSuccess",e,t,l)};return(r,u)=>{const d=e.ElIcon,n=e.ElAlert,m=e.ElUpload;return t.openBlock(),t.createBlock(m,{headers:r.headers,action:r.action,data:r.data,name:r.name,"before-upload":c,"on-exceed":f,"on-success":y,"file-list":r.files,limit:r.max,drag:"",class:t.normalizeClass(t.unref(o).e("control"))},{tip:t.withCtx((()=>[r.notip?t.createCommentVNode("v-if",!0):(t.openBlock(),t.createElementBlock("div",s,[t.createElementVNode("div",a,[t.createVNode(n,{title:`上传文件支持 ${t.unref(p).join(" / ")} 格式,单个文件大小不超过 ${r.size}MB,且文件数量不超过 ${r.max} 个`,type:"info","show-icon":"",closable:!1},null,8,["title"])])]))])),default:t.withCtx((()=>[t.createElementVNode("div",i,[t.createVNode(d,{class:"el-icon--upload"},{default:t.withCtx((()=>[t.createVNode(t.unref(l.UploadFilled))])),_:1}),u[0]||(u[0]=t.createElementVNode("div",{class:"el-upload__text"},[t.createTextVNode("将文件拖到此处,或"),t.createElementVNode("em",null,"点击上传")],-1))])])),_:1},8,["headers","action","data","name","file-list","limit","class"])}}});exports.default=u;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("element-plus/es");require("element-plus/es/components/base/style/index"),require("element-plus/es/components/upload/style/index"),require("element-plus/es/components/alert/style/index"),require("element-plus/es/components/icon/style/index");var l=require("vue"),t=require("@element-plus/icons-vue"),a=require("@qxs-bns/hooks"),s=require("element-plus");require("element-plus/es/components/message/style/index");const r={class:"slot"},n={style:{display:"inline-block"}};var i=l.defineComponent({name:"QxsFileUpload",__name:"file-upload",props:{action:{type:String,required:!0},headers:{type:null,required:!1},data:{type:null,required:!1},name:{type:String,required:!1,default:"file"},size:{type:Number,required:!1,default:20},max:{type:Number,required:!1,default:3},accept:{type:String,required:!1,default:"zip,rar"},files:{type:Array,required:!1,default:()=>[]},notip:{type:Boolean,required:!1,default:!1},ext:{type:Array,required:!1}},emits:["onSuccess"],setup(i,{emit:o}){const u=o,d=a.useNamespace("file-upload"),c=s.useNamespace("file-upload"),p=l.computed((()=>i.accept.split(","))),m=l=>{const t=l.name.split(".").at(-1)??"",a=p.value.includes(t),s=l.size/1024/1024<i.size;return a||e.ElMessage.error(`上传文件只支持 ${p.value.join(" / ")} 格式!`),s||e.ElMessage.error(`上传文件大小不能超过 ${i.size}MB!`),a&&s},f=()=>{e.ElMessage.warning("文件上传超过限制")},y=(e,l,t)=>{u("onSuccess",e,l,t)};return(a,s)=>{const i=e.ElIcon,o=e.ElAlert,u=e.ElUpload;return l.openBlock(),l.createBlock(u,{headers:a.headers,action:a.action,data:a.data,name:a.name,"before-upload":m,"on-exceed":f,"on-success":y,"file-list":a.files,limit:a.max,drag:"",class:l.normalizeClass(l.unref(d).e("control"))},{tip:l.withCtx((()=>[a.notip?l.createCommentVNode("v-if",!0):(l.openBlock(),l.createElementBlock("div",{key:0,class:l.normalizeClass(l.unref(c).namespace.value+"-upload__tip")},[l.createElementVNode("div",n,[l.createVNode(o,{title:`上传文件支持 ${l.unref(p).join(" / ")} 格式,单个文件大小不超过 ${a.size}MB,且文件数量不超过 ${a.max} 个`,type:"info","show-icon":"",closable:!1},null,8,["title"])])],2))])),default:l.withCtx((()=>[l.createElementVNode("div",r,[l.createVNode(i,{class:l.normalizeClass(l.unref(c).namespace.value+"-icon--upload")},{default:l.withCtx((()=>[l.createVNode(l.unref(t.UploadFilled))])),_:1},8,["class"]),l.createElementVNode("div",{class:l.normalizeClass(l.unref(c).namespace.value+"-upload__text")},s[0]||(s[0]=[l.createTextVNode(" 将文件拖到此处,或"),l.createElementVNode("em",null,"点击上传",-1)]),2)])])),_:1},8,["headers","action","data","name","file-list","limit","class"])}}});exports.default=i;
2
2
  //# sourceMappingURL=file-upload.vue.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-upload.vue.cjs","sources":["../../../../../../packages/components/src/file-upload/src/file-upload.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { UploadProps, UploadUserFile } from \"element-plus\";\nimport { UploadFilled } from \"@element-plus/icons-vue\";\nimport { useNamespace } from \"@qxs-bns/hooks\";\n\ndefineOptions({\n name: \"QxsFileUpload\",\n});\n\nconst {\n name = \"file\",\n size = 20,\n max = 3,\n files = [],\n notip = false,\n accept = \"zip,rar\",\n} = defineProps<{\n action: UploadProps[\"action\"];\n headers?: UploadProps[\"headers\"];\n data?: UploadProps[\"data\"];\n name?: UploadProps[\"name\"];\n size?: number;\n max?: number;\n accept?: string;\n files?: UploadUserFile[];\n notip?: boolean;\n ext?: string[];\n}>();\n\nconst emit = defineEmits([\"onSuccess\"]);\n\nconst ns = useNamespace(\"file-upload\");\n\nconst exts = computed(() => {\n return accept.split(\",\");\n});\nconst beforeUpload: UploadProps[\"beforeUpload\"] = (file) => {\n const fileName = file.name.split(\".\");\n const fileExt = fileName.at(-1) ?? \"\";\n const isTypeOk = exts.value.includes(fileExt);\n const isSizeOk = file.size / 1024 / 1024 < size;\n if (!isTypeOk) {\n ElMessage.error(`上传文件只支持 ${exts.value.join(\" / \")} 格式!`);\n }\n if (!isSizeOk) {\n ElMessage.error(`上传文件大小不能超过 ${size}MB!`);\n }\n return isTypeOk && isSizeOk;\n};\n\nconst onExceed: UploadProps[\"onExceed\"] = () => {\n ElMessage.warning(\"文件上传超过限制\");\n};\n\nconst onSuccess: UploadProps[\"onSuccess\"] = (res, file, fileList) => {\n emit(\"onSuccess\", res, file, fileList);\n};\n</script>\n\n<template>\n <el-upload\n :headers=\"headers\"\n :action=\"action\"\n :data=\"data\"\n :name=\"name\"\n :before-upload=\"beforeUpload\"\n :on-exceed=\"onExceed\"\n :on-success=\"onSuccess\"\n :file-list=\"files\"\n :limit=\"max\"\n drag\n :class=\"ns.e('control')\"\n >\n <div class=\"slot\">\n <el-icon class=\"el-icon--upload\">\n <UploadFilled />\n </el-icon>\n <div class=\"el-upload__text\">将文件拖到此处,或<em>点击上传</em></div>\n </div>\n <template #tip>\n <div v-if=\"!notip\" class=\"el-upload__tip\">\n <div style=\"display: inline-block\">\n <el-alert\n :title=\"`上传文件支持 ${exts.join(\n ' / '\n )} 格式,单个文件大小不超过 ${size}MB,且文件数量不超过 ${max} 个`\"\n type=\"info\"\n show-icon\n :closable=\"false\"\n />\n </div>\n </div>\n </template>\n </el-upload>\n</template>\n"],"names":["emit","__emit","ns","useNamespace","exts","computed","__props","accept","split","beforeUpload","file","fileExt","name","at","isTypeOk","value","includes","isSizeOk","size","ElMessage","error","join","onExceed","warning","onSuccess","res","fileList"],"mappings":"2wBA6BA,MAAMA,EAAOC,EAEPC,EAAKC,eAAa,eAElBC,EAAOC,EAAAA,UAAS,IACbC,EAAAC,OAAOC,MAAM,OAEhBC,EAA6CC,IACjD,MACMC,EADWD,EAAKE,KAAKJ,MAAM,KACRK,IAAG,IAAO,GAC7BC,EAAWV,EAAKW,MAAMC,SAASL,GAC/BM,EAAWP,EAAKQ,KAAO,KAAO,KAAOZ,EAAIY,KAO/C,OANKJ,GACHK,YAAUC,MAAM,WAAWhB,EAAKW,MAAMM,KAAK,cAExCJ,GACHE,EAAAA,UAAUC,MAAM,cAAcd,EAAIY,WAE7BJ,GAAYG,CAAA,EAGfK,EAAoC,KACxCH,EAAAA,UAAUI,QAAQ,WAAU,EAGxBC,EAAsC,CAACC,EAAKf,EAAMgB,KACjD1B,EAAA,YAAayB,EAAKf,EAAMgB,EAAQ"}
1
+ {"version":3,"file":"file-upload.vue.cjs","sources":["../../../../../../packages/components/src/file-upload/src/file-upload.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { UploadProps, UploadUserFile } from \"element-plus\";\nimport { UploadFilled } from \"@element-plus/icons-vue\";\nimport { useNamespace } from \"@qxs-bns/hooks\";\nimport { useNamespace as useElNamespace } from \"element-plus\";\n\ndefineOptions({\n name: \"QxsFileUpload\",\n});\n\nconst {\n name = \"file\",\n size = 20,\n max = 3,\n files = [],\n notip = false,\n accept = \"zip,rar\",\n} = defineProps<{\n action: UploadProps[\"action\"];\n headers?: UploadProps[\"headers\"];\n data?: UploadProps[\"data\"];\n name?: UploadProps[\"name\"];\n size?: number;\n max?: number;\n accept?: string;\n files?: UploadUserFile[];\n notip?: boolean;\n ext?: string[];\n}>();\n\nconst emit = defineEmits([\"onSuccess\"]);\n\nconst ns = useNamespace(\"file-upload\");\nconst nsEl = useElNamespace(\"file-upload\");\n\nconst exts = computed(() => {\n return accept.split(\",\");\n});\nconst beforeUpload: UploadProps[\"beforeUpload\"] = (file) => {\n const fileName = file.name.split(\".\");\n const fileExt = fileName.at(-1) ?? \"\";\n const isTypeOk = exts.value.includes(fileExt);\n const isSizeOk = file.size / 1024 / 1024 < size;\n if (!isTypeOk) {\n ElMessage.error(`上传文件只支持 ${exts.value.join(\" / \")} 格式!`);\n }\n if (!isSizeOk) {\n ElMessage.error(`上传文件大小不能超过 ${size}MB!`);\n }\n return isTypeOk && isSizeOk;\n};\n\nconst onExceed: UploadProps[\"onExceed\"] = () => {\n ElMessage.warning(\"文件上传超过限制\");\n};\n\nconst onSuccess: UploadProps[\"onSuccess\"] = (res, file, fileList) => {\n emit(\"onSuccess\", res, file, fileList);\n};\n</script>\n\n<template>\n <el-upload\n :headers=\"headers\"\n :action=\"action\"\n :data=\"data\"\n :name=\"name\"\n :before-upload=\"beforeUpload\"\n :on-exceed=\"onExceed\"\n :on-success=\"onSuccess\"\n :file-list=\"files\"\n :limit=\"max\"\n drag\n :class=\"ns.e('control')\"\n >\n <div class=\"slot\">\n <el-icon :class=\"nsEl.namespace.value + '-icon--upload'\">\n <UploadFilled />\n </el-icon>\n <div :class=\"nsEl.namespace.value + '-upload__text'\">\n 将文件拖到此处,或<em>点击上传</em>\n </div>\n </div>\n <template #tip>\n <div v-if=\"!notip\" :class=\"nsEl.namespace.value + '-upload__tip'\">\n <div style=\"display: inline-block\">\n <el-alert\n :title=\"`上传文件支持 ${exts.join(\n ' / '\n )} 格式,单个文件大小不超过 ${size}MB,且文件数量不超过 ${max} 个`\"\n type=\"info\"\n show-icon\n :closable=\"false\"\n />\n </div>\n </div>\n </template>\n </el-upload>\n</template>\n"],"names":["emit","__emit","ns","useNamespace","nsEl","useElNamespace","exts","computed","__props","accept","split","beforeUpload","file","fileExt","name","at","isTypeOk","value","includes","isSizeOk","size","ElMessage","error","join","onExceed","warning","onSuccess","res","fileList"],"mappings":"iiCA8BA,MAAMA,EAAOC,EAEPC,EAAKC,eAAa,eAClBC,EAAOC,eAAe,eAEtBC,EAAOC,EAAAA,UAAS,IACbC,EAAAC,OAAOC,MAAM,OAEhBC,EAA6CC,IACjD,MACMC,EADWD,EAAKE,KAAKJ,MAAM,KACRK,IAAG,IAAO,GAC7BC,EAAWV,EAAKW,MAAMC,SAASL,GAC/BM,EAAWP,EAAKQ,KAAO,KAAO,KAAOZ,EAAIY,KAO/C,OANKJ,GACHK,YAAUC,MAAM,WAAWhB,EAAKW,MAAMM,KAAK,cAExCJ,GACHE,EAAAA,UAAUC,MAAM,cAAcd,EAAIY,WAE7BJ,GAAYG,CAAA,EAGfK,EAAoC,KACxCH,EAAAA,UAAUI,QAAQ,WAAU,EAGxBC,EAAsC,CAACC,EAAKf,EAAMgB,KACjD5B,EAAA,YAAa2B,EAAKf,EAAMgB,EAAQ"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../withInstall.cjs"),r=require("./src/fixed-action-bar.vue.cjs");const s=e.withInstall(r.default);exports.QxsFixedActionBar=s,exports.default=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../withInstall.cjs"),t=require("./src/fixed-action-bar.vue.cjs");const r=e.withInstall(t.default);exports.QxsFixedActionBar=r,exports.default=r;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@qxs-bns/hooks"),r=require("@qxs-bns/utils"),a=require("lodash-es");var s=e.defineComponent({name:"QxsFixedActionBar",props:{padding:{type:Number,default:8},className:{type:String,default:""}},setup(s){const i=s,o=t.useNamespace("fixed-action-bar"),n=e.ref(!1),l=e.ref(null),d=e.ref(null),c=e.ref({width:0,height:0}),u=e.ref(0),p=e.ref(0),h={resize:null,parent:null},x=(e,t,r)=>{const a=new ResizeObserver((e=>{e.forEach((e=>requestAnimationFrame((()=>t(e)))))}));return a.observe(e,r),a},b=()=>{if(!l.value||!d.value)return;h.resize=x(l.value,(e=>{const t=(e=>{const t=getComputedStyle(e);return{x:parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),y:parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)}})(e.target);c.value={width:e.contentRect.width+t.x,height:e.contentRect.height+t.y}}),{box:"border-box"});const e=d.value.parentElement;e&&(h.parent=x(e,(()=>{const t=e.getBoundingClientRect();u.value=t.width,p.value=t.left})))},w=a.debounce((()=>{const{scrollY:e}=window,{clientHeight:t,scrollHeight:r}=document.documentElement;n.value=Math.ceil(e+t)>=r}),100),f=e.computed((()=>n.value?"":o.is("shadow"))),g=e.computed((()=>"Android"===r.getDeviceType()?Math.max(i.padding,20):i.padding)),m=e.computed((()=>({width:`${u.value}px`,left:`${p.value}px`,...o.cssVarBlock({"actionbar-padding":`${i.padding}px`,"actionbar-padding-bottom":`${g.value}px`})})));return e.onMounted((()=>{b(),window.addEventListener("scroll",w,{passive:!0})})),e.onUnmounted((()=>{h.resize?.disconnect(),h.parent?.disconnect(),window.removeEventListener("scroll",w)})),(t,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"placeholderRef",ref:d,style:e.normalizeStyle({width:"100%",height:`${e.unref(c).height}px`})},[e.createElementVNode("div",{ref_key:"actionbar",ref:l,style:e.normalizeStyle(e.unref(m)),class:e.normalizeClass([e.unref(o).e("actionbar"),e.unref(f),s.className]),"data-fixed-calc-width":""},[e.renderSlot(t.$slots,"default")],6)],4))}});exports.default=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@qxs-bns/hooks"),n=require("@qxs-bns/utils"),r=require("lodash-es");var a=e.defineComponent({name:"QxsFixedActionBar",props:{padding:{type:Number,default:8},className:{type:String,default:""}},setup(a){const o=a,i=t.useNamespace("fixed-action-bar"),l=e.ref(!1),d=e.ref(null),s=e.ref(null),c=e.ref({width:0,height:0}),u=e.ref(0),p=e.ref(0),f={resize:null,parent:null},h=(e,t,n)=>{const r=new ResizeObserver((e=>{e.forEach((e=>requestAnimationFrame((()=>t(e)))))}));return r.observe(e,n),r},m=()=>{if(!d.value||!s.value)return;f.resize=h(d.value,(e=>{const t=(e=>{const t=getComputedStyle(e);return{x:parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),y:parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)}})(e.target);c.value={width:e.contentRect.width+t.x,height:e.contentRect.height+t.y}}),{box:"border-box"});const e=s.value.parentElement;e&&(f.parent=h(e,(()=>{const t=e.getBoundingClientRect();u.value=t.width,p.value=t.left})))},v=r.debounce((()=>{const{scrollY:e}=window,{clientHeight:t,scrollHeight:n}=document.documentElement;l.value=Math.ceil(e+t)>=n}),100),g=e.computed((()=>l.value?"":i.is("shadow"))),x=e.computed((()=>"Android"===n.getDeviceType()?Math.max(o.padding,20):o.padding)),b=e.computed((()=>({width:`${u.value}px`,left:`${p.value}px`,...i.cssVarBlock({"actionbar-padding":`${o.padding}px`,"actionbar-padding-bottom":`${x.value}px`})})));return e.onMounted((()=>{m(),window.addEventListener("scroll",v,{passive:!0})})),e.onUnmounted((()=>{f.resize?.disconnect(),f.parent?.disconnect(),window.removeEventListener("scroll",v)})),(t,n)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"placeholderRef",ref:s,style:e.normalizeStyle({width:"100%",height:`${e.unref(c).height}px`})},[e.createElementVNode("div",{ref_key:"actionbar",ref:d,style:e.normalizeStyle(e.unref(b)),class:e.normalizeClass([e.unref(i).e("actionbar"),e.unref(g),a.className]),"data-fixed-calc-width":""},[e.renderSlot(t.$slots,"default")],6)],4))}});exports.default=a;
2
2
  //# sourceMappingURL=fixed-action-bar.vue.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../withInstall.cjs"),s=require("./src/image-upload.vue.cjs");const r=e.withInstall(s.default);exports.QxsImageUpload=r,exports.default=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../withInstall.cjs"),t=require("./src/image-upload.vue.cjs");const s=e.withInstall(t.default);exports.QxsImageUpload=s,exports.default=s;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("element-plus/es"),t=require("vue"),l=require("@element-plus/icons-vue"),i=require("@qxs-bns/hooks");const r={key:1,class:"image"},s={class:"mask"},a={class:"actions"},u={key:0,class:"el-upload__tip-text"},p={style:{display:"inline-block"}};var n=t.defineComponent({name:"QxsImageUpload",__name:"image-upload",props:{action:{type:String,required:!0},headers:{type:null,required:!1},data:{type:null,required:!1},name:{type:String,required:!1,default:"file"},url:{type:String,required:!1,default:""},size:{type:Number,required:!1,default:20},width:{type:Number,required:!1,default:160},accept:{type:String,required:!1,default:"image/jpeg,image/jpg,image/png,image/gif"},height:{type:Number,required:!1,default:90},placeholder:{type:String,required:!1,default:"点击上传图片"},notip:{type:Boolean,required:!1,default:!1},tipText:{type:String,required:!1},beforeUpload:{type:null,required:!1}},emits:["update:url","onSuccess"],setup(n,{emit:d}){const c=n,o=d,g=i.useNamespace("image-upload"),f=t.ref({imageViewerVisible:!1,progress:{preview:"",percent:0}}),y=t.computed((()=>c.accept.split(",").map((e=>e.split("/").pop()))));function h(){f.value.imageViewerVisible=!0}function m(){f.value.imageViewerVisible=!1}function q(){o("update:url","")}const v=t=>{const l=t.name.split(".").at(-1)??"",i=y.value.includes(l),r=t.size/1024/1024<c.size;return i?r?f.value.progress.preview=URL.createObjectURL(t):e.ElMessage.error(`上传图片大小不能超过 ${c.size}MB!`):e.ElMessage.error(`上传图片只支持${y.value.join(" / ")}格式!`),i&&r&&(!c.beforeUpload||c.beforeUpload(t))},x=e=>{f.value.progress.percent=~~e.percent},$=(...e)=>{f.value.progress.preview="",f.value.progress.percent=0,o("onSuccess",...e)};return(i,n)=>{const d=e.ElIcon,c=e.ElImage,o=e.ElProgress,w=e.ElUpload,_=e.ElImageViewer;return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(g).e("upload-container"))},[t.createVNode(w,{"show-file-list":!1,headers:i.headers,action:i.action,data:i.data,name:i.name,"before-upload":v,"on-progress":x,"on-success":$,drag:"",accept:i.accept,class:t.normalizeClass(t.unref(g).e("image-upload"))},{default:t.withCtx((()=>[""===i.url?(t.openBlock(),t.createBlock(c,{key:0,src:""===i.url?i.placeholder:i.url,style:t.normalizeStyle(`width:${i.width}px;height:${i.height}px;`),fit:"fill"},{error:t.withCtx((()=>[t.createElementVNode("div",{class:"image-slot",style:t.normalizeStyle(`width:${i.width}px;height:${i.height}px;`)},[t.createVNode(d,null,{default:t.withCtx((()=>[t.createVNode(t.unref(l.Plus))])),_:1}),t.createElementVNode("p",null,t.toDisplayString(i.placeholder),1)],4)])),_:1},8,["src","style"])):(t.openBlock(),t.createElementBlock("div",r,[t.createVNode(c,{src:i.url,style:t.normalizeStyle(`width:${i.width}px;height:${i.height}px;`),fit:"fill"},null,8,["src","style"]),t.createElementVNode("div",s,[t.createElementVNode("div",a,[t.createElementVNode("span",{title:"预览",onClick:t.withModifiers(h,["stop"])},[t.createVNode(d,null,{default:t.withCtx((()=>[t.createVNode(t.unref(l.ZoomIn))])),_:1})]),t.createElementVNode("span",{title:"移除",onClick:t.withModifiers(q,["stop"])},[t.createVNode(d,null,{default:t.withCtx((()=>[t.createVNode(t.unref(l.Delete))])),_:1})])])])])),t.withDirectives(t.createElementVNode("div",{class:"progress",style:t.normalizeStyle(`width:${i.width}px;height:${i.height}px;`)},[t.createVNode(c,{src:t.unref(f).progress.preview,style:t.normalizeStyle(`width:${i.width}px;height:${i.height}px;`),fit:"fill"},null,8,["src","style"]),t.createVNode(o,{type:"circle",width:.8*Math.min(i.width,i.height),percentage:t.unref(f).progress.percent},null,8,["width","percentage"])],4),[[t.vShow,""===i.url&&t.unref(f).progress.percent]])])),_:1},8,["headers","action","data","name","accept","class"]),i.notip?t.createCommentVNode("v-if",!0):(t.openBlock(),t.createElementBlock("div",u,[t.createElementVNode("div",p,t.toDisplayString(i.tipText||`上传图片支持 ${t.unref(y).join(" / ")} 格式,且图片大小不超过 ${i.size}MB,建议图片尺寸为 ${i.width}*${i.height}`),1)])),t.unref(f).imageViewerVisible?(t.openBlock(),t.createBlock(_,{key:1,"url-list":[i.url],teleported:"",onClose:m},null,8,["url-list"])):t.createCommentVNode("v-if",!0)],2)}}});exports.default=n;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("element-plus/es");require("element-plus/es/components/base/style/index"),require("element-plus/es/components/image-viewer/style/index"),require("element-plus/es/components/upload/style/index"),require("element-plus/es/components/progress/style/index"),require("element-plus/es/components/image/style/index"),require("element-plus/es/components/icon/style/index");var t=require("vue"),r=require("@element-plus/icons-vue"),l=require("@qxs-bns/hooks"),n=require("element-plus");require("element-plus/es/components/message/style/index");const i={key:1,class:"image"},s={class:"mask"},a={class:"actions"},o={class:"tip-content"};var u=t.defineComponent({name:"QxsImageUpload",__name:"image-upload",props:{action:{type:String,required:!0},headers:{type:null,required:!1},data:{type:null,required:!1},name:{type:String,required:!1,default:"file"},url:{type:String,required:!1,default:""},size:{type:Number,required:!1,default:20},width:{type:Number,required:!1,default:160},accept:{type:String,required:!1,default:"image/jpeg,image/jpg,image/png,image/gif"},height:{type:Number,required:!1,default:90},placeholder:{type:String,required:!1,default:"点击上传图片"},notip:{type:Boolean,required:!1,default:!1},tipText:{type:String,required:!1,default:""},beforeUpload:{type:null,required:!1}},emits:["update:url","onSuccess"],setup(u,{emit:c}){const p=c,d=l.useNamespace("image-upload"),m=n.useNamespace("upload"),f=t.ref({imageViewerVisible:!1,progress:{preview:"",percent:0}}),g=t.computed((()=>u.accept.split(",").map((e=>e.split("/").pop())))),y=t.computed((()=>({width:`${u.width}px`,height:`${u.height}px`}))),h=t.computed((()=>.8*Math.min(u.width,u.height))),v=t.computed((()=>u.tipText||`上传图片支持 ${g.value.join(" / ")} 格式,且图片大小不超过 ${u.size}MB,建议图片尺寸为 ${u.width}*${u.height}`));function V(e){e.preventDefault(),f.value.imageViewerVisible=!0}function q(){f.value.imageViewerVisible=!1}function w(e){e.preventDefault(),p("update:url","")}const N=t=>{const r=t.name.split(".").pop()??"",l=g.value.includes(r),n=t.size/1024/1024<u.size;return l?n?(f.value.progress.preview=URL.createObjectURL(t),!u.beforeUpload||u.beforeUpload(t)):(e.ElMessage.error(`上传图片大小不能超过 ${u.size}MB!`),!1):(e.ElMessage.error(`上传图片只支持${g.value.join(" / ")}格式!`),!1)},k=e=>{f.value.progress.percent=Math.floor(e.percent)},x=(...e)=>{f.value.progress={preview:"",percent:0},p("onSuccess",...e)};return(l,n)=>{const u=e.ElIcon,c=e.ElImage,p=e.ElProgress,g=e.ElUpload,E=e.ElImageViewer;return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(d).e("container"))},[t.createVNode(g,{drag:"","show-file-list":!1,headers:l.headers,action:l.action,data:l.data,name:l.name,accept:l.accept,class:t.normalizeClass(t.unref(d).e("control")),"before-upload":N,"on-progress":k,"on-success":x},{default:t.withCtx((()=>[""===l.url?(t.openBlock(),t.createBlock(c,{key:0,style:t.normalizeStyle(t.unref(y)),src:l.placeholder,fit:"fill"},{error:t.withCtx((()=>[t.createElementVNode("div",{class:"image-slot",style:t.normalizeStyle(t.unref(y))},[t.createVNode(u,null,{default:t.withCtx((()=>[t.createVNode(t.unref(r.Plus))])),_:1}),t.createElementVNode("p",null,t.toDisplayString(l.placeholder),1)],4)])),_:1},8,["style","src"])):(t.openBlock(),t.createElementBlock("div",i,[t.createVNode(c,{src:l.url,style:t.normalizeStyle(t.unref(y)),fit:"fill"},null,8,["src","style"]),t.createElementVNode("div",s,[t.createElementVNode("div",a,[t.createElementVNode("span",{title:"预览",onClick:V},[t.createVNode(u,null,{default:t.withCtx((()=>[t.createVNode(t.unref(r.ZoomIn))])),_:1})]),t.createElementVNode("span",{title:"移除",onClick:w},[t.createVNode(u,null,{default:t.withCtx((()=>[t.createVNode(t.unref(r.Delete))])),_:1})])])])])),t.withDirectives(t.createElementVNode("div",{class:"progress",style:t.normalizeStyle(t.unref(y))},[t.createVNode(c,{src:t.unref(f).progress.preview,style:t.normalizeStyle(t.unref(y)),fit:"fill"},null,8,["src","style"]),100!==t.unref(f).progress.percent?(t.openBlock(),t.createBlock(p,{key:0,type:"circle",width:t.unref(h),percentage:t.unref(f).progress.percent},null,8,["width","percentage"])):t.createCommentVNode("v-if",!0)],4),[[t.vShow,""===l.url&&t.unref(f).progress.percent]])])),_:1},8,["headers","action","data","name","accept","class"]),l.notip?t.createCommentVNode("v-if",!0):(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(`${t.unref(m).namespace.value}-upload__tip-text`)},[t.createElementVNode("div",o,t.toDisplayString(t.unref(v)),1)],2)),t.unref(f).imageViewerVisible?(t.openBlock(),t.createBlock(E,{key:1,"url-list":[l.url],teleported:"",onClose:q},null,8,["url-list"])):t.createCommentVNode("v-if",!0)],2)}}});exports.default=u;
2
2
  //# sourceMappingURL=image-upload.vue.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-upload.vue.cjs","sources":["../../../../../../packages/components/src/image-upload/src/image-upload.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { UploadFile, UploadFiles, UploadProps } from 'element-plus'\nimport { Delete, Plus, ZoomIn } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\n\ndefineOptions({\n name: 'QxsImageUpload',\n})\nconst props = withDefaults(\n defineProps<{\n action: UploadProps['action']\n headers?: UploadProps['headers']\n data?: UploadProps['data']\n name?: UploadProps['name']\n url?: string\n size?: number\n width?: number\n accept?: string\n height?: number\n placeholder?: string\n notip?: boolean\n tipText?: string\n beforeUpload?: UploadProps['beforeUpload']\n }>(),\n {\n name: 'file',\n url: '',\n size: 20,\n width: 160,\n height: 90,\n placeholder: '点击上传图片',\n notip: false,\n accept: 'image/jpeg,image/jpg,image/png,image/gif',\n },\n)\nconst emits = defineEmits<{\n 'update:url': [\n url: string,\n ]\n 'onSuccess': [\n res: any,\n uploadFile: UploadFile,\n uploadFiles: UploadFiles,\n ]\n}>()\n\nconst ns = useNamespace('image-upload')\n\nconst uploadData = ref({\n imageViewerVisible: false,\n progress: {\n preview: '',\n percent: 0,\n },\n})\n\nconst exts = computed(() => {\n return props.accept.split(',').map(ext => ext.split('/').pop())\n})\n\n// 预览\nfunction preview() {\n uploadData.value.imageViewerVisible = true\n}\n// 关闭预览\nfunction previewClose() {\n uploadData.value.imageViewerVisible = false\n}\n// 移除\nfunction remove() {\n emits('update:url', '')\n}\nconst handleBeforeUpload: UploadProps['beforeUpload'] = (file) => {\n const fileName = file.name.split('.')\n const fileExt = fileName.at(-1) ?? ''\n const isTypeOk = exts.value.includes(fileExt)\n const isSizeOk = file.size / 1024 / 1024 < props.size\n\n if (!isTypeOk) {\n ElMessage.error(`上传图片只支持${exts.value.join(' / ')}格式!`)\n }\n\n else if (!isSizeOk) {\n ElMessage.error(`上传图片大小不能超过 ${props.size}MB!`)\n }\n else {\n uploadData.value.progress.preview = URL.createObjectURL(file)\n }\n\n return isTypeOk && isSizeOk && (!props.beforeUpload || props.beforeUpload(file))\n}\nconst onProgress: UploadProps['onProgress'] = (file) => {\n uploadData.value.progress.percent = ~~file.percent\n}\nconst onSuccess: UploadProps['onSuccess'] = (...res) => {\n uploadData.value.progress.preview = ''\n uploadData.value.progress.percent = 0\n emits('onSuccess', ...res)\n}\n</script>\n\n<template>\n <div :class=\"ns.e('upload-container')\">\n <el-upload\n :show-file-list=\"false\"\n :headers=\"headers\"\n :action=\"action\"\n :data=\"data\"\n :name=\"name\"\n :before-upload=\"handleBeforeUpload\"\n :on-progress=\"onProgress\"\n :on-success=\"onSuccess\"\n drag\n :accept=\"accept\"\n :class=\"ns.e('image-upload')\"\n >\n <el-image\n v-if=\"url === ''\"\n :src=\"url === '' ? placeholder : url\"\n :style=\"`width:${width}px;height:${height}px;`\"\n fit=\"fill\"\n >\n <template #error>\n <div class=\"image-slot\" :style=\"`width:${width}px;height:${height}px;`\">\n <el-icon>\n <Plus />\n </el-icon>\n <p>\n {{ placeholder }}\n </p>\n </div>\n </template>\n </el-image>\n <div v-else class=\"image\">\n <el-image\n :src=\"url\"\n :style=\"`width:${width}px;height:${height}px;`\"\n fit=\"fill\"\n />\n <div class=\"mask\">\n <div class=\"actions\">\n <span title=\"预览\" @click.stop=\"preview\">\n <el-icon><ZoomIn /></el-icon>\n </span>\n <span title=\"移除\" @click.stop=\"remove\">\n <el-icon>\n <Delete />\n </el-icon>\n </span>\n </div>\n </div>\n </div>\n <div\n v-show=\"url === '' && uploadData.progress.percent\"\n class=\"progress\"\n :style=\"`width:${width}px;height:${height}px;`\"\n >\n <el-image\n :src=\"uploadData.progress.preview\"\n :style=\"`width:${width}px;height:${height}px;`\"\n fit=\"fill\"\n />\n <el-progress\n type=\"circle\"\n :width=\"Math.min(width, height) * 0.8\"\n :percentage=\"uploadData.progress.percent\"\n />\n </div>\n </el-upload>\n <div v-if=\"!notip\" class=\"el-upload__tip-text\">\n <div style=\"display: inline-block;\">\n {{ tipText || `上传图片支持 ${exts.join(' / ')} 格式,且图片大小不超过 ${size}MB,建议图片尺寸为 ${width}*${height}` }}\n </div>\n </div>\n <el-image-viewer\n v-if=\"uploadData.imageViewerVisible\"\n :url-list=\"[url]\"\n teleported\n @close=\"previewClose\"\n />\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","ns","useNamespace","uploadData","ref","imageViewerVisible","progress","preview","percent","exts","computed","accept","split","map","ext","pop","value","previewClose","remove","handleBeforeUpload","file","fileExt","name","at","isTypeOk","includes","isSizeOk","size","URL","createObjectURL","ElMessage","error","join","beforeUpload","onProgress","onSuccess","res"],"mappings":"w/BAQA,MAAMA,EAAQC,EA2BRC,EAAQC,EAWRC,EAAKC,eAAa,gBAElBC,EAAaC,EAAAA,IAAI,CACrBC,oBAAoB,EACpBC,SAAU,CACRC,QAAS,GACTC,QAAS,KAIPC,EAAOC,EAAAA,UAAS,IACbb,EAAMc,OAAOC,MAAM,KAAKC,KAAWC,GAAAA,EAAIF,MAAM,KAAKG,UAI3D,SAASR,IACPJ,EAAWa,MAAMX,oBAAqB,CAAA,CAGxC,SAASY,IACPd,EAAWa,MAAMX,oBAAqB,CAAA,CAGxC,SAASa,IACPnB,EAAM,aAAc,GAAE,CAElB,MAAAoB,EAAmDC,IACvD,MACMC,EADWD,EAAKE,KAAKV,MAAM,KACRW,IAAG,IAAO,GAC7BC,EAAWf,EAAKO,MAAMS,SAASJ,GAC/BK,EAAWN,EAAKO,KAAO,KAAO,KAAO9B,EAAM8B,KAajD,OAXKH,EAIKE,EAIRvB,EAAWa,MAAMV,SAASC,QAAUqB,IAAIC,gBAAgBT,GAHxDU,EAAAA,UAAUC,MAAM,cAAclC,EAAM8B,WAJpCG,YAAUC,MAAM,UAAUtB,EAAKO,MAAMgB,KAAK,aAUrCR,GAAYE,KAAc7B,EAAMoC,cAAgBpC,EAAMoC,aAAab,GAAI,EAE1Ec,EAAyCd,IAC7CjB,EAAWa,MAAMV,SAASE,UAAYY,EAAKZ,OAAA,EAEvC2B,EAAsC,IAAIC,KACnCjC,EAAAa,MAAMV,SAASC,QAAU,GACzBJ,EAAAa,MAAMV,SAASE,QAAU,EAC9BT,EAAA,eAAgBqC,EAAG"}
1
+ {"version":3,"file":"image-upload.vue.cjs","sources":["../../../../../../packages/components/src/image-upload/src/image-upload.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { UploadFile, UploadFiles, UploadProps } from \"element-plus\";\nimport { Delete, Plus, ZoomIn } from \"@element-plus/icons-vue\";\nimport { useNamespace } from \"@qxs-bns/hooks\";\nimport { useNamespace as useElNamespace } from \"element-plus\";\n\n// 类型定义\nexport interface ImageUploadProps {\n action: UploadProps[\"action\"];\n headers?: UploadProps[\"headers\"];\n data?: UploadProps[\"data\"];\n name?: UploadProps[\"name\"];\n url?: string;\n size?: number;\n width?: number;\n accept?: string;\n height?: number;\n placeholder?: string;\n notip?: boolean;\n tipText?: string;\n beforeUpload?: UploadProps[\"beforeUpload\"];\n}\n\ninterface UploadProgress {\n preview: string;\n percent: number;\n}\n\n// 组件名称\ndefineOptions({\n name: \"QxsImageUpload\",\n});\n\n// Props 定义\nconst {\n name = \"file\",\n url = \"\",\n size = 20,\n width = 160,\n height = 90,\n placeholder = \"点击上传图片\",\n notip = false,\n accept = \"image/jpeg,image/jpg,image/png,image/gif\",\n beforeUpload,\n tipText = ''\n} = defineProps<ImageUploadProps>();\n\n// Emits 定义\nconst emits = defineEmits<{\n \"update:url\": [url: string];\n onSuccess: [res: any, uploadFile: UploadFile, uploadFiles: UploadFiles];\n}>();\n\n// 命名空间\nconst ns = useNamespace(\"image-upload\");\nconst nsEl = useElNamespace(\"upload\");\n\n// 响应式数据\nconst uploadData = ref<{\n imageViewerVisible: boolean;\n progress: UploadProgress;\n}>({\n imageViewerVisible: false,\n progress: {\n preview: \"\",\n percent: 0,\n },\n});\n\n// 计算属性\nconst exts = computed(() =>\n accept.split(\",\").map((ext) => ext.split(\"/\").pop())\n);\n\nconst imageStyle = computed(() => ({\n width: `${width}px`,\n height: `${height}px`,\n}));\n\nconst progressSize = computed(() => Math.min(width, height) * 0.8);\n\nconst tipMessage = computed(\n () =>\n tipText ||\n `上传图片支持 ${exts.value.join(\n \" / \"\n )} 格式,且图片大小不超过 ${size}MB,建议图片尺寸为 ${width}*${height}`\n);\n\n// 方法\nfunction preview(e: Event) {\n e.preventDefault();\n uploadData.value.imageViewerVisible = true;\n}\n\nfunction previewClose() {\n uploadData.value.imageViewerVisible = false;\n}\n\nfunction remove(e: Event) {\n e.preventDefault();\n emits(\"update:url\", \"\");\n}\n\nconst handleBeforeUpload: UploadProps[\"beforeUpload\"] = (file) => {\n const fileExt = file.name.split(\".\").pop() ?? \"\";\n const isTypeOk = exts.value.includes(fileExt);\n const isSizeOk = file.size / 1024 / 1024 < size;\n\n if (!isTypeOk) {\n ElMessage.error(`上传图片只支持${exts.value.join(\" / \")}格式!`);\n return false;\n }\n\n if (!isSizeOk) {\n ElMessage.error(`上传图片大小不能超过 ${size}MB!`);\n return false;\n }\n\n uploadData.value.progress.preview = URL.createObjectURL(file);\n\n return beforeUpload ? beforeUpload(file) : true;\n};\n\nconst onProgress: UploadProps[\"onProgress\"] = (evt) => {\n uploadData.value.progress.percent = Math.floor(evt.percent);\n};\n\nconst onSuccess: UploadProps[\"onSuccess\"] = (...args) => {\n uploadData.value.progress = {\n preview: \"\",\n percent: 0,\n };\n emits(\"onSuccess\", ...args);\n};\n</script>\n\n<template>\n <div :class=\"ns.e('container')\">\n <el-upload\n drag\n :show-file-list=\"false\"\n :headers=\"headers\"\n :action=\"action\"\n :data=\"data\"\n :name=\"name\"\n :accept=\"accept\"\n :class=\"ns.e('control')\"\n :before-upload=\"handleBeforeUpload\"\n :on-progress=\"onProgress\"\n :on-success=\"onSuccess\"\n >\n <template v-if=\"url === ''\">\n <el-image :style=\"imageStyle\" :src=\"placeholder\" fit=\"fill\">\n <template #error>\n <div class=\"image-slot\" :style=\"imageStyle\">\n <el-icon><Plus /></el-icon>\n <p>{{ placeholder }}</p>\n </div>\n </template>\n </el-image>\n </template>\n\n <template v-else>\n <div class=\"image\">\n <el-image :src=\"url\" :style=\"imageStyle\" fit=\"fill\" />\n <div class=\"mask\">\n <div class=\"actions\">\n <span title=\"预览\" @click=\"preview\">\n <el-icon><ZoomIn /></el-icon>\n </span>\n <span title=\"移除\" @click=\"remove\">\n <el-icon><Delete /></el-icon>\n </span>\n </div>\n </div>\n </div>\n </template>\n\n <div\n v-show=\"url === '' && uploadData.progress.percent\"\n class=\"progress\"\n :style=\"imageStyle\"\n >\n <el-image\n :src=\"uploadData.progress.preview\"\n :style=\"imageStyle\"\n fit=\"fill\"\n />\n <el-progress\n v-if=\"uploadData.progress.percent !== 100\"\n type=\"circle\"\n :width=\"progressSize\"\n :percentage=\"uploadData.progress.percent\"\n />\n </div>\n </el-upload>\n\n <div v-if=\"!notip\" :class=\"`${nsEl.namespace.value}-upload__tip-text`\">\n <div class=\"tip-content\">\n {{ tipMessage }}\n </div>\n </div>\n\n <el-image-viewer\n v-if=\"uploadData.imageViewerVisible\"\n :url-list=\"[url]\"\n teleported\n @close=\"previewClose\"\n />\n </div>\n</template>\n"],"names":["emits","__emit","ns","useNamespace","nsEl","useElNamespace","uploadData","ref","imageViewerVisible","progress","preview","percent","exts","computed","__props","split","map","ext","pop","imageStyle","width","height","progressSize","Math","min","tipMessage","tipText","value","join","size","e","preventDefault","previewClose","remove","handleBeforeUpload","file","fileExt","name","isTypeOk","includes","isSizeOk","URL","createObjectURL","beforeUpload","ElMessage","error","onProgress","evt","floor","onSuccess","args"],"mappings":"m4CAgDA,MAAMA,EAAQC,EAMRC,EAAKC,eAAa,gBAClBC,EAAOC,eAAe,UAGtBC,EAAaC,EAAAA,IAGhB,CACDC,oBAAoB,EACpBC,SAAU,CACRC,QAAS,GACTC,QAAS,KAKPC,EAAOC,EAAAA,UAAS,IACpBC,SAAOC,MAAM,KAAKC,KAAKC,GAAQA,EAAIF,MAAM,KAAKG,UAG1CC,EAAaN,EAAAA,UAAS,KAAO,CACjCO,MAAO,GAAGN,EAAAM,UACVC,OAAQ,GAAGP,EAAAO,eAGPC,EAAeT,EAAAA,UAAS,IAAgC,GAA1BU,KAAKC,IAAIV,EAAAM,MAAON,EAAMO,UAEpDI,EAAaZ,EAAAA,UACjB,IACEC,EAAAY,SACA,UAAUd,EAAKe,MAAMC,KACnB,sBACed,EAAIe,kBAAcf,EAAKM,SAAIN,aAIhD,SAASJ,EAAQoB,GACfA,EAAEC,iBACFzB,EAAWqB,MAAMnB,oBAAqB,CAAA,CAGxC,SAASwB,IACP1B,EAAWqB,MAAMnB,oBAAqB,CAAA,CAGxC,SAASyB,EAAOH,GACdA,EAAEC,iBACF/B,EAAM,aAAc,GAAE,CAGlB,MAAAkC,EAAmDC,IACvD,MAAMC,EAAUD,EAAKE,KAAKtB,MAAM,KAAKG,OAAS,GACxCoB,EAAW1B,EAAKe,MAAMY,SAASH,GAC/BI,EAAWL,EAAKN,KAAO,KAAO,KAAOf,EAAIe,KAE/C,OAAKS,EAKAE,GAKLlC,EAAWqB,MAAMlB,SAASC,QAAU+B,IAAIC,gBAAgBP,IAEjDrB,EAAY6B,cAAG7B,eAAaqB,KANjCS,EAAAA,UAAUC,MAAM,cAAc/B,EAAIe,YAC3B,IANPe,YAAUC,MAAM,UAAUjC,EAAKe,MAAMC,KAAK,cACnC,EAUkC,EAGvCkB,EAAyCC,IAC7CzC,EAAWqB,MAAMlB,SAASE,QAAUY,KAAKyB,MAAMD,EAAIpC,QAAO,EAGtDsC,EAAsC,IAAIC,KAC9C5C,EAAWqB,MAAMlB,SAAW,CAC1BC,QAAS,GACTC,QAAS,GAELX,EAAA,eAAgBkD,EAAI"}
@@ -1,2 +1,2 @@
1
- "use strict";var r=require("../package.json.cjs");exports.makeInstaller=function(n){return{version:r.version,install:r=>{for(const s in n)r.use(n[s])}}};
1
+ "use strict";var e=require("../package.json.cjs");exports.makeInstaller=function(r){return{version:e.version,install:e=>{for(const s in r)e.use(r[s])}}};
2
2
  //# sourceMappingURL=make-installer.cjs.map