@qxs-bns/components 0.0.90 → 0.0.92

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 (908) hide show
  1. package/es/base/define.mjs +2 -0
  2. package/es/base/define.mjs.map +1 -0
  3. package/es/base/uid.mjs +2 -0
  4. package/es/base/uid.mjs.map +1 -0
  5. package/es/data-chart.mjs +143 -0
  6. package/es/data-chart.mjs.map +1 -0
  7. package/es/editor/blocksuite-editor.mjs +1126 -0
  8. package/es/editor/blocksuite-editor.mjs.map +1 -0
  9. package/es/editor/content-format.mjs +9 -0
  10. package/es/editor/content-format.mjs.map +1 -0
  11. package/es/editor/index.mjs +2 -0
  12. package/es/editor/index.mjs.map +1 -0
  13. package/es/editor/toolbar.mjs +2 -0
  14. package/es/editor/toolbar.mjs.map +1 -0
  15. package/es/entry-data-chart.mjs +2 -0
  16. package/es/entry-data-chart.mjs.map +1 -0
  17. package/es/entry-editor.mjs +2 -0
  18. package/es/entry-editor.mjs.map +1 -0
  19. package/es/entry-file-upload.mjs +2 -0
  20. package/es/entry-file-upload.mjs.map +1 -0
  21. package/es/entry-fixed-action-bar.mjs +2 -0
  22. package/es/entry-fixed-action-bar.mjs.map +1 -0
  23. package/es/entry-icon.mjs +2 -0
  24. package/es/entry-icon.mjs.map +1 -0
  25. package/es/entry-image-upload.mjs +2 -0
  26. package/es/entry-image-upload.mjs.map +1 -0
  27. package/es/entry-photo-crop-tool.mjs +2 -0
  28. package/es/entry-photo-crop-tool.mjs.map +1 -0
  29. package/es/entry-subject.mjs +2 -0
  30. package/es/entry-subject.mjs.map +1 -0
  31. package/es/file-upload.mjs +164 -0
  32. package/es/file-upload.mjs.map +1 -0
  33. package/es/fixed-action-bar.mjs +39 -0
  34. package/es/fixed-action-bar.mjs.map +1 -0
  35. package/es/icon.mjs +20 -0
  36. package/es/icon.mjs.map +1 -0
  37. package/es/image-upload.mjs +333 -0
  38. package/es/image-upload.mjs.map +1 -0
  39. package/es/index.mjs +1 -1
  40. package/es/index.mjs.map +1 -1
  41. package/es/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.mjs +60 -0
  42. package/es/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.mjs.map +1 -0
  43. package/es/node_modules/.pnpm/turndown-plugin-gfm@1.0.2/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.mjs +17 -0
  44. package/es/node_modules/.pnpm/turndown-plugin-gfm@1.0.2/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.mjs.map +1 -0
  45. package/es/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.browser.es.mjs +62 -0
  46. package/es/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.browser.es.mjs.map +1 -0
  47. package/es/photo-crop-tool.mjs +147 -0
  48. package/es/photo-crop-tool.mjs.map +1 -0
  49. package/es/subject/action.mjs +171 -0
  50. package/es/subject/action.mjs.map +1 -0
  51. package/es/subject/blank-fill.mjs +385 -0
  52. package/es/subject/blank-fill.mjs.map +1 -0
  53. package/es/subject/draft.mjs +2 -0
  54. package/es/subject/draft.mjs.map +1 -0
  55. package/es/subject/layout.mjs +21 -0
  56. package/es/subject/layout.mjs.map +1 -0
  57. package/es/subject/page-end.mjs +28 -0
  58. package/es/subject/page-end.mjs.map +1 -0
  59. package/es/subject/pagination.mjs +2 -0
  60. package/es/subject/pagination.mjs.map +1 -0
  61. package/es/subject/runtime.mjs +2 -0
  62. package/es/subject/runtime.mjs.map +1 -0
  63. package/es/subject/scale.mjs +270 -0
  64. package/es/subject/scale.mjs.map +1 -0
  65. package/es/subject/shared-methods.mjs +2 -0
  66. package/es/subject/shared-methods.mjs.map +1 -0
  67. package/es/subject/shared-styles.mjs +113 -0
  68. package/es/subject/shared-styles.mjs.map +1 -0
  69. package/es/subject/single-interactions.mjs +2 -0
  70. package/es/subject/single-interactions.mjs.map +1 -0
  71. package/es/subject/single-model.mjs +2 -0
  72. package/es/subject/single-model.mjs.map +1 -0
  73. package/es/subject/single-state.mjs +2 -0
  74. package/es/subject/single-state.mjs.map +1 -0
  75. package/es/subject/single.mjs +600 -0
  76. package/es/subject/single.mjs.map +1 -0
  77. package/es/subject/sort-controller.mjs +2 -0
  78. package/es/subject/sort-controller.mjs.map +1 -0
  79. package/es/subject/sortable.mjs +30 -0
  80. package/es/subject/sortable.mjs.map +1 -0
  81. package/es/subject/sorting-card.mjs +52 -0
  82. package/es/subject/sorting-card.mjs.map +1 -0
  83. package/es/subject/subject-shared.mjs +2 -0
  84. package/es/subject/subject-shared.mjs.map +1 -0
  85. package/es/subject/text-fill.mjs +395 -0
  86. package/es/subject/text-fill.mjs.map +1 -0
  87. package/es/subject/title-prefix.mjs +2 -0
  88. package/es/subject/title-prefix.mjs.map +1 -0
  89. package/es/subject/types.mjs +2 -0
  90. package/es/subject/types.mjs.map +1 -0
  91. package/lib/base/define.cjs +2 -0
  92. package/lib/base/define.cjs.map +1 -0
  93. package/lib/base/uid.cjs +2 -0
  94. package/lib/base/uid.cjs.map +1 -0
  95. package/lib/data-chart.cjs +143 -0
  96. package/lib/data-chart.cjs.map +1 -0
  97. package/lib/editor/blocksuite-editor.cjs +1126 -0
  98. package/lib/editor/blocksuite-editor.cjs.map +1 -0
  99. package/lib/editor/content-format.cjs +9 -0
  100. package/lib/editor/content-format.cjs.map +1 -0
  101. package/lib/editor/index.cjs +2 -0
  102. package/lib/editor/index.cjs.map +1 -0
  103. package/lib/editor/toolbar.cjs +2 -0
  104. package/lib/editor/toolbar.cjs.map +1 -0
  105. package/lib/entry-data-chart.cjs +2 -0
  106. package/lib/entry-data-chart.cjs.map +1 -0
  107. package/lib/entry-editor.cjs +2 -0
  108. package/lib/entry-editor.cjs.map +1 -0
  109. package/lib/entry-file-upload.cjs +2 -0
  110. package/lib/entry-file-upload.cjs.map +1 -0
  111. package/lib/entry-fixed-action-bar.cjs +2 -0
  112. package/lib/entry-fixed-action-bar.cjs.map +1 -0
  113. package/lib/entry-icon.cjs +2 -0
  114. package/lib/entry-icon.cjs.map +1 -0
  115. package/lib/entry-image-upload.cjs +2 -0
  116. package/lib/entry-image-upload.cjs.map +1 -0
  117. package/lib/entry-photo-crop-tool.cjs +2 -0
  118. package/lib/entry-photo-crop-tool.cjs.map +1 -0
  119. package/lib/entry-subject.cjs +2 -0
  120. package/lib/entry-subject.cjs.map +1 -0
  121. package/lib/file-upload.cjs +164 -0
  122. package/lib/file-upload.cjs.map +1 -0
  123. package/lib/fixed-action-bar.cjs +39 -0
  124. package/lib/fixed-action-bar.cjs.map +1 -0
  125. package/lib/icon.cjs +20 -0
  126. package/lib/icon.cjs.map +1 -0
  127. package/lib/image-upload.cjs +333 -0
  128. package/lib/image-upload.cjs.map +1 -0
  129. package/lib/index.cjs +1 -1
  130. package/lib/index.cjs.map +1 -1
  131. package/lib/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.cjs +60 -0
  132. package/lib/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.cjs.map +1 -0
  133. package/lib/node_modules/.pnpm/turndown-plugin-gfm@1.0.2/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.cjs +17 -0
  134. package/lib/node_modules/.pnpm/turndown-plugin-gfm@1.0.2/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.cjs.map +1 -0
  135. package/lib/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.browser.es.cjs +62 -0
  136. package/lib/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.browser.es.cjs.map +1 -0
  137. package/lib/photo-crop-tool.cjs +147 -0
  138. package/lib/photo-crop-tool.cjs.map +1 -0
  139. package/lib/subject/action.cjs +171 -0
  140. package/lib/subject/action.cjs.map +1 -0
  141. package/lib/subject/blank-fill.cjs +385 -0
  142. package/lib/subject/blank-fill.cjs.map +1 -0
  143. package/lib/subject/draft.cjs +2 -0
  144. package/lib/subject/draft.cjs.map +1 -0
  145. package/lib/subject/layout.cjs +21 -0
  146. package/lib/subject/layout.cjs.map +1 -0
  147. package/lib/subject/page-end.cjs +28 -0
  148. package/lib/subject/page-end.cjs.map +1 -0
  149. package/lib/subject/pagination.cjs +2 -0
  150. package/lib/subject/pagination.cjs.map +1 -0
  151. package/lib/subject/runtime.cjs +2 -0
  152. package/lib/subject/runtime.cjs.map +1 -0
  153. package/lib/subject/scale.cjs +270 -0
  154. package/lib/subject/scale.cjs.map +1 -0
  155. package/lib/subject/shared-methods.cjs +2 -0
  156. package/lib/subject/shared-methods.cjs.map +1 -0
  157. package/lib/subject/shared-styles.cjs +113 -0
  158. package/lib/subject/shared-styles.cjs.map +1 -0
  159. package/lib/subject/single-interactions.cjs +2 -0
  160. package/lib/subject/single-interactions.cjs.map +1 -0
  161. package/lib/subject/single-model.cjs +2 -0
  162. package/lib/subject/single-model.cjs.map +1 -0
  163. package/lib/subject/single-state.cjs +2 -0
  164. package/lib/subject/single-state.cjs.map +1 -0
  165. package/lib/subject/single.cjs +600 -0
  166. package/lib/subject/single.cjs.map +1 -0
  167. package/lib/subject/sort-controller.cjs +2 -0
  168. package/lib/subject/sort-controller.cjs.map +1 -0
  169. package/lib/subject/sortable.cjs +30 -0
  170. package/lib/subject/sortable.cjs.map +1 -0
  171. package/lib/subject/sorting-card.cjs +52 -0
  172. package/lib/subject/sorting-card.cjs.map +1 -0
  173. package/lib/subject/subject-shared.cjs +2 -0
  174. package/lib/subject/subject-shared.cjs.map +1 -0
  175. package/lib/subject/text-fill.cjs +395 -0
  176. package/lib/subject/text-fill.cjs.map +1 -0
  177. package/lib/subject/title-prefix.cjs +2 -0
  178. package/lib/subject/title-prefix.cjs.map +1 -0
  179. package/lib/subject/types.cjs +2 -0
  180. package/lib/subject/types.cjs.map +1 -0
  181. package/package.json +98 -36
  182. package/types/base/define.d.ts +1 -0
  183. package/types/base/uid.d.ts +1 -0
  184. package/types/data-chart.d.ts +65 -0
  185. package/types/editor/blocksuite-editor.d.ts +193 -0
  186. package/types/editor/content-format.d.ts +4 -0
  187. package/types/editor/index.d.ts +4 -0
  188. package/types/editor/toolbar.d.ts +6 -0
  189. package/types/editor/types.d.ts +42 -0
  190. package/types/entry-data-chart.d.ts +1 -0
  191. package/types/entry-editor.d.ts +2 -0
  192. package/types/entry-file-upload.d.ts +1 -0
  193. package/types/entry-fixed-action-bar.d.ts +1 -0
  194. package/types/entry-icon.d.ts +2 -0
  195. package/types/entry-image-upload.d.ts +1 -0
  196. package/types/entry-photo-crop-tool.d.ts +1 -0
  197. package/types/entry-subject.d.ts +2 -0
  198. package/types/file-upload.d.ts +50 -0
  199. package/types/fixed-action-bar.d.ts +25 -0
  200. package/types/icon.d.ts +30 -0
  201. package/types/image-upload.d.ts +68 -0
  202. package/types/index.d.ts +21 -6
  203. package/types/photo-crop-tool.d.ts +43 -0
  204. package/types/subject/action.d.ts +37 -0
  205. package/types/subject/blank-fill.d.ts +79 -0
  206. package/types/subject/draft.d.ts +63 -0
  207. package/types/subject/index.d.ts +13 -0
  208. package/types/subject/layout.d.ts +7 -0
  209. package/types/subject/page-end.d.ts +16 -0
  210. package/types/subject/pagination.d.ts +23 -0
  211. package/types/subject/runtime.d.ts +12 -0
  212. package/types/subject/scale.d.ts +55 -0
  213. package/types/subject/shared-methods.d.ts +8 -0
  214. package/types/subject/shared-styles.d.ts +5 -0
  215. package/types/subject/single-interactions.d.ts +46 -0
  216. package/types/subject/single-model.d.ts +88 -0
  217. package/types/subject/single-state.d.ts +42 -0
  218. package/types/subject/single.d.ts +210 -0
  219. package/types/subject/sort-controller.d.ts +3 -0
  220. package/types/subject/sortable.d.ts +19 -0
  221. package/types/subject/sorting-card.d.ts +2 -0
  222. package/types/subject/subject-shared.d.ts +43 -0
  223. package/types/subject/text-fill.d.ts +88 -0
  224. package/types/subject/title-prefix.d.ts +2 -0
  225. package/types/subject/types.d.ts +12 -0
  226. package/README.md +0 -566
  227. package/es/_virtual/_commonjsHelpers.mjs +0 -2
  228. package/es/_virtual/_commonjsHelpers.mjs.map +0 -1
  229. package/es/_virtual/_plugin-vue_export-helper.mjs +0 -2
  230. package/es/_virtual/_plugin-vue_export-helper.mjs.map +0 -1
  231. package/es/_virtual/sortable.esm.mjs +0 -2
  232. package/es/_virtual/sortable.esm.mjs.map +0 -1
  233. package/es/_virtual/vuedraggable.umd.mjs +0 -2
  234. package/es/_virtual/vuedraggable.umd.mjs.map +0 -1
  235. package/es/_virtual/vuedraggable.umd2.mjs +0 -2
  236. package/es/_virtual/vuedraggable.umd2.mjs.map +0 -1
  237. package/es/node_modules/.pnpm/@iconify_vue@5.0.0_vue@3.5.18_typescript@5.9.2_/node_modules/@iconify/vue/dist/iconify.mjs +0 -2
  238. package/es/node_modules/.pnpm/@iconify_vue@5.0.0_vue@3.5.18_typescript@5.9.2_/node_modules/@iconify/vue/dist/iconify.mjs.map +0 -1
  239. package/es/node_modules/.pnpm/sortablejs@1.14.0/node_modules/sortablejs/modular/sortable.esm.mjs +0 -8
  240. package/es/node_modules/.pnpm/sortablejs@1.14.0/node_modules/sortablejs/modular/sortable.esm.mjs.map +0 -1
  241. package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs +0 -2
  242. package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs.map +0 -1
  243. package/es/node_modules/.pnpm/vuedraggable@4.1.0_vue@3.5.18_typescript@5.9.2_/node_modules/vuedraggable/dist/vuedraggable.umd.mjs +0 -2
  244. package/es/node_modules/.pnpm/vuedraggable@4.1.0_vue@3.5.18_typescript@5.9.2_/node_modules/vuedraggable/dist/vuedraggable.umd.mjs.map +0 -1
  245. package/es/package.json.mjs +0 -2
  246. package/es/package.json.mjs.map +0 -1
  247. package/es/src/alert/index.mjs +0 -2
  248. package/es/src/alert/index.mjs.map +0 -1
  249. package/es/src/alert/src/alert.mjs +0 -2
  250. package/es/src/alert/src/alert.mjs.map +0 -1
  251. package/es/src/components.mjs +0 -2
  252. package/es/src/components.mjs.map +0 -1
  253. package/es/src/data-chart/index.mjs +0 -2
  254. package/es/src/data-chart/index.mjs.map +0 -1
  255. package/es/src/data-chart/src/analyze.mjs +0 -2
  256. package/es/src/data-chart/src/analyze.mjs.map +0 -1
  257. package/es/src/data-chart/src/components/area.vue.mjs +0 -2
  258. package/es/src/data-chart/src/components/area.vue.mjs.map +0 -1
  259. package/es/src/data-chart/src/components/area.vue2.mjs +0 -2
  260. package/es/src/data-chart/src/components/area.vue2.mjs.map +0 -1
  261. package/es/src/data-chart/src/components/area.vue3.mjs +0 -2
  262. package/es/src/data-chart/src/components/area.vue3.mjs.map +0 -1
  263. package/es/src/data-chart/src/components/bar.vue.mjs +0 -2
  264. package/es/src/data-chart/src/components/bar.vue.mjs.map +0 -1
  265. package/es/src/data-chart/src/components/bar.vue2.mjs +0 -2
  266. package/es/src/data-chart/src/components/bar.vue2.mjs.map +0 -1
  267. package/es/src/data-chart/src/components/bar.vue3.mjs +0 -2
  268. package/es/src/data-chart/src/components/bar.vue3.mjs.map +0 -1
  269. package/es/src/data-chart/src/components/card.vue.mjs +0 -2
  270. package/es/src/data-chart/src/components/card.vue.mjs.map +0 -1
  271. package/es/src/data-chart/src/components/card.vue2.mjs +0 -2
  272. package/es/src/data-chart/src/components/card.vue2.mjs.map +0 -1
  273. package/es/src/data-chart/src/components/card.vue3.mjs +0 -2
  274. package/es/src/data-chart/src/components/card.vue3.mjs.map +0 -1
  275. package/es/src/data-chart/src/components/data-chart-card-bg-left.svg.mjs +0 -2
  276. package/es/src/data-chart/src/components/data-chart-card-bg-left.svg.mjs.map +0 -1
  277. package/es/src/data-chart/src/components/data-chart-card-bg-right.svg.mjs +0 -2
  278. package/es/src/data-chart/src/components/data-chart-card-bg-right.svg.mjs.map +0 -1
  279. package/es/src/data-chart/src/components/empty.svg.mjs +0 -2
  280. package/es/src/data-chart/src/components/empty.svg.mjs.map +0 -1
  281. package/es/src/data-chart/src/components/empty.vue.mjs +0 -2
  282. package/es/src/data-chart/src/components/empty.vue.mjs.map +0 -1
  283. package/es/src/data-chart/src/components/empty.vue2.mjs +0 -2
  284. package/es/src/data-chart/src/components/empty.vue2.mjs.map +0 -1
  285. package/es/src/data-chart/src/components/funnel.vue.mjs +0 -2
  286. package/es/src/data-chart/src/components/funnel.vue.mjs.map +0 -1
  287. package/es/src/data-chart/src/components/funnel.vue2.mjs +0 -2
  288. package/es/src/data-chart/src/components/funnel.vue2.mjs.map +0 -1
  289. package/es/src/data-chart/src/components/funnel.vue3.mjs +0 -2
  290. package/es/src/data-chart/src/components/funnel.vue3.mjs.map +0 -1
  291. package/es/src/data-chart/src/components/line.vue.mjs +0 -2
  292. package/es/src/data-chart/src/components/line.vue.mjs.map +0 -1
  293. package/es/src/data-chart/src/components/line.vue2.mjs +0 -2
  294. package/es/src/data-chart/src/components/line.vue2.mjs.map +0 -1
  295. package/es/src/data-chart/src/components/line.vue3.mjs +0 -2
  296. package/es/src/data-chart/src/components/line.vue3.mjs.map +0 -1
  297. package/es/src/data-chart/src/components/pie.vue.mjs +0 -2
  298. package/es/src/data-chart/src/components/pie.vue.mjs.map +0 -1
  299. package/es/src/data-chart/src/components/pie.vue2.mjs +0 -2
  300. package/es/src/data-chart/src/components/pie.vue2.mjs.map +0 -1
  301. package/es/src/data-chart/src/components/pie.vue3.mjs +0 -2
  302. package/es/src/data-chart/src/components/pie.vue3.mjs.map +0 -1
  303. package/es/src/data-chart/src/components/radar.vue.mjs +0 -2
  304. package/es/src/data-chart/src/components/radar.vue.mjs.map +0 -1
  305. package/es/src/data-chart/src/components/radar.vue2.mjs +0 -2
  306. package/es/src/data-chart/src/components/radar.vue2.mjs.map +0 -1
  307. package/es/src/data-chart/src/components/radar.vue3.mjs +0 -2
  308. package/es/src/data-chart/src/components/radar.vue3.mjs.map +0 -1
  309. package/es/src/data-chart/src/components/scatter-simple.vue.mjs +0 -2
  310. package/es/src/data-chart/src/components/scatter-simple.vue.mjs.map +0 -1
  311. package/es/src/data-chart/src/components/scatter-simple.vue2.mjs +0 -2
  312. package/es/src/data-chart/src/components/scatter-simple.vue2.mjs.map +0 -1
  313. package/es/src/data-chart/src/components/scatter-simple.vue3.mjs +0 -2
  314. package/es/src/data-chart/src/components/scatter-simple.vue3.mjs.map +0 -1
  315. package/es/src/data-chart/src/components/scatter.vue.mjs +0 -2
  316. package/es/src/data-chart/src/components/scatter.vue.mjs.map +0 -1
  317. package/es/src/data-chart/src/components/scatter.vue2.mjs +0 -2
  318. package/es/src/data-chart/src/components/scatter.vue2.mjs.map +0 -1
  319. package/es/src/data-chart/src/components/scatter.vue3.mjs +0 -2
  320. package/es/src/data-chart/src/components/scatter.vue3.mjs.map +0 -1
  321. package/es/src/data-chart/src/components/table.vue.mjs +0 -2
  322. package/es/src/data-chart/src/components/table.vue.mjs.map +0 -1
  323. package/es/src/data-chart/src/components/table.vue2.mjs +0 -2
  324. package/es/src/data-chart/src/components/table.vue2.mjs.map +0 -1
  325. package/es/src/data-chart/src/data-chart.vue.mjs +0 -2
  326. package/es/src/data-chart/src/data-chart.vue.mjs.map +0 -1
  327. package/es/src/data-chart/src/data-chart.vue2.mjs +0 -2
  328. package/es/src/data-chart/src/data-chart.vue2.mjs.map +0 -1
  329. package/es/src/data-chart/src/utils/config.mjs +0 -2
  330. package/es/src/data-chart/src/utils/config.mjs.map +0 -1
  331. package/es/src/data-chart/src/utils/injectionKeys.mjs +0 -2
  332. package/es/src/data-chart/src/utils/injectionKeys.mjs.map +0 -1
  333. package/es/src/data-chart/src/utils/mapData.mjs +0 -2
  334. package/es/src/data-chart/src/utils/mapData.mjs.map +0 -1
  335. package/es/src/data-chart/src/utils/safe-eval.mjs +0 -2
  336. package/es/src/data-chart/src/utils/safe-eval.mjs.map +0 -1
  337. package/es/src/data-chart/src/utils/types.mjs +0 -2
  338. package/es/src/data-chart/src/utils/types.mjs.map +0 -1
  339. package/es/src/data-chart/src/utils/useCharts.mjs +0 -2
  340. package/es/src/data-chart/src/utils/useCharts.mjs.map +0 -1
  341. package/es/src/defaults.mjs +0 -2
  342. package/es/src/defaults.mjs.map +0 -1
  343. package/es/src/dialog/src/dialog.mjs +0 -2
  344. package/es/src/dialog/src/dialog.mjs.map +0 -1
  345. package/es/src/feedback-plugin/index.mjs +0 -2
  346. package/es/src/feedback-plugin/index.mjs.map +0 -1
  347. package/es/src/file-upload/index.mjs +0 -2
  348. package/es/src/file-upload/index.mjs.map +0 -1
  349. package/es/src/file-upload/src/file-upload.vue.mjs +0 -2
  350. package/es/src/file-upload/src/file-upload.vue.mjs.map +0 -1
  351. package/es/src/file-upload/src/file-upload.vue2.mjs +0 -2
  352. package/es/src/file-upload/src/file-upload.vue2.mjs.map +0 -1
  353. package/es/src/file-upload/src/file-upload.vue3.mjs +0 -2
  354. package/es/src/file-upload/src/file-upload.vue3.mjs.map +0 -1
  355. package/es/src/fixed-action-bar/index.mjs +0 -2
  356. package/es/src/fixed-action-bar/index.mjs.map +0 -1
  357. package/es/src/fixed-action-bar/src/fixed-action-bar.vue.mjs +0 -2
  358. package/es/src/fixed-action-bar/src/fixed-action-bar.vue.mjs.map +0 -1
  359. package/es/src/fixed-action-bar/src/fixed-action-bar.vue2.mjs +0 -2
  360. package/es/src/fixed-action-bar/src/fixed-action-bar.vue2.mjs.map +0 -1
  361. package/es/src/icon/index.mjs +0 -2
  362. package/es/src/icon/index.mjs.map +0 -1
  363. package/es/src/icon/src/icon.mjs +0 -2
  364. package/es/src/icon/src/icon.mjs.map +0 -1
  365. package/es/src/image-upload/index.mjs +0 -2
  366. package/es/src/image-upload/index.mjs.map +0 -1
  367. package/es/src/image-upload/src/image-upload.vue.mjs +0 -2
  368. package/es/src/image-upload/src/image-upload.vue.mjs.map +0 -1
  369. package/es/src/image-upload/src/image-upload.vue2.mjs +0 -2
  370. package/es/src/image-upload/src/image-upload.vue2.mjs.map +0 -1
  371. package/es/src/image-upload/src/image-upload.vue3.mjs +0 -2
  372. package/es/src/image-upload/src/image-upload.vue3.mjs.map +0 -1
  373. package/es/src/make-installer.mjs +0 -2
  374. package/es/src/make-installer.mjs.map +0 -1
  375. package/es/src/message/src/message.mjs +0 -2
  376. package/es/src/message/src/message.mjs.map +0 -1
  377. package/es/src/photo-crop-tool/index.mjs +0 -2
  378. package/es/src/photo-crop-tool/index.mjs.map +0 -1
  379. package/es/src/photo-crop-tool/src/composables.mjs +0 -2
  380. package/es/src/photo-crop-tool/src/composables.mjs.map +0 -1
  381. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.mjs +0 -2
  382. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.mjs.map +0 -1
  383. package/es/src/photo-crop-tool/src/photo-crop-tool.vue2.mjs +0 -2
  384. package/es/src/photo-crop-tool/src/photo-crop-tool.vue2.mjs.map +0 -1
  385. package/es/src/subject-action/index.mjs +0 -2
  386. package/es/src/subject-action/index.mjs.map +0 -1
  387. package/es/src/subject-action/src/subject-action.vue.mjs +0 -2
  388. package/es/src/subject-action/src/subject-action.vue.mjs.map +0 -1
  389. package/es/src/subject-action/src/subject-action.vue2.mjs +0 -2
  390. package/es/src/subject-action/src/subject-action.vue2.mjs.map +0 -1
  391. package/es/src/subject-layout/index.mjs +0 -2
  392. package/es/src/subject-layout/index.mjs.map +0 -1
  393. package/es/src/subject-layout/src/subject-layout.vue.mjs +0 -2
  394. package/es/src/subject-layout/src/subject-layout.vue.mjs.map +0 -1
  395. package/es/src/subject-layout/src/subject-layout.vue2.mjs +0 -2
  396. package/es/src/subject-layout/src/subject-layout.vue2.mjs.map +0 -1
  397. package/es/src/subject-list/index.mjs +0 -2
  398. package/es/src/subject-list/index.mjs.map +0 -1
  399. package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs +0 -2
  400. package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs.map +0 -1
  401. package/es/src/subject-list/src/components/SubjectPageEnd.vue2.mjs +0 -2
  402. package/es/src/subject-list/src/components/SubjectPageEnd.vue2.mjs.map +0 -1
  403. package/es/src/subject-list/src/components/SubjectRichText.vue.mjs +0 -2
  404. package/es/src/subject-list/src/components/SubjectRichText.vue.mjs.map +0 -1
  405. package/es/src/subject-list/src/components/SubjectRichText.vue2.mjs +0 -2
  406. package/es/src/subject-list/src/components/SubjectRichText.vue2.mjs.map +0 -1
  407. package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs +0 -2
  408. package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs.map +0 -1
  409. package/es/src/subject-list/src/components/subject-blank-fill.vue2.mjs +0 -2
  410. package/es/src/subject-list/src/components/subject-blank-fill.vue2.mjs.map +0 -1
  411. package/es/src/subject-list/src/components/subject-scale.vue.mjs +0 -2
  412. package/es/src/subject-list/src/components/subject-scale.vue.mjs.map +0 -1
  413. package/es/src/subject-list/src/components/subject-scale.vue2.mjs +0 -2
  414. package/es/src/subject-list/src/components/subject-scale.vue2.mjs.map +0 -1
  415. package/es/src/subject-list/src/components/subject-single.vue.mjs +0 -2
  416. package/es/src/subject-list/src/components/subject-single.vue.mjs.map +0 -1
  417. package/es/src/subject-list/src/components/subject-single.vue2.mjs +0 -2
  418. package/es/src/subject-list/src/components/subject-single.vue2.mjs.map +0 -1
  419. package/es/src/subject-list/src/components/subject-text-fill.vue.mjs +0 -2
  420. package/es/src/subject-list/src/components/subject-text-fill.vue.mjs.map +0 -1
  421. package/es/src/subject-list/src/components/subject-text-fill.vue2.mjs +0 -2
  422. package/es/src/subject-list/src/components/subject-text-fill.vue2.mjs.map +0 -1
  423. package/es/src/subject-list/src/subject-list.vue.mjs +0 -2
  424. package/es/src/subject-list/src/subject-list.vue.mjs.map +0 -1
  425. package/es/src/subject-list/src/subject-list.vue2.mjs +0 -2
  426. package/es/src/subject-list/src/subject-list.vue2.mjs.map +0 -1
  427. package/es/src/subject-type/index.mjs +0 -2
  428. package/es/src/subject-type/index.mjs.map +0 -1
  429. package/es/src/subject-type/src/subject-type.vue.mjs +0 -2
  430. package/es/src/subject-type/src/subject-type.vue.mjs.map +0 -1
  431. package/es/src/subject-type/src/subject-type.vue2.mjs +0 -2
  432. package/es/src/subject-type/src/subject-type.vue2.mjs.map +0 -1
  433. package/es/src/tiny-mce-editor/index.mjs +0 -2
  434. package/es/src/tiny-mce-editor/index.mjs.map +0 -1
  435. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs +0 -2
  436. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs.map +0 -1
  437. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue2.mjs +0 -2
  438. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue2.mjs.map +0 -1
  439. package/es/src/ui/button/index.mjs +0 -2
  440. package/es/src/ui/button/index.mjs.map +0 -1
  441. package/es/src/ui/checkbox/index.mjs +0 -2
  442. package/es/src/ui/checkbox/index.mjs.map +0 -1
  443. package/es/src/ui/dialog/index.mjs +0 -2
  444. package/es/src/ui/dialog/index.mjs.map +0 -1
  445. package/es/src/ui/input/index.mjs +0 -2
  446. package/es/src/ui/input/index.mjs.map +0 -1
  447. package/es/src/ui/input-number/index.mjs +0 -2
  448. package/es/src/ui/input-number/index.mjs.map +0 -1
  449. package/es/src/ui/layout/index.mjs +0 -2
  450. package/es/src/ui/layout/index.mjs.map +0 -1
  451. package/es/src/ui/link/index.mjs +0 -2
  452. package/es/src/ui/link/index.mjs.map +0 -1
  453. package/es/src/ui/popover/index.mjs +0 -2
  454. package/es/src/ui/popover/index.mjs.map +0 -1
  455. package/es/src/ui/radio/index.mjs +0 -2
  456. package/es/src/ui/radio/index.mjs.map +0 -1
  457. package/es/src/ui/scrollbar/index.mjs +0 -2
  458. package/es/src/ui/scrollbar/index.mjs.map +0 -1
  459. package/es/src/ui/select/index.mjs +0 -2
  460. package/es/src/ui/select/index.mjs.map +0 -1
  461. package/es/src/ui/table/index.mjs +0 -2
  462. package/es/src/ui/table/index.mjs.map +0 -1
  463. package/es/src/ui/tag/index.mjs +0 -2
  464. package/es/src/ui/tag/index.mjs.map +0 -1
  465. package/es/src/withInstall.mjs +0 -2
  466. package/es/src/withInstall.mjs.map +0 -1
  467. package/lib/_virtual/_commonjsHelpers.cjs +0 -2
  468. package/lib/_virtual/_commonjsHelpers.cjs.map +0 -1
  469. package/lib/_virtual/_plugin-vue_export-helper.cjs +0 -2
  470. package/lib/_virtual/_plugin-vue_export-helper.cjs.map +0 -1
  471. package/lib/_virtual/sortable.esm.cjs +0 -2
  472. package/lib/_virtual/sortable.esm.cjs.map +0 -1
  473. package/lib/_virtual/vuedraggable.umd.cjs +0 -2
  474. package/lib/_virtual/vuedraggable.umd.cjs.map +0 -1
  475. package/lib/_virtual/vuedraggable.umd2.cjs +0 -2
  476. package/lib/_virtual/vuedraggable.umd2.cjs.map +0 -1
  477. package/lib/node_modules/.pnpm/@iconify_vue@5.0.0_vue@3.5.18_typescript@5.9.2_/node_modules/@iconify/vue/dist/iconify.cjs +0 -2
  478. package/lib/node_modules/.pnpm/@iconify_vue@5.0.0_vue@3.5.18_typescript@5.9.2_/node_modules/@iconify/vue/dist/iconify.cjs.map +0 -1
  479. package/lib/node_modules/.pnpm/sortablejs@1.14.0/node_modules/sortablejs/modular/sortable.esm.cjs +0 -9
  480. package/lib/node_modules/.pnpm/sortablejs@1.14.0/node_modules/sortablejs/modular/sortable.esm.cjs.map +0 -1
  481. package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.cjs +0 -2
  482. package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.cjs.map +0 -1
  483. package/lib/node_modules/.pnpm/vuedraggable@4.1.0_vue@3.5.18_typescript@5.9.2_/node_modules/vuedraggable/dist/vuedraggable.umd.cjs +0 -2
  484. package/lib/node_modules/.pnpm/vuedraggable@4.1.0_vue@3.5.18_typescript@5.9.2_/node_modules/vuedraggable/dist/vuedraggable.umd.cjs.map +0 -1
  485. package/lib/package.json.cjs +0 -2
  486. package/lib/package.json.cjs.map +0 -1
  487. package/lib/src/alert/index.cjs +0 -2
  488. package/lib/src/alert/index.cjs.map +0 -1
  489. package/lib/src/alert/src/alert.cjs +0 -2
  490. package/lib/src/alert/src/alert.cjs.map +0 -1
  491. package/lib/src/components.cjs +0 -2
  492. package/lib/src/components.cjs.map +0 -1
  493. package/lib/src/data-chart/index.cjs +0 -2
  494. package/lib/src/data-chart/index.cjs.map +0 -1
  495. package/lib/src/data-chart/src/analyze.cjs +0 -2
  496. package/lib/src/data-chart/src/analyze.cjs.map +0 -1
  497. package/lib/src/data-chart/src/components/area.vue.cjs +0 -2
  498. package/lib/src/data-chart/src/components/area.vue.cjs.map +0 -1
  499. package/lib/src/data-chart/src/components/area.vue2.cjs +0 -2
  500. package/lib/src/data-chart/src/components/area.vue2.cjs.map +0 -1
  501. package/lib/src/data-chart/src/components/area.vue3.cjs +0 -2
  502. package/lib/src/data-chart/src/components/area.vue3.cjs.map +0 -1
  503. package/lib/src/data-chart/src/components/bar.vue.cjs +0 -2
  504. package/lib/src/data-chart/src/components/bar.vue.cjs.map +0 -1
  505. package/lib/src/data-chart/src/components/bar.vue2.cjs +0 -2
  506. package/lib/src/data-chart/src/components/bar.vue2.cjs.map +0 -1
  507. package/lib/src/data-chart/src/components/bar.vue3.cjs +0 -2
  508. package/lib/src/data-chart/src/components/bar.vue3.cjs.map +0 -1
  509. package/lib/src/data-chart/src/components/card.vue.cjs +0 -2
  510. package/lib/src/data-chart/src/components/card.vue.cjs.map +0 -1
  511. package/lib/src/data-chart/src/components/card.vue2.cjs +0 -2
  512. package/lib/src/data-chart/src/components/card.vue2.cjs.map +0 -1
  513. package/lib/src/data-chart/src/components/card.vue3.cjs +0 -2
  514. package/lib/src/data-chart/src/components/card.vue3.cjs.map +0 -1
  515. package/lib/src/data-chart/src/components/data-chart-card-bg-left.svg.cjs +0 -2
  516. package/lib/src/data-chart/src/components/data-chart-card-bg-left.svg.cjs.map +0 -1
  517. package/lib/src/data-chart/src/components/data-chart-card-bg-right.svg.cjs +0 -2
  518. package/lib/src/data-chart/src/components/data-chart-card-bg-right.svg.cjs.map +0 -1
  519. package/lib/src/data-chart/src/components/empty.svg.cjs +0 -2
  520. package/lib/src/data-chart/src/components/empty.svg.cjs.map +0 -1
  521. package/lib/src/data-chart/src/components/empty.vue.cjs +0 -2
  522. package/lib/src/data-chart/src/components/empty.vue.cjs.map +0 -1
  523. package/lib/src/data-chart/src/components/empty.vue2.cjs +0 -2
  524. package/lib/src/data-chart/src/components/empty.vue2.cjs.map +0 -1
  525. package/lib/src/data-chart/src/components/funnel.vue.cjs +0 -2
  526. package/lib/src/data-chart/src/components/funnel.vue.cjs.map +0 -1
  527. package/lib/src/data-chart/src/components/funnel.vue2.cjs +0 -2
  528. package/lib/src/data-chart/src/components/funnel.vue2.cjs.map +0 -1
  529. package/lib/src/data-chart/src/components/funnel.vue3.cjs +0 -2
  530. package/lib/src/data-chart/src/components/funnel.vue3.cjs.map +0 -1
  531. package/lib/src/data-chart/src/components/line.vue.cjs +0 -2
  532. package/lib/src/data-chart/src/components/line.vue.cjs.map +0 -1
  533. package/lib/src/data-chart/src/components/line.vue2.cjs +0 -2
  534. package/lib/src/data-chart/src/components/line.vue2.cjs.map +0 -1
  535. package/lib/src/data-chart/src/components/line.vue3.cjs +0 -2
  536. package/lib/src/data-chart/src/components/line.vue3.cjs.map +0 -1
  537. package/lib/src/data-chart/src/components/pie.vue.cjs +0 -2
  538. package/lib/src/data-chart/src/components/pie.vue.cjs.map +0 -1
  539. package/lib/src/data-chart/src/components/pie.vue2.cjs +0 -2
  540. package/lib/src/data-chart/src/components/pie.vue2.cjs.map +0 -1
  541. package/lib/src/data-chart/src/components/pie.vue3.cjs +0 -2
  542. package/lib/src/data-chart/src/components/pie.vue3.cjs.map +0 -1
  543. package/lib/src/data-chart/src/components/radar.vue.cjs +0 -2
  544. package/lib/src/data-chart/src/components/radar.vue.cjs.map +0 -1
  545. package/lib/src/data-chart/src/components/radar.vue2.cjs +0 -2
  546. package/lib/src/data-chart/src/components/radar.vue2.cjs.map +0 -1
  547. package/lib/src/data-chart/src/components/radar.vue3.cjs +0 -2
  548. package/lib/src/data-chart/src/components/radar.vue3.cjs.map +0 -1
  549. package/lib/src/data-chart/src/components/scatter-simple.vue.cjs +0 -2
  550. package/lib/src/data-chart/src/components/scatter-simple.vue.cjs.map +0 -1
  551. package/lib/src/data-chart/src/components/scatter-simple.vue2.cjs +0 -2
  552. package/lib/src/data-chart/src/components/scatter-simple.vue2.cjs.map +0 -1
  553. package/lib/src/data-chart/src/components/scatter-simple.vue3.cjs +0 -2
  554. package/lib/src/data-chart/src/components/scatter-simple.vue3.cjs.map +0 -1
  555. package/lib/src/data-chart/src/components/scatter.vue.cjs +0 -2
  556. package/lib/src/data-chart/src/components/scatter.vue.cjs.map +0 -1
  557. package/lib/src/data-chart/src/components/scatter.vue2.cjs +0 -2
  558. package/lib/src/data-chart/src/components/scatter.vue2.cjs.map +0 -1
  559. package/lib/src/data-chart/src/components/scatter.vue3.cjs +0 -2
  560. package/lib/src/data-chart/src/components/scatter.vue3.cjs.map +0 -1
  561. package/lib/src/data-chart/src/components/table.vue.cjs +0 -2
  562. package/lib/src/data-chart/src/components/table.vue.cjs.map +0 -1
  563. package/lib/src/data-chart/src/components/table.vue2.cjs +0 -2
  564. package/lib/src/data-chart/src/components/table.vue2.cjs.map +0 -1
  565. package/lib/src/data-chart/src/data-chart.vue.cjs +0 -2
  566. package/lib/src/data-chart/src/data-chart.vue.cjs.map +0 -1
  567. package/lib/src/data-chart/src/data-chart.vue2.cjs +0 -2
  568. package/lib/src/data-chart/src/data-chart.vue2.cjs.map +0 -1
  569. package/lib/src/data-chart/src/utils/config.cjs +0 -2
  570. package/lib/src/data-chart/src/utils/config.cjs.map +0 -1
  571. package/lib/src/data-chart/src/utils/injectionKeys.cjs +0 -2
  572. package/lib/src/data-chart/src/utils/injectionKeys.cjs.map +0 -1
  573. package/lib/src/data-chart/src/utils/mapData.cjs +0 -2
  574. package/lib/src/data-chart/src/utils/mapData.cjs.map +0 -1
  575. package/lib/src/data-chart/src/utils/safe-eval.cjs +0 -2
  576. package/lib/src/data-chart/src/utils/safe-eval.cjs.map +0 -1
  577. package/lib/src/data-chart/src/utils/types.cjs +0 -2
  578. package/lib/src/data-chart/src/utils/types.cjs.map +0 -1
  579. package/lib/src/data-chart/src/utils/useCharts.cjs +0 -2
  580. package/lib/src/data-chart/src/utils/useCharts.cjs.map +0 -1
  581. package/lib/src/defaults.cjs +0 -2
  582. package/lib/src/defaults.cjs.map +0 -1
  583. package/lib/src/dialog/src/dialog.cjs +0 -2
  584. package/lib/src/dialog/src/dialog.cjs.map +0 -1
  585. package/lib/src/feedback-plugin/index.cjs +0 -2
  586. package/lib/src/feedback-plugin/index.cjs.map +0 -1
  587. package/lib/src/file-upload/index.cjs +0 -2
  588. package/lib/src/file-upload/index.cjs.map +0 -1
  589. package/lib/src/file-upload/src/file-upload.vue.cjs +0 -2
  590. package/lib/src/file-upload/src/file-upload.vue.cjs.map +0 -1
  591. package/lib/src/file-upload/src/file-upload.vue2.cjs +0 -2
  592. package/lib/src/file-upload/src/file-upload.vue2.cjs.map +0 -1
  593. package/lib/src/file-upload/src/file-upload.vue3.cjs +0 -2
  594. package/lib/src/file-upload/src/file-upload.vue3.cjs.map +0 -1
  595. package/lib/src/fixed-action-bar/index.cjs +0 -2
  596. package/lib/src/fixed-action-bar/index.cjs.map +0 -1
  597. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.cjs +0 -2
  598. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.cjs.map +0 -1
  599. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue2.cjs +0 -2
  600. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue2.cjs.map +0 -1
  601. package/lib/src/icon/index.cjs +0 -2
  602. package/lib/src/icon/index.cjs.map +0 -1
  603. package/lib/src/icon/src/icon.cjs +0 -2
  604. package/lib/src/icon/src/icon.cjs.map +0 -1
  605. package/lib/src/image-upload/index.cjs +0 -2
  606. package/lib/src/image-upload/index.cjs.map +0 -1
  607. package/lib/src/image-upload/src/image-upload.vue.cjs +0 -2
  608. package/lib/src/image-upload/src/image-upload.vue.cjs.map +0 -1
  609. package/lib/src/image-upload/src/image-upload.vue2.cjs +0 -2
  610. package/lib/src/image-upload/src/image-upload.vue2.cjs.map +0 -1
  611. package/lib/src/image-upload/src/image-upload.vue3.cjs +0 -2
  612. package/lib/src/image-upload/src/image-upload.vue3.cjs.map +0 -1
  613. package/lib/src/make-installer.cjs +0 -2
  614. package/lib/src/make-installer.cjs.map +0 -1
  615. package/lib/src/message/src/message.cjs +0 -2
  616. package/lib/src/message/src/message.cjs.map +0 -1
  617. package/lib/src/photo-crop-tool/index.cjs +0 -2
  618. package/lib/src/photo-crop-tool/index.cjs.map +0 -1
  619. package/lib/src/photo-crop-tool/src/composables.cjs +0 -2
  620. package/lib/src/photo-crop-tool/src/composables.cjs.map +0 -1
  621. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.cjs +0 -2
  622. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.cjs.map +0 -1
  623. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue2.cjs +0 -2
  624. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue2.cjs.map +0 -1
  625. package/lib/src/subject-action/index.cjs +0 -2
  626. package/lib/src/subject-action/index.cjs.map +0 -1
  627. package/lib/src/subject-action/src/subject-action.vue.cjs +0 -2
  628. package/lib/src/subject-action/src/subject-action.vue.cjs.map +0 -1
  629. package/lib/src/subject-action/src/subject-action.vue2.cjs +0 -2
  630. package/lib/src/subject-action/src/subject-action.vue2.cjs.map +0 -1
  631. package/lib/src/subject-layout/index.cjs +0 -2
  632. package/lib/src/subject-layout/index.cjs.map +0 -1
  633. package/lib/src/subject-layout/src/subject-layout.vue.cjs +0 -2
  634. package/lib/src/subject-layout/src/subject-layout.vue.cjs.map +0 -1
  635. package/lib/src/subject-layout/src/subject-layout.vue2.cjs +0 -2
  636. package/lib/src/subject-layout/src/subject-layout.vue2.cjs.map +0 -1
  637. package/lib/src/subject-list/index.cjs +0 -2
  638. package/lib/src/subject-list/index.cjs.map +0 -1
  639. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs +0 -2
  640. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs.map +0 -1
  641. package/lib/src/subject-list/src/components/SubjectPageEnd.vue2.cjs +0 -2
  642. package/lib/src/subject-list/src/components/SubjectPageEnd.vue2.cjs.map +0 -1
  643. package/lib/src/subject-list/src/components/SubjectRichText.vue.cjs +0 -2
  644. package/lib/src/subject-list/src/components/SubjectRichText.vue.cjs.map +0 -1
  645. package/lib/src/subject-list/src/components/SubjectRichText.vue2.cjs +0 -2
  646. package/lib/src/subject-list/src/components/SubjectRichText.vue2.cjs.map +0 -1
  647. package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs +0 -2
  648. package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs.map +0 -1
  649. package/lib/src/subject-list/src/components/subject-blank-fill.vue2.cjs +0 -2
  650. package/lib/src/subject-list/src/components/subject-blank-fill.vue2.cjs.map +0 -1
  651. package/lib/src/subject-list/src/components/subject-scale.vue.cjs +0 -2
  652. package/lib/src/subject-list/src/components/subject-scale.vue.cjs.map +0 -1
  653. package/lib/src/subject-list/src/components/subject-scale.vue2.cjs +0 -2
  654. package/lib/src/subject-list/src/components/subject-scale.vue2.cjs.map +0 -1
  655. package/lib/src/subject-list/src/components/subject-single.vue.cjs +0 -2
  656. package/lib/src/subject-list/src/components/subject-single.vue.cjs.map +0 -1
  657. package/lib/src/subject-list/src/components/subject-single.vue2.cjs +0 -2
  658. package/lib/src/subject-list/src/components/subject-single.vue2.cjs.map +0 -1
  659. package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs +0 -2
  660. package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs.map +0 -1
  661. package/lib/src/subject-list/src/components/subject-text-fill.vue2.cjs +0 -2
  662. package/lib/src/subject-list/src/components/subject-text-fill.vue2.cjs.map +0 -1
  663. package/lib/src/subject-list/src/subject-list.vue.cjs +0 -2
  664. package/lib/src/subject-list/src/subject-list.vue.cjs.map +0 -1
  665. package/lib/src/subject-list/src/subject-list.vue2.cjs +0 -2
  666. package/lib/src/subject-list/src/subject-list.vue2.cjs.map +0 -1
  667. package/lib/src/subject-type/index.cjs +0 -2
  668. package/lib/src/subject-type/index.cjs.map +0 -1
  669. package/lib/src/subject-type/src/subject-type.vue.cjs +0 -2
  670. package/lib/src/subject-type/src/subject-type.vue.cjs.map +0 -1
  671. package/lib/src/subject-type/src/subject-type.vue2.cjs +0 -2
  672. package/lib/src/subject-type/src/subject-type.vue2.cjs.map +0 -1
  673. package/lib/src/tiny-mce-editor/index.cjs +0 -2
  674. package/lib/src/tiny-mce-editor/index.cjs.map +0 -1
  675. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs +0 -2
  676. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs.map +0 -1
  677. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue2.cjs +0 -2
  678. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue2.cjs.map +0 -1
  679. package/lib/src/ui/button/index.cjs +0 -2
  680. package/lib/src/ui/button/index.cjs.map +0 -1
  681. package/lib/src/ui/checkbox/index.cjs +0 -2
  682. package/lib/src/ui/checkbox/index.cjs.map +0 -1
  683. package/lib/src/ui/dialog/index.cjs +0 -2
  684. package/lib/src/ui/dialog/index.cjs.map +0 -1
  685. package/lib/src/ui/input/index.cjs +0 -2
  686. package/lib/src/ui/input/index.cjs.map +0 -1
  687. package/lib/src/ui/input-number/index.cjs +0 -2
  688. package/lib/src/ui/input-number/index.cjs.map +0 -1
  689. package/lib/src/ui/layout/index.cjs +0 -2
  690. package/lib/src/ui/layout/index.cjs.map +0 -1
  691. package/lib/src/ui/link/index.cjs +0 -2
  692. package/lib/src/ui/link/index.cjs.map +0 -1
  693. package/lib/src/ui/popover/index.cjs +0 -2
  694. package/lib/src/ui/popover/index.cjs.map +0 -1
  695. package/lib/src/ui/radio/index.cjs +0 -2
  696. package/lib/src/ui/radio/index.cjs.map +0 -1
  697. package/lib/src/ui/scrollbar/index.cjs +0 -2
  698. package/lib/src/ui/scrollbar/index.cjs.map +0 -1
  699. package/lib/src/ui/select/index.cjs +0 -2
  700. package/lib/src/ui/select/index.cjs.map +0 -1
  701. package/lib/src/ui/table/index.cjs +0 -2
  702. package/lib/src/ui/table/index.cjs.map +0 -1
  703. package/lib/src/ui/tag/index.cjs +0 -2
  704. package/lib/src/ui/tag/index.cjs.map +0 -1
  705. package/lib/src/withInstall.cjs +0 -2
  706. package/lib/src/withInstall.cjs.map +0 -1
  707. package/theme-chalk/index.css +0 -1
  708. package/theme-chalk/index.scss +0 -21
  709. package/theme-chalk/src/base.css +0 -1
  710. package/theme-chalk/src/base.scss +0 -16
  711. package/theme-chalk/src/common/qxs-components.css +0 -1
  712. package/theme-chalk/src/common/qxs-components.scss +0 -4
  713. package/theme-chalk/src/common/qxs-variables.css +0 -1
  714. package/theme-chalk/src/common/qxs-variables.scss +0 -81
  715. package/theme-chalk/src/data-chart/empty.css +0 -1
  716. package/theme-chalk/src/data-chart/empty.scss +0 -24
  717. package/theme-chalk/src/data-chart/index.css +0 -1
  718. package/theme-chalk/src/data-chart/index.scss +0 -11
  719. package/theme-chalk/src/data-chart/table.css +0 -1
  720. package/theme-chalk/src/data-chart/table.scss +0 -43
  721. package/theme-chalk/src/dialog.css +0 -1
  722. package/theme-chalk/src/dialog.scss +0 -122
  723. package/theme-chalk/src/file-upload.css +0 -0
  724. package/theme-chalk/src/file-upload.scss +0 -7
  725. package/theme-chalk/src/fixed-action-bar.css +0 -1
  726. package/theme-chalk/src/fixed-action-bar.scss +0 -18
  727. package/theme-chalk/src/icon.css +0 -1
  728. package/theme-chalk/src/icon.scss +0 -35
  729. package/theme-chalk/src/image-upload.css +0 -1
  730. package/theme-chalk/src/image-upload.scss +0 -149
  731. package/theme-chalk/src/mixins/_var.css +0 -0
  732. package/theme-chalk/src/mixins/_var.scss +0 -24
  733. package/theme-chalk/src/mixins/config.css +0 -0
  734. package/theme-chalk/src/mixins/config.scss +0 -12
  735. package/theme-chalk/src/mixins/function.css +0 -0
  736. package/theme-chalk/src/mixins/function.scss +0 -95
  737. package/theme-chalk/src/mixins/mixins.css +0 -0
  738. package/theme-chalk/src/mixins/mixins.scss +0 -102
  739. package/theme-chalk/src/normalize.css +0 -1
  740. package/theme-chalk/src/normalize.scss +0 -11
  741. package/theme-chalk/src/photo-crop-tool.css +0 -1
  742. package/theme-chalk/src/photo-crop-tool.scss +0 -98
  743. package/theme-chalk/src/subject-action.css +0 -1
  744. package/theme-chalk/src/subject-action.scss +0 -78
  745. package/theme-chalk/src/subject-layout.css +0 -1
  746. package/theme-chalk/src/subject-layout.scss +0 -28
  747. package/theme-chalk/src/subject-list.css +0 -1
  748. package/theme-chalk/src/subject-list.scss +0 -568
  749. package/theme-chalk/src/subject-template.css +0 -1
  750. package/theme-chalk/src/subject-template.scss +0 -5
  751. package/theme-chalk/src/subject-type.css +0 -1
  752. package/theme-chalk/src/subject-type.scss +0 -42
  753. package/theme-chalk/src/tiny-mce-editor.css +0 -1
  754. package/theme-chalk/src/tiny-mce-editor.scss +0 -29
  755. package/theme-chalk/src/ui/button.css +0 -1
  756. package/theme-chalk/src/ui/button.scss +0 -173
  757. package/theme-chalk/src/ui/input.css +0 -1
  758. package/theme-chalk/src/ui/input.scss +0 -128
  759. package/theme-chalk/src/ui/table.css +0 -1
  760. package/theme-chalk/src/ui/table.scss +0 -166
  761. package/types/index.d.ts.map +0 -1
  762. package/types/src/alert/index.d.ts +0 -66
  763. package/types/src/alert/index.d.ts.map +0 -1
  764. package/types/src/alert/src/alert.d.ts +0 -73
  765. package/types/src/alert/src/alert.d.ts.map +0 -1
  766. package/types/src/components.d.ts +0 -15
  767. package/types/src/components.d.ts.map +0 -1
  768. package/types/src/data-chart/index.d.ts +0 -29
  769. package/types/src/data-chart/index.d.ts.map +0 -1
  770. package/types/src/data-chart/src/analyze.d.ts +0 -23
  771. package/types/src/data-chart/src/analyze.d.ts.map +0 -1
  772. package/types/src/data-chart/src/components/area.vue.d.ts +0 -12
  773. package/types/src/data-chart/src/components/area.vue.d.ts.map +0 -1
  774. package/types/src/data-chart/src/components/bar.vue.d.ts +0 -12
  775. package/types/src/data-chart/src/components/bar.vue.d.ts.map +0 -1
  776. package/types/src/data-chart/src/components/card.vue.d.ts +0 -27
  777. package/types/src/data-chart/src/components/card.vue.d.ts.map +0 -1
  778. package/types/src/data-chart/src/components/empty.vue.d.ts +0 -11
  779. package/types/src/data-chart/src/components/empty.vue.d.ts.map +0 -1
  780. package/types/src/data-chart/src/components/funnel.vue.d.ts +0 -11
  781. package/types/src/data-chart/src/components/funnel.vue.d.ts.map +0 -1
  782. package/types/src/data-chart/src/components/line.vue.d.ts +0 -12
  783. package/types/src/data-chart/src/components/line.vue.d.ts.map +0 -1
  784. package/types/src/data-chart/src/components/pie.vue.d.ts +0 -12
  785. package/types/src/data-chart/src/components/pie.vue.d.ts.map +0 -1
  786. package/types/src/data-chart/src/components/radar.vue.d.ts +0 -11
  787. package/types/src/data-chart/src/components/radar.vue.d.ts.map +0 -1
  788. package/types/src/data-chart/src/components/scatter-simple.vue.d.ts +0 -11
  789. package/types/src/data-chart/src/components/scatter-simple.vue.d.ts.map +0 -1
  790. package/types/src/data-chart/src/components/scatter.vue.d.ts +0 -11
  791. package/types/src/data-chart/src/components/scatter.vue.d.ts.map +0 -1
  792. package/types/src/data-chart/src/components/table.vue.d.ts +0 -27
  793. package/types/src/data-chart/src/components/table.vue.d.ts.map +0 -1
  794. package/types/src/data-chart/src/data-chart.vue.d.ts +0 -28
  795. package/types/src/data-chart/src/data-chart.vue.d.ts.map +0 -1
  796. package/types/src/data-chart/src/utils/config.d.ts +0 -41
  797. package/types/src/data-chart/src/utils/config.d.ts.map +0 -1
  798. package/types/src/data-chart/src/utils/injectionKeys.d.ts +0 -3
  799. package/types/src/data-chart/src/utils/injectionKeys.d.ts.map +0 -1
  800. package/types/src/data-chart/src/utils/mapData.d.ts +0 -64
  801. package/types/src/data-chart/src/utils/mapData.d.ts.map +0 -1
  802. package/types/src/data-chart/src/utils/safe-eval.d.ts +0 -9
  803. package/types/src/data-chart/src/utils/safe-eval.d.ts.map +0 -1
  804. package/types/src/data-chart/src/utils/types.d.ts +0 -72
  805. package/types/src/data-chart/src/utils/types.d.ts.map +0 -1
  806. package/types/src/data-chart/src/utils/useCharts.d.ts +0 -16
  807. package/types/src/data-chart/src/utils/useCharts.d.ts.map +0 -1
  808. package/types/src/defaults.d.ts +0 -6
  809. package/types/src/defaults.d.ts.map +0 -1
  810. package/types/src/dialog/index.d.ts +0 -3
  811. package/types/src/dialog/index.d.ts.map +0 -1
  812. package/types/src/dialog/src/dialog.d.ts +0 -25
  813. package/types/src/dialog/src/dialog.d.ts.map +0 -1
  814. package/types/src/feedback-plugin/index.d.ts +0 -9
  815. package/types/src/feedback-plugin/index.d.ts.map +0 -1
  816. package/types/src/file-upload/index.d.ts +0 -19
  817. package/types/src/file-upload/index.d.ts.map +0 -1
  818. package/types/src/file-upload/src/file-upload.vue.d.ts +0 -34
  819. package/types/src/file-upload/src/file-upload.vue.d.ts.map +0 -1
  820. package/types/src/fixed-action-bar/index.d.ts +0 -56
  821. package/types/src/fixed-action-bar/index.d.ts.map +0 -1
  822. package/types/src/fixed-action-bar/src/fixed-action-bar.vue.d.ts +0 -31
  823. package/types/src/fixed-action-bar/src/fixed-action-bar.vue.d.ts.map +0 -1
  824. package/types/src/icon/index.d.ts +0 -56
  825. package/types/src/icon/index.d.ts.map +0 -1
  826. package/types/src/icon/src/icon.d.ts +0 -62
  827. package/types/src/icon/src/icon.d.ts.map +0 -1
  828. package/types/src/image-upload/index.d.ts +0 -27
  829. package/types/src/image-upload/index.d.ts.map +0 -1
  830. package/types/src/image-upload/src/image-upload.vue.d.ts +0 -49
  831. package/types/src/image-upload/src/image-upload.vue.d.ts.map +0 -1
  832. package/types/src/make-installer.d.ts +0 -6
  833. package/types/src/make-installer.d.ts.map +0 -1
  834. package/types/src/message/index.d.ts +0 -3
  835. package/types/src/message/index.d.ts.map +0 -1
  836. package/types/src/message/src/message.d.ts +0 -21
  837. package/types/src/message/src/message.d.ts.map +0 -1
  838. package/types/src/message/src/toaster.vue.d.ts +0 -3
  839. package/types/src/message/src/toaster.vue.d.ts.map +0 -1
  840. package/types/src/photo-crop-tool/index.d.ts +0 -55
  841. package/types/src/photo-crop-tool/index.d.ts.map +0 -1
  842. package/types/src/photo-crop-tool/src/composables.d.ts +0 -7
  843. package/types/src/photo-crop-tool/src/composables.d.ts.map +0 -1
  844. package/types/src/photo-crop-tool/src/photo-crop-tool.vue.d.ts +0 -65
  845. package/types/src/photo-crop-tool/src/photo-crop-tool.vue.d.ts.map +0 -1
  846. package/types/src/subject-action/index.d.ts +0 -93
  847. package/types/src/subject-action/index.d.ts.map +0 -1
  848. package/types/src/subject-action/src/subject-action.vue.d.ts +0 -92
  849. package/types/src/subject-action/src/subject-action.vue.d.ts.map +0 -1
  850. package/types/src/subject-layout/index.d.ts +0 -30
  851. package/types/src/subject-layout/index.d.ts.map +0 -1
  852. package/types/src/subject-layout/src/subject-layout.vue.d.ts +0 -20
  853. package/types/src/subject-layout/src/subject-layout.vue.d.ts.map +0 -1
  854. package/types/src/subject-list/index.d.ts +0 -20
  855. package/types/src/subject-list/index.d.ts.map +0 -1
  856. package/types/src/subject-list/src/components/SubjectPageEnd.vue.d.ts +0 -24
  857. package/types/src/subject-list/src/components/SubjectPageEnd.vue.d.ts.map +0 -1
  858. package/types/src/subject-list/src/components/SubjectRichText.vue.d.ts +0 -25
  859. package/types/src/subject-list/src/components/SubjectRichText.vue.d.ts.map +0 -1
  860. package/types/src/subject-list/src/components/subject-blank-fill.vue.d.ts +0 -32
  861. package/types/src/subject-list/src/components/subject-blank-fill.vue.d.ts.map +0 -1
  862. package/types/src/subject-list/src/components/subject-scale.vue.d.ts +0 -29
  863. package/types/src/subject-list/src/components/subject-scale.vue.d.ts.map +0 -1
  864. package/types/src/subject-list/src/components/subject-single.vue.d.ts +0 -37
  865. package/types/src/subject-list/src/components/subject-single.vue.d.ts.map +0 -1
  866. package/types/src/subject-list/src/components/subject-text-fill.vue.d.ts +0 -34
  867. package/types/src/subject-list/src/components/subject-text-fill.vue.d.ts.map +0 -1
  868. package/types/src/subject-list/src/subject-list.vue.d.ts +0 -21
  869. package/types/src/subject-list/src/subject-list.vue.d.ts.map +0 -1
  870. package/types/src/subject-type/index.d.ts +0 -8
  871. package/types/src/subject-type/index.d.ts.map +0 -1
  872. package/types/src/subject-type/src/subject-type.vue.d.ts +0 -7
  873. package/types/src/subject-type/src/subject-type.vue.d.ts.map +0 -1
  874. package/types/src/tiny-mce-editor/index.d.ts +0 -20
  875. package/types/src/tiny-mce-editor/index.d.ts.map +0 -1
  876. package/types/src/tiny-mce-editor/src/tiny-mce-editor.vue.d.ts +0 -32
  877. package/types/src/tiny-mce-editor/src/tiny-mce-editor.vue.d.ts.map +0 -1
  878. package/types/src/ui/button/index.d.ts +0 -96
  879. package/types/src/ui/button/index.d.ts.map +0 -1
  880. package/types/src/ui/checkbox/index.d.ts +0 -111
  881. package/types/src/ui/checkbox/index.d.ts.map +0 -1
  882. package/types/src/ui/dialog/index.d.ts +0 -134
  883. package/types/src/ui/dialog/index.d.ts.map +0 -1
  884. package/types/src/ui/index.d.ts +0 -16
  885. package/types/src/ui/index.d.ts.map +0 -1
  886. package/types/src/ui/input/index.d.ts +0 -132
  887. package/types/src/ui/input/index.d.ts.map +0 -1
  888. package/types/src/ui/input-number/index.d.ts +0 -106
  889. package/types/src/ui/input-number/index.d.ts.map +0 -1
  890. package/types/src/ui/layout/index.d.ts +0 -373
  891. package/types/src/ui/layout/index.d.ts.map +0 -1
  892. package/types/src/ui/link/index.d.ts +0 -57
  893. package/types/src/ui/link/index.d.ts.map +0 -1
  894. package/types/src/ui/popover/index.d.ts +0 -89
  895. package/types/src/ui/popover/index.d.ts.map +0 -1
  896. package/types/src/ui/radio/index.d.ts +0 -84
  897. package/types/src/ui/radio/index.d.ts.map +0 -1
  898. package/types/src/ui/scrollbar/index.d.ts +0 -35
  899. package/types/src/ui/scrollbar/index.d.ts.map +0 -1
  900. package/types/src/ui/select/index.d.ts +0 -113
  901. package/types/src/ui/select/index.d.ts.map +0 -1
  902. package/types/src/ui/table/index.d.ts +0 -152
  903. package/types/src/ui/table/index.d.ts.map +0 -1
  904. package/types/src/ui/tag/index.d.ts +0 -69
  905. package/types/src/ui/tag/index.d.ts.map +0 -1
  906. package/types/src/withInstall.d.ts +0 -4
  907. package/types/src/withInstall.d.ts.map +0 -1
  908. package/types/tsconfig.tsbuildinfo +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"SubjectRichText.vue.mjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/SubjectRichText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { QxsMessage } from '../../../message'\nimport { onMounted, ref, useAttrs } from 'vue'\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 richTextContent: string\n title?: string\n isSave: boolean\n showAction?: boolean\n isEdit: boolean\n isSet: boolean\n examAnswerRelationType?: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add'])\n\nconst attrs = useAttrs()\n\nconst richContent = ref('')\n\nfunction save() {\n if (!richContent.value) {\n QxsMessage.error('富文本内容不能为空!')\n return\n }\n\n emits('save', {\n richTextContent: richContent.value || '',\n })\n}\n\nfunction init() {\n if (props.richTextContent) {\n richContent.value = props.richTextContent\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 {{ orderIndex + 1 }}.<div v-html=\"richContent\" />\n </div>\n </template>\n <template #edit>\n <TinyMceEditor\n v-model:model-value=\"richContent\"\n v-bind=\"attrs\"\n style=\"width: 100%;\"\n />\n </template>\n <SubjectAction\n v-if=\"showAction\"\n :is-edit=\"isEdit\"\n :is-set=\"isSet\"\n :exam-answer-relation-type=\"props.examAnswerRelationType\"\n :show-other-option=\"false\"\n :show-rich-text=\"false\"\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 />\n </SubjectLayout>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","attrs","useAttrs","richContent","ref","save","value","richTextContent","QxsMessage","error","onMounted","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createVNode","SubjectLayout","isEdit","preview","_createElementVNode","_hoisted_1","orderIndex","innerHTML","_hoisted_2","edit","TinyMceEditor","_mergeProps","$event","style","width","showAction","_createBlock","SubjectAction","isSet","examAnswerRelationType","onMoveUp","onMoveDown","onDelete","onSave","onEdit","onAdd","_cache","type"],"mappings":"mjCAWA,MAAMA,EAAQC,EAURC,EAAQC,EAERC,EAAQC,IAERC,EAAcC,EAAI,IAExB,SAASC,IACFF,EAAYG,MAKjBP,EAAM,OAAQ,CACZQ,gBAAiBJ,EAAYG,OAAS,KALtCE,EAAWC,MAAM,aAOrB,CAQAC,EANA,WACMb,EAAMU,kBACRJ,EAAYG,MAAQT,EAAMU,gBAE9B,GAGA,MAAMI,EAAKC,EAAa,mCAItBC,EA6BM,MAAA,CA7BAC,MAAKC,EAAEC,EAAAL,GAAGM,EAAC,iBACfC,EA2BgBC,EAAA,CA3BA,YAAWC,EAAAA,QAAM,CACpBC,UACT,IAEM,CAFNC,EAEM,MAFNC,EAEM,CADDC,EAAAA,EAAAA,EAAAA,cAAiB,IAAC,GAAAF,EAA4B,MAAA,CAAvBG,UAAQtB,EAAAG,OAAW,KAAA,EAAAoB,OAGtCC,OACT,IAIE,CAJFT,EAIEU,EAJFC,EAIE,CAHQ,cAAa1B,EAAAG,2CAAAH,EAAWG,MAAAwB,IACxBd,EAAAf,GAAK,CACb8B,MAAA,CAAAC,MAAA,UAAoB,KAAA,GAAA,CAAA,4BAGxB,IAaE,CAZMC,EAAAA,gBADRC,EAaEC,EAAA,OAXC,UAASf,EAAAA,OACT,SAAQgB,EAAAA,MACR,4BAA2BvC,EAAMwC,uBACjC,qBAAmB,EACnB,kBAAgB,EAChBC,wBAASvC,EAAK,OAAA,OACdwC,0BAAWxC,EAAK,OAAA,SAChByC,wBAAQzC,EAAK,WACb0C,OAAMpC,EACNqC,sBAAM3C,EAAK,SACX4C,MAAGC,EAAA,KAAAA,EAAA,GAAEC,GAAQ9C,QAAa8C"}
