@qxs-bns/components 0.0.89 → 0.0.91

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 (799) hide show
  1. package/README.md +11 -15
  2. package/es/base/define.mjs +2 -0
  3. package/es/base/define.mjs.map +1 -0
  4. package/es/base/uid.mjs +2 -0
  5. package/es/base/uid.mjs.map +1 -0
  6. package/es/data-chart.mjs +142 -0
  7. package/es/data-chart.mjs.map +1 -0
  8. package/es/editor/blocksuite-editor.mjs +1115 -0
  9. package/es/editor/blocksuite-editor.mjs.map +1 -0
  10. package/es/editor/content-format.mjs +2 -0
  11. package/es/editor/content-format.mjs.map +1 -0
  12. package/es/editor/index.mjs +2 -0
  13. package/es/editor/index.mjs.map +1 -0
  14. package/es/editor/toolbar.mjs +2 -0
  15. package/es/editor/toolbar.mjs.map +1 -0
  16. package/es/entry-data-chart.mjs +2 -0
  17. package/es/entry-data-chart.mjs.map +1 -0
  18. package/es/entry-editor.mjs +2 -0
  19. package/es/entry-editor.mjs.map +1 -0
  20. package/es/entry-file-upload.mjs +2 -0
  21. package/es/entry-file-upload.mjs.map +1 -0
  22. package/es/entry-fixed-action-bar.mjs +2 -0
  23. package/es/entry-fixed-action-bar.mjs.map +1 -0
  24. package/es/entry-icon.mjs +2 -0
  25. package/es/entry-icon.mjs.map +1 -0
  26. package/es/entry-image-upload.mjs +2 -0
  27. package/es/entry-image-upload.mjs.map +1 -0
  28. package/es/entry-photo-crop-tool.mjs +2 -0
  29. package/es/entry-photo-crop-tool.mjs.map +1 -0
  30. package/es/entry-subject.mjs +2 -0
  31. package/es/entry-subject.mjs.map +1 -0
  32. package/es/file-upload.mjs +157 -0
  33. package/es/file-upload.mjs.map +1 -0
  34. package/es/fixed-action-bar.mjs +39 -0
  35. package/es/fixed-action-bar.mjs.map +1 -0
  36. package/es/icon.mjs +20 -0
  37. package/es/icon.mjs.map +1 -0
  38. package/es/image-upload.mjs +333 -0
  39. package/es/image-upload.mjs.map +1 -0
  40. package/es/index.mjs +1 -1
  41. package/es/index.mjs.map +1 -1
  42. 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 +1 -1
  43. 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 +1 -1
  44. package/es/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.mjs +2 -0
  45. package/es/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.mjs.map +1 -0
  46. package/es/node_modules/.pnpm/turndown-plugin-gfm@1.0.2/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.mjs +2 -0
  47. 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
  48. package/es/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.es.mjs +2 -0
  49. package/es/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.es.mjs.map +1 -0
  50. package/es/package.json.mjs +1 -1
  51. package/es/photo-crop-tool.mjs +147 -0
  52. package/es/photo-crop-tool.mjs.map +1 -0
  53. package/es/src/alert/index.mjs +2 -0
  54. package/es/src/alert/index.mjs.map +1 -0
  55. package/es/src/alert/src/alert.mjs +2 -0
  56. package/es/src/alert/src/alert.mjs.map +1 -0
  57. package/es/src/components.mjs +1 -1
  58. package/es/src/data-chart/index.mjs +1 -1
  59. package/es/src/data-chart/index.mjs.map +1 -1
  60. package/es/src/dialog/src/dialog.mjs +2 -0
  61. package/es/src/dialog/src/dialog.mjs.map +1 -0
  62. package/es/src/feedback-plugin/index.mjs +2 -0
  63. package/es/src/feedback-plugin/index.mjs.map +1 -0
  64. package/es/src/file-upload/index.mjs +1 -1
  65. package/es/src/file-upload/index.mjs.map +1 -1
  66. package/es/src/image-upload/index.mjs +1 -1
  67. package/es/src/image-upload/index.mjs.map +1 -1
  68. package/es/src/make-installer.mjs +1 -1
  69. package/es/src/make-installer.mjs.map +1 -1
  70. package/es/src/message/src/message.mjs +2 -0
  71. package/es/src/message/src/message.mjs.map +1 -0
  72. package/es/src/photo-crop-tool/index.mjs +1 -1
  73. package/es/src/photo-crop-tool/index.mjs.map +1 -1
  74. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs +1 -1
  75. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs.map +1 -1
  76. package/es/src/ui/button/index.mjs +2 -0
  77. package/es/src/ui/button/index.mjs.map +1 -0
  78. package/es/src/ui/checkbox/index.mjs +2 -0
  79. package/es/src/ui/checkbox/index.mjs.map +1 -0
  80. package/es/src/ui/dialog/index.mjs +2 -0
  81. package/es/src/ui/dialog/index.mjs.map +1 -0
  82. package/es/src/ui/input/index.mjs +2 -0
  83. package/es/src/ui/input/index.mjs.map +1 -0
  84. package/es/src/ui/input-number/index.mjs +2 -0
  85. package/es/src/ui/input-number/index.mjs.map +1 -0
  86. package/es/src/ui/layout/index.mjs +2 -0
  87. package/es/src/ui/layout/index.mjs.map +1 -0
  88. package/es/src/ui/link/index.mjs +2 -0
  89. package/es/src/ui/link/index.mjs.map +1 -0
  90. package/es/src/ui/popover/index.mjs +2 -0
  91. package/es/src/ui/popover/index.mjs.map +1 -0
  92. package/es/src/ui/radio/index.mjs +2 -0
  93. package/es/src/ui/radio/index.mjs.map +1 -0
  94. package/es/src/ui/scrollbar/index.mjs +2 -0
  95. package/es/src/ui/scrollbar/index.mjs.map +1 -0
  96. package/es/src/ui/select/index.mjs +2 -0
  97. package/es/src/ui/select/index.mjs.map +1 -0
  98. package/es/src/ui/table/index.mjs +2 -0
  99. package/es/src/ui/table/index.mjs.map +1 -0
  100. package/es/src/ui/tag/index.mjs +2 -0
  101. package/es/src/ui/tag/index.mjs.map +1 -0
  102. package/es/src/wc-bridge.mjs +2 -0
  103. package/es/src/wc-bridge.mjs.map +1 -0
  104. package/es/subject/action.mjs +171 -0
  105. package/es/subject/action.mjs.map +1 -0
  106. package/es/subject/blank-fill.mjs +385 -0
  107. package/es/subject/blank-fill.mjs.map +1 -0
  108. package/es/subject/draft.mjs +2 -0
  109. package/es/subject/draft.mjs.map +1 -0
  110. package/es/subject/layout.mjs +21 -0
  111. package/es/subject/layout.mjs.map +1 -0
  112. package/es/subject/page-end.mjs +28 -0
  113. package/es/subject/page-end.mjs.map +1 -0
  114. package/es/subject/pagination.mjs +2 -0
  115. package/es/subject/pagination.mjs.map +1 -0
  116. package/es/subject/runtime.mjs +2 -0
  117. package/es/subject/runtime.mjs.map +1 -0
  118. package/es/subject/scale.mjs +267 -0
  119. package/es/subject/scale.mjs.map +1 -0
  120. package/es/subject/shared-methods.mjs +2 -0
  121. package/es/subject/shared-methods.mjs.map +1 -0
  122. package/es/subject/shared-styles.mjs +75 -0
  123. package/es/subject/shared-styles.mjs.map +1 -0
  124. package/es/subject/single.mjs +600 -0
  125. package/es/subject/single.mjs.map +1 -0
  126. package/es/subject/sort-controller.mjs +2 -0
  127. package/es/subject/sort-controller.mjs.map +1 -0
  128. package/es/subject/sortable.mjs +30 -0
  129. package/es/subject/sortable.mjs.map +1 -0
  130. package/es/subject/sorting-card.mjs +52 -0
  131. package/es/subject/sorting-card.mjs.map +1 -0
  132. package/es/subject/text-fill.mjs +395 -0
  133. package/es/subject/text-fill.mjs.map +1 -0
  134. package/es/subject/title-prefix.mjs +2 -0
  135. package/es/subject/title-prefix.mjs.map +1 -0
  136. package/es/subject/types.mjs +2 -0
  137. package/es/subject/types.mjs.map +1 -0
  138. package/lib/base/define.cjs +2 -0
  139. package/lib/base/define.cjs.map +1 -0
  140. package/lib/base/uid.cjs +2 -0
  141. package/lib/base/uid.cjs.map +1 -0
  142. package/lib/data-chart.cjs +142 -0
  143. package/lib/data-chart.cjs.map +1 -0
  144. package/lib/editor/blocksuite-editor.cjs +1115 -0
  145. package/lib/editor/blocksuite-editor.cjs.map +1 -0
  146. package/lib/editor/content-format.cjs +2 -0
  147. package/lib/editor/content-format.cjs.map +1 -0
  148. package/lib/editor/index.cjs +2 -0
  149. package/lib/editor/index.cjs.map +1 -0
  150. package/lib/editor/toolbar.cjs +2 -0
  151. package/lib/editor/toolbar.cjs.map +1 -0
  152. package/lib/entry-data-chart.cjs +2 -0
  153. package/lib/entry-data-chart.cjs.map +1 -0
  154. package/lib/entry-editor.cjs +2 -0
  155. package/lib/entry-editor.cjs.map +1 -0
  156. package/lib/entry-file-upload.cjs +2 -0
  157. package/lib/entry-file-upload.cjs.map +1 -0
  158. package/lib/entry-fixed-action-bar.cjs +2 -0
  159. package/lib/entry-fixed-action-bar.cjs.map +1 -0
  160. package/lib/entry-icon.cjs +2 -0
  161. package/lib/entry-icon.cjs.map +1 -0
  162. package/lib/entry-image-upload.cjs +2 -0
  163. package/lib/entry-image-upload.cjs.map +1 -0
  164. package/lib/entry-photo-crop-tool.cjs +2 -0
  165. package/lib/entry-photo-crop-tool.cjs.map +1 -0
  166. package/lib/entry-subject.cjs +2 -0
  167. package/lib/entry-subject.cjs.map +1 -0
  168. package/lib/file-upload.cjs +157 -0
  169. package/lib/file-upload.cjs.map +1 -0
  170. package/lib/fixed-action-bar.cjs +39 -0
  171. package/lib/fixed-action-bar.cjs.map +1 -0
  172. package/lib/icon.cjs +20 -0
  173. package/lib/icon.cjs.map +1 -0
  174. package/lib/image-upload.cjs +333 -0
  175. package/lib/image-upload.cjs.map +1 -0
  176. package/lib/index.cjs +1 -1
  177. package/lib/index.cjs.map +1 -1
  178. 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 +1 -1
  179. 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 +1 -1
  180. package/lib/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.cjs +2 -0
  181. package/lib/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.cjs.map +1 -0
  182. package/lib/node_modules/.pnpm/turndown-plugin-gfm@1.0.2/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.cjs +2 -0
  183. 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
  184. package/lib/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.es.cjs +2 -0
  185. package/lib/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.es.cjs.map +1 -0
  186. package/lib/package.json.cjs +1 -1
  187. package/lib/photo-crop-tool.cjs +147 -0
  188. package/lib/photo-crop-tool.cjs.map +1 -0
  189. package/lib/src/alert/index.cjs +2 -0
  190. package/lib/src/alert/index.cjs.map +1 -0
  191. package/lib/src/alert/src/alert.cjs +2 -0
  192. package/lib/src/alert/src/alert.cjs.map +1 -0
  193. package/lib/src/components.cjs +1 -1
  194. package/lib/src/data-chart/index.cjs +1 -1
  195. package/lib/src/data-chart/index.cjs.map +1 -1
  196. package/lib/src/dialog/src/dialog.cjs +2 -0
  197. package/lib/src/dialog/src/dialog.cjs.map +1 -0
  198. package/lib/src/feedback-plugin/index.cjs +2 -0
  199. package/lib/src/feedback-plugin/index.cjs.map +1 -0
  200. package/lib/src/file-upload/index.cjs +1 -1
  201. package/lib/src/file-upload/index.cjs.map +1 -1
  202. package/lib/src/image-upload/index.cjs +1 -1
  203. package/lib/src/image-upload/index.cjs.map +1 -1
  204. package/lib/src/make-installer.cjs +1 -1
  205. package/lib/src/make-installer.cjs.map +1 -1
  206. package/lib/src/message/src/message.cjs +2 -0
  207. package/lib/src/message/src/message.cjs.map +1 -0
  208. package/lib/src/photo-crop-tool/index.cjs +1 -1
  209. package/lib/src/photo-crop-tool/index.cjs.map +1 -1
  210. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs +1 -1
  211. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs.map +1 -1
  212. package/lib/src/ui/button/index.cjs +2 -0
  213. package/lib/src/ui/button/index.cjs.map +1 -0
  214. package/lib/src/ui/checkbox/index.cjs +2 -0
  215. package/lib/src/ui/checkbox/index.cjs.map +1 -0
  216. package/lib/src/ui/dialog/index.cjs +2 -0
  217. package/lib/src/ui/dialog/index.cjs.map +1 -0
  218. package/lib/src/ui/input/index.cjs +2 -0
  219. package/lib/src/ui/input/index.cjs.map +1 -0
  220. package/lib/src/ui/input-number/index.cjs +2 -0
  221. package/lib/src/ui/input-number/index.cjs.map +1 -0
  222. package/lib/src/ui/layout/index.cjs +2 -0
  223. package/lib/src/ui/layout/index.cjs.map +1 -0
  224. package/lib/src/ui/link/index.cjs +2 -0
  225. package/lib/src/ui/link/index.cjs.map +1 -0
  226. package/lib/src/ui/popover/index.cjs +2 -0
  227. package/lib/src/ui/popover/index.cjs.map +1 -0
  228. package/lib/src/ui/radio/index.cjs +2 -0
  229. package/lib/src/ui/radio/index.cjs.map +1 -0
  230. package/lib/src/ui/scrollbar/index.cjs +2 -0
  231. package/lib/src/ui/scrollbar/index.cjs.map +1 -0
  232. package/lib/src/ui/select/index.cjs +2 -0
  233. package/lib/src/ui/select/index.cjs.map +1 -0
  234. package/lib/src/ui/table/index.cjs +2 -0
  235. package/lib/src/ui/table/index.cjs.map +1 -0
  236. package/lib/src/ui/tag/index.cjs +2 -0
  237. package/lib/src/ui/tag/index.cjs.map +1 -0
  238. package/lib/src/wc-bridge.cjs +2 -0
  239. package/lib/src/wc-bridge.cjs.map +1 -0
  240. package/lib/subject/action.cjs +171 -0
  241. package/lib/subject/action.cjs.map +1 -0
  242. package/lib/subject/blank-fill.cjs +385 -0
  243. package/lib/subject/blank-fill.cjs.map +1 -0
  244. package/lib/subject/draft.cjs +2 -0
  245. package/lib/subject/draft.cjs.map +1 -0
  246. package/lib/subject/layout.cjs +21 -0
  247. package/lib/subject/layout.cjs.map +1 -0
  248. package/lib/subject/page-end.cjs +28 -0
  249. package/lib/subject/page-end.cjs.map +1 -0
  250. package/lib/subject/pagination.cjs +2 -0
  251. package/lib/subject/pagination.cjs.map +1 -0
  252. package/lib/subject/runtime.cjs +2 -0
  253. package/lib/subject/runtime.cjs.map +1 -0
  254. package/lib/subject/scale.cjs +267 -0
  255. package/lib/subject/scale.cjs.map +1 -0
  256. package/lib/subject/shared-methods.cjs +2 -0
  257. package/lib/subject/shared-methods.cjs.map +1 -0
  258. package/lib/subject/shared-styles.cjs +75 -0
  259. package/lib/subject/shared-styles.cjs.map +1 -0
  260. package/lib/subject/single.cjs +600 -0
  261. package/lib/subject/single.cjs.map +1 -0
  262. package/lib/subject/sort-controller.cjs +2 -0
  263. package/lib/subject/sort-controller.cjs.map +1 -0
  264. package/lib/subject/sortable.cjs +30 -0
  265. package/lib/subject/sortable.cjs.map +1 -0
  266. package/lib/subject/sorting-card.cjs +52 -0
  267. package/lib/subject/sorting-card.cjs.map +1 -0
  268. package/lib/subject/text-fill.cjs +395 -0
  269. package/lib/subject/text-fill.cjs.map +1 -0
  270. package/lib/subject/title-prefix.cjs +2 -0
  271. package/lib/subject/title-prefix.cjs.map +1 -0
  272. package/lib/subject/types.cjs +2 -0
  273. package/lib/subject/types.cjs.map +1 -0
  274. package/package.json +94 -41
  275. package/types/base/define.d.ts +1 -0
  276. package/types/base/uid.d.ts +1 -0
  277. package/types/data-chart.d.ts +65 -0
  278. package/types/editor/blocksuite-editor.d.ts +191 -0
  279. package/types/editor/content-format.d.ts +4 -0
  280. package/types/editor/index.d.ts +4 -0
  281. package/types/editor/toolbar.d.ts +6 -0
  282. package/types/editor/types.d.ts +42 -0
  283. package/types/entry-data-chart.d.ts +1 -0
  284. package/types/entry-editor.d.ts +2 -0
  285. package/types/entry-file-upload.d.ts +1 -0
  286. package/types/entry-fixed-action-bar.d.ts +1 -0
  287. package/types/entry-icon.d.ts +2 -0
  288. package/types/entry-image-upload.d.ts +1 -0
  289. package/types/entry-photo-crop-tool.d.ts +1 -0
  290. package/types/entry-subject.d.ts +2 -0
  291. package/types/file-upload.d.ts +48 -0
  292. package/types/fixed-action-bar.d.ts +25 -0
  293. package/types/icon.d.ts +30 -0
  294. package/types/image-upload.d.ts +68 -0
  295. package/types/index.d.ts +21 -6
  296. package/types/photo-crop-tool.d.ts +43 -0
  297. package/types/src/alert/index.d.ts +66 -0
  298. package/types/src/alert/index.d.ts.map +1 -0
  299. package/types/src/alert/src/alert.d.ts +73 -0
  300. package/types/src/alert/src/alert.d.ts.map +1 -0
  301. package/types/src/components.d.ts +4 -6
  302. package/types/src/components.d.ts.map +1 -1
  303. package/types/src/data-chart/index.d.ts +11 -27
  304. package/types/src/data-chart/index.d.ts.map +1 -1
  305. package/types/src/dialog/index.d.ts +3 -0
  306. package/types/src/dialog/index.d.ts.map +1 -0
  307. package/types/src/dialog/src/dialog.d.ts +25 -0
  308. package/types/src/dialog/src/dialog.d.ts.map +1 -0
  309. package/types/src/feedback-plugin/index.d.ts +9 -0
  310. package/types/src/feedback-plugin/index.d.ts.map +1 -0
  311. package/types/src/file-upload/index.d.ts +10 -28
  312. package/types/src/file-upload/index.d.ts.map +1 -1
  313. package/types/src/icon/index.d.ts +3 -3
  314. package/types/src/icon/src/icon.d.ts +3 -3
  315. package/types/src/image-upload/index.d.ts +10 -46
  316. package/types/src/image-upload/index.d.ts.map +1 -1
  317. package/types/src/make-installer.d.ts +1 -4
  318. package/types/src/make-installer.d.ts.map +1 -1
  319. package/types/src/message/index.d.ts +3 -0
  320. package/types/src/message/index.d.ts.map +1 -0
  321. package/types/src/message/src/message.d.ts +21 -0
  322. package/types/src/message/src/message.d.ts.map +1 -0
  323. package/types/src/message/src/toaster.vue.d.ts +3 -0
  324. package/types/src/message/src/toaster.vue.d.ts.map +1 -0
  325. package/types/src/photo-crop-tool/index.d.ts +9 -52
  326. package/types/src/photo-crop-tool/index.d.ts.map +1 -1
  327. package/types/src/subject-action/src/subject-action.vue.d.ts.map +1 -1
  328. package/types/src/subject-layout/index.d.ts +2 -2
  329. package/types/src/subject-layout/src/subject-layout.vue.d.ts +2 -2
  330. package/types/src/subject-layout/src/subject-layout.vue.d.ts.map +1 -1
  331. package/types/src/subject-list/src/components/subject-blank-fill.vue.d.ts.map +1 -1
  332. package/types/src/subject-list/src/components/subject-scale.vue.d.ts.map +1 -1
  333. package/types/src/subject-list/src/components/subject-single.vue.d.ts.map +1 -1
  334. package/types/src/subject-list/src/components/subject-text-fill.vue.d.ts.map +1 -1
  335. package/types/src/subject-list/src/subject-list.vue.d.ts.map +1 -1
  336. package/types/src/subject-type/src/subject-type.vue.d.ts.map +1 -1
  337. package/types/src/ui/button/index.d.ts +96 -0
  338. package/types/src/ui/button/index.d.ts.map +1 -0
  339. package/types/src/ui/checkbox/index.d.ts +111 -0
  340. package/types/src/ui/checkbox/index.d.ts.map +1 -0
  341. package/types/src/ui/dialog/index.d.ts +134 -0
  342. package/types/src/ui/dialog/index.d.ts.map +1 -0
  343. package/types/src/ui/index.d.ts +16 -0
  344. package/types/src/ui/index.d.ts.map +1 -0
  345. package/types/src/ui/input/index.d.ts +132 -0
  346. package/types/src/ui/input/index.d.ts.map +1 -0
  347. package/types/src/ui/input-number/index.d.ts +106 -0
  348. package/types/src/ui/input-number/index.d.ts.map +1 -0
  349. package/types/src/ui/layout/index.d.ts +373 -0
  350. package/types/src/ui/layout/index.d.ts.map +1 -0
  351. package/types/src/ui/link/index.d.ts +57 -0
  352. package/types/src/ui/link/index.d.ts.map +1 -0
  353. package/types/src/ui/popover/index.d.ts +89 -0
  354. package/types/src/ui/popover/index.d.ts.map +1 -0
  355. package/types/src/ui/radio/index.d.ts +84 -0
  356. package/types/src/ui/radio/index.d.ts.map +1 -0
  357. package/types/src/ui/scrollbar/index.d.ts +35 -0
  358. package/types/src/ui/scrollbar/index.d.ts.map +1 -0
  359. package/types/src/ui/select/index.d.ts +113 -0
  360. package/types/src/ui/select/index.d.ts.map +1 -0
  361. package/types/src/ui/table/index.d.ts +152 -0
  362. package/types/src/ui/table/index.d.ts.map +1 -0
  363. package/types/src/ui/tag/index.d.ts +69 -0
  364. package/types/src/ui/tag/index.d.ts.map +1 -0
  365. package/types/src/wc-bridge.d.ts +23 -0
  366. package/types/src/wc-bridge.d.ts.map +1 -0
  367. package/types/subject/action.d.ts +37 -0
  368. package/types/subject/blank-fill.d.ts +79 -0
  369. package/types/subject/draft.d.ts +63 -0
  370. package/types/subject/index.d.ts +13 -0
  371. package/types/subject/layout.d.ts +7 -0
  372. package/types/subject/page-end.d.ts +16 -0
  373. package/types/subject/pagination.d.ts +23 -0
  374. package/types/subject/runtime.d.ts +12 -0
  375. package/types/subject/scale.d.ts +55 -0
  376. package/types/subject/shared-methods.d.ts +8 -0
  377. package/types/subject/shared-styles.d.ts +5 -0
  378. package/types/subject/single.d.ts +288 -0
  379. package/types/subject/sort-controller.d.ts +3 -0
  380. package/types/subject/sortable.d.ts +19 -0
  381. package/types/subject/sorting-card.d.ts +2 -0
  382. package/types/subject/text-fill.d.ts +88 -0
  383. package/types/subject/title-prefix.d.ts +2 -0
  384. package/types/subject/types.d.ts +12 -0
  385. package/types/tsconfig.tsbuildinfo +1 -1
  386. package/es/_virtual/_plugin-vue_export-helper.mjs +0 -2
  387. package/es/_virtual/_plugin-vue_export-helper.mjs.map +0 -1
  388. package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs +0 -2
  389. package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs.map +0 -1
  390. package/es/src/data-chart/src/analyze.mjs +0 -2
  391. package/es/src/data-chart/src/analyze.mjs.map +0 -1
  392. package/es/src/data-chart/src/components/area.vue.mjs +0 -2
  393. package/es/src/data-chart/src/components/area.vue.mjs.map +0 -1
  394. package/es/src/data-chart/src/components/area.vue2.mjs +0 -2
  395. package/es/src/data-chart/src/components/area.vue2.mjs.map +0 -1
  396. package/es/src/data-chart/src/components/area.vue3.mjs +0 -2
  397. package/es/src/data-chart/src/components/area.vue3.mjs.map +0 -1
  398. package/es/src/data-chart/src/components/bar.vue.mjs +0 -2
  399. package/es/src/data-chart/src/components/bar.vue.mjs.map +0 -1
  400. package/es/src/data-chart/src/components/bar.vue2.mjs +0 -2
  401. package/es/src/data-chart/src/components/bar.vue2.mjs.map +0 -1
  402. package/es/src/data-chart/src/components/bar.vue3.mjs +0 -2
  403. package/es/src/data-chart/src/components/bar.vue3.mjs.map +0 -1
  404. package/es/src/data-chart/src/components/card.vue.mjs +0 -2
  405. package/es/src/data-chart/src/components/card.vue.mjs.map +0 -1
  406. package/es/src/data-chart/src/components/card.vue2.mjs +0 -2
  407. package/es/src/data-chart/src/components/card.vue2.mjs.map +0 -1
  408. package/es/src/data-chart/src/components/card.vue3.mjs +0 -2
  409. package/es/src/data-chart/src/components/card.vue3.mjs.map +0 -1
  410. package/es/src/data-chart/src/components/data-chart-card-bg-left.svg.mjs +0 -2
  411. package/es/src/data-chart/src/components/data-chart-card-bg-left.svg.mjs.map +0 -1
  412. package/es/src/data-chart/src/components/data-chart-card-bg-right.svg.mjs +0 -2
  413. package/es/src/data-chart/src/components/data-chart-card-bg-right.svg.mjs.map +0 -1
  414. package/es/src/data-chart/src/components/empty.svg.mjs +0 -2
  415. package/es/src/data-chart/src/components/empty.svg.mjs.map +0 -1
  416. package/es/src/data-chart/src/components/empty.vue.mjs +0 -2
  417. package/es/src/data-chart/src/components/empty.vue.mjs.map +0 -1
  418. package/es/src/data-chart/src/components/empty.vue2.mjs +0 -2
  419. package/es/src/data-chart/src/components/empty.vue2.mjs.map +0 -1
  420. package/es/src/data-chart/src/components/funnel.vue.mjs +0 -2
  421. package/es/src/data-chart/src/components/funnel.vue.mjs.map +0 -1
  422. package/es/src/data-chart/src/components/funnel.vue2.mjs +0 -2
  423. package/es/src/data-chart/src/components/funnel.vue2.mjs.map +0 -1
  424. package/es/src/data-chart/src/components/funnel.vue3.mjs +0 -2
  425. package/es/src/data-chart/src/components/funnel.vue3.mjs.map +0 -1
  426. package/es/src/data-chart/src/components/line.vue.mjs +0 -2
  427. package/es/src/data-chart/src/components/line.vue.mjs.map +0 -1
  428. package/es/src/data-chart/src/components/line.vue2.mjs +0 -2
  429. package/es/src/data-chart/src/components/line.vue2.mjs.map +0 -1
  430. package/es/src/data-chart/src/components/line.vue3.mjs +0 -2
  431. package/es/src/data-chart/src/components/line.vue3.mjs.map +0 -1
  432. package/es/src/data-chart/src/components/pie.vue.mjs +0 -2
  433. package/es/src/data-chart/src/components/pie.vue.mjs.map +0 -1
  434. package/es/src/data-chart/src/components/pie.vue2.mjs +0 -2
  435. package/es/src/data-chart/src/components/pie.vue2.mjs.map +0 -1
  436. package/es/src/data-chart/src/components/pie.vue3.mjs +0 -2
  437. package/es/src/data-chart/src/components/pie.vue3.mjs.map +0 -1
  438. package/es/src/data-chart/src/components/radar.vue.mjs +0 -2
  439. package/es/src/data-chart/src/components/radar.vue.mjs.map +0 -1
  440. package/es/src/data-chart/src/components/radar.vue2.mjs +0 -2
  441. package/es/src/data-chart/src/components/radar.vue2.mjs.map +0 -1
  442. package/es/src/data-chart/src/components/radar.vue3.mjs +0 -2
  443. package/es/src/data-chart/src/components/radar.vue3.mjs.map +0 -1
  444. package/es/src/data-chart/src/components/scatter-simple.vue.mjs +0 -2
  445. package/es/src/data-chart/src/components/scatter-simple.vue.mjs.map +0 -1
  446. package/es/src/data-chart/src/components/scatter-simple.vue2.mjs +0 -2
  447. package/es/src/data-chart/src/components/scatter-simple.vue2.mjs.map +0 -1
  448. package/es/src/data-chart/src/components/scatter-simple.vue3.mjs +0 -2
  449. package/es/src/data-chart/src/components/scatter-simple.vue3.mjs.map +0 -1
  450. package/es/src/data-chart/src/components/scatter.vue.mjs +0 -2
  451. package/es/src/data-chart/src/components/scatter.vue.mjs.map +0 -1
  452. package/es/src/data-chart/src/components/scatter.vue2.mjs +0 -2
  453. package/es/src/data-chart/src/components/scatter.vue2.mjs.map +0 -1
  454. package/es/src/data-chart/src/components/scatter.vue3.mjs +0 -2
  455. package/es/src/data-chart/src/components/scatter.vue3.mjs.map +0 -1
  456. package/es/src/data-chart/src/components/table.vue.mjs +0 -2
  457. package/es/src/data-chart/src/components/table.vue.mjs.map +0 -1
  458. package/es/src/data-chart/src/components/table.vue2.mjs +0 -2
  459. package/es/src/data-chart/src/components/table.vue2.mjs.map +0 -1
  460. package/es/src/data-chart/src/data-chart.vue.mjs +0 -2
  461. package/es/src/data-chart/src/data-chart.vue.mjs.map +0 -1
  462. package/es/src/data-chart/src/data-chart.vue2.mjs +0 -2
  463. package/es/src/data-chart/src/data-chart.vue2.mjs.map +0 -1
  464. package/es/src/data-chart/src/utils/config.mjs +0 -2
  465. package/es/src/data-chart/src/utils/config.mjs.map +0 -1
  466. package/es/src/data-chart/src/utils/injectionKeys.mjs +0 -2
  467. package/es/src/data-chart/src/utils/injectionKeys.mjs.map +0 -1
  468. package/es/src/data-chart/src/utils/mapData.mjs +0 -2
  469. package/es/src/data-chart/src/utils/mapData.mjs.map +0 -1
  470. package/es/src/data-chart/src/utils/safe-eval.mjs +0 -2
  471. package/es/src/data-chart/src/utils/safe-eval.mjs.map +0 -1
  472. package/es/src/data-chart/src/utils/types.mjs +0 -2
  473. package/es/src/data-chart/src/utils/types.mjs.map +0 -1
  474. package/es/src/data-chart/src/utils/useCharts.mjs +0 -2
  475. package/es/src/data-chart/src/utils/useCharts.mjs.map +0 -1
  476. package/es/src/file-upload/src/file-upload.vue.mjs +0 -2
  477. package/es/src/file-upload/src/file-upload.vue.mjs.map +0 -1
  478. package/es/src/file-upload/src/file-upload.vue2.mjs +0 -2
  479. package/es/src/file-upload/src/file-upload.vue2.mjs.map +0 -1
  480. package/es/src/fixed-action-bar/index.mjs +0 -2
  481. package/es/src/fixed-action-bar/index.mjs.map +0 -1
  482. package/es/src/fixed-action-bar/src/fixed-action-bar.vue.mjs +0 -2
  483. package/es/src/fixed-action-bar/src/fixed-action-bar.vue.mjs.map +0 -1
  484. package/es/src/fixed-action-bar/src/fixed-action-bar.vue2.mjs +0 -2
  485. package/es/src/fixed-action-bar/src/fixed-action-bar.vue2.mjs.map +0 -1
  486. package/es/src/image-upload/src/image-upload.vue.mjs +0 -2
  487. package/es/src/image-upload/src/image-upload.vue.mjs.map +0 -1
  488. package/es/src/image-upload/src/image-upload.vue2.mjs +0 -2
  489. package/es/src/image-upload/src/image-upload.vue2.mjs.map +0 -1
  490. package/es/src/photo-crop-tool/src/composables.mjs +0 -2
  491. package/es/src/photo-crop-tool/src/composables.mjs.map +0 -1
  492. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.mjs +0 -2
  493. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.mjs.map +0 -1
  494. package/es/src/photo-crop-tool/src/photo-crop-tool.vue2.mjs +0 -2
  495. package/es/src/photo-crop-tool/src/photo-crop-tool.vue2.mjs.map +0 -1
  496. package/es/src/subject-action/index.mjs +0 -2
  497. package/es/src/subject-action/index.mjs.map +0 -1
  498. package/es/src/subject-action/src/subject-action.vue.mjs +0 -2
  499. package/es/src/subject-action/src/subject-action.vue.mjs.map +0 -1
  500. package/es/src/subject-action/src/subject-action.vue2.mjs +0 -2
  501. package/es/src/subject-action/src/subject-action.vue2.mjs.map +0 -1
  502. package/es/src/subject-layout/index.mjs +0 -2
  503. package/es/src/subject-layout/index.mjs.map +0 -1
  504. package/es/src/subject-layout/src/subject-layout.vue.mjs +0 -2
  505. package/es/src/subject-layout/src/subject-layout.vue.mjs.map +0 -1
  506. package/es/src/subject-layout/src/subject-layout.vue2.mjs +0 -2
  507. package/es/src/subject-layout/src/subject-layout.vue2.mjs.map +0 -1
  508. package/es/src/subject-list/index.mjs +0 -2
  509. package/es/src/subject-list/index.mjs.map +0 -1
  510. package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs +0 -2
  511. package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs.map +0 -1
  512. package/es/src/subject-list/src/components/SubjectPageEnd.vue2.mjs +0 -2
  513. package/es/src/subject-list/src/components/SubjectPageEnd.vue2.mjs.map +0 -1
  514. package/es/src/subject-list/src/components/SubjectRichText.vue.mjs +0 -2
  515. package/es/src/subject-list/src/components/SubjectRichText.vue.mjs.map +0 -1
  516. package/es/src/subject-list/src/components/SubjectRichText.vue2.mjs +0 -2
  517. package/es/src/subject-list/src/components/SubjectRichText.vue2.mjs.map +0 -1
  518. package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs +0 -2
  519. package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs.map +0 -1
  520. package/es/src/subject-list/src/components/subject-blank-fill.vue2.mjs +0 -2
  521. package/es/src/subject-list/src/components/subject-blank-fill.vue2.mjs.map +0 -1
  522. package/es/src/subject-list/src/components/subject-scale.vue.mjs +0 -2
  523. package/es/src/subject-list/src/components/subject-scale.vue.mjs.map +0 -1
  524. package/es/src/subject-list/src/components/subject-scale.vue2.mjs +0 -2
  525. package/es/src/subject-list/src/components/subject-scale.vue2.mjs.map +0 -1
  526. package/es/src/subject-list/src/components/subject-single.vue.mjs +0 -2
  527. package/es/src/subject-list/src/components/subject-single.vue.mjs.map +0 -1
  528. package/es/src/subject-list/src/components/subject-single.vue2.mjs +0 -2
  529. package/es/src/subject-list/src/components/subject-single.vue2.mjs.map +0 -1
  530. package/es/src/subject-list/src/components/subject-text-fill.vue.mjs +0 -2
  531. package/es/src/subject-list/src/components/subject-text-fill.vue.mjs.map +0 -1
  532. package/es/src/subject-list/src/components/subject-text-fill.vue2.mjs +0 -2
  533. package/es/src/subject-list/src/components/subject-text-fill.vue2.mjs.map +0 -1
  534. package/es/src/subject-list/src/subject-list.vue.mjs +0 -2
  535. package/es/src/subject-list/src/subject-list.vue.mjs.map +0 -1
  536. package/es/src/subject-list/src/subject-list.vue2.mjs +0 -2
  537. package/es/src/subject-list/src/subject-list.vue2.mjs.map +0 -1
  538. package/es/src/subject-type/index.mjs +0 -2
  539. package/es/src/subject-type/index.mjs.map +0 -1
  540. package/es/src/subject-type/src/subject-type.vue.mjs +0 -2
  541. package/es/src/subject-type/src/subject-type.vue.mjs.map +0 -1
  542. package/es/src/subject-type/src/subject-type.vue2.mjs +0 -2
  543. package/es/src/subject-type/src/subject-type.vue2.mjs.map +0 -1
  544. package/lib/_virtual/_plugin-vue_export-helper.cjs +0 -2
  545. package/lib/_virtual/_plugin-vue_export-helper.cjs.map +0 -1
  546. package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.cjs +0 -2
  547. package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.cjs.map +0 -1
  548. package/lib/src/data-chart/src/analyze.cjs +0 -2
  549. package/lib/src/data-chart/src/analyze.cjs.map +0 -1
  550. package/lib/src/data-chart/src/components/area.vue.cjs +0 -2
  551. package/lib/src/data-chart/src/components/area.vue.cjs.map +0 -1
  552. package/lib/src/data-chart/src/components/area.vue2.cjs +0 -2
  553. package/lib/src/data-chart/src/components/area.vue2.cjs.map +0 -1
  554. package/lib/src/data-chart/src/components/area.vue3.cjs +0 -2
  555. package/lib/src/data-chart/src/components/area.vue3.cjs.map +0 -1
  556. package/lib/src/data-chart/src/components/bar.vue.cjs +0 -2
  557. package/lib/src/data-chart/src/components/bar.vue.cjs.map +0 -1
  558. package/lib/src/data-chart/src/components/bar.vue2.cjs +0 -2
  559. package/lib/src/data-chart/src/components/bar.vue2.cjs.map +0 -1
  560. package/lib/src/data-chart/src/components/bar.vue3.cjs +0 -2
  561. package/lib/src/data-chart/src/components/bar.vue3.cjs.map +0 -1
  562. package/lib/src/data-chart/src/components/card.vue.cjs +0 -2
  563. package/lib/src/data-chart/src/components/card.vue.cjs.map +0 -1
  564. package/lib/src/data-chart/src/components/card.vue2.cjs +0 -2
  565. package/lib/src/data-chart/src/components/card.vue2.cjs.map +0 -1
  566. package/lib/src/data-chart/src/components/card.vue3.cjs +0 -2
  567. package/lib/src/data-chart/src/components/card.vue3.cjs.map +0 -1
  568. package/lib/src/data-chart/src/components/data-chart-card-bg-left.svg.cjs +0 -2
  569. package/lib/src/data-chart/src/components/data-chart-card-bg-left.svg.cjs.map +0 -1
  570. package/lib/src/data-chart/src/components/data-chart-card-bg-right.svg.cjs +0 -2
  571. package/lib/src/data-chart/src/components/data-chart-card-bg-right.svg.cjs.map +0 -1
  572. package/lib/src/data-chart/src/components/empty.svg.cjs +0 -2
  573. package/lib/src/data-chart/src/components/empty.svg.cjs.map +0 -1
  574. package/lib/src/data-chart/src/components/empty.vue.cjs +0 -2
  575. package/lib/src/data-chart/src/components/empty.vue.cjs.map +0 -1
  576. package/lib/src/data-chart/src/components/empty.vue2.cjs +0 -2
  577. package/lib/src/data-chart/src/components/empty.vue2.cjs.map +0 -1
  578. package/lib/src/data-chart/src/components/funnel.vue.cjs +0 -2
  579. package/lib/src/data-chart/src/components/funnel.vue.cjs.map +0 -1
  580. package/lib/src/data-chart/src/components/funnel.vue2.cjs +0 -2
  581. package/lib/src/data-chart/src/components/funnel.vue2.cjs.map +0 -1
  582. package/lib/src/data-chart/src/components/funnel.vue3.cjs +0 -2
  583. package/lib/src/data-chart/src/components/funnel.vue3.cjs.map +0 -1
  584. package/lib/src/data-chart/src/components/line.vue.cjs +0 -2
  585. package/lib/src/data-chart/src/components/line.vue.cjs.map +0 -1
  586. package/lib/src/data-chart/src/components/line.vue2.cjs +0 -2
  587. package/lib/src/data-chart/src/components/line.vue2.cjs.map +0 -1
  588. package/lib/src/data-chart/src/components/line.vue3.cjs +0 -2
  589. package/lib/src/data-chart/src/components/line.vue3.cjs.map +0 -1
  590. package/lib/src/data-chart/src/components/pie.vue.cjs +0 -2
  591. package/lib/src/data-chart/src/components/pie.vue.cjs.map +0 -1
  592. package/lib/src/data-chart/src/components/pie.vue2.cjs +0 -2
  593. package/lib/src/data-chart/src/components/pie.vue2.cjs.map +0 -1
  594. package/lib/src/data-chart/src/components/pie.vue3.cjs +0 -2
  595. package/lib/src/data-chart/src/components/pie.vue3.cjs.map +0 -1
  596. package/lib/src/data-chart/src/components/radar.vue.cjs +0 -2
  597. package/lib/src/data-chart/src/components/radar.vue.cjs.map +0 -1
  598. package/lib/src/data-chart/src/components/radar.vue2.cjs +0 -2
  599. package/lib/src/data-chart/src/components/radar.vue2.cjs.map +0 -1
  600. package/lib/src/data-chart/src/components/radar.vue3.cjs +0 -2
  601. package/lib/src/data-chart/src/components/radar.vue3.cjs.map +0 -1
  602. package/lib/src/data-chart/src/components/scatter-simple.vue.cjs +0 -2
  603. package/lib/src/data-chart/src/components/scatter-simple.vue.cjs.map +0 -1
  604. package/lib/src/data-chart/src/components/scatter-simple.vue2.cjs +0 -2
  605. package/lib/src/data-chart/src/components/scatter-simple.vue2.cjs.map +0 -1
  606. package/lib/src/data-chart/src/components/scatter-simple.vue3.cjs +0 -2
  607. package/lib/src/data-chart/src/components/scatter-simple.vue3.cjs.map +0 -1
  608. package/lib/src/data-chart/src/components/scatter.vue.cjs +0 -2
  609. package/lib/src/data-chart/src/components/scatter.vue.cjs.map +0 -1
  610. package/lib/src/data-chart/src/components/scatter.vue2.cjs +0 -2
  611. package/lib/src/data-chart/src/components/scatter.vue2.cjs.map +0 -1
  612. package/lib/src/data-chart/src/components/scatter.vue3.cjs +0 -2
  613. package/lib/src/data-chart/src/components/scatter.vue3.cjs.map +0 -1
  614. package/lib/src/data-chart/src/components/table.vue.cjs +0 -2
  615. package/lib/src/data-chart/src/components/table.vue.cjs.map +0 -1
  616. package/lib/src/data-chart/src/components/table.vue2.cjs +0 -2
  617. package/lib/src/data-chart/src/components/table.vue2.cjs.map +0 -1
  618. package/lib/src/data-chart/src/data-chart.vue.cjs +0 -2
  619. package/lib/src/data-chart/src/data-chart.vue.cjs.map +0 -1
  620. package/lib/src/data-chart/src/data-chart.vue2.cjs +0 -2
  621. package/lib/src/data-chart/src/data-chart.vue2.cjs.map +0 -1
  622. package/lib/src/data-chart/src/utils/config.cjs +0 -2
  623. package/lib/src/data-chart/src/utils/config.cjs.map +0 -1
  624. package/lib/src/data-chart/src/utils/injectionKeys.cjs +0 -2
  625. package/lib/src/data-chart/src/utils/injectionKeys.cjs.map +0 -1
  626. package/lib/src/data-chart/src/utils/mapData.cjs +0 -2
  627. package/lib/src/data-chart/src/utils/mapData.cjs.map +0 -1
  628. package/lib/src/data-chart/src/utils/safe-eval.cjs +0 -2
  629. package/lib/src/data-chart/src/utils/safe-eval.cjs.map +0 -1
  630. package/lib/src/data-chart/src/utils/types.cjs +0 -2
  631. package/lib/src/data-chart/src/utils/types.cjs.map +0 -1
  632. package/lib/src/data-chart/src/utils/useCharts.cjs +0 -2
  633. package/lib/src/data-chart/src/utils/useCharts.cjs.map +0 -1
  634. package/lib/src/file-upload/src/file-upload.vue.cjs +0 -2
  635. package/lib/src/file-upload/src/file-upload.vue.cjs.map +0 -1
  636. package/lib/src/file-upload/src/file-upload.vue2.cjs +0 -2
  637. package/lib/src/file-upload/src/file-upload.vue2.cjs.map +0 -1
  638. package/lib/src/fixed-action-bar/index.cjs +0 -2
  639. package/lib/src/fixed-action-bar/index.cjs.map +0 -1
  640. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.cjs +0 -2
  641. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.cjs.map +0 -1
  642. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue2.cjs +0 -2
  643. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue2.cjs.map +0 -1
  644. package/lib/src/image-upload/src/image-upload.vue.cjs +0 -2
  645. package/lib/src/image-upload/src/image-upload.vue.cjs.map +0 -1
  646. package/lib/src/image-upload/src/image-upload.vue2.cjs +0 -2
  647. package/lib/src/image-upload/src/image-upload.vue2.cjs.map +0 -1
  648. package/lib/src/photo-crop-tool/src/composables.cjs +0 -2
  649. package/lib/src/photo-crop-tool/src/composables.cjs.map +0 -1
  650. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.cjs +0 -2
  651. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.cjs.map +0 -1
  652. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue2.cjs +0 -2
  653. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue2.cjs.map +0 -1
  654. package/lib/src/subject-action/index.cjs +0 -2
  655. package/lib/src/subject-action/index.cjs.map +0 -1
  656. package/lib/src/subject-action/src/subject-action.vue.cjs +0 -2
  657. package/lib/src/subject-action/src/subject-action.vue.cjs.map +0 -1
  658. package/lib/src/subject-action/src/subject-action.vue2.cjs +0 -2
  659. package/lib/src/subject-action/src/subject-action.vue2.cjs.map +0 -1
  660. package/lib/src/subject-layout/index.cjs +0 -2
  661. package/lib/src/subject-layout/index.cjs.map +0 -1
  662. package/lib/src/subject-layout/src/subject-layout.vue.cjs +0 -2
  663. package/lib/src/subject-layout/src/subject-layout.vue.cjs.map +0 -1
  664. package/lib/src/subject-layout/src/subject-layout.vue2.cjs +0 -2
  665. package/lib/src/subject-layout/src/subject-layout.vue2.cjs.map +0 -1
  666. package/lib/src/subject-list/index.cjs +0 -2
  667. package/lib/src/subject-list/index.cjs.map +0 -1
  668. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs +0 -2
  669. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs.map +0 -1
  670. package/lib/src/subject-list/src/components/SubjectPageEnd.vue2.cjs +0 -2
  671. package/lib/src/subject-list/src/components/SubjectPageEnd.vue2.cjs.map +0 -1
  672. package/lib/src/subject-list/src/components/SubjectRichText.vue.cjs +0 -2
  673. package/lib/src/subject-list/src/components/SubjectRichText.vue.cjs.map +0 -1
  674. package/lib/src/subject-list/src/components/SubjectRichText.vue2.cjs +0 -2
  675. package/lib/src/subject-list/src/components/SubjectRichText.vue2.cjs.map +0 -1
  676. package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs +0 -2
  677. package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs.map +0 -1
  678. package/lib/src/subject-list/src/components/subject-blank-fill.vue2.cjs +0 -2
  679. package/lib/src/subject-list/src/components/subject-blank-fill.vue2.cjs.map +0 -1
  680. package/lib/src/subject-list/src/components/subject-scale.vue.cjs +0 -2
  681. package/lib/src/subject-list/src/components/subject-scale.vue.cjs.map +0 -1
  682. package/lib/src/subject-list/src/components/subject-scale.vue2.cjs +0 -2
  683. package/lib/src/subject-list/src/components/subject-scale.vue2.cjs.map +0 -1
  684. package/lib/src/subject-list/src/components/subject-single.vue.cjs +0 -2
  685. package/lib/src/subject-list/src/components/subject-single.vue.cjs.map +0 -1
  686. package/lib/src/subject-list/src/components/subject-single.vue2.cjs +0 -2
  687. package/lib/src/subject-list/src/components/subject-single.vue2.cjs.map +0 -1
  688. package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs +0 -2
  689. package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs.map +0 -1
  690. package/lib/src/subject-list/src/components/subject-text-fill.vue2.cjs +0 -2
  691. package/lib/src/subject-list/src/components/subject-text-fill.vue2.cjs.map +0 -1
  692. package/lib/src/subject-list/src/subject-list.vue.cjs +0 -2
  693. package/lib/src/subject-list/src/subject-list.vue.cjs.map +0 -1
  694. package/lib/src/subject-list/src/subject-list.vue2.cjs +0 -2
  695. package/lib/src/subject-list/src/subject-list.vue2.cjs.map +0 -1
  696. package/lib/src/subject-type/index.cjs +0 -2
  697. package/lib/src/subject-type/index.cjs.map +0 -1
  698. package/lib/src/subject-type/src/subject-type.vue.cjs +0 -2
  699. package/lib/src/subject-type/src/subject-type.vue.cjs.map +0 -1
  700. package/lib/src/subject-type/src/subject-type.vue2.cjs +0 -2
  701. package/lib/src/subject-type/src/subject-type.vue2.cjs.map +0 -1
  702. package/theme-chalk/index.css +0 -1
  703. package/theme-chalk/index.scss +0 -17
  704. package/theme-chalk/src/base.css +0 -1
  705. package/theme-chalk/src/base.scss +0 -16
  706. package/theme-chalk/src/common/element-plus-deps.css +0 -1
  707. package/theme-chalk/src/common/element-plus-deps.scss +0 -40
  708. package/theme-chalk/src/common/element-plus.css +0 -1
  709. package/theme-chalk/src/common/element-plus.scss +0 -606
  710. package/theme-chalk/src/data-chart/empty.css +0 -1
  711. package/theme-chalk/src/data-chart/empty.scss +0 -24
  712. package/theme-chalk/src/data-chart/index.css +0 -1
  713. package/theme-chalk/src/data-chart/index.scss +0 -11
  714. package/theme-chalk/src/data-chart/table.css +0 -1
  715. package/theme-chalk/src/data-chart/table.scss +0 -43
  716. package/theme-chalk/src/file-upload.css +0 -1
  717. package/theme-chalk/src/file-upload.scss +0 -34
  718. package/theme-chalk/src/fixed-action-bar.css +0 -1
  719. package/theme-chalk/src/fixed-action-bar.scss +0 -18
  720. package/theme-chalk/src/icon.css +0 -1
  721. package/theme-chalk/src/icon.scss +0 -35
  722. package/theme-chalk/src/image-upload.css +0 -1
  723. package/theme-chalk/src/image-upload.scss +0 -157
  724. package/theme-chalk/src/mixins/_var.css +0 -0
  725. package/theme-chalk/src/mixins/_var.scss +0 -24
  726. package/theme-chalk/src/mixins/config.css +0 -0
  727. package/theme-chalk/src/mixins/config.scss +0 -12
  728. package/theme-chalk/src/mixins/function.css +0 -0
  729. package/theme-chalk/src/mixins/function.scss +0 -95
  730. package/theme-chalk/src/mixins/mixins.css +0 -0
  731. package/theme-chalk/src/mixins/mixins.scss +0 -102
  732. package/theme-chalk/src/normalize.css +0 -1
  733. package/theme-chalk/src/normalize.scss +0 -11
  734. package/theme-chalk/src/photo-crop-tool.css +0 -1
  735. package/theme-chalk/src/photo-crop-tool.scss +0 -98
  736. package/theme-chalk/src/subject-action.css +0 -1
  737. package/theme-chalk/src/subject-action.scss +0 -37
  738. package/theme-chalk/src/subject-layout.css +0 -1
  739. package/theme-chalk/src/subject-layout.scss +0 -28
  740. package/theme-chalk/src/subject-list.css +0 -1
  741. package/theme-chalk/src/subject-list.scss +0 -290
  742. package/theme-chalk/src/subject-template.css +0 -1
  743. package/theme-chalk/src/subject-template.scss +0 -5
  744. package/theme-chalk/src/subject-type.css +0 -1
  745. package/theme-chalk/src/subject-type.scss +0 -32
  746. package/theme-chalk/src/tiny-mce-editor.css +0 -1
  747. package/theme-chalk/src/tiny-mce-editor.scss +0 -29
  748. package/types/src/data-chart/src/analyze.d.ts +0 -23
  749. package/types/src/data-chart/src/analyze.d.ts.map +0 -1
  750. package/types/src/data-chart/src/components/area.vue.d.ts +0 -12
  751. package/types/src/data-chart/src/components/area.vue.d.ts.map +0 -1
  752. package/types/src/data-chart/src/components/bar.vue.d.ts +0 -12
  753. package/types/src/data-chart/src/components/bar.vue.d.ts.map +0 -1
  754. package/types/src/data-chart/src/components/card.vue.d.ts +0 -27
  755. package/types/src/data-chart/src/components/card.vue.d.ts.map +0 -1
  756. package/types/src/data-chart/src/components/empty.vue.d.ts +0 -11
  757. package/types/src/data-chart/src/components/empty.vue.d.ts.map +0 -1
  758. package/types/src/data-chart/src/components/funnel.vue.d.ts +0 -11
  759. package/types/src/data-chart/src/components/funnel.vue.d.ts.map +0 -1
  760. package/types/src/data-chart/src/components/line.vue.d.ts +0 -12
  761. package/types/src/data-chart/src/components/line.vue.d.ts.map +0 -1
  762. package/types/src/data-chart/src/components/pie.vue.d.ts +0 -12
  763. package/types/src/data-chart/src/components/pie.vue.d.ts.map +0 -1
  764. package/types/src/data-chart/src/components/radar.vue.d.ts +0 -11
  765. package/types/src/data-chart/src/components/radar.vue.d.ts.map +0 -1
  766. package/types/src/data-chart/src/components/scatter-simple.vue.d.ts +0 -11
  767. package/types/src/data-chart/src/components/scatter-simple.vue.d.ts.map +0 -1
  768. package/types/src/data-chart/src/components/scatter.vue.d.ts +0 -11
  769. package/types/src/data-chart/src/components/scatter.vue.d.ts.map +0 -1
  770. package/types/src/data-chart/src/components/table.vue.d.ts +0 -27
  771. package/types/src/data-chart/src/components/table.vue.d.ts.map +0 -1
  772. package/types/src/data-chart/src/data-chart.vue.d.ts +0 -28
  773. package/types/src/data-chart/src/data-chart.vue.d.ts.map +0 -1
  774. package/types/src/data-chart/src/utils/config.d.ts +0 -41
  775. package/types/src/data-chart/src/utils/config.d.ts.map +0 -1
  776. package/types/src/data-chart/src/utils/injectionKeys.d.ts +0 -3
  777. package/types/src/data-chart/src/utils/injectionKeys.d.ts.map +0 -1
  778. package/types/src/data-chart/src/utils/mapData.d.ts +0 -64
  779. package/types/src/data-chart/src/utils/mapData.d.ts.map +0 -1
  780. package/types/src/data-chart/src/utils/safe-eval.d.ts +0 -9
  781. package/types/src/data-chart/src/utils/safe-eval.d.ts.map +0 -1
  782. package/types/src/data-chart/src/utils/types.d.ts +0 -72
  783. package/types/src/data-chart/src/utils/types.d.ts.map +0 -1
  784. package/types/src/data-chart/src/utils/useCharts.d.ts +0 -16
  785. package/types/src/data-chart/src/utils/useCharts.d.ts.map +0 -1
  786. package/types/src/file-upload/src/file-upload.vue.d.ts +0 -20
  787. package/types/src/file-upload/src/file-upload.vue.d.ts.map +0 -1
  788. package/types/src/fixed-action-bar/index.d.ts +0 -56
  789. package/types/src/fixed-action-bar/index.d.ts.map +0 -1
  790. package/types/src/fixed-action-bar/src/fixed-action-bar.vue.d.ts +0 -31
  791. package/types/src/fixed-action-bar/src/fixed-action-bar.vue.d.ts.map +0 -1
  792. package/types/src/image-upload/src/image-upload.vue.d.ts +0 -59
  793. package/types/src/image-upload/src/image-upload.vue.d.ts.map +0 -1
  794. package/types/src/photo-crop-tool/src/composables.d.ts +0 -7
  795. package/types/src/photo-crop-tool/src/composables.d.ts.map +0 -1
  796. package/types/src/photo-crop-tool/src/photo-crop-tool.vue.d.ts +0 -65
  797. package/types/src/photo-crop-tool/src/photo-crop-tool.vue.d.ts.map +0 -1
  798. package/types/src/subject-list/src/components/SubjectRichText.vue.d.ts +0 -25
  799. package/types/src/subject-list/src/components/SubjectRichText.vue.d.ts.map +0 -1
