@qxs-bns/components 0.0.27 → 0.0.29

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 (629) hide show
  1. package/es/_virtual/{_plugin-vue_export-helper.js → _plugin-vue_export-helper.mjs} +1 -1
  2. package/es/_virtual/_plugin-vue_export-helper.mjs.map +1 -0
  3. package/es/index.mjs +2 -0
  4. package/es/index.mjs.map +1 -0
  5. package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/{style-inject.es.js → style-inject.es.mjs} +1 -1
  6. package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs.map +1 -0
  7. package/es/package.json.mjs +2 -0
  8. package/es/package.json.mjs.map +1 -0
  9. package/es/src/components.mjs +2 -0
  10. package/es/src/components.mjs.map +1 -0
  11. package/es/src/data-chart/index.mjs +2 -0
  12. package/es/src/data-chart/index.mjs.map +1 -0
  13. package/es/src/data-chart/src/components/area.vue.mjs +2 -0
  14. package/es/src/data-chart/src/components/area.vue.mjs.map +1 -0
  15. package/es/src/data-chart/src/components/area.vue2.mjs +2 -0
  16. package/es/src/data-chart/src/components/area.vue2.mjs.map +1 -0
  17. package/es/src/data-chart/src/components/area.vue3.mjs +2 -0
  18. package/es/src/data-chart/src/components/area.vue3.mjs.map +1 -0
  19. package/es/src/data-chart/src/components/bar.vue.mjs +2 -0
  20. package/es/src/data-chart/src/components/bar.vue.mjs.map +1 -0
  21. package/es/src/data-chart/src/components/bar.vue2.mjs +2 -0
  22. package/es/src/data-chart/src/components/bar.vue2.mjs.map +1 -0
  23. package/es/src/data-chart/src/components/card.vue.mjs +2 -0
  24. package/es/src/data-chart/src/components/card.vue.mjs.map +1 -0
  25. package/es/src/data-chart/src/components/card.vue2.mjs +2 -0
  26. package/es/src/data-chart/src/components/card.vue2.mjs.map +1 -0
  27. package/es/src/data-chart/src/components/card.vue3.mjs +2 -0
  28. package/es/src/data-chart/src/components/card.vue3.mjs.map +1 -0
  29. package/es/src/data-chart/src/components/{empty.svg.js → empty.svg.mjs} +1 -1
  30. package/es/src/data-chart/src/components/empty.svg.mjs.map +1 -0
  31. package/es/src/data-chart/src/components/empty.vue.mjs +2 -0
  32. package/es/src/data-chart/src/components/empty.vue.mjs.map +1 -0
  33. package/es/src/data-chart/src/components/empty.vue2.mjs +2 -0
  34. package/es/src/data-chart/src/components/empty.vue2.mjs.map +1 -0
  35. package/es/src/data-chart/src/components/funnel.vue.mjs +2 -0
  36. package/es/src/data-chart/src/components/funnel.vue.mjs.map +1 -0
  37. package/es/src/data-chart/src/components/funnel.vue2.mjs +2 -0
  38. package/es/src/data-chart/src/components/funnel.vue2.mjs.map +1 -0
  39. package/es/src/data-chart/src/components/line.vue.mjs +2 -0
  40. package/es/src/data-chart/src/components/line.vue.mjs.map +1 -0
  41. package/es/src/data-chart/src/components/line.vue2.mjs +2 -0
  42. package/es/src/data-chart/src/components/line.vue2.mjs.map +1 -0
  43. package/es/src/data-chart/src/components/line.vue3.mjs +2 -0
  44. package/es/src/data-chart/src/components/line.vue3.mjs.map +1 -0
  45. package/es/src/data-chart/src/components/pie.vue.mjs +2 -0
  46. package/es/src/data-chart/src/components/pie.vue.mjs.map +1 -0
  47. package/es/src/data-chart/src/components/pie.vue2.mjs +2 -0
  48. package/es/src/data-chart/src/components/pie.vue2.mjs.map +1 -0
  49. package/es/src/data-chart/src/components/radar.vue.mjs +2 -0
  50. package/es/src/data-chart/src/components/radar.vue.mjs.map +1 -0
  51. package/es/src/data-chart/src/components/radar.vue2.mjs +2 -0
  52. package/es/src/data-chart/src/components/radar.vue2.mjs.map +1 -0
  53. package/es/src/data-chart/src/components/scatter-simple.vue.mjs +2 -0
  54. package/es/src/data-chart/src/components/scatter-simple.vue.mjs.map +1 -0
  55. package/es/src/data-chart/src/components/scatter-simple.vue2.mjs +2 -0
  56. package/es/src/data-chart/src/components/scatter-simple.vue2.mjs.map +1 -0
  57. package/es/src/data-chart/src/components/scatter.vue.mjs +2 -0
  58. package/es/src/data-chart/src/components/scatter.vue.mjs.map +1 -0
  59. package/es/src/data-chart/src/components/scatter.vue2.mjs +2 -0
  60. package/es/src/data-chart/src/components/scatter.vue2.mjs.map +1 -0
  61. package/es/src/data-chart/src/components/table.vue.mjs +2 -0
  62. package/es/src/data-chart/src/components/table.vue.mjs.map +1 -0
  63. package/es/src/data-chart/src/components/table.vue2.mjs +2 -0
  64. package/es/src/data-chart/src/components/table.vue2.mjs.map +1 -0
  65. package/es/src/data-chart/src/data-chart.vue.mjs +2 -0
  66. package/es/src/data-chart/src/data-chart.vue.mjs.map +1 -0
  67. package/es/src/data-chart/src/data-chart.vue2.mjs +2 -0
  68. package/es/src/data-chart/src/data-chart.vue2.mjs.map +1 -0
  69. package/es/src/data-chart/src/utils/{config.js → config.mjs} +1 -1
  70. package/es/src/data-chart/src/utils/config.mjs.map +1 -0
  71. package/es/src/data-chart/src/utils/{injectionKeys.js → injectionKeys.mjs} +1 -1
  72. package/es/src/data-chart/src/utils/injectionKeys.mjs.map +1 -0
  73. package/es/src/data-chart/src/utils/useCharts.mjs +2 -0
  74. package/es/src/data-chart/src/utils/useCharts.mjs.map +1 -0
  75. package/es/src/defaults.mjs +2 -0
  76. package/es/src/defaults.mjs.map +1 -0
  77. package/es/src/file-upload/index.mjs +2 -0
  78. package/es/src/file-upload/index.mjs.map +1 -0
  79. package/es/src/file-upload/src/file-upload.vue.mjs +2 -0
  80. package/es/src/file-upload/src/file-upload.vue.mjs.map +1 -0
  81. package/es/src/file-upload/src/file-upload.vue2.mjs +2 -0
  82. package/es/src/file-upload/src/file-upload.vue2.mjs.map +1 -0
  83. package/es/src/fixed-action-bar/index.mjs +2 -0
  84. package/es/src/fixed-action-bar/index.mjs.map +1 -0
  85. package/es/src/fixed-action-bar/src/fixed-action-bar.vue.mjs +2 -0
  86. package/es/src/fixed-action-bar/src/fixed-action-bar.vue.mjs.map +1 -0
  87. package/es/src/fixed-action-bar/src/fixed-action-bar.vue2.mjs +2 -0
  88. package/es/src/fixed-action-bar/src/fixed-action-bar.vue2.mjs.map +1 -0
  89. package/es/src/image-upload/index.mjs +2 -0
  90. package/es/src/image-upload/index.mjs.map +1 -0
  91. package/es/src/image-upload/src/image-upload.vue.mjs +2 -0
  92. package/es/src/image-upload/src/image-upload.vue.mjs.map +1 -0
  93. package/es/src/image-upload/src/image-upload.vue2.mjs +2 -0
  94. package/es/src/image-upload/src/image-upload.vue2.mjs.map +1 -0
  95. package/es/src/make-installer.mjs +2 -0
  96. package/es/src/make-installer.mjs.map +1 -0
  97. package/es/src/photo-crop-tool/index.mjs +2 -0
  98. package/es/src/photo-crop-tool/index.mjs.map +1 -0
  99. package/es/src/photo-crop-tool/src/composables.mjs +2 -0
  100. package/es/src/photo-crop-tool/src/composables.mjs.map +1 -0
  101. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.mjs +2 -0
  102. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.mjs.map +1 -0
  103. package/es/src/photo-crop-tool/src/photo-crop-tool.vue2.mjs +2 -0
  104. package/es/src/photo-crop-tool/src/photo-crop-tool.vue2.mjs.map +1 -0
  105. package/es/src/subject-action/index.mjs +2 -0
  106. package/es/src/subject-action/index.mjs.map +1 -0
  107. package/es/src/subject-action/src/subject-action.vue.mjs +2 -0
  108. package/es/src/subject-action/src/subject-action.vue.mjs.map +1 -0
  109. package/es/src/subject-action/src/subject-action.vue2.mjs +2 -0
  110. package/es/src/subject-action/src/subject-action.vue2.mjs.map +1 -0
  111. package/es/src/subject-layout/index.mjs +2 -0
  112. package/es/src/subject-layout/index.mjs.map +1 -0
  113. package/es/src/subject-layout/src/{subject-layout.vue.js → subject-layout.vue.mjs} +1 -1
  114. package/es/src/subject-layout/src/subject-layout.vue.mjs.map +1 -0
  115. package/es/src/subject-layout/src/subject-layout.vue2.mjs +2 -0
  116. package/es/src/subject-layout/src/subject-layout.vue2.mjs.map +1 -0
  117. package/es/src/subject-list/index.mjs +2 -0
  118. package/es/src/subject-list/index.mjs.map +1 -0
  119. package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs +2 -0
  120. package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs.map +1 -0
  121. package/es/src/subject-list/src/components/SubjectPageEnd.vue2.mjs +2 -0
  122. package/es/src/subject-list/src/components/SubjectPageEnd.vue2.mjs.map +1 -0
  123. package/es/src/subject-list/src/components/SubjectRichText.vue.mjs +2 -0
  124. package/es/src/subject-list/src/components/SubjectRichText.vue.mjs.map +1 -0
  125. package/es/src/subject-list/src/components/SubjectRichText.vue2.mjs +2 -0
  126. package/es/src/subject-list/src/components/SubjectRichText.vue2.mjs.map +1 -0
  127. package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs +2 -0
  128. package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs.map +1 -0
  129. package/es/src/subject-list/src/components/subject-blank-fill.vue2.mjs +2 -0
  130. package/es/src/subject-list/src/components/subject-blank-fill.vue2.mjs.map +1 -0
  131. package/es/src/subject-list/src/components/subject-scale.vue.mjs +2 -0
  132. package/es/src/subject-list/src/components/subject-scale.vue.mjs.map +1 -0
  133. package/es/src/subject-list/src/components/subject-scale.vue2.mjs +2 -0
  134. package/es/src/subject-list/src/components/subject-scale.vue2.mjs.map +1 -0
  135. package/es/src/subject-list/src/components/subject-single.vue.mjs +2 -0
  136. package/es/src/subject-list/src/components/subject-single.vue.mjs.map +1 -0
  137. package/es/src/subject-list/src/components/subject-single.vue2.mjs +2 -0
  138. package/es/src/subject-list/src/components/subject-single.vue2.mjs.map +1 -0
  139. package/es/src/subject-list/src/components/subject-text-fill.vue.mjs +2 -0
  140. package/es/src/subject-list/src/components/subject-text-fill.vue.mjs.map +1 -0
  141. package/es/src/subject-list/src/components/subject-text-fill.vue2.mjs +2 -0
  142. package/es/src/subject-list/src/components/subject-text-fill.vue2.mjs.map +1 -0
  143. package/es/src/subject-list/src/subject-list.vue.mjs +2 -0
  144. package/es/src/subject-list/src/subject-list.vue.mjs.map +1 -0
  145. package/es/src/subject-list/src/subject-list.vue2.mjs +2 -0
  146. package/es/src/subject-list/src/subject-list.vue2.mjs.map +1 -0
  147. package/es/src/subject-type/index.mjs +2 -0
  148. package/es/src/subject-type/index.mjs.map +1 -0
  149. package/es/src/subject-type/src/subject-type.vue.mjs +2 -0
  150. package/es/src/subject-type/src/subject-type.vue.mjs.map +1 -0
  151. package/es/src/subject-type/src/subject-type.vue2.mjs +2 -0
  152. package/es/src/subject-type/src/subject-type.vue2.mjs.map +1 -0
  153. package/es/src/tiny-mce-editor/index.mjs +2 -0
  154. package/es/src/tiny-mce-editor/index.mjs.map +1 -0
  155. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs +2 -0
  156. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs.map +1 -0
  157. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue2.mjs +2 -0
  158. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue2.mjs.map +1 -0
  159. package/es/src/{withInstall.js → withInstall.mjs} +1 -1
  160. package/es/src/withInstall.mjs.map +1 -0
  161. package/lib/_virtual/{_plugin-vue_export-helper.js → _plugin-vue_export-helper.cjs} +1 -1
  162. package/lib/_virtual/_plugin-vue_export-helper.cjs.map +1 -0
  163. package/lib/index.cjs +2 -0
  164. package/lib/index.cjs.map +1 -0
  165. package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/{style-inject.es.js → style-inject.es.cjs} +1 -1
  166. package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.cjs.map +1 -0
  167. package/lib/package.json.cjs +2 -0
  168. package/lib/package.json.cjs.map +1 -0
  169. package/lib/src/components.cjs +2 -0
  170. package/lib/src/components.cjs.map +1 -0
  171. package/lib/src/data-chart/index.cjs +2 -0
  172. package/lib/src/data-chart/index.cjs.map +1 -0
  173. package/lib/src/data-chart/src/components/area.vue.cjs +2 -0
  174. package/lib/src/data-chart/src/components/area.vue.cjs.map +1 -0
  175. package/lib/src/data-chart/src/components/area.vue2.cjs +2 -0
  176. package/lib/src/data-chart/src/components/area.vue2.cjs.map +1 -0
  177. package/lib/src/data-chart/src/components/{area.vue3.js → area.vue3.cjs} +2 -2
  178. package/lib/src/data-chart/src/components/area.vue3.cjs.map +1 -0
  179. package/lib/src/data-chart/src/components/bar.vue.cjs +2 -0
  180. package/lib/src/data-chart/src/components/bar.vue.cjs.map +1 -0
  181. package/lib/src/data-chart/src/components/bar.vue2.cjs +2 -0
  182. package/lib/src/data-chart/src/components/bar.vue2.cjs.map +1 -0
  183. package/lib/src/data-chart/src/components/card.vue.cjs +2 -0
  184. package/lib/src/data-chart/src/components/card.vue.cjs.map +1 -0
  185. package/lib/src/data-chart/src/components/card.vue2.cjs +2 -0
  186. package/lib/src/data-chart/src/components/card.vue2.cjs.map +1 -0
  187. package/lib/src/data-chart/src/components/{card.vue3.js → card.vue3.cjs} +2 -2
  188. package/lib/src/data-chart/src/components/card.vue3.cjs.map +1 -0
  189. package/lib/src/data-chart/src/components/{empty.svg.js → empty.svg.cjs} +1 -1
  190. package/lib/src/data-chart/src/components/empty.svg.cjs.map +1 -0
  191. package/lib/src/data-chart/src/components/empty.vue.cjs +2 -0
  192. package/lib/src/data-chart/src/components/empty.vue.cjs.map +1 -0
  193. package/lib/src/data-chart/src/components/empty.vue2.cjs +2 -0
  194. package/lib/src/data-chart/src/components/empty.vue2.cjs.map +1 -0
  195. package/lib/src/data-chart/src/components/funnel.vue.cjs +2 -0
  196. package/lib/src/data-chart/src/components/funnel.vue.cjs.map +1 -0
  197. package/lib/src/data-chart/src/components/funnel.vue2.cjs +2 -0
  198. package/lib/src/data-chart/src/components/funnel.vue2.cjs.map +1 -0
  199. package/lib/src/data-chart/src/components/line.vue.cjs +2 -0
  200. package/lib/src/data-chart/src/components/line.vue.cjs.map +1 -0
  201. package/lib/src/data-chart/src/components/line.vue2.cjs +2 -0
  202. package/lib/src/data-chart/src/components/line.vue2.cjs.map +1 -0
  203. package/lib/src/data-chart/src/components/{line.vue3.js → line.vue3.cjs} +2 -2
  204. package/lib/src/data-chart/src/components/line.vue3.cjs.map +1 -0
  205. package/lib/src/data-chart/src/components/pie.vue.cjs +2 -0
  206. package/lib/src/data-chart/src/components/pie.vue.cjs.map +1 -0
  207. package/lib/src/data-chart/src/components/pie.vue2.cjs +2 -0
  208. package/lib/src/data-chart/src/components/pie.vue2.cjs.map +1 -0
  209. package/lib/src/data-chart/src/components/radar.vue.cjs +2 -0
  210. package/lib/src/data-chart/src/components/radar.vue.cjs.map +1 -0
  211. package/lib/src/data-chart/src/components/radar.vue2.cjs +2 -0
  212. package/lib/src/data-chart/src/components/radar.vue2.cjs.map +1 -0
  213. package/lib/src/data-chart/src/components/scatter-simple.vue.cjs +2 -0
  214. package/lib/src/data-chart/src/components/scatter-simple.vue.cjs.map +1 -0
  215. package/lib/src/data-chart/src/components/scatter-simple.vue2.cjs +2 -0
  216. package/lib/src/data-chart/src/components/scatter-simple.vue2.cjs.map +1 -0
  217. package/lib/src/data-chart/src/components/scatter.vue.cjs +2 -0
  218. package/lib/src/data-chart/src/components/scatter.vue.cjs.map +1 -0
  219. package/lib/src/data-chart/src/components/scatter.vue2.cjs +2 -0
  220. package/lib/src/data-chart/src/components/scatter.vue2.cjs.map +1 -0
  221. package/lib/src/data-chart/src/components/table.vue.cjs +2 -0
  222. package/lib/src/data-chart/src/components/table.vue.cjs.map +1 -0
  223. package/lib/src/data-chart/src/components/table.vue2.cjs +2 -0
  224. package/lib/src/data-chart/src/components/table.vue2.cjs.map +1 -0
  225. package/lib/src/data-chart/src/data-chart.vue.cjs +2 -0
  226. package/lib/src/data-chart/src/data-chart.vue.cjs.map +1 -0
  227. package/lib/src/data-chart/src/data-chart.vue2.cjs +2 -0
  228. package/lib/src/data-chart/src/data-chart.vue2.cjs.map +1 -0
  229. package/lib/src/data-chart/src/utils/{config.js → config.cjs} +1 -1
  230. package/lib/src/data-chart/src/utils/config.cjs.map +1 -0
  231. package/lib/src/data-chart/src/utils/{injectionKeys.js → injectionKeys.cjs} +1 -1
  232. package/lib/src/data-chart/src/utils/injectionKeys.cjs.map +1 -0
  233. package/lib/src/data-chart/src/utils/useCharts.cjs +2 -0
  234. package/lib/src/data-chart/src/utils/useCharts.cjs.map +1 -0
  235. package/lib/src/defaults.cjs +2 -0
  236. package/lib/src/defaults.cjs.map +1 -0
  237. package/lib/src/file-upload/index.cjs +2 -0
  238. package/lib/src/file-upload/index.cjs.map +1 -0
  239. package/lib/src/file-upload/src/file-upload.vue.cjs +2 -0
  240. package/lib/src/file-upload/src/file-upload.vue.cjs.map +1 -0
  241. package/lib/src/file-upload/src/file-upload.vue2.cjs +2 -0
  242. package/lib/src/file-upload/src/file-upload.vue2.cjs.map +1 -0
  243. package/lib/src/fixed-action-bar/index.cjs +2 -0
  244. package/lib/src/fixed-action-bar/index.cjs.map +1 -0
  245. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.cjs +2 -0
  246. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.cjs.map +1 -0
  247. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue2.cjs +2 -0
  248. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue2.cjs.map +1 -0
  249. package/lib/src/image-upload/index.cjs +2 -0
  250. package/lib/src/image-upload/index.cjs.map +1 -0
  251. package/lib/src/image-upload/src/image-upload.vue.cjs +2 -0
  252. package/lib/src/image-upload/src/image-upload.vue.cjs.map +1 -0
  253. package/lib/src/image-upload/src/image-upload.vue2.cjs +2 -0
  254. package/lib/src/image-upload/src/image-upload.vue2.cjs.map +1 -0
  255. package/lib/src/make-installer.cjs +2 -0
  256. package/lib/src/make-installer.cjs.map +1 -0
  257. package/lib/src/photo-crop-tool/index.cjs +2 -0
  258. package/lib/src/photo-crop-tool/index.cjs.map +1 -0
  259. package/lib/src/photo-crop-tool/src/composables.cjs +2 -0
  260. package/lib/src/photo-crop-tool/src/composables.cjs.map +1 -0
  261. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.cjs +2 -0
  262. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.cjs.map +1 -0
  263. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue2.cjs +2 -0
  264. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue2.cjs.map +1 -0
  265. package/lib/src/subject-action/index.cjs +2 -0
  266. package/lib/src/subject-action/index.cjs.map +1 -0
  267. package/lib/src/subject-action/src/subject-action.vue.cjs +2 -0
  268. package/lib/src/subject-action/src/subject-action.vue.cjs.map +1 -0
  269. package/lib/src/subject-action/src/subject-action.vue2.cjs +2 -0
  270. package/lib/src/subject-action/src/subject-action.vue2.cjs.map +1 -0
  271. package/lib/src/subject-layout/index.cjs +2 -0
  272. package/lib/src/subject-layout/index.cjs.map +1 -0
  273. package/lib/src/subject-layout/src/{subject-layout.vue.js → subject-layout.vue.cjs} +1 -1
  274. package/lib/src/subject-layout/src/subject-layout.vue.cjs.map +1 -0
  275. package/lib/src/subject-layout/src/subject-layout.vue2.cjs +2 -0
  276. package/lib/src/subject-layout/src/subject-layout.vue2.cjs.map +1 -0
  277. package/lib/src/subject-list/index.cjs +2 -0
  278. package/lib/src/subject-list/index.cjs.map +1 -0
  279. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs +2 -0
  280. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs.map +1 -0
  281. package/lib/src/subject-list/src/components/SubjectPageEnd.vue2.cjs +2 -0
  282. package/lib/src/subject-list/src/components/SubjectPageEnd.vue2.cjs.map +1 -0
  283. package/lib/src/subject-list/src/components/SubjectRichText.vue.cjs +2 -0
  284. package/lib/src/subject-list/src/components/SubjectRichText.vue.cjs.map +1 -0
  285. package/lib/src/subject-list/src/components/SubjectRichText.vue2.cjs +2 -0
  286. package/lib/src/subject-list/src/components/SubjectRichText.vue2.cjs.map +1 -0
  287. package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs +2 -0
  288. package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs.map +1 -0
  289. package/lib/src/subject-list/src/components/subject-blank-fill.vue2.cjs +2 -0
  290. package/lib/src/subject-list/src/components/subject-blank-fill.vue2.cjs.map +1 -0
  291. package/lib/src/subject-list/src/components/subject-scale.vue.cjs +2 -0
  292. package/lib/src/subject-list/src/components/subject-scale.vue.cjs.map +1 -0
  293. package/lib/src/subject-list/src/components/subject-scale.vue2.cjs +2 -0
  294. package/lib/src/subject-list/src/components/subject-scale.vue2.cjs.map +1 -0
  295. package/lib/src/subject-list/src/components/subject-single.vue.cjs +2 -0
  296. package/lib/src/subject-list/src/components/subject-single.vue.cjs.map +1 -0
  297. package/lib/src/subject-list/src/components/subject-single.vue2.cjs +2 -0
  298. package/lib/src/subject-list/src/components/subject-single.vue2.cjs.map +1 -0
  299. package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs +2 -0
  300. package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs.map +1 -0
  301. package/lib/src/subject-list/src/components/subject-text-fill.vue2.cjs +2 -0
  302. package/lib/src/subject-list/src/components/subject-text-fill.vue2.cjs.map +1 -0
  303. package/lib/src/subject-list/src/subject-list.vue.cjs +2 -0
  304. package/lib/src/subject-list/src/subject-list.vue.cjs.map +1 -0
  305. package/lib/src/subject-list/src/subject-list.vue2.cjs +2 -0
  306. package/lib/src/subject-list/src/subject-list.vue2.cjs.map +1 -0
  307. package/lib/src/subject-type/index.cjs +2 -0
  308. package/lib/src/subject-type/index.cjs.map +1 -0
  309. package/lib/src/subject-type/src/subject-type.vue.cjs +2 -0
  310. package/lib/src/subject-type/src/subject-type.vue.cjs.map +1 -0
  311. package/lib/src/subject-type/src/subject-type.vue2.cjs +2 -0
  312. package/lib/src/subject-type/src/subject-type.vue2.cjs.map +1 -0
  313. package/lib/src/tiny-mce-editor/index.cjs +2 -0
  314. package/lib/src/tiny-mce-editor/index.cjs.map +1 -0
  315. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs +2 -0
  316. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs.map +1 -0
  317. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue2.cjs +2 -0
  318. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue2.cjs.map +1 -0
  319. package/lib/src/{withInstall.js → withInstall.cjs} +1 -1
  320. package/lib/src/withInstall.cjs.map +1 -0
  321. package/package.json +19 -17
  322. package/types/src/data-chart/src/utils/useCharts.d.ts.map +1 -1
  323. package/types/src/make-installer.d.ts +1 -1
  324. package/types/src/make-installer.d.ts.map +1 -1
  325. package/types/src/photo-crop-tool/src/composables.d.ts.map +1 -1
  326. package/types/tsconfig.tsbuildinfo +1 -1
  327. package/es/_virtual/_plugin-vue_export-helper.js.map +0 -1
  328. package/es/index.js +0 -2
  329. package/es/index.js.map +0 -1
  330. package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js.map +0 -1
  331. package/es/package.json.js +0 -2
  332. package/es/package.json.js.map +0 -1
  333. package/es/src/components.js +0 -2
  334. package/es/src/components.js.map +0 -1
  335. package/es/src/data-chart/index.js +0 -2
  336. package/es/src/data-chart/index.js.map +0 -1
  337. package/es/src/data-chart/src/components/area.vue.js +0 -2
  338. package/es/src/data-chart/src/components/area.vue.js.map +0 -1
  339. package/es/src/data-chart/src/components/area.vue2.js +0 -2
  340. package/es/src/data-chart/src/components/area.vue2.js.map +0 -1
  341. package/es/src/data-chart/src/components/area.vue3.js +0 -2
  342. package/es/src/data-chart/src/components/area.vue3.js.map +0 -1
  343. package/es/src/data-chart/src/components/bar.vue.js +0 -2
  344. package/es/src/data-chart/src/components/bar.vue.js.map +0 -1
  345. package/es/src/data-chart/src/components/bar.vue2.js +0 -2
  346. package/es/src/data-chart/src/components/bar.vue2.js.map +0 -1
  347. package/es/src/data-chart/src/components/card.vue.js +0 -2
  348. package/es/src/data-chart/src/components/card.vue.js.map +0 -1
  349. package/es/src/data-chart/src/components/card.vue2.js +0 -2
  350. package/es/src/data-chart/src/components/card.vue2.js.map +0 -1
  351. package/es/src/data-chart/src/components/card.vue3.js +0 -2
  352. package/es/src/data-chart/src/components/card.vue3.js.map +0 -1
  353. package/es/src/data-chart/src/components/empty.svg.js.map +0 -1
  354. package/es/src/data-chart/src/components/empty.vue.js +0 -2
  355. package/es/src/data-chart/src/components/empty.vue.js.map +0 -1
  356. package/es/src/data-chart/src/components/empty.vue2.js +0 -2
  357. package/es/src/data-chart/src/components/empty.vue2.js.map +0 -1
  358. package/es/src/data-chart/src/components/funnel.vue.js +0 -2
  359. package/es/src/data-chart/src/components/funnel.vue.js.map +0 -1
  360. package/es/src/data-chart/src/components/funnel.vue2.js +0 -2
  361. package/es/src/data-chart/src/components/funnel.vue2.js.map +0 -1
  362. package/es/src/data-chart/src/components/line.vue.js +0 -2
  363. package/es/src/data-chart/src/components/line.vue.js.map +0 -1
  364. package/es/src/data-chart/src/components/line.vue2.js +0 -2
  365. package/es/src/data-chart/src/components/line.vue2.js.map +0 -1
  366. package/es/src/data-chart/src/components/line.vue3.js +0 -2
  367. package/es/src/data-chart/src/components/line.vue3.js.map +0 -1
  368. package/es/src/data-chart/src/components/pie.vue.js +0 -2
  369. package/es/src/data-chart/src/components/pie.vue.js.map +0 -1
  370. package/es/src/data-chart/src/components/pie.vue2.js +0 -2
  371. package/es/src/data-chart/src/components/pie.vue2.js.map +0 -1
  372. package/es/src/data-chart/src/components/radar.vue.js +0 -2
  373. package/es/src/data-chart/src/components/radar.vue.js.map +0 -1
  374. package/es/src/data-chart/src/components/radar.vue2.js +0 -2
  375. package/es/src/data-chart/src/components/radar.vue2.js.map +0 -1
  376. package/es/src/data-chart/src/components/scatter-simple.vue.js +0 -2
  377. package/es/src/data-chart/src/components/scatter-simple.vue.js.map +0 -1
  378. package/es/src/data-chart/src/components/scatter-simple.vue2.js +0 -2
  379. package/es/src/data-chart/src/components/scatter-simple.vue2.js.map +0 -1
  380. package/es/src/data-chart/src/components/scatter.vue.js +0 -2
  381. package/es/src/data-chart/src/components/scatter.vue.js.map +0 -1
  382. package/es/src/data-chart/src/components/scatter.vue2.js +0 -2
  383. package/es/src/data-chart/src/components/scatter.vue2.js.map +0 -1
  384. package/es/src/data-chart/src/components/table.vue.js +0 -2
  385. package/es/src/data-chart/src/components/table.vue.js.map +0 -1
  386. package/es/src/data-chart/src/components/table.vue2.js +0 -2
  387. package/es/src/data-chart/src/components/table.vue2.js.map +0 -1
  388. package/es/src/data-chart/src/data-chart.vue.js +0 -2
  389. package/es/src/data-chart/src/data-chart.vue.js.map +0 -1
  390. package/es/src/data-chart/src/data-chart.vue2.js +0 -2
  391. package/es/src/data-chart/src/data-chart.vue2.js.map +0 -1
  392. package/es/src/data-chart/src/utils/config.js.map +0 -1
  393. package/es/src/data-chart/src/utils/injectionKeys.js.map +0 -1
  394. package/es/src/data-chart/src/utils/useCharts.js +0 -2
  395. package/es/src/data-chart/src/utils/useCharts.js.map +0 -1
  396. package/es/src/defaults.js +0 -2
  397. package/es/src/defaults.js.map +0 -1
  398. package/es/src/file-upload/index.js +0 -2
  399. package/es/src/file-upload/index.js.map +0 -1
  400. package/es/src/file-upload/src/file-upload.vue.js +0 -2
  401. package/es/src/file-upload/src/file-upload.vue.js.map +0 -1
  402. package/es/src/file-upload/src/file-upload.vue2.js +0 -2
  403. package/es/src/file-upload/src/file-upload.vue2.js.map +0 -1
  404. package/es/src/fixed-action-bar/index.js +0 -2
  405. package/es/src/fixed-action-bar/index.js.map +0 -1
  406. package/es/src/fixed-action-bar/src/fixed-action-bar.vue.js +0 -2
  407. package/es/src/fixed-action-bar/src/fixed-action-bar.vue.js.map +0 -1
  408. package/es/src/fixed-action-bar/src/fixed-action-bar.vue2.js +0 -2
  409. package/es/src/fixed-action-bar/src/fixed-action-bar.vue2.js.map +0 -1
  410. package/es/src/image-upload/index.js +0 -2
  411. package/es/src/image-upload/index.js.map +0 -1
  412. package/es/src/image-upload/src/image-upload.vue.js +0 -2
  413. package/es/src/image-upload/src/image-upload.vue.js.map +0 -1
  414. package/es/src/image-upload/src/image-upload.vue2.js +0 -2
  415. package/es/src/image-upload/src/image-upload.vue2.js.map +0 -1
  416. package/es/src/make-installer.js +0 -2
  417. package/es/src/make-installer.js.map +0 -1
  418. package/es/src/photo-crop-tool/index.js +0 -2
  419. package/es/src/photo-crop-tool/index.js.map +0 -1
  420. package/es/src/photo-crop-tool/src/composables.js +0 -2
  421. package/es/src/photo-crop-tool/src/composables.js.map +0 -1
  422. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.js +0 -2
  423. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.js.map +0 -1
  424. package/es/src/photo-crop-tool/src/photo-crop-tool.vue2.js +0 -2
  425. package/es/src/photo-crop-tool/src/photo-crop-tool.vue2.js.map +0 -1
  426. package/es/src/subject-action/index.js +0 -2
  427. package/es/src/subject-action/index.js.map +0 -1
  428. package/es/src/subject-action/src/subject-action.vue.js +0 -2
  429. package/es/src/subject-action/src/subject-action.vue.js.map +0 -1
  430. package/es/src/subject-action/src/subject-action.vue2.js +0 -2
  431. package/es/src/subject-action/src/subject-action.vue2.js.map +0 -1
  432. package/es/src/subject-layout/index.js +0 -2
  433. package/es/src/subject-layout/index.js.map +0 -1
  434. package/es/src/subject-layout/src/subject-layout.vue.js.map +0 -1
  435. package/es/src/subject-layout/src/subject-layout.vue2.js +0 -2
  436. package/es/src/subject-layout/src/subject-layout.vue2.js.map +0 -1
  437. package/es/src/subject-list/index.js +0 -2
  438. package/es/src/subject-list/index.js.map +0 -1
  439. package/es/src/subject-list/src/components/SubjectPageEnd.vue.js +0 -2
  440. package/es/src/subject-list/src/components/SubjectPageEnd.vue.js.map +0 -1
  441. package/es/src/subject-list/src/components/SubjectPageEnd.vue2.js +0 -2
  442. package/es/src/subject-list/src/components/SubjectPageEnd.vue2.js.map +0 -1
  443. package/es/src/subject-list/src/components/SubjectRichText.vue.js +0 -2
  444. package/es/src/subject-list/src/components/SubjectRichText.vue.js.map +0 -1
  445. package/es/src/subject-list/src/components/SubjectRichText.vue2.js +0 -2
  446. package/es/src/subject-list/src/components/SubjectRichText.vue2.js.map +0 -1
  447. package/es/src/subject-list/src/components/subject-blank-fill.vue.js +0 -2
  448. package/es/src/subject-list/src/components/subject-blank-fill.vue.js.map +0 -1
  449. package/es/src/subject-list/src/components/subject-blank-fill.vue2.js +0 -2
  450. package/es/src/subject-list/src/components/subject-blank-fill.vue2.js.map +0 -1
  451. package/es/src/subject-list/src/components/subject-scale.vue.js +0 -2
  452. package/es/src/subject-list/src/components/subject-scale.vue.js.map +0 -1
  453. package/es/src/subject-list/src/components/subject-scale.vue2.js +0 -2
  454. package/es/src/subject-list/src/components/subject-scale.vue2.js.map +0 -1
  455. package/es/src/subject-list/src/components/subject-single.vue.js +0 -2
  456. package/es/src/subject-list/src/components/subject-single.vue.js.map +0 -1
  457. package/es/src/subject-list/src/components/subject-single.vue2.js +0 -2
  458. package/es/src/subject-list/src/components/subject-single.vue2.js.map +0 -1
  459. package/es/src/subject-list/src/components/subject-text-fill.vue.js +0 -2
  460. package/es/src/subject-list/src/components/subject-text-fill.vue.js.map +0 -1
  461. package/es/src/subject-list/src/components/subject-text-fill.vue2.js +0 -2
  462. package/es/src/subject-list/src/components/subject-text-fill.vue2.js.map +0 -1
  463. package/es/src/subject-list/src/subject-list.vue.js +0 -2
  464. package/es/src/subject-list/src/subject-list.vue.js.map +0 -1
  465. package/es/src/subject-list/src/subject-list.vue2.js +0 -2
  466. package/es/src/subject-list/src/subject-list.vue2.js.map +0 -1
  467. package/es/src/subject-type/index.js +0 -2
  468. package/es/src/subject-type/index.js.map +0 -1
  469. package/es/src/subject-type/src/subject-type.vue.js +0 -2
  470. package/es/src/subject-type/src/subject-type.vue.js.map +0 -1
  471. package/es/src/subject-type/src/subject-type.vue2.js +0 -2
  472. package/es/src/subject-type/src/subject-type.vue2.js.map +0 -1
  473. package/es/src/tiny-mce-editor/index.js +0 -2
  474. package/es/src/tiny-mce-editor/index.js.map +0 -1
  475. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.js +0 -2
  476. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.js.map +0 -1
  477. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue2.js +0 -2
  478. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue2.js.map +0 -1
  479. package/es/src/withInstall.js.map +0 -1
  480. package/lib/_virtual/_plugin-vue_export-helper.js.map +0 -1
  481. package/lib/index.js +0 -2
  482. package/lib/index.js.map +0 -1
  483. package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js.map +0 -1
  484. package/lib/package.json.js +0 -2
  485. package/lib/package.json.js.map +0 -1
  486. package/lib/src/components.js +0 -2
  487. package/lib/src/components.js.map +0 -1
  488. package/lib/src/data-chart/index.js +0 -2
  489. package/lib/src/data-chart/index.js.map +0 -1
  490. package/lib/src/data-chart/src/components/area.vue.js +0 -2
  491. package/lib/src/data-chart/src/components/area.vue.js.map +0 -1
  492. package/lib/src/data-chart/src/components/area.vue2.js +0 -2
  493. package/lib/src/data-chart/src/components/area.vue2.js.map +0 -1
  494. package/lib/src/data-chart/src/components/area.vue3.js.map +0 -1
  495. package/lib/src/data-chart/src/components/bar.vue.js +0 -2
  496. package/lib/src/data-chart/src/components/bar.vue.js.map +0 -1
  497. package/lib/src/data-chart/src/components/bar.vue2.js +0 -2
  498. package/lib/src/data-chart/src/components/bar.vue2.js.map +0 -1
  499. package/lib/src/data-chart/src/components/card.vue.js +0 -2
  500. package/lib/src/data-chart/src/components/card.vue.js.map +0 -1
  501. package/lib/src/data-chart/src/components/card.vue2.js +0 -2
  502. package/lib/src/data-chart/src/components/card.vue2.js.map +0 -1
  503. package/lib/src/data-chart/src/components/card.vue3.js.map +0 -1
  504. package/lib/src/data-chart/src/components/empty.svg.js.map +0 -1
  505. package/lib/src/data-chart/src/components/empty.vue.js +0 -2
  506. package/lib/src/data-chart/src/components/empty.vue.js.map +0 -1
  507. package/lib/src/data-chart/src/components/empty.vue2.js +0 -2
  508. package/lib/src/data-chart/src/components/empty.vue2.js.map +0 -1
  509. package/lib/src/data-chart/src/components/funnel.vue.js +0 -2
  510. package/lib/src/data-chart/src/components/funnel.vue.js.map +0 -1
  511. package/lib/src/data-chart/src/components/funnel.vue2.js +0 -2
  512. package/lib/src/data-chart/src/components/funnel.vue2.js.map +0 -1
  513. package/lib/src/data-chart/src/components/line.vue.js +0 -2
  514. package/lib/src/data-chart/src/components/line.vue.js.map +0 -1
  515. package/lib/src/data-chart/src/components/line.vue2.js +0 -2
  516. package/lib/src/data-chart/src/components/line.vue2.js.map +0 -1
  517. package/lib/src/data-chart/src/components/line.vue3.js.map +0 -1
  518. package/lib/src/data-chart/src/components/pie.vue.js +0 -2
  519. package/lib/src/data-chart/src/components/pie.vue.js.map +0 -1
  520. package/lib/src/data-chart/src/components/pie.vue2.js +0 -2
  521. package/lib/src/data-chart/src/components/pie.vue2.js.map +0 -1
  522. package/lib/src/data-chart/src/components/radar.vue.js +0 -2
  523. package/lib/src/data-chart/src/components/radar.vue.js.map +0 -1
  524. package/lib/src/data-chart/src/components/radar.vue2.js +0 -2
  525. package/lib/src/data-chart/src/components/radar.vue2.js.map +0 -1
  526. package/lib/src/data-chart/src/components/scatter-simple.vue.js +0 -2
  527. package/lib/src/data-chart/src/components/scatter-simple.vue.js.map +0 -1
  528. package/lib/src/data-chart/src/components/scatter-simple.vue2.js +0 -2
  529. package/lib/src/data-chart/src/components/scatter-simple.vue2.js.map +0 -1
  530. package/lib/src/data-chart/src/components/scatter.vue.js +0 -2
  531. package/lib/src/data-chart/src/components/scatter.vue.js.map +0 -1
  532. package/lib/src/data-chart/src/components/scatter.vue2.js +0 -2
  533. package/lib/src/data-chart/src/components/scatter.vue2.js.map +0 -1
  534. package/lib/src/data-chart/src/components/table.vue.js +0 -2
  535. package/lib/src/data-chart/src/components/table.vue.js.map +0 -1
  536. package/lib/src/data-chart/src/components/table.vue2.js +0 -2
  537. package/lib/src/data-chart/src/components/table.vue2.js.map +0 -1
  538. package/lib/src/data-chart/src/data-chart.vue.js +0 -2
  539. package/lib/src/data-chart/src/data-chart.vue.js.map +0 -1
  540. package/lib/src/data-chart/src/data-chart.vue2.js +0 -2
  541. package/lib/src/data-chart/src/data-chart.vue2.js.map +0 -1
  542. package/lib/src/data-chart/src/utils/config.js.map +0 -1
  543. package/lib/src/data-chart/src/utils/injectionKeys.js.map +0 -1
  544. package/lib/src/data-chart/src/utils/useCharts.js +0 -2
  545. package/lib/src/data-chart/src/utils/useCharts.js.map +0 -1
  546. package/lib/src/defaults.js +0 -2
  547. package/lib/src/defaults.js.map +0 -1
  548. package/lib/src/file-upload/index.js +0 -2
  549. package/lib/src/file-upload/index.js.map +0 -1
  550. package/lib/src/file-upload/src/file-upload.vue.js +0 -2
  551. package/lib/src/file-upload/src/file-upload.vue.js.map +0 -1
  552. package/lib/src/file-upload/src/file-upload.vue2.js +0 -2
  553. package/lib/src/file-upload/src/file-upload.vue2.js.map +0 -1
  554. package/lib/src/fixed-action-bar/index.js +0 -2
  555. package/lib/src/fixed-action-bar/index.js.map +0 -1
  556. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.js +0 -2
  557. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.js.map +0 -1
  558. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue2.js +0 -2
  559. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue2.js.map +0 -1
  560. package/lib/src/image-upload/index.js +0 -2
  561. package/lib/src/image-upload/index.js.map +0 -1
  562. package/lib/src/image-upload/src/image-upload.vue.js +0 -2
  563. package/lib/src/image-upload/src/image-upload.vue.js.map +0 -1
  564. package/lib/src/image-upload/src/image-upload.vue2.js +0 -2
  565. package/lib/src/image-upload/src/image-upload.vue2.js.map +0 -1
  566. package/lib/src/make-installer.js +0 -2
  567. package/lib/src/make-installer.js.map +0 -1
  568. package/lib/src/photo-crop-tool/index.js +0 -2
  569. package/lib/src/photo-crop-tool/index.js.map +0 -1
  570. package/lib/src/photo-crop-tool/src/composables.js +0 -2
  571. package/lib/src/photo-crop-tool/src/composables.js.map +0 -1
  572. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.js +0 -2
  573. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.js.map +0 -1
  574. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue2.js +0 -2
  575. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue2.js.map +0 -1
  576. package/lib/src/subject-action/index.js +0 -2
  577. package/lib/src/subject-action/index.js.map +0 -1
  578. package/lib/src/subject-action/src/subject-action.vue.js +0 -2
  579. package/lib/src/subject-action/src/subject-action.vue.js.map +0 -1
  580. package/lib/src/subject-action/src/subject-action.vue2.js +0 -2
  581. package/lib/src/subject-action/src/subject-action.vue2.js.map +0 -1
  582. package/lib/src/subject-layout/index.js +0 -2
  583. package/lib/src/subject-layout/index.js.map +0 -1
  584. package/lib/src/subject-layout/src/subject-layout.vue.js.map +0 -1
  585. package/lib/src/subject-layout/src/subject-layout.vue2.js +0 -2
  586. package/lib/src/subject-layout/src/subject-layout.vue2.js.map +0 -1
  587. package/lib/src/subject-list/index.js +0 -2
  588. package/lib/src/subject-list/index.js.map +0 -1
  589. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.js +0 -2
  590. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.js.map +0 -1
  591. package/lib/src/subject-list/src/components/SubjectPageEnd.vue2.js +0 -2
  592. package/lib/src/subject-list/src/components/SubjectPageEnd.vue2.js.map +0 -1
  593. package/lib/src/subject-list/src/components/SubjectRichText.vue.js +0 -2
  594. package/lib/src/subject-list/src/components/SubjectRichText.vue.js.map +0 -1
  595. package/lib/src/subject-list/src/components/SubjectRichText.vue2.js +0 -2
  596. package/lib/src/subject-list/src/components/SubjectRichText.vue2.js.map +0 -1
  597. package/lib/src/subject-list/src/components/subject-blank-fill.vue.js +0 -2
  598. package/lib/src/subject-list/src/components/subject-blank-fill.vue.js.map +0 -1
  599. package/lib/src/subject-list/src/components/subject-blank-fill.vue2.js +0 -2
  600. package/lib/src/subject-list/src/components/subject-blank-fill.vue2.js.map +0 -1
  601. package/lib/src/subject-list/src/components/subject-scale.vue.js +0 -2
  602. package/lib/src/subject-list/src/components/subject-scale.vue.js.map +0 -1
  603. package/lib/src/subject-list/src/components/subject-scale.vue2.js +0 -2
  604. package/lib/src/subject-list/src/components/subject-scale.vue2.js.map +0 -1
  605. package/lib/src/subject-list/src/components/subject-single.vue.js +0 -2
  606. package/lib/src/subject-list/src/components/subject-single.vue.js.map +0 -1
  607. package/lib/src/subject-list/src/components/subject-single.vue2.js +0 -2
  608. package/lib/src/subject-list/src/components/subject-single.vue2.js.map +0 -1
  609. package/lib/src/subject-list/src/components/subject-text-fill.vue.js +0 -2
  610. package/lib/src/subject-list/src/components/subject-text-fill.vue.js.map +0 -1
  611. package/lib/src/subject-list/src/components/subject-text-fill.vue2.js +0 -2
  612. package/lib/src/subject-list/src/components/subject-text-fill.vue2.js.map +0 -1
  613. package/lib/src/subject-list/src/subject-list.vue.js +0 -2
  614. package/lib/src/subject-list/src/subject-list.vue.js.map +0 -1
  615. package/lib/src/subject-list/src/subject-list.vue2.js +0 -2
  616. package/lib/src/subject-list/src/subject-list.vue2.js.map +0 -1
  617. package/lib/src/subject-type/index.js +0 -2
  618. package/lib/src/subject-type/index.js.map +0 -1
  619. package/lib/src/subject-type/src/subject-type.vue.js +0 -2
  620. package/lib/src/subject-type/src/subject-type.vue.js.map +0 -1
  621. package/lib/src/subject-type/src/subject-type.vue2.js +0 -2
  622. package/lib/src/subject-type/src/subject-type.vue2.js.map +0 -1
  623. package/lib/src/tiny-mce-editor/index.js +0 -2
  624. package/lib/src/tiny-mce-editor/index.js.map +0 -1
  625. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.js +0 -2
  626. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.js.map +0 -1
  627. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue2.js +0 -2
  628. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue2.js.map +0 -1
  629. package/lib/src/withInstall.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject-scale.vue.mjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/subject-scale.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { CirclePlus, Remove } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { ElMessage } from 'element-plus'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\nimport SubjectLayout from '../../../subject-layout/src/subject-layout.vue'\nimport TinyMceEditor from '../../../tiny-mce-editor/src/tiny-mce-editor.vue'\n\ndefineOptions({\n name: 'QxsSubjectScale',\n})\nconst props = defineProps<{\n orderIndex: number\n title?: string\n isSave: boolean\n showAction?: boolean\n answerList?: any\n analysis?: string\n rowTitle?: string\n isEdit: boolean\n isSet: boolean\n scaleQuestionList?: any\n examRichTextContent?: string\n examAnswerRelationType?: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add'])\n\nconst attrs = useAttrs()\n\nconst answers = ref<{\n title: string\n}[]>([{\n title: '',\n}, {\n title: '',\n}, {\n title: '',\n}, {\n title: '',\n}, {\n title: '',\n}])\n\nconst title = ref('')\nconst analysis = ref('')\nconst rowTitle = ref('')\nconst showRichText = ref(false)\nconst richText = ref('')\nconst scaleQuestionList = ref<string[]>([])\nconst span = computed(() => Math.ceil(24 / (answers.value.length + 1)))\nfunction addAnswer() {\n if (answers.value.length === 5) {\n return\n }\n answers.value.push({\n title: '',\n })\n}\n\nfunction deleteAnswer(index: number) {\n if (answers.value.length < 3) {\n return\n }\n answers.value.splice(index, 1)\n}\n\nfunction deleteRichText() {\n showRichText.value = false\n richText.value = ''\n}\n\nfunction save() {\n if (!title.value) {\n ElMessage.error('题目标题不能为空!')\n return\n }\n let msg = ''\n answers.value.forEach((v, i) => {\n if (!v.title) {\n msg += `选项${String.fromCharCode(65 + i)}未填写。`\n }\n })\n\n if (msg) {\n ElMessage.error(msg)\n return\n }\n\n if (!rowTitle.value) {\n ElMessage.error('行标题不能为空!')\n return\n }\n\n scaleQuestionList.value = rowTitle.value.split('\\n').filter(i => i)\n\n emits('save', {\n title: title.value,\n answers: answers.value,\n analysis: analysis.value,\n scaleQuestionList: scaleQuestionList.value,\n examRichTextContent: showRichText.value ? richText.value : '',\n })\n}\n\nfunction init() {\n if (props.title) {\n title.value = props.title\n }\n\n if (props.answerList && props.answerList.length) {\n answers.value = props.answerList\n }\n\n if (props.analysis) {\n analysis.value = props.analysis\n }\n\n if (props.scaleQuestionList) {\n scaleQuestionList.value = props.scaleQuestionList\n rowTitle.value = scaleQuestionList.value.join('\\n')\n }\n if (props.examRichTextContent) {\n richText.value = props.examRichTextContent\n showRichText.value = true\n }\n}\n\nonMounted(init)\nconst ns = useNamespace('subject-scale')\n</script>\n\n<template>\n <div :class=\"ns.e('scale-exam')\">\n <SubjectLayout :show-edit=\"isEdit\">\n <template #preview>\n <div class=\"preview\">\n <div>\n <span class=\"title\">{{ orderIndex + 1 }}.{{ title }}(量表题)</span>\n <div v-if=\"showRichText\">\n <div v-html=\"richText\" />\n </div>\n </div>\n <div class=\"answer-radio flex flex-col\">\n <el-row style=\"padding: 10px 0;\">\n <el-col :span=\"span\" />\n <el-col\n v-for=\"item in answers\"\n :key=\"item.title\"\n class=\"flex flex-center\"\n :span=\"span\"\n >\n <span>{{ item.title }}</span>\n </el-col>\n </el-row>\n <el-row\n v-for=\"item in scaleQuestionList\"\n :key=\"item\"\n style=\"padding: 10px 0;\"\n >\n <el-col :span=\"span\" class=\"flex flex-center\">\n <span>{{ item }}</span>\n </el-col>\n <el-col\n v-for=\"i in answers.length\"\n :key=\"i\"\n class=\"radio-item flex flex-center\"\n :span=\"span\"\n >\n <el-radio :disabled=\"true\" />\n </el-col>\n </el-row>\n </div>\n </div>\n </template>\n <template #edit>\n <div class=\"flex\" :class=\"[{ 'margin-bottom': showRichText }]\">\n <div class=\"label flex flex-justify-center\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-input\n v-model=\"title\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"【量表题】请输入问题\"\n :disabled=\"isSave\"\n />\n </div>\n </div>\n <div class=\"answer flex\">\n <div class=\"label flex flex-justify-center\">\n <span>行标题:</span>\n </div>\n <div class=\"flex\">\n <el-input\n v-model.trim=\"rowTitle\"\n type=\"textarea\"\n placeholder=\"请输入行标题\"\n style=\"width: 160px;\"\n :rows=\"10\"\n />\n <div class=\"answer-list flex-col\">\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"answer-item flex flex-items-center\"\n >\n <span class=\"order\">{{ String.fromCharCode(65 + index) }}.</span>\n <el-input\n v-model=\"item.title\"\n class=\"input\"\n show-word-limit\n :maxlength=\"10\"\n :placeholder=\"`选项${String.fromCharCode(65 + index)}`\"\n :disabled=\"isSave\"\n />\n <!-- <PlusCircleOutlined\n class=\"icon\"\n :class=\"[{ disabled: answers.length === 5 }]\"\n @click=\"addAnswer\"\n />\n <MinusCircleOutlined\n class=\"icon\"\n :class=\"[{ disabled: answers.length < 3 }]\"\n @click=\"deleteAnswer(index)\"\n /> -->\n <el-icon class=\"icon\">\n <CirclePlus\n :class=\"[{ disabled: answers.length === 5 }]\"\n @click=\"addAnswer\"\n />\n </el-icon>\n <el-icon class=\"icon\">\n <Remove\n :class=\"[{ disabled: answers.length < 3 }]\"\n @click=\"deleteAnswer(index)\"\n />\n </el-icon>\n </div>\n </div>\n </div>\n </div>\n <div class=\"flex\" style=\"margin-bottom: 20px;\">\n <div class=\"label flex flex-justify-center\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-input\n v-model=\"analysis\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"请输入题目解析\"\n />\n </div>\n </div>\n <div v-if=\"showRichText\" class=\"margin-bottom flex\">\n <div class=\"label flex flex-justify-center\">\n <span>富文本:</span>\n </div>\n <div style=\"flex: 1;\">\n <TinyMceEditor v-model:model-value=\"richText\" v-bind=\"attrs\" style=\"width: 100%;\" />\n <div class=\"flex flex-justify-end\">\n <el-link\n type=\"danger\"\n @click=\"deleteRichText\"\n >\n 删除富文本\n </el-link>\n </div>\n </div>\n </div>\n </template>\n <SubjectAction\n v-if=\"showAction\"\n :is-edit=\"isEdit\"\n :is-set=\"isSet\"\n :showOtherOption=\"false\"\n :examAnswerRelationType=\"props.examAnswerRelationType\"\n @move-up=\"emits('move', 'up')\"\n @move-down=\"emits('move', 'down')\"\n @delete=\"emits('delete')\"\n @save=\"save\"\n @edit=\"emits('edit')\"\n @add=\"(type: any) => emits('add', type)\"\n @onShowRichText=\"showRichText = true\"\n />\n </SubjectLayout>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","attrs","useAttrs","answers","ref","title","analysis","rowTitle","showRichText","richText","scaleQuestionList","span","computed","Math","ceil","value","length","addAnswer","push","deleteRichText","save","ElMessage","error","msg","forEach","v","i","String","fromCharCode","split","filter","examRichTextContent","onMounted","answerList","join","ns","useNamespace","index","splice"],"mappings":"2vDAWA,MAAMA,EAAQC,EAcRC,EAAQC,EAERC,EAAQC,IAERC,EAAUC,EAEX,CAAC,CACJC,MAAO,IACN,CACDA,MAAO,IACN,CACDA,MAAO,IACN,CACDA,MAAO,IACN,CACDA,MAAO,MAGHA,EAAQD,EAAI,IACZE,GAAWF,EAAI,IACfG,GAAWH,EAAI,IACfI,GAAeJ,GAAI,GACnBK,GAAWL,EAAI,IACfM,GAAoBN,EAAc,IAClCO,GAAOC,GAAS,IAAMC,KAAKC,KAAK,IAAMX,EAAQY,MAAMC,OAAS,MACnE,SAASC,KACsB,IAAzBd,EAAQY,MAAMC,QAGlBb,EAAQY,MAAMG,KAAK,CACjBb,MAAO,IACR,CAUH,SAASc,KACPX,GAAaO,OAAQ,EACrBN,GAASM,MAAQ,EAAA,CAGnB,SAASK,KACH,IAACf,EAAMU,MAET,YADAM,EAAUC,MAAM,aAGlB,IAAIC,EAAM,GACVpB,EAAQY,MAAMS,SAAQ,CAACC,EAAGC,KACnBD,EAAEpB,QACLkB,GAAO,KAAKI,OAAOC,aAAa,GAAKF,SAAE,IAIvCH,EACFF,EAAUC,MAAMC,GAIbhB,GAASQ,OAKIL,GAAAK,MAAQR,GAASQ,MAAMc,MAAM,MAAMC,WAAYJ,IAEjE3B,EAAM,OAAQ,CACZM,MAAOA,EAAMU,MACbZ,QAASA,EAAQY,MACjBT,SAAUA,GAASS,MACnBL,kBAAmBA,GAAkBK,MACrCgB,oBAAqBvB,GAAaO,MAAQN,GAASM,MAAQ,MAX3DM,EAAUC,MAAM,WAYjB,CA0BHU,GAvBA,WACMnC,EAAMQ,QACRA,EAAMU,MAAQlB,EAAMQ,OAGlBR,EAAMoC,YAAcpC,EAAMoC,WAAWjB,SACvCb,EAAQY,MAAQlB,EAAMoC,YAGpBpC,EAAMS,WACRA,GAASS,MAAQlB,EAAMS,UAGrBT,EAAMa,oBACRA,GAAkBK,MAAQlB,EAAMa,kBAChCH,GAASQ,MAAQL,GAAkBK,MAAMmB,KAAK,OAE5CrC,EAAMkC,sBACRtB,GAASM,MAAQlB,EAAMkC,oBACvBvB,GAAaO,OAAQ,EACvB,IAII,MAAAoB,GAAKC,EAAa,2iFArExB,SAAsBC,GAChBlC,EAAQY,MAAMC,OAAS,GAGnBb,EAAAY,MAAMuB,OAAOD,EAAO,EAAC"}
@@ -0,0 +1,2 @@
1
+ import e from"./subject-scale.vue.mjs";export{e as default};
2
+ //# sourceMappingURL=subject-scale.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject-scale.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{ElCheckbox as e,ElRadio as l,ElInput as t,ElSelect as a,ElOption as i,ElIcon as s,ElLink as n,ElDialog as r,ElButton as o}from"element-plus/es";import{defineComponent as u,createElementBlock as d,openBlock as m,normalizeClass as c,unref as p,createVNode as v,createSlots as y,withCtx as f,createBlock as x,createCommentVNode as w,createElementVNode as h,createTextVNode as C,toDisplayString as g,Fragment as b,renderList as k,isRef as S,mergeProps as A}from"vue";import{CirclePlus as V,Remove as T}from"@element-plus/icons-vue";import{useNamespace as q}from"@qxs-bns/hooks";import R from"../../../subject-action/src/subject-action.vue.mjs";import j from"../../../subject-layout/src/subject-layout.vue.mjs";import _ from"../../../tiny-mce-editor/src/tiny-mce-editor.vue.mjs";import{setGuid as E}from"@qxs-bns/utils";import{ElMessage as I}from"element-plus";import{useAttrs as U,ref as B,computed as K,watch as L,onMounted as $}from"vue-demi";const N={class:"preview"},z={class:"title"},M={key:0},D={key:1},H={key:0},O=["innerHTML"],Q={class:"preview-answer"},F={class:"order"},G={class:"order"},J={style:{flex:"1"}},P={class:"margin-bottom flex flex-items-center"},W={class:"margin-bottom answer-list"},X={class:"order"},Y={key:0,class:"margin-bottom flex flex-items-center"},Z={style:{flex:"1"}},ee={key:1,class:"flex"},le={style:{flex:"1"}},te={key:2,class:"margin-bottom flex"},ae={style:{flex:"1"}},ie={class:"flex flex-justify-end"};var se=u({name:"QxsSubjectSingle",__name:"subject-single",props:{orderIndex:{type:Number,required:!0},title:{type:String,required:!1},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},type:{type:String,required:!0},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},answerList:{type:null,required:!1},leastAnswerCount:{type:Number,required:!1},analysis:{type:String,required:!1},examExpand:{type:String,required:!1},examRichTextContent:{type:String,required:!1},showAnalysis:{type:Boolean,required:!1},examAnswerRelationType:{type:Number,required:!1},customId:{type:Number,required:!1},examId:{type:Number,required:!1},isKey:{type:Boolean,required:!0},answerCheckType:{type:Number,required:!0}},emits:["move","save","delete","edit","add","setRelation"],setup(u,{emit:se}){const ne=u,re=se,oe=U(),ue=B(0),de=B(!1),me=B(1),ce=B(1),pe=B([{title:"",isCorrect:!1},{title:"",isCorrect:!1},{title:"",isCorrect:!1},{title:"",isCorrect:!1}]),ve=B(),ye=B(""),fe=B(""),xe=B(!1),we=B(""),he=B(0),Ce=B(!1),ge=B(""),be=K((()=>"single"===ne.type?"单选题":"multiple"===ne.type?"多选题":"排序题")),ke=B([]),Se=K((()=>{const e=[];for(let l=pe.value.length;l>1;l--)e.push({label:`至少选择${l}项`,value:l});return e.reverse()}));function Ae(){ne.isSave||pe.value.push({title:"",isCorrect:!1,customAnswerId:E()})}function Ve(){xe.value=!1,we.value=""}function Te(){if(!ye.value)return void I.error("题目标题不能为空!");let e="",l=!1,t=0;if("multiple"===ne.type||"single"===ne.type?pe.value.forEach(((a,i)=>{a.title||(e+=`选项${String.fromCharCode(65+i)}未填写。`),a.isCorrect&&(l=!0,t++)})):"sort"===ne.type&&ke.value.length&&(l=!0),e)return void I.error(e);if(new Set(pe.value.map((e=>e.title))).size===pe.value.length){if("multiple"===ne.type){if(1===t)return void I.error("请至少设置两个支持选项");if(l&&t<ve.value)return void I.error("至少选几项与支持选项数不符")}console.log(me.value,111),2!==me.value&&3!==me.value||l?re("save",{title:ye.value,answers:pe.value.map(((e,l)=>({...e,orderIndex:l+1}))),examExpand:ke.value.map((e=>e.charCodeAt(0)-65+1)).join(","),analysis:fe.value,isSetCorrectAnswer:l,leastAnswerCount:ve.value,examRichTextContent:xe.value?we.value:"",examAnswerRelationType:ce.value,isKey:de.value,answerCheckType:me.value}):I.error("请设置支持选项")}else I.error("选项不能重复")}function qe(){pe.value[ue.value].resultItem=ge.value||"",Ce.value=!1}function Re(){Ce.value=!1,ge.value=""}function je(e){de.value=e}function _e(e){me.value=e}function Ee(e,l){re("add",e,l?ne.examAnswerRelationType:null)}L((()=>ne.isEdit),(()=>{ne.isEdit&&(he.value=(new Date).getTime())}));const Ie=K((()=>e=>{let l=0;return e.forEach((e=>{e.relationAnswers&&(l+=e.relationAnswers.length)})),l})),Ue=q("subject-single");return $((function(){if(ne.title&&(ye.value=ne.title),ne.answerCheckType&&(me.value=ne.answerCheckType),ne.isKey&&(de.value=ne.isKey),ne.examAnswerRelationType&&(ce.value=ne.examAnswerRelationType),ne.answerList&&ne.answerList.length&&(pe.value=ne.answerList),ne.leastAnswerCount&&(ve.value=ne.leastAnswerCount),ne.examExpand&&ne.examExpand){const e=ne.examExpand.split(",");ke.value=e.map((e=>{const l=ne.answerList.find((l=>l.answerId?.toString()===e));return l?String.fromCharCode(65+l.orderIndex-1):e})).filter(Boolean)}ne.analysis&&(fe.value=ne.analysis),ne.examRichTextContent&&(we.value=ne.examRichTextContent,xe.value=!0)})),(u,q)=>{const I=e,U=l,B=t,K=i,L=a,$=s,se=n,he=o,Be=r;return m(),d("div",{class:c(p(Ue).e("single-exam"))},[v(j,{"show-edit":u.isEdit},y({preview:f((()=>[h("div",N,[h("div",null,[h("span",z,[C(g(u.orderIndex+1)+"."+g(p(ye))+" ",1),"single"===u.type?(m(),d("span",M,"(单选题)")):["multiple","sort"].includes(u.type)?(m(),d("span",D," ("+g(p(be))+g(p(ve)?`至少选${p(ve)}项${"sort"===u.type?"并排序":""}`:"")+") ",1)):w("v-if",!0)])]),p(xe)?(m(),d("div",H,[h("div",{innerHTML:p(we)},null,8,O)])):w("v-if",!0),h("div",Q,["sort"===u.type?(m(!0),d(b,{key:0},k(p(pe),((e,l)=>(m(),x(I,{key:l,class:"radio",disabled:!0},{default:f((()=>[h("span",F,g(String.fromCharCode(65+l))+". ",1),C(" "+g(e.title),1)])),_:2},1024)))),128)):(m(!0),d(b,{key:1},k(p(pe),((e,l)=>(m(),x(U,{key:l,class:"radio",value:"disabled",disabled:""},{default:f((()=>[h("span",G,g(String.fromCharCode(65+l))+". ",1),C(" "+g(e.title)+" "+g(e.isCorrect?"(支持选项)":"")+" "+g(1===p(ce)?e.resultItem?"(已设置结果项)":"(未设置结果项)":"")+" "+g(2===p(ce)?e.answerRelations?.length?"(已设置关联)":"(未设置关联)":""),1)])),_:2},1024)))),128))])])])),default:f((()=>[u.showAction?(m(),x(R,{key:0,"is-edit":u.isEdit,"is-set":u.isSet,isKey:p(de),examAnswerRelationType:ne.examAnswerRelationType,answerCheckType:p(me),onMoveUp:q[5]||(q[5]=e=>re("move","up")),onMoveDown:q[6]||(q[6]=e=>re("move","down")),onDelete:q[7]||(q[7]=e=>re("delete")),onSave:Te,onEdit:q[8]||(q[8]=e=>re("edit")),onAdd:Ee,onOnShowRichText:q[9]||(q[9]=e=>xe.value=!0),onSetKey:je,onSetAnswerSetting:_e},null,8,["is-edit","is-set","isKey","examAnswerRelationType","answerCheckType"])):w("v-if",!0)])),_:2},[u.isEdit?{name:"edit",fn:f((()=>[h("div",{class:c(["flex",[{"margin-bottom":p(xe)}]])},[q[12]||(q[12]=h("div",{class:"label flex flex-justify-center"},[h("span",null,"题目:")],-1)),h("div",J,[v(B,{modelValue:p(ye),"onUpdate:modelValue":q[0]||(q[0]=e=>S(ye)?ye.value=e:null),type:"textarea",rows:2,placeholder:`【${p(be)}】请输入问题`,disabled:u.isSave,"show-word-limit":"",maxlength:"200",class:"margin-bottom"},null,8,["modelValue","placeholder","disabled"])])],2),h("div",P,[q[13]||(q[13]=h("div",{class:"label flex flex-justify-center"},[h("span",null,"设置:")],-1)),["multiple","sort"].includes(u.type)?(m(),x(L,{key:0,modelValue:p(ve),"onUpdate:modelValue":q[1]||(q[1]=e=>S(ve)?ve.value=e:null),style:{width:"150px"},placeholder:"至少选择几项",disabled:u.isSave},{default:f((()=>[(m(!0),d(b,null,k(p(Se),(e=>(m(),x(K,{key:e.value,value:e.value,label:e.label},null,8,["value","label"])))),128))])),_:1},8,["modelValue","disabled"])):w("v-if",!0)]),h("div",W,[(m(!0),d(b,null,k(p(pe),((e,l)=>(m(),d("div",{key:l,class:"answer-item flex flex-items-center"},[h("span",X,g(String.fromCharCode(65+l))+".",1),v(B,{modelValue:e.title,"onUpdate:modelValue":l=>e.title=l,class:"input","show-word-limit":"",maxlength:"100",placeholder:`选项${String.fromCharCode(65+l)}`,disabled:u.isSave},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled"]),["single","multiple"].includes(u.type)?(m(),x(I,{key:0,modelValue:e.isCorrect,"onUpdate:modelValue":l=>e.isCorrect=l,class:c([{"is-correct":e.isCorrect}]),disabled:u.isSave,style:{"margin-left":"10px"},onChange:l=>function(e,l){"single"===ne.type?(l&&pe.value.forEach((l=>{l!==e&&(l.isCorrect=!1)})),e.isCorrect=l):"multiple"===ne.type&&(e.isCorrect=l)}(e,l)},{default:f((()=>[...q[14]||(q[14]=[C(" 支持选项 ")])])),_:2},1032,["modelValue","onUpdate:modelValue","class","disabled","onChange"])):w("v-if",!0),v($,{class:"icon"},{default:f((()=>[v(p(V),{class:c([{disabled:u.isSave}]),onClick:Ae},null,8,["class"])])),_:1}),v($,{class:"icon"},{default:f((()=>[v(p(T),{class:c([{disabled:p(pe).length<3||u.isSave}]),onClick:e=>function(e){pe.value.length<3||ne.isSave||pe.value.splice(e,1)}(l)},null,8,["class","onClick"])])),_:2},1024),1===p(ce)?(m(),x(se,{key:1,type:"primary",class:"margin-left-10",onClick:e=>{return t=l,ue.value=t,ge.value=pe.value[t].resultItem||"",void(Ce.value=!0);var t}},{default:f((()=>[h("span",null,g(e.resultItem?"编辑结果":"添加结果"),1)])),_:2},1032,["onClick"])):w("v-if",!0),2===p(ce)?(m(),x(se,{key:2,type:"primary",class:"margin-left-10",onClick:l=>function(e){e.customAnswerId=e.examAnswerId||E(),re("setRelation",ne.customId,e)}(e)},{default:f((()=>[h("span",null,g(e.answerRelations?.length?`关联了${p(Ie)(e.answerRelations)}项`:"关联检查"),1)])),_:2},1032,["onClick"])):w("v-if",!0)])))),128))]),"sort"===u.type?(m(),d("div",Y,[q[15]||(q[15]=h("div",{class:"label flex flex-justify-end"},[h("span",null,"排序答案:")],-1)),h("div",Z,[v(L,{modelValue:p(ke),"onUpdate:modelValue":q[2]||(q[2]=e=>S(ke)?ke.value=e:null),mode:"multiple",style:{width:"360px"},placeholder:"请按顺序选择排序答案","show-arrow":!0},{default:f((()=>[w(' :options="[...Array(answers.length)].map((_, i) => ({ value: String.fromCharCode(65 + i) }))" '),(m(!0),d(b,null,k(p(pe),((e,l)=>(m(),x(K,{key:l,label:e.title,value:String.fromCharCode(65+l)},null,8,["label","value"])))),128))])),_:1},8,["modelValue"])])])):w("v-if",!0),u.showAnalysis?(m(),d("div",ee,[q[16]||(q[16]=h("div",{class:"label flex flex-justify-center"},[h("span",null,"解析:")],-1)),h("div",le,[v(B,{modelValue:p(fe),"onUpdate:modelValue":q[3]||(q[3]=e=>S(fe)?fe.value=e:null),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])])):w("v-if",!0),p(xe)?(m(),d("div",te,[q[18]||(q[18]=h("div",{class:"label flex flex-justify-center"},[h("span",null,"富文本:")],-1)),h("div",ae,[v(_,A({"model-value":p(we),"onUpdate:modelValue":q[4]||(q[4]=e=>S(we)?we.value=e:null)},p(oe),{style:{width:"100%"}}),null,16,["model-value"]),h("div",ie,[v(se,{type:"danger",onClick:Ve},{default:f((()=>q[17]||(q[17]=[C(" 删除富文本 ")]))),_:1})])])])):w("v-if",!0)])),key:"0"}:void 0]),1032,["show-edit"]),v(Be,{modelValue:p(Ce),"onUpdate:modelValue":q[11]||(q[11]=e=>S(Ce)?Ce.value=e:null),title:"添加结果",class:"customize-dialog"},{footer:f((()=>[v(he,{class:"customize-button",type:"primary",plain:"",onClick:Re},{default:f((()=>q[19]||(q[19]=[C(" 取消 ")]))),_:1}),v(he,{class:"customize-button",type:"primary",plain:"",onClick:qe},{default:f((()=>q[20]||(q[20]=[C(" 保存 ")]))),_:1})])),default:f((()=>[(m(),x(_,A({key:p(ue),"model-value":p(ge),"onUpdate:modelValue":q[10]||(q[10]=e=>S(ge)?ge.value=e:null)},p(oe),{style:{width:"100%"}}),null,16,["model-value"]))])),_:1},8,["modelValue"])],2)}}});export{se as default};
2
+ //# sourceMappingURL=subject-single.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject-single.vue.mjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/subject-single.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { CirclePlus, Remove } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\nimport SubjectLayout from '../../../subject-layout/src/subject-layout.vue'\nimport TinyMceEditor from '../../../tiny-mce-editor/src/tiny-mce-editor.vue'\nimport { setGuid } from '@qxs-bns/utils'\nimport { ElMessage } from 'element-plus'\n\ndefineOptions({\n name: 'QxsSubjectSingle',\n})\nconst props = defineProps<{\n orderIndex: number\n title?: string\n isSave: boolean\n showAction?: boolean\n type: 'single' | 'multiple' | 'sort'\n isEdit: boolean\n isSet: boolean\n answerList?: any\n leastAnswerCount?: number\n analysis?: string\n examExpand?: string\n examRichTextContent?: string\n showAnalysis?: boolean\n examAnswerRelationType?: number\n customId?: number\n examId?: number\n isKey: boolean\n answerCheckType: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add', 'setRelation'])\n\nconst attrs = useAttrs()\n\nconst answersIndex = ref(0)\nconst isKey = ref(false)\nconst answerCheckType = ref(1)\nconst examAnswerRelationType = ref(1)\nconst answers = ref<{\n title: string\n isCorrect: boolean\n orderIndex?: number\n resultItem?: string\n customAnswerId?: string\n answerRelations?: {\n relationExamId: number\n relationAnswers: {\n relationAnswerId: number\n relationAnswerIndex: number\n }[]\n }[]\n}[]>([{\n title: '',\n isCorrect: false,\n}, {\n title: '',\n isCorrect: false,\n}, {\n title: '',\n isCorrect: false,\n}, {\n title: '',\n isCorrect: false,\n}])\n\nconst leastAnswerCount = ref()\nconst title = ref('')\nconst analysis = ref('')\nconst showRichText = ref(false)\nconst richText = ref('')\nconst startTime = ref(0)\nconst showRichContent = ref(false)\nconst resultItem = ref<string>('')\nconst titlePlaceholder = computed(() => {\n if (props.type === 'single') {\n return '单选题'\n }\n else if (props.type === 'multiple') {\n return '多选题'\n }\n else {\n return '排序题'\n }\n})\n\nconst orderList = ref<string[]>([])\n\nconst leastAnswerOptions = computed(() => {\n const items = []\n const length = answers.value.length\n for (let count = length; count > 1; count--) {\n items.push({\n label: `至少选择${count}项`,\n value: count,\n })\n }\n return items.reverse()\n})\nfunction addAnswer() {\n if (props.isSave) {\n return\n }\n answers.value.push({\n title: '',\n isCorrect: false,\n customAnswerId: setGuid()\n })\n}\n\nfunction deleteAnswer(index: number) {\n if (answers.value.length < 3 || props.isSave) {\n return\n }\n answers.value.splice(index, 1)\n}\n\nfunction setCorrect(it: any, event: any) {\n if (props.type === 'single') {\n // 单选题:确保只有一个支持选项\n if (event) {\n answers.value.forEach((answer: any) => {\n if (answer !== it) {\n answer.isCorrect = false\n }\n })\n }\n it.isCorrect = event\n } else if (props.type === 'multiple') {\n // 多选题:可以有多个支持选项\n it.isCorrect = event\n }\n}\nfunction setRelation(item: any) {\n item.customAnswerId = item.examAnswerId || setGuid()\n emits('setRelation', props.customId, item)\n}\n\nfunction deleteRichText() {\n showRichText.value = false\n richText.value = ''\n}\n\nfunction save() {\n if (!title.value) {\n ElMessage.error('题目标题不能为空!')\n return\n }\n let msg = ''\n let isSetCorrectAnswer = false\n // let examAnswerRelationType = null\n let correctAnswerCount = 0\n if (props.type === 'multiple' || props.type === 'single') {\n answers.value.forEach((v: any, i: number) => {\n if (!v.title) {\n msg += `选项${String.fromCharCode(65 + i)}未填写。`\n }\n if (v.isCorrect) {\n isSetCorrectAnswer = true\n correctAnswerCount++\n }\n // if (v.resultItem) {\n // examAnswerRelationType = 1\n // }\n // if (v.answerRelations?.length) {\n // examAnswerRelationType = 2\n // }\n })\n }\n else if (props.type === 'sort') {\n // 如果设置了支持选项\n if (orderList.value.length) {\n isSetCorrectAnswer = true\n }\n }\n if (msg) {\n ElMessage.error(msg)\n return\n }\n\n const uniqueAnswer = new Set(answers.value.map((item: any) => item.title))\n\n if (uniqueAnswer.size !== answers.value.length) {\n ElMessage.error('选项不能重复')\n return\n }\n\n if (props.type === 'multiple') {\n if (correctAnswerCount === 1) {\n ElMessage.error('请至少设置两个支持选项')\n return\n }\n\n if (isSetCorrectAnswer && correctAnswerCount < leastAnswerCount.value) {\n ElMessage.error('至少选几项与支持选项数不符')\n return\n }\n }\n console.log(answerCheckType.value, 111)\n \n\n if(answerCheckType.value === 2 || answerCheckType.value === 3) {\n // 必须有设置支持选项\n if (!isSetCorrectAnswer) {\n ElMessage.error('请设置支持选项')\n return\n }\n }\n\n emits('save', {\n title: title.value,\n answers: answers.value.map((item: any, index: number) => {\n return { ...item, orderIndex: index + 1 }\n }),\n examExpand: orderList.value.map((i: string) => i.charCodeAt(0) - 65 + 1).join(','),\n analysis: analysis.value,\n isSetCorrectAnswer,\n leastAnswerCount: leastAnswerCount.value,\n examRichTextContent: showRichText.value ? richText.value : '',\n examAnswerRelationType: examAnswerRelationType.value,\n isKey: isKey.value,\n answerCheckType: answerCheckType.value\n })\n}\n\nfunction init() {\n if (props.title) {\n title.value = props.title\n }\n // const customId = props.id || setGuid()\n\n if (props.answerCheckType) {\n answerCheckType.value = props.answerCheckType\n }\n if (props.isKey) {\n isKey.value = props.isKey\n }\n\n if (props.examAnswerRelationType) {\n examAnswerRelationType.value = props.examAnswerRelationType\n }\n\n if (props.answerList && props.answerList.length) {\n answers.value = props.answerList\n }\n\n if (props.leastAnswerCount) {\n leastAnswerCount.value = props.leastAnswerCount\n }\n\n if (props.examExpand) {\n // 设置支持选项 props.examExpand里是答案id\n if (props.examExpand) {\n const correctAnswerIdList = props.examExpand.split(',')\n\n // 遍历 correctAnswerIdList,直接在 props.answerList 中查找对应的 orderIndex 并转换成字母\n orderList.value = correctAnswerIdList.map((id: string) => {\n const answer = props.answerList.find((item: any) => item.answerId?.toString() === id)\n return answer ? String.fromCharCode(65 + answer.orderIndex - 1) : id\n }).filter(Boolean) // 过滤掉任何可能的空字符串\n }\n }\n\n if (props.analysis) {\n analysis.value = props.analysis\n }\n\n if (props.examRichTextContent) {\n richText.value = props.examRichTextContent\n showRichText.value = true\n }\n}\nfunction onOpenResult(i: number) {\n answersIndex.value = i\n resultItem.value = answers.value[i].resultItem || ''\n showRichContent.value = true\n}\n\nfunction onSaveResult() {\n answers.value[answersIndex.value].resultItem = resultItem.value || ''\n showRichContent.value = false\n}\nfunction onCloseResult() {\n showRichContent.value = false\n resultItem.value = ''\n}\nfunction setKey(key: boolean) {\n isKey.value = key\n}\nfunction setAnswerSetting(type: number) {\n answerCheckType.value = type\n}\n\nfunction add(type: string, canSet: boolean) {\n emits('add', type, canSet? props.examAnswerRelationType: null)\n}\n// 监听isEdit\nwatch(() => props.isEdit, () => {\n if (props.isEdit) {\n startTime.value = new Date().getTime()\n }\n})\n\nconst relationLength = computed(() => {\n return (v: any) => {\n let count = 0\n v.forEach((item: any) => {\n if (item.relationAnswers) {\n count += item.relationAnswers.length\n }\n })\n return count\n }\n})\n\nconst ns = useNamespace('subject-single')\n\nonMounted(init)\n</script>\n\n<template>\n <div :class=\"ns.e('single-exam')\">\n <SubjectLayout\n :show-edit=\"isEdit\"\n >\n <template #preview>\n <div class=\"preview\">\n <div>\n <span class=\"title\">\n {{ orderIndex + 1 }}.{{ title }}\n <span v-if=\"type === 'single'\">(单选题)</span>\n <span v-else-if=\"['multiple', 'sort'].includes(type)\">\n ({{ titlePlaceholder }}{{ leastAnswerCount ? `至少选${leastAnswerCount}项${type === 'sort' ? '并排序' : ''}` : '' }})\n </span>\n </span>\n </div>\n <div v-if=\"showRichText\">\n <div v-html=\"richText\" />\n </div>\n <div class=\"preview-answer\">\n <template v-if=\"type === 'sort'\">\n <el-checkbox\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"radio\"\n :disabled=\"true\"\n >\n <span class=\"order\">\n {{ String.fromCharCode(65 + index) }}.\n </span>\n {{ item.title }}\n </el-checkbox>\n </template>\n <template v-else>\n <el-radio\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"radio\"\n value=\"disabled\"\n disabled\n >\n <span class=\"order\">\n {{ String.fromCharCode(65 + index) }}.\n </span>\n {{ item.title }} \n {{ item.isCorrect ? '(支持选项)' : '' }} \n {{ examAnswerRelationType === 1 ? (item.resultItem? '(已设置结果项)' : '(未设置结果项)' ) : ''}} \n {{ examAnswerRelationType === 2 ? (item.answerRelations?.length? '(已设置关联)' : '(未设置关联)') : '' }}\n </el-radio>\n </template>\n </div>\n </div>\n </template>\n <template v-if=\"isEdit\" #edit>\n <div class=\"flex\" :class=\"[{ 'margin-bottom': showRichText }]\">\n <div class=\"label flex flex-justify-center\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-input\n v-model=\"title\"\n type=\"textarea\"\n :rows=\"2\"\n :placeholder=\"`【${titlePlaceholder}】请输入问题`\"\n :disabled=\"isSave\"\n show-word-limit\n maxlength=\"200\"\n class=\"margin-bottom\"\n />\n </div>\n </div>\n <div class=\"margin-bottom flex flex-items-center\">\n <div class=\"label flex flex-justify-center\">\n <span>设置:</span>\n </div>\n <el-select\n v-if=\"['multiple', 'sort'].includes(type)\"\n v-model=\"leastAnswerCount\"\n style=\"width: 150px;\"\n placeholder=\"至少选择几项\"\n :disabled=\"isSave\"\n >\n <el-option\n v-for=\"item in leastAnswerOptions\"\n :key=\"item.value\"\n :value=\"item.value\"\n :label=\"item.label\"\n >\n </el-option>\n </el-select>\n </div>\n <div class=\"margin-bottom answer-list\">\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"answer-item flex flex-items-center\"\n >\n <span class=\"order\">{{ String.fromCharCode(65 + index) }}.</span>\n <el-input\n v-model=\"item.title\"\n class=\"input\"\n show-word-limit\n maxlength=\"100\"\n :placeholder=\"`选项${String.fromCharCode(65 + index)}`\"\n :disabled=\"isSave\"\n />\n <el-checkbox\n v-if=\"['single', 'multiple'].includes(type)\"\n v-model=\"item.isCorrect\"\n :class=\"[{ 'is-correct': item.isCorrect }]\"\n :disabled=\"isSave\"\n style=\"margin-left: 10px;\"\n @change=\"(event: any) => setCorrect(item, event)\"\n >\n 支持选项 \n </el-checkbox>\n <el-icon class=\"icon\">\n <CirclePlus\n :class=\"[{ disabled: isSave }]\"\n @click=\"addAnswer\"\n />\n </el-icon>\n <el-icon class=\"icon\">\n <Remove\n :class=\"[{ disabled: answers.length < 3 || isSave }]\"\n @click=\"deleteAnswer(index)\"\n />\n </el-icon>\n <el-link\n v-if=\"examAnswerRelationType === 1\"\n type=\"primary\"\n class=\"margin-left-10\"\n @click=\"onOpenResult(index)\"\n >\n <span>{{ item.resultItem ? '编辑结果' : '添加结果' }}</span>\n </el-link>\n <el-link\n v-if=\"examAnswerRelationType === 2\"\n type=\"primary\"\n class=\"margin-left-10\"\n @click=\"setRelation(item)\"\n >\n <span>{{ item.answerRelations?.length ? `关联了${relationLength(item.answerRelations)}项` : '关联检查' }}</span>\n </el-link>\n </div>\n </div>\n <div v-if=\"type === 'sort'\" class=\"margin-bottom flex flex-items-center\">\n <div class=\"label flex flex-justify-end\">\n <span>排序答案:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-select\n v-model=\"orderList\"\n mode=\"multiple\"\n style=\"width: 360px;\"\n placeholder=\"请按顺序选择排序答案\"\n :show-arrow=\"true\"\n >\n <!-- :options=\"[...Array(answers.length)].map((_, i) => ({ value: String.fromCharCode(65 + i) }))\" -->\n <el-option\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n :label=\"item.title\"\n :value=\"String.fromCharCode(65 + index)\"\n />\n </el-select>\n </div>\n </div>\n <div\n v-if=\"showAnalysis\"\n class=\"flex\"\n >\n <div class=\"label flex flex-justify-center\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-input\n v-model=\"analysis\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"请输入题目解析\"\n />\n </div>\n </div>\n <div v-if=\"showRichText\" class=\"margin-bottom flex\">\n <div class=\"label flex flex-justify-center\">\n <span>富文本:</span>\n </div>\n <div style=\"flex: 1;\">\n <TinyMceEditor v-model:model-value=\"richText\" v-bind=\"attrs\" style=\"width: 100%;\" />\n <div class=\"flex flex-justify-end\">\n <el-link\n type=\"danger\"\n @click=\"deleteRichText\"\n >\n 删除富文本\n </el-link>\n </div>\n </div>\n </div>\n </template>\n <SubjectAction\n v-if=\"showAction\"\n :is-edit=\"isEdit\"\n :is-set=\"isSet\"\n :isKey=\"isKey\"\n :examAnswerRelationType=\"props.examAnswerRelationType\"\n :answerCheckType=\"answerCheckType\"\n @move-up=\"emits('move', 'up')\"\n @move-down=\"emits('move', 'down')\"\n @delete=\"emits('delete')\"\n @save=\"save\"\n @edit=\"emits('edit')\"\n @add=\"add\"\n @onShowRichText=\"showRichText = true\"\n @setKey=\"setKey\"\n @setAnswerSetting=\"setAnswerSetting\"\n />\n </SubjectLayout>\n <el-dialog\n v-model=\"showRichContent\"\n title=\"添加结果\"\n class=\"customize-dialog\"\n >\n <TinyMceEditor\n :key=\"answersIndex\"\n v-model:model-value=\"resultItem\" \n v-bind=\"attrs\"\n style=\"width: 100%;\" />\n <template #footer>\n <el-button\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"onCloseResult\"\n >\n 取消\n </el-button>\n <el-button\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"onSaveResult\"\n >\n 保存\n </el-button>\n </template>\n </el-dialog>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","attrs","useAttrs","answersIndex","ref","isKey","answerCheckType","examAnswerRelationType","answers","title","isCorrect","leastAnswerCount","analysis","showRichText","richText","startTime","showRichContent","resultItem","titlePlaceholder","computed","type","orderList","leastAnswerOptions","items","count","value","length","push","label","reverse","addAnswer","isSave","customAnswerId","setGuid","deleteRichText","save","ElMessage","error","msg","isSetCorrectAnswer","correctAnswerCount","forEach","v","i","String","fromCharCode","Set","map","item","size","console","log","index","orderIndex","examExpand","charCodeAt","join","examRichTextContent","onSaveResult","onCloseResult","setKey","key","setAnswerSetting","add","canSet","watch","isEdit","Date","getTime","relationLength","relationAnswers","ns","useNamespace","onMounted","answerList","correctAnswerIdList","split","id","answer","find","answerId","toString","filter","Boolean","it","event","splice","examAnswerId","customId"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import e from"./subject-single.vue.mjs";export{e as default};
2
+ //# sourceMappingURL=subject-single.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject-single.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{ElInput as e,ElInputNumber as l,ElCheckboxGroup as t,ElCheckbox as a,ElTag as i,ElButton as s,ElIcon as n,ElLink as o}from"element-plus/es";import{defineComponent as u,createElementBlock as r,openBlock as d,normalizeClass as v,unref as m,createVNode as c,withCtx as p,createBlock as f,createCommentVNode as x,createElementVNode as y,isRef as w,Fragment as g,renderList as h,createTextVNode as b,toDisplayString as V,mergeProps as k}from"vue";import{Plus as C,CirclePlus as S,Remove as j}from"@element-plus/icons-vue";import{useNamespace as I}from"@qxs-bns/hooks";import{ElMessage as O}from"element-plus";import A from"../../../subject-action/src/subject-action.vue.mjs";import q from"../../../subject-layout/src/subject-layout.vue.mjs";import _ from"../../../tiny-mce-editor/src/tiny-mce-editor.vue.mjs";import{useAttrs as T,ref as E,onMounted as R}from"vue-demi";const U={class:"preview"},B={class:"content"},L={class:"title"},M={key:0},D=["innerHTML"],H={class:"content flex flex-col"},N={key:1,class:"flex",style:{"margin-top":"10px",color:"#a8abb2"}},z={class:"title"},$={class:"flex"},F={style:{flex:"1"},class:"margin-bottom"},G={class:"margin-bottom flex flex-items-center"},J={class:"flex"},K={style:{flex:"1"}},P={class:"margin-bottom answer-list"},Q={class:"label flex flex-justify-end"},W={class:"answer-tags"},X={class:"operation"},Y={key:0,class:"margin-bottom flex"},Z={style:{flex:"1"}},ee={key:1,class:"margin-bottom flex"},le={style:{flex:"1"}},te={class:"flex flex-justify-end"};var ae=u({__name:"subject-text-fill",props:{orderIndex:{type:Number,required:!0},title:{type:String,required:!1},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},answerList:{type:null,required:!1},analysis:{type:String,required:!1},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},examExpand:{type:String,required:!1},examAnswerSettingVO:{type:Object,required:!1},examRichTextContent:{type:String,required:!1},showAnalysis:{type:Boolean,required:!1},examAnswerRelationType:{type:Number,required:!1}},emits:["move","save","delete","edit","add"],setup(u,{emit:ae}){const ie=u,se=ae,ne=T(),oe=E([{title:"",tag:"",showInput:!1}]),ue=E(""),re=E(""),de=E(),ve=E(""),me=E(!1),ce=E(""),pe=[{label:"答案不分顺序",value:"isInOrder"},{label:"忽略大小写",value:"isIgnoreCase"}],fe=E(["isInOrder","isIgnoreCase"]);function xe(){oe.value.push({title:"",tag:"",showInput:!1})}function ye(){me.value=!1,ce.value=""}function we(){if(ue.value){if(de.value||ve.value){if(!de.value)return void O.error("请完善答题设置!");if(!ve.value)return void O.error("请输入问题正确答案!");if(oe.value.length!==de.value)return void O.error("关键词个数设置有误!");const e=[];if(oe.value.forEach(((l,t)=>{l.title||e.push(`关键词${t+1}未设置`)})),e.length>0)return void O.error(e.join(","))}se("save",{title:ue.value,answers:oe.value.filter((e=>e.title)).map((e=>({title:e.title}))),analysis:re.value,isSetCorrectAnswer:!!ve.value,examExpand:ve.value,examAnswerSettingBO:{isIgnoreCase:fe.value?.includes("isIgnoreCase"),isInOrder:fe.value?.includes("isInOrder"),keywordCount:de.value},examRichTextContent:me.value?ce.value:""})}else O.error("题目标题不能为空!")}R((function(){ie.title&&(ue.value=ie.title),ie.answerList&&ie.answerList.length&&(oe.value=ie.answerList),ie.examAnswerSettingVO&&(fe.value=fe.value.filter((e=>"isIgnoreCase"===e&&ie.examAnswerSettingVO?.isIgnoreCase||"isInOrder"===e&&ie.examAnswerSettingVO?.isInOrder))),ie.examAnswerSettingVO?.keywordCount&&(de.value=ie.examAnswerSettingVO?.keywordCount),ie.examExpand&&(ve.value=ie.examExpand),ie.analysis&&(re.value=ie.analysis),ie.examRichTextContent&&(ce.value=ie.examRichTextContent,me.value=!0)}));const ge=I("subject-text-fill");return(u,I)=>{const O=a,T=e,E=l,R=t,ae=i,he=n,be=s,Ve=o;return d(),r("div",{class:v(m(ge).e("text-fill-exam"))},[c(q,{"show-edit":u.isEdit},{preview:p((()=>[y("div",U,[y("div",B,[y("span",L,V(u.orderIndex+1)+"."+V(m(ue))+"(问答题)",1),m(me)?(d(),r("div",M,[y("div",{innerHTML:m(ce)},null,8,D)])):x("v-if",!0),y("div",H,[m(oe).some((e=>e.title))?(d(!0),r(g,{key:0},h(m(oe),((e,l)=>(d(),f(O,{key:l,class:"radio",disabled:!0},{default:p((()=>[b(V(e.title),1)])),_:2},1024)))),128)):x("v-if",!0)]),m(ve)?(d(),r("div",N,[y("span",z,"正确答案:"+V(m(ve)),1)])):x("v-if",!0)])])])),edit:p((()=>[y("div",$,[I[12]||(I[12]=y("div",{class:"label flex flex-justify-end"},[y("span",null,"题目:")],-1)),y("div",F,[c(T,{modelValue:m(ue),"onUpdate:modelValue":I[0]||(I[0]=e=>w(ue)?ue.value=e:null),type:"textarea",rows:2,placeholder:"【问答题】请输入问题",maxlength:200,"show-word-limit":"",disabled:u.isSave},null,8,["modelValue","disabled"])])]),y("div",G,[I[13]||(I[13]=y("div",{class:"label flex flex-justify-end"},[y("span",null,"答题设置:")],-1)),I[14]||(I[14]=y("span",null,"共答对",-1)),c(E,{modelValue:m(de),"onUpdate:modelValue":I[1]||(I[1]=e=>w(de)?de.value=e:null),style:{width:"100px",margin:"0 10px"},min:1},null,8,["modelValue"]),I[15]||(I[15]=y("span",{style:{"margin-right":"10px"}},"个关键词,算是正确的",-1)),(d(),r(g,null,h(pe,(e=>c(R,{key:e.value,modelValue:m(fe),"onUpdate:modelValue":I[2]||(I[2]=e=>w(fe)?fe.value=e:null)},{default:p((()=>[c(O,{label:e.value,class:"margin-left-10"},{default:p((()=>[b(V(e.label),1)])),_:2},1032,["label"])])),_:2},1032,["modelValue"]))),64))]),y("div",J,[I[16]||(I[16]=y("div",{class:"label flex flex-justify-end"},[y("span",null,"答案:")],-1)),y("div",K,[c(T,{modelValue:m(ve),"onUpdate:modelValue":I[3]||(I[3]=e=>w(ve)?ve.value=e:null),type:"textarea",rows:2,placeholder:"请输入正确答案",maxlength:200,"show-word-limit":"",disabled:u.isSave},null,8,["modelValue","disabled"])])]),y("div",P,[I[17]||(I[17]=y("span",{style:{"padding-left":"60px"}},"*如遇包含特殊字符的关键词,需添加多个同义词,例:'CO₂'需添加同义词'CO2'",-1)),(d(!0),r(g,null,h(m(oe),((e,l)=>(d(),r("div",{key:l,class:"answer-item flex flex-items-center"},[y("div",Q,[y("span",null,"关键词"+V(l+1)+":",1)]),y("div",W,[(d(!0),r(g,null,h(e.title.split(","),(l=>(d(),r(g,{key:l},[l?(d(),f(ae,{key:0,closable:"",onClose:t=>function(e,l){if(e){const t=l.title.split(","),a=t.findIndex((l=>l===e));a>-1&&(t.splice(a,1),l.title=t.join(","))}}(l,e)},{default:p((()=>[b(V(l),1)])),_:2},1032,["onClose"])):x("v-if",!0)],64)))),128)),u.isSave?x("v-if",!0):(d(),r(g,{key:0},[e.showInput?(d(),f(T,{key:0,modelValue:e.tag,"onUpdate:modelValue":l=>e.tag=l,style:{width:"80px"},onBlur:()=>function(e){e.showInput=!1,e.tag&&(e.title=e.title?[e.title,e.tag].join(","):e.tag,e.tag="")}(e)},null,8,["modelValue","onUpdate:modelValue","onBlur"])):(d(),f(be,{key:1,size:"small",onClick:l=>e.showInput=!0},{default:p((()=>[c(he,null,{default:p((()=>[c(m(C))])),_:1}),y("span",null,V(e.title?"添加同义词":"添加关键词"),1)])),_:2},1032,["onClick"]))],64))]),y("div",X,[c(he,{class:"icon"},{default:p((()=>[c(m(S),{class:v([{disabled:u.isSave}]),onClick:xe},null,8,["class"])])),_:1}),c(he,{class:"icon"},{default:p((()=>[c(m(j),{class:v([{disabled:m(oe).length<2||u.isSave}]),onClick:e=>function(e){oe.value.length<2||ie.isSave||oe.value.splice(e,1)}(l)},null,8,["class","onClick"])])),_:2},1024)])])))),128))]),u.showAnalysis?(d(),r("div",Y,[I[18]||(I[18]=y("div",{class:"label flex flex-justify-end"},[y("span",null,"解析:")],-1)),y("div",Z,[c(T,{modelValue:m(re),"onUpdate:modelValue":I[4]||(I[4]=e=>w(re)?re.value=e:null),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])])):x("v-if",!0),m(me)?(d(),r("div",ee,[I[20]||(I[20]=y("div",{class:"label flex flex-justify-center"},[y("span",null,"富文本:")],-1)),y("div",le,[c(_,k({"model-value":m(ce),"onUpdate:modelValue":I[5]||(I[5]=e=>w(ce)?ce.value=e:null)},m(ne),{style:{width:"100%"}}),null,16,["model-value"]),y("div",te,[c(Ve,{type:"danger",onClick:ye},{default:p((()=>I[19]||(I[19]=[b(" 删除富文本 ")]))),_:1})])])])):x("v-if",!0)])),default:p((()=>[u.showAction?(d(),f(A,{key:0,"is-edit":u.isEdit,"is-set":u.isSet,showOtherOption:!1,examAnswerRelationType:ie.examAnswerRelationType,onMoveUp:I[6]||(I[6]=e=>se("move","up")),onMoveDown:I[7]||(I[7]=e=>se("move","down")),onDelete:I[8]||(I[8]=e=>se("delete")),onSave:we,onEdit:I[9]||(I[9]=e=>se("edit")),onAdd:I[10]||(I[10]=e=>se("add",e)),onOnShowRichText:I[11]||(I[11]=e=>me.value=!0)},null,8,["is-edit","is-set","examAnswerRelationType"])):x("v-if",!0)])),_:1},8,["show-edit"])],2)}}});export{ae as default};
2
+ //# sourceMappingURL=subject-text-fill.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject-text-fill.vue.mjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/subject-text-fill.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { CirclePlus, Plus, Remove } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { ElMessage } from 'element-plus'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\nimport SubjectLayout from '../../../subject-layout/src/subject-layout.vue'\nimport TinyMceEditor from '../../../tiny-mce-editor/src/tiny-mce-editor.vue'\n\nconst props = defineProps<{\n orderIndex: number\n title?: string\n isSave: boolean\n showAction?: boolean\n answerList?: any\n analysis?: string\n isEdit: boolean\n isSet: boolean\n examExpand?: string\n examAnswerSettingVO?: {\n isInOrder: boolean\n isIgnoreCase: boolean\n keywordCount: number\n }\n examRichTextContent?: string\n showAnalysis?: boolean\n examAnswerRelationType?: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add'])\n\nconst attrs = useAttrs()\n\nconst answers = ref<{\n title: string\n tag: string\n showInput: boolean\n}[]>([{\n title: '',\n tag: '',\n showInput: false,\n}])\n\nconst title = ref('')\nconst analysis = ref('')\nconst keywordCount = ref()\nconst correct = ref('')\nconst showRichText = ref(false)\nconst richText = ref('')\n\nconst checkList = [\n {\n label: '答案不分顺序',\n value: 'isInOrder',\n },\n {\n label: '忽略大小写',\n value: 'isIgnoreCase',\n },\n]\n\nconst isCheckList = ref(['isInOrder', 'isIgnoreCase'])\n\nfunction handleAddTag(item: any) {\n item.showInput = false\n if (item.tag) {\n item.title = item.title ? [item.title, item.tag].join(',') : item.tag\n item.tag = ''\n }\n}\n\nfunction closeTag(tag: string, item: any) {\n if (tag) {\n const tags = item.title.split(',')\n const index = tags.findIndex((i: string) => i === tag)\n if (index > -1) {\n tags.splice(index, 1)\n item.title = tags.join(',')\n }\n }\n}\n\nfunction addAnswer() {\n answers.value.push({\n title: '',\n tag: '',\n showInput: false,\n })\n}\n\nfunction deleteAnswer(index: number) {\n if (answers.value.length < 2 || props.isSave) {\n return\n }\n answers.value.splice(index, 1)\n}\n\nfunction deleteRichText() {\n showRichText.value = false\n richText.value = ''\n}\n\nfunction save() {\n if (!title.value) {\n ElMessage.error('题目标题不能为空!')\n return\n }\n\n if (keywordCount.value || correct.value) {\n if (!keywordCount.value) {\n ElMessage.error('请完善答题设置!')\n return\n }\n\n if (!correct.value) {\n ElMessage.error('请输入问题正确答案!')\n return\n }\n\n if (answers.value.length !== keywordCount.value) {\n ElMessage.error('关键词个数设置有误!')\n return\n }\n const msg: string[] = []\n answers.value.forEach((item, index) => {\n if (!item.title) {\n msg.push(`关键词${index + 1}未设置`)\n }\n })\n if (msg.length > 0) {\n ElMessage.error(msg.join(','))\n return\n }\n }\n\n emits('save', {\n title: title.value,\n answers: answers.value.filter((i: any) => i.title).map((item: any) => {\n return { title: item.title }\n }),\n analysis: analysis.value,\n isSetCorrectAnswer: !!correct.value,\n examExpand: correct.value,\n examAnswerSettingBO: {\n isIgnoreCase: isCheckList.value?.includes('isIgnoreCase'),\n isInOrder: isCheckList.value?.includes('isInOrder'),\n ...{ keywordCount: keywordCount.value },\n },\n examRichTextContent: showRichText.value ? richText.value : '',\n })\n}\n\nfunction init() {\n if (props.title) {\n title.value = props.title\n }\n\n if (props.answerList && props.answerList.length) {\n answers.value = props.answerList\n }\n\n if (props.examAnswerSettingVO) {\n // 仅保留与设置匹配的选项\n isCheckList.value = isCheckList.value.filter(item =>\n (item === 'isIgnoreCase' && props.examAnswerSettingVO?.isIgnoreCase)\n || (item === 'isInOrder' && props.examAnswerSettingVO?.isInOrder),\n )\n }\n\n if (props.examAnswerSettingVO?.keywordCount) {\n keywordCount.value = props.examAnswerSettingVO?.keywordCount\n }\n\n if (props.examExpand) {\n correct.value = props.examExpand\n }\n\n if (props.analysis) {\n analysis.value = props.analysis\n }\n\n if (props.examRichTextContent) {\n richText.value = props.examRichTextContent\n showRichText.value = true\n }\n}\n\nonMounted(init)\nconst ns = useNamespace('subject-text-fill')\n</script>\n\n<template>\n <div :class=\"ns.e('text-fill-exam')\">\n <SubjectLayout :show-edit=\"isEdit\">\n <template #preview>\n <div class=\"preview\">\n <div class=\"content\">\n <span class=\"title\">{{ orderIndex + 1 }}.{{ title }}(问答题)</span>\n <div v-if=\"showRichText\">\n <div v-html=\"richText\" />\n </div>\n <div class=\"content flex flex-col\">\n <template v-if=\"answers.some(item => item.title)\">\n <el-checkbox\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"radio\"\n :disabled=\"true\"\n >\n {{ item.title }}\n </el-checkbox>\n </template>\n </div>\n <div\n v-if=\"correct\"\n class=\"flex\"\n style=\"margin-top: 10px;color: #a8abb2;\"\n >\n <span class=\"title\">正确答案:{{ correct }}</span>\n </div>\n </div>\n </div>\n </template>\n <template #edit>\n <div class=\"flex\">\n <div class=\"label flex flex-justify-end\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\" class=\"margin-bottom\">\n <el-input\n v-model=\"title\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"【问答题】请输入问题\"\n :maxlength=\"200\"\n show-word-limit\n :disabled=\"isSave\"\n />\n </div>\n </div>\n <div class=\"margin-bottom flex flex-items-center\">\n <div class=\"label flex flex-justify-end\">\n <span>答题设置:</span>\n </div>\n <span>共答对</span>\n <el-input-number\n v-model=\"keywordCount\"\n style=\"width: 100px;margin: 0 10px;\"\n :min=\"1\"\n />\n <span style=\"margin-right: 10px;\">个关键词,算是正确的</span>\n <el-checkbox-group\n v-for=\"item in checkList\"\n :key=\"item.value\"\n v-model=\"isCheckList\"\n >\n <el-checkbox :label=\"item.value\" class=\"margin-left-10\">\n {{ item.label }}\n </el-checkbox>\n </el-checkbox-group>\n </div>\n <div class=\"flex\">\n <div class=\"label flex flex-justify-end\">\n <span>答案:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-input\n v-model=\"correct\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"请输入正确答案\"\n :maxlength=\"200\"\n show-word-limit\n :disabled=\"isSave\"\n />\n </div>\n </div>\n <div class=\"margin-bottom answer-list\">\n <span style=\"padding-left: 60px;\">*如遇包含特殊字符的关键词,需添加多个同义词,例:'CO₂'需添加同义词'CO2'</span>\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"answer-item flex flex-items-center\"\n >\n <div class=\"label flex flex-justify-end\">\n <span>关键词{{ index + 1 }}:</span>\n </div>\n\n <div class=\"answer-tags\">\n <template\n v-for=\"i in item.title.split(',')\"\n :key=\"i\"\n >\n <el-tag\n v-if=\"i\"\n closable\n @close=\"closeTag(i, item)\"\n >\n {{ i }}\n </el-tag>\n </template>\n <template v-if=\"!isSave\">\n <el-input\n v-if=\"item.showInput\"\n v-model=\"item.tag\"\n style=\"width: 80px;\"\n @blur=\"() => handleAddTag(item)\"\n />\n <el-button\n v-else\n size=\"small\"\n @click=\"item.showInput = true\"\n >\n <el-icon><Plus /></el-icon>\n <span>{{ item.title ? '添加同义词' : '添加关键词' }}</span>\n </el-button>\n </template>\n </div>\n <div class=\"operation\">\n <el-icon class=\"icon\">\n <CirclePlus\n :class=\"[{ disabled: isSave }]\"\n @click=\"addAnswer\"\n />\n </el-icon>\n <el-icon class=\"icon\">\n <Remove\n :class=\"[{ disabled: answers.length < 2 || isSave }]\"\n @click=\"deleteAnswer(index)\"\n />\n </el-icon>\n </div>\n </div>\n </div>\n <div v-if=\"showAnalysis\" class=\"margin-bottom flex\">\n <div class=\"label flex flex-justify-end\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-input\n v-model=\"analysis\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"请输入题目解析\"\n />\n </div>\n </div>\n <div v-if=\"showRichText\" class=\"margin-bottom flex\">\n <div class=\"label flex flex-justify-center\">\n <span>富文本:</span>\n </div>\n <div style=\"flex: 1;\">\n <TinyMceEditor v-model:model-value=\"richText\" v-bind=\"attrs\" style=\"width: 100%;\" />\n <div class=\"flex flex-justify-end\">\n <el-link\n type=\"danger\"\n @click=\"deleteRichText\"\n >\n 删除富文本\n </el-link>\n </div>\n </div>\n </div>\n </template>\n <SubjectAction\n v-if=\"showAction\"\n :is-edit=\"isEdit\"\n :is-set=\"isSet\"\n :showOtherOption=\"false\"\n :examAnswerRelationType=\"props.examAnswerRelationType\"\n @move-up=\"emits('move', 'up')\"\n @move-down=\"emits('move', 'down')\"\n @delete=\"emits('delete')\"\n @save=\"save\"\n @edit=\"emits('edit')\"\n @add=\"type => emits('add', type)\"\n @onShowRichText=\"showRichText = true\"\n />\n </SubjectLayout>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","attrs","useAttrs","answers","ref","title","tag","showInput","analysis","keywordCount","correct","showRichText","richText","checkList","label","value","isCheckList","addAnswer","push","deleteRichText","save","ElMessage","error","length","msg","forEach","item","index","join","filter","i","map","isSetCorrectAnswer","examExpand","examAnswerSettingBO","isIgnoreCase","includes","isInOrder","examRichTextContent","onMounted","answerList","examAnswerSettingVO","ns","useNamespace","tags","split","findIndex","splice","isSave"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import t from"./subject-text-fill.vue.mjs";export{t as default};
2
+ //# sourceMappingURL=subject-text-fill.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject-text-fill.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{defineComponent as e,createElementBlock as t,openBlock as s,normalizeClass as n,unref as i,createElementVNode as a,Fragment as o,renderList as l,createBlock as r,createCommentVNode as d,mergeProps as c}from"vue";import m from"./components/subject-blank-fill.vue.mjs";import x from"./components/subject-scale.vue.mjs";import u from"./components/subject-single.vue.mjs";import p from"./components/subject-text-fill.vue.mjs";import w from"./components/SubjectRichText.vue.mjs";import v from"./components/SubjectPageEnd.vue.mjs";import{useNamespace as y}from"@qxs-bns/hooks";import{setGuid as h}from"@qxs-bns/utils";import{ref as T,useAttrs as f,watch as A}from"vue-demi";import{ElMessage as R}from"element-plus/es";const E={class:"subject-list-wrapper"};var S=e({name:"QxsSubjectList",__name:"subject-list",props:{subjectList:{type:Array,required:!0},isPreview:{type:Boolean,required:!0}},emits:["setRelation"],setup(e,{expose:S,emit:g}){const C=e,D=T([]),j=g,b=f();function _(){let e=0,t=!1;return D.value.map(((s,n,i)=>{"page_end"===s.answerType&&(e++,t=n===i.length-1)})),t?e:e+1}function k(e,t,s){console.log(t,"index"),t||0===t?D.value.splice(t+1,0,{customId:h(),answerType:e,analysis:"",scaleQuestionList:[],isSave:!1,isEdit:!0,isRealCanDel:!0,hasSet:!1,examAnswerRelationType:s}):D.value.push({customId:h(),answerType:e,analysis:"",scaleQuestionList:[],isSave:!1,isEdit:!0,isRealCanDel:!0,hasSet:!1,examAnswerRelationType:s})}function I(e,t){if("up"===t&&e>0){const[t]=D.value.splice(e,1);D.value.splice(e-1,0,t)}else if("down"===t&&e<D.value.length-1){const[t]=D.value.splice(e,1);D.value.splice(e+1,0,t)}}function M(e,t){for(let s=0;s<D.value.length;s++)e===s&&(D.value[e]={...D.value[e],...t,isEdit:!1,examAnswerRelationType:t.examAnswerRelationType})}function L(e){D.value.splice(e,1),R.success("删除成功")}function P(e,t){j("setRelation",e,t)}S({addSubject:k,currentList:D,uploadExcel:function(e){D.value=D.value.concat(e)},addExam:function(e){const t=[];e.answers?.map((e=>{t.push({...e,title:e.answer,answerId:e.examAnswerId,isCorrect:e.isCorrect})})),D.value.push({...e,customId:h(),answerType:e.richTextContent?"rich_text":e.examTypeEnum,answers:t,isSave:!1,isEdit:!0,isRealCanDel:!0,hasSet:!1})},setAnswerRelation:function(e,t,s){console.log(e,t,s,111),console.log(D.value,222),e.length&&D.value.forEach((n=>{n.customId===t&&n.answer.forEach((t=>{t.customAnswerId===s&&(t.answerRelations=e)}))}))}}),A((()=>C.subjectList),(e=>{e&&(D.value=[...e])}),{immediate:!0});const q=y("subject-list");return(e,y)=>(s(),t("div",{class:n(i(q).e("list-exam"))},[a("div",E,[(s(!0),t(o,null,l(i(D),((n,a)=>(s(),t("div",{key:a+n.examId||n.title},[["single","multiple","sort"].includes(n.answerType)?(s(),r(u,c({key:0,ref_for:!0},i(b),{"order-index":a,title:n.title,type:n.answerType,"exam-id":n.examId,isKey:n.isKey,"is-save":!n.isRealCanDel,customId:n.customId,"is-set":n.hasSet||!1,"answer-list":n.answers,analysis:n.analysis,"least-answer-count":n.leastAnswerCount,"is-edit":n.isEdit||!1,"show-action":!e.isPreview,"exam-expand":n.examExpand,answerCheckType:n.answerCheckType,"exam-rich-text-content":n.examRichTextContent,examAnswerRelationType:n.examAnswerRelationType,onSetRelation:P,onMove:e=>I(a,e),onDelete:e=>L(a),onSave:e=>M(a,e),onEdit:e=>n.isEdit=!0,onAdd:(e,t)=>k(e,a,t)}),null,16,["order-index","title","type","exam-id","isKey","is-save","customId","is-set","answer-list","analysis","least-answer-count","is-edit","show-action","exam-expand","answerCheckType","exam-rich-text-content","examAnswerRelationType","onMove","onDelete","onSave","onEdit","onAdd"])):"scale"===n.answerType?(s(),r(x,c({key:1,ref_for:!0},i(b),{"order-index":a,title:n.title,"is-save":!n.isRealCanDel,"is-set":n.hasSet||!1,"answer-list":n.answers,analysis:n.analysis,"is-edit":n.isEdit||!1,"scale-question-list":n.scaleQuestionList,"show-action":!e.isPreview,"exam-rich-text-content":n.examRichTextContent,examAnswerRelationType:n.examAnswerRelationType,onMove:e=>I(a,e),onDelete:e=>L(a),onSave:e=>M(a,e),onEdit:e=>n.isEdit=!0,onAdd:e=>k(e,a,null)}),null,16,["order-index","title","is-save","is-set","answer-list","analysis","is-edit","scale-question-list","show-action","exam-rich-text-content","examAnswerRelationType","onMove","onDelete","onSave","onEdit","onAdd"])):"blank_fill"===n.answerType?(s(),r(m,c({key:2,ref_for:!0},i(b),{"order-index":a,title:n.title,"is-save":!n.isRealCanDel,"is-set":n.hasSet||!1,"answer-list":n.answers,analysis:n.analysis,"show-action":!e.isPreview,"is-edit":n.isEdit||!1,"exam-answer-setting-v-o":n.examAnswerSettingVO||{},"exam-rich-text-content":n.examRichTextContent,examAnswerRelationType:n.examAnswerRelationType,onMove:e=>I(a,e),onDelete:e=>L(a),onSave:e=>M(a,e),onEdit:e=>n.isEdit=!0,onAdd:e=>k(e,a,null)}),null,16,["order-index","title","is-save","is-set","answer-list","analysis","show-action","is-edit","exam-answer-setting-v-o","exam-rich-text-content","examAnswerRelationType","onMove","onDelete","onSave","onEdit","onAdd"])):"text_fill"===n.answerType?(s(),r(p,c({key:3,ref_for:!0},i(b),{"order-index":a,title:n.title,"is-save":!n.isRealCanDel,"is-set":n.hasSet||!1,"answer-list":n.answers,analysis:n.analysis,"show-action":!e.isPreview,"is-edit":n.isEdit||!1,"exam-expand":n.examExpand,"exam-answer-setting-v-o":n.examAnswerSettingVO||{},examAnswerRelationType:n.examAnswerRelationType,"exam-rich-text-content":n.examRichTextContent,onMove:e=>I(a,e),onDelete:e=>L(a),onSave:e=>M(a,e),onEdit:e=>n.isEdit=!0,onAdd:e=>k(e,a,null)}),null,16,["order-index","title","is-save","is-set","answer-list","analysis","show-action","is-edit","exam-expand","exam-answer-setting-v-o","examAnswerRelationType","exam-rich-text-content","onMove","onDelete","onSave","onEdit","onAdd"])):"rich_text"===n.answerType?(s(),r(w,c({key:4,ref_for:!0},i(b),{"order-index":a,richTextContent:n.richTextContent,"is-set":n.hasSet||!1,"is-save":!n.isRealCanDel,"is-edit":n.isEdit||!1,"show-action":!e.isPreview,onMove:e=>I(a,e),onDelete:e=>L(a),examAnswerRelationType:n.examAnswerRelationType,onSave:e=>M(a,e),onEdit:e=>n.isEdit=!0,onAdd:e=>k(e,a,null)}),null,16,["order-index","richTextContent","is-set","is-save","is-edit","show-action","onMove","onDelete","examAnswerRelationType","onSave","onEdit","onAdd"])):"page_end"===n.answerType?(s(),r(v,{"total-page":_(),key:a,"current-page-index":(e=>{const t=D.value.filter((e=>"page_end"===e.answerType));let s=0;return t.forEach(((t,n)=>{e===t.id&&(s=n+1)})),s})(n.id),item:n,"order-index":a,"is-edit":n.isEdit||!1,"is-set":n.hasSet||!1,"is-save":!n.isRealCanDel,examAnswerRelationType:n.examAnswerRelationType,onMove:e=>I(a,e),onDelete:e=>L(a),onSave:e=>M(a,e),onEdit:e=>n.isEdit=!0,onAdd:e=>k(e,a,null)},null,8,["total-page","current-page-index","item","order-index","is-edit","is-set","is-save","examAnswerRelationType","onMove","onDelete","onSave","onEdit","onAdd"])):d("v-if",!0)])))),128))])],2))}});export{S as default};
2
+ //# sourceMappingURL=subject-list.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject-list.vue.mjs","sources":["../../../../../../packages/components/src/subject-list/src/subject-list.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// import isEqual from 'lodash/isEqual'\nimport SubjectBlankFill from './components/subject-blank-fill.vue'\nimport SubjectScale from './components/subject-scale.vue'\nimport SubjectSingle from './components/subject-single.vue'\nimport SubjectTextFill from './components/subject-text-fill.vue'\nimport SubjectRichText from './components/SubjectRichText.vue'\nimport SubjectPageEnd from './components/SubjectPageEnd.vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { setGuid } from '@qxs-bns/utils'\n\ndefineOptions({\n name: 'QxsSubjectList',\n})\n\nconst props = defineProps<{\n subjectList: any[]\n isPreview: boolean\n}>()\nconst currentList = ref([] as any)\nconst emits = defineEmits(['setRelation'])\n\nconst attrs = useAttrs()\n\ndefineExpose({\n addSubject,\n currentList,\n uploadExcel,\n addExam,\n setAnswerRelation,\n})\n\nfunction totalPageIndex() {\n let totalPageIndex = 0\n let isLastPageIndex = false\n currentList.value.map((v: any, i: number, arr: any) => {\n if (v.answerType === 'page_end') {\n totalPageIndex++\n isLastPageIndex = i === arr.length - 1\n }\n })\n // 假设最后是一个分页器认为是最后一页\n return isLastPageIndex ? totalPageIndex : totalPageIndex + 1\n}\n\nfunction currentPageIndex() {\n return (currentId: any) => {\n const currentPageList = currentList.value.filter(\n (v: any) => v.answerType === 'page_end'\n )\n let currentIndex = 0\n currentPageList.forEach((c: any, i: number) => {\n if (currentId === c.id) {\n currentIndex = i + 1\n }\n })\n return currentIndex\n }\n}\n\nfunction addSubject(type: string, index: number, examAnswerRelationType: number | null) {\n console.log(index, 'index')\n if (index || index === 0) {\n currentList.value.splice(index + 1, 0, {\n customId: setGuid(),\n answerType: type,\n analysis: '',\n scaleQuestionList: [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n examAnswerRelationType: examAnswerRelationType,\n })\n }\n else {\n currentList.value.push({\n customId: setGuid(),\n answerType: type,\n analysis: '',\n scaleQuestionList: [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n examAnswerRelationType: examAnswerRelationType,\n })\n }\n}\n\nfunction addExam(item: any) {\n const answerList: any[] = []\n item.answers?.map((v: any) => {\n answerList.push({\n ...v,\n title: v.answer,\n answerId: v.examAnswerId,\n isCorrect: v.isCorrect,\n })\n })\n currentList.value.push({\n ...item,\n customId: setGuid(),\n answerType: item.richTextContent ? 'rich_text' : item.examTypeEnum,\n answers: answerList,\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n })\n}\nfunction uploadExcel(list: any[]) {\n currentList.value = currentList.value.concat(list)\n}\n\nfunction move(index: number, type: 'up' | 'down') {\n if (type === 'up' && index > 0) {\n const [item] = currentList.value.splice(index, 1)\n currentList.value.splice(index - 1, 0, item)\n }\n else if (type === 'down' && index < currentList.value.length - 1) {\n const [item] = currentList.value.splice(index, 1)\n currentList.value.splice(index + 1, 0, item)\n }\n}\n\nfunction saveSubject(index: number, item: any) {\n for (let idx = 0; idx < currentList.value.length; idx++) {\n if (index === idx) {\n currentList.value[index] =\n {\n ...currentList.value[index],\n ...item,\n isEdit: false,\n examAnswerRelationType: item.examAnswerRelationType,\n }\n }\n }\n}\n\nfunction deleteSubject(index: number) {\n currentList.value.splice(index, 1)\n ElMessage.success('删除成功')\n}\n\nfunction setRelation(customId: number, examAnswers: any) {\n emits('setRelation', customId, examAnswers)\n}\n\nfunction setAnswerRelation(answerRelations: any, customId: string, customAnswerId: string,) {\n // 给examId设置答案关联\n console.log(answerRelations, customId, customAnswerId, 111);\n console.log(currentList.value, 222);\n if (answerRelations.length) {\n currentList.value.forEach((c: any) => {\n if (c.customId === customId) {\n c.answer.forEach((c: any) => {\n if (c.customAnswerId === customAnswerId) {\n c.answerRelations = answerRelations\n }\n })\n }\n })\n }\n}\nwatch(() => props.subjectList, (newList: any) => {\n if (newList) {\n currentList.value = [...newList]\n }\n}, { immediate: true })\nconst ns = useNamespace('subject-list')\n</script>\n\n<template>\n <div :class=\"ns.e('list-exam')\">\n <div class=\"subject-list-wrapper\">\n <div v-for=\"(item, index) in currentList\" :key=\"index + item.examId || item.title\">\n <template v-if=\"['single', 'multiple', 'sort'].includes(item.answerType)\">\n <SubjectSingle \n v-bind=\"attrs\" \n :order-index=\"index\" \n :title=\"item.title\" \n :type=\"item.answerType\"\n :exam-id=\"item.examId\"\n :isKey=\"item.isKey\" \n :is-save=\"!item.isRealCanDel\" \n :customId=\"item.customId\" \n :is-set=\"item.hasSet || false\"\n :answer-list=\"item.answers\" \n :analysis=\"item.analysis\" \n :least-answer-count=\"item.leastAnswerCount\"\n :is-edit=\"item.isEdit || false\" \n :show-action=\"!isPreview\" \n :exam-expand=\"item.examExpand\"\n :answerCheckType=\"item.answerCheckType\" \n :exam-rich-text-content=\"item.examRichTextContent\"\n :examAnswerRelationType=\"item.examAnswerRelationType\"\n @setRelation=\"setRelation\"\n @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\"\n @edit=\"item.isEdit = true\"\n @add=\"(type: string, examAnswerRelationType: number) => addSubject(type, index, examAnswerRelationType)\" />\n </template>\n <SubjectScale v-bind=\"attrs\" v-else-if=\"item.answerType === 'scale'\" :order-index=\"index\" :title=\"item.title\"\n :is-save=\"!item.isRealCanDel\" :is-set=\"item.hasSet || false\" :answer-list=\"item.answers\"\n :analysis=\"item.analysis\" :is-edit=\"item.isEdit || false\" :scale-question-list=\"item.scaleQuestionList\"\n :show-action=\"!isPreview\" :exam-rich-text-content=\"item.examRichTextContent\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectBlankFill v-bind=\"attrs\" v-else-if=\"item.answerType === 'blank_fill'\" :order-index=\"index\"\n :title=\"item.title\" :is-save=\"!item.isRealCanDel\" :is-set=\"item.hasSet || false\" :answer-list=\"item.answers\"\n :analysis=\"item.analysis\" :show-action=\"!isPreview\" :is-edit=\"item.isEdit || false\"\n :exam-answer-setting-v-o=\"item.examAnswerSettingVO || {}\" :exam-rich-text-content=\"item.examRichTextContent\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectTextFill v-bind=\"attrs\" v-else-if=\"item.answerType === 'text_fill'\" :order-index=\"index\"\n :title=\"item.title\" :is-save=\"!item.isRealCanDel\" :is-set=\"item.hasSet || false\" :answer-list=\"item.answers\"\n :analysis=\"item.analysis\" :show-action=\"!isPreview\" :is-edit=\"item.isEdit || false\"\n :exam-expand=\"item.examExpand\" :exam-answer-setting-v-o=\"item.examAnswerSettingVO || {}\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" :exam-rich-text-content=\"item.examRichTextContent\"\n @move=\"(type: 'up' | 'down') => move(index, type)\" @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectRichText v-bind=\"attrs\" v-else-if=\"item.answerType === 'rich_text'\" :order-index=\"index\"\n :richTextContent=\"item.richTextContent\" :is-set=\"item.hasSet || false\" :is-save=\"!item.isRealCanDel\"\n :is-edit=\"item.isEdit || false\" :show-action=\"!isPreview\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" :examAnswerRelationType=\"item.examAnswerRelationType\"\n @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectPageEnd v-else-if=\"item.answerType === 'page_end'\" :total-page=\"totalPageIndex()\" :key=\"index\"\n :current-page-index=\"currentPageIndex()(item.id)\" :item=\"item\" :order-index=\"index\"\n :is-edit=\"item.isEdit || false\" :is-set=\"item.hasSet || false\" :is-save=\"!item.isRealCanDel\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n </div>\n </div>\n </div>\n</template>\n"],"names":["props","__props","currentList","ref","emits","__emit","attrs","useAttrs","totalPageIndex","isLastPageIndex","value","map","v","i","arr","answerType","length","addSubject","type","index","examAnswerRelationType","console","log","splice","customId","setGuid","analysis","scaleQuestionList","isSave","isEdit","isRealCanDel","hasSet","push","move","item","saveSubject","idx","deleteSubject","ElMessage","success","setRelation","examAnswers","__expose","uploadExcel","list","concat","addExam","answerList","answers","title","answer","answerId","examAnswerId","isCorrect","richTextContent","examTypeEnum","setAnswerRelation","answerRelations","customAnswerId","forEach","c","watch","subjectList","newList","immediate","ns","useNamespace","currentId","currentPageList","filter","currentIndex","id"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import t from"./subject-list.vue.mjs";export{t as default};
2
+ //# sourceMappingURL=subject-list.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject-list.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{withInstall as t}from"../withInstall.mjs";import s from"./src/subject-type.vue.mjs";const m=t(s);export{m as QxsSubjectType,m as default};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/src/subject-type/index.ts"],"sourcesContent":["import { withInstall } from '../withInstall'\nimport component from './src/subject-type.vue'\n\nconst QxsSubjectType = withInstall(component)\n \nexport {\n QxsSubjectType\n}\n \nexport default QxsSubjectType"],"names":["QxsSubjectType","withInstall","component"],"mappings":"2FAGA,MAAMA,EAAiBC,EAAYC"}
@@ -0,0 +1,2 @@
1
+ import{defineComponent as e,createElementBlock as l,openBlock as t,normalizeClass as s,unref as i,createElementVNode as a,Fragment as p,renderList as c,toDisplayString as n}from"vue";import{useNamespace as y}from"@qxs-bns/hooks";import{ref as b}from"vue-demi";const u={class:"type-item"},m={class:"base-subject"},o=["onClick"],d={class:"type-item"},v={class:"base-subject flex"},r=["onClick"],f={class:"type-item"},k={class:"base-subject flex"},x=["onClick"];var j=e({name:"QxsSubjectType",__name:"subject-type",emits:["select"],setup(e,{emit:j}){const C=j,_=b([{type:"single",label:"单选题"},{type:"multiple",label:"多选题"},{type:"blank_fill",label:"填空题"},{type:"text_fill",label:"问答题"},{type:"scale",label:"量表题"},{type:"sort",label:"排序题"}]),g=b([{type:"rich_text",label:"富文本"},{type:"page_end",label:"分页器"}]),h=b([{type:"single",label:"单选题"},{type:"multiple",label:"多选题"}]),q=y("subject-type");return(e,y)=>(t(),l("div",{class:s(i(q).e("type-list"))},[a("div",u,[y[0]||(y[0]=a("div",null,"普通题目类型",-1)),a("div",m,[(t(!0),l(p,null,c(i(_),(e=>(t(),l("div",{key:e.type,class:"item flex-center",onClick:l=>C("select",e.type)},[a("span",null,n(e.label),1)],8,o)))),128))])]),a("div",d,[y[1]||(y[1]=a("div",null,"其他",-1)),a("div",v,[(t(!0),l(p,null,c(i(g),(e=>(t(),l("div",{key:e.type,class:"item flex-center",onClick:l=>C("select",e.type)},[a("span",null,n(e.label),1)],8,r)))),128))])]),a("div",f,[y[2]||(y[2]=a("div",null,"互动问答类型(支持设置结果项)",-1)),a("div",k,[(t(!0),l(p,null,c(i(h),(e=>(t(),l("div",{key:e.type,class:"item flex-center",onClick:l=>C("select",e.type,!0)},[a("span",null,n(e.label),1)],8,x)))),128))])])],2))}});export{j as default};
2
+ //# sourceMappingURL=subject-type.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject-type.vue.mjs","sources":["../../../../../../packages/components/src/subject-type/src/subject-type.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\n\ndefineOptions({\n name: 'QxsSubjectType',\n})\nconst emits = defineEmits(['select'])\nconst subjectOptions = ref([\n {\n type: 'single',\n label: '单选题',\n }, {\n type: 'multiple',\n label: '多选题',\n },\n {\n type: 'blank_fill',\n label: '填空题',\n },\n {\n type: 'text_fill',\n label: '问答题',\n },\n {\n type: 'scale',\n label: '量表题',\n },\n {\n type: 'sort',\n label: '排序题',\n },\n])\nconst otherOptions = ref([\n {\n type: 'rich_text',\n label: '富文本',\n },\n {\n type: 'page_end',\n label: '分页器',\n },\n])\nconst interactionOptions = ref([\n {\n type: 'single',\n label: '单选题',\n }, {\n type: 'multiple',\n label: '多选题',\n },\n])\nconst ns = useNamespace('subject-type')\n\n</script>\n\n<template>\n <div :class=\"ns.e('type-list')\">\n <div class=\"type-item\">\n <div>普通题目类型</div>\n <div class=\"base-subject\">\n <div v-for=\"item in subjectOptions\" :key=\"item.type\" class=\"item flex-center\"\n @click=\"emits('select', item.type)\">\n <span>{{ item.label }}</span>\n </div>\n </div>\n </div>\n <div class=\"type-item\">\n <div>其他</div>\n <div class=\"base-subject flex\">\n <div v-for=\"item in otherOptions\" :key=\"item.type\" class=\"item flex-center\" @click=\"emits('select', item.type)\">\n <span>{{ item.label }}</span>\n </div>\n </div>\n </div>\n <div class=\"type-item\">\n <div>互动问答类型(支持设置结果项)</div>\n <div class=\"base-subject flex\">\n <div v-for=\"item in interactionOptions\" :key=\"item.type\" class=\"item flex-center\"\n @click=\"emits('select', item.type, true)\">\n <span>{{ item.label }}</span>\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["emits","__emit","subjectOptions","ref","type","label","otherOptions","interactionOptions","ns","useNamespace"],"mappings":"miBAMA,MAAMA,EAAQC,EACRC,EAAiBC,EAAI,CACzB,CACEC,KAAM,SACNC,MAAO,OACN,CACDD,KAAM,WACNC,MAAO,OAET,CACED,KAAM,aACNC,MAAO,OAET,CACED,KAAM,YACNC,MAAO,OAET,CACED,KAAM,QACNC,MAAO,OAET,CACED,KAAM,OACNC,MAAO,SAGLC,EAAeH,EAAI,CACvB,CACEC,KAAM,YACNC,MAAO,OAET,CACED,KAAM,WACNC,MAAO,SAGLE,EAAqBJ,EAAI,CAC7B,CACEC,KAAM,SACNC,MAAO,OACN,CACDD,KAAM,WACNC,MAAO,SAGLG,EAAKC,EAAa"}
@@ -0,0 +1,2 @@
1
+ import e from"./subject-type.vue.mjs";export{e as default};
2
+ //# sourceMappingURL=subject-type.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject-type.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{withInstall as t}from"../withInstall.mjs";import m from"./src/tiny-mce-editor.vue.mjs";const o=t(m);export{o as QxsTinyMceEditor,o as default};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/src/tiny-mce-editor/index.ts"],"sourcesContent":["import { withInstall } from '../withInstall'\nimport component from './src/tiny-mce-editor.vue'\n\nconst QxsTinyMceEditor = withInstall(component)\n \nexport {\n QxsTinyMceEditor\n}\n \nexport default QxsTinyMceEditor"],"names":["QxsTinyMceEditor","withInstall","component"],"mappings":"8FAGA,MAAMA,EAAmBC,EAAYC"}
@@ -0,0 +1,2 @@
1
+ import{defineComponent as e,createElementBlock as i,openBlock as t,normalizeClass as n,unref as o,createCommentVNode as r,withDirectives as a,createElementVNode as l,isRef as s,vModelText as m}from"vue";import{useNamespace as u}from"@qxs-bns/hooks";import{merge as p}from"lodash-es";import c from"tinymce/tinymce";import"tinymce/themes/silver/theme";import"tinymce/icons/default/icons";import"tinymce/models/dom";import"tinymce/plugins/autolink";import"tinymce/plugins/autoresize";import"tinymce/plugins/fullscreen";import"tinymce/plugins/image";import"tinymce/plugins/insertdatetime";import"tinymce/plugins/link";import"tinymce/plugins/lists";import"tinymce/plugins/media";import"tinymce/plugins/preview";import"tinymce/plugins/table";import"tinymce/plugins/wordcount";import"tinymce/plugins/code";import"tinymce/plugins/searchreplace";import"tinymce/plugins/nonbreaking";import{computed as d,ref as g,onMounted as y}from"vue-demi";const f=["id","name"];var h=e({name:"QxsTinyMceEditor",__name:"tiny-mce-editor",props:{modelValue:{type:String,required:!0,default:""},config:{type:Object,required:!1,default:()=>({})},assetsBasePath:{type:String,required:!1,default:""}},emits:["update:modelValue"],setup(e,{emit:h}){const b=h,k=u("file-upload"),v=d({get:()=>e.modelValue,set(e){b("update:modelValue",e)}}),_=g(`tiny-mce-textarea-${Date.now()}-${Math.random().toString(36).substr(2,9)}`),x=e.assetsBasePath||"/node_modules/@qxs-bns/components/"+(import.meta.env.DEV?"src/tiny-mce-editor/public/":"es/public/tiny-mce-editor/"),w={selector:`textarea#${_.value}`,promotion:!1,license_key:"gpl",elementpath:!1,language:"zh-Hans",language_url:`${x}tinymce/langs/zh-Hans.js`,skin_url:`${x}tinymce/skins/ui/oxide`,content_css:`${x}tinymce/skins/content/default/content.min.css`,min_height:250,max_height:600,plugins:"autolink autoresize fullscreen image insertdatetime link lists media preview table wordcount code searchreplace nonbreaking",toolbar:"undo redo | bold italic underline strikethrough | blocks | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | forecolor backcolor removeformat | link image media table insertdatetime searchreplace | preview code",branding:!1,autoresize:!0,menubar:!1,nonbreaking_force_tab:!0,toolbar_mode:"sliding",insertdatetime_formats:["%Y年%m月%d日","%H点%M分%S秒","%Y-%m-%d","%H:%M:%S"],setup:i=>{i.on("input change undo redo",(()=>{v.value=i.getContent()})),i.on("init",(()=>{i.setContent(v.value)})),e.config?.expandSetup?.(i)}},S=d((()=>{const i=w;return e.config.images_upload_handler||("string"==typeof i.plugins?i.plugins=i.plugins.replace("image",""):Array.isArray(i.plugins)&&(i.plugins=i.plugins.filter((e=>"image"!==e)))),p(i,e.config)}));return y((async()=>{"undefined"!=typeof window&&c.init(S.value)})),(e,u)=>(t(),i("div",{class:n(o(k).e("tiny-mce"))},[r(" 使用动态生成的 id "),a(l("textarea",{id:o(_),"onUpdate:modelValue":u[0]||(u[0]=e=>s(v)?v.value=e:null),name:o(_)},null,8,f),[[m,o(v)]])],2))}});export{h as default};
2
+ //# sourceMappingURL=tiny-mce-editor.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tiny-mce-editor.vue.mjs","sources":["../../../../../../packages/components/src/tiny-mce-editor/src/tiny-mce-editor.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Editor, RawEditorOptions } from \"tinymce/tinymce\";\nimport { useNamespace } from \"@qxs-bns/hooks\";\nimport { merge } from \"lodash-es\";\nimport tinymce from \"tinymce/tinymce\";\n\n// 导入核心功能\nimport \"tinymce/themes/silver/theme\";\nimport \"tinymce/icons/default/icons\";\nimport \"tinymce/models/dom\";\n\nimport \"tinymce/plugins/autolink\";\nimport \"tinymce/plugins/autoresize\";\nimport \"tinymce/plugins/fullscreen\";\nimport \"tinymce/plugins/image\";\nimport \"tinymce/plugins/insertdatetime\";\nimport \"tinymce/plugins/link\";\nimport \"tinymce/plugins/lists\";\nimport \"tinymce/plugins/media\";\nimport \"tinymce/plugins/preview\";\nimport \"tinymce/plugins/table\";\nimport \"tinymce/plugins/wordcount\";\nimport \"tinymce/plugins/code\";\nimport \"tinymce/plugins/searchreplace\";\nimport \"tinymce/plugins/nonbreaking\";\n\ndefineOptions({\n name: \"QxsTinyMceEditor\",\n});\n\nconst {\n modelValue = \"\",\n config = {},\n assetsBasePath = \"\",\n} = defineProps<{\n modelValue: string;\n config?: RawEditorOptions & {\n expandSetup?: RawEditorOptions[\"setup\"];\n };\n assetsBasePath?: string;\n}>();\n\nconst emit = defineEmits([\"update:modelValue\"]);\n\nconst ns = useNamespace(\"file-upload\");\n\nconst colorScheme = \"light\";\n\nconst content = computed({\n get() {\n return modelValue;\n },\n set(val) {\n emit(\"update:modelValue\", val);\n },\n});\n\n// 生成唯一的 id\nconst uniqueId = ref(\n `tiny-mce-textarea-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n);\n\nconst basePath =\n assetsBasePath ||\n `/node_modules/@qxs-bns/components/${\n import.meta.env.DEV\n ? \"src/tiny-mce-editor/public/\"\n : \"es/public/tiny-mce-editor/\"\n }`;\nconst defaultSetting: RawEditorOptions = {\n // 使用动态生成的 id\n selector: `textarea#${uniqueId.value}`,\n promotion: false, // 禁用推广信息\n license_key: \"gpl\",\n elementpath: false,\n language: \"zh-Hans\",\n\n language_url: `${basePath}tinymce/langs/zh-Hans.js`,\n skin_url: `${basePath}${\n colorScheme === \"light\"\n ? \"tinymce/skins/ui/oxide\"\n : \"tinymce/skins/ui/oxide-dark\"\n }`,\n content_css: `${basePath}${\n colorScheme === \"light\"\n ? \"tinymce/skins/content/default/content.min.css\"\n : \"tinymce/skins/content/dark/content.min.css\"\n }`,\n min_height: 250,\n max_height: 600,\n plugins:\n \"autolink autoresize fullscreen image insertdatetime link lists media preview table wordcount code searchreplace nonbreaking\",\n toolbar:\n \"undo redo | bold italic underline strikethrough | blocks | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | forecolor backcolor removeformat | link image media table insertdatetime searchreplace | preview code\",\n branding: false,\n autoresize: true,\n menubar: false,\n nonbreaking_force_tab: true,\n toolbar_mode: \"sliding\",\n insertdatetime_formats: [\n \"%Y年%m月%d日\",\n \"%H点%M分%S秒\",\n \"%Y-%m-%d\",\n \"%H:%M:%S\",\n ],\n // https://www.tiny.cloud/docs/tinymce/6/file-image-upload/#images_upload_handler\n // images_upload_handler: async (blobInfo: any, progress: any) => {\n // // blobInfo, succFun, failFun, progress\n // const files = blobInfo.blob()\n // const formData = new FormData()\n // formData.append('image', files)\n\n // const { res, error } = await useApi({\n // // ...commonUrls.uploadImage,\n // params: {\n // bucketType: classify,\n // },\n // data: formData,\n // onUploadProgress: (e: any) => {\n // progress((e.loaded / e.total) * 100)\n // },\n // })\n // if (res) {\n // const { normal } = res\n // console.log('normal: ', res)\n // return normal\n // }\n // if (error) {\n // console.log(error.message)\n // return Promise.reject(error.message)\n // }\n // },\n setup: (editor: Editor) => {\n // 监听编辑器内容变化\n editor.on(\"input change undo redo\", () => {\n content.value = editor.getContent();\n });\n\n // 编辑器初始化完成后设置内容\n editor.on(\"init\", () => {\n editor.setContent(content.value);\n });\n\n config?.expandSetup?.(editor);\n },\n};\n\nconst initSetting = computed(() => {\n const dealDefaultSetting = defaultSetting;\n if (!config.images_upload_handler) {\n // 删除 image 图片 plugin\n if (typeof dealDefaultSetting.plugins === \"string\") {\n dealDefaultSetting.plugins = dealDefaultSetting.plugins.replace(\n \"image\",\n \"\"\n );\n } else if (Array.isArray(dealDefaultSetting.plugins)) {\n dealDefaultSetting.plugins = dealDefaultSetting.plugins.filter(\n (plugin) => plugin !== \"image\"\n );\n }\n }\n return merge(dealDefaultSetting, config);\n});\n\nonMounted(async () => {\n if (typeof window !== \"undefined\") {\n tinymce.init(initSetting.value);\n }\n});\n</script>\n\n<template>\n <div :class=\"ns.e('tiny-mce')\">\n <!-- 使用动态生成的 id -->\n <textarea :id=\"uniqueId\" v-model=\"content\" :name=\"uniqueId\" />\n </div>\n</template>\n"],"names":["emit","__emit","ns","useNamespace","content","computed","get","__props","modelValue","set","val","uniqueId","ref","Date","now","Math","random","toString","substr","basePath","assetsBasePath","env","DEV","defaultSetting","selector","value","promotion","license_key","elementpath","language","language_url","skin_url","content_css","min_height","max_height","plugins","toolbar","branding","autoresize","menubar","nonbreaking_force_tab","toolbar_mode","insertdatetime_formats","setup","editor","on","getContent","setContent","config","expandSetup","initSetting","dealDefaultSetting","images_upload_handler","replace","Array","isArray","filter","plugin","merge","onMounted","async","window","tinymce","init"],"mappings":"isCA0CA,MAAMA,EAAOC,EAEPC,EAAKC,EAAa,eAIlBC,EAAUC,EAAS,CACvBC,IAAM,IACGC,EAAUC,WAEnB,GAAAC,CAAIC,GACFV,EAAK,oBAAqBU,EAAG,IAK3BC,EAAWC,EACf,qBAAqBC,KAAKC,SAASC,KAAKC,SAASC,SAAS,IAAIC,OAAO,EAAG,MAGpEC,EACJZ,EAAca,gBACd,kDACcC,IAAIC,IACZ,8BACA,8BAEFC,EAAmC,CAEvCC,SAAU,YAAYb,EAASc,QAC/BC,WAAW,EACXC,YAAa,MACbC,aAAa,EACbC,SAAU,UAEVC,aAAc,GAAGX,4BACjBY,SAAU,GAAGZ,0BAKba,YAAa,GAAGb,iDAKhBc,WAAY,IACZC,WAAY,IACZC,QACE,8HACFC,QACE,oPACFC,UAAU,EACVC,YAAY,EACZC,SAAS,EACTC,uBAAuB,EACvBC,aAAc,UACdC,uBAAwB,CACtB,YACA,YACA,WACA,YA6BFC,MAAQC,IAECA,EAAAC,GAAG,0BAA0B,KAC1BzC,EAAAqB,MAAQmB,EAAOE,YAAW,IAI7BF,EAAAC,GAAG,QAAQ,KACTD,EAAAG,WAAW3C,EAAQqB,MAAK,IAG3BlB,EAAAyC,QAAEC,cAAcL,EAAM,GAI1BM,EAAc7C,GAAS,KAC3B,MAAM8C,EAAqB5B,EAcpB,OAbFhB,EAAMyC,OAACI,wBAEgC,iBAA/BD,EAAmBhB,QACTgB,EAAAhB,QAAUgB,EAAmBhB,QAAQkB,QACtD,QACA,IAEOC,MAAMC,QAAQJ,EAAmBhB,WACvBgB,EAAAhB,QAAUgB,EAAmBhB,QAAQqB,QACrDC,GAAsB,UAAXA,MAIXC,EAAMP,EAAoB5C,SAAM,WAGzCoD,GAAUC,UACc,oBAAXC,QACDC,EAAAC,KAAKb,EAAYzB,MAAK"}
@@ -0,0 +1,2 @@
1
+ import e from"./tiny-mce-editor.vue.mjs";export{e as default};
2
+ //# sourceMappingURL=tiny-mce-editor.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tiny-mce-editor.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
1
  function n(n,o){return n.install=o=>{for(const t of[n,...Object.values({})])o.component(t.name,t)},n}export{n as withInstall};
2
- //# sourceMappingURL=withInstall.js.map
2
+ //# sourceMappingURL=withInstall.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withInstall.mjs","sources":["../../../../packages/components/src/withInstall.ts"],"sourcesContent":["import type { App, Plugin } from 'vue'\n\nexport type SFCWithInstall<T> = T & Plugin\n// type SFCwithInstall<T> = T & Plugin\n\nexport function withInstall<T, E extends Record<string, any>>(main: T,\n extra?: E) {\n ; (main as SFCWithInstall<T>).install = (app: App): void => {\n for (const comp of [main, ...Object.values(extra ?? {})]) {\n app.component(comp.name, comp)\n }\n }\n\n if (extra) {\n for (const [key, comp] of Object.entries(extra)) {\n ; (main as any)[key] = comp\n }\n }\n return main as SFCWithInstall<T> & E\n}\n"],"names":["withInstall","main","extra","install","app","comp","Object","values","component","name"],"mappings":"AAKgB,SAAAA,EAA8CC,EAC5DC,GAYO,OAXJD,EAA2BE,QAAWC,IAC5B,IAAA,MAAAC,IAAQ,CAACJ,KAASK,OAAOC,OAAgB,CAAE,IAChDH,EAAAI,UAAUH,EAAKI,KAAMJ,EAC3B,EAQKJ,CACT"}
@@ -1,2 +1,2 @@
1
1
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.default=(e,t)=>{const o=e.__vccOpts||e;for(const[e,r]of t)o[e]=r;return o};
2
- //# sourceMappingURL=_plugin-vue_export-helper.js.map
2
+ //# sourceMappingURL=_plugin-vue_export-helper.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_plugin-vue_export-helper.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/lib/index.cjs ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./src/defaults.cjs"),s=require("./src/data-chart/index.cjs"),r=require("./src/file-upload/index.cjs"),t=require("./src/fixed-action-bar/index.cjs"),o=require("./src/image-upload/index.cjs"),i=require("./src/photo-crop-tool/index.cjs"),c=require("./src/subject-action/index.cjs"),x=require("./src/subject-layout/index.cjs"),u=require("./src/subject-list/index.cjs"),a=require("./src/subject-type/index.cjs"),d=require("./src/tiny-mce-editor/index.cjs");const p=e.default.install,l=e.default.version;exports.default=e.default,exports.QxsDataChart=s.QxsDataChart,exports.QxsFileUpload=r.QxsFileUpload,exports.QxsFixedActionBar=t.QxsFixedActionBar,exports.QxsImageUpload=o.QxsImageUpload,exports.QxsPhotoCropTool=i.QxsPhotoCropTool,exports.QxsSubjectAction=c.QxsSubjectAction,exports.QxsSubjectLayout=x.QxsSubjectLayout,exports.QxsSubjectList=u.QxsSubjectList,exports.QxsSubjectType=a.QxsSubjectType,exports.QxsTinyMceEditor=d.QxsTinyMceEditor,exports.install=p,exports.version=l;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../packages/components/index.ts"],"sourcesContent":["import installer from './src/defaults'\n\nexport * from './src/components'\n\nexport const install = installer.install\nexport const version = installer.version\nexport default installer\n"],"names":["install","installer","version"],"mappings":"uhBAIaA,MAAAA,EAAUC,EAAAA,QAAUD,QACpBE,EAAUD,EAAAA,QAAUC"}
@@ -1,2 +1,2 @@
1
1
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(e,t){void 0===t&&(t={});var d=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===d&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}};
2
- //# sourceMappingURL=style-inject.es.js.map
2
+ //# sourceMappingURL=style-inject.es.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style-inject.es.cjs","sources":["../../../../../../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n"],"names":["css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode"],"mappings":"oFAAA,SAAqBA,EAAKC,QACX,IAARA,IAAiBA,EAAM,CAAE,GAC9B,IAAIC,EAAWD,EAAIC,SAEnB,GAAKF,GAA2B,oBAAbG,SAAnB,CAEA,IAAIC,EAAOD,SAASC,MAAQD,SAASE,qBAAqB,QAAQ,GAC9DC,EAAQH,SAASI,cAAc,SACnCD,EAAME,KAAO,WAEI,QAAbN,GACEE,EAAKK,WACPL,EAAKM,aAAaJ,EAAOF,EAAKK,YAKhCL,EAAKO,YAAYL,GAGfA,EAAMM,WACRN,EAAMM,WAAWC,QAAUb,EAE3BM,EAAMK,YAAYR,SAASW,eAAed,GAnBW,CAqBzD","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ "use strict";exports.version="0.0.29";
2
+ //# sourceMappingURL=package.json.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.json.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
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
+ //# sourceMappingURL=components.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
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
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../../../packages/components/src/data-chart/index.ts"],"sourcesContent":["import { withInstall } from '../withInstall'\nimport component from './src/data-chart.vue'\n\nconst QxsDataChart = withInstall(component)\n\nexport {\n QxsDataChart,\n}\nexport default QxsDataChart\n"],"names":["QxsDataChart","withInstall","component","default"],"mappings":"8IAGA,MAAMA,EAAeC,cAAYC,EAASC"}
@@ -0,0 +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;
2
+ //# sourceMappingURL=area.vue.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"area.vue.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +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"),n=require("../utils/useCharts.cjs"),c=require("vue-demi");function o(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=o(t);const i={class:"data-chart-area-wrap"};var l=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 o=c.inject(r.InjectionChartMerge,(e=>e),!0);let l="中国";const u=c.ref({features:[],type:"FeatureCollection"}),m=c.ref(null);let d=null;const p=c.computed((()=>{const{xGroupByDesc:e,groupByDesc:a,colDesc:r,modelName:n,data:c}=t.chartData,s=[];r.forEach((e=>{c.forEach((t=>{s.push(Number(t[e]))}))}));const i={title:{text:n},tooltip:{formatter(e){let t=`${e.name}<br/>`;return i.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===("中国"===l?"医院所在省":"医院所在市"))),o={};c.map((a=>{const r=a[("中国"===l?e?.colDesc||"":n?.colDesc)||""],c=u.value.features?.find((({properties:{name:e}})=>e?.includes(r)));return{name:c?.properties?.name||"",value:Number(a[t])}})).forEach((e=>{o[e.name]?o[e.name]=o[e.name]+e.value:o[e.name]=e.value}));for(const e in o)r.push({name:e,value:o[e]});return{name:t,type:"map",map:l,data:r}}))};return o(i,t.chartOptions)}));async function f(e="中国"){if(d&&!d.isDisposed()){d.showLoading();try{const t=await a.getGeoJsonData({adcode:e});if(!t)return void d.hideLoading();u.value=t,l=e;const r=s.registerMap(e,t);return d.hideLoading(),r}catch(e){console.log(e),d.hideLoading()}}}return n.useCharts({chartDOM:m,chartOptions:p,chartData:c.computed((()=>t.chartData)),initAfter:async function(){await f(),d&&!d.isDisposed()&&(d.getZr()?.on("click",(e=>{e.target||"中国"===l||f("中国")})),d.on("click",(e=>{const a=t.chartData.groupByDesc?.some((e=>"医院所在市"===e.colDesc));"中国"===l&&a&&f(e.name).then((()=>{d&&!d.isDisposed()&&d.setOption(p.value)}))})))},callback:e=>{d=e}}),(t,a)=>(e.openBlock(),e.createElementBlock("div",i,[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:m,class:"data-chart-area"},null,512)]))}});exports.default=l;
2
+ //# sourceMappingURL=area.vue2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"area.vue2.cjs","sources":["../../../../../../../packages/components/src/data-chart/src/components/area.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ECharts } from 'echarts/types/dist/echarts'\nimport type { EChartsOption, GeoJson, IFormatPublicData } from '../types'\nimport * as echarts from 'echarts'\nimport { getGeoJsonData } from '../utils/config'\nimport { InjectionChartMerge } from '../utils/injectionKeys'\nimport { useCharts } from '../utils/useCharts'\n\ndefineOptions({\n name: 'DataChartArea',\n})\n\nconst {\n chartOptions,\n chartData = {\n colDesc: [],\n xGroupByDesc: {\n colDesc: '',\n groupByDesc: '',\n groupByValues: [],\n xAxis: false,\n },\n groupByDesc: [],\n data: [],\n modelName: '',\n },\n} = defineProps<{\n chartOptions: EChartsOption\n chartData?: IFormatPublicData\n}>()\n\nconst merge = inject(InjectionChartMerge, (v: any) => v, true)\n\nlet adcode = '中国'\nconst currentGeoJson = ref<GeoJson>({\n features: [],\n type: 'FeatureCollection',\n})\nconst dataChartArea = ref(null)\nlet myChart: ECharts | null = null\n\nconst areaChartOptions = computed<EChartsOption>(() => {\n const { xGroupByDesc, groupByDesc, colDesc, modelName, data } = chartData\n const allNums: number[] = []\n colDesc.forEach((item) => {\n data.forEach((dataItem) => {\n allNums.push(Number(dataItem[item]))\n })\n })\n const config = {\n title: {\n text: modelName,\n },\n tooltip: {\n formatter(params: { name: string }) {\n let res = `${params.name}<br/>`\n config.series?.forEach((colDescItem) => {\n colDescItem.data?.forEach((item) => {\n if (item.name === params.name) {\n res += `${colDescItem.name}:${item.value}</br>`\n }\n })\n if (!res.includes(colDescItem.name)) {\n res += `${colDescItem.name}:-</br>`\n }\n })\n return res\n },\n },\n visualMap: {\n min: Math.min(...allNums, 0),\n max: Math.max(...allNums, 0),\n },\n series: colDesc?.map((colDescItem) => {\n const seriesData = []\n const row = groupByDesc.find(item => item.colDesc === (adcode === '中国' ? '医院所在省' : '医院所在市'))\n // 先用省份数据,如果没有再用市级数据\n\n const arr: {\n [key: string]: number\n } = {}\n data.map((item) => {\n const sourceName = item[(adcode === '中国' ? (xGroupByDesc?.colDesc || '') : row?.colDesc) || '']\n const find = currentGeoJson.value.features?.find(({ properties: { name } }: { properties: { name?: string } }) => name?.includes(sourceName as string))\n return {\n name: find?.properties?.name || '',\n value: Number(item[colDescItem]),\n }\n }).forEach((item) => {\n if (!arr[item.name]) {\n arr[item.name] = item.value\n }\n else {\n arr[item.name] = arr[item.name] + item.value\n }\n })\n for (const key in arr) {\n seriesData.push({\n name: key,\n value: arr[key],\n })\n }\n return {\n name: colDescItem,\n type: 'map',\n map: adcode,\n data: seriesData,\n }\n }),\n }\n\n return merge(config, chartOptions)\n})\n// const propsXgroupByInfos = computed(() => {\n// const { groupByDesc } = chartData\n// const [row] = groupByDesc.filter(item => item.colDesc === '医院所在省')\n// if (row) {\n// return row\n// }\n// else {\n// const [res] = groupByDesc.filter(item => item.colDesc === '医院所在市')\n// return res\n// }\n// })\n// const selectList = computed(() => {\n// let arr = [{ label: '中国', value: '中国' }]\n// if (chartData.groupByDesc.length === 1 && propsXgroupByInfos.value?.colDesc === '医院所在市') {\n// const {\n// data,\n// xGroupByDesc: { colDesc },\n// } = chartData\n// arr = data.map((item) => {\n// return {\n// label: item[colDesc],\n// value: item[colDesc],\n// }\n// })\n// }\n// return arr\n// })\n\n// const isShowSelect = computed(() => {\n// const { groupByDesc } = chartData.value\n// return groupByDesc[0] && groupByDesc[0].colDesc !== '医院所在省' && groupByDesc.length === 1 && selectList.value.length\n// })\n\nasync function initAfter() {\n await registerMap()\n // 添加判断,确保图表实例存在且未被销毁\n if (myChart && !myChart.isDisposed()) {\n // charts 监听事件\n myChart.getZr()?.on('click', (params: { target: HTMLElement }) => {\n if (!params.target && adcode !== '中国') {\n registerMap('中国')\n }\n })\n myChart.on('click', (params: { name: string }) => {\n const flag = chartData.groupByDesc?.some(item => item.colDesc === '医院所在市')\n\n if (adcode === '中国' && flag) {\n registerMap(params.name).then(() => {\n if (myChart && !myChart.isDisposed()) {\n myChart.setOption(areaChartOptions.value)\n }\n })\n }\n })\n }\n}\n// function selectChina() {\n// registerMap(adcode)\n// }\nasync function registerMap(keyword = '中国') {\n if (!myChart || myChart.isDisposed()) {\n return\n }\n\n myChart.showLoading()\n try {\n const geoJson = await getGeoJsonData({ adcode: keyword })\n if (!geoJson) {\n myChart.hideLoading() // 添加加载状态的清除\n return\n }\n currentGeoJson.value = geoJson\n adcode = keyword\n\n const result = echarts.registerMap(keyword, geoJson as any)\n myChart.hideLoading() // 添加加载状态的清除\n return result\n }\n catch (error) {\n console.log(error)\n myChart.hideLoading() // 添加加载状态的清除\n }\n}\nuseCharts({\n chartDOM: dataChartArea,\n chartOptions: areaChartOptions,\n chartData: computed(() => chartData),\n initAfter,\n callback: (chart) => {\n myChart = chart\n },\n})\n</script>\n\n<template>\n <div class=\"data-chart-area-wrap\">\n <!-- <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> -->\n <div ref=\"dataChartArea\" class=\"data-chart-area\" />\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n.data-chart-area-wrap {\n position: relative;\n\n .city-select {\n position: absolute;\n top: 10px;\n right: 100px;\n z-index: 1;\n width: 120px;\n }\n\n .data-chart-area {\n height: 100%;\n }\n}\n</style>\n"],"names":["merge","inject","InjectionChartMerge","v","adcode","currentGeoJson","ref","features","type","dataChartArea","myChart","areaChartOptions","computed","xGroupByDesc","groupByDesc","colDesc","modelName","data","__props","chartData","allNums","forEach","item","dataItem","push","Number","config","title","text","tooltip","formatter","params","res","name","series","colDescItem","value","includes","visualMap","min","Math","max","map","seriesData","row","find","arr","sourceName","properties","key","chartOptions","async","registerMap","keyword","isDisposed","showLoading","geoJson","getGeoJsonData","hideLoading","result","echarts","error","console","log","useCharts","chartDOM","initAfter","getZr","on","target","flag","some","then","setOption","callback","chart"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e="/* unplugin-vue-components disabled */\n.data-chart-area-wrap[data-v-51660d7b] {\n position: relative;\n}\n.data-chart-area-wrap .city-select[data-v-51660d7b] {\n position: absolute;\n top: 10px;\n right: 100px;\n z-index: 1;\n width: 120px;\n}\n.data-chart-area-wrap .data-chart-area[data-v-51660d7b] {\n height: 100%;\n}";require("../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js").default(e),exports.default=e;
2
- //# sourceMappingURL=area.vue3.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e="/* unplugin-vue-components disabled */\n.data-chart-area-wrap[data-v-51660d7b] {\n position: relative;\n}\n.data-chart-area-wrap .city-select[data-v-51660d7b] {\n position: absolute;\n top: 10px;\n right: 100px;\n z-index: 1;\n width: 120px;\n}\n.data-chart-area-wrap .data-chart-area[data-v-51660d7b] {\n height: 100%;\n}";require("../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.cjs").default(e),exports.default=e;
2
+ //# sourceMappingURL=area.vue3.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"area.vue3.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
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=require("vue-demi"),c=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(c){const o=r.inject(t.InjectionChartMerge,(e=>e),!0),l=r.ref(null),i=r.computed((()=>{const{colDesc:e,xGroupByDesc:t,groupByDesc:s,data:r=[],modelName:l}=c.chartData,i=Array.from(new Set(r.map((e=>e[t.colDesc||""]))))||[],u=s.find((e=>!e.xAxis))||{groupByValues:[],colDesc:""};u.groupByValues=a.uniq(r.map((e=>u.colDesc?String(e[u.colDesc]):""))),t&&t.groupByValues&&(t.groupByValues=a.uniq(r.map((e=>t.colDesc?String(e[t.colDesc]):""))));const n={title:{text:l},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:r.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 c=null;return r.forEach((r=>{u.colDesc&&r[u.colDesc]===a&&t.colDesc&&r[t.colDesc]===e&&s.stack&&(c=r[s.stack]??null)})),c||""})).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(c.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 o(n,c.chartOptions)}));return s.useCharts({chartDOM:l,chartOptions:i,chartData:r.computed((()=>c.chartData))}),(a,t)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dataChartBar",ref:l,class:"data-chart-bar"},null,512))}});exports.default=c;
2
+ //# sourceMappingURL=bar.vue.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bar.vue.cjs","sources":["../../../../../../../packages/components/src/data-chart/src/components/bar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { LegendComponentOption, XAXisComponentOption, YAXisComponentOption } from 'echarts'\nimport type {\n EChartData,\n EChartsOption,\n IFormatPublicData,\n SeriesOption,\n} from '../types'\nimport { uniq } from 'lodash-es'\nimport { InjectionChartMerge } from '../utils/injectionKeys'\nimport { useCharts } from '../utils/useCharts'\n\n// 定义组件名称\ndefineOptions({\n name: 'DataChartBar',\n})\n\n// 定义组件属性\nconst {\n chartOptions,\n chartData = {\n colDesc: [],\n xGroupByDesc: {\n colDesc: '',\n groupByDesc: '',\n groupByValues: [],\n xAxis: false,\n },\n groupByDesc: [],\n data: [],\n modelName: '',\n },\n subShowType = 'bar-simple',\n} = defineProps<{\n chartData: IFormatPublicData\n subShowType: string\n chartOptions: EChartsOption\n}>()\n\n// 注入合并函数,并明确类型\nconst merge = inject(InjectionChartMerge, (v: any) => v, true) as (config: EChartsOption, chartOptions: EChartsOption) => EChartsOption\nconst dataChartBar = ref<HTMLElement | null>(null)\n\n// 计算图表选项\nconst barChartOptions = computed<EChartsOption>(() => {\n const { colDesc, xGroupByDesc, groupByDesc, data = [], modelName } = chartData\n\n const axisData = Array.from(new Set(data.map(item => item[xGroupByDesc.colDesc || '']))) || []\n const yGroupByDesc: EChartData['desc']['groupByDesc'][0] = groupByDesc.find(item => !item.xAxis) || {\n groupByDesc: null,\n groupByValues: [],\n colDesc: '',\n xAxis: false,\n }\n\n yGroupByDesc.groupByValues = uniq(data.map(item => yGroupByDesc.colDesc ? String(item[yGroupByDesc.colDesc]) : ''))\n if (xGroupByDesc && xGroupByDesc.groupByValues) {\n xGroupByDesc.groupByValues = uniq(data.map(item => xGroupByDesc.colDesc ? String(item[xGroupByDesc.colDesc]) : ''))\n }\n\n const config: EChartsOption = {\n title: {\n text: modelName,\n },\n xAxis: {\n name: '',\n type: 'category',\n axisLabel: {\n interval: 0, // 强制显示所有标签\n formatter(value: string) {\n const screenshotLength = 5\n return value.length > screenshotLength ? `${value.substring(0, screenshotLength)}...` : value // 截取前5个字符并添加省略号\n },\n },\n data: axisData,\n },\n yAxis: {\n type: 'value',\n },\n legend: {\n data: [],\n },\n dataZoom: [{\n type: 'inside',\n disabled: axisData.length < 15,\n }],\n }\n\n // 堆叠图\n if (groupByDesc.length === 1) {\n config.series = colDesc.map((yItem) => {\n return {\n name: yItem,\n data: data.map(item => item[yItem]),\n type: 'bar',\n emphasis: {\n focus: 'series',\n },\n label: {\n show: true,\n position: 'inside',\n },\n }\n });\n (config.legend as LegendComponentOption).data = colDesc\n }\n else if (groupByDesc.length === 2) {\n const arr = colDesc.map((colDescItem) => {\n return yGroupByDesc.groupByValues?.map((yGroupByDescItem) => {\n const obj: SeriesOption = {\n name: `${yGroupByDescItem || '/'}-${colDescItem}`,\n type: 'bar',\n stack: colDescItem,\n emphasis: {\n focus: 'series',\n },\n data: [],\n label: {\n show: true,\n position: 'inside',\n },\n }\n obj.data = (xGroupByDesc.groupByValues || []).map((xGroupByDescItem) => {\n let targetVal: number | string | null = null\n data.forEach((item) => {\n if (yGroupByDesc.colDesc && item[yGroupByDesc.colDesc] === yGroupByDescItem && xGroupByDesc.colDesc && item[xGroupByDesc.colDesc] === xGroupByDescItem) {\n if (obj.stack) {\n targetVal = item[obj.stack] ?? null\n }\n }\n })\n return targetVal || ''\n }).filter(v => v !== '')\n return obj\n }) || []\n }).flat()\n\n config.series = arr\n delete config.legend\n }\n\n // 1. 定义轴类型\n type CategoryAxisOption = XAXisComponentOption & {\n type: 'category'\n data: (string | number)[]\n }\n\n // 2. 创建配置轴的辅助函数\n function configureAxis(\n axis: XAXisComponentOption | XAXisComponentOption[] | YAXisComponentOption | YAXisComponentOption[] | undefined,\n type: 'category' | 'value',\n data?: (string | number)[],\n name?: string,\n ) {\n if (Array.isArray(axis)) {\n axis.forEach((item) => {\n if (item) {\n item.type = type\n if (type === 'category') {\n (item as CategoryAxisOption).data = data || []\n item.name = name || ''\n }\n }\n })\n }\n else if (axis) {\n axis.type = type\n if (type === 'category') {\n (axis as CategoryAxisOption).data = data || []\n axis.name = name || ''\n }\n }\n }\n\n // 3. 使用配置函数\n switch (subShowType) {\n case 'bar-simple':\n case 'default':\n configureAxis(config.xAxis, 'category', axisData, xGroupByDesc.colDesc || '')\n configureAxis(config.yAxis, 'value')\n break\n\n case 'bar-y-category':\n configureAxis(config.xAxis, 'value')\n configureAxis(config.yAxis, 'category', axisData, xGroupByDesc.colDesc || '')\n break\n }\n\n return merge(config, chartOptions)\n})\n\nuseCharts({ chartDOM: dataChartBar, chartOptions: barChartOptions, chartData: computed(() => chartData) })\n</script>\n\n<template>\n <div ref=\"dataChartBar\" class=\"data-chart-bar\" />\n</template>\n"],"names":["merge","inject","InjectionChartMerge","v","dataChartBar","ref","barChartOptions","computed","colDesc","xGroupByDesc","groupByDesc","data","modelName","__props","chartData","axisData","Array","from","Set","map","item","yGroupByDesc","find","xAxis","groupByValues","uniq","String","config","title","text","name","type","axisLabel","interval","formatter","value","length","substring","yAxis","legend","dataZoom","disabled","series","yItem","emphasis","focus","label","show","position","arr","colDescItem","yGroupByDescItem","obj","stack","xGroupByDescItem","targetVal","forEach","filter","flat","configureAxis","axis","isArray","subShowType","chartOptions","useCharts","chartDOM"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./bar.vue.cjs");exports.default=e.default;
2
+ //# sourceMappingURL=bar.vue2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bar.vue2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +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;
2
+ //# sourceMappingURL=card.vue.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.vue.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}