@@ -1,2 +0,0 @@
1
- import e from"./SubjectRichText.vue.mjs";export{e as default};
2
- //# sourceMappingURL=SubjectRichText.vue2.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SubjectRichText.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import{defineComponent as e,useAttrs as l,ref as t,watch as i,onMounted as a,createElementBlock as s,openBlock as n,normalizeClass as o,unref as r,createVNode as u,withCtx as d,createBlock as m,createCommentVNode as v,createElementVNode as p,createTextVNode as c,Fragment as x,renderList as f,toDisplayString as y,mergeProps as g}from"vue";import{useNamespace as w}from"@qxs-bns/hooks";import h from"@qxs-bns/icons/src/components/Plus.vue";import{QxsIcon as _}from"../../../icon/index.mjs";import{QxsMessage as b}from"../../../message/src/message.mjs";import j from"../../../subject-action/src/subject-action.vue.mjs";import k from"../../../subject-layout/src/subject-layout.vue.mjs";import C from"../../../tiny-mce-editor/src/tiny-mce-editor.vue.mjs";import{QxsButton as I}from"../../../ui/button/index.mjs";import{QxsInput as V}from"../../../ui/input/index.mjs";import"../../../ui/radio/index.mjs";import{QxsCheckboxGroup as S,QxsCheckbox as A}from"../../../ui/checkbox/index.mjs";import{QxsLink as q}from"../../../ui/link/index.mjs";import{QxsTag as O}from"../../../ui/tag/index.mjs";import"../../../ui/input-number/index.mjs";import"../../../ui/select/index.mjs";import"../../../ui/popover/index.mjs";import"../../../ui/layout/index.mjs";import"../../../ui/scrollbar/index.mjs";import"../../../ui/dialog/index.mjs";import"../../../ui/table/index.mjs";const T={class:"preview"},B={class:"content"},R={class:"title"},U={key:0},L=["innerHTML"],E={key:1,class:"flex flex-wrap",style:{"margin-top":"10px",color:"#a8abb2"}},M={class:"flex flex-items-start"},D={style:{flex:"1"}},H={class:"flex flex-justify-end"},N={class:"flex flex-items-start",style:{"margin-top":"12px"}},z={class:"answer-list",style:{"margin-top":"12px"}},P={class:"label"},F={class:"answer-tags"},G={key:0,class:"flex flex-items-start",style:{"margin-top":"12px"}},J={style:{flex:"1"}},K={key:1,class:"flex flex-items-start",style:{"margin-top":"12px"}},Q={style:{flex:"1"}},W={class:"flex flex-justify-end"};var X=e({__name:"subject-blank-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},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(e,{emit:X}){const Y=e,Z=X,$=l(),ee=t([]),le=t(""),te=t(""),ie=t(!1),ae=t(""),se=[{label:"答案不分顺序",value:"isInOrder"},{label:"忽略大小写",value:"isIgnoreCase"}],ne=t(["isIgnoreCase"]);function oe(){le.value+=" ______",ee.value.push({title:"",tag:"",showInput:!1})}function re(){ie.value=!1,ae.value=""}function ue(){le.value?ee.value.length<1?b.error("至少添加一个填空符!"):Z("save",{title:le.value.replaceAll(/ ______/g,"<filter></filter>"),answers:ee.value.map(e=>({title:e.title,isCorrect:!0})),analysis:te.value,isSetCorrectAnswer:!0,examAnswerSettingBO:{isIgnoreCase:ne.value?.includes("isIgnoreCase"),isInOrder:ne.value?.includes("isInOrder")},examRichTextContent:ie.value?ae.value:""}):b.error("题目标题不能为空!")}i(()=>le.value,()=>{const[...e]=le.value.matchAll(/ ______/g);if(e.length!==ee.value.length){const l=ee.value.length-e.length;ee.value.splice(ee.value.length-l,l)}}),a(function(){Y.title&&(le.value=Y.title.replaceAll(/<filter><\/filter>/g," ______")),Y.answerList&&Y.answerList.length&&(ee.value=Y.answerList),Y.examAnswerSettingVO&&(ne.value=ne.value.filter(e=>"isIgnoreCase"===e&&Y.examAnswerSettingVO?.isIgnoreCase||"isInOrder"===e&&Y.examAnswerSettingVO?.isInOrder)),Y.analysis&&(te.value=Y.analysis),Y.examRichTextContent&&(ae.value=Y.examRichTextContent,ie.value=!0)});const de=w("subject-blank-fill");return(e,l)=>(n(),s("div",{class:o(r(de).e("blank-fill-exam"))},[u(k,{"show-edit":e.isEdit},{preview:d(()=>[p("div",T,[p("div",B,[p("span",R,y(e.orderIndex+1)+"."+y(le.value)+"(填空题)",1),ie.value?(n(),s("div",U,[p("div",{class:"rich-text",innerHTML:ae.value},null,8,L)])):v("v-if",!0),ee.value.some(e=>e.title)?(n(),s("div",E,[l[10]||(l[10]=p("span",{class:"title"},"正确答案:",-1)),(n(!0),s(x,null,f(ee.value,(e,l)=>(n(),s("div",{key:l,class:"flex flex-wrap flex-items-center",style:{"margin-right":"10px"}},[p("span",null,"填空"+y(l+1)+":",1),p("span",null,y(e.title),1)]))),128))])):v("v-if",!0)])])]),edit:d(()=>[p("div",M,[l[11]||(l[11]=p("div",{class:"label"},[p("span",null,"题目:")],-1)),p("div",D,[u(r(V),{modelValue:le.value,"onUpdate:modelValue":l[0]||(l[0]=e=>le.value=e),type:"textarea",rows:7,"show-word-limit":"",maxlength:400,placeholder:"【填空题】请输入问题",disabled:e.isSave},null,8,["modelValue","disabled"])])]),p("div",H,[u(r(q),{type:"primary",disabled:e.isSave,onClick:oe},{default:d(()=>l[12]||(l[12]=[c(" 插入填空符 ",-1)])),_:1,__:[12]},8,["disabled"])]),p("div",N,[l[13]||(l[13]=p("div",{class:"label"},[p("span",null,"答题设置:")],-1)),(n(),s(x,null,f(se,e=>u(r(S),{key:e.value,modelValue:ne.value,"onUpdate:modelValue":l[1]||(l[1]=e=>ne.value=e)},{default:d(()=>[u(r(A),{value:e.value},{default:d(()=>[c(y(e.label),1)]),_:2},1032,["value"])]),_:2},1032,["modelValue"])),64))]),p("div",z,[(n(!0),s(x,null,f(ee.value,(l,t)=>(n(),s("div",{key:t,class:"answer-item flex flex-items-center"},[p("div",P,[p("span",null,"第"+y(t+1)+"空答案:",1)]),p("div",F,[(n(!0),s(x,null,f(l.title.split(","),e=>(n(),s(x,{key:e},[e?(n(),m(r(O),{key:0,closable:"",onClose:t=>function(e,l){if(e){const t=l.title.split(","),i=t.findIndex(l=>l===e);i>-1&&(t.splice(i,1),l.title=t.join(","))}}(e,l)},{default:d(()=>[c(y(e),1)]),_:2},1032,["onClose"])):v("v-if",!0)],64))),128)),e.isSave?v("v-if",!0):(n(),s(x,{key:0},[l.showInput?(n(),m(r(V),{key:0,modelValue:l.tag,"onUpdate:modelValue":e=>l.tag=e,style:{width:"80px"},onBlur:()=>function(e){e.showInput=!1,e.tag&&(e.title=e.title?[e.title,e.tag].join(","):e.tag,e.tag="")}(l)},null,8,["modelValue","onUpdate:modelValue","onBlur"])):(n(),m(r(I),{key:1,size:"small",onClick:e=>l.showInput=!0},{icon:d(()=>[u(r(_),{icon:h})]),default:d(()=>[p("span",null,y(l.title?"添加同义词":"添加答案"),1)]),_:2},1032,["onClick"]))],64))])]))),128))]),e.showAnalysis?(n(),s("div",G,[l[14]||(l[14]=p("div",{class:"label"},[p("span",null,"解析:")],-1)),p("div",J,[u(r(V),{modelValue:te.value,"onUpdate:modelValue":l[2]||(l[2]=e=>te.value=e),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])])):v("v-if",!0),ie.value?(n(),s("div",K,[l[16]||(l[16]=p("div",{class:"label"},[p("span",null,"富文本:")],-1)),p("div",Q,[u(C,g({"model-value":ae.value,"onUpdate:modelValue":l[3]||(l[3]=e=>ae.value=e)},r($),{style:{width:"100%"}}),null,16,["model-value"]),p("div",W,[u(r(q),{type:"danger",onClick:re},{default:d(()=>l[15]||(l[15]=[c(" 删除富文本 ",-1)])),_:1,__:[15]})])])])):v("v-if",!0)]),default:d(()=>[e.showAction?(n(),m(j,{key:0,"is-edit":e.isEdit,"is-set":e.isSet,"show-other-option":!1,"exam-answer-relation-type":Y.examAnswerRelationType,onMoveUp:l[4]||(l[4]=e=>Z("move","up")),onMoveDown:l[5]||(l[5]=e=>Z("move","down")),onDelete:l[6]||(l[6]=e=>Z("delete")),onSave:ue,onEdit:l[7]||(l[7]=e=>Z("edit")),onAdd:l[8]||(l[8]=e=>Z("add",e)),onOnShowRichText:l[9]||(l[9]=e=>ie.value=!0)},null,8,["is-edit","is-set","exam-answer-relation-type"])):v("v-if",!0)]),_:1},8,["show-edit"])],2))}});export{X as default};
2
- //# sourceMappingURL=subject-blank-fill.vue.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subject-blank-fill.vue.mjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/subject-blank-fill.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\nimport Plus from '@qxs-bns/icons/src/components/Plus.vue'\nimport { onMounted, ref, useAttrs, watch } from 'vue'\nimport { QxsIcon } from '../../../icon'\nimport { QxsMessage } from '../../../message'\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 { QxsButton, QxsCheckbox, QxsCheckboxGroup, QxsInput, QxsLink, QxsTag } from '../../../ui'\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 examAnswerSettingVO?: {\n isInOrder: boolean\n isIgnoreCase: boolean\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\nconst title = ref('')\nconst analysis = 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(['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 addBlank() {\n title.value += ' ______'\n answers.value.push({\n title: '',\n tag: '',\n showInput: false,\n })\n}\n\nfunction deleteRichText() {\n showRichText.value = false\n richText.value = ''\n}\n\nfunction save() {\n if (!title.value) {\n QxsMessage.error('题目标题不能为空!')\n return\n }\n\n if (answers.value.length < 1) {\n QxsMessage.error('至少添加一个填空符!')\n return\n }\n\n emits('save', {\n title: title.value.replaceAll(/ ______/g, '<filter></filter>'),\n answers: answers.value.map((item: any) => {\n return { title: item.title, isCorrect: true }\n }),\n analysis: analysis.value,\n isSetCorrectAnswer: true,\n examAnswerSettingBO: {\n isIgnoreCase: isCheckList.value?.includes('isIgnoreCase'),\n isInOrder: isCheckList.value?.includes('isInOrder'),\n },\n examRichTextContent: showRichText.value ? richText.value : '',\n })\n}\n\nfunction init() {\n if (props.title) {\n title.value = props.title.replaceAll(/<filter><\\/filter>/g, ' ______')\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: any) =>\n (item === 'isIgnoreCase' && props.examAnswerSettingVO?.isIgnoreCase)\n || (item === 'isInOrder' && props.examAnswerSettingVO?.isInOrder),\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}\n\nwatch(() => title.value, () => {\n const [...matchs] = title.value.matchAll(/ ______/g)\n if (matchs.length !== answers.value.length) {\n const differ = answers.value.length - matchs.length\n answers.value.splice(answers.value.length - differ, differ)\n }\n})\n\nonMounted(init)\nconst ns = useNamespace('subject-blank-fill')\n</script>\n\n<template>\n <div :class=\"ns.e('blank-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\n class=\"rich-text\"\n v-html=\"richText\"\n />\n </div>\n <div\n v-if=\"answers.some((item) => item.title)\"\n class=\"flex flex-wrap\"\n style=\"margin-top: 10px;color: #a8abb2;\"\n >\n <span class=\"title\">正确答案:</span>\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"flex flex-wrap flex-items-center\"\n style=\"margin-right: 10px;\"\n >\n <span>填空{{ index + 1 }}:</span>\n <span>{{ item.title }}</span>\n </div>\n </div>\n </div>\n </div>\n </template>\n <template #edit>\n <div class=\"flex flex-items-start\">\n <div class=\"label\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\">\n <QxsInput\n v-model=\"title\"\n type=\"textarea\"\n :rows=\"7\"\n show-word-limit\n :maxlength=\"400\"\n placeholder=\"【填空题】请输入问题\"\n :disabled=\"isSave\"\n />\n </div>\n </div>\n <div class=\"flex flex-justify-end\">\n <QxsLink\n type=\"primary\"\n :disabled=\"isSave\"\n @click=\"addBlank\"\n >\n 插入填空符\n </QxsLink>\n </div>\n <div\n class=\"flex flex-items-start\"\n style=\"margin-top: 12px;\"\n >\n <div class=\"label\">\n <span>答题设置:</span>\n </div>\n\n <QxsCheckboxGroup\n v-for=\"item in checkList\"\n :key=\"item.value\"\n v-model=\"isCheckList\"\n >\n <QxsCheckbox\n :value=\"item.value\"\n >\n {{ item.label }}\n </QxsCheckbox>\n </QxsCheckboxGroup>\n </div>\n <div\n class=\"answer-list\"\n style=\"margin-top: 12px;\"\n >\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\">\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 <QxsTag\n v-if=\"i\"\n closable\n @close=\"closeTag(i, item)\"\n >\n {{ i }}\n </QxsTag>\n </template>\n <template v-if=\"!isSave\">\n <QxsInput\n v-if=\"item.showInput\"\n v-model=\"item.tag\"\n style=\"width: 80px;\"\n @blur=\"() => handleAddTag(item)\"\n />\n <QxsButton\n v-else\n size=\"small\"\n @click=\"item.showInput = true\"\n >\n <template #icon>\n <QxsIcon :icon=\"Plus\" />\n </template>\n <span>{{ item.title ? '添加同义词' : '添加答案' }}</span>\n </QxsButton>\n </template>\n </div>\n </div>\n </div>\n <div\n v-if=\"showAnalysis\"\n class=\"flex flex-items-start\"\n style=\"margin-top: 12px;\"\n >\n <div class=\"label\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <QxsInput\n v-model=\"analysis\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"请输入题目解析\"\n />\n </div>\n </div>\n <div\n v-if=\"showRichText\"\n class=\"flex flex-items-start\"\n style=\"margin-top: 12px;\"\n >\n <div class=\"label\">\n <span>富文本:</span>\n </div>\n <div style=\"flex: 1;\">\n <TinyMceEditor\n v-model:model-value=\"richText\"\n v-bind=\"attrs\"\n style=\"width: 100%;\"\n />\n <div class=\"flex flex-justify-end\">\n <QxsLink\n type=\"danger\"\n @click=\"deleteRichText\"\n >\n 删除富文本\n </QxsLink>\n </div>\n </div>\n </div>\n </template>\n <SubjectAction\n v-if=\"showAction\"\n :is-edit=\"isEdit\"\n :is-set=\"isSet\"\n :show-other-option=\"false\"\n :exam-answer-relation-type=\"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 @on-show-rich-text=\"showRichText = true\"\n />\n </SubjectLayout>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","attrs","useAttrs","answers","ref","title","analysis","showRichText","richText","checkList","label","value","isCheckList","addBlank","push","tag","showInput","deleteRichText","save","length","QxsMessage","error","replaceAll","map","item","isCorrect","isSetCorrectAnswer","examAnswerSettingBO","isIgnoreCase","includes","isInOrder","examRichTextContent","watch","matchs","matchAll","differ","splice","onMounted","answerList","examAnswerSettingVO","filter","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createVNode","SubjectLayout","isEdit","preview","_createElementVNode","_hoisted_1","_hoisted_2","_hoisted_3","_toDisplayString","orderIndex","_hoisted_4","innerHTML","some","_openBlock","_hoisted_6","_cache","_Fragment","_renderList","index","key","style","edit","_hoisted_7","_hoisted_8","QxsInput","$event","type","rows","maxlength","placeholder","disabled","isSave","_hoisted_9","QxsLink","onClick","_hoisted_10","QxsCheckboxGroup","QxsCheckbox","_createTextVNode","_hoisted_11","_hoisted_12","_hoisted_13","split","i","_createBlock","QxsTag","closable","onClose","tags","findIndex","join","closeTag","modelValue","width","onBlur","handleAddTag","QxsButton","size","icon","QxsIcon","Plus","showAnalysis","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","TinyMceEditor","_mergeProps","_hoisted_18","showAction","SubjectAction","isSet","examAnswerRelationType","onMoveUp","onMoveDown","onDelete","onSave","onEdit","onAdd","onOnShowRichText"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import e from"./subject-blank-fill.vue.mjs";export{e as default};
2
- //# sourceMappingURL=subject-blank-fill.vue2.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subject-blank-fill.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import{defineComponent as e,useAttrs as l,ref as t,computed as i,onMounted as a,createElementBlock as s,openBlock as n,normalizeClass as o,unref as r,createVNode as u,withCtx as d,createBlock as m,createCommentVNode as c,createElementVNode as p,Fragment as v,renderList as x,toDisplayString as f,mergeProps as y,withModifiers as h,createTextVNode as w}from"vue";import b from"@qxs-bns/icons/src/components/CirclePlus.vue";import j from"@qxs-bns/icons/src/components/Remove.vue";import{useNamespace as g}from"@qxs-bns/hooks";import"../../../ui/button/index.mjs";import{QxsInput as S}from"../../../ui/input/index.mjs";import{QxsRadio as q}from"../../../ui/radio/index.mjs";import"../../../ui/checkbox/index.mjs";import{QxsLink as C}from"../../../ui/link/index.mjs";import"../../../ui/tag/index.mjs";import"../../../ui/input-number/index.mjs";import"../../../ui/select/index.mjs";import"../../../ui/popover/index.mjs";import{QxsRow as k,QxsCol as V}from"../../../ui/layout/index.mjs";import"../../../ui/scrollbar/index.mjs";import"../../../ui/dialog/index.mjs";import"../../../ui/table/index.mjs";import{QxsIcon as _}from"../../../icon/index.mjs";import{QxsMessage as L}from"../../../message/src/message.mjs";import T from"../../../subject-action/src/subject-action.vue.mjs";import R from"../../../subject-layout/src/subject-layout.vue.mjs";import U from"../../../tiny-mce-editor/src/tiny-mce-editor.vue.mjs";const A={class:"preview"},E={class:"title"},M={key:0},Q=["innerHTML"],B={class:"answer-radio flex-col"},D={class:"flex flex-items-start"},H={style:{flex:"1"}},I={class:"answer flex flex-items-start",style:{"margin-top":"12px"}},N={class:"flex"},$={class:"answer-list flex-col"},O={class:"order"},P={class:"flex flex-items-start",style:{"margin-top":"12px"}},z={style:{flex:"1"}},F={key:0,class:"flex flex-items-start",style:{"margin-top":"12px"}},G={style:{flex:"1"}},J={class:"flex flex-justify-end"};var K=e({name:"QxsSubjectScale",__name:"subject-scale",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},rowTitle:{type:String,required:!1},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},scaleQuestionList:{type:null,required:!1},examRichTextContent:{type:String,required:!1},examAnswerRelationType:{type:Number,required:!1}},emits:["move","save","delete","edit","add"],setup(e,{emit:K}){const W=e,X=K,Y=l(),Z=t([{title:""},{title:""},{title:""},{title:""},{title:""}]),ee=t(""),le=t(""),te=t(""),ie=t(!1),ae=t(""),se=t([]),ne=i(()=>Math.ceil(24/(Z.value.length+1)));function oe(){5!==Z.value.length&&Z.value.push({title:""})}function re(){ie.value=!1,ae.value=""}function ue(){if(!ee.value)return void L.error("题目标题不能为空!");let e="";Z.value.forEach((l,t)=>{l.title||(e+=`选项${String.fromCharCode(65+t)}未填写。`)}),e?L.error(e):te.value?(se.value=te.value.split("\n").filter(e=>e),X("save",{title:ee.value,answers:Z.value,analysis:le.value,scaleQuestionList:se.value,examRichTextContent:ie.value?ae.value:""})):L.error("行标题不能为空!")}a(function(){W.title&&(ee.value=W.title),W.answerList&&W.answerList.length&&(Z.value=W.answerList),W.analysis&&(le.value=W.analysis),W.scaleQuestionList&&(se.value=W.scaleQuestionList,te.value=se.value.join("\n")),W.examRichTextContent&&(ae.value=W.examRichTextContent,ie.value=!0)});const de=g("subject-scale");return(e,l)=>(n(),s("div",{class:o(r(de).e("scale-exam"))},[u(R,{"show-edit":e.isEdit},{preview:d(()=>[p("div",A,[p("div",null,[p("span",E,f(e.orderIndex+1)+"."+f(ee.value)+"(量表题)",1),ie.value?(n(),s("div",M,[p("div",{class:"rich-text",innerHTML:ae.value},null,8,Q)])):c("v-if",!0)]),p("div",B,[u(r(k),{style:{padding:"10px 0"}},{default:d(()=>[u(r(V),{span:ne.value},null,8,["span"]),(n(!0),s(v,null,x(Z.value,e=>(n(),m(r(V),{key:e.title,class:"flex flex-center",span:ne.value},{default:d(()=>[p("span",null,f(e.title),1)]),_:2},1032,["span"]))),128))]),_:1}),(n(!0),s(v,null,x(se.value,e=>(n(),m(r(k),{key:e,style:{padding:"10px 0"}},{default:d(()=>[u(r(V),{span:ne.value,class:"flex flex-center"},{default:d(()=>[p("span",null,f(e),1)]),_:2},1032,["span"]),(n(!0),s(v,null,x(Z.value.length,e=>(n(),m(r(V),{key:e,class:"radio-item flex flex-center",span:ne.value},{default:d(()=>[u(r(q),{disabled:!0})]),_:2},1032,["span"]))),128))]),_:2},1024))),128))])])]),edit:d(()=>[p("div",D,[l[10]||(l[10]=p("div",{class:"label"},[p("span",null,"题目:")],-1)),p("div",H,[u(r(S),{modelValue:ee.value,"onUpdate:modelValue":l[0]||(l[0]=e=>ee.value=e),type:"textarea",rows:2,placeholder:"【量表题】请输入问题",disabled:e.isSave},null,8,["modelValue","disabled"])])]),p("div",I,[l[11]||(l[11]=p("div",{class:"label"},[p("span",null,"行标题:")],-1)),p("div",N,[u(r(S),{modelValue:te.value,"onUpdate:modelValue":l[1]||(l[1]=e=>te.value=e),type:"textarea",placeholder:"请输入行标题",style:{width:"160px"},rows:10},null,8,["modelValue"]),p("div",$,[(n(!0),s(v,null,x(Z.value,(l,t)=>(n(),s("div",{key:t,class:"answer-item flex flex-items-center"},[p("span",O,f(String.fromCharCode(65+t))+".",1),u(r(S),{modelValue:l.title,"onUpdate:modelValue":e=>l.title=e,class:"input","show-word-limit":"",maxlength:10,placeholder:`选项${String.fromCharCode(65+t)}`,disabled:e.isSave},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled"]),u(r(_),{class:o(["icon",[{disabled:5===Z.value.length}]]),color:"#c0c4cc",icon:b,onClick:oe},null,8,["class"]),u(r(_),{class:o(["icon",[{disabled:Z.value.length<3}]]),color:"#c0c4cc",icon:j,onClick:e=>function(e){Z.value.length<3||Z.value.splice(e,1)}(t)},null,8,["class","onClick"])]))),128))])])]),p("div",P,[l[12]||(l[12]=p("div",{class:"label"},[p("span",null,"解析:")],-1)),p("div",z,[u(r(S),{modelValue:le.value,"onUpdate:modelValue":l[2]||(l[2]=e=>le.value=e),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])]),ie.value?(n(),s("div",F,[l[14]||(l[14]=p("div",{class:"label"},[p("span",null,"富文本:")],-1)),p("div",G,[u(U,y({"model-value":ae.value,"onUpdate:modelValue":l[3]||(l[3]=e=>ae.value=e)},r(Y),{style:{width:"100%"}}),null,16,["model-value"]),p("div",J,[u(r(C),{type:"danger",onClick:h(re,["prevent"])},{default:d(()=>l[13]||(l[13]=[w(" 删除富文本 ",-1)])),_:1,__:[13]})])])])):c("v-if",!0)]),default:d(()=>[e.showAction?(n(),m(T,{key:0,"is-edit":e.isEdit,"is-set":e.isSet,"show-other-option":!1,"exam-answer-relation-type":W.examAnswerRelationType,onMoveUp:l[4]||(l[4]=e=>X("move","up")),onMoveDown:l[5]||(l[5]=e=>X("move","down")),onDelete:l[6]||(l[6]=e=>X("delete")),onSave:ue,onEdit:l[7]||(l[7]=e=>X("edit")),onAdd:l[8]||(l[8]=e=>X("add",e)),onOnShowRichText:l[9]||(l[9]=e=>ie.value=!0)},null,8,["is-edit","is-set","exam-answer-relation-type"])):c("v-if",!0)]),_:1},8,["show-edit"])],2))}});export{K as default};
2
- //# sourceMappingURL=subject-scale.vue.mjs.map
@@ -1 +0,0 @@
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 from '@qxs-bns/icons/src/components/CirclePlus.vue'\nimport Remove from '@qxs-bns/icons/src/components/Remove.vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { QxsCol, QxsIcon, QxsInput, QxsLink, QxsRadio, QxsRow } from '../../../ui'\nimport { QxsMessage } from '../../../message'\nimport { computed, onMounted, ref, useAttrs } from 'vue'\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 QxsMessage.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 QxsMessage.error(msg)\n return\n }\n\n if (!rowTitle.value) {\n QxsMessage.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\n class=\"rich-text\"\n v-html=\"richText\"\n />\n </div>\n </div>\n <div class=\"answer-radio flex-col\">\n <QxsRow style=\"padding: 10px 0;\">\n <QxsCol :span=\"span\" />\n <QxsCol\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 </QxsCol>\n </QxsRow>\n <QxsRow\n v-for=\"item in scaleQuestionList\"\n :key=\"item\"\n style=\"padding: 10px 0;\"\n >\n <QxsCol\n :span=\"span\"\n class=\"flex flex-center\"\n >\n <span>{{ item }}</span>\n </QxsCol>\n <QxsCol\n v-for=\"i in answers.length\"\n :key=\"i\"\n class=\"radio-item flex flex-center\"\n :span=\"span\"\n >\n <QxsRadio :disabled=\"true\" />\n </QxsCol>\n </QxsRow>\n </div>\n </div>\n </template>\n <template #edit>\n <div class=\"flex flex-items-start\">\n <div class=\"label\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\">\n <QxsInput\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 flex-items-start\" style=\"margin-top: 12px;\">\n <div class=\"label\">\n <span>行标题:</span>\n </div>\n <div class=\"flex\">\n <QxsInput\n v-model=\"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 <QxsInput\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 <QxsIcon class=\"icon\" color=\"#c0c4cc\" :icon=\"CirclePlus\" :class=\"[{ disabled: answers.length === 5 }]\" @click=\"addAnswer\" />\n <QxsIcon class=\"icon\" color=\"#c0c4cc\" :icon=\"Remove\" :class=\"[{ disabled: answers.length < 3 }]\" @click=\"deleteAnswer(index)\" />\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"flex flex-items-start\"\n style=\"margin-top: 12px;\"\n >\n <div class=\"label\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <QxsInput\n v-model=\"analysis\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"请输入题目解析\"\n />\n </div>\n </div>\n <div\n v-if=\"showRichText\"\n class=\"flex flex-items-start\"\n style=\"margin-top: 12px;\"\n >\n <div class=\"label\">\n <span>富文本:</span>\n </div>\n <div style=\"flex: 1;\">\n <TinyMceEditor\n v-model:model-value=\"richText\"\n v-bind=\"attrs\"\n style=\"width: 100%;\"\n />\n <div class=\"flex flex-justify-end\">\n <QxsLink\n type=\"danger\"\n @click.prevent=\"deleteRichText\"\n >\n 删除富文本\n </QxsLink>\n </div>\n </div>\n </div>\n </template>\n <SubjectAction\n v-if=\"showAction\"\n :is-edit=\"isEdit\"\n :is-set=\"isSet\"\n :show-other-option=\"false\"\n :exam-answer-relation-type=\"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 @on-show-rich-text=\"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","QxsMessage","error","msg","forEach","v","i","String","fromCharCode","split","filter","examRichTextContent","onMounted","answerList","join","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createVNode","SubjectLayout","isEdit","preview","_createElementVNode","_hoisted_1","_hoisted_2","_toDisplayString","orderIndex","_hoisted_3","innerHTML","_hoisted_5","QxsRow","style","padding","QxsCol","_Fragment","_renderList","item","_createBlock","key","_openBlock","QxsRadio","disabled","edit","_hoisted_6","_hoisted_7","QxsInput","$event","type","rows","placeholder","isSave","_hoisted_8","_hoisted_9","width","_hoisted_10","index","_hoisted_11","modelValue","maxlength","QxsIcon","color","icon","CirclePlus","onClick","Remove","splice","deleteAnswer","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","TinyMceEditor","_mergeProps","_hoisted_16","QxsLink","_cache","showAction","SubjectAction","isSet","examAnswerRelationType","onMoveUp","onMoveDown","onDelete","onSave","onEdit","onAdd","onOnShowRichText"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import e from"./subject-scale.vue.mjs";export{e as default};
2
- //# sourceMappingURL=subject-scale.vue2.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subject-scale.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import{defineComponent as e,useAttrs as l,ref as t,computed as a,watch as i,onMounted as s,createElementBlock as r,openBlock as o,normalizeClass as n,unref as u,createVNode as d,createSlots as m,withCtx as p,createBlock as v,createCommentVNode as c,createElementVNode as y,createTextVNode as f,toDisplayString as x,Fragment as h,renderList as w,withModifiers as C,mergeProps as g}from"vue";import{useNamespace as b}from"@qxs-bns/hooks";import k from"@qxs-bns/icons/src/components/CirclePlus.vue";import S from"@qxs-bns/icons/src/components/Remove.vue";import{nanoid as j}from"nanoid";import{QxsMessage as V}from"../../../message/src/message.mjs";import A from"../../../subject-action/src/subject-action.vue.mjs";import _ from"../../../subject-layout/src/subject-layout.vue.mjs";import q from"../../../tiny-mce-editor/src/tiny-mce-editor.vue.mjs";import{QxsButton as T}from"../../../ui/button/index.mjs";import{QxsInput as R}from"../../../ui/input/index.mjs";import{QxsRadio as I}from"../../../ui/radio/index.mjs";import{QxsCheckbox as E}from"../../../ui/checkbox/index.mjs";import{QxsLink as U}from"../../../ui/link/index.mjs";import"../../../ui/tag/index.mjs";import"../../../ui/input-number/index.mjs";import{QxsSelect as B,QxsOption as L}from"../../../ui/select/index.mjs";import"../../../ui/popover/index.mjs";import"../../../ui/layout/index.mjs";import"../../../ui/scrollbar/index.mjs";import{QxsDialogComponent as $}from"../../../ui/dialog/index.mjs";import"../../../ui/table/index.mjs";import{QxsIcon as K}from"../../../icon/index.mjs";const N={class:"preview"},z={class:"title"},M={key:0},D={key:1},H={key:0},O=["innerHTML"],P={class:"preview-answer"},Q={class:"order"},F={class:"order"},G={style:{flex:"1"}},J={key:0,class:"flex flex-items-start",style:{"margin-top":"12px"}},W={class:"answer-list",style:{"margin-top":"12px"}},X={class:"label"},Y={key:0,class:"sort-order",style:{"margin-left":"10px","font-weight":"bold",color:"#409eff"}},Z={key:1,class:"flex flex-items-start",style:{"margin-top":"12px"}},ee={style:{flex:"1"}},le={key:2,class:"flex flex-items-start"},te={style:{flex:"1"}},ae={key:3,class:"flex flex-items-start",style:{"margin-top":"12px"}},ie={style:{flex:"1"}},se={class:"flex flex-justify-end"};var re=e({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:String,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(e,{emit:re}){const oe=e,ne=re,ue=l(),de=t(0),me=t(oe.isKey),pe=t(1),ve=t(oe.examAnswerRelationType),ce=t([{title:"",isCorrect:!1},{title:"",isCorrect:!1},{title:"",isCorrect:!1},{title:"",isCorrect:!1}]),ye=t(2),fe=t(""),xe=t(""),he=t(!1),we=t(""),Ce=t(0),ge=t(!1),be=t(""),ke=a(()=>"single"===oe.type?"单选题":"multiple"===oe.type?"多选题":"排序题"),Se=t([]),je=a(()=>e=>{const l=String.fromCharCode(65+e),t=Se.value.indexOf(l);return t>=0?t+1:null}),Ve=a(()=>{const e=[];for(let l=ce.value.length;l>1;l--)e.push({label:`至少选择${l}项`,value:l});return e.reverse()});function Ae(){oe.isSave||ce.value.push({title:"",isCorrect:!1,customAnswerId:j()})}function _e(){he.value=!1,we.value=""}function qe(){if(!fe.value)return void V.error("题目标题不能为空!");if(!pe.value)return void V.error("请选择答题设置");let e="",l=!1,t=0;if("multiple"===oe.type||"single"===oe.type?ce.value.forEach((a,i)=>{a.title?.trim()||(e+=`选项${String.fromCharCode(65+i)}未填写。`),a.isCorrect&&(l=!0,t++),a.relationType=a.resultItem?1:a.answerRelations?.length?2:null}):"sort"===oe.type&&Se.value.length&&(l=!0),e)return void V.error(e);if(new Set(ce.value.map(e=>e.title)).size===ce.value.length){if("multiple"===oe.type){if(1===t)return void V.error("请至少设置两个支持选项");if(l&&t<ye.value)return void V.error("至少选几项与支持选项数不符")}2!==pe.value&&3!==pe.value||l?ne("save",{title:fe.value,answers:ce.value.map((e,l)=>({...e,orderIndex:l+1})),examExpand:Se.value.map(e=>e.charCodeAt(0)-65+1).join(","),analysis:xe.value,isSetCorrectAnswer:l,leastAnswerCount:ye.value,examRichTextContent:he.value?we.value:"",examAnswerRelationType:ve.value,isKey:me.value,answerCheckType:pe.value}):V.error("请设置支持选项")}else V.error("选项不能重复")}function Te(){ce.value[de.value].resultItem=be.value||"",ge.value=!1}function Re(){ge.value=!1,be.value=""}function Ie(e){me.value=e}function Ee(e){pe.value=e}function Ue(e,l){ne("add",e,l?oe.examAnswerRelationType:null)}i(()=>oe.isEdit,()=>{oe.isEdit&&(Ce.value=(new Date).getTime())});const Be=a(()=>e=>{let l=0;return e.forEach(e=>{e.relationAnswers&&(l+=e.relationAnswers.length)}),l}),Le=b("subject-single");return s(function(){if(oe.title&&(fe.value=oe.title),oe.answerCheckType&&(pe.value=oe.answerCheckType),oe.isKey&&(me.value=oe.isKey),oe.examAnswerRelationType&&(ve.value=oe.examAnswerRelationType),oe.answerList&&oe.answerList.length&&(ce.value=oe.answerList),oe.leastAnswerCount&&(ye.value=oe.leastAnswerCount),oe.examExpand&&oe.examExpand){const e=oe.examExpand.split(",");Se.value=e.map(e=>{const l=oe.answerList.find(l=>l.answerId?.toString()===e);return l?String.fromCharCode(65+l.orderIndex-1):e}).filter(Boolean)}oe.analysis&&(xe.value=oe.analysis),oe.examRichTextContent&&(we.value=oe.examRichTextContent,he.value=!0)}),(e,l)=>(o(),r("div",{class:n(u(Le).e("single-exam"))},[d(_,{"show-edit":e.isEdit},m({preview:p(()=>[y("div",N,[y("div",null,[y("span",z,[f(x(e.orderIndex+1)+"."+x(fe.value)+" ",1),"single"===e.type?(o(),r("span",M,"(单选题)")):["multiple","sort"].includes(e.type)?(o(),r("span",D," ("+x(ke.value)+x(ye.value?`至少选${ye.value}项${"sort"===e.type?"并排序":""}`:"")+") ",1)):c("v-if",!0)])]),he.value?(o(),r("div",H,[y("div",{class:"rich-text",innerHTML:we.value},null,8,O)])):c("v-if",!0),y("div",P,["sort"===e.type?(o(!0),r(h,{key:0},w(ce.value,(e,l)=>(o(),v(u(E),{key:l,class:"radio",disabled:!0},{default:p(()=>[y("span",Q,x(String.fromCharCode(65+l))+". ",1),f(" "+x(e.title),1)]),_:2},1024))),128)):(o(!0),r(h,{key:1},w(ce.value,(e,l)=>(o(),v(u(I),{key:l,class:"radio",value:"disabled",disabled:""},{default:p(()=>[y("span",F,x(String.fromCharCode(65+l))+". ",1),f(" "+x(e.title)+" "+x(e.isCorrect?"(支持选项)":"")+" "+x(1===ve.value?e.resultItem?"(已设置结果项)":"(未设置结果项)":"")+" "+x(2===ve.value?e.answerRelations?.length?"(已设置关联)":"(未设置关联)":""),1)]),_:2},1024))),128))])])]),default:p(()=>[e.showAction?(o(),v(A,{key:0,"is-edit":e.isEdit,"is-set":e.isSet,"is-key":me.value,"show-other-option":"multiple"===oe.type||"single"===oe.type,"exam-answer-relation-type":oe.examAnswerRelationType,"answer-check-type":pe.value,onMoveUp:l[5]||(l[5]=e=>ne("move","up")),onMoveDown:l[6]||(l[6]=e=>ne("move","down")),onDelete:l[7]||(l[7]=e=>ne("delete")),onSave:qe,onEdit:l[8]||(l[8]=e=>ne("edit")),onAdd:Ue,onOnShowRichText:l[9]||(l[9]=e=>he.value=!0),onSetKey:Ie,onSetAnswerSetting:Ee},null,8,["is-edit","is-set","is-key","show-other-option","exam-answer-relation-type","answer-check-type"])):c("v-if",!0)]),_:2},[e.isEdit?{name:"edit",fn:p(()=>[y("div",{class:n(["flex flex-items-start",[{"margin-bottom":he.value}]])},[l[12]||(l[12]=y("div",{class:"label"},[y("span",null,"题目:")],-1)),y("div",G,[d(u(R),{modelValue:fe.value,"onUpdate:modelValue":l[0]||(l[0]=e=>fe.value=e),type:"textarea",rows:2,placeholder:`【${ke.value}】请输入问题`,disabled:e.isSave,"show-word-limit":"",maxlength:200},null,8,["modelValue","placeholder","disabled"])])],2),["multiple","sort"].includes(e.type)?(o(),r("div",J,[l[13]||(l[13]=y("div",{class:"label"},[y("span",null,"设置:")],-1)),d(u(B),{modelValue:ye.value,"onUpdate:modelValue":l[1]||(l[1]=e=>ye.value=e),style:{width:"150px"},placeholder:"至少选择几项",disabled:e.isSave},{default:p(()=>[(o(!0),r(h,null,w(Ve.value,e=>(o(),v(u(L),{key:e.value,value:e.value,label:e.label},null,8,["value","label"]))),128))]),_:1},8,["modelValue","disabled"])])):c("v-if",!0),y("div",W,[(o(!0),r(h,null,w(ce.value,(t,a)=>(o(),r("div",{key:a,class:"answer-item flex flex-items-center"},[y("span",X,x(String.fromCharCode(65+a))+".",1),d(u(R),{modelValue:t.title,"onUpdate:modelValue":e=>t.title=e,class:"input","show-word-limit":"",maxlength:100,placeholder:`选项${String.fromCharCode(65+a)}`,disabled:e.isSave},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled"]),"sort"===e.type&&je.value(a)?(o(),r("span",Y," 第"+x(je.value(a))+"位 ",1)):c("v-if",!0),["single","multiple"].includes(e.type)?(o(),v(u(E),{key:1,modelValue:t.isCorrect,"onUpdate:modelValue":e=>t.isCorrect=e,class:n([{"is-correct":t.isCorrect}]),disabled:e.isSave,style:{"margin-left":"10px"},onChange:e=>function(e,l){"single"===oe.type?(l&&ce.value.forEach(l=>{l!==e&&(l.isCorrect=!1)}),e.isCorrect=l):"multiple"===oe.type&&(e.isCorrect=l)}(t,e)},{default:p(()=>[...l[14]||(l[14]=[f(" 支持选项 ",-1)])]),_:2,__:[14]},1032,["modelValue","onUpdate:modelValue","class","disabled","onChange"])):c("v-if",!0),d(u(K),{class:"icon",color:"#c0c4cc",icon:k,onClick:Ae}),d(u(K),{class:"icon",color:"#c0c4cc",icon:S,onClick:e=>function(e){ce.value.length<3||oe.isSave||ce.value.splice(e,1)}(a)},null,8,["onClick"]),1===ve.value&&"sort"!==e.type?(o(),v(u(U),{key:2,type:"primary",onClick:C(e=>{return l=a,de.value=l,be.value=ce.value[l].resultItem||"",void(ge.value=!0);var l},["prevent"])},{default:p(()=>[y("span",null,x(t.resultItem?"编辑结果":"添加结果"),1)]),_:2},1032,["onClick"])):c("v-if",!0),2===ve.value&&"sort"!==e.type?(o(),v(u(U),{key:3,type:"primary",onClick:C(e=>function(e){e.customAnswerId=e.examAnswerId||j(),ne("setRelation",oe.customId,e)}(t),["prevent"])},{default:p(()=>[y("span",null,x(t.answerRelations?.length?`关联了${Be.value(t.answerRelations)}项`:"关联检查"),1)]),_:2},1032,["onClick"])):c("v-if",!0)]))),128))]),"sort"===e.type?(o(),r("div",Z,[l[15]||(l[15]=y("div",{class:"label"},[y("span",null,"排序答案:")],-1)),y("div",ee,[d(u(B),{modelValue:Se.value,"onUpdate:modelValue":l[2]||(l[2]=e=>Se.value=e),multiple:"",style:{width:"360px"},placeholder:"请按顺序选择排序答案"},{default:p(()=>[(o(!0),r(h,null,w(ce.value,(e,l)=>(o(),v(u(L),{key:l,label:String.fromCharCode(65+l),value:String.fromCharCode(65+l)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])])):c("v-if",!0),e.showAnalysis?(o(),r("div",le,[l[16]||(l[16]=y("div",{class:"label"},[y("span",null,"解析:")],-1)),y("div",te,[d(u(R),{modelValue:xe.value,"onUpdate:modelValue":l[3]||(l[3]=e=>xe.value=e),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])])):c("v-if",!0),he.value?(o(),r("div",ae,[l[18]||(l[18]=y("div",{class:"label"},[y("span",null,"富文本:")],-1)),y("div",ie,[d(q,g({"model-value":we.value,"onUpdate:modelValue":l[4]||(l[4]=e=>we.value=e)},u(ue),{style:{width:"100%"}}),null,16,["model-value"]),y("div",se,[d(u(U),{type:"danger",onClick:C(_e,["prevent"])},{default:p(()=>l[17]||(l[17]=[f(" 删除富文本 ",-1)])),_:1,__:[17]})])])])):c("v-if",!0)]),key:"0"}:void 0]),1032,["show-edit"]),d(u($),{modelValue:ge.value,"onUpdate:modelValue":l[11]||(l[11]=e=>ge.value=e),title:"添加结果",class:"customize-dialog"},{footer:p(()=>[d(u(T),{class:"customize-button",type:"primary",plain:"",onClick:Re},{default:p(()=>l[19]||(l[19]=[f(" 取消 ",-1)])),_:1,__:[19]}),d(u(T),{class:"customize-button",type:"primary",plain:"",onClick:Te},{default:p(()=>l[20]||(l[20]=[f(" 保存 ",-1)])),_:1,__:[20]})]),default:p(()=>[(o(),v(q,g({key:de.value,"model-value":be.value,"onUpdate:modelValue":l[10]||(l[10]=e=>be.value=e)},u(ue),{style:{width:"100%"}}),null,16,["model-value"]))]),_:1},8,["modelValue"])],2))}});export{re as default};
2
- //# sourceMappingURL=subject-single.vue.mjs.map
@@ -1 +0,0 @@
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 { useNamespace } from '@qxs-bns/hooks'\nimport CirclePlus from '@qxs-bns/icons/src/components/CirclePlus.vue'\nimport Remove from '@qxs-bns/icons/src/components/Remove.vue'\nimport { nanoid } from 'nanoid'\nimport { computed, onMounted, ref, useAttrs, watch } from 'vue'\nimport { QxsMessage } from '../../../message'\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 { QxsButton, QxsCheckbox, QxsDialogComponent, QxsIcon, QxsInput, QxsLink, QxsOption, QxsRadio, QxsSelect } from '../../../ui'\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?: string\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(props.isKey)\nconst answerCheckType = ref(1)\nconst examAnswerRelationType = ref(props.examAnswerRelationType)\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(2)\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 getSortOrder = computed(() => {\n return (index: number) => {\n const letter = String.fromCharCode(65 + index)\n const orderIndex = orderList.value.indexOf(letter)\n return orderIndex >= 0 ? orderIndex + 1 : null\n }\n})\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: nanoid(),\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 }\n else if (props.type === 'multiple') {\n // 多选题:可以有多个支持选项\n it.isCorrect = event\n }\n}\nfunction setRelation(item: any) {\n item.customAnswerId = item.examAnswerId || nanoid()\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 QxsMessage.error('题目标题不能为空!')\n return\n }\n if (!answerCheckType.value) {\n QxsMessage.error('请选择答题设置')\n return\n }\n let msg = ''\n let isSetCorrectAnswer = false\n let correctAnswerCount = 0\n if (props.type === 'multiple' || props.type === 'single') {\n answers.value.forEach((v: any, i: number) => {\n if (!v.title?.trim()) {\n msg += `选项${String.fromCharCode(65 + i)}未填写。`\n }\n if (v.isCorrect) {\n isSetCorrectAnswer = true\n correctAnswerCount++\n }\n v.relationType = v.resultItem ? 1 : (v.answerRelations?.length ? 2 : null)\n })\n }\n else if (props.type === 'sort') {\n // 如果设置了支持选项\n if (orderList.value.length) {\n isSetCorrectAnswer = true\n }\n }\n if (msg) {\n QxsMessage.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 QxsMessage.error('选项不能重复')\n return\n }\n\n if (props.type === 'multiple') {\n if (correctAnswerCount === 1) {\n QxsMessage.error('请至少设置两个支持选项')\n return\n }\n\n if (isSetCorrectAnswer && correctAnswerCount < leastAnswerCount.value) {\n QxsMessage.error('至少选几项与支持选项数不符')\n return\n }\n }\n\n if (answerCheckType.value === 2 || answerCheckType.value === 3) {\n if (!isSetCorrectAnswer) {\n QxsMessage.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\n if (props.answerCheckType) {\n answerCheckType.value = props.answerCheckType\n }\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\n class=\"rich-text\"\n v-html=\"richText\"\n />\n </div>\n <div class=\"preview-answer\">\n <template v-if=\"type === 'sort'\">\n <QxsCheckbox\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 </QxsCheckbox>\n </template>\n <template v-else>\n <QxsRadio\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 </QxsRadio>\n </template>\n </div>\n </div>\n </template>\n <template\n v-if=\"isEdit\"\n #edit\n >\n <div\n class=\"flex flex-items-start\"\n :class=\"[{ 'margin-bottom': showRichText }]\"\n >\n <div class=\"label\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\">\n <QxsInput\n v-model=\"title\"\n type=\"textarea\"\n :rows=\"2\"\n :placeholder=\"`【${titlePlaceholder}】请输入问题`\"\n :disabled=\"isSave\"\n show-word-limit\n :maxlength=\"200\"\n />\n </div>\n </div>\n <div\n v-if=\"['multiple', 'sort'].includes(type)\"\n class=\"flex flex-items-start\"\n style=\"margin-top: 12px;\"\n >\n <div class=\"label\">\n <span>设置:</span>\n </div>\n <QxsSelect\n v-model=\"leastAnswerCount\"\n style=\"width: 150px;\"\n placeholder=\"至少选择几项\"\n :disabled=\"isSave\"\n >\n <QxsOption\n v-for=\"item in leastAnswerOptions\"\n :key=\"item.value\"\n :value=\"item.value\"\n :label=\"item.label\"\n />\n </QxsSelect>\n </div>\n <div\n class=\"answer-list\"\n style=\"margin-top: 12px;\"\n >\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"answer-item flex flex-items-center\"\n >\n <span class=\"label\">{{ String.fromCharCode(65 + index) }}.</span>\n <QxsInput\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 <span\n v-if=\"type === 'sort' && getSortOrder(index)\"\n class=\"sort-order\"\n style=\"margin-left: 10px; font-weight: bold; color: #409eff;\"\n >\n 第{{ getSortOrder(index) }}位\n </span>\n <QxsCheckbox\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 </QxsCheckbox>\n <QxsIcon\n class=\"icon\"\n color=\"#c0c4cc\"\n :icon=\"CirclePlus\"\n @click=\"addAnswer\"\n />\n <QxsIcon\n class=\"icon\"\n color=\"#c0c4cc\"\n :icon=\"Remove\"\n @click=\"deleteAnswer(index)\"\n />\n <QxsLink\n v-if=\"examAnswerRelationType === 1 && type !== 'sort'\"\n type=\"primary\"\n @click.prevent=\"onOpenResult(index)\"\n >\n <span>{{ item.resultItem ? '编辑结果' : '添加结果' }}</span>\n </QxsLink>\n <QxsLink\n v-if=\"examAnswerRelationType === 2 && type !== 'sort'\"\n type=\"primary\"\n @click.prevent=\"setRelation(item)\"\n >\n <span>{{ item.answerRelations?.length ? `关联了${relationLength(item.answerRelations)}项` : '关联检查' }}</span>\n </QxsLink>\n </div>\n </div>\n <div\n v-if=\"type === 'sort'\"\n class=\"flex flex-items-start\"\n style=\"margin-top: 12px;\"\n >\n <div class=\"label\">\n <span>排序答案:</span>\n </div>\n <div style=\"flex: 1;\">\n <QxsSelect\n v-model=\"orderList\"\n multiple\n style=\"width: 360px;\"\n placeholder=\"请按顺序选择排序答案\"\n >\n <QxsOption\n v-for=\"(_, index) in answers\"\n :key=\"index\"\n :label=\"String.fromCharCode(65 + index)\"\n :value=\"String.fromCharCode(65 + index)\"\n />\n </QxsSelect>\n </div>\n </div>\n <div\n v-if=\"showAnalysis\"\n class=\"flex flex-items-start\"\n >\n <div class=\"label\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <QxsInput\n v-model=\"analysis\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"请输入题目解析\"\n />\n </div>\n </div>\n <div\n v-if=\"showRichText\"\n class=\"flex flex-items-start\"\n style=\"margin-top: 12px;\"\n >\n <div class=\"label\">\n <span>富文本:</span>\n </div>\n <div style=\"flex: 1;\">\n <TinyMceEditor\n v-model:model-value=\"richText\"\n v-bind=\"attrs\"\n style=\"width: 100%;\"\n />\n <div class=\"flex flex-justify-end\">\n <QxsLink\n type=\"danger\"\n @click.prevent=\"deleteRichText\"\n >\n 删除富文本\n </QxsLink>\n </div>\n </div>\n </div>\n </template>\n <SubjectAction\n v-if=\"showAction\"\n :is-edit=\"isEdit\"\n :is-set=\"isSet\"\n :is-key=\"isKey\"\n :show-other-option=\"props.type === 'multiple' || props.type === 'single'\"\n :exam-answer-relation-type=\"props.examAnswerRelationType\"\n :answer-check-type=\"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 @on-show-rich-text=\"showRichText = true\"\n @set-key=\"setKey\"\n @set-answer-setting=\"setAnswerSetting\"\n />\n </SubjectLayout>\n <QxsDialogComponent\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 />\n <template #footer>\n <QxsButton\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"onCloseResult\"\n >\n 取消\n </QxsButton>\n <QxsButton\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"onSaveResult\"\n >\n 保存\n </QxsButton>\n </template>\n </QxsDialogComponent>\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","getSortOrder","index","letter","String","fromCharCode","orderIndex","value","indexOf","leastAnswerOptions","items","count","length","push","label","reverse","addAnswer","isSave","customAnswerId","nanoid","deleteRichText","save","QxsMessage","error","msg","isSetCorrectAnswer","correctAnswerCount","forEach","v","i","trim","relationType","answerRelations","Set","map","item","size","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","_createElementBlock","class","_normalizeClass","_unref","e","_createVNode","SubjectLayout","_createSlots","preview","_createElementVNode","_hoisted_1","_hoisted_2","_toDisplayString","_openBlock","includes","_hoisted_4","_hoisted_5","innerHTML","_hoisted_7","_Fragment","_renderList","_createBlock","QxsCheckbox","disabled","_hoisted_8","QxsRadio","_hoisted_9","showAction","SubjectAction","isSet","onMoveUp","onMoveDown","onDelete","onSave","onEdit","onAdd","onOnShowRichText","onSetKey","onSetAnswerSetting","_hoisted_10","QxsInput","$event","rows","placeholder","maxlength","_hoisted_11","QxsSelect","style","width","QxsOption","_hoisted_12","_hoisted_13","modelValue","_hoisted_14","onChange","event","it","setCorrect","_cache","QxsIcon","color","icon","CirclePlus","onClick","Remove","splice","deleteAnswer","QxsLink","_withModifiers","onOpenResult","examAnswerId","customId","setRelation","_hoisted_15","_hoisted_16","multiple","_","showAnalysis","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","TinyMceEditor","_mergeProps","_hoisted_21","QxsDialogComponent","footer","QxsButton","plain"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import e from"./subject-single.vue.mjs";export{e as default};
2
- //# sourceMappingURL=subject-single.vue2.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subject-single.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import{defineComponent as e,useAttrs as l,ref as t,onMounted as i,createElementBlock as a,openBlock as s,normalizeClass as n,unref as o,createVNode as r,withCtx as u,createBlock as d,createCommentVNode as m,createElementVNode as p,Fragment as v,renderList as c,createTextVNode as x,toDisplayString as f,mergeProps as y,withModifiers as w}from"vue";import{useNamespace as g}from"@qxs-bns/hooks";import h from"@qxs-bns/icons/src/components/CirclePlus.vue";import b from"@qxs-bns/icons/src/components/Plus.vue";import j from"@qxs-bns/icons/src/components/Remove.vue";import{QxsMessage as k}from"../../../message/src/message.mjs";import V from"../../../subject-action/src/subject-action.vue.mjs";import C from"../../../subject-layout/src/subject-layout.vue.mjs";import S from"../../../tiny-mce-editor/src/tiny-mce-editor.vue.mjs";import{QxsButton as I}from"../../../ui/button/index.mjs";import{QxsInput as q}from"../../../ui/input/index.mjs";import"../../../ui/radio/index.mjs";import{QxsCheckboxGroup as O,QxsCheckbox as A}from"../../../ui/checkbox/index.mjs";import{QxsLink as _}from"../../../ui/link/index.mjs";import{QxsTag as E}from"../../../ui/tag/index.mjs";import{QxsInputNumber as T}from"../../../ui/input-number/index.mjs";import"../../../ui/select/index.mjs";import"../../../ui/popover/index.mjs";import"../../../ui/layout/index.mjs";import"../../../ui/scrollbar/index.mjs";import"../../../ui/dialog/index.mjs";import"../../../ui/table/index.mjs";import{QxsIcon as U}from"../../../icon/index.mjs";const B={class:"preview"},R={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"}},P={class:"title"},z={class:"flex flex-items-start"},$={style:{flex:"1"}},F={class:"flex flex-items-center",style:{"margin-top":"12px"}},G={style:{display:"flex",flex:"1","align-items":"center","white-space":"nowrap"}},J={class:"flex flex-items-start",style:{"margin-top":"12px"}},K={style:{flex:"1"}},Q={class:"answer-list",style:{"margin-top":"12px"}},W={class:"label"},X={class:"answer-tags"},Y={class:"operation"},Z={key:0,class:"flex flex-items-start",style:{"margin-top":"12px"}},ee={style:{flex:"1"}},le={key:1,class:"flex flex-items-start",style:{"margin-top":"12px"}},te={style:{flex:"1"}},ie={class:"flex flex-justify-end"};var ae=e({__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(e,{emit:ae}){const se=e,ne=ae,oe=l(),re=t([{title:"",tag:"",showInput:!1}]),ue=t(""),de=t(""),me=t(),pe=t(""),ve=t(!1),ce=t(""),xe=[{label:"答案不分顺序",value:"isInOrder"},{label:"忽略大小写",value:"isIgnoreCase"}],fe=["primary","success","warning","danger","info"],ye=t(["isInOrder","isIgnoreCase"]);function we(){re.value.push({title:"",tag:"",showInput:!1})}function ge(){ve.value=!1,ce.value=""}function he(){if(ue.value){if(me.value||pe.value){if(!me.value)return void k.error("请完善答题设置!");if(!pe.value)return void k.error("请输入问题正确答案!");if(re.value.length!==me.value)return void k.error("关键词个数设置有误!");const e=[];if(re.value.forEach((l,t)=>{l.title||e.push(`关键词${t+1}未设置`)}),e.length>0)return void k.error(e.join(","))}ne("save",{title:ue.value,answers:re.value.filter(e=>e.title).map(e=>({title:e.title})),analysis:de.value,isSetCorrectAnswer:!!pe.value,examExpand:pe.value,examAnswerSettingBO:{isIgnoreCase:ye.value?.includes("isIgnoreCase"),isInOrder:ye.value?.includes("isInOrder"),keywordCount:me.value},examRichTextContent:ve.value?ce.value:""})}else k.error("题目标题不能为空!")}i(function(){se.title&&(ue.value=se.title),se.answerList&&se.answerList.length&&(re.value=se.answerList),se.examAnswerSettingVO&&(ye.value=ye.value.filter(e=>"isIgnoreCase"===e&&se.examAnswerSettingVO?.isIgnoreCase||"isInOrder"===e&&se.examAnswerSettingVO?.isInOrder)),se.examAnswerSettingVO?.keywordCount&&(me.value=se.examAnswerSettingVO?.keywordCount),se.examExpand&&(pe.value=se.examExpand),se.analysis&&(de.value=se.analysis),se.examRichTextContent&&(ce.value=se.examRichTextContent,ve.value=!0)});const be=g("subject-text-fill");return(e,l)=>(s(),a("div",{class:n(o(be).e("text-fill-exam"))},[r(C,{"show-edit":e.isEdit},{preview:u(()=>[p("div",B,[p("div",R,[p("span",L,f(e.orderIndex+1)+"."+f(ue.value)+"(问答题)",1),ve.value?(s(),a("div",M,[p("div",{class:"rich-text",innerHTML:ce.value},null,8,D)])):m("v-if",!0),p("div",H,[re.value.some(e=>e.title)?(s(!0),a(v,{key:0},c(re.value,(e,l)=>(s(),d(o(A),{key:l,class:"radio",disabled:!0},{default:u(()=>[x(f(e.title),1)]),_:2},1024))),128)):m("v-if",!0)]),pe.value?(s(),a("div",N,[p("span",P,"正确答案:"+f(pe.value),1)])):m("v-if",!0)])])]),edit:u(()=>[p("div",z,[l[12]||(l[12]=p("div",{class:"label"},[p("span",null,"题目:")],-1)),p("div",$,[r(o(q),{modelValue:ue.value,"onUpdate:modelValue":l[0]||(l[0]=e=>ue.value=e),type:"textarea",rows:2,placeholder:"【问答题】请输入问题",maxlength:200,"show-word-limit":"",disabled:e.isSave},null,8,["modelValue","disabled"])])]),p("div",F,[l[15]||(l[15]=p("div",{class:"label",style:{"white-space":"nowrap"}},[p("span",null,"答题设置:")],-1)),p("div",G,[l[13]||(l[13]=p("span",null,"共答对",-1)),r(o(T),{modelValue:me.value,"onUpdate:modelValue":l[1]||(l[1]=e=>me.value=e),style:{"flex-shrink":"0",width:"120px"},min:1},null,8,["modelValue"]),l[14]||(l[14]=p("span",null,"个关键词,算是正确的",-1)),(s(),a(v,null,c(xe,e=>r(o(O),{key:e.value,modelValue:ye.value,"onUpdate:modelValue":l[2]||(l[2]=e=>ye.value=e),style:{display:"inline-flex"}},{default:u(()=>[r(o(A),{label:e.value},{default:u(()=>[x(f(e.label),1)]),_:2},1032,["label"])]),_:2},1032,["modelValue"])),64))])]),p("div",J,[l[16]||(l[16]=p("div",{class:"label"},[p("span",null,"答案:")],-1)),p("div",K,[r(o(q),{modelValue:pe.value,"onUpdate:modelValue":l[3]||(l[3]=e=>pe.value=e),type:"textarea",rows:2,placeholder:"请输入正确答案",maxlength:200,"show-word-limit":"",disabled:e.isSave},null,8,["modelValue","disabled"])])]),p("div",Q,[l[17]||(l[17]=p("span",{style:{"padding-left":"60px"}},"*如遇包含特殊字符的关键词,需添加多个同义词,例:'CO₂'需添加同义词'CO2'",-1)),(s(!0),a(v,null,c(re.value,(l,t)=>(s(),a("div",{key:t,class:"answer-item flex flex-items-center"},[p("div",W,[p("span",null,"关键词"+f(t+1)+":",1)]),p("div",X,[(s(!0),a(v,null,c(l.title.split(","),e=>(s(),a(v,{key:e},[e?(s(),d(o(E),{key:0,type:fe[t%fe.length],closable:"",onClose:t=>function(e,l){if(e){const t=l.title.split(","),i=t.findIndex(l=>l===e);i>-1&&(t.splice(i,1),l.title=t.join(","))}}(e,l)},{default:u(()=>[x(f(e),1)]),_:2},1032,["type","onClose"])):m("v-if",!0)],64))),128)),e.isSave?m("v-if",!0):(s(),a(v,{key:0},[l.showInput?(s(),d(o(q),{key:0,modelValue:l.tag,"onUpdate:modelValue":e=>l.tag=e,style:{width:"80px"},onBlur:()=>function(e){e.showInput=!1,e.tag&&(e.title=e.title?[e.title,e.tag].join(","):e.tag,e.tag="")}(l)},null,8,["modelValue","onUpdate:modelValue","onBlur"])):(s(),d(o(I),{key:1,size:"small",onClick:e=>l.showInput=!0},{icon:u(()=>[r(o(U),{icon:b})]),default:u(()=>[p("span",null,f(l.title?"添加同义词":"添加关键词"),1)]),_:2},1032,["onClick"]))],64))]),p("div",Y,[r(o(U),{class:"icon",color:"#c0c4cc",icon:h,onClick:we}),r(o(U),{class:"icon",color:"#c0c4cc",icon:j,onClick:e=>function(e){re.value.length<2||se.isSave||re.value.splice(e,1)}(t)},null,8,["onClick"])])]))),128))]),e.showAnalysis?(s(),a("div",Z,[l[18]||(l[18]=p("div",{class:"label"},[p("span",null,"解析:")],-1)),p("div",ee,[r(o(q),{modelValue:de.value,"onUpdate:modelValue":l[4]||(l[4]=e=>de.value=e),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])])):m("v-if",!0),ve.value?(s(),a("div",le,[l[20]||(l[20]=p("div",{class:"label"},[p("span",null,"富文本:")],-1)),p("div",te,[r(S,y({"model-value":ce.value,"onUpdate:modelValue":l[5]||(l[5]=e=>ce.value=e)},o(oe),{style:{width:"100%"}}),null,16,["model-value"]),p("div",ie,[r(o(_),{type:"danger",onClick:w(ge,["prevent"])},{default:u(()=>l[19]||(l[19]=[x(" 删除富文本 ",-1)])),_:1,__:[19]})])])])):m("v-if",!0)]),default:u(()=>[e.showAction?(s(),d(V,{key:0,"is-edit":e.isEdit,"is-set":e.isSet,"show-other-option":!1,"exam-answer-relation-type":se.examAnswerRelationType,onMoveUp:l[6]||(l[6]=e=>ne("move","up")),onMoveDown:l[7]||(l[7]=e=>ne("move","down")),onDelete:l[8]||(l[8]=e=>ne("delete")),onSave:he,onEdit:l[9]||(l[9]=e=>ne("edit")),onAdd:l[10]||(l[10]=e=>ne("add",e)),onOnShowRichText:l[11]||(l[11]=e=>ve.value=!0)},null,8,["is-edit","is-set","exam-answer-relation-type"])):m("v-if",!0)]),_:1},8,["show-edit"])],2))}});export{ae as default};
2
- //# sourceMappingURL=subject-text-fill.vue.mjs.map
@@ -1 +0,0 @@
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 { useNamespace } from '@qxs-bns/hooks'\nimport CirclePlus from '@qxs-bns/icons/src/components/CirclePlus.vue'\nimport Plus from '@qxs-bns/icons/src/components/Plus.vue'\nimport Remove from '@qxs-bns/icons/src/components/Remove.vue'\nimport { onMounted, ref, useAttrs } from 'vue'\nimport { QxsMessage } from '../../../message'\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 { QxsButton, QxsCheckbox, QxsCheckboxGroup, QxsIcon, QxsInput, QxsInputNumber, QxsLink, QxsTag } from '../../../ui'\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 tagTypes: Array<'primary' | 'success' | 'warning' | 'danger' | 'info'> = ['primary', 'success', 'warning', 'danger', 'info']\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 QxsMessage.error('题目标题不能为空!')\n return\n }\n\n if (keywordCount.value || correct.value) {\n if (!keywordCount.value) {\n QxsMessage.error('请完善答题设置!')\n return\n }\n\n if (!correct.value) {\n QxsMessage.error('请输入问题正确答案!')\n return\n }\n\n if (answers.value.length !== keywordCount.value) {\n QxsMessage.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 QxsMessage.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\n class=\"rich-text\"\n v-html=\"richText\"\n />\n </div>\n <div class=\"content flex flex-col\">\n <template v-if=\"answers.some(item => item.title)\">\n <QxsCheckbox\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"radio\"\n :disabled=\"true\"\n >\n {{ item.title }}\n </QxsCheckbox>\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 flex-items-start\">\n <div class=\"label\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\">\n <QxsInput\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\n class=\"flex flex-items-center\"\n style=\"margin-top: 12px;\"\n >\n <div\n class=\"label\"\n style=\"white-space: nowrap;\"\n >\n <span>答题设置:</span>\n </div>\n <div style=\"display: flex; flex: 1; align-items: center; white-space: nowrap;\">\n <span>共答对</span>\n <QxsInputNumber\n v-model=\"keywordCount\"\n style=\" flex-shrink: 0;width: 120px;\"\n :min=\"1\"\n />\n <span>个关键词,算是正确的</span>\n <QxsCheckboxGroup\n v-for=\"item in checkList\"\n :key=\"item.value\"\n v-model=\"isCheckList\"\n style=\"display: inline-flex;\"\n >\n <QxsCheckbox\n :label=\"item.value\"\n >\n {{ item.label }}\n </QxsCheckbox>\n </QxsCheckboxGroup>\n </div>\n </div>\n <div\n class=\"flex flex-items-start\"\n style=\"margin-top: 12px;\"\n >\n <div class=\"label\">\n <span>答案:</span>\n </div>\n <div style=\"flex: 1;\">\n <QxsInput\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\n class=\"answer-list\"\n style=\"margin-top: 12px;\"\n >\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\">\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 <QxsTag\n v-if=\"i\"\n :type=\"tagTypes[index % tagTypes.length]\"\n closable\n @close=\"closeTag(i, item)\"\n >\n {{ i }}\n </QxsTag>\n </template>\n <template v-if=\"!isSave\">\n <QxsInput\n v-if=\"item.showInput\"\n v-model=\"item.tag\"\n style=\"width: 80px;\"\n @blur=\"() => handleAddTag(item)\"\n />\n <QxsButton\n v-else\n size=\"small\"\n @click=\"item.showInput = true\"\n >\n <template #icon>\n <QxsIcon :icon=\"Plus\" />\n </template>\n <span>{{ item.title ? '添加同义词' : '添加关键词' }}</span>\n </QxsButton>\n </template>\n </div>\n <div class=\"operation\">\n <QxsIcon\n class=\"icon\"\n color=\"#c0c4cc\"\n :icon=\"CirclePlus\"\n @click=\"addAnswer\"\n />\n <QxsIcon\n class=\"icon\"\n color=\"#c0c4cc\"\n :icon=\"Remove\"\n @click=\"deleteAnswer(index)\"\n />\n </div>\n </div>\n </div>\n <div\n v-if=\"showAnalysis\"\n class=\"flex flex-items-start\"\n style=\"margin-top: 12px;\"\n >\n <div class=\"label\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <QxsInput\n v-model=\"analysis\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"请输入题目解析\"\n />\n </div>\n </div>\n <div\n v-if=\"showRichText\"\n class=\"flex flex-items-start\"\n style=\"margin-top: 12px;\"\n >\n <div class=\"label\">\n <span>富文本:</span>\n </div>\n <div style=\"flex: 1;\">\n <TinyMceEditor\n v-model:model-value=\"richText\"\n v-bind=\"attrs\"\n style=\"width: 100%;\"\n />\n <div class=\"flex flex-justify-end\">\n <QxsLink\n type=\"danger\"\n @click.prevent=\"deleteRichText\"\n >\n 删除富文本\n </QxsLink>\n </div>\n </div>\n </div>\n </template>\n <SubjectAction\n v-if=\"showAction\"\n :is-edit=\"isEdit\"\n :is-set=\"isSet\"\n :show-other-option=\"false\"\n :exam-answer-relation-type=\"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 @on-show-rich-text=\"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","tagTypes","isCheckList","addAnswer","push","deleteRichText","save","QxsMessage","error","length","msg","forEach","item","index","join","filter","i","map","isSetCorrectAnswer","examExpand","examAnswerSettingBO","isIgnoreCase","includes","isInOrder","examRichTextContent","onMounted","answerList","examAnswerSettingVO","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createVNode","SubjectLayout","isEdit","preview","_createElementVNode","_hoisted_1","_hoisted_2","_hoisted_3","_toDisplayString","orderIndex","_hoisted_4","innerHTML","_hoisted_6","some","_openBlock","_Fragment","key","_renderList","_createBlock","QxsCheckbox","disabled","_createTextVNode","_hoisted_7","_hoisted_8","edit","_hoisted_9","_hoisted_10","QxsInput","$event","type","rows","placeholder","maxlength","isSave","_hoisted_11","style","_hoisted_12","_cache","QxsInputNumber","width","min","QxsCheckboxGroup","display","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","split","QxsTag","closable","onClose","tags","findIndex","splice","closeTag","modelValue","onBlur","handleAddTag","QxsButton","size","onClick","icon","QxsIcon","Plus","_hoisted_18","color","CirclePlus","Remove","deleteAnswer","showAnalysis","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","TinyMceEditor","_mergeProps","_hoisted_23","QxsLink","showAction","SubjectAction","isSet","examAnswerRelationType","onMoveUp","onMoveDown","onDelete","onSave","onEdit","onAdd","onOnShowRichText"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import t from"./subject-text-fill.vue.mjs";export{t as default};
2
- //# sourceMappingURL=subject-text-fill.vue2.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subject-text-fill.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import{defineComponent as e,ref as t,useAttrs as s,computed as i,watch as n,createElementBlock as a,openBlock as o,normalizeClass as l,unref as r,createElementVNode as d,createCommentVNode as c,createBlock as m,withCtx as u,createTextVNode as p,createVNode as x,toDisplayString as v,Fragment as w,mergeProps as y}from"vue";import{useNamespace as h}from"@qxs-bns/hooks";import{nanoid as g}from"nanoid";import f from"../../../_virtual/vuedraggable.umd.mjs";import{QxsMessage as j}from"../../message/src/message.mjs";import{QxsButton as E}from"../../ui/button/index.mjs";import"../../ui/input/index.mjs";import"../../ui/radio/index.mjs";import"../../ui/checkbox/index.mjs";import"../../ui/link/index.mjs";import"../../ui/tag/index.mjs";import"../../ui/input-number/index.mjs";import"../../ui/select/index.mjs";import"../../ui/popover/index.mjs";import"../../ui/layout/index.mjs";import"../../ui/scrollbar/index.mjs";import"../../ui/dialog/index.mjs";import"../../ui/table/index.mjs";import"../../icon/index.mjs";import T from"./components/subject-blank-fill.vue.mjs";import S from"./components/subject-scale.vue.mjs";import A from"./components/subject-single.vue.mjs";import R from"./components/subject-text-fill.vue.mjs";import b from"./components/SubjectPageEnd.vue.mjs";import k from"./components/SubjectRichText.vue.mjs";const C={class:"subject-list-wrapper"},_={key:0,class:"sort-mode-toggle"},I={key:1,class:"sort-list"},D={class:"sort-item"},M={class:"sort-index"},z={class:"sort-title"},P={class:"sort-type"},V={class:"subject-content"};var L=e({name:"QxsSubjectList",__name:"subject-list",props:{subjectList:{type:Array,required:!0},isPreview:{type:Boolean,required:!0}},emits:["setRelation"],setup(e,{expose:L,emit:q}){const Q=e,B=q,H=t([]),K=s();L({addSubject:F,currentList:H,uploadExcel:function(e){H.value=H.value.concat(e)},addExam:function(e){let t=1;const s=[];e.forEach(e=>{const i={...e,customId:g(),answerType:e.richTextContent?"rich_text":e.examTypeEnum,answers:e.answers?.map(e=>({...e,title:e.answer,answerId:e.examAnswerId,isCorrect:e.isCorrect}))||[],isSave:!1,isEdit:!0,isRealCanDel:!0,hasSet:!1};i.pageIndex>t&&(s.push({customId:g(),answerType:"page_end",analysis:"",scaleQuestionList:[],isSave:!1,isEdit:!0,isRealCanDel:!0,hasSet:!1,examAnswerRelationType:0}),t=i.pageIndex),s.push(i)}),H.value=H.value.concat(s)},setAnswerRelation:function(e,t,s){const i=H.value.find(e=>e.customId===t);if(i){const t=i.answers?.find(e=>e.customAnswerId===s);t&&(t.answerRelations=e)}}});const O=i(()=>{const e=H.value.filter(e=>"page_end"===e.answerType);return t=>{const s=e.findIndex(e=>e.customId===t);return-1!==s?s+1:0}});function U(){return e=>{let t=0,s=0;return H.value.forEach(i=>{"page_end"!==i.answerType&&(t++,e===i.customId&&(s=t))}),s-1}}function F(e,t=null,s=null){const i={customId:g(),answerType:e,analysis:"",scaleQuestionList:[],isSave:!1,isEdit:!0,isRealCanDel:!0,hasSet:!1,examAnswerRelationType:s,isKey:!1,answerCheckType:1};null!==t?H.value.splice(t+1,0,i):H.value.push(i)}function G(e,t){if("up"===t&&e>0){const[t]=H.value.splice(e,1);H.value.splice(e-1,0,t)}else if("down"===t&&e<H.value.length-1){const[t]=H.value.splice(e,1);H.value.splice(e+1,0,t)}}function J(e,t){H.value[e]={...H.value[e],...t,isEdit:!1,examAnswerRelationType:t.examAnswerRelationType}}function N(e){H.value.splice(e,1),j.success("删除成功")}function W(e,t){B("setRelation",e,t)}n(()=>Q.subjectList,e=>{e&&(H.value=[...e])},{immediate:!0});const X=h("subject-list"),Y=t(!1);function Z(){Y.value=!Y.value}return(e,t)=>(o(),a("div",{class:l(r(X).e("list-exam"))},[d("div",C,[c(" 排序模式切换按钮 "),!e.isPreview&&H.value.length>1?(o(),a("div",_,[Y.value?(o(),m(r(E),{key:1,size:"small",type:"primary",onClick:Z},{default:u(()=>t[4]||(t[4]=[p(" 完成排序 ",-1)])),_:1,__:[4]})):(o(),m(r(E),{key:0,size:"small",onClick:Z},{icon:u(()=>t[2]||(t[2]=[d("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor"},[d("path",{d:"M3 18h6v-2H3v2zM3 6v2h18V6H3zm0 7h12v-2H3v2z"})],-1)])),default:u(()=>[t[3]||(t[3]=p(" 排序 ",-1))]),_:1,__:[3]}))])):c("v-if",!0),c(" 排序模式:轻量列表 "),Y.value?(o(),a("div",I,[x(r(f),{modelValue:H.value,"onUpdate:modelValue":t[0]||(t[0]=e=>H.value=e),"item-key":"customId","ghost-class":"sort-ghost","chosen-class":"sort-chosen","drag-class":"sort-drag",animation:200},{item:u(({element:e,index:s})=>{return[d("div",D,[t[5]||(t[5]=d("div",{class:"sort-handle"},[d("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor"},[d("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"})])],-1)),d("span",M,v(s+1)+".",1),d("span",z,v(e.title||"未命名题目"),1),d("span",P,v((i=e.answerType,{single:"单选题",multiple:"多选题",sort:"排序题",blank_fill:"填空题",text_fill:"填空题",scale:"量表题",rich_text:"富文本",page_end:"分页符"}[i]||"未知类型")),1)])];var i}),_:1},8,["modelValue"])])):(o(),a(w,{key:2},[c(" 正常模式:完整内容 "),x(r(f),{modelValue:H.value,"onUpdate:modelValue":t[1]||(t[1]=e=>H.value=e),"item-key":"customId",handle:".drag-handle",disabled:e.isPreview,"ghost-class":"ghost","chosen-class":"chosen","drag-class":"dragging"},{item:u(({element:t,index:s})=>[d("div",{class:l(["subject-item",{"is-preview":e.isPreview}])},[d("div",V,[["single","multiple","sort"].includes(t.answerType)?(o(),m(A,y({key:0},r(K),{"order-index":U()(t.customId),title:t.title,type:t.answerType,"exam-id":t.examId,"is-key":t.isKey,"is-save":!t.isRealCanDel,"custom-id":t.customId,"is-set":t.hasSet||!1,"answer-list":t.answers,analysis:t.analysis,"least-answer-count":t.leastAnswerCount,"is-edit":t.isEdit||!1,"show-action":!e.isPreview,"exam-expand":t.examExpand,"answer-check-type":t.answerCheckType,"exam-rich-text-content":t.examRichTextContent,"exam-answer-relation-type":t.examAnswerRelationType,onSetRelation:W,onMove:e=>G(s,e),onDelete:e=>N(s),onSave:e=>J(s,e),onEdit:e=>t.isEdit=!0,onAdd:(e,t)=>F(e,s,t)}),null,16,["order-index","title","type","exam-id","is-key","is-save","custom-id","is-set","answer-list","analysis","least-answer-count","is-edit","show-action","exam-expand","answer-check-type","exam-rich-text-content","exam-answer-relation-type","onMove","onDelete","onSave","onEdit","onAdd"])):"scale"===t.answerType?(o(),m(S,y({key:1},r(K),{"order-index":U()(t.customId),title:t.title,"is-save":!t.isRealCanDel,"is-set":t.hasSet||!1,"answer-list":t.answers,analysis:t.analysis,"is-edit":t.isEdit||!1,"scale-question-list":t.scaleQuestionList,"show-action":!e.isPreview,"exam-rich-text-content":t.examRichTextContent,"exam-answer-relation-type":t.examAnswerRelationType,onMove:e=>G(s,e),onDelete:e=>N(s),onSave:e=>J(s,e),onEdit:e=>t.isEdit=!0,onAdd:e=>F(e,s,null)}),null,16,["order-index","title","is-save","is-set","answer-list","analysis","is-edit","scale-question-list","show-action","exam-rich-text-content","exam-answer-relation-type","onMove","onDelete","onSave","onEdit","onAdd"])):"blank_fill"===t.answerType?(o(),m(T,y({key:2},r(K),{"order-index":U()(t.customId),title:t.title,"is-save":!t.isRealCanDel,"is-set":t.hasSet||!1,"answer-list":t.answers,analysis:t.analysis,"show-action":!e.isPreview,"is-edit":t.isEdit||!1,"exam-answer-setting-v-o":t.examAnswerSettingVO||{},"exam-rich-text-content":t.examRichTextContent,"exam-answer-relation-type":t.examAnswerRelationType,onMove:e=>G(s,e),onDelete:e=>N(s),onSave:e=>J(s,e),onEdit:e=>t.isEdit=!0,onAdd:e=>F(e,s,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","exam-answer-relation-type","onMove","onDelete","onSave","onEdit","onAdd"])):"text_fill"===t.answerType?(o(),m(R,y({key:3},r(K),{"order-index":U()(t.customId),title:t.title,"is-save":!t.isRealCanDel,"is-set":t.hasSet||!1,"answer-list":t.answers,analysis:t.analysis,"show-action":!e.isPreview,"is-edit":t.isEdit||!1,"exam-expand":t.examExpand,"exam-answer-setting-v-o":t.examAnswerSettingVO||{},"exam-answer-relation-type":t.examAnswerRelationType,"exam-rich-text-content":t.examRichTextContent,onMove:e=>G(s,e),onDelete:e=>N(s),onSave:e=>J(s,e),onEdit:e=>t.isEdit=!0,onAdd:e=>F(e,s,null)}),null,16,["order-index","title","is-save","is-set","answer-list","analysis","show-action","is-edit","exam-expand","exam-answer-setting-v-o","exam-answer-relation-type","exam-rich-text-content","onMove","onDelete","onSave","onEdit","onAdd"])):"rich_text"===t.answerType?(o(),m(k,y({key:4},r(K),{"order-index":U()(t.customId),"rich-text-content":t.richTextContent,"is-set":t.hasSet||!1,"is-save":!t.isRealCanDel,"is-edit":t.isEdit||!1,"show-action":!e.isPreview,"exam-answer-relation-type":t.examAnswerRelationType,onMove:e=>G(s,e),onDelete:e=>N(s),onSave:e=>J(s,e),onEdit:e=>t.isEdit=!0,onAdd:e=>F(e,s,null)}),null,16,["order-index","rich-text-content","is-set","is-save","is-edit","show-action","exam-answer-relation-type","onMove","onDelete","onSave","onEdit","onAdd"])):"page_end"===t.answerType?(o(),m(b,{key:s,"total-page":H.value.filter(e=>"page_end"===e.answerType).length,"current-page-index":O.value(t.customId),item:t,"is-edit":t.isEdit||!1,"is-set":t.hasSet||!1,"is-save":!t.isRealCanDel,"exam-answer-relation-type":t.examAnswerRelationType,onMove:e=>G(s,e),onDelete:e=>N(s),onSave:e=>J(s,e),onEdit:e=>t.isEdit=!0,onAdd:e=>F(e,s,null)},null,8,["total-page","current-page-index","item","is-edit","is-set","is-save","exam-answer-relation-type","onMove","onDelete","onSave","onEdit","onAdd"])):c("v-if",!0)]),c(" 关闭 subject-content ")],2)]),_:1},8,["modelValue","disabled"])],64))])],2))}});export{L as default};
2
- //# sourceMappingURL=subject-list.vue.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subject-list.vue.mjs","sources":["../../../../../../packages/components/src/subject-list/src/subject-list.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { nanoid } from 'nanoid'\nimport { computed, ref, useAttrs, watch } from 'vue'\nimport draggable from 'vuedraggable'\nimport { QxsMessage } from '../../message'\nimport { QxsButton } from '../../ui'\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 SubjectPageEnd from './components/SubjectPageEnd.vue'\nimport SubjectRichText from './components/SubjectRichText.vue'\n\ndefineOptions({\n name: 'QxsSubjectList',\n})\n\nconst props = defineProps<{\n subjectList: any[]\n isPreview: boolean\n}>()\nconst emits = defineEmits(['setRelation'])\nconst currentList = ref([] as any)\nconst attrs = useAttrs()\n\ndefineExpose({\n addSubject,\n currentList,\n uploadExcel,\n addExam,\n setAnswerRelation,\n})\n\nfunction totalPageIndex() {\n return currentList.value.filter((v: any) => v.answerType === 'page_end').length\n}\n\nconst currentPageIndex = computed(() => {\n const currentPageList = currentList.value.filter((v: any) => v.answerType === 'page_end')\n return (currentId: string) => {\n const currentIndex = currentPageList.findIndex((c: any) => c.customId === currentId)\n return currentIndex !== -1 ? currentIndex + 1 : 0\n }\n})\n\nfunction currentIndex() {\n return (currentExamId: string) => {\n let current = 0\n let output = 0\n\n // 遍历 currentList,过滤掉分页器,并计算题目序号\n currentList.value.forEach((v: any) => {\n if (v.answerType !== 'page_end') { // 排除分页器\n current++\n if (currentExamId === v.customId) { // 匹配当前题目 ID\n output = current\n }\n }\n })\n\n return output - 1\n }\n}\n\nfunction addSubject(type: string, index: number | null = null, examAnswerRelationType: number | null = null) {\n const newSubject = {\n customId: nanoid(),\n answerType: type,\n analysis: '',\n scaleQuestionList: [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n examAnswerRelationType,\n isKey: false,\n answerCheckType: 1,\n }\n\n if (index !== null) {\n currentList.value.splice(index + 1, 0, newSubject)\n }\n else {\n currentList.value.push(newSubject)\n }\n}\nfunction addExam(items: any[]) {\n let currentIndex = 1\n const newList: any[] = []\n\n items.forEach((v: any) => {\n // 创建新的题目对象\n const newItem = {\n ...v,\n customId: nanoid(),\n answerType: v.richTextContent ? 'rich_text' : v.examTypeEnum,\n answers: v.answers?.map((c: any) => ({\n ...c,\n title: c.answer,\n answerId: c.examAnswerId,\n isCorrect: c.isCorrect,\n })) || [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n }\n\n // 如果当前题目的 pageIndex 和 currentIndex 不一致,则插入分页器\n if (newItem.pageIndex > currentIndex) {\n newList.push({\n customId: nanoid(),\n answerType: 'page_end',\n analysis: '',\n scaleQuestionList: [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n examAnswerRelationType: 0,\n })\n currentIndex = newItem.pageIndex\n }\n\n // 将题目添加到 newList\n newList.push(newItem)\n })\n\n // 更新 currentList\n currentList.value = currentList.value.concat(newList)\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 currentList.value[index] = {\n ...currentList.value[index],\n ...item,\n isEdit: false,\n examAnswerRelationType: item.examAnswerRelationType,\n }\n}\n\nfunction deleteSubject(index: number) {\n currentList.value.splice(index, 1)\n QxsMessage.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 const targetItem = currentList.value.find((v: any) => v.customId === customId)\n if (targetItem) {\n const targetAnswer = targetItem.answers?.find((c: any) => c.customAnswerId === customAnswerId)\n if (targetAnswer) {\n targetAnswer.answerRelations = answerRelations\n }\n }\n}\n\nwatch(() => props.subjectList, (newList: any) => {\n if (newList) {\n currentList.value = [...newList]\n }\n}, { immediate: true })\n\nconst ns = useNamespace('subject-list')\n\n// 排序模式\nconst sortMode = ref(false)\n\nfunction toggleSortMode() {\n sortMode.value = !sortMode.value\n}\n\nfunction getSubjectTypeLabel(type: string) {\n const typeMap: Record<string, string> = {\n single: '单选题',\n multiple: '多选题',\n sort: '排序题',\n blank_fill: '填空题',\n text_fill: '填空题',\n scale: '量表题',\n rich_text: '富文本',\n page_end: '分页符',\n }\n return typeMap[type] || '未知类型'\n}\n</script>\n\n<template>\n <div :class=\"ns.e('list-exam')\">\n <div class=\"subject-list-wrapper\">\n <!-- 排序模式切换按钮 -->\n <div\n v-if=\"!isPreview && currentList.length > 1\"\n class=\"sort-mode-toggle\"\n >\n <QxsButton\n v-if=\"!sortMode\"\n size=\"small\"\n @click=\"toggleSortMode\"\n >\n <template #icon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n >\n <path d=\"M3 18h6v-2H3v2zM3 6v2h18V6H3zm0 7h12v-2H3v2z\" />\n </svg>\n </template>\n 排序\n </QxsButton>\n <QxsButton\n v-else\n size=\"small\"\n type=\"primary\"\n @click=\"toggleSortMode\"\n >\n 完成排序\n </QxsButton>\n </div>\n\n <!-- 排序模式:轻量列表 -->\n <div\n v-if=\"sortMode\"\n class=\"sort-list\"\n >\n <draggable\n v-model=\"currentList\"\n item-key=\"customId\"\n ghost-class=\"sort-ghost\"\n chosen-class=\"sort-chosen\"\n drag-class=\"sort-drag\"\n :animation=\"200\"\n >\n <template #item=\"{ element: item, index }\">\n <div class=\"sort-item\">\n <div class=\"sort-handle\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n >\n <path d=\"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\" />\n </svg>\n </div>\n <span class=\"sort-index\">{{ index + 1 }}.</span>\n <span class=\"sort-title\">{{ item.title || '未命名题目' }}</span>\n <span class=\"sort-type\">{{ getSubjectTypeLabel(item.answerType) }}</span>\n </div>\n </template>\n </draggable>\n </div>\n\n <!-- 正常模式:完整内容 -->\n <template v-else>\n <draggable\n v-model=\"currentList\"\n item-key=\"customId\"\n handle=\".drag-handle\"\n :disabled=\"isPreview\"\n ghost-class=\"ghost\"\n chosen-class=\"chosen\"\n drag-class=\"dragging\"\n >\n <template #item=\"{ element: item, index }\">\n <div\n class=\"subject-item\"\n :class=\"{ 'is-preview': isPreview }\"\n >\n <div class=\"subject-content\">\n <template v-if=\"['single', 'multiple', 'sort'].includes(item.answerType)\">\n <SubjectSingle\n v-bind=\"attrs\"\n :order-index=\"currentIndex()(item.customId)\"\n :title=\"item.title\"\n :type=\"item.answerType\"\n :exam-id=\"item.examId\"\n :is-key=\"item.isKey\"\n :is-save=\"!item.isRealCanDel\"\n :custom-id=\"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 :answer-check-type=\"item.answerCheckType\"\n :exam-rich-text-content=\"item.examRichTextContent\"\n :exam-answer-relation-type=\"item.examAnswerRelationType\"\n @set-relation=\"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 />\n </template>\n <SubjectScale\n v-else-if=\"item.answerType === 'scale'\"\n v-bind=\"attrs\"\n :order-index=\"currentIndex()(item.customId)\"\n :title=\"item.title\"\n :is-save=\"!item.isRealCanDel\"\n :is-set=\"item.hasSet || false\"\n :answer-list=\"item.answers\"\n :analysis=\"item.analysis\"\n :is-edit=\"item.isEdit || false\"\n :scale-question-list=\"item.scaleQuestionList\"\n :show-action=\"!isPreview\"\n :exam-rich-text-content=\"item.examRichTextContent\"\n :exam-answer-relation-type=\"item.examAnswerRelationType\"\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) => addSubject(type, index, null)\"\n />\n <SubjectBlankFill\n v-else-if=\"item.answerType === 'blank_fill'\"\n v-bind=\"attrs\"\n :order-index=\"currentIndex()(item.customId)\"\n :title=\"item.title\"\n :is-save=\"!item.isRealCanDel\"\n :is-set=\"item.hasSet || false\"\n :answer-list=\"item.answers\"\n :analysis=\"item.analysis\"\n :show-action=\"!isPreview\"\n :is-edit=\"item.isEdit || false\"\n :exam-answer-setting-v-o=\"item.examAnswerSettingVO || {}\"\n :exam-rich-text-content=\"item.examRichTextContent\"\n :exam-answer-relation-type=\"item.examAnswerRelationType\"\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) => addSubject(type, index, null)\"\n />\n <SubjectTextFill\n v-else-if=\"item.answerType === 'text_fill'\"\n v-bind=\"attrs\"\n :order-index=\"currentIndex()(item.customId)\"\n :title=\"item.title\"\n :is-save=\"!item.isRealCanDel\"\n :is-set=\"item.hasSet || false\"\n :answer-list=\"item.answers\"\n :analysis=\"item.analysis\"\n :show-action=\"!isPreview\"\n :is-edit=\"item.isEdit || false\"\n :exam-expand=\"item.examExpand\"\n :exam-answer-setting-v-o=\"item.examAnswerSettingVO || {}\"\n :exam-answer-relation-type=\"item.examAnswerRelationType\"\n :exam-rich-text-content=\"item.examRichTextContent\"\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) => addSubject(type, index, null)\"\n />\n <SubjectRichText\n v-else-if=\"item.answerType === 'rich_text'\"\n v-bind=\"attrs\"\n :order-index=\"currentIndex()(item.customId)\"\n :rich-text-content=\"item.richTextContent\"\n :is-set=\"item.hasSet || false\"\n :is-save=\"!item.isRealCanDel\"\n :is-edit=\"item.isEdit || false\"\n :show-action=\"!isPreview\"\n :exam-answer-relation-type=\"item.examAnswerRelationType\"\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) => addSubject(type, index, null)\"\n />\n <SubjectPageEnd\n v-else-if=\"item.answerType === 'page_end'\"\n :key=\"index\"\n :total-page=\"totalPageIndex()\"\n :current-page-index=\"currentPageIndex(item.customId)\"\n :item=\"item\"\n :is-edit=\"item.isEdit || false\"\n :is-set=\"item.hasSet || false\"\n :is-save=\"!item.isRealCanDel\"\n :exam-answer-relation-type=\"item.examAnswerRelationType\"\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) => addSubject(type, index, null)\"\n />\n </div> <!-- 关闭 subject-content -->\n </div>\n </template>\n </draggable>\n </template>\n </div>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","currentList","ref","attrs","useAttrs","__expose","addSubject","uploadExcel","list","value","concat","addExam","items","currentIndex","newList","forEach","v","newItem","customId","nanoid","answerType","richTextContent","examTypeEnum","answers","map","c","title","answer","answerId","examAnswerId","isCorrect","isSave","isEdit","isRealCanDel","hasSet","pageIndex","push","analysis","scaleQuestionList","examAnswerRelationType","setAnswerRelation","answerRelations","customAnswerId","targetItem","find","targetAnswer","currentPageIndex","computed","currentPageList","filter","currentId","findIndex","currentExamId","current","output","type","index","newSubject","isKey","answerCheckType","splice","move","item","length","saveSubject","deleteSubject","QxsMessage","success","setRelation","examAnswers","watch","subjectList","immediate","ns","useNamespace","sortMode","toggleSortMode","_createElementBlock","class","_normalizeClass","_unref","e","_createElementVNode","_hoisted_1","_createCommentVNode","isPreview","_openBlock","_hoisted_2","_createBlock","QxsButton","size","onClick","_cache","icon","xmlns","width","height","viewBox","fill","d","_hoisted_3","_createVNode","draggable","$event","animation","_withCtx","element","_hoisted_4","_hoisted_5","_toDisplayString","_hoisted_6","_hoisted_7","single","multiple","sort","blank_fill","text_fill","scale","rich_text","page_end","_Fragment","key","handle","disabled","_hoisted_8","includes","SubjectSingle","_mergeProps","examId","leastAnswerCount","examExpand","examRichTextContent","onSetRelation","onMove","onDelete","onSave","onEdit","onAdd","SubjectScale","SubjectBlankFill","examAnswerSettingVO","SubjectTextFill","SubjectRichText","SubjectPageEnd"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import t from"./subject-list.vue.mjs";export{t as default};
2
- //# sourceMappingURL=subject-list.vue2.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subject-list.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
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
@@ -1 +0,0 @@
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\n"],"names":["QxsSubjectType","withInstall","component"],"mappings":"2FAGA,MAAMA,EAAiBC,EAAYC"}
@@ -1,2 +0,0 @@
1
- import{defineComponent as e,ref as l,createElementBlock as t,openBlock as s,normalizeClass as a,unref as i,createElementVNode as c,Fragment as p,renderList as n,toDisplayString as y}from"vue";import{useNamespace as b}from"@qxs-bns/hooks";const u={class:"type-item"},v={class:"base-subject"},m=["onClick"],o={class:"type-item"},d={class:"base-subject flex"},r=["onClick"],k={class:"type-item"},f={class:"base-subject flex"},x=["onClick"];var j=e({name:"QxsSubjectType",__name:"subject-type",emits:["select"],setup(e,{emit:j}){const C=j,_=l([{type:"single",label:"单选题"},{type:"multiple",label:"多选题"},{type:"blank_fill",label:"填空题"},{type:"text_fill",label:"问答题"},{type:"scale",label:"量表题"},{type:"sort",label:"排序题"}]),g=l([{type:"rich_text",label:"富文本"},{type:"page_end",label:"分页器"}]),h=l([{type:"single",label:"单选题"},{type:"multiple",label:"多选题"}]),q=b("subject-type");return(e,l)=>(s(),t("div",{class:a(i(q).e("type-list"))},[c("div",u,[l[0]||(l[0]=c("div",null,"普通题目类型",-1)),c("div",v,[(s(!0),t(p,null,n(_.value,e=>(s(),t("div",{key:e.type,class:"item flex-center",onClick:l=>C("select",e.type)},[c("span",null,y(e.label),1)],8,m))),128))])]),c("div",o,[l[1]||(l[1]=c("div",null,"其他",-1)),c("div",d,[(s(!0),t(p,null,n(g.value,e=>(s(),t("div",{key:e.type,class:"item flex-center",onClick:l=>C("select",e.type)},[c("span",null,y(e.label),1)],8,r))),128))])]),c("div",k,[l[2]||(l[2]=c("div",null,"互动问答类型(支持设置结果项)",-1)),c("div",f,[(s(!0),t(p,null,n(h.value,e=>(s(),t("div",{key:e.type,class:"item flex-center",onClick:l=>C("select",e.type,!0)},[c("span",null,y(e.label),1)],8,x))),128))])])],2))}});export{j as default};
2
- //# sourceMappingURL=subject-type.vue.mjs.map
@@ -1 +0,0 @@
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'\nimport { ref } from 'vue'\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</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\n v-for=\"item in subjectOptions\"\n :key=\"item.type\"\n class=\"item flex-center\"\n @click=\"emits('select', item.type)\"\n >\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\n v-for=\"item in otherOptions\"\n :key=\"item.type\"\n class=\"item flex-center\"\n @click=\"emits('select', item.type)\"\n >\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\n v-for=\"item in interactionOptions\"\n :key=\"item.type\"\n class=\"item flex-center\"\n @click=\"emits('select', item.type, true)\"\n >\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","_createElementBlock","class","_normalizeClass","_unref","e","_createElementVNode","_hoisted_1","_cache","_hoisted_2","_Fragment","_renderList","value","item","key","onClick","$event","_toDisplayString","_hoisted_4","_hoisted_5","_hoisted_7","_hoisted_8"],"mappings":"6gBAOA,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,kCAItBC,EAwCM,MAAA,CAxCAC,MAAKC,EAAEC,EAAAL,GAAGM,EAAC,gBACfC,EAYM,MAZNC,EAYM,CAXJC,EAAA,KAAAA,EAAA,GAAAF,EAAiB,WAAZ,UAAM,IACXA,EASM,MATNG,EASM,QARJR,EAOMS,EAAA,KAAAC,EANWlB,EAAAmB,MAARC,QADTZ,EAOM,MAAA,CALHa,IAAKD,EAAKlB,KACXO,MAAM,mBACLa,QAAKC,GAAEzB,EAAK,SAAWsB,EAAKlB,QAE7BW,EAA6B,OAAA,KAAAW,EAApBJ,EAAKjB,OAAK,qBAIzBU,EAYM,MAZNY,EAYM,CAXJV,EAAA,KAAAA,EAAA,GAAAF,EAAa,WAAR,MAAE,IACPA,EASM,MATNa,EASM,QARJlB,EAOMS,EAAA,KAAAC,EANWd,EAAAe,MAARC,QADTZ,EAOM,MAAA,CALHa,IAAKD,EAAKlB,KACXO,MAAM,mBACLa,QAAKC,GAAEzB,EAAK,SAAWsB,EAAKlB,QAE7BW,EAA6B,OAAA,KAAAW,EAApBJ,EAAKjB,OAAK,qBAIzBU,EAYM,MAZNc,EAYM,CAXJZ,EAAA,KAAAA,EAAA,GAAAF,EAA0B,WAArB,mBAAe,IACpBA,EASM,MATNe,EASM,QARJpB,EAOMS,EAAA,KAAAC,EANWb,EAAAc,MAARC,QADTZ,EAOM,MAAA,CALHa,IAAKD,EAAKlB,KACXO,MAAM,mBACLa,QAAKC,GAAEzB,EAAK,SAAWsB,EAAKlB,MAAI,KAEjCW,EAA6B,OAAA,KAAAW,EAApBJ,EAAKjB,OAAK"}
@@ -1,2 +0,0 @@
1
- import e from"./subject-type.vue.mjs";export{e as default};
2
- //# sourceMappingURL=subject-type.vue2.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subject-type.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
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
@@ -1 +0,0 @@
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\n"],"names":["QxsTinyMceEditor","withInstall","component"],"mappings":"8FAGA,MAAMA,EAAmBC,EAAYC"}