@@ -1,2 +0,0 @@
1
- import{defineComponent as e,ref as l,computed as a,createElementBlock as t,openBlock as o,normalizeClass as u,unref as n,createElementVNode as i,createCommentVNode as s,createVNode as d,createBlock as c,withCtx as m,createTextVNode as f,Fragment as r,renderList as p,toDisplayString as v}from"vue";import{Edit as y,Delete as _,Top as b,Bottom as k}from"@element-plus/icons-vue";import{useNamespace as h}from"@qxs-bns/hooks";import{ElPopover as w,ElLink as x,ElCheckbox as V,ElButton as g,ElIcon as C,ElDialog as j,ElRadioGroup as O,ElRadio as S}from"element-plus";import T from"../../subject-type/src/subject-type.vue.mjs";const U={key:0,class:"flex-justify-between"},B={class:"flex-justify-between"},E={key:0,class:"has-set"},R={key:1,class:"flex flex-justify-end action-buttons"};var A=e({name:"QxsSubjectAction",__name:"subject-action",props:{isEdit:Boolean,isSet:{type:Boolean,default:!1},isKey:{type:Boolean,default:!1},answerCheckType:{type:Number,default:1},showOtherOption:{type:Boolean,default:!0},examAnswerRelationType:{type:Number,default:null},showRichText:{type:Boolean,default:!0},pageEnd:{type:Boolean,default:!1}},emits:["moveUp","moveDown","delete","save","edit","add","onShowRichText","setKey","setAnswerSetting"],setup(e,{emit:A}){const K=e,z=A,D=l(K.isKey),N=l(!1),q=l(K.answerCheckType),Q=h("subject-action"),F=l(!0),G=[{value:2,label:"必须全部都是支持选项,方可下一步"},{value:1,label:"无需判断是否是支持选项"},{value:3,label:"包含全部支持选项,即可下一步"}],H=a(()=>G.find(e=>e.value===q.value)?.label);function I(){N.value=!1,z("setAnswerSetting",q.value)}function J(){z("setKey",D.value)}function L(e,l){z("add",e,l?K.examAnswerRelationType:null)}return(l,a)=>(o(),t("div",{class:u(n(Q).e("action-exam"))},[i("div",{class:u(["action flex flex-justify-between",{active:e.isEdit}])},[s(" 编辑模式 "),e.isEdit?(o(),t("div",U,[d(n(w),{trigger:"click"},{reference:m(()=>[d(n(x),{type:"primary",class:"btn-margin"},{default:m(()=>a[15]||(a[15]=[f(" +在此题后加入新题 ",-1)])),_:1,__:[15]})]),default:m(()=>[d(T,{onSelect:L})]),_:1}),e.showRichText?(o(),c(n(x),{key:0,type:"primary",class:"btn-margin",onClick:a[0]||(a[0]=e=>z("onShowRichText"))},{default:m(()=>a[16]||(a[16]=[f(" +添加题目描述(图文) ",-1)])),_:1,__:[16]})):s("v-if",!0),e.showOtherOption?(o(),c(n(x),{key:1,type:"primary",class:"btn-margin",onClick:a[1]||(a[1]=e=>N.value=!0)},{default:m(()=>a[17]||(a[17]=[f(" 答题设置 ",-1)])),_:1,__:[17]})):s("v-if",!0),e.showOtherOption?(o(),c(n(V),{key:2,modelValue:D.value,"onUpdate:modelValue":a[2]||(a[2]=e=>D.value=e),label:"核心题",onChange:J},null,8,["modelValue"])):s("v-if",!0)])):(o(),t(r,{key:1},[s(" 非编辑模式 "),i("div",B,[e.showOtherOption?(o(),c(n(V),{key:0,modelValue:D.value,"onUpdate:modelValue":a[3]||(a[3]=e=>D.value=e),label:"核心题",disabled:""},null,8,["modelValue"])):s("v-if",!0),e.showOtherOption?(o(),c(n(V),{key:1,modelValue:F.value,"onUpdate:modelValue":a[4]||(a[4]=e=>F.value=e),label:H.value,disabled:"",class:"btn-margin"},null,8,["modelValue","label"])):s("v-if",!0)])],2112)),s(" 操作按钮 "),i("div",null,[e.isSet?(o(),t("div",E," *此题设置了跳题逻辑 ")):(o(),t("div",R,[e.isEdit?(o(),t(r,{key:1},[d(n(g),{class:"btn-margin",onClick:a[9]||(a[9]=e=>z("delete"))},{default:m(()=>a[22]||(a[22]=[f(" 删除 ",-1)])),_:1,__:[22]}),d(n(g),{type:"primary",onClick:a[10]||(a[10]=e=>z("save"))},{default:m(()=>a[23]||(a[23]=[f(" 完成编辑 ",-1)])),_:1,__:[23]})],64)):(o(),t(r,{key:0},[e.pageEnd?s("v-if",!0):(o(),c(n(g),{key:0,onClick:a[5]||(a[5]=e=>z("edit"))},{icon:m(()=>[d(n(C),null,{default:m(()=>[d(n(y))]),_:1})]),default:m(()=>[a[18]||(a[18]=f(" 编辑 ",-1))]),_:1,__:[18]})),d(n(g),{onClick:a[6]||(a[6]=e=>z("delete"))},{icon:m(()=>[d(n(C),null,{default:m(()=>[d(n(_))]),_:1})]),default:m(()=>[a[19]||(a[19]=f(" 删除 ",-1))]),_:1,__:[19]}),d(n(g),{onClick:a[7]||(a[7]=e=>z("moveUp"))},{icon:m(()=>[d(n(C),null,{default:m(()=>[d(n(b))]),_:1})]),default:m(()=>[a[20]||(a[20]=f(" 上移 ",-1))]),_:1,__:[20]}),d(n(g),{onClick:a[8]||(a[8]=e=>z("moveDown"))},{icon:m(()=>[d(n(C),null,{default:m(()=>[d(n(k))]),_:1})]),default:m(()=>[a[21]||(a[21]=f(" 下移 ",-1))]),_:1,__:[21]})],64))]))]),s(" 答题设置弹窗 "),d(n(j),{modelValue:N.value,"onUpdate:modelValue":a[13]||(a[13]=e=>N.value=e),title:"答题设置",class:"customize-dialog",onClose:a[14]||(a[14]=e=>N.value=!1)},{footer:m(()=>[d(n(g),{class:"customize-button",type:"primary",plain:"",onClick:a[12]||(a[12]=e=>N.value=!1)},{default:m(()=>a[24]||(a[24]=[f(" 取消 ",-1)])),_:1,__:[24]}),d(n(g),{class:"customize-button",type:"primary",plain:"",onClick:I},{default:m(()=>a[25]||(a[25]=[f(" 保存 ",-1)])),_:1,__:[25]})]),default:m(()=>[d(n(O),{modelValue:q.value,"onUpdate:modelValue":a[11]||(a[11]=e=>q.value=e),class:"vertical-radio-group"},{default:m(()=>[(o(),t(r,null,p(G,e=>d(n(S),{key:e.value,value:e.value},{default:m(()=>[f(v(e.label),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])],2)],2))}});export{A as default};
2
- //# sourceMappingURL=subject-action.vue.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subject-action.vue.mjs","sources":["../../../../../../packages/components/src/subject-action/src/subject-action.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Bottom, Delete, Edit, Top } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { ElButton, ElCheckbox, ElDialog, ElIcon, ElLink, ElPopover, ElRadio, ElRadioGroup } from 'element-plus'\nimport { computed, ref } from 'vue'\nimport SubjectType from '../../subject-type/src/subject-type.vue'\n\ndefineOptions({\n name: 'QxsSubjectAction',\n})\n\nconst props = defineProps({\n isEdit: Boolean,\n isSet: {\n type: Boolean,\n default: false,\n },\n isKey: {\n type: Boolean,\n default: false,\n },\n answerCheckType: {\n type: Number,\n default: 1,\n },\n showOtherOption: {\n type: Boolean,\n default: true,\n },\n examAnswerRelationType: {\n type: Number,\n default: null,\n },\n showRichText: {\n type: Boolean,\n default: true,\n },\n pageEnd: {\n type: Boolean,\n default: false,\n },\n})\n\nconst emits = defineEmits([\n 'moveUp',\n 'moveDown',\n 'delete',\n 'save',\n 'edit',\n 'add',\n 'onShowRichText',\n 'setKey',\n 'setAnswerSetting',\n])\nconst isKey = ref(props.isKey)\nconst showAnswerSetting = ref(false)\nconst answerType = ref(props.answerCheckType)\nconst ns = useNamespace('subject-action')\nconst checked = ref(true)\nconst answerTextList = [\n {\n value: 2,\n label: '必须全部都是支持选项,方可下一步',\n },\n {\n value: 1,\n label: '无需判断是否是支持选项',\n },\n {\n value: 3,\n label: '包含全部支持选项,即可下一步',\n },\n]\n\nconst answerText = computed(() => {\n return answerTextList.find(item => item.value === answerType.value)?.label\n})\n\nfunction onSaveSetting() {\n showAnswerSetting.value = false\n emits('setAnswerSetting', answerType.value)\n}\n\nfunction setKey() {\n emits('setKey', isKey.value)\n}\n\nfunction selectExam(type: string, canSet: boolean) {\n emits('add', type, canSet ? props.examAnswerRelationType : null)\n}\n</script>\n\n<template>\n <div :class=\"ns.e('action-exam')\">\n <div\n class=\"action flex flex-justify-between\"\n :class=\"{ active: isEdit }\"\n >\n <!-- 编辑模式 -->\n <div\n v-if=\"isEdit\"\n class=\"flex-justify-between\"\n >\n <ElPopover trigger=\"click\">\n <template #reference>\n <ElLink\n type=\"primary\"\n class=\"btn-margin\"\n >\n +在此题后加入新题\n </ElLink>\n </template>\n <SubjectType @select=\"selectExam\" />\n </ElPopover>\n <ElLink\n v-if=\"showRichText\"\n type=\"primary\"\n class=\"btn-margin\"\n @click=\"emits('onShowRichText')\"\n >\n +添加题目描述(图文)\n </ElLink>\n <ElLink\n v-if=\"showOtherOption\"\n type=\"primary\"\n class=\"btn-margin\"\n @click=\"showAnswerSetting = true\"\n >\n 答题设置\n </ElLink>\n <ElCheckbox\n v-if=\"showOtherOption\"\n v-model=\"isKey\"\n label=\"核心题\"\n @change=\"setKey\"\n />\n </div>\n\n <!-- 非编辑模式 -->\n <div\n v-else\n class=\"flex-justify-between\"\n >\n <ElCheckbox\n v-if=\"showOtherOption\"\n v-model=\"isKey\"\n label=\"核心题\"\n disabled\n />\n <ElCheckbox\n v-if=\"showOtherOption\"\n v-model=\"checked\"\n :label=\"answerText\"\n disabled\n class=\"btn-margin\"\n />\n </div>\n\n <!-- 操作按钮 -->\n <div>\n <div\n v-if=\"isSet\"\n class=\"has-set\"\n >\n *此题设置了跳题逻辑\n </div>\n <div\n v-else\n class=\"flex flex-justify-end action-buttons\"\n >\n <template v-if=\"!isEdit\">\n <ElButton\n v-if=\"!pageEnd\"\n @click=\"emits('edit')\"\n >\n <template #icon>\n <ElIcon><Edit /></ElIcon>\n </template>\n 编辑\n </ElButton>\n <ElButton @click=\"emits('delete')\">\n <template #icon>\n <ElIcon><Delete /></ElIcon>\n </template>\n 删除\n </ElButton>\n <ElButton @click=\"emits('moveUp')\">\n <template #icon>\n <ElIcon><Top /></ElIcon>\n </template>\n 上移\n </ElButton>\n <ElButton @click=\"emits('moveDown')\">\n <template #icon>\n <ElIcon><Bottom /></ElIcon>\n </template>\n 下移\n </ElButton>\n </template>\n <template v-else>\n <ElButton\n class=\"btn-margin\"\n @click=\"emits('delete')\"\n >\n 删除\n </ElButton>\n <ElButton\n type=\"primary\"\n @click=\"emits('save')\"\n >\n 完成编辑\n </ElButton>\n </template>\n </div>\n </div>\n\n <!-- 答题设置弹窗 -->\n <ElDialog\n v-model=\"showAnswerSetting\"\n title=\"答题设置\"\n class=\"customize-dialog\"\n @close=\"showAnswerSetting = false\"\n >\n <ElRadioGroup\n v-model=\"answerType\"\n class=\"vertical-radio-group\"\n >\n <ElRadio\n v-for=\"item in answerTextList\"\n :key=\"item.value\"\n :value=\"item.value\"\n >\n {{ item.label }}\n </ElRadio>\n </ElRadioGroup>\n <template #footer>\n <ElButton\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"showAnswerSetting = false\"\n >\n 取消\n </ElButton>\n <ElButton\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"onSaveSetting\"\n >\n 保存\n </ElButton>\n </template>\n </ElDialog>\n </div>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","isKey","ref","showAnswerSetting","answerType","answerCheckType","ns","useNamespace","checked","answerTextList","value","label","answerText","computed","find","item","onSaveSetting","setKey","selectExam","type","canSet","examAnswerRelationType","_createElementBlock","class","_normalizeClass","_unref","e","_createElementVNode","active","isEdit","_createCommentVNode","_openBlock","_hoisted_1","_createVNode","ElPopover","trigger","reference","ElLink","_cache","SubjectType","onSelect","showRichText","_createBlock","onClick","showOtherOption","ElCheckbox","$event","onChange","_Fragment","key","_hoisted_2","disabled","isSet","_hoisted_3","_hoisted_4","ElButton","pageEnd","icon","ElIcon","Edit","Delete","Top","Bottom","ElDialog","title","onClose","footer","plain","ElRadioGroup","_renderList","ElRadio","_createTextVNode","_toDisplayString"],"mappings":"muCAWA,MAAMA,EAAQC,EAgCRC,EAAQC,EAWRC,EAAQC,EAAIL,EAAMI,OAClBE,EAAoBD,GAAI,GACxBE,EAAaF,EAAIL,EAAMQ,iBACvBC,EAAKC,EAAa,kBAClBC,EAAUN,GAAI,GACdO,EAAiB,CACrB,CACEC,MAAO,EACPC,MAAO,oBAET,CACED,MAAO,EACPC,MAAO,eAET,CACED,MAAO,EACPC,MAAO,mBAILC,EAAaC,EAAS,IACnBJ,EAAeK,KAAKC,GAAQA,EAAKL,QAAUN,EAAWM,QAAQC,OAGvE,SAASK,IACPb,EAAkBO,OAAQ,EAC1BX,EAAM,mBAAoBK,EAAWM,MACvC,CAEA,SAASO,IACPlB,EAAM,SAAUE,EAAMS,MACxB,CAEA,SAASQ,EAAWC,EAAcC,GAChCrB,EAAM,MAAOoB,EAAMC,EAASvB,EAAMwB,uBAAyB,KAC7D,mBAIEC,EAkKM,MAAA,CAlKAC,MAAKC,EAAEC,EAAAnB,GAAGoB,EAAC,kBACfC,EAgKM,MAAA,CA/JJJ,MAAKC,EAAA,CAAC,mCAAkC,CAAAI,OACtB9B,EAAA+B,YAElBC,EAAA,UAEQhC,EAAA+B,QADRE,IAAAT,EAqCM,MArCNU,EAqCM,CAjCJC,EAUYR,EAAAS,GAAA,CAVDC,QAAQ,SAAO,CACbC,YACT,IAKS,CALTH,EAKSR,EAAAY,GAAA,CAJPlB,KAAK,UACLI,MAAM,yBACP,IAEDe,EAAA,MAAAA,EAAA,IAAA,GAFC,eAED,gCAEF,IAAoC,CAApCL,EAAoCM,EAAA,CAAtBC,SAAQtB,YAGhBpB,EAAA2C,kBADRC,EAOSjB,EAAAY,GAAA,OALPlB,KAAK,UACLI,MAAM,aACLoB,uBAAO5C,EAAK,+BACd,IAEDuC,EAAA,MAAAA,EAAA,IAAA,GAFC,iBAED,kCAEQxC,EAAA8C,qBADRF,EAOSjB,EAAAY,GAAA,OALPlB,KAAK,UACLI,MAAM,aACLoB,uBAAOxC,EAAAO,OAAiB,eAC1B,IAED4B,EAAA,MAAAA,EAAA,IAAA,GAFC,UAED,kCAEQxC,EAAA8C,qBADRF,EAKEjB,EAAAoB,GAAA,kBAHS5C,EAAAS,2CAAAT,EAAKS,MAAAoC,GACdnC,MAAM,MACLoC,SAAQ9B,gDAKbK,EAiBM0B,EAAA,CAAAC,IAAA,GAAA,CAlBNnB,EAAA,WACAH,EAiBM,MAjBNuB,EAiBM,CAZIpD,EAAA8C,qBADRF,EAKEjB,EAAAoB,GAAA,kBAHS5C,EAAAS,2CAAAT,EAAKS,MAAAoC,GACdnC,MAAM,MACNwC,SAAA,yCAGMrD,EAAA8C,qBADRF,EAMEjB,EAAAoB,GAAA,kBAJSrC,EAAAE,2CAAAF,EAAOE,MAAAoC,GACfnC,MAAOC,EAAAF,MACRyC,SAAA,GACA5B,MAAM,qEAIVO,EAAA,UACAH,EAuDM,MAAA,KAAA,CArDI7B,EAAAsD,WADR9B,EAKM,MALN+B,EAGC,kBAGDtB,IAAAT,EA+CM,MA/CNgC,EA+CM,CA3CaxD,EAAA+B,YA6BjBP,EAaW0B,EAAA,CAAAC,IAAA,GAAA,CAZThB,EAKWR,EAAA8B,GAAA,CAJThC,MAAM,aACLoB,uBAAO5C,EAAK,uBACd,IAEDuC,EAAA,MAAAA,EAAA,IAAA,GAFC,QAED,oBACAL,EAKWR,EAAA8B,GAAA,CAJTpC,KAAK,UACJwB,yBAAO5C,EAAK,qBACd,IAEDuC,EAAA,MAAAA,EAAA,IAAA,GAFC,UAED,+BAzCFhB,EA4BW0B,EAAA,CAAAC,IAAA,GAAA,CA1BAnD,EAAA0D,0BADTd,EAQWjB,EAAA8B,GAAA,OANRZ,uBAAO5C,EAAK,WAEF0D,OACT,IAAyB,CAAzBxB,EAAyBR,EAAAiC,GAAA,KAAA,WAAjB,IAAQ,CAARzB,EAAQR,EAAAkC,wBACP,IAEb,iBAFa,QAEb,qBACA1B,EAKWR,EAAA8B,GAAA,CALAZ,uBAAO5C,EAAK,aACV0D,OACT,IAA2B,CAA3BxB,EAA2BR,EAAAiC,GAAA,KAAA,WAAnB,IAAU,CAAVzB,EAAUR,EAAAmC,wBACT,IAEb,iBAFa,QAEb,oBACA3B,EAKWR,EAAA8B,GAAA,CALAZ,uBAAO5C,EAAK,aACV0D,OACT,IAAwB,CAAxBxB,EAAwBR,EAAAiC,GAAA,KAAA,WAAhB,IAAO,CAAPzB,EAAOR,EAAAoC,wBACN,IAEb,iBAFa,QAEb,oBACA5B,EAKWR,EAAA8B,GAAA,CALAZ,uBAAO5C,EAAK,eACV0D,OACT,IAA2B,CAA3BxB,EAA2BR,EAAAiC,GAAA,KAAA,WAAnB,IAAU,CAAVzB,EAAUR,EAAAqC,wBACT,IAEb,iBAFa,QAEb,+BAmBNhC,EAAA,YACAG,EAoCWR,EAAAsC,GAAA,YAnCA5D,EAAAO,6CAAAP,EAAiBO,MAAAoC,GAC1BkB,MAAM,OACNzC,MAAM,mBACL0C,yBAAO9D,EAAAO,OAAiB,KAcdwD,SACT,IAOW,CAPXjC,EAOWR,EAAA8B,GAAA,CANThC,MAAM,mBACNJ,KAAK,UACLgD,MAAA,GACCxB,yBAAOxC,EAAAO,OAAiB,eAC1B,IAED4B,EAAA,MAAAA,EAAA,IAAA,GAFC,QAED,oBACAL,EAOWR,EAAA8B,GAAA,CANThC,MAAM,mBACNJ,KAAK,UACLgD,MAAA,GACCxB,QAAO3B,cACT,IAEDsB,EAAA,MAAAA,EAAA,IAAA,GAFC,QAED,gCA5BF,IAWe,CAXfL,EAWeR,EAAA2C,GAAA,YAVJhE,EAAAM,6CAAAN,EAAUM,MAAAoC,GACnBvB,MAAM,mCAGJ,IAA8B,MADhCD,EAMU0B,EAAA,KAAAqB,EALO5D,EAARM,GADTkB,EAMUR,EAAA6C,GAAA,CAJPrB,IAAKlC,EAAKL,MACVA,MAAOK,EAAKL,kBAEb,IAAgB,CAAb6D,EAAAC,EAAAzD,EAAKJ,OAAK"}
@@ -1,2 +0,0 @@
1
- import t from"./subject-action.vue.mjs";export{t as default};
2
- //# sourceMappingURL=subject-action.vue2.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subject-action.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import{withInstall as t}from"../withInstall.mjs";import o from"./src/subject-layout.vue.mjs";const s=t(o);export{s as QxsSubjectLayout,s as default};
2
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/src/subject-layout/index.ts"],"sourcesContent":["import { withInstall } from '../withInstall'\nimport component from './src/subject-layout.vue'\n\nconst QxsSubjectLayout = withInstall(component)\n\nexport {\n QxsSubjectLayout,\n}\n\nexport default QxsSubjectLayout\n"],"names":["QxsSubjectLayout","withInstall","component"],"mappings":"6FAGA,MAAMA,EAAmBC,EAAYC"}
@@ -1,2 +0,0 @@
1
- import{defineComponent as s,createElementBlock as t,openBlock as e,normalizeClass as o,unref as a,createCommentVNode as l,renderSlot as u,createElementVNode as i}from"vue";import{useNamespace as r}from"@qxs-bns/hooks";const d={key:0,class:"edit"};var c=s({name:"QxsSubjectLayout",__name:"subject-layout",props:{showEdit:{type:Boolean,required:!0}},setup(s){const c=r("subject-layout");return(s,r)=>(e(),t("div",{class:o(a(c).e("layout-exam"))},[l(' <div class="subject-layout"> '),u(s.$slots,"preview"),s.showEdit?(e(),t("div",d,[r[0]||(r[0]=i("div",{class:"triangle-up"},null,-1)),u(s.$slots,"edit")])):l("v-if",!0),u(s.$slots,"default"),l(" </div> ")],2))}});export{c as default};
2
- //# sourceMappingURL=subject-layout.vue.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subject-layout.vue.mjs","sources":["../../../../../../packages/components/src/subject-layout/src/subject-layout.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\n\ndefineOptions({\n name: 'QxsSubjectLayout',\n})\ndefineProps<{\n showEdit: boolean\n}>()\n\nconst ns = useNamespace('subject-layout')\n</script>\n\n<template>\n <div :class=\"ns.e('layout-exam')\">\n <!-- <div class=\"subject-layout\"> -->\n <slot name=\"preview\" />\n <div\n v-if=\"showEdit\"\n class=\"edit\"\n >\n <div class=\"triangle-up\" />\n <slot name=\"edit\" />\n </div>\n <slot />\n <!-- </div> -->\n </div>\n</template>\n"],"names":["ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createCommentVNode","_renderSlot","_ctx","$slots","showEdit","_openBlock","_hoisted_1","_createElementVNode"],"mappings":"qWAUA,MAAMA,EAAKC,EAAa,oCAItBC,EAYM,MAAA,CAZAC,MAAKC,EAAEC,EAAAL,GAAGM,EAAC,kBACfC,EAAA,kCACAC,EAAuBC,EAAAC,OAAA,WAEfC,EAAAA,UADRC,IAAAV,EAMM,MANNW,EAMM,aAFJC,EAA2B,MAAA,CAAtBX,MAAM,eAAa,MAAA,IACxBK,EAAoBC,EAAAC,OAAA,wBAEtBF,EAAQC,EAAAC,OAAA,WACVH,EAAA"}
@@ -1,2 +0,0 @@
1
- import t from"./subject-layout.vue.mjs";export{t as default};
2
- //# sourceMappingURL=subject-layout.vue2.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subject-layout.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import{withInstall as t}from"../withInstall.mjs";import s from"./src/subject-list.vue.mjs";const m=t(s);export{m as QxsSubjectList,m as default};
2
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/src/subject-list/index.ts"],"sourcesContent":["import { withInstall } from '../withInstall'\nimport component from './src/subject-list.vue'\n\nconst QxsSubjectList = withInstall(component)\n\nexport {\n QxsSubjectList,\n}\n\nexport default QxsSubjectList\n"],"names":["QxsSubjectList","withInstall","component"],"mappings":"2FAGA,MAAMA,EAAiBC,EAAYC"}
@@ -1,2 +0,0 @@
1
- import{defineComponent as e,onMounted as t,createElementBlock as o,openBlock as n,normalizeClass as a,unref as r,createVNode as s,withCtx as i,createElementVNode as l,toDisplayString as d}from"vue";import{useNamespace as u}from"@qxs-bns/hooks";import{ElRow as p}from"element-plus";import m from"../../../subject-action/src/subject-action.vue.mjs";var c=e({name:"QxsSubjectScale",__name:"SubjectPageEnd",props:{currentPageIndex:{type:Number,required:!0},totalPage:{type:Number,required:!0},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},examAnswerRelationType:{type:Number,required:!1}},emits:["move","save","delete","edit","add"],setup(e,{emit:c}){const x=e,y=c;t(function(){});const v=u("subject-end");return(e,t)=>(n(),o("div",{class:a(r(v).e("end-exam"))},[s(r(p),{type:"flex",align:"middle"},{default:i(()=>[t[5]||(t[5]=l("span",{class:"auto-line"},null,-1)),l("span",null,"第"+d(x.currentPageIndex)+" / "+d(e.totalPage)+"页",1),t[6]||(t[6]=l("span",{class:"auto-line"},null,-1))]),_:1,__:[5,6]}),s(m,{"is-edit":!1,"is-set":e.isSet,"page-end":!0,"exam-answer-relation-type":x.examAnswerRelationType,"show-other-option":!1,"show-rich-text":!1,onMoveUp:t[0]||(t[0]=e=>y("move","up")),onMoveDown:t[1]||(t[1]=e=>y("move","down")),onDelete:t[2]||(t[2]=e=>y("delete")),onEdit:t[3]||(t[3]=e=>y("edit")),onAdd:t[4]||(t[4]=e=>y("add",e))},null,8,["is-set","exam-answer-relation-type"])],2))}});export{c as default};
2
- //# sourceMappingURL=SubjectPageEnd.vue.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SubjectPageEnd.vue.mjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/SubjectPageEnd.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { ElRow } from 'element-plus'\nimport { onMounted } from 'vue'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\n\ndefineOptions({\n name: 'QxsSubjectScale',\n})\nconst props = defineProps<{\n currentPageIndex: number\n totalPage: number\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\nfunction init() {\n\n}\n\nonMounted(init)\nconst ns = useNamespace('subject-end')\n</script>\n\n<template>\n <div :class=\"ns.e('end-exam')\">\n <ElRow\n type=\"flex\"\n align=\"middle\"\n >\n <span class=\"auto-line\" />\n <span>第{{ props.currentPageIndex }} / {{ totalPage }}页</span>\n <span class=\"auto-line\" />\n </ElRow>\n <SubjectAction\n :is-edit=\"false\"\n :is-set=\"isSet\"\n :page-end=\"true\"\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 @edit=\"emits('edit')\"\n @add=\"type => emits('add', type)\"\n />\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","onMounted","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createVNode","ElRow","type","align","_createElementVNode","_toDisplayString","currentPageIndex","totalPage","SubjectAction","isSet","examAnswerRelationType","onMoveUp","onMoveDown","onDelete","onEdit","onAdd","_cache"],"mappings":"ouBASA,MAAMA,EAAQC,EASRC,EAAQC,EAMdC,EAJA,WAEA,GAGA,MAAMC,EAAKC,EAAa,iCAItBC,EAsBM,MAAA,CAtBAC,MAAKC,EAAEC,EAAAL,GAAGM,EAAC,eACfC,EAOQF,EAAAG,GAAA,CANNC,KAAK,OACLC,MAAM,qBAEN,IAA0B,aAA1BC,EAA0B,OAAA,CAApBR,MAAM,aAAW,MAAA,IACvBQ,EAA6D,OAAA,KAAvD,IAACC,EAAGjB,EAAMkB,kBAAmB,MAAGD,EAAGE,EAAAA,WAAY,IAAC,eACtDH,EAA0B,OAAA,CAApBR,MAAM,aAAW,MAAA,qBAEzBI,EAYEQ,EAAA,CAXC,WAAS,EACT,SAAQC,EAAAA,MACR,YAAU,EACV,4BAA2BrB,EAAMsB,uBACjC,qBAAmB,EACnB,kBAAgB,EAChBC,wBAASrB,EAAK,OAAA,OACdsB,0BAAWtB,EAAK,OAAA,SAChBuB,wBAAQvB,EAAK,WACbwB,sBAAMxB,EAAK,SACXyB,MAAGC,EAAA,KAAAA,EAAA,GAAEd,GAAQZ,QAAaY"}
@@ -1,2 +0,0 @@
1
- import e from"./SubjectPageEnd.vue.mjs";export{e as default};
2
- //# sourceMappingURL=SubjectPageEnd.vue2.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SubjectPageEnd.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import{defineComponent as e,useAttrs as t,ref as o,onMounted as i,createElementBlock as r,openBlock as n,normalizeClass as s,unref as a,createVNode as d,withCtx as u,createBlock as l,createCommentVNode as m,mergeProps as c,createElementVNode as p,createTextVNode as v,toDisplayString as y}from"vue";import{useNamespace as x}from"@qxs-bns/hooks";import{ElMessage as h}from"element-plus";import w from"../../../subject-action/src/subject-action.vue.mjs";import f from"../../../subject-layout/src/subject-layout.vue.mjs";import b from"../../../tiny-mce-editor/src/tiny-mce-editor.vue.mjs";const j={class:"preview"},q=["innerHTML"];var S=e({name:"QxsSubjectScale",__name:"SubjectRichText",props:{orderIndex:{type:Number,required:!0},richTextContent:{type:String,required:!0},title:{type:String,required:!1},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},examAnswerRelationType:{type:Number,required:!1}},emits:["move","save","delete","edit","add"],setup(e,{emit:S}){const T=e,A=S,B=t(),C=o("");function E(){C.value?A("save",{richTextContent:C.value||""}):h.error("富文本内容不能为空!")}i(function(){T.richTextContent&&(C.value=T.richTextContent)});const M=x("subject-scale");return(e,t)=>(n(),r("div",{class:s(a(M).e("scale-exam"))},[d(f,{"show-edit":e.isEdit},{preview:u(()=>[p("div",j,[v(y(e.orderIndex+1)+".",1),p("div",{innerHTML:C.value},null,8,q)])]),edit:u(()=>[d(b,c({"model-value":C.value,"onUpdate:modelValue":t[0]||(t[0]=e=>C.value=e)},a(B),{style:{width:"100%"}}),null,16,["model-value"])]),default:u(()=>[e.showAction?(n(),l(w,{key:0,"is-edit":e.isEdit,"is-set":e.isSet,"exam-answer-relation-type":T.examAnswerRelationType,"show-other-option":!1,"show-rich-text":!1,onMoveUp:t[1]||(t[1]=e=>A("move","up")),onMoveDown:t[2]||(t[2]=e=>A("move","down")),onDelete:t[3]||(t[3]=e=>A("delete")),onSave:E,onEdit:t[4]||(t[4]=e=>A("edit")),onAdd:t[5]||(t[5]=e=>A("add",e))},null,8,["is-edit","is-set","exam-answer-relation-type"])):m("v-if",!0)]),_:1},8,["show-edit"])],2))}});export{S as default};
2
- //# sourceMappingURL=SubjectRichText.vue.mjs.map
@@ -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 { ElMessage } from 'element-plus'\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 ElMessage.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","ElMessage","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":"8hCAWA,MAAMA,EAAQC,EAURC,EAAQC,EAERC,EAAQC,IAERC,EAAcC,EAAI,IAExB,SAASC,IACFF,EAAYG,MAKjBP,EAAM,OAAQ,CACZQ,gBAAiBJ,EAAYG,OAAS,KALtCE,EAAUC,MAAM,aAOpB,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 a,onMounted as i,createElementBlock as s,openBlock as n,normalizeClass as o,unref as u,createVNode as r,withCtx as d,createBlock as v,createCommentVNode as c,createElementVNode as m,createTextVNode as f,Fragment as p,renderList as x,toDisplayString as y,mergeProps as w}from"vue";import{Plus as g}from"@element-plus/icons-vue";import{useNamespace as h}from"@qxs-bns/hooks";import{ElInput as _,ElLink as b,ElCheckboxGroup as k,ElCheckbox as j,ElTag as C,ElButton as I,ElIcon as V,ElMessage as S}from"element-plus";import A from"../../../subject-action/src/subject-action.vue.mjs";import q from"../../../subject-layout/src/subject-layout.vue.mjs";import O from"../../../tiny-mce-editor/src/tiny-mce-editor.vue.mjs";const T={class:"preview"},R={class:"content"},B={class:"title"},U={key:0},L=["innerHTML"],E={key:1,class:"flex flex-wrap",style:{"margin-top":"10px",color:"#a8abb2"}},M={class:"flex"},D={style:{flex:"1"}},H={class:"flex flex-justify-end"},N={class:"margin-bottom flex flex-items-center"},z={class:"margin-bottom answer-list"},F={class:"label flex flex-justify-end"},G={class:"answer-tags"},J={key:0,class:"margin-bottom flex"},K={style:{flex:"1"}},P={key:1,class:"margin-bottom flex"},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(""),ae=t(!1),ie=t(""),se=[{label:"答案不分顺序",value:"isInOrder"},{label:"忽略大小写",value:"isIgnoreCase"}],ne=t(["isIgnoreCase"]);function oe(){le.value+=" ______",ee.value.push({title:"",tag:"",showInput:!1})}function ue(){ae.value=!1,ie.value=""}function re(){le.value?ee.value.length<1?S.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:ae.value?ie.value:""}):S.error("题目标题不能为空!")}a(()=>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)}}),i(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&&(ie.value=Y.examRichTextContent,ae.value=!0)});const de=h("subject-blank-fill");return(e,l)=>(n(),s("div",{class:o(u(de).e("blank-fill-exam"))},[r(q,{"show-edit":e.isEdit},{preview:d(()=>[m("div",T,[m("div",R,[m("span",B,y(e.orderIndex+1)+"."+y(le.value)+"(填空题)",1),ae.value?(n(),s("div",U,[m("div",{class:"rich-text",innerHTML:ie.value},null,8,L)])):c("v-if",!0),ee.value.some(e=>e.title)?(n(),s("div",E,[l[10]||(l[10]=m("span",{class:"title"},"正确答案:",-1)),(n(!0),s(p,null,x(ee.value,(e,l)=>(n(),s("div",{key:l,class:"flex flex-wrap flex-items-center",style:{"margin-right":"10px"}},[m("span",null,"填空"+y(l+1)+":",1),m("span",null,y(e.title),1)]))),128))])):c("v-if",!0)])])]),edit:d(()=>[m("div",M,[l[11]||(l[11]=m("div",{class:"label flex flex-justify-end"},[m("span",null,"题目:")],-1)),m("div",D,[r(u(_),{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"])])]),m("div",H,[c(' <el-link\n v-if="!showRichText"\n type="primary"\n @click="showRichText = true"\n >\n 添加富文本\n </el-link> '),r(u(b),{class:"margin-left-10",type:"primary",disabled:e.isSave,onClick:oe},{default:d(()=>l[12]||(l[12]=[f(" 插入填空符 ",-1)])),_:1,__:[12]},8,["disabled"])]),m("div",N,[l[13]||(l[13]=m("div",{class:"label flex flex-justify-end"},[m("span",null,"答题设置:")],-1)),(n(),s(p,null,x(se,e=>r(u(k),{key:e.value,modelValue:ne.value,"onUpdate:modelValue":l[1]||(l[1]=e=>ne.value=e)},{default:d(()=>[r(u(j),{value:e.value,class:"margin-left-10"},{default:d(()=>[f(y(e.label),1)]),_:2},1032,["value"])]),_:2},1032,["modelValue"])),64))]),m("div",z,[(n(!0),s(p,null,x(ee.value,(l,t)=>(n(),s("div",{key:t,class:"answer-item flex flex-items-center"},[m("div",F,[m("span",null,"第"+y(t+1)+"空答案:",1)]),m("div",G,[(n(!0),s(p,null,x(l.title.split(","),e=>(n(),s(p,{key:e},[e?(n(),v(u(C),{key:0,closable:"",onClose:t=>function(e,l){if(e){const t=l.title.split(","),a=t.findIndex(l=>l===e);a>-1&&(t.splice(a,1),l.title=t.join(","))}}(e,l)},{default:d(()=>[f(y(e),1)]),_:2},1032,["onClose"])):c("v-if",!0)],64))),128)),e.isSave?c("v-if",!0):(n(),s(p,{key:0},[l.showInput?(n(),v(u(_),{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(),v(u(I),{key:1,size:"small",onClick:e=>l.showInput=!0},{default:d(()=>[r(u(V),null,{default:d(()=>[r(u(g))]),_:1}),m("span",null,y(l.title?"添加同义词":"添加答案"),1)]),_:2},1032,["onClick"]))],64))])]))),128))]),e.showAnalysis?(n(),s("div",J,[l[14]||(l[14]=m("div",{class:"label flex flex-justify-end"},[m("span",null,"解析:")],-1)),m("div",K,[r(u(_),{modelValue:te.value,"onUpdate:modelValue":l[2]||(l[2]=e=>te.value=e),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])])):c("v-if",!0),ae.value?(n(),s("div",P,[l[16]||(l[16]=m("div",{class:"label flex flex-justify-center"},[m("span",null,"富文本:")],-1)),m("div",Q,[r(O,w({"model-value":ie.value,"onUpdate:modelValue":l[3]||(l[3]=e=>ie.value=e)},u($),{style:{width:"100%"}}),null,16,["model-value"]),m("div",W,[r(u(b),{type:"danger",onClick:ue},{default:d(()=>l[15]||(l[15]=[f(" 删除富文本 ",-1)])),_:1,__:[15]})])])])):c("v-if",!0)]),default:d(()=>[e.showAction?(n(),v(A,{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:re,onEdit:l[7]||(l[7]=e=>Z("edit")),onAdd:l[8]||(l[8]=e=>Z("add",e)),onOnShowRichText:l[9]||(l[9]=e=>ae.value=!0)},null,8,["is-edit","is-set","exam-answer-relation-type"])):c("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 { Plus } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { ElButton, ElCheckbox, ElCheckboxGroup, ElIcon, ElInput, ElLink, ElMessage, ElTag } from 'element-plus'\nimport { onMounted, ref, useAttrs, watch } 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\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 ElMessage.error('题目标题不能为空!')\n return\n }\n\n if (answers.value.length < 1) {\n ElMessage.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\">\n <div class=\"label flex flex-justify-end\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\">\n <ElInput\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 <!-- <el-link\n v-if=\"!showRichText\"\n type=\"primary\"\n @click=\"showRichText = true\"\n >\n 添加富文本\n </el-link> -->\n <ElLink\n class=\"margin-left-10\"\n type=\"primary\"\n :disabled=\"isSave\"\n @click=\"addBlank\"\n >\n 插入填空符\n </ElLink>\n </div>\n <div class=\"margin-bottom flex flex-items-center\">\n <div class=\"label flex flex-justify-end\">\n <span>答题设置:</span>\n </div>\n\n <ElCheckboxGroup\n v-for=\"item in checkList\"\n :key=\"item.value\"\n v-model=\"isCheckList\"\n >\n <ElCheckbox\n :value=\"item.value\"\n class=\"margin-left-10\"\n >\n {{ item.label }}\n </ElCheckbox>\n </ElCheckboxGroup>\n </div>\n <div class=\"margin-bottom answer-list\">\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"answer-item flex flex-items-center\"\n >\n <div class=\"label flex flex-justify-end\">\n <span>第{{ index + 1 }}空答案:</span>\n </div>\n\n <div class=\"answer-tags\">\n <template\n v-for=\"i in item.title.split(',')\"\n :key=\"i\"\n >\n <ElTag\n v-if=\"i\"\n closable\n @close=\"closeTag(i, item)\"\n >\n {{ i }}\n </ElTag>\n </template>\n <template v-if=\"!isSave\">\n <ElInput\n v-if=\"item.showInput\"\n v-model=\"item.tag\"\n style=\"width: 80px;\"\n @blur=\"() => handleAddTag(item)\"\n />\n <ElButton\n v-else\n size=\"small\"\n @click=\"item.showInput = true\"\n >\n <ElIcon><Plus /></ElIcon>\n <span>{{ item.title ? '添加同义词' : '添加答案' }}</span>\n </ElButton>\n </template>\n </div>\n </div>\n </div>\n <div\n v-if=\"showAnalysis\"\n class=\"margin-bottom flex\"\n >\n <div class=\"label flex flex-justify-end\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <ElInput\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=\"margin-bottom flex\"\n >\n <div class=\"label flex flex-justify-center\">\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 <ElLink\n type=\"danger\"\n @click=\"deleteRichText\"\n >\n 删除富文本\n </ElLink>\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","ElMessage","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","ElInput","$event","type","rows","maxlength","placeholder","disabled","isSave","_hoisted_9","_createCommentVNode","ElLink","onClick","_hoisted_10","ElCheckboxGroup","ElCheckbox","_createTextVNode","_hoisted_11","_hoisted_12","_hoisted_13","split","i","_createBlock","ElTag","closable","onClose","tags","findIndex","join","closeTag","modelValue","width","onBlur","handleAddTag","ElButton","size","ElIcon","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 a,computed as t,onMounted as s,createElementBlock as i,openBlock as n,normalizeClass as u,unref as o,createVNode as d,withCtx as r,createBlock as c,createCommentVNode as v,createElementVNode as p,Fragment as m,renderList as f,toDisplayString as x,mergeProps as y,createTextVNode as h}from"vue";import{CirclePlus as w,Remove as b}from"@element-plus/icons-vue";import{useNamespace as g}from"@qxs-bns/hooks";import{ElInput as j,ElIcon as C,ElLink as S,ElRow as k,ElCol as V,ElRadio as q,ElMessage as _}from"element-plus";import L from"../../../subject-action/src/subject-action.vue.mjs";import T from"../../../subject-layout/src/subject-layout.vue.mjs";import A from"../../../tiny-mce-editor/src/tiny-mce-editor.vue.mjs";const R={class:"preview"},U={class:"title"},M={key:0},E=["innerHTML"],Q={class:"answer-radio flex-col"},B={style:{flex:"1"}},O={class:"answer flex"},D={class:"flex"},H={class:"answer-list flex-col"},I={class:"order"},N={class:"flex",style:{"margin-bottom":"20px"}},$={style:{flex:"1"}},P={key:0,class:"margin-bottom flex"},z={style:{flex:"1"}},F={class:"flex flex-justify-end"};var G=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:G}){const J=e,K=G,W=l(),X=a([{title:""},{title:""},{title:""},{title:""},{title:""}]),Y=a(""),Z=a(""),ee=a(""),le=a(!1),ae=a(""),te=a([]),se=t(()=>Math.ceil(24/(X.value.length+1)));function ie(){5!==X.value.length&&X.value.push({title:""})}function ne(){le.value=!1,ae.value=""}function ue(){if(!Y.value)return void _.error("题目标题不能为空!");let e="";X.value.forEach((l,a)=>{l.title||(e+=`选项${String.fromCharCode(65+a)}未填写。`)}),e?_.error(e):ee.value?(te.value=ee.value.split("\n").filter(e=>e),K("save",{title:Y.value,answers:X.value,analysis:Z.value,scaleQuestionList:te.value,examRichTextContent:le.value?ae.value:""})):_.error("行标题不能为空!")}s(function(){J.title&&(Y.value=J.title),J.answerList&&J.answerList.length&&(X.value=J.answerList),J.analysis&&(Z.value=J.analysis),J.scaleQuestionList&&(te.value=J.scaleQuestionList,ee.value=te.value.join("\n")),J.examRichTextContent&&(ae.value=J.examRichTextContent,le.value=!0)});const oe=g("subject-scale");return(e,l)=>(n(),i("div",{class:u(o(oe).e("scale-exam"))},[d(T,{"show-edit":e.isEdit},{preview:r(()=>[p("div",R,[p("div",null,[p("span",U,x(e.orderIndex+1)+"."+x(Y.value)+"(量表题)",1),le.value?(n(),i("div",M,[p("div",{class:"rich-text",innerHTML:ae.value},null,8,E)])):v("v-if",!0)]),p("div",Q,[d(o(k),{style:{padding:"10px 0"}},{default:r(()=>[d(o(V),{span:se.value},null,8,["span"]),(n(!0),i(m,null,f(X.value,e=>(n(),c(o(V),{key:e.title,class:"flex flex-center",span:se.value},{default:r(()=>[p("span",null,x(e.title),1)]),_:2},1032,["span"]))),128))]),_:1}),(n(!0),i(m,null,f(te.value,e=>(n(),c(o(k),{key:e,style:{padding:"10px 0"}},{default:r(()=>[d(o(V),{span:se.value,class:"flex flex-center"},{default:r(()=>[p("span",null,x(e),1)]),_:2},1032,["span"]),(n(!0),i(m,null,f(X.value.length,e=>(n(),c(o(V),{key:e,class:"radio-item flex flex-center",span:se.value},{default:r(()=>[d(o(q),{disabled:!0})]),_:2},1032,["span"]))),128))]),_:2},1024))),128))])])]),edit:r(()=>[p("div",{class:u(["flex",[{"margin-bottom":le.value}]])},[l[10]||(l[10]=p("div",{class:"label flex flex-justify-center"},[p("span",null,"题目:")],-1)),p("div",B,[d(o(j),{modelValue:Y.value,"onUpdate:modelValue":l[0]||(l[0]=e=>Y.value=e),type:"textarea",rows:2,placeholder:"【量表题】请输入问题",disabled:e.isSave},null,8,["modelValue","disabled"])])],2),p("div",O,[l[11]||(l[11]=p("div",{class:"label flex flex-justify-center"},[p("span",null,"行标题:")],-1)),p("div",D,[d(o(j),{modelValue:ee.value,"onUpdate:modelValue":l[1]||(l[1]=e=>ee.value=e),type:"textarea",placeholder:"请输入行标题",style:{width:"160px"},rows:10},null,8,["modelValue"]),p("div",H,[(n(!0),i(m,null,f(X.value,(l,a)=>(n(),i("div",{key:a,class:"answer-item flex flex-items-center"},[p("span",I,x(String.fromCharCode(65+a))+".",1),d(o(j),{modelValue:l.title,"onUpdate:modelValue":e=>l.title=e,class:"input","show-word-limit":"",maxlength:10,placeholder:`选项${String.fromCharCode(65+a)}`,disabled:e.isSave},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled"]),v(' <PlusCircleOutlined\n class="icon"\n :class="[{ disabled: answers.length === 5 }]"\n @click="addAnswer"\n />\n <MinusCircleOutlined\n class="icon"\n :class="[{ disabled: answers.length < 3 }]"\n @click="deleteAnswer(index)"\n /> '),d(o(C),{class:"icon"},{default:r(()=>[d(o(w),{class:u([{disabled:5===X.value.length}]),onClick:ie},null,8,["class"])]),_:1}),d(o(C),{class:"icon"},{default:r(()=>[d(o(b),{class:u([{disabled:X.value.length<3}]),onClick:e=>function(e){X.value.length<3||X.value.splice(e,1)}(a)},null,8,["class","onClick"])]),_:2},1024)]))),128))])])]),p("div",N,[l[12]||(l[12]=p("div",{class:"label flex flex-justify-center"},[p("span",null,"解析:")],-1)),p("div",$,[d(o(j),{modelValue:Z.value,"onUpdate:modelValue":l[2]||(l[2]=e=>Z.value=e),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])]),le.value?(n(),i("div",P,[l[14]||(l[14]=p("div",{class:"label flex flex-justify-center"},[p("span",null,"富文本:")],-1)),p("div",z,[d(A,y({"model-value":ae.value,"onUpdate:modelValue":l[3]||(l[3]=e=>ae.value=e)},o(W),{style:{width:"100%"}}),null,16,["model-value"]),p("div",F,[d(o(S),{type:"danger",onClick:ne},{default:r(()=>l[13]||(l[13]=[h(" 删除富文本 ",-1)])),_:1,__:[13]})])])])):v("v-if",!0)]),default:r(()=>[e.showAction?(n(),c(L,{key:0,"is-edit":e.isEdit,"is-set":e.isSet,"show-other-option":!1,"exam-answer-relation-type":J.examAnswerRelationType,onMoveUp:l[4]||(l[4]=e=>K("move","up")),onMoveDown:l[5]||(l[5]=e=>K("move","down")),onDelete:l[6]||(l[6]=e=>K("delete")),onSave:ue,onEdit:l[7]||(l[7]=e=>K("edit")),onAdd:l[8]||(l[8]=e=>K("add",e)),onOnShowRichText:l[9]||(l[9]=e=>le.value=!0)},null,8,["is-edit","is-set","exam-answer-relation-type"])):v("v-if",!0)]),_:1},8,["show-edit"])],2))}});export{G 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, Remove } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { ElCol, ElIcon, ElInput, ElLink, ElMessage, ElRadio, ElRow } from 'element-plus'\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 ElMessage.error('题目标题不能为空!')\n return\n }\n let msg = ''\n answers.value.forEach((v, i) => {\n if (!v.title) {\n msg += `选项${String.fromCharCode(65 + i)}未填写。`\n }\n })\n\n if (msg) {\n ElMessage.error(msg)\n return\n }\n\n if (!rowTitle.value) {\n ElMessage.error('行标题不能为空!')\n return\n }\n\n scaleQuestionList.value = rowTitle.value.split('\\n').filter(i => i)\n\n emits('save', {\n title: title.value,\n answers: answers.value,\n analysis: analysis.value,\n scaleQuestionList: scaleQuestionList.value,\n examRichTextContent: showRichText.value ? richText.value : '',\n })\n}\n\nfunction init() {\n if (props.title) {\n title.value = props.title\n }\n\n if (props.answerList && props.answerList.length) {\n answers.value = props.answerList\n }\n\n if (props.analysis) {\n analysis.value = props.analysis\n }\n\n if (props.scaleQuestionList) {\n scaleQuestionList.value = props.scaleQuestionList\n rowTitle.value = scaleQuestionList.value.join('\\n')\n }\n if (props.examRichTextContent) {\n richText.value = props.examRichTextContent\n showRichText.value = true\n }\n}\n\nonMounted(init)\nconst ns = useNamespace('subject-scale')\n</script>\n\n<template>\n <div :class=\"ns.e('scale-exam')\">\n <SubjectLayout :show-edit=\"isEdit\">\n <template #preview>\n <div class=\"preview\">\n <div>\n <span class=\"title\">{{ orderIndex + 1 }}.{{ title }}(量表题)</span>\n <div v-if=\"showRichText\">\n <div\n class=\"rich-text\"\n v-html=\"richText\"\n />\n </div>\n </div>\n <div class=\"answer-radio flex-col\">\n <ElRow style=\"padding: 10px 0;\">\n <ElCol :span=\"span\" />\n <ElCol\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 </ElCol>\n </ElRow>\n <ElRow\n v-for=\"item in scaleQuestionList\"\n :key=\"item\"\n style=\"padding: 10px 0;\"\n >\n <ElCol\n :span=\"span\"\n class=\"flex flex-center\"\n >\n <span>{{ item }}</span>\n </ElCol>\n <ElCol\n v-for=\"i in answers.length\"\n :key=\"i\"\n class=\"radio-item flex flex-center\"\n :span=\"span\"\n >\n <ElRadio :disabled=\"true\" />\n </ElCol>\n </ElRow>\n </div>\n </div>\n </template>\n <template #edit>\n <div\n class=\"flex\"\n :class=\"[{ 'margin-bottom': showRichText }]\"\n >\n <div class=\"label flex flex-justify-center\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\">\n <ElInput\n v-model=\"title\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"【量表题】请输入问题\"\n :disabled=\"isSave\"\n />\n </div>\n </div>\n <div class=\"answer flex\">\n <div class=\"label flex flex-justify-center\">\n <span>行标题:</span>\n </div>\n <div class=\"flex\">\n <ElInput\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 <ElInput\n v-model=\"item.title\"\n class=\"input\"\n show-word-limit\n :maxlength=\"10\"\n :placeholder=\"`选项${String.fromCharCode(65 + index)}`\"\n :disabled=\"isSave\"\n />\n <!-- <PlusCircleOutlined\n class=\"icon\"\n :class=\"[{ disabled: answers.length === 5 }]\"\n @click=\"addAnswer\"\n />\n <MinusCircleOutlined\n class=\"icon\"\n :class=\"[{ disabled: answers.length < 3 }]\"\n @click=\"deleteAnswer(index)\"\n /> -->\n <ElIcon class=\"icon\">\n <CirclePlus\n :class=\"[{ disabled: answers.length === 5 }]\"\n @click=\"addAnswer\"\n />\n </ElIcon>\n <ElIcon class=\"icon\">\n <Remove\n :class=\"[{ disabled: answers.length < 3 }]\"\n @click=\"deleteAnswer(index)\"\n />\n </ElIcon>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"flex\"\n style=\"margin-bottom: 20px;\"\n >\n <div class=\"label flex flex-justify-center\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <ElInput\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=\"margin-bottom flex\"\n >\n <div class=\"label flex flex-justify-center\">\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 <ElLink\n type=\"danger\"\n @click=\"deleteRichText\"\n >\n 删除富文本\n </ElLink>\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","ElMessage","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","ElRow","style","padding","ElCol","_Fragment","_renderList","item","_createBlock","key","_openBlock","ElRadio","disabled","edit","_hoisted_6","ElInput","$event","type","rows","placeholder","isSave","_hoisted_7","_hoisted_8","width","_hoisted_9","index","_hoisted_10","modelValue","maxlength","_createCommentVNode","ElIcon","CirclePlus","onClick","Remove","splice","deleteAnswer","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","TinyMceEditor","_mergeProps","_hoisted_15","ElLink","_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 n,openBlock as r,normalizeClass as o,unref as u,createVNode as d,createSlots as v,withCtx as m,createBlock as c,createCommentVNode as p,createElementVNode as y,createTextVNode as f,toDisplayString as x,Fragment as w,renderList as h,mergeProps as C}from"vue";import{CirclePlus as g,Remove as b}from"@element-plus/icons-vue";import{useNamespace as k}from"@qxs-bns/hooks";import{ElCheckbox as S,ElRadio as V,ElInput as A,ElSelect as _,ElOption as T,ElIcon as q,ElLink as j,ElDialog as R,ElButton as I,ElMessage as E}from"element-plus";import{nanoid as U}from"nanoid";import B from"../../../subject-action/src/subject-action.vue.mjs";import L from"../../../subject-layout/src/subject-layout.vue.mjs";import $ from"../../../tiny-mce-editor/src/tiny-mce-editor.vue.mjs";const K={class:"preview"},N={class:"title"},z={key:0},M={key:1},D={key:0},H=["innerHTML"],O={class:"preview-answer"},Q={class:"order"},F={class:"order"},G={style:{flex:"1"}},J={class:"margin-bottom flex flex-items-center"},P={class:"margin-bottom answer-list"},W={class:"label flex flex-justify-center"},X={key:0,class:"margin-bottom flex flex-items-center"},Y={style:{flex:"1"}},Z={key:1,class:"flex"},ee={style:{flex:"1"}},le={key:2,class:"margin-bottom flex"},te={style:{flex:"1"}},ae={class:"flex flex-justify-end"};var ie=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:ie}){const se=e,ne=ie,re=l(),oe=t(0),ue=t(se.isKey),de=t(1),ve=t(se.examAnswerRelationType),me=t([{title:"",isCorrect:!1},{title:"",isCorrect:!1},{title:"",isCorrect:!1},{title:"",isCorrect:!1}]),ce=t(2),pe=t(""),ye=t(""),fe=t(!1),xe=t(""),we=t(0),he=t(!1),Ce=t(""),ge=a(()=>"single"===se.type?"单选题":"multiple"===se.type?"多选题":"排序题"),be=t([]),ke=a(()=>{const e=[];for(let l=me.value.length;l>1;l--)e.push({label:`至少选择${l}项`,value:l});return e.reverse()});function Se(){se.isSave||me.value.push({title:"",isCorrect:!1,customAnswerId:U()})}function Ve(){fe.value=!1,xe.value=""}function Ae(){if(!pe.value)return void E.error("题目标题不能为空!");if(!de.value)return void E.error("请选择答题设置");let e="",l=!1,t=0;if("multiple"===se.type||"single"===se.type?me.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"===se.type&&be.value.length&&(l=!0),e)return void E.error(e);if(new Set(me.value.map(e=>e.title)).size===me.value.length){if("multiple"===se.type){if(1===t)return void E.error("请至少设置两个支持选项");if(l&&t<ce.value)return void E.error("至少选几项与支持选项数不符")}2!==de.value&&3!==de.value||l?ne("save",{title:pe.value,answers:me.value.map((e,l)=>({...e,orderIndex:l+1})),examExpand:be.value.map(e=>e.charCodeAt(0)-65+1).join(","),analysis:ye.value,isSetCorrectAnswer:l,leastAnswerCount:ce.value,examRichTextContent:fe.value?xe.value:"",examAnswerRelationType:ve.value,isKey:ue.value,answerCheckType:de.value}):E.error("请设置支持选项")}else E.error("选项不能重复")}function _e(){me.value[oe.value].resultItem=Ce.value||"",he.value=!1}function Te(){he.value=!1,Ce.value=""}function qe(e){ue.value=e}function je(e){de.value=e}function Re(e,l){ne("add",e,l?se.examAnswerRelationType:null)}i(()=>se.isEdit,()=>{se.isEdit&&(we.value=(new Date).getTime())});const Ie=a(()=>e=>{let l=0;return e.forEach(e=>{e.relationAnswers&&(l+=e.relationAnswers.length)}),l}),Ee=k("subject-single");return s(function(){if(se.title&&(pe.value=se.title),se.answerCheckType&&(de.value=se.answerCheckType),se.isKey&&(ue.value=se.isKey),se.examAnswerRelationType&&(ve.value=se.examAnswerRelationType),se.answerList&&se.answerList.length&&(me.value=se.answerList),se.leastAnswerCount&&(ce.value=se.leastAnswerCount),se.examExpand&&se.examExpand){const e=se.examExpand.split(",");be.value=e.map(e=>{const l=se.answerList.find(l=>l.answerId?.toString()===e);return l?String.fromCharCode(65+l.orderIndex-1):e}).filter(Boolean)}se.analysis&&(ye.value=se.analysis),se.examRichTextContent&&(xe.value=se.examRichTextContent,fe.value=!0)}),(e,l)=>(r(),n("div",{class:o(u(Ee).e("single-exam"))},[d(L,{"show-edit":e.isEdit},v({preview:m(()=>[y("div",K,[y("div",null,[y("span",N,[f(x(e.orderIndex+1)+"."+x(pe.value)+" ",1),"single"===e.type?(r(),n("span",z,"(单选题)")):["multiple","sort"].includes(e.type)?(r(),n("span",M," ("+x(ge.value)+x(ce.value?`至少选${ce.value}项${"sort"===e.type?"并排序":""}`:"")+") ",1)):p("v-if",!0)])]),fe.value?(r(),n("div",D,[y("div",{class:"rich-text",innerHTML:xe.value},null,8,H)])):p("v-if",!0),y("div",O,["sort"===e.type?(r(!0),n(w,{key:0},h(me.value,(e,l)=>(r(),c(u(S),{key:l,class:"radio",disabled:!0},{default:m(()=>[y("span",Q,x(String.fromCharCode(65+l))+". ",1),f(" "+x(e.title),1)]),_:2},1024))),128)):(r(!0),n(w,{key:1},h(me.value,(e,l)=>(r(),c(u(V),{key:l,class:"radio",value:"disabled",disabled:""},{default:m(()=>[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:m(()=>[e.showAction?(r(),c(B,{key:0,"is-edit":e.isEdit,"is-set":e.isSet,"is-key":ue.value,"show-other-option":"multiple"===se.type||"single"===se.type,"exam-answer-relation-type":se.examAnswerRelationType,"answer-check-type":de.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:Ae,onEdit:l[8]||(l[8]=e=>ne("edit")),onAdd:Re,onOnShowRichText:l[9]||(l[9]=e=>fe.value=!0),onSetKey:qe,onSetAnswerSetting:je},null,8,["is-edit","is-set","is-key","show-other-option","exam-answer-relation-type","answer-check-type"])):p("v-if",!0)]),_:2},[e.isEdit?{name:"edit",fn:m(()=>[y("div",{class:o(["flex",[{"margin-bottom":fe.value}]])},[l[12]||(l[12]=y("div",{class:"label flex flex-justify-center"},[y("span",null,"题目:")],-1)),y("div",G,[d(u(A),{modelValue:pe.value,"onUpdate:modelValue":l[0]||(l[0]=e=>pe.value=e),type:"textarea",rows:2,placeholder:`【${ge.value}】请输入问题`,disabled:e.isSave,"show-word-limit":"",maxlength:"200",class:"margin-bottom"},null,8,["modelValue","placeholder","disabled"])])],2),y("div",J,[l[13]||(l[13]=y("div",{class:"label flex flex-justify-center"},[y("span",null,"设置:")],-1)),["multiple","sort"].includes(e.type)?(r(),c(u(_),{key:0,modelValue:ce.value,"onUpdate:modelValue":l[1]||(l[1]=e=>ce.value=e),style:{width:"150px"},placeholder:"至少选择几项",disabled:e.isSave},{default:m(()=>[(r(!0),n(w,null,h(ke.value,e=>(r(),c(u(T),{key:e.value,value:e.value,label:e.label},null,8,["value","label"]))),128))]),_:1},8,["modelValue","disabled"])):p("v-if",!0)]),y("div",P,[(r(!0),n(w,null,h(me.value,(t,a)=>(r(),n("div",{key:a,class:"answer-item flex flex-items-center"},[y("span",W,x(String.fromCharCode(65+a))+".",1),d(u(A),{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"]),["single","multiple"].includes(e.type)?(r(),c(u(S),{key:0,modelValue:t.isCorrect,"onUpdate:modelValue":e=>t.isCorrect=e,class:o([{"is-correct":t.isCorrect}]),disabled:e.isSave,style:{"margin-left":"10px"},onChange:e=>function(e,l){"single"===se.type?(l&&me.value.forEach(l=>{l!==e&&(l.isCorrect=!1)}),e.isCorrect=l):"multiple"===se.type&&(e.isCorrect=l)}(t,e)},{default:m(()=>[...l[14]||(l[14]=[f(" 支持选项 ",-1)])]),_:2,__:[14]},1032,["modelValue","onUpdate:modelValue","class","disabled","onChange"])):p("v-if",!0),d(u(q),{class:"icon"},{default:m(()=>[d(u(g),{class:o([{disabled:e.isSave}]),onClick:Se},null,8,["class"])]),_:1}),d(u(q),{class:"icon"},{default:m(()=>[d(u(b),{class:o([{disabled:me.value.length<3||e.isSave}]),onClick:e=>function(e){me.value.length<3||se.isSave||me.value.splice(e,1)}(a)},null,8,["class","onClick"])]),_:2},1024),1===ve.value&&"sort"!==e.type?(r(),c(u(j),{key:1,type:"primary",class:"margin-left-10",onClick:e=>{return l=a,oe.value=l,Ce.value=me.value[l].resultItem||"",void(he.value=!0);var l}},{default:m(()=>[y("span",null,x(t.resultItem?"编辑结果":"添加结果"),1)]),_:2},1032,["onClick"])):p("v-if",!0),2===ve.value&&"sort"!==e.type?(r(),c(u(j),{key:2,type:"primary",class:"margin-left-10",onClick:e=>function(e){e.customAnswerId=e.examAnswerId||U(),ne("setRelation",se.customId,e)}(t)},{default:m(()=>[y("span",null,x(t.answerRelations?.length?`关联了${Ie.value(t.answerRelations)}项`:"关联检查"),1)]),_:2},1032,["onClick"])):p("v-if",!0)]))),128))]),"sort"===e.type?(r(),n("div",X,[l[15]||(l[15]=y("div",{class:"label flex flex-justify-end"},[y("span",null,"排序答案:")],-1)),y("div",Y,[d(u(_),{modelValue:be.value,"onUpdate:modelValue":l[2]||(l[2]=e=>be.value=e),multiple:"",style:{width:"360px"},placeholder:"请按顺序选择排序答案","show-arrow":!0},{default:m(()=>[(r(!0),n(w,null,h(me.value,(e,l)=>(r(),c(u(T),{key:l,label:e.title,value:String.fromCharCode(65+l)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])])):p("v-if",!0),e.showAnalysis?(r(),n("div",Z,[l[16]||(l[16]=y("div",{class:"label flex flex-justify-center"},[y("span",null,"解析:")],-1)),y("div",ee,[d(u(A),{modelValue:ye.value,"onUpdate:modelValue":l[3]||(l[3]=e=>ye.value=e),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])])):p("v-if",!0),fe.value?(r(),n("div",le,[l[18]||(l[18]=y("div",{class:"label flex flex-justify-center"},[y("span",null,"富文本:")],-1)),y("div",te,[d($,C({"model-value":xe.value,"onUpdate:modelValue":l[4]||(l[4]=e=>xe.value=e)},u(re),{style:{width:"100%"}}),null,16,["model-value"]),y("div",ae,[d(u(j),{type:"danger",onClick:Ve},{default:m(()=>l[17]||(l[17]=[f(" 删除富文本 ",-1)])),_:1,__:[17]})])])])):p("v-if",!0)]),key:"0"}:void 0]),1032,["show-edit"]),d(u(R),{modelValue:he.value,"onUpdate:modelValue":l[11]||(l[11]=e=>he.value=e),title:"添加结果",class:"customize-dialog"},{footer:m(()=>[d(u(I),{class:"customize-button",type:"primary",plain:"",onClick:Te},{default:m(()=>l[19]||(l[19]=[f(" 取消 ",-1)])),_:1,__:[19]}),d(u(I),{class:"customize-button",type:"primary",plain:"",onClick:_e},{default:m(()=>l[20]||(l[20]=[f(" 保存 ",-1)])),_:1,__:[20]})]),default:m(()=>[(r(),c($,C({key:oe.value,"model-value":Ce.value,"onUpdate:modelValue":l[10]||(l[10]=e=>Ce.value=e)},u(re),{style:{width:"100%"}}),null,16,["model-value"]))]),_:1},8,["modelValue"])],2))}});export{ie 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 { CirclePlus, Remove } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { ElButton, ElCheckbox, ElDialog, ElIcon, ElInput, ElLink, ElMessage, ElOption, ElRadio, ElSelect } from 'element-plus'\nimport { nanoid } from 'nanoid'\nimport { computed, onMounted, ref, useAttrs, watch } 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: '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 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 ElMessage.error('题目标题不能为空!')\n return\n }\n // 答题设置必选\n if (!answerCheckType.value) {\n ElMessage.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 ElMessage.error(msg)\n return\n }\n\n const uniqueAnswer = new Set(answers.value.map((item: any) => item.title))\n\n if (uniqueAnswer.size !== answers.value.length) {\n ElMessage.error('选项不能重复')\n return\n }\n\n if (props.type === 'multiple') {\n if (correctAnswerCount === 1) {\n ElMessage.error('请至少设置两个支持选项')\n return\n }\n\n if (isSetCorrectAnswer && correctAnswerCount < leastAnswerCount.value) {\n ElMessage.error('至少选几项与支持选项数不符')\n return\n }\n }\n\n if (answerCheckType.value === 2 || answerCheckType.value === 3) {\n // 必须有设置支持选项\n if (!isSetCorrectAnswer) {\n ElMessage.error('请设置支持选项')\n return\n }\n }\n\n emits('save', {\n title: title.value,\n answers: answers.value.map((item: any, index: number) => {\n return { ...item, orderIndex: index + 1 }\n }),\n examExpand: orderList.value.map((i: string) => i.charCodeAt(0) - 65 + 1).join(','),\n analysis: analysis.value,\n isSetCorrectAnswer,\n leastAnswerCount: leastAnswerCount.value,\n examRichTextContent: showRichText.value ? richText.value : '',\n examAnswerRelationType: examAnswerRelationType.value,\n isKey: isKey.value,\n answerCheckType: answerCheckType.value,\n })\n}\n\nfunction init() {\n if (props.title) {\n title.value = props.title\n }\n\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 <ElCheckbox\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 </ElCheckbox>\n </template>\n <template v-else>\n <ElRadio\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 </ElRadio>\n </template>\n </div>\n </div>\n </template>\n <template\n v-if=\"isEdit\"\n #edit\n >\n <div\n class=\"flex\"\n :class=\"[{ 'margin-bottom': showRichText }]\"\n >\n <div class=\"label flex flex-justify-center\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\">\n <ElInput\n v-model=\"title\"\n type=\"textarea\"\n :rows=\"2\"\n :placeholder=\"`【${titlePlaceholder}】请输入问题`\"\n :disabled=\"isSave\"\n show-word-limit\n maxlength=\"200\"\n class=\"margin-bottom\"\n />\n </div>\n </div>\n <div class=\"margin-bottom flex flex-items-center\">\n <div class=\"label flex flex-justify-center\">\n <span>设置:</span>\n </div>\n <ElSelect\n v-if=\"['multiple', 'sort'].includes(type)\"\n v-model=\"leastAnswerCount\"\n style=\"width: 150px;\"\n placeholder=\"至少选择几项\"\n :disabled=\"isSave\"\n >\n <ElOption\n v-for=\"item in leastAnswerOptions\"\n :key=\"item.value\"\n :value=\"item.value\"\n :label=\"item.label\"\n />\n </ElSelect>\n </div>\n <div class=\"margin-bottom answer-list\">\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"answer-item flex flex-items-center\"\n >\n <span class=\"label flex flex-justify-center\">{{ String.fromCharCode(65 + index) }}.</span>\n <ElInput\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 <ElCheckbox\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 </ElCheckbox>\n <ElIcon class=\"icon\">\n <CirclePlus\n :class=\"[{ disabled: isSave }]\"\n @click=\"addAnswer\"\n />\n </ElIcon>\n <ElIcon class=\"icon\">\n <Remove\n :class=\"[{ disabled: answers.length < 3 || isSave }]\"\n @click=\"deleteAnswer(index)\"\n />\n </ElIcon>\n <ElLink\n v-if=\"examAnswerRelationType === 1 && type !== 'sort'\"\n type=\"primary\"\n class=\"margin-left-10\"\n @click=\"onOpenResult(index)\"\n >\n <span>{{ item.resultItem ? '编辑结果' : '添加结果' }}</span>\n </ElLink>\n <ElLink\n v-if=\"examAnswerRelationType === 2 && type !== 'sort'\"\n type=\"primary\"\n class=\"margin-left-10\"\n @click=\"setRelation(item)\"\n >\n <span>{{ item.answerRelations?.length ? `关联了${relationLength(item.answerRelations)}项` : '关联检查' }}</span>\n </ElLink>\n </div>\n </div>\n <div\n v-if=\"type === 'sort'\"\n class=\"margin-bottom flex flex-items-center\"\n >\n <div class=\"label flex flex-justify-end\">\n <span>排序答案:</span>\n </div>\n <div style=\"flex: 1;\">\n <ElSelect\n v-model=\"orderList\"\n multiple\n style=\"width: 360px;\"\n placeholder=\"请按顺序选择排序答案\"\n :show-arrow=\"true\"\n >\n <ElOption\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n :label=\"item.title\"\n :value=\"String.fromCharCode(65 + index)\"\n />\n </ElSelect>\n </div>\n </div>\n <div\n v-if=\"showAnalysis\"\n class=\"flex\"\n >\n <div class=\"label flex flex-justify-center\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <ElInput\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=\"margin-bottom flex\"\n >\n <div class=\"label flex flex-justify-center\">\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 <ElLink\n type=\"danger\"\n @click=\"deleteRichText\"\n >\n 删除富文本\n </ElLink>\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 <ElDialog\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 <ElButton\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"onCloseResult\"\n >\n 取消\n </ElButton>\n <ElButton\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"onSaveResult\"\n >\n 保存\n </ElButton>\n </template>\n </ElDialog>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","attrs","useAttrs","answersIndex","ref","isKey","answerCheckType","examAnswerRelationType","answers","title","isCorrect","leastAnswerCount","analysis","showRichText","richText","startTime","showRichContent","resultItem","titlePlaceholder","computed","type","orderList","leastAnswerOptions","items","count","value","length","push","label","reverse","addAnswer","isSave","customAnswerId","nanoid","deleteRichText","save","ElMessage","error","msg","isSetCorrectAnswer","correctAnswerCount","forEach","v","i","trim","String","fromCharCode","relationType","answerRelations","Set","map","item","size","index","orderIndex","examExpand","charCodeAt","join","examRichTextContent","onSaveResult","onCloseResult","setKey","key","setAnswerSetting","add","canSet","watch","isEdit","Date","getTime","relationLength","relationAnswers","ns","useNamespace","onMounted","answerList","correctAnswerIdList","split","id","answer","find","answerId","toString","filter","Boolean","_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","ElCheckbox","disabled","_hoisted_8","ElRadio","_hoisted_9","showAction","SubjectAction","isSet","onMoveUp","onMoveDown","onDelete","onSave","onEdit","onAdd","onOnShowRichText","onSetKey","onSetAnswerSetting","_hoisted_10","ElInput","$event","rows","placeholder","maxlength","_hoisted_11","ElSelect","style","width","ElOption","_hoisted_12","_hoisted_13","modelValue","onChange","event","it","setCorrect","_cache","ElIcon","CirclePlus","onClick","Remove","splice","deleteAnswer","ElLink","onOpenResult","examAnswerId","customId","setRelation","_hoisted_14","_hoisted_15","multiple","showAnalysis","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","TinyMceEditor","_mergeProps","_hoisted_20","ElDialog","footer","ElButton","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 a,onMounted as t,createElementBlock as i,openBlock as s,normalizeClass as n,unref as o,createVNode as u,withCtx as r,createBlock as d,createCommentVNode as v,createElementVNode as m,Fragment as c,renderList as p,createTextVNode as f,toDisplayString as x,mergeProps as y}from"vue";import{Plus as w,CirclePlus as g,Remove as h}from"@element-plus/icons-vue";import{useNamespace as b}from"@qxs-bns/hooks";import{ElInput as V,ElInputNumber as k,ElCheckboxGroup as C,ElCheckbox as S,ElTag as j,ElButton as I,ElIcon as O,ElLink as A,ElMessage as q}from"element-plus";import _ from"../../../subject-action/src/subject-action.vue.mjs";import E from"../../../subject-layout/src/subject-layout.vue.mjs";import T from"../../../tiny-mce-editor/src/tiny-mce-editor.vue.mjs";const U={class:"preview"},B={class:"content"},R={class:"title"},L={key:0},M=["innerHTML"],D={class:"content flex flex-col"},H={key:1,class:"flex",style:{"margin-top":"10px",color:"#a8abb2"}},N={class:"title"},z={class:"flex"},$={style:{flex:"1"},class:"margin-bottom"},F={class:"margin-bottom flex flex-items-center"},G={class:"flex"},J={style:{flex:"1"}},K={class:"margin-bottom answer-list"},P={class:"label flex flex-justify-end"},Q={class:"answer-tags"},W={class:"operation"},X={key:0,class:"margin-bottom flex"},Y={style:{flex:"1"}},Z={key:1,class:"margin-bottom flex"},ee={style:{flex:"1"}},le={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 te=e,ie=ae,se=l(),ne=a([{title:"",tag:"",showInput:!1}]),oe=a(""),ue=a(""),re=a(),de=a(""),ve=a(!1),me=a(""),ce=[{label:"答案不分顺序",value:"isInOrder"},{label:"忽略大小写",value:"isIgnoreCase"}],pe=a(["isInOrder","isIgnoreCase"]);function fe(){ne.value.push({title:"",tag:"",showInput:!1})}function xe(){ve.value=!1,me.value=""}function ye(){if(oe.value){if(re.value||de.value){if(!re.value)return void q.error("请完善答题设置!");if(!de.value)return void q.error("请输入问题正确答案!");if(ne.value.length!==re.value)return void q.error("关键词个数设置有误!");const e=[];if(ne.value.forEach((l,a)=>{l.title||e.push(`关键词${a+1}未设置`)}),e.length>0)return void q.error(e.join(","))}ie("save",{title:oe.value,answers:ne.value.filter(e=>e.title).map(e=>({title:e.title})),analysis:ue.value,isSetCorrectAnswer:!!de.value,examExpand:de.value,examAnswerSettingBO:{isIgnoreCase:pe.value?.includes("isIgnoreCase"),isInOrder:pe.value?.includes("isInOrder"),keywordCount:re.value},examRichTextContent:ve.value?me.value:""})}else q.error("题目标题不能为空!")}t(function(){te.title&&(oe.value=te.title),te.answerList&&te.answerList.length&&(ne.value=te.answerList),te.examAnswerSettingVO&&(pe.value=pe.value.filter(e=>"isIgnoreCase"===e&&te.examAnswerSettingVO?.isIgnoreCase||"isInOrder"===e&&te.examAnswerSettingVO?.isInOrder)),te.examAnswerSettingVO?.keywordCount&&(re.value=te.examAnswerSettingVO?.keywordCount),te.examExpand&&(de.value=te.examExpand),te.analysis&&(ue.value=te.analysis),te.examRichTextContent&&(me.value=te.examRichTextContent,ve.value=!0)});const we=b("subject-text-fill");return(e,l)=>(s(),i("div",{class:n(o(we).e("text-fill-exam"))},[u(E,{"show-edit":e.isEdit},{preview:r(()=>[m("div",U,[m("div",B,[m("span",R,x(e.orderIndex+1)+"."+x(oe.value)+"(问答题)",1),ve.value?(s(),i("div",L,[m("div",{class:"rich-text",innerHTML:me.value},null,8,M)])):v("v-if",!0),m("div",D,[ne.value.some(e=>e.title)?(s(!0),i(c,{key:0},p(ne.value,(e,l)=>(s(),d(o(S),{key:l,class:"radio",disabled:!0},{default:r(()=>[f(x(e.title),1)]),_:2},1024))),128)):v("v-if",!0)]),de.value?(s(),i("div",H,[m("span",N,"正确答案:"+x(de.value),1)])):v("v-if",!0)])])]),edit:r(()=>[m("div",z,[l[12]||(l[12]=m("div",{class:"label flex flex-justify-end"},[m("span",null,"题目:")],-1)),m("div",$,[u(o(V),{modelValue:oe.value,"onUpdate:modelValue":l[0]||(l[0]=e=>oe.value=e),type:"textarea",rows:2,placeholder:"【问答题】请输入问题",maxlength:200,"show-word-limit":"",disabled:e.isSave},null,8,["modelValue","disabled"])])]),m("div",F,[l[13]||(l[13]=m("div",{class:"label flex flex-justify-end"},[m("span",null,"答题设置:")],-1)),l[14]||(l[14]=m("span",null,"共答对",-1)),u(o(k),{modelValue:re.value,"onUpdate:modelValue":l[1]||(l[1]=e=>re.value=e),style:{width:"100px",margin:"0 10px"},min:1},null,8,["modelValue"]),l[15]||(l[15]=m("span",{style:{"margin-right":"10px"}},"个关键词,算是正确的",-1)),(s(),i(c,null,p(ce,e=>u(o(C),{key:e.value,modelValue:pe.value,"onUpdate:modelValue":l[2]||(l[2]=e=>pe.value=e)},{default:r(()=>[u(o(S),{label:e.value,class:"margin-left-10"},{default:r(()=>[f(x(e.label),1)]),_:2},1032,["label"])]),_:2},1032,["modelValue"])),64))]),m("div",G,[l[16]||(l[16]=m("div",{class:"label flex flex-justify-end"},[m("span",null,"答案:")],-1)),m("div",J,[u(o(V),{modelValue:de.value,"onUpdate:modelValue":l[3]||(l[3]=e=>de.value=e),type:"textarea",rows:2,placeholder:"请输入正确答案",maxlength:200,"show-word-limit":"",disabled:e.isSave},null,8,["modelValue","disabled"])])]),m("div",K,[l[17]||(l[17]=m("span",{style:{"padding-left":"60px"}},"*如遇包含特殊字符的关键词,需添加多个同义词,例:'CO₂'需添加同义词'CO2'",-1)),(s(!0),i(c,null,p(ne.value,(l,a)=>(s(),i("div",{key:a,class:"answer-item flex flex-items-center"},[m("div",P,[m("span",null,"关键词"+x(a+1)+":",1)]),m("div",Q,[(s(!0),i(c,null,p(l.title.split(","),e=>(s(),i(c,{key:e},[e?(s(),d(o(j),{key:0,closable:"",onClose:a=>function(e,l){if(e){const a=l.title.split(","),t=a.findIndex(l=>l===e);t>-1&&(a.splice(t,1),l.title=a.join(","))}}(e,l)},{default:r(()=>[f(x(e),1)]),_:2},1032,["onClose"])):v("v-if",!0)],64))),128)),e.isSave?v("v-if",!0):(s(),i(c,{key:0},[l.showInput?(s(),d(o(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"])):(s(),d(o(I),{key:1,size:"small",onClick:e=>l.showInput=!0},{default:r(()=>[u(o(O),null,{default:r(()=>[u(o(w))]),_:1}),m("span",null,x(l.title?"添加同义词":"添加关键词"),1)]),_:2},1032,["onClick"]))],64))]),m("div",W,[u(o(O),{class:"icon"},{default:r(()=>[u(o(g),{class:n([{disabled:e.isSave}]),onClick:fe},null,8,["class"])]),_:1}),u(o(O),{class:"icon"},{default:r(()=>[u(o(h),{class:n([{disabled:ne.value.length<2||e.isSave}]),onClick:e=>function(e){ne.value.length<2||te.isSave||ne.value.splice(e,1)}(a)},null,8,["class","onClick"])]),_:2},1024)])]))),128))]),e.showAnalysis?(s(),i("div",X,[l[18]||(l[18]=m("div",{class:"label flex flex-justify-end"},[m("span",null,"解析:")],-1)),m("div",Y,[u(o(V),{modelValue:ue.value,"onUpdate:modelValue":l[4]||(l[4]=e=>ue.value=e),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])])):v("v-if",!0),ve.value?(s(),i("div",Z,[l[20]||(l[20]=m("div",{class:"label flex flex-justify-center"},[m("span",null,"富文本:")],-1)),m("div",ee,[u(T,y({"model-value":me.value,"onUpdate:modelValue":l[5]||(l[5]=e=>me.value=e)},o(se),{style:{width:"100%"}}),null,16,["model-value"]),m("div",le,[u(o(A),{type:"danger",onClick:xe},{default:r(()=>l[19]||(l[19]=[f(" 删除富文本 ",-1)])),_:1,__:[19]})])])])):v("v-if",!0)]),default:r(()=>[e.showAction?(s(),d(_,{key:0,"is-edit":e.isEdit,"is-set":e.isSet,"show-other-option":!1,"exam-answer-relation-type":te.examAnswerRelationType,onMoveUp:l[6]||(l[6]=e=>ie("move","up")),onMoveDown:l[7]||(l[7]=e=>ie("move","down")),onDelete:l[8]||(l[8]=e=>ie("delete")),onSave:ye,onEdit:l[9]||(l[9]=e=>ie("edit")),onAdd:l[10]||(l[10]=e=>ie("add",e)),onOnShowRichText:l[11]||(l[11]=e=>ve.value=!0)},null,8,["is-edit","is-set","exam-answer-relation-type"])):v("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 { CirclePlus, Plus, Remove } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { ElButton, ElCheckbox, ElCheckboxGroup, ElIcon, ElInput, ElInputNumber, ElLink, ElMessage, ElTag } from 'element-plus'\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\nconst props = defineProps<{\n orderIndex: number\n title?: string\n isSave: boolean\n showAction?: boolean\n answerList?: any\n analysis?: string\n isEdit: boolean\n isSet: boolean\n examExpand?: string\n examAnswerSettingVO?: {\n isInOrder: boolean\n isIgnoreCase: boolean\n keywordCount: number\n }\n examRichTextContent?: string\n showAnalysis?: boolean\n examAnswerRelationType?: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add'])\n\nconst attrs = useAttrs()\n\nconst answers = ref<{\n title: string\n tag: string\n showInput: boolean\n}[]>([{\n title: '',\n tag: '',\n showInput: false,\n}])\n\nconst title = ref('')\nconst analysis = ref('')\nconst keywordCount = ref()\nconst correct = ref('')\nconst showRichText = ref(false)\nconst richText = ref('')\n\nconst checkList = [\n {\n label: '答案不分顺序',\n value: 'isInOrder',\n },\n {\n label: '忽略大小写',\n value: 'isIgnoreCase',\n },\n]\n\nconst isCheckList = ref(['isInOrder', 'isIgnoreCase'])\n\nfunction handleAddTag(item: any) {\n item.showInput = false\n if (item.tag) {\n item.title = item.title ? [item.title, item.tag].join(',') : item.tag\n item.tag = ''\n }\n}\n\nfunction closeTag(tag: string, item: any) {\n if (tag) {\n const tags = item.title.split(',')\n const index = tags.findIndex((i: string) => i === tag)\n if (index > -1) {\n tags.splice(index, 1)\n item.title = tags.join(',')\n }\n }\n}\n\nfunction addAnswer() {\n answers.value.push({\n title: '',\n tag: '',\n showInput: false,\n })\n}\n\nfunction deleteAnswer(index: number) {\n if (answers.value.length < 2 || props.isSave) {\n return\n }\n answers.value.splice(index, 1)\n}\n\nfunction deleteRichText() {\n showRichText.value = false\n richText.value = ''\n}\n\nfunction save() {\n if (!title.value) {\n ElMessage.error('题目标题不能为空!')\n return\n }\n\n if (keywordCount.value || correct.value) {\n if (!keywordCount.value) {\n ElMessage.error('请完善答题设置!')\n return\n }\n\n if (!correct.value) {\n ElMessage.error('请输入问题正确答案!')\n return\n }\n\n if (answers.value.length !== keywordCount.value) {\n ElMessage.error('关键词个数设置有误!')\n return\n }\n const msg: string[] = []\n answers.value.forEach((item, index) => {\n if (!item.title) {\n msg.push(`关键词${index + 1}未设置`)\n }\n })\n if (msg.length > 0) {\n ElMessage.error(msg.join(','))\n return\n }\n }\n\n emits('save', {\n title: title.value,\n answers: answers.value.filter((i: any) => i.title).map((item: any) => {\n return { title: item.title }\n }),\n analysis: analysis.value,\n isSetCorrectAnswer: !!correct.value,\n examExpand: correct.value,\n examAnswerSettingBO: {\n isIgnoreCase: isCheckList.value?.includes('isIgnoreCase'),\n isInOrder: isCheckList.value?.includes('isInOrder'),\n ...{ keywordCount: keywordCount.value },\n },\n examRichTextContent: showRichText.value ? richText.value : '',\n })\n}\n\nfunction init() {\n if (props.title) {\n title.value = props.title\n }\n\n if (props.answerList && props.answerList.length) {\n answers.value = props.answerList\n }\n\n if (props.examAnswerSettingVO) {\n // 仅保留与设置匹配的选项\n isCheckList.value = isCheckList.value.filter(item =>\n (item === 'isIgnoreCase' && props.examAnswerSettingVO?.isIgnoreCase)\n || (item === 'isInOrder' && props.examAnswerSettingVO?.isInOrder),\n )\n }\n\n if (props.examAnswerSettingVO?.keywordCount) {\n keywordCount.value = props.examAnswerSettingVO?.keywordCount\n }\n\n if (props.examExpand) {\n correct.value = props.examExpand\n }\n\n if (props.analysis) {\n analysis.value = props.analysis\n }\n\n if (props.examRichTextContent) {\n richText.value = props.examRichTextContent\n showRichText.value = true\n }\n}\n\nonMounted(init)\nconst ns = useNamespace('subject-text-fill')\n</script>\n\n<template>\n <div :class=\"ns.e('text-fill-exam')\">\n <SubjectLayout :show-edit=\"isEdit\">\n <template #preview>\n <div class=\"preview\">\n <div class=\"content\">\n <span class=\"title\">{{ orderIndex + 1 }}.{{ title }}(问答题)</span>\n <div v-if=\"showRichText\">\n <div\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 <ElCheckbox\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"radio\"\n :disabled=\"true\"\n >\n {{ item.title }}\n </ElCheckbox>\n </template>\n </div>\n <div\n v-if=\"correct\"\n class=\"flex\"\n style=\"margin-top: 10px;color: #a8abb2;\"\n >\n <span class=\"title\">正确答案:{{ correct }}</span>\n </div>\n </div>\n </div>\n </template>\n <template #edit>\n <div class=\"flex\">\n <div class=\"label flex flex-justify-end\">\n <span>题目:</span>\n </div>\n <div\n style=\"flex: 1;\"\n class=\"margin-bottom\"\n >\n <ElInput\n v-model=\"title\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"【问答题】请输入问题\"\n :maxlength=\"200\"\n show-word-limit\n :disabled=\"isSave\"\n />\n </div>\n </div>\n <div class=\"margin-bottom flex flex-items-center\">\n <div class=\"label flex flex-justify-end\">\n <span>答题设置:</span>\n </div>\n <span>共答对</span>\n <ElInputNumber\n v-model=\"keywordCount\"\n style=\"width: 100px;margin: 0 10px;\"\n :min=\"1\"\n />\n <span style=\"margin-right: 10px;\">个关键词,算是正确的</span>\n <ElCheckboxGroup\n v-for=\"item in checkList\"\n :key=\"item.value\"\n v-model=\"isCheckList\"\n >\n <ElCheckbox\n :label=\"item.value\"\n class=\"margin-left-10\"\n >\n {{ item.label }}\n </ElCheckbox>\n </ElCheckboxGroup>\n </div>\n <div class=\"flex\">\n <div class=\"label flex flex-justify-end\">\n <span>答案:</span>\n </div>\n <div style=\"flex: 1;\">\n <ElInput\n v-model=\"correct\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"请输入正确答案\"\n :maxlength=\"200\"\n show-word-limit\n :disabled=\"isSave\"\n />\n </div>\n </div>\n <div class=\"margin-bottom answer-list\">\n <span style=\"padding-left: 60px;\">*如遇包含特殊字符的关键词,需添加多个同义词,例:'CO₂'需添加同义词'CO2'</span>\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"answer-item flex flex-items-center\"\n >\n <div class=\"label flex flex-justify-end\">\n <span>关键词{{ index + 1 }}:</span>\n </div>\n\n <div class=\"answer-tags\">\n <template\n v-for=\"i in item.title.split(',')\"\n :key=\"i\"\n >\n <ElTag\n v-if=\"i\"\n closable\n @close=\"closeTag(i, item)\"\n >\n {{ i }}\n </ElTag>\n </template>\n <template v-if=\"!isSave\">\n <ElInput\n v-if=\"item.showInput\"\n v-model=\"item.tag\"\n style=\"width: 80px;\"\n @blur=\"() => handleAddTag(item)\"\n />\n <ElButton\n v-else\n size=\"small\"\n @click=\"item.showInput = true\"\n >\n <ElIcon><Plus /></ElIcon>\n <span>{{ item.title ? '添加同义词' : '添加关键词' }}</span>\n </ElButton>\n </template>\n </div>\n <div class=\"operation\">\n <ElIcon class=\"icon\">\n <CirclePlus\n :class=\"[{ disabled: isSave }]\"\n @click=\"addAnswer\"\n />\n </ElIcon>\n <ElIcon class=\"icon\">\n <Remove\n :class=\"[{ disabled: answers.length < 2 || isSave }]\"\n @click=\"deleteAnswer(index)\"\n />\n </ElIcon>\n </div>\n </div>\n </div>\n <div\n v-if=\"showAnalysis\"\n class=\"margin-bottom flex\"\n >\n <div class=\"label flex flex-justify-end\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <ElInput\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=\"margin-bottom flex\"\n >\n <div class=\"label flex flex-justify-center\">\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 <ElLink\n type=\"danger\"\n @click=\"deleteRichText\"\n >\n 删除富文本\n </ElLink>\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","isCheckList","addAnswer","push","deleteRichText","save","ElMessage","error","length","msg","forEach","item","index","join","filter","i","map","isSetCorrectAnswer","examExpand","examAnswerSettingBO","isIgnoreCase","includes","isInOrder","examRichTextContent","onMounted","answerList","examAnswerSettingVO","ns","useNamespace","_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","ElCheckbox","disabled","_createTextVNode","_hoisted_7","_hoisted_8","edit","_hoisted_9","_hoisted_10","ElInput","$event","type","rows","placeholder","maxlength","isSave","_hoisted_11","_cache","ElInputNumber","style","width","margin","min","ElCheckboxGroup","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","split","ElTag","closable","onClose","tags","findIndex","splice","closeTag","modelValue","onBlur","handleAddTag","ElButton","size","onClick","ElIcon","Plus","_hoisted_17","CirclePlus","Remove","deleteAnswer","showAnalysis","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","TinyMceEditor","_mergeProps","_hoisted_22","ElLink","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 n,watch as i,createElementBlock as a,openBlock as o,normalizeClass as l,unref as r,createElementVNode as d,Fragment as c,renderList as m,createBlock as u,createCommentVNode as x,mergeProps as p}from"vue";import{useNamespace as w}from"@qxs-bns/hooks";import{ElMessage as v}from"element-plus";import{nanoid as y}from"nanoid";import h from"./components/subject-blank-fill.vue.mjs";import f from"./components/subject-scale.vue.mjs";import E from"./components/subject-single.vue.mjs";import T from"./components/subject-text-fill.vue.mjs";import S from"./components/SubjectPageEnd.vue.mjs";import A from"./components/SubjectRichText.vue.mjs";const R={class:"subject-list-wrapper"};var g=e({name:"QxsSubjectList",__name:"subject-list",props:{subjectList:{type:Array,required:!0},isPreview:{type:Boolean,required:!0}},emits:["setRelation"],setup(e,{expose:g,emit:D}){const I=e,j=D,C=t([]),b=s();g({addSubject:M,currentList:C,uploadExcel:function(e){C.value=C.value.concat(e)},addExam:function(e){let t=1;const s=[];e.forEach(e=>{const n={...e,customId:y(),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};n.pageIndex>t&&(s.push({customId:y(),answerType:"page_end",analysis:"",scaleQuestionList:[],isSave:!1,isEdit:!0,isRealCanDel:!0,hasSet:!1,examAnswerRelationType:0}),t=n.pageIndex),s.push(n)}),C.value=C.value.concat(s)},setAnswerRelation:function(e,t,s){const n=C.value.find(e=>e.customId===t);if(n){const t=n.answers?.find(e=>e.customAnswerId===s);t&&(t.answerRelations=e)}}});const _=n(()=>{const e=C.value.filter(e=>"page_end"===e.answerType);return t=>{const s=e.findIndex(e=>e.customId===t);return-1!==s?s+1:0}});function k(){return e=>{let t=0,s=0;return C.value.forEach(n=>{"page_end"!==n.answerType&&(t++,e===n.customId&&(s=t))}),s-1}}function M(e,t=null,s=null){const n={customId:y(),answerType:e,analysis:"",scaleQuestionList:[],isSave:!1,isEdit:!0,isRealCanDel:!0,hasSet:!1,examAnswerRelationType:s};null!==t?C.value.splice(t+1,0,n):C.value.push(n)}function L(e,t){if("up"===t&&e>0){const[t]=C.value.splice(e,1);C.value.splice(e-1,0,t)}else if("down"===t&&e<C.value.length-1){const[t]=C.value.splice(e,1);C.value.splice(e+1,0,t)}}function P(e,t){C.value[e]={...C.value[e],...t,isEdit:!1,examAnswerRelationType:t.examAnswerRelationType}}function q(e){C.value.splice(e,1),v.success("删除成功")}function Q(e,t){j("setRelation",e,t)}i(()=>I.subjectList,e=>{e&&(C.value=[...e])},{immediate:!0});const O=w("subject-list");return(e,t)=>(o(),a("div",{class:l(r(O).e("list-exam"))},[d("div",R,[(o(!0),a(c,null,m(C.value,(t,s)=>(o(),a("div",{key:t.customId,class:"subject-item"},[["single","multiple","sort"].includes(t.answerType)?(o(),u(E,p({key:0,ref_for:!0},r(b),{"order-index":k()(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:Q,onMove:e=>L(s,e),onDelete:e=>q(s),onSave:e=>P(s,e),onEdit:e=>t.isEdit=!0,onAdd:(e,t)=>M(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(),u(f,p({key:1,ref_for:!0},r(b),{"order-index":k()(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=>L(s,e),onDelete:e=>q(s),onSave:e=>P(s,e),onEdit:e=>t.isEdit=!0,onAdd:e=>M(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(),u(h,p({key:2,ref_for:!0},r(b),{"order-index":k()(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=>L(s,e),onDelete:e=>q(s),onSave:e=>P(s,e),onEdit:e=>t.isEdit=!0,onAdd:e=>M(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(),u(T,p({key:3,ref_for:!0},r(b),{"order-index":k()(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=>L(s,e),onDelete:e=>q(s),onSave:e=>P(s,e),onEdit:e=>t.isEdit=!0,onAdd:e=>M(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(),u(A,p({key:4,ref_for:!0},r(b),{"order-index":k()(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=>L(s,e),onDelete:e=>q(s),onSave:e=>P(s,e),onEdit:e=>t.isEdit=!0,onAdd:e=>M(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(),u(S,{key:s,"total-page":C.value.filter(e=>"page_end"===e.answerType).length,"current-page-index":_.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=>L(s,e),onDelete:e=>q(s),onSave:e=>P(s,e),onEdit:e=>t.isEdit=!0,onAdd:e=>M(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"])):x("v-if",!0)]))),128))])],2))}});export{g as default};
2
- //# sourceMappingURL=subject-list.vue.mjs.map