@qxs-bns/components 0.0.69 → 0.0.70

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 (172) hide show
  1. package/es/package.json.mjs +1 -1
  2. package/es/src/data-chart/src/components/area.vue2.mjs +1 -1
  3. package/es/src/data-chart/src/components/area.vue2.mjs.map +1 -1
  4. package/es/src/data-chart/src/components/bar.vue2.mjs.map +1 -1
  5. package/es/src/data-chart/src/components/card.vue2.mjs +1 -1
  6. package/es/src/data-chart/src/components/card.vue2.mjs.map +1 -1
  7. package/es/src/data-chart/src/components/funnel.vue2.mjs.map +1 -1
  8. package/es/src/data-chart/src/components/line.vue2.mjs.map +1 -1
  9. package/es/src/data-chart/src/components/pie.vue2.mjs.map +1 -1
  10. package/es/src/data-chart/src/components/radar.vue2.mjs.map +1 -1
  11. package/es/src/data-chart/src/components/scatter-simple.vue2.mjs.map +1 -1
  12. package/es/src/data-chart/src/components/scatter.vue2.mjs.map +1 -1
  13. package/es/src/data-chart/src/components/table.vue.mjs +1 -1
  14. package/es/src/data-chart/src/components/table.vue.mjs.map +1 -1
  15. package/es/src/data-chart/src/data-chart.vue.mjs +1 -1
  16. package/es/src/data-chart/src/data-chart.vue.mjs.map +1 -1
  17. package/es/src/data-chart/src/utils/config.mjs +1 -1
  18. package/es/src/data-chart/src/utils/config.mjs.map +1 -1
  19. package/es/src/data-chart/src/utils/mapData.mjs.map +1 -1
  20. package/es/src/data-chart/src/utils/useCharts.mjs +1 -1
  21. package/es/src/data-chart/src/utils/useCharts.mjs.map +1 -1
  22. package/es/src/file-upload/src/file-upload.vue.mjs +1 -1
  23. package/es/src/file-upload/src/file-upload.vue.mjs.map +1 -1
  24. package/es/src/fixed-action-bar/src/fixed-action-bar.vue.mjs +1 -1
  25. package/es/src/fixed-action-bar/src/fixed-action-bar.vue.mjs.map +1 -1
  26. package/es/src/icon/index.mjs +1 -1
  27. package/es/src/icon/index.mjs.map +1 -1
  28. package/es/src/icon/src/icon.vue.mjs +1 -1
  29. package/es/src/icon/src/icon.vue.mjs.map +1 -1
  30. package/es/src/image-upload/src/image-upload.vue.mjs +1 -1
  31. package/es/src/image-upload/src/image-upload.vue.mjs.map +1 -1
  32. package/es/src/photo-crop-tool/src/composables.mjs.map +1 -1
  33. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.mjs +1 -1
  34. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.mjs.map +1 -1
  35. package/es/src/subject-action/src/subject-action.vue.mjs +1 -1
  36. package/es/src/subject-action/src/subject-action.vue.mjs.map +1 -1
  37. package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs +1 -1
  38. package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs.map +1 -1
  39. package/es/src/subject-list/src/components/SubjectRichText.vue.mjs +1 -1
  40. package/es/src/subject-list/src/components/SubjectRichText.vue.mjs.map +1 -1
  41. package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs +1 -1
  42. package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs.map +1 -1
  43. package/es/src/subject-list/src/components/subject-scale.vue.mjs +1 -1
  44. package/es/src/subject-list/src/components/subject-scale.vue.mjs.map +1 -1
  45. package/es/src/subject-list/src/components/subject-single.vue.mjs +1 -1
  46. package/es/src/subject-list/src/components/subject-single.vue.mjs.map +1 -1
  47. package/es/src/subject-list/src/components/subject-text-fill.vue.mjs +1 -1
  48. package/es/src/subject-list/src/components/subject-text-fill.vue.mjs.map +1 -1
  49. package/es/src/subject-list/src/subject-list.vue.mjs +1 -1
  50. package/es/src/subject-list/src/subject-list.vue.mjs.map +1 -1
  51. package/es/src/subject-type/src/subject-type.vue.mjs +1 -1
  52. package/es/src/subject-type/src/subject-type.vue.mjs.map +1 -1
  53. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs +1 -1
  54. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs.map +1 -1
  55. package/lib/package.json.cjs +1 -1
  56. package/lib/src/data-chart/src/components/area.vue2.cjs +1 -1
  57. package/lib/src/data-chart/src/components/area.vue2.cjs.map +1 -1
  58. package/lib/src/data-chart/src/components/bar.vue2.cjs.map +1 -1
  59. package/lib/src/data-chart/src/components/card.vue2.cjs +1 -1
  60. package/lib/src/data-chart/src/components/card.vue2.cjs.map +1 -1
  61. package/lib/src/data-chart/src/components/funnel.vue2.cjs.map +1 -1
  62. package/lib/src/data-chart/src/components/line.vue2.cjs.map +1 -1
  63. package/lib/src/data-chart/src/components/pie.vue2.cjs.map +1 -1
  64. package/lib/src/data-chart/src/components/radar.vue2.cjs.map +1 -1
  65. package/lib/src/data-chart/src/components/scatter-simple.vue2.cjs.map +1 -1
  66. package/lib/src/data-chart/src/components/scatter.vue2.cjs.map +1 -1
  67. package/lib/src/data-chart/src/components/table.vue.cjs +1 -1
  68. package/lib/src/data-chart/src/components/table.vue.cjs.map +1 -1
  69. package/lib/src/data-chart/src/data-chart.vue.cjs +1 -1
  70. package/lib/src/data-chart/src/data-chart.vue.cjs.map +1 -1
  71. package/lib/src/data-chart/src/utils/config.cjs +1 -1
  72. package/lib/src/data-chart/src/utils/config.cjs.map +1 -1
  73. package/lib/src/data-chart/src/utils/mapData.cjs.map +1 -1
  74. package/lib/src/data-chart/src/utils/useCharts.cjs +1 -1
  75. package/lib/src/data-chart/src/utils/useCharts.cjs.map +1 -1
  76. package/lib/src/file-upload/src/file-upload.vue.cjs +1 -1
  77. package/lib/src/file-upload/src/file-upload.vue.cjs.map +1 -1
  78. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.cjs +1 -1
  79. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.cjs.map +1 -1
  80. package/lib/src/icon/index.cjs +1 -1
  81. package/lib/src/icon/index.cjs.map +1 -1
  82. package/lib/src/icon/src/icon.vue.cjs +1 -1
  83. package/lib/src/icon/src/icon.vue.cjs.map +1 -1
  84. package/lib/src/image-upload/src/image-upload.vue.cjs +1 -1
  85. package/lib/src/image-upload/src/image-upload.vue.cjs.map +1 -1
  86. package/lib/src/photo-crop-tool/src/composables.cjs.map +1 -1
  87. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.cjs +1 -1
  88. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.cjs.map +1 -1
  89. package/lib/src/subject-action/src/subject-action.vue.cjs +1 -1
  90. package/lib/src/subject-action/src/subject-action.vue.cjs.map +1 -1
  91. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs +1 -1
  92. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs.map +1 -1
  93. package/lib/src/subject-list/src/components/SubjectRichText.vue.cjs +1 -1
  94. package/lib/src/subject-list/src/components/SubjectRichText.vue.cjs.map +1 -1
  95. package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs +1 -1
  96. package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs.map +1 -1
  97. package/lib/src/subject-list/src/components/subject-scale.vue.cjs +1 -1
  98. package/lib/src/subject-list/src/components/subject-scale.vue.cjs.map +1 -1
  99. package/lib/src/subject-list/src/components/subject-single.vue.cjs +1 -1
  100. package/lib/src/subject-list/src/components/subject-single.vue.cjs.map +1 -1
  101. package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs +1 -1
  102. package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs.map +1 -1
  103. package/lib/src/subject-list/src/subject-list.vue.cjs +1 -1
  104. package/lib/src/subject-list/src/subject-list.vue.cjs.map +1 -1
  105. package/lib/src/subject-type/src/subject-type.vue.cjs +1 -1
  106. package/lib/src/subject-type/src/subject-type.vue.cjs.map +1 -1
  107. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs +1 -1
  108. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs.map +1 -1
  109. package/package.json +8 -15
  110. package/theme-chalk/index.css +1 -1
  111. package/theme-chalk/index.scss +1 -1
  112. package/theme-chalk/src/common/element-plus.scss +1 -1
  113. package/theme-chalk/src/data-chart/empty.css +1 -1
  114. package/theme-chalk/src/data-chart/empty.scss +3 -3
  115. package/theme-chalk/src/data-chart/index.css +1 -1
  116. package/theme-chalk/src/icon.css +1 -1
  117. package/theme-chalk/src/icon.scss +5 -5
  118. package/theme-chalk/src/image-upload.css +1 -1
  119. package/theme-chalk/src/image-upload.scss +21 -18
  120. package/theme-chalk/src/mixins/config.scss +1 -3
  121. package/theme-chalk/src/mixins/mixins.scss +1 -2
  122. package/theme-chalk/src/normalize.css +1 -1
  123. package/theme-chalk/src/normalize.scss +41 -19
  124. package/theme-chalk/src/photo-crop-tool.css +1 -1
  125. package/theme-chalk/src/photo-crop-tool.scss +7 -7
  126. package/theme-chalk/src/subject-action.css +1 -1
  127. package/theme-chalk/src/subject-action.scss +1 -1
  128. package/types/src/data-chart/index.d.ts +1 -1
  129. package/types/src/data-chart/src/components/area.vue.d.ts.map +1 -1
  130. package/types/src/data-chart/src/components/bar.vue.d.ts.map +1 -1
  131. package/types/src/data-chart/src/components/card.vue.d.ts +2 -2
  132. package/types/src/data-chart/src/components/funnel.vue.d.ts.map +1 -1
  133. package/types/src/data-chart/src/components/line.vue.d.ts.map +1 -1
  134. package/types/src/data-chart/src/components/pie.vue.d.ts.map +1 -1
  135. package/types/src/data-chart/src/components/radar.vue.d.ts.map +1 -1
  136. package/types/src/data-chart/src/components/scatter-simple.vue.d.ts.map +1 -1
  137. package/types/src/data-chart/src/components/scatter.vue.d.ts.map +1 -1
  138. package/types/src/data-chart/src/components/table.vue.d.ts +2 -2
  139. package/types/src/data-chart/src/components/table.vue.d.ts.map +1 -1
  140. package/types/src/data-chart/src/data-chart.vue.d.ts +2 -2
  141. package/types/src/data-chart/src/data-chart.vue.d.ts.map +1 -1
  142. package/types/src/data-chart/src/utils/config.d.ts.map +1 -1
  143. package/types/src/data-chart/src/utils/mapData.d.ts.map +1 -1
  144. package/types/src/data-chart/src/utils/useCharts.d.ts.map +1 -1
  145. package/types/src/file-upload/src/file-upload.vue.d.ts.map +1 -1
  146. package/types/src/fixed-action-bar/index.d.ts +3 -3
  147. package/types/src/fixed-action-bar/src/fixed-action-bar.vue.d.ts +2 -2
  148. package/types/src/fixed-action-bar/src/fixed-action-bar.vue.d.ts.map +1 -1
  149. package/types/src/icon/index.d.ts +2 -2
  150. package/types/src/icon/index.d.ts.map +1 -1
  151. package/types/src/icon/src/icon.vue.d.ts.map +1 -1
  152. package/types/src/image-upload/src/image-upload.vue.d.ts.map +1 -1
  153. package/types/src/photo-crop-tool/index.d.ts +4 -4
  154. package/types/src/photo-crop-tool/src/composables.d.ts.map +1 -1
  155. package/types/src/photo-crop-tool/src/photo-crop-tool.vue.d.ts +2 -2
  156. package/types/src/photo-crop-tool/src/photo-crop-tool.vue.d.ts.map +1 -1
  157. package/types/src/subject-action/index.d.ts +2 -2
  158. package/types/src/subject-action/src/subject-action.vue.d.ts +2 -2
  159. package/types/src/subject-action/src/subject-action.vue.d.ts.map +1 -1
  160. package/types/src/subject-list/index.d.ts +1 -1
  161. package/types/src/subject-list/src/components/SubjectPageEnd.vue.d.ts.map +1 -1
  162. package/types/src/subject-list/src/components/SubjectRichText.vue.d.ts.map +1 -1
  163. package/types/src/subject-list/src/components/subject-blank-fill.vue.d.ts.map +1 -1
  164. package/types/src/subject-list/src/components/subject-scale.vue.d.ts.map +1 -1
  165. package/types/src/subject-list/src/components/subject-single.vue.d.ts.map +1 -1
  166. package/types/src/subject-list/src/components/subject-text-fill.vue.d.ts.map +1 -1
  167. package/types/src/subject-list/src/subject-list.vue.d.ts +1 -1
  168. package/types/src/subject-list/src/subject-list.vue.d.ts.map +1 -1
  169. package/types/src/subject-type/src/subject-type.vue.d.ts.map +1 -1
  170. package/types/src/tiny-mce-editor/index.d.ts.map +1 -1
  171. package/types/src/tiny-mce-editor/src/tiny-mce-editor.vue.d.ts.map +1 -1
  172. package/types/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"subject-list.vue.cjs","sources":["../../../../../../packages/components/src/subject-list/src/subject-list.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { setGuid } from '@qxs-bns/utils'\nimport SubjectBlankFill from './components/subject-blank-fill.vue'\nimport SubjectScale from './components/subject-scale.vue'\nimport SubjectSingle from './components/subject-single.vue'\nimport SubjectTextFill from './components/subject-text-fill.vue'\nimport SubjectPageEnd from './components/SubjectPageEnd.vue'\nimport SubjectRichText from './components/SubjectRichText.vue'\n\ndefineOptions({\n name: 'QxsSubjectList',\n})\n\nconst props = defineProps<{\n subjectList: any[]\n isPreview: boolean\n}>()\nconst emits = defineEmits(['setRelation'])\nconst currentList = ref([] as any)\nconst attrs = useAttrs()\n\ndefineExpose({\n addSubject,\n currentList,\n uploadExcel,\n addExam,\n setAnswerRelation,\n})\n\nfunction totalPageIndex() {\n return currentList.value.filter((v: any) => v.answerType === 'page_end').length\n}\n\nconst currentPageIndex = computed(() => {\n const currentPageList = currentList.value.filter((v: any) => v.answerType === 'page_end')\n return (currentId: string) => {\n const currentIndex = currentPageList.findIndex((c: any) => c.customId === currentId)\n return currentIndex !== -1 ? currentIndex + 1 : 0\n }\n})\n\nfunction currentIndex() {\n return (currentExamId: string) => {\n let current = 0\n let output = 0\n\n // 遍历 currentList,过滤掉分页器,并计算题目序号\n currentList.value.forEach((v: any) => {\n if (v.answerType !== 'page_end') { // 排除分页器\n current++\n if (currentExamId === v.customId) { // 匹配当前题目 ID\n output = current\n }\n }\n })\n\n return output - 1\n }\n}\n\nfunction addSubject(type: string, index: number | null = null, examAnswerRelationType: number | null = null) {\n const newSubject = {\n customId: setGuid(),\n answerType: type,\n analysis: '',\n scaleQuestionList: [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n examAnswerRelationType,\n }\n\n if (index !== null) {\n currentList.value.splice(index + 1, 0, newSubject)\n }\n else {\n currentList.value.push(newSubject)\n }\n}\nfunction addExam(items: any[]) {\n console.log(items, 'items')\n\n let currentIndex = 1\n const newList: any[] = []\n\n items.forEach((v: any) => {\n // 创建新的题目对象\n const newItem = {\n ...v,\n customId: setGuid(),\n answerType: v.richTextContent ? 'rich_text' : v.examTypeEnum,\n answers: v.answers?.map((c: any) => ({\n ...c,\n title: c.answer,\n answerId: c.examAnswerId,\n isCorrect: c.isCorrect,\n })) || [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n }\n\n // 如果当前题目的 pageIndex 和 currentIndex 不一致,则插入分页器\n if (newItem.pageIndex > currentIndex) {\n newList.push({\n customId: setGuid(),\n answerType: 'page_end',\n analysis: '',\n scaleQuestionList: [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n examAnswerRelationType: 0,\n })\n currentIndex = newItem.pageIndex\n }\n\n // 将题目添加到 newList\n newList.push(newItem)\n })\n\n // 更新 currentList\n currentList.value = currentList.value.concat(newList)\n}\nfunction uploadExcel(list: any[]) {\n currentList.value = currentList.value.concat(list)\n}\n\nfunction move(index: number, type: 'up' | 'down') {\n if (type === 'up' && index > 0) {\n const [item] = currentList.value.splice(index, 1)\n currentList.value.splice(index - 1, 0, item)\n }\n else if (type === 'down' && index < currentList.value.length - 1) {\n const [item] = currentList.value.splice(index, 1)\n currentList.value.splice(index + 1, 0, item)\n }\n}\n\nfunction saveSubject(index: number, item: any) {\n currentList.value[index] = {\n ...currentList.value[index],\n ...item,\n isEdit: false,\n examAnswerRelationType: item.examAnswerRelationType,\n }\n}\n\nfunction deleteSubject(index: number) {\n currentList.value.splice(index, 1)\n ElMessage.success('删除成功')\n}\n\nfunction setRelation(customId: number, examAnswers: any) {\n emits('setRelation', customId, examAnswers)\n}\n\nfunction setAnswerRelation(answerRelations: any, customId: string, customAnswerId: string) {\n const targetItem = currentList.value.find((v: any) => v.customId === customId)\n if (targetItem) {\n const targetAnswer = targetItem.answers?.find((c: any) => c.customAnswerId === customAnswerId)\n if (targetAnswer) {\n targetAnswer.answerRelations = answerRelations\n }\n }\n}\n\nwatch(() => props.subjectList, (newList: any) => {\n if (newList) {\n currentList.value = [...newList]\n }\n}, { immediate: true })\n\nconst ns = useNamespace('subject-list')\n</script>\n\n<template>\n <div :class=\"ns.e('list-exam')\">\n <div class=\"subject-list-wrapper\">\n <div\n v-for=\"(item, index) in currentList\"\n :key=\"item.customId\"\n class=\"subject-item\"\n >\n <template v-if=\"['single', 'multiple', 'sort'].includes(item.answerType)\">\n <SubjectSingle\n v-bind=\"attrs\"\n :order-index=\"currentIndex()(item.customId)\"\n :title=\"item.title\"\n :type=\"item.answerType\"\n :exam-id=\"item.examId\"\n :is-key=\"item.isKey\"\n :is-save=\"!item.isRealCanDel\"\n :custom-id=\"item.customId\"\n :is-set=\"item.hasSet || false\"\n :answer-list=\"item.answers\"\n :analysis=\"item.analysis\"\n :least-answer-count=\"item.leastAnswerCount\"\n :is-edit=\"item.isEdit || false\"\n :show-action=\"!isPreview\"\n :exam-expand=\"item.examExpand\"\n :answer-check-type=\"item.answerCheckType\"\n :exam-rich-text-content=\"item.examRichTextContent\"\n :exam-answer-relation-type=\"item.examAnswerRelationType\"\n @set-relation=\"setRelation\"\n @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\"\n @edit=\"item.isEdit = true\"\n @add=\"(type: string, examAnswerRelationType: number) => addSubject(type, index, examAnswerRelationType)\"\n />\n </template>\n <SubjectScale\n v-else-if=\"item.answerType === 'scale'\"\n v-bind=\"attrs\"\n :order-index=\"currentIndex()(item.customId)\"\n :title=\"item.title\"\n :is-save=\"!item.isRealCanDel\"\n :is-set=\"item.hasSet || false\"\n :answer-list=\"item.answers\"\n :analysis=\"item.analysis\"\n :is-edit=\"item.isEdit || false\"\n :scale-question-list=\"item.scaleQuestionList\"\n :show-action=\"!isPreview\"\n :exam-rich-text-content=\"item.examRichTextContent\"\n :exam-answer-relation-type=\"item.examAnswerRelationType\"\n @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\"\n @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\"\n />\n <SubjectBlankFill\n v-else-if=\"item.answerType === 'blank_fill'\"\n v-bind=\"attrs\"\n :order-index=\"currentIndex()(item.customId)\"\n :title=\"item.title\"\n :is-save=\"!item.isRealCanDel\"\n :is-set=\"item.hasSet || false\"\n :answer-list=\"item.answers\"\n :analysis=\"item.analysis\"\n :show-action=\"!isPreview\"\n :is-edit=\"item.isEdit || false\"\n :exam-answer-setting-v-o=\"item.examAnswerSettingVO || {}\"\n :exam-rich-text-content=\"item.examRichTextContent\"\n :exam-answer-relation-type=\"item.examAnswerRelationType\"\n @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\"\n @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\"\n />\n <SubjectTextFill\n v-else-if=\"item.answerType === 'text_fill'\"\n v-bind=\"attrs\"\n :order-index=\"currentIndex()(item.customId)\"\n :title=\"item.title\"\n :is-save=\"!item.isRealCanDel\"\n :is-set=\"item.hasSet || false\"\n :answer-list=\"item.answers\"\n :analysis=\"item.analysis\"\n :show-action=\"!isPreview\"\n :is-edit=\"item.isEdit || false\"\n :exam-expand=\"item.examExpand\"\n :exam-answer-setting-v-o=\"item.examAnswerSettingVO || {}\"\n :exam-answer-relation-type=\"item.examAnswerRelationType\"\n :exam-rich-text-content=\"item.examRichTextContent\"\n @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\"\n @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\"\n />\n <SubjectRichText\n v-else-if=\"item.answerType === 'rich_text'\"\n v-bind=\"attrs\"\n :order-index=\"currentIndex()(item.customId)\"\n :rich-text-content=\"item.richTextContent\"\n :is-set=\"item.hasSet || false\"\n :is-save=\"!item.isRealCanDel\"\n :is-edit=\"item.isEdit || false\"\n :show-action=\"!isPreview\"\n :exam-answer-relation-type=\"item.examAnswerRelationType\"\n @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\"\n @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\"\n />\n <SubjectPageEnd\n v-else-if=\"item.answerType === 'page_end'\"\n :key=\"index\"\n :total-page=\"totalPageIndex()\"\n :current-page-index=\"currentPageIndex(item.customId)\"\n :item=\"item\"\n :is-edit=\"item.isEdit || false\"\n :is-set=\"item.hasSet || false\"\n :is-save=\"!item.isRealCanDel\"\n :exam-answer-relation-type=\"item.examAnswerRelationType\"\n @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\"\n @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\"\n />\n </div>\n </div>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","currentList","ref","attrs","useAttrs","__expose","addSubject","uploadExcel","list","value","concat","addExam","items","console","log","currentIndex","newList","forEach","v","newItem","customId","setGuid","answerType","richTextContent","examTypeEnum","answers","map","c","title","answer","answerId","examAnswerId","isCorrect","isSave","isEdit","isRealCanDel","hasSet","pageIndex","push","analysis","scaleQuestionList","examAnswerRelationType","setAnswerRelation","answerRelations","customAnswerId","targetItem","find","targetAnswer","currentPageIndex","computed","currentPageList","filter","currentId","findIndex","currentExamId","current","output","type","index","newSubject","splice","move","item","length","saveSubject","deleteSubject","ElMessage","success","setRelation","examAnswers","watch","subjectList","immediate","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createElementVNode","_hoisted_1","_openBlock","_Fragment","_renderList","key","includes","_createBlock","SubjectSingle","_mergeProps","examId","isKey","leastAnswerCount","isPreview","examExpand","answerCheckType","examRichTextContent","onSetRelation","onMove","onDelete","$event","onSave","onEdit","onAdd","SubjectScale","SubjectBlankFill","examAnswerSettingVO","SubjectTextFill","SubjectRichText","SubjectPageEnd"],"mappings":"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"}
1
+ {"version":3,"file":"subject-list.vue.cjs","sources":["../../../../../../packages/components/src/subject-list/src/subject-list.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { setGuid } from '@qxs-bns/utils'\nimport { ElMessage } from 'element-plus'\nimport { computed, ref, useAttrs, watch } from 'vue'\nimport SubjectBlankFill from './components/subject-blank-fill.vue'\nimport SubjectScale from './components/subject-scale.vue'\nimport SubjectSingle from './components/subject-single.vue'\nimport SubjectTextFill from './components/subject-text-fill.vue'\nimport SubjectPageEnd from './components/SubjectPageEnd.vue'\nimport SubjectRichText from './components/SubjectRichText.vue'\n\ndefineOptions({\n name: 'QxsSubjectList',\n})\n\nconst props = defineProps<{\n subjectList: any[]\n isPreview: boolean\n}>()\nconst emits = defineEmits(['setRelation'])\nconst currentList = ref([] as any)\nconst attrs = useAttrs()\n\ndefineExpose({\n addSubject,\n currentList,\n uploadExcel,\n addExam,\n setAnswerRelation,\n})\n\nfunction totalPageIndex() {\n return currentList.value.filter((v: any) => v.answerType === 'page_end').length\n}\n\nconst currentPageIndex = computed(() => {\n const currentPageList = currentList.value.filter((v: any) => v.answerType === 'page_end')\n return (currentId: string) => {\n const currentIndex = currentPageList.findIndex((c: any) => c.customId === currentId)\n return currentIndex !== -1 ? currentIndex + 1 : 0\n }\n})\n\nfunction currentIndex() {\n return (currentExamId: string) => {\n let current = 0\n let output = 0\n\n // 遍历 currentList,过滤掉分页器,并计算题目序号\n currentList.value.forEach((v: any) => {\n if (v.answerType !== 'page_end') { // 排除分页器\n current++\n if (currentExamId === v.customId) { // 匹配当前题目 ID\n output = current\n }\n }\n })\n\n return output - 1\n }\n}\n\nfunction addSubject(type: string, index: number | null = null, examAnswerRelationType: number | null = null) {\n const newSubject = {\n customId: setGuid(),\n answerType: type,\n analysis: '',\n scaleQuestionList: [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n examAnswerRelationType,\n }\n\n if (index !== null) {\n currentList.value.splice(index + 1, 0, newSubject)\n }\n else {\n currentList.value.push(newSubject)\n }\n}\nfunction addExam(items: any[]) {\n console.log(items, 'items')\n\n let currentIndex = 1\n const newList: any[] = []\n\n items.forEach((v: any) => {\n // 创建新的题目对象\n const newItem = {\n ...v,\n customId: setGuid(),\n answerType: v.richTextContent ? 'rich_text' : v.examTypeEnum,\n answers: v.answers?.map((c: any) => ({\n ...c,\n title: c.answer,\n answerId: c.examAnswerId,\n isCorrect: c.isCorrect,\n })) || [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n }\n\n // 如果当前题目的 pageIndex 和 currentIndex 不一致,则插入分页器\n if (newItem.pageIndex > currentIndex) {\n newList.push({\n customId: setGuid(),\n answerType: 'page_end',\n analysis: '',\n scaleQuestionList: [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n examAnswerRelationType: 0,\n })\n currentIndex = newItem.pageIndex\n }\n\n // 将题目添加到 newList\n newList.push(newItem)\n })\n\n // 更新 currentList\n currentList.value = currentList.value.concat(newList)\n}\nfunction uploadExcel(list: any[]) {\n currentList.value = currentList.value.concat(list)\n}\n\nfunction move(index: number, type: 'up' | 'down') {\n if (type === 'up' && index > 0) {\n const [item] = currentList.value.splice(index, 1)\n currentList.value.splice(index - 1, 0, item)\n }\n else if (type === 'down' && index < currentList.value.length - 1) {\n const [item] = currentList.value.splice(index, 1)\n currentList.value.splice(index + 1, 0, item)\n }\n}\n\nfunction saveSubject(index: number, item: any) {\n currentList.value[index] = {\n ...currentList.value[index],\n ...item,\n isEdit: false,\n examAnswerRelationType: item.examAnswerRelationType,\n }\n}\n\nfunction deleteSubject(index: number) {\n currentList.value.splice(index, 1)\n ElMessage.success('删除成功')\n}\n\nfunction setRelation(customId: number, examAnswers: any) {\n emits('setRelation', customId, examAnswers)\n}\n\nfunction setAnswerRelation(answerRelations: any, customId: string, customAnswerId: string) {\n const targetItem = currentList.value.find((v: any) => v.customId === customId)\n if (targetItem) {\n const targetAnswer = targetItem.answers?.find((c: any) => c.customAnswerId === customAnswerId)\n if (targetAnswer) {\n targetAnswer.answerRelations = answerRelations\n }\n }\n}\n\nwatch(() => props.subjectList, (newList: any) => {\n if (newList) {\n currentList.value = [...newList]\n }\n}, { immediate: true })\n\nconst ns = useNamespace('subject-list')\n</script>\n\n<template>\n <div :class=\"ns.e('list-exam')\">\n <div class=\"subject-list-wrapper\">\n <div\n v-for=\"(item, index) in currentList\"\n :key=\"item.customId\"\n class=\"subject-item\"\n >\n <template v-if=\"['single', 'multiple', 'sort'].includes(item.answerType)\">\n <SubjectSingle\n v-bind=\"attrs\"\n :order-index=\"currentIndex()(item.customId)\"\n :title=\"item.title\"\n :type=\"item.answerType\"\n :exam-id=\"item.examId\"\n :is-key=\"item.isKey\"\n :is-save=\"!item.isRealCanDel\"\n :custom-id=\"item.customId\"\n :is-set=\"item.hasSet || false\"\n :answer-list=\"item.answers\"\n :analysis=\"item.analysis\"\n :least-answer-count=\"item.leastAnswerCount\"\n :is-edit=\"item.isEdit || false\"\n :show-action=\"!isPreview\"\n :exam-expand=\"item.examExpand\"\n :answer-check-type=\"item.answerCheckType\"\n :exam-rich-text-content=\"item.examRichTextContent\"\n :exam-answer-relation-type=\"item.examAnswerRelationType\"\n @set-relation=\"setRelation\"\n @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\"\n @edit=\"item.isEdit = true\"\n @add=\"(type: string, examAnswerRelationType: number) => addSubject(type, index, examAnswerRelationType)\"\n />\n </template>\n <SubjectScale\n v-else-if=\"item.answerType === 'scale'\"\n v-bind=\"attrs\"\n :order-index=\"currentIndex()(item.customId)\"\n :title=\"item.title\"\n :is-save=\"!item.isRealCanDel\"\n :is-set=\"item.hasSet || false\"\n :answer-list=\"item.answers\"\n :analysis=\"item.analysis\"\n :is-edit=\"item.isEdit || false\"\n :scale-question-list=\"item.scaleQuestionList\"\n :show-action=\"!isPreview\"\n :exam-rich-text-content=\"item.examRichTextContent\"\n :exam-answer-relation-type=\"item.examAnswerRelationType\"\n @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\"\n @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\"\n />\n <SubjectBlankFill\n v-else-if=\"item.answerType === 'blank_fill'\"\n v-bind=\"attrs\"\n :order-index=\"currentIndex()(item.customId)\"\n :title=\"item.title\"\n :is-save=\"!item.isRealCanDel\"\n :is-set=\"item.hasSet || false\"\n :answer-list=\"item.answers\"\n :analysis=\"item.analysis\"\n :show-action=\"!isPreview\"\n :is-edit=\"item.isEdit || false\"\n :exam-answer-setting-v-o=\"item.examAnswerSettingVO || {}\"\n :exam-rich-text-content=\"item.examRichTextContent\"\n :exam-answer-relation-type=\"item.examAnswerRelationType\"\n @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\"\n @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\"\n />\n <SubjectTextFill\n v-else-if=\"item.answerType === 'text_fill'\"\n v-bind=\"attrs\"\n :order-index=\"currentIndex()(item.customId)\"\n :title=\"item.title\"\n :is-save=\"!item.isRealCanDel\"\n :is-set=\"item.hasSet || false\"\n :answer-list=\"item.answers\"\n :analysis=\"item.analysis\"\n :show-action=\"!isPreview\"\n :is-edit=\"item.isEdit || false\"\n :exam-expand=\"item.examExpand\"\n :exam-answer-setting-v-o=\"item.examAnswerSettingVO || {}\"\n :exam-answer-relation-type=\"item.examAnswerRelationType\"\n :exam-rich-text-content=\"item.examRichTextContent\"\n @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\"\n @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\"\n />\n <SubjectRichText\n v-else-if=\"item.answerType === 'rich_text'\"\n v-bind=\"attrs\"\n :order-index=\"currentIndex()(item.customId)\"\n :rich-text-content=\"item.richTextContent\"\n :is-set=\"item.hasSet || false\"\n :is-save=\"!item.isRealCanDel\"\n :is-edit=\"item.isEdit || false\"\n :show-action=\"!isPreview\"\n :exam-answer-relation-type=\"item.examAnswerRelationType\"\n @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\"\n @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\"\n />\n <SubjectPageEnd\n v-else-if=\"item.answerType === 'page_end'\"\n :key=\"index\"\n :total-page=\"totalPageIndex()\"\n :current-page-index=\"currentPageIndex(item.customId)\"\n :item=\"item\"\n :is-edit=\"item.isEdit || false\"\n :is-set=\"item.hasSet || false\"\n :is-save=\"!item.isRealCanDel\"\n :exam-answer-relation-type=\"item.examAnswerRelationType\"\n @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\"\n @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\"\n />\n </div>\n </div>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","currentList","ref","attrs","useAttrs","__expose","addSubject","uploadExcel","list","value","concat","addExam","items","console","log","currentIndex","newList","forEach","v","newItem","customId","setGuid","answerType","richTextContent","examTypeEnum","answers","map","c","title","answer","answerId","examAnswerId","isCorrect","isSave","isEdit","isRealCanDel","hasSet","pageIndex","push","analysis","scaleQuestionList","examAnswerRelationType","setAnswerRelation","answerRelations","customAnswerId","targetItem","find","targetAnswer","currentPageIndex","computed","currentPageList","filter","currentId","findIndex","currentExamId","current","output","type","index","newSubject","splice","move","item","length","saveSubject","deleteSubject","ElMessage","success","setRelation","examAnswers","watch","subjectList","immediate","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createElementVNode","_hoisted_1","_openBlock","_Fragment","_renderList","key","includes","_createBlock","SubjectSingle","_mergeProps","examId","isKey","leastAnswerCount","isPreview","examExpand","answerCheckType","examRichTextContent","onSetRelation","onMove","onDelete","$event","onSave","onEdit","onAdd","SubjectScale","SubjectBlankFill","examAnswerSettingVO","SubjectTextFill","SubjectRichText","SubjectPageEnd"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),l=require("@qxs-bns/hooks");const t={class:"type-item"},n={class:"base-subject"},c=["onClick"],a={class:"type-item"},s={class:"base-subject flex"},r=["onClick"],o={class:"type-item"},i={class:"base-subject flex"},p=["onClick"];var m=e.defineComponent({name:"QxsSubjectType",__name:"subject-type",emits:["select"],setup(m,{emit:d}){const u=d,y=e.ref([{type:"single",label:"单选题"},{type:"multiple",label:"多选题"},{type:"blank_fill",label:"填空题"},{type:"text_fill",label:"问答题"},{type:"scale",label:"量表题"},{type:"sort",label:"排序题"}]),b=e.ref([{type:"rich_text",label:"富文本"},{type:"page_end",label:"分页器"}]),k=e.ref([{type:"single",label:"单选题"},{type:"multiple",label:"多选题"}]),E=l.useNamespace("subject-type");return(l,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(E).e("type-list"))},[e.createElementVNode("div",t,[m[0]||(m[0]=e.createElementVNode("div",null,"普通题目类型",-1)),e.createElementVNode("div",n,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),l=>(e.openBlock(),e.createElementBlock("div",{key:l.type,class:"item flex-center",onClick:e=>u("select",l.type)},[e.createElementVNode("span",null,e.toDisplayString(l.label),1)],8,c))),128))])]),e.createElementVNode("div",a,[m[1]||(m[1]=e.createElementVNode("div",null,"其他",-1)),e.createElementVNode("div",s,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),l=>(e.openBlock(),e.createElementBlock("div",{key:l.type,class:"item flex-center",onClick:e=>u("select",l.type)},[e.createElementVNode("span",null,e.toDisplayString(l.label),1)],8,r))),128))])]),e.createElementVNode("div",o,[m[2]||(m[2]=e.createElementVNode("div",null,"互动问答类型(支持设置结果项)",-1)),e.createElementVNode("div",i,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),l=>(e.openBlock(),e.createElementBlock("div",{key:l.type,class:"item flex-center",onClick:e=>u("select",l.type,!0)},[e.createElementVNode("span",null,e.toDisplayString(l.label),1)],8,p))),128))])])],2))}});exports.default=m;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),l=require("@qxs-bns/hooks");const t={class:"type-item"},n={class:"base-subject"},a=["onClick"],c={class:"type-item"},s={class:"base-subject flex"},o=["onClick"],r={class:"type-item"},i={class:"base-subject flex"},p=["onClick"];var m=e.defineComponent({name:"QxsSubjectType",__name:"subject-type",emits:["select"],setup(m,{emit:d}){const u=d,y=e.ref([{type:"single",label:"单选题"},{type:"multiple",label:"多选题"},{type:"blank_fill",label:"填空题"},{type:"text_fill",label:"问答题"},{type:"scale",label:"量表题"},{type:"sort",label:"排序题"}]),b=e.ref([{type:"rich_text",label:"富文本"},{type:"page_end",label:"分页器"}]),k=e.ref([{type:"single",label:"单选题"},{type:"multiple",label:"多选题"}]),v=l.useNamespace("subject-type");return(l,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(v).e("type-list"))},[e.createElementVNode("div",t,[m[0]||(m[0]=e.createElementVNode("div",null,"普通题目类型",-1)),e.createElementVNode("div",n,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,l=>(e.openBlock(),e.createElementBlock("div",{key:l.type,class:"item flex-center",onClick:e=>u("select",l.type)},[e.createElementVNode("span",null,e.toDisplayString(l.label),1)],8,a))),128))])]),e.createElementVNode("div",c,[m[1]||(m[1]=e.createElementVNode("div",null,"其他",-1)),e.createElementVNode("div",s,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,l=>(e.openBlock(),e.createElementBlock("div",{key:l.type,class:"item flex-center",onClick:e=>u("select",l.type)},[e.createElementVNode("span",null,e.toDisplayString(l.label),1)],8,o))),128))])]),e.createElementVNode("div",r,[m[2]||(m[2]=e.createElementVNode("div",null,"互动问答类型(支持设置结果项)",-1)),e.createElementVNode("div",i,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,l=>(e.openBlock(),e.createElementBlock("div",{key:l.type,class:"item flex-center",onClick:e=>u("select",l.type,!0)},[e.createElementVNode("span",null,e.toDisplayString(l.label),1)],8,p))),128))])])],2))}});exports.default=m;
2
2
  //# sourceMappingURL=subject-type.vue.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"subject-type.vue.cjs","sources":["../../../../../../packages/components/src/subject-type/src/subject-type.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\n\ndefineOptions({\n name: 'QxsSubjectType',\n})\nconst emits = defineEmits(['select'])\nconst subjectOptions = ref([\n {\n type: 'single',\n label: '单选题',\n }, {\n type: 'multiple',\n label: '多选题',\n },\n {\n type: 'blank_fill',\n label: '填空题',\n },\n {\n type: 'text_fill',\n label: '问答题',\n },\n {\n type: 'scale',\n label: '量表题',\n },\n {\n type: 'sort',\n label: '排序题',\n },\n])\nconst otherOptions = ref([\n {\n type: 'rich_text',\n label: '富文本',\n },\n {\n type: 'page_end',\n label: '分页器',\n },\n])\nconst interactionOptions = ref([\n {\n type: 'single',\n label: '单选题',\n }, {\n type: 'multiple',\n label: '多选题',\n },\n])\nconst ns = useNamespace('subject-type')\n</script>\n\n<template>\n <div :class=\"ns.e('type-list')\">\n <div class=\"type-item\">\n <div>普通题目类型</div>\n <div class=\"base-subject\">\n <div\n v-for=\"item in subjectOptions\"\n :key=\"item.type\"\n class=\"item flex-center\"\n @click=\"emits('select', item.type)\"\n >\n <span>{{ item.label }}</span>\n </div>\n </div>\n </div>\n <div class=\"type-item\">\n <div>其他</div>\n <div class=\"base-subject flex\">\n <div\n v-for=\"item in otherOptions\"\n :key=\"item.type\"\n class=\"item flex-center\"\n @click=\"emits('select', item.type)\"\n >\n <span>{{ item.label }}</span>\n </div>\n </div>\n </div>\n <div class=\"type-item\">\n <div>互动问答类型(支持设置结果项)</div>\n <div class=\"base-subject flex\">\n <div\n v-for=\"item in interactionOptions\"\n :key=\"item.type\"\n class=\"item flex-center\"\n @click=\"emits('select', item.type, true)\"\n >\n <span>{{ item.label }}</span>\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["emits","__emit","subjectOptions","ref","type","label","otherOptions","interactionOptions","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createElementVNode","_hoisted_1","_cache","_hoisted_2","_Fragment","_renderList","item","key","onClick","$event","_toDisplayString","_hoisted_4","_hoisted_5","_hoisted_7","_hoisted_8"],"mappings":"oaAMA,MAAMA,EAAQC,EACRC,EAAiBC,EAAAA,IAAI,CACzB,CACEC,KAAM,SACNC,MAAO,OACN,CACDD,KAAM,WACNC,MAAO,OAET,CACED,KAAM,aACNC,MAAO,OAET,CACED,KAAM,YACNC,MAAO,OAET,CACED,KAAM,QACNC,MAAO,OAET,CACED,KAAM,OACNC,MAAO,SAGLC,EAAeH,EAAAA,IAAI,CACvB,CACEC,KAAM,YACNC,MAAO,OAET,CACED,KAAM,WACNC,MAAO,SAGLE,EAAqBJ,EAAAA,IAAI,CAC7B,CACEC,KAAM,SACNC,MAAO,OACN,CACDD,KAAM,WACNC,MAAO,SAGLG,EAAKC,EAAAA,aAAa,4CAItBC,EAAAA,mBAwCM,MAAA,CAxCAC,MAAKC,EAAAA,eAAEC,EAAAA,MAAAL,GAAGM,EAAC,gBACfC,EAAAA,mBAYM,MAZNC,EAYM,CAXJC,EAAA,KAAAA,EAAA,GAAAF,EAAAA,mBAAiB,WAAZ,UAAM,IACXA,EAAAA,mBASM,MATNG,EASM,kBARJR,EAAAA,mBAOMS,EAAAA,SAAA,KAAAC,EAAAA,WANWP,EAAAA,MAAAX,GAARmB,kBADTX,EAAAA,mBAOM,MAAA,CALHY,IAAKD,EAAKjB,KACXO,MAAM,mBACLY,QAAKC,GAAExB,EAAK,SAAWqB,EAAKjB,QAE7BW,EAAAA,mBAA6B,OAAA,KAAAU,EAAAA,gBAApBJ,EAAKhB,OAAK,qBAIzBU,EAAAA,mBAYM,MAZNW,EAYM,CAXJT,EAAA,KAAAA,EAAA,GAAAF,EAAAA,mBAAa,WAAR,MAAE,IACPA,EAAAA,mBASM,MATNY,EASM,kBARJjB,EAAAA,mBAOMS,EAAAA,SAAA,KAAAC,EAAAA,WANWP,EAAAA,MAAAP,GAARe,kBADTX,EAAAA,mBAOM,MAAA,CALHY,IAAKD,EAAKjB,KACXO,MAAM,mBACLY,QAAKC,GAAExB,EAAK,SAAWqB,EAAKjB,QAE7BW,EAAAA,mBAA6B,OAAA,KAAAU,EAAAA,gBAApBJ,EAAKhB,OAAK,qBAIzBU,EAAAA,mBAYM,MAZNa,EAYM,CAXJX,EAAA,KAAAA,EAAA,GAAAF,EAAAA,mBAA0B,WAArB,mBAAe,IACpBA,EAAAA,mBASM,MATNc,EASM,kBARJnB,EAAAA,mBAOMS,EAAAA,SAAA,KAAAC,EAAAA,WANWP,EAAAA,MAAAN,GAARc,kBADTX,EAAAA,mBAOM,MAAA,CALHY,IAAKD,EAAKjB,KACXO,MAAM,mBACLY,QAAKC,GAAExB,EAAK,SAAWqB,EAAKjB,MAAI,KAEjCW,EAAAA,mBAA6B,OAAA,KAAAU,EAAAA,gBAApBJ,EAAKhB,OAAK"}
1
+ {"version":3,"file":"subject-type.vue.cjs","sources":["../../../../../../packages/components/src/subject-type/src/subject-type.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { ref } from 'vue'\n\ndefineOptions({\n name: 'QxsSubjectType',\n})\nconst emits = defineEmits(['select'])\nconst subjectOptions = ref([\n {\n type: 'single',\n label: '单选题',\n }, {\n type: 'multiple',\n label: '多选题',\n },\n {\n type: 'blank_fill',\n label: '填空题',\n },\n {\n type: 'text_fill',\n label: '问答题',\n },\n {\n type: 'scale',\n label: '量表题',\n },\n {\n type: 'sort',\n label: '排序题',\n },\n])\nconst otherOptions = ref([\n {\n type: 'rich_text',\n label: '富文本',\n },\n {\n type: 'page_end',\n label: '分页器',\n },\n])\nconst interactionOptions = ref([\n {\n type: 'single',\n label: '单选题',\n }, {\n type: 'multiple',\n label: '多选题',\n },\n])\nconst ns = useNamespace('subject-type')\n</script>\n\n<template>\n <div :class=\"ns.e('type-list')\">\n <div class=\"type-item\">\n <div>普通题目类型</div>\n <div class=\"base-subject\">\n <div\n v-for=\"item in subjectOptions\"\n :key=\"item.type\"\n class=\"item flex-center\"\n @click=\"emits('select', item.type)\"\n >\n <span>{{ item.label }}</span>\n </div>\n </div>\n </div>\n <div class=\"type-item\">\n <div>其他</div>\n <div class=\"base-subject flex\">\n <div\n v-for=\"item in otherOptions\"\n :key=\"item.type\"\n class=\"item flex-center\"\n @click=\"emits('select', item.type)\"\n >\n <span>{{ item.label }}</span>\n </div>\n </div>\n </div>\n <div class=\"type-item\">\n <div>互动问答类型(支持设置结果项)</div>\n <div class=\"base-subject flex\">\n <div\n v-for=\"item in interactionOptions\"\n :key=\"item.type\"\n class=\"item flex-center\"\n @click=\"emits('select', item.type, true)\"\n >\n <span>{{ item.label }}</span>\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["emits","__emit","subjectOptions","ref","type","label","otherOptions","interactionOptions","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createElementVNode","_hoisted_1","_cache","_hoisted_2","_Fragment","_renderList","value","item","key","onClick","$event","_toDisplayString","_hoisted_4","_hoisted_5","_hoisted_7","_hoisted_8"],"mappings":"oaAOA,MAAMA,EAAQC,EACRC,EAAiBC,EAAAA,IAAI,CACzB,CACEC,KAAM,SACNC,MAAO,OACN,CACDD,KAAM,WACNC,MAAO,OAET,CACED,KAAM,aACNC,MAAO,OAET,CACED,KAAM,YACNC,MAAO,OAET,CACED,KAAM,QACNC,MAAO,OAET,CACED,KAAM,OACNC,MAAO,SAGLC,EAAeH,EAAAA,IAAI,CACvB,CACEC,KAAM,YACNC,MAAO,OAET,CACED,KAAM,WACNC,MAAO,SAGLE,EAAqBJ,EAAAA,IAAI,CAC7B,CACEC,KAAM,SACNC,MAAO,OACN,CACDD,KAAM,WACNC,MAAO,SAGLG,EAAKC,EAAAA,aAAa,4CAItBC,EAAAA,mBAwCM,MAAA,CAxCAC,MAAKC,EAAAA,eAAEC,EAAAA,MAAAL,GAAGM,EAAC,gBACfC,EAAAA,mBAYM,MAZNC,EAYM,CAXJC,EAAA,KAAAA,EAAA,GAAAF,EAAAA,mBAAiB,WAAZ,UAAM,IACXA,EAAAA,mBASM,MATNG,EASM,kBARJR,EAAAA,mBAOMS,EAAAA,SAAA,KAAAC,EAAAA,WANWlB,EAAAmB,MAARC,kBADTZ,EAAAA,mBAOM,MAAA,CALHa,IAAKD,EAAKlB,KACXO,MAAM,mBACLa,QAAKC,GAAEzB,EAAK,SAAWsB,EAAKlB,QAE7BW,EAAAA,mBAA6B,OAAA,KAAAW,EAAAA,gBAApBJ,EAAKjB,OAAK,qBAIzBU,EAAAA,mBAYM,MAZNY,EAYM,CAXJV,EAAA,KAAAA,EAAA,GAAAF,EAAAA,mBAAa,WAAR,MAAE,IACPA,EAAAA,mBASM,MATNa,EASM,kBARJlB,EAAAA,mBAOMS,EAAAA,SAAA,KAAAC,EAAAA,WANWd,EAAAe,MAARC,kBADTZ,EAAAA,mBAOM,MAAA,CALHa,IAAKD,EAAKlB,KACXO,MAAM,mBACLa,QAAKC,GAAEzB,EAAK,SAAWsB,EAAKlB,QAE7BW,EAAAA,mBAA6B,OAAA,KAAAW,EAAAA,gBAApBJ,EAAKjB,OAAK,qBAIzBU,EAAAA,mBAYM,MAZNc,EAYM,CAXJZ,EAAA,KAAAA,EAAA,GAAAF,EAAAA,mBAA0B,WAArB,mBAAe,IACpBA,EAAAA,mBASM,MATNe,EASM,kBARJpB,EAAAA,mBAOMS,EAAAA,SAAA,KAAAC,EAAAA,WANWb,EAAAc,MAARC,kBADTZ,EAAAA,mBAOM,MAAA,CALHa,IAAKD,EAAKlB,KACXO,MAAM,mBACLa,QAAKC,GAAEzB,EAAK,SAAWsB,EAAKlB,MAAI,KAEjCW,EAAAA,mBAA6B,OAAA,KAAAW,EAAAA,gBAApBJ,EAAKjB,OAAK"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),n=require("@qxs-bns/hooks"),i=require("lodash-es"),t=require("tinymce/tinymce");require("tinymce/themes/silver/theme"),require("tinymce/icons/default/icons"),require("tinymce/models/dom"),require("tinymce/plugins/autolink"),require("tinymce/plugins/autoresize"),require("tinymce/plugins/fullscreen"),require("tinymce/plugins/image"),require("tinymce/plugins/insertdatetime"),require("tinymce/plugins/link"),require("tinymce/plugins/lists"),require("tinymce/plugins/media"),require("tinymce/plugins/preview"),require("tinymce/plugins/table"),require("tinymce/plugins/wordcount"),require("tinymce/plugins/code"),require("tinymce/plugins/searchreplace"),require("tinymce/plugins/nonbreaking");const r=["id","name"];var l=e.defineComponent({name:"QxsTinyMceEditor",__name:"tiny-mce-editor",props:{modelValue:{type:String,required:!0,default:""},config:{type:Object,required:!1,default:()=>({})},assetsBasePath:{type:String,required:!1,default:""}},emits:["update:modelValue"],setup(l,{emit:a}){const u=a,o=n.useNamespace("tiny-mce-editor"),s=l.assetsBasePath||"node_modules/",c=e.shallowRef(null),m=e.ref(`tiny-mce-textarea-${Date.now()}-${Math.random().toString(36).substr(2,9)}`),d=e.computed({get:()=>l.modelValue,set(e){u("update:modelValue",e)}}),g={selector:`textarea#${m.value}`,promotion:!1,license_key:"gpl",elementpath:!1,language:"zh-Hans",language_url:`${s}tinymce/langs/zh-Hans.js`,skin_url:`${s}tinymce/skins/ui/oxide`,content_css:`${s}tinymce/skins/content/default/content.min.css`,min_height:300,max_height:700,plugins:"autolink autoresize fullscreen image insertdatetime link lists media preview table wordcount code searchreplace nonbreaking",toolbar:"undo redo | bold italic underline strikethrough | blocks | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | forecolor backcolor removeformat | link image media table insertdatetime searchreplace | preview code",branding:!1,autoresize:!0,menubar:!1,nonbreaking_force_tab:!0,toolbar_mode:"sliding",insertdatetime_formats:["%Y年%m月%d日","%H点%M分%S秒","%Y-%m-%d","%H:%M:%S"],setup:e=>{e.on("init",()=>{c.value=e,e.setContent(d.value)}),e.on("input change undo redo",()=>{d.value=e.getContent()}),l.config?.expandSetup?.(e)}},p=e.computed(()=>{const e=g;return l.config.images_upload_handler||("string"==typeof e.plugins?e.plugins=e.plugins.replace("image",""):Array.isArray(e.plugins)&&(e.plugins=e.plugins.filter(e=>"image"!==e))),i.merge(e,l.config)});return e.watch(()=>l.modelValue,e=>{try{c.value&&e!==c.value?.getContent()&&c.value.setContent(e)}catch(e){console.error("设置编辑器内容时出错:",e)}}),e.onMounted(async()=>{"undefined"!=typeof window&&t.init(p.value)}),e.onBeforeUnmount(()=>{c.value&&(c.value.destroy(),c.value=null)}),(n,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(o).e("tiny-mce"))},[e.createCommentVNode(" 使用动态生成的 id "),e.withDirectives(e.createElementVNode("textarea",{id:e.unref(m),"onUpdate:modelValue":i[0]||(i[0]=n=>e.isRef(d)?d.value=n:null),name:e.unref(m)},null,8,r),[[e.vModelText,e.unref(d)]])],2))}});exports.default=l;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),n=require("@qxs-bns/hooks"),t=require("lodash-es"),i=require("tinymce/tinymce");require("tinymce/themes/silver/theme"),require("tinymce/icons/default/icons"),require("tinymce/models/dom"),require("tinymce/plugins/autolink"),require("tinymce/plugins/autoresize"),require("tinymce/plugins/fullscreen"),require("tinymce/plugins/image"),require("tinymce/plugins/insertdatetime"),require("tinymce/plugins/link"),require("tinymce/plugins/lists"),require("tinymce/plugins/media"),require("tinymce/plugins/preview"),require("tinymce/plugins/table"),require("tinymce/plugins/wordcount"),require("tinymce/plugins/code"),require("tinymce/plugins/searchreplace"),require("tinymce/plugins/nonbreaking");const r=["id","name"];var a=e.defineComponent({name:"QxsTinyMceEditor",__name:"tiny-mce-editor",props:{modelValue:{type:String,required:!0,default:""},config:{type:Object,required:!1,default:()=>({})},assetsBasePath:{type:String,required:!1,default:""}},emits:["update:modelValue"],setup(a,{emit:l}){const u=l,o=n.useNamespace("tiny-mce-editor"),s=a.assetsBasePath||"node_modules/",c=e.shallowRef(null),m=e.ref(`tiny-mce-textarea-${Date.now()}-${Math.random().toString(36).substr(2,9)}`),d=e.computed({get:()=>a.modelValue,set(e){u("update:modelValue",e)}}),g={selector:`textarea#${m.value}`,promotion:!1,license_key:"gpl",elementpath:!1,language:"zh-Hans",language_url:`${s}tinymce/langs/zh-Hans.js`,skin_url:`${s}tinymce/skins/ui/oxide`,content_css:`${s}tinymce/skins/content/default/content.min.css`,min_height:300,max_height:700,plugins:"autolink autoresize fullscreen image insertdatetime link lists media preview table wordcount code searchreplace nonbreaking",toolbar:"undo redo | bold italic underline strikethrough | blocks | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | forecolor backcolor removeformat | link image media table insertdatetime searchreplace | preview code",branding:!1,autoresize:!0,menubar:!1,nonbreaking_force_tab:!0,toolbar_mode:"sliding",insertdatetime_formats:["%Y年%m月%d日","%H点%M分%S秒","%Y-%m-%d","%H:%M:%S"],setup:e=>{e.on("init",()=>{c.value=e,e.setContent(d.value)}),e.on("input change undo redo",()=>{d.value=e.getContent()}),a.config?.expandSetup?.(e)}},p=e.computed(()=>{const e=g;return a.config.images_upload_handler||("string"==typeof e.plugins?e.plugins=e.plugins.replace("image",""):Array.isArray(e.plugins)&&(e.plugins=e.plugins.filter(e=>"image"!==e))),t.merge(e,a.config)});return e.watch(()=>a.modelValue,e=>{try{c.value&&e!==c.value?.getContent()&&c.value.setContent(e)}catch(e){console.error("设置编辑器内容时出错:",e)}}),e.onMounted(async()=>{"undefined"!=typeof window&&i.init(p.value)}),e.onBeforeUnmount(()=>{c.value&&(c.value.destroy(),c.value=null)}),(n,t)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(o).e("tiny-mce"))},[e.createCommentVNode(" 使用动态生成的 id "),e.withDirectives(e.createElementVNode("textarea",{id:m.value,"onUpdate:modelValue":t[0]||(t[0]=e=>d.value=e),name:m.value},null,8,r),[[e.vModelText,d.value]])],2))}});exports.default=a;
2
2
  //# sourceMappingURL=tiny-mce-editor.vue.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tiny-mce-editor.vue.cjs","sources":["../../../../../../packages/components/src/tiny-mce-editor/src/tiny-mce-editor.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Editor, RawEditorOptions } from 'tinymce/tinymce'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { merge } from 'lodash-es'\nimport tinymce from 'tinymce/tinymce'\n\n// 导入核心功能\nimport 'tinymce/themes/silver/theme'\nimport 'tinymce/icons/default/icons'\nimport 'tinymce/models/dom'\n\nimport 'tinymce/plugins/autolink'\nimport 'tinymce/plugins/autoresize'\nimport 'tinymce/plugins/fullscreen'\nimport 'tinymce/plugins/image'\nimport 'tinymce/plugins/insertdatetime'\nimport 'tinymce/plugins/link'\nimport 'tinymce/plugins/lists'\nimport 'tinymce/plugins/media'\nimport 'tinymce/plugins/preview'\nimport 'tinymce/plugins/table'\nimport 'tinymce/plugins/wordcount'\nimport 'tinymce/plugins/code'\nimport 'tinymce/plugins/searchreplace'\nimport 'tinymce/plugins/nonbreaking'\n// 导入语言包\n\ndefineOptions({\n name: 'QxsTinyMceEditor',\n})\n\nconst {\n modelValue = '',\n config = {},\n assetsBasePath = '',\n} = defineProps<{\n modelValue: string\n config?: RawEditorOptions & {\n expandSetup?: RawEditorOptions['setup']\n }\n assetsBasePath?: string\n}>()\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst ns = useNamespace('tiny-mce-editor')\n\nconst colorScheme = 'light'\nconst basePath = assetsBasePath || 'node_modules/'\n// 存储编辑器实例的引用\nconst editorInstance = shallowRef<Editor | null>(null)\n// 生成唯一的 id\nconst uniqueId = ref(\n `tiny-mce-textarea-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\n)\n\nconst content = computed({\n get() {\n return modelValue\n },\n set(val) {\n emit('update:modelValue', val)\n },\n})\n\nconst defaultSetting: RawEditorOptions = {\n // 使用动态生成的 id\n selector: `textarea#${uniqueId.value}`,\n promotion: false, // 禁用推广信息\n license_key: 'gpl',\n elementpath: false,\n language: 'zh-Hans',\n language_url: `${basePath}tinymce/langs/zh-Hans.js`,\n skin_url: `${basePath}${\n colorScheme === 'light' ? 'tinymce/skins/ui/oxide' : 'tinymce/skins/ui/oxide-dark'\n }`,\n content_css: `${basePath}${\n colorScheme === 'light'\n ? 'tinymce/skins/content/default/content.min.css'\n : 'tinymce/skins/content/dark/content.min.css'\n }`,\n min_height: 300,\n max_height: 700,\n plugins:\n 'autolink autoresize fullscreen image insertdatetime link lists media preview table wordcount code searchreplace nonbreaking',\n toolbar:\n 'undo redo | bold italic underline strikethrough | blocks | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | forecolor backcolor removeformat | link image media table insertdatetime searchreplace | preview code',\n branding: false,\n autoresize: true,\n menubar: false,\n nonbreaking_force_tab: true,\n toolbar_mode: 'sliding',\n insertdatetime_formats: [\n '%Y年%m月%d日',\n '%H点%M分%S秒',\n '%Y-%m-%d',\n '%H:%M:%S',\n ],\n // https://www.tiny.cloud/docs/tinymce/6/file-image-upload/#images_upload_handler\n // images_upload_handler: async (blobInfo: any, progress: any) => {\n // // blobInfo, succFun, failFun, progress\n // const files = blobInfo.blob()\n // const formData = new FormData()\n // formData.append('image', files)\n\n // const { res, error } = await useApi({\n // // ...commonUrls.uploadImage,\n // params: {\n // bucketType: classify,\n // },\n // data: formData,\n // onUploadProgress: (e: any) => {\n // progress((e.loaded / e.total) * 100)\n // },\n // })\n // if (res) {\n // const { normal } = res\n // console.log('normal: ', res)\n // return normal\n // }\n // if (error) {\n // console.log(error.message)\n // return Promise.reject(error.message)\n // }\n // },\n setup: (editor: Editor) => {\n // 编辑器初始化完成后设置内容\n editor.on('init', () => {\n // 保存编辑器实例\n editorInstance.value = editor\n editor.setContent(content.value)\n })\n\n // 监听编辑器内容变化\n editor.on('input change undo redo', () => {\n content.value = editor.getContent()\n })\n\n config?.expandSetup?.(editor)\n },\n}\n\nconst initSetting = computed(() => {\n const dealDefaultSetting = defaultSetting\n if (!config.images_upload_handler) {\n // 删除 image 图片 plugin\n if (typeof dealDefaultSetting.plugins === 'string') {\n dealDefaultSetting.plugins = dealDefaultSetting.plugins.replace(\n 'image',\n '',\n )\n }\n else if (Array.isArray(dealDefaultSetting.plugins)) {\n dealDefaultSetting.plugins = dealDefaultSetting.plugins.filter(\n plugin => plugin !== 'image',\n )\n }\n }\n return merge(dealDefaultSetting, config)\n})\n\n// 监听 modelValue 的变化\nwatch(() => modelValue, (newVal) => {\n try {\n // 确保编辑器已初始化且内容确实发生变化\n if (editorInstance.value && newVal !== editorInstance.value?.getContent()) {\n editorInstance.value.setContent(newVal)\n }\n }\n catch (error) {\n console.error('设置编辑器内容时出错:', error)\n }\n})\n\nonMounted(async () => {\n if (typeof window !== 'undefined') {\n tinymce.init(initSetting.value)\n }\n})\n\n// 组件卸载时清理\nonBeforeUnmount(() => {\n if (editorInstance.value) {\n editorInstance.value.destroy()\n editorInstance.value = null\n }\n})\n</script>\n\n<template>\n <div :class=\"ns.e('tiny-mce')\">\n <!-- 使用动态生成的 id -->\n <textarea\n :id=\"uniqueId\"\n v-model=\"content\"\n :name=\"uniqueId\"\n />\n </div>\n</template>\n"],"names":["emit","__emit","ns","useNamespace","basePath","__props","assetsBasePath","editorInstance","shallowRef","uniqueId","ref","Date","now","Math","random","toString","substr","content","computed","get","modelValue","set","val","defaultSetting","selector","value","promotion","license_key","elementpath","language","language_url","skin_url","content_css","min_height","max_height","plugins","toolbar","branding","autoresize","menubar","nonbreaking_force_tab","toolbar_mode","insertdatetime_formats","setup","editor","on","setContent","getContent","config","expandSetup","initSetting","dealDefaultSetting","images_upload_handler","replace","Array","isArray","filter","plugin","merge","watch","newVal","error","console","onMounted","async","window","tinymce","init","onBeforeUnmount","destroy","_createElementBlock","class","_normalizeClass","_unref","e","_createCommentVNode","_createElementVNode","id","$event","name"],"mappings":"ujCA2CA,MAAMA,EAAOC,EAEPC,EAAKC,EAAAA,aAAa,mBAGlBC,EAAWC,EAAAC,gBAAkB,gBAE7BC,EAAiBC,EAAAA,WAA0B,MAE3CC,EAAWC,EAAAA,IACf,qBAAqBC,KAAKC,SAASC,KAAKC,SAASC,SAAS,IAAIC,OAAO,EAAG,MAGpEC,EAAUC,EAAAA,SAAS,CACvBC,IAAA,IACSd,EAAAe,WAET,GAAAC,CAAIC,GACFtB,EAAK,oBAAqBsB,EAC5B,IAGIC,EAAmC,CAEvCC,SAAU,YAAYf,EAASgB,QAC/BC,WAAW,EACXC,YAAa,MACbC,aAAa,EACbC,SAAU,UACVC,aAAc,GAAG1B,4BACjB2B,SAAU,GAAG3B,0BAGb4B,YAAa,GAAG5B,iDAKhB6B,WAAY,IACZC,WAAY,IACZC,QACE,8HACFC,QACE,oPACFC,UAAU,EACVC,YAAY,EACZC,SAAS,EACTC,uBAAuB,EACvBC,aAAc,UACdC,uBAAwB,CACtB,YACA,YACA,WACA,YA6BFC,MAAQC,IAENA,EAAOC,GAAG,OAAQ,KAEhBtC,EAAekB,MAAQmB,EACvBA,EAAOE,WAAW7B,EAAQQ,SAI5BmB,EAAOC,GAAG,yBAA0B,KAClC5B,EAAQQ,MAAQmB,EAAOG,eAGzB1C,EAAA2C,QAAQC,cAAcL,KAIpBM,EAAchC,EAAAA,SAAS,KAC3B,MAAMiC,EAAqB5B,EAe3B,OAdKlB,EAAA2C,OAAOI,wBAEgC,iBAA/BD,EAAmBhB,QAC5BgB,EAAmBhB,QAAUgB,EAAmBhB,QAAQkB,QACtD,QACA,IAGKC,MAAMC,QAAQJ,EAAmBhB,WACxCgB,EAAmBhB,QAAUgB,EAAmBhB,QAAQqB,UACjC,UAAXC,KAITC,QAAMP,EAAoB9C,EAAA2C,iBAInCW,EAAAA,MAAM,IAAMtD,EAAAe,WAAawC,IACvB,IAEMrD,EAAekB,OAASmC,IAAWrD,EAAekB,OAAOsB,cAC3DxC,EAAekB,MAAMqB,WAAWc,EAEpC,OACOC,GACLC,QAAQD,MAAM,cAAeA,EAC/B,IAGFE,EAAAA,UAAUC,UACc,oBAAXC,QACTC,EAAQC,KAAKjB,EAAYzB,SAK7B2C,EAAAA,gBAAgB,KACV7D,EAAekB,QACjBlB,EAAekB,MAAM4C,UACrB9D,EAAekB,MAAQ,8BAMzB6C,EAAAA,mBAOM,MAAA,CAPAC,MAAKC,EAAAA,eAAEC,EAAAA,MAAAvE,GAAGwE,EAAC,eACfC,EAAAA,mBAAA,iCACAC,EAAAA,mBAIE,WAAA,CAHCC,GAAIJ,EAAAA,MAAAhE,mDACIQ,EAAOQ,MAAAqD,EAAA,MACfC,KAAMN,EAAAA,MAAAhE,6BADEgE,EAAAA,MAAAxD"}
1
+ {"version":3,"file":"tiny-mce-editor.vue.cjs","sources":["../../../../../../packages/components/src/tiny-mce-editor/src/tiny-mce-editor.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Editor, RawEditorOptions } from 'tinymce/tinymce'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { merge } from 'lodash-es'\nimport tinymce from 'tinymce/tinymce'\nimport { computed, onBeforeUnmount, onMounted, ref, shallowRef, watch } from 'vue'\n\n// 导入核心功能\nimport 'tinymce/themes/silver/theme'\nimport 'tinymce/icons/default/icons'\nimport 'tinymce/models/dom'\n\nimport 'tinymce/plugins/autolink'\nimport 'tinymce/plugins/autoresize'\nimport 'tinymce/plugins/fullscreen'\nimport 'tinymce/plugins/image'\nimport 'tinymce/plugins/insertdatetime'\nimport 'tinymce/plugins/link'\nimport 'tinymce/plugins/lists'\nimport 'tinymce/plugins/media'\nimport 'tinymce/plugins/preview'\nimport 'tinymce/plugins/table'\nimport 'tinymce/plugins/wordcount'\nimport 'tinymce/plugins/code'\nimport 'tinymce/plugins/searchreplace'\nimport 'tinymce/plugins/nonbreaking'\n// 导入语言包\n\ndefineOptions({\n name: 'QxsTinyMceEditor',\n})\n\nconst {\n modelValue = '',\n config = {},\n assetsBasePath = '',\n} = defineProps<{\n modelValue: string\n config?: RawEditorOptions & {\n expandSetup?: RawEditorOptions['setup']\n }\n assetsBasePath?: string\n}>()\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst ns = useNamespace('tiny-mce-editor')\n\nconst colorScheme = 'light'\nconst basePath = assetsBasePath || 'node_modules/'\n// 存储编辑器实例的引用\nconst editorInstance = shallowRef<Editor | null>(null)\n// 生成唯一的 id\nconst uniqueId = ref(\n `tiny-mce-textarea-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\n)\n\nconst content = computed({\n get() {\n return modelValue\n },\n set(val) {\n emit('update:modelValue', val)\n },\n})\n\nconst defaultSetting: RawEditorOptions = {\n // 使用动态生成的 id\n selector: `textarea#${uniqueId.value}`,\n promotion: false, // 禁用推广信息\n license_key: 'gpl',\n elementpath: false,\n language: 'zh-Hans',\n language_url: `${basePath}tinymce/langs/zh-Hans.js`,\n skin_url: `${basePath}${\n colorScheme === 'light' ? 'tinymce/skins/ui/oxide' : 'tinymce/skins/ui/oxide-dark'\n }`,\n content_css: `${basePath}${\n colorScheme === 'light'\n ? 'tinymce/skins/content/default/content.min.css'\n : 'tinymce/skins/content/dark/content.min.css'\n }`,\n min_height: 300,\n max_height: 700,\n plugins:\n 'autolink autoresize fullscreen image insertdatetime link lists media preview table wordcount code searchreplace nonbreaking',\n toolbar:\n 'undo redo | bold italic underline strikethrough | blocks | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | forecolor backcolor removeformat | link image media table insertdatetime searchreplace | preview code',\n branding: false,\n autoresize: true,\n menubar: false,\n nonbreaking_force_tab: true,\n toolbar_mode: 'sliding',\n insertdatetime_formats: [\n '%Y年%m月%d日',\n '%H点%M分%S秒',\n '%Y-%m-%d',\n '%H:%M:%S',\n ],\n // https://www.tiny.cloud/docs/tinymce/6/file-image-upload/#images_upload_handler\n // images_upload_handler: async (blobInfo: any, progress: any) => {\n // // blobInfo, succFun, failFun, progress\n // const files = blobInfo.blob()\n // const formData = new FormData()\n // formData.append('image', files)\n\n // const { res, error } = await useApi({\n // // ...commonUrls.uploadImage,\n // params: {\n // bucketType: classify,\n // },\n // data: formData,\n // onUploadProgress: (e: any) => {\n // progress((e.loaded / e.total) * 100)\n // },\n // })\n // if (res) {\n // const { normal } = res\n // console.log('normal: ', res)\n // return normal\n // }\n // if (error) {\n // console.log(error.message)\n // return Promise.reject(error.message)\n // }\n // },\n setup: (editor: Editor) => {\n // 编辑器初始化完成后设置内容\n editor.on('init', () => {\n // 保存编辑器实例\n editorInstance.value = editor\n editor.setContent(content.value)\n })\n\n // 监听编辑器内容变化\n editor.on('input change undo redo', () => {\n content.value = editor.getContent()\n })\n\n config?.expandSetup?.(editor)\n },\n}\n\nconst initSetting = computed(() => {\n const dealDefaultSetting = defaultSetting\n if (!config.images_upload_handler) {\n // 删除 image 图片 plugin\n if (typeof dealDefaultSetting.plugins === 'string') {\n dealDefaultSetting.plugins = dealDefaultSetting.plugins.replace(\n 'image',\n '',\n )\n }\n else if (Array.isArray(dealDefaultSetting.plugins)) {\n dealDefaultSetting.plugins = dealDefaultSetting.plugins.filter(\n plugin => plugin !== 'image',\n )\n }\n }\n return merge(dealDefaultSetting, config)\n})\n\n// 监听 modelValue 的变化\nwatch(() => modelValue, (newVal) => {\n try {\n // 确保编辑器已初始化且内容确实发生变化\n if (editorInstance.value && newVal !== editorInstance.value?.getContent()) {\n editorInstance.value.setContent(newVal)\n }\n }\n catch (error) {\n console.error('设置编辑器内容时出错:', error)\n }\n})\n\nonMounted(async () => {\n if (typeof window !== 'undefined') {\n tinymce.init(initSetting.value)\n }\n})\n\n// 组件卸载时清理\nonBeforeUnmount(() => {\n if (editorInstance.value) {\n editorInstance.value.destroy()\n editorInstance.value = null\n }\n})\n</script>\n\n<template>\n <div :class=\"ns.e('tiny-mce')\">\n <!-- 使用动态生成的 id -->\n <textarea\n :id=\"uniqueId\"\n v-model=\"content\"\n :name=\"uniqueId\"\n />\n </div>\n</template>\n"],"names":["emit","__emit","ns","useNamespace","basePath","__props","assetsBasePath","editorInstance","shallowRef","uniqueId","ref","Date","now","Math","random","toString","substr","content","computed","get","modelValue","set","val","defaultSetting","selector","value","promotion","license_key","elementpath","language","language_url","skin_url","content_css","min_height","max_height","plugins","toolbar","branding","autoresize","menubar","nonbreaking_force_tab","toolbar_mode","insertdatetime_formats","setup","editor","on","setContent","getContent","config","expandSetup","initSetting","dealDefaultSetting","images_upload_handler","replace","Array","isArray","filter","plugin","merge","watch","newVal","error","console","onMounted","async","window","tinymce","init","onBeforeUnmount","destroy","_createElementBlock","class","_normalizeClass","_unref","e","_createCommentVNode","_createElementVNode","id","$event","name"],"mappings":"ujCA4CA,MAAMA,EAAOC,EAEPC,EAAKC,EAAAA,aAAa,mBAGlBC,EAAWC,EAAAC,gBAAkB,gBAE7BC,EAAiBC,EAAAA,WAA0B,MAE3CC,EAAWC,EAAAA,IACf,qBAAqBC,KAAKC,SAASC,KAAKC,SAASC,SAAS,IAAIC,OAAO,EAAG,MAGpEC,EAAUC,EAAAA,SAAS,CACvBC,IAAA,IACSd,EAAAe,WAET,GAAAC,CAAIC,GACFtB,EAAK,oBAAqBsB,EAC5B,IAGIC,EAAmC,CAEvCC,SAAU,YAAYf,EAASgB,QAC/BC,WAAW,EACXC,YAAa,MACbC,aAAa,EACbC,SAAU,UACVC,aAAc,GAAG1B,4BACjB2B,SAAU,GAAG3B,0BAGb4B,YAAa,GAAG5B,iDAKhB6B,WAAY,IACZC,WAAY,IACZC,QACE,8HACFC,QACE,oPACFC,UAAU,EACVC,YAAY,EACZC,SAAS,EACTC,uBAAuB,EACvBC,aAAc,UACdC,uBAAwB,CACtB,YACA,YACA,WACA,YA6BFC,MAAQC,IAENA,EAAOC,GAAG,OAAQ,KAEhBtC,EAAekB,MAAQmB,EACvBA,EAAOE,WAAW7B,EAAQQ,SAI5BmB,EAAOC,GAAG,yBAA0B,KAClC5B,EAAQQ,MAAQmB,EAAOG,eAGzB1C,EAAA2C,QAAQC,cAAcL,KAIpBM,EAAchC,EAAAA,SAAS,KAC3B,MAAMiC,EAAqB5B,EAe3B,OAdKlB,EAAA2C,OAAOI,wBAEgC,iBAA/BD,EAAmBhB,QAC5BgB,EAAmBhB,QAAUgB,EAAmBhB,QAAQkB,QACtD,QACA,IAGKC,MAAMC,QAAQJ,EAAmBhB,WACxCgB,EAAmBhB,QAAUgB,EAAmBhB,QAAQqB,UACjC,UAAXC,KAITC,QAAMP,EAAoB9C,EAAA2C,iBAInCW,EAAAA,MAAM,IAAMtD,EAAAe,WAAawC,IACvB,IAEMrD,EAAekB,OAASmC,IAAWrD,EAAekB,OAAOsB,cAC3DxC,EAAekB,MAAMqB,WAAWc,EAEpC,OACOC,GACLC,QAAQD,MAAM,cAAeA,EAC/B,IAGFE,EAAAA,UAAUC,UACc,oBAAXC,QACTC,EAAQC,KAAKjB,EAAYzB,SAK7B2C,EAAAA,gBAAgB,KACV7D,EAAekB,QACjBlB,EAAekB,MAAM4C,UACrB9D,EAAekB,MAAQ,8BAMzB6C,EAAAA,mBAOM,MAAA,CAPAC,MAAKC,EAAAA,eAAEC,EAAAA,MAAAvE,GAAGwE,EAAC,eACfC,EAAAA,mBAAA,iCACAC,EAAAA,mBAIE,WAAA,CAHCC,GAAIpE,EAAAgB,2CACIR,EAAOQ,MAAAqD,GACfC,KAAMtE,EAAAgB,gCADER,EAAAQ"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@qxs-bns/components",
3
3
  "type": "module",
4
- "version": "0.0.69",
4
+ "version": "0.0.70",
5
5
  "description": "Vue 3 Component Library",
6
6
  "license": "MIT",
7
7
  "homepage": "https://trry-hub.github.io/qxs-bns/",
@@ -45,7 +45,7 @@
45
45
  "@iconify/vue": "^5.0.0",
46
46
  "@qxs-bns/directives": "0.0.19",
47
47
  "@qxs-bns/hooks": "0.0.5",
48
- "@qxs-bns/icons": "0.0.8",
48
+ "@qxs-bns/icons": "0.0.9",
49
49
  "@qxs-bns/utils": "0.0.26",
50
50
  "@vueuse/core": "^11.3.0",
51
51
  "echarts": "^5.5.1",
@@ -59,20 +59,13 @@
59
59
  "require": "./lib/index.cjs",
60
60
  "types": "./types/index.d.ts"
61
61
  },
62
- "./es": {
63
- "import": "./es/index.mjs",
64
- "types": "./types/index.d.ts"
65
- },
66
- "./lib": {
67
- "require": "./lib/index.cjs",
68
- "types": "./types/index.d.ts"
62
+ "./es/*": {
63
+ "types": "./types/*.d.ts",
64
+ "import": "./es/*.mjs"
69
65
  },
70
- "./es/*": "./es/*",
71
- "./lib/*": "./lib/*",
72
- "./*": {
73
- "import": "./es/*.mjs",
74
- "require": "./lib/*.cjs",
75
- "types": "./types/*.d.ts"
66
+ "./lib/*": {
67
+ "types": "./types/*.d.ts",
68
+ "require": "./lib/*.cjs"
76
69
  },
77
70
  "./theme-chalk/*": "./theme-chalk/*"
78
71
  }
@@ -1 +1 @@
1
- :root [data-fixed-calc-width]{position:fixed;right:0;left:0%}:root [data-mode=mobile] [data-fixed-calc-width]{width:100% !important}:where([class*=qxs-]){font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}:where([class*=qxs-]) *,:where([class*=qxs-]) *::before,:where([class*=qxs-]) *::after{box-sizing:border-box}:where([class*=qxs-]) h1,:where([class*=qxs-]) h2,:where([class*=qxs-]) h3,:where([class*=qxs-]) h4,:where([class*=qxs-]) h5,:where([class*=qxs-]) h6{margin:0;font-size:inherit;font-weight:inherit}:where([class*=qxs-]) p,:where([class*=qxs-]) div,:where([class*=qxs-]) span{margin:0;padding:0}:where([class*=qxs-]) ul,:where([class*=qxs-]) ol,:where([class*=qxs-]) li{margin:0;padding:0;list-style:none}:where([class*=qxs-]) a{color:inherit;text-decoration:none;background-color:rgba(0,0,0,0)}:where([class*=qxs-]) button,:where([class*=qxs-]) input,:where([class*=qxs-]) optgroup,:where([class*=qxs-]) select,:where([class*=qxs-]) textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}:where([class*=qxs-]) button,:where([class*=qxs-]) input{overflow:visible}:where([class*=qxs-]) button,:where([class*=qxs-]) select{text-transform:none}:where([class*=qxs-]) input,:where([class*=qxs-]) textarea,:where([class*=qxs-]) select{border:none;outline:none;background:none}:where([class*=qxs-]) img{border-style:none;max-width:100%;height:auto}:where([class*=qxs-]) table{border-collapse:collapse;border-spacing:0}:where([class*=qxs-]) hr{box-sizing:content-box;height:0;overflow:visible}:where([class*=qxs-]) pre{font-family:monospace,monospace;font-size:1em}:where([class*=qxs-]) code,:where([class*=qxs-]) kbd,:where([class*=qxs-]) samp{font-family:monospace,monospace;font-size:1em}:where([class*=qxs-]) small{font-size:80%}:where([class*=qxs-]) sub,:where([class*=qxs-]) sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}:where([class*=qxs-]) sub{bottom:-0.25em}:where([class*=qxs-]) sup{top:-0.5em}.qxs-data-chart__table{box-sizing:border-box;display:flex;flex-direction:column}.qxs-data-chart__table .title{display:flex;align-items:center;justify-content:space-between;padding:0 5px;margin-top:2px;margin-bottom:7px;font-family:sans-serif;font-size:14px;font-weight:bolder;color:#464646}.qxs-data-chart__table>div[class*=-table]{position:relative;display:flex;flex:1;flex-direction:column;overflow:hidden;background-color:rgba(0,0,0,0);border-top-left-radius:4px;border-top-right-radius:4px}.qxs-data-chart__table>div[class*=-table] [class*=-table__body-wrapper] [class*=-table__cell]{border-right:0}.qxs-data-chart__table>div[class*=-table] [class*=-table__body-wrapper] [class$=table__empty-text]{line-height:unset}.qxs-data-chart__empty{display:flex;align-items:center;justify-content:center;height:100%}.qxs-data-chart__empty-content{display:flex;flex-direction:column;align-items:center;pointer-events:none;margin-top:-2px}.qxs-data-chart__empty-description{font-size:14px;color:#74767e;margin-left:1px}.qxs-data-chart__wrapper{height:100%}.qxs-fixed-action-bar__actionbar{bottom:0;z-index:10;padding:var(--qxs-fixed-action-bar-actionbar-padding);padding-bottom:calc(env(safe-area-inset-bottom) + var(--qxs-fixed-action-bar-actionbar-padding-bottom));text-align:center;background-color:var(--qxs-bg-color, #fff);box-shadow:0 0 1px 0 var(--qxs-border-color, #f3f3f2);transition:box-shadow .3s,var(--qxs-transition-box-shadow, #f3f3f2)}.qxs-fixed-action-bar__actionbar.is-shadow{box-shadow:0 0 1px 0 var(--qxs-border-color, #f3f3f2)}.qxs-photo-crop-tool__img-box{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden;background-color:#fafafa}.qxs-photo-crop-tool__error-message{color:red}.qxs-photo-crop-tool__image{max-width:100%;max-height:100%;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none;-o-object-fit:contain;object-fit:contain;-webkit-user-drag:none}.qxs-photo-crop-tool__crop-tool-box{position:absolute;width:calc(var(--qxs-photo-crop-tool-width)*1px);max-width:100%;height:calc(var(--qxs-photo-crop-tool-height)*1px);max-height:100%;aspect-ratio:var(--qxs-photo-crop-tool-aspect-ratio);overflow:hidden;cursor:move;border:1px dashed #fff;box-shadow:0 0 0 9999px rgba(0,0,0,.4)}.qxs-photo-crop-tool__crop-tool-box>div{position:absolute;z-index:3;width:30%;aspect-ratio:1/1;background-color:rgba(2,2,2,.01);border-radius:50%;transition:all .3s}.qxs-photo-crop-tool__crop-tool-box>div:after{content:"";position:absolute;width:10px;height:10px;top:50%;left:50%;transform:translate3d(-50%, -50%, 0);border-radius:50%;background-color:var(--qxs-color-primary, #3d61e3)}.qxs-photo-crop-tool__crop-tool-box>div:hover,.qxs-photo-crop-tool__crop-tool-box>div:active{background-color:rgba(2,2,2,.5)}.qxs-photo-crop-tool__top-left{top:0;left:0;cursor:nwse-resize;transform:translate3d(-50%, -50%, 0)}.qxs-photo-crop-tool__top-right{top:0;right:0;cursor:nesw-resize;transform:translate3d(50%, -50%, 0)}.qxs-photo-crop-tool__bottom-right{right:0;bottom:0;cursor:nwse-resize;transform:translate3d(50%, 50%, 0)}.qxs-photo-crop-tool__bottom-left{bottom:0;left:0;cursor:nesw-resize;transform:translate3d(-50%, 50%, 0)}.el-image-upload__container{line-height:initial}.el-image-upload__control>.el-upload-list--picture-card{color:#969696}.el-image-upload__control>.el-upload-list--picture-card .el-upload-list__item{width:var(--el-image-upload-width);height:var(--el-image-upload-height)}.el-image-upload__control>.el-upload-list--picture-card .el-upload-list__item [role=progressbar]{width:calc(min(var(--el-image-upload-width),var(--el-image-upload-height))/4*3) !important}.el-image-upload__control>.el-upload-list--picture-card .el-upload-list__item [role=progressbar] .el-progress-circle{width:calc(min(var(--el-image-upload-width),var(--el-image-upload-height))/4*3) !important;height:calc(min(var(--el-image-upload-width),var(--el-image-upload-height))/4*3) !important}.el-image-upload__control>.el-upload-list--picture-card .is-drag{width:var(--el-image-upload-width);height:var(--el-image-upload-height)}.el-image-upload__control>.el-upload-list--picture-card .is-drag .el-upload-dragger{border:unset;background-color:unset;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.el-image-upload__control>.el-upload-list--picture-card .is-drag .el-upload-dragger .image-slot{font-weight:400;font-size:16px}.el-image-upload__control>.el-upload-list--picture-card .is-drag .el-upload-dragger .image-slot :nth-child(1){margin-bottom:10px}.el-image-upload__more-than-limit .is-drag{display:none}.el-image-upload__container .el-upload__tip-text{font-size:14px;line-height:32px;color:#c8c8c8}.qxs-file-upload__control .is-drag{display:inline-block !important}.qxs-file-upload__control .is-drag [class$=-upload-dragger]{padding:0}.qxs-file-upload__control .is-drag [class$=-upload-dragger] [class$=-icon--upload]{margin-bottom:0;font-size:40px}.qxs-file-upload__control .is-drag [class$=-upload-dragger] [class$=-upload__text]{padding:0 6px;font-size:14px;line-height:1.5}.qxs-file-upload__control .is-drag.is-dragover{border-width:1px}.qxs-file-upload__control .is-drag .slot{width:160px;height:90px}.qxs-tiny-mce-editor__tiny-mce .tox-tinymce{border-width:1px;border-radius:var(--qxs-border-radius-base, 4px)}.qxs-tiny-mce-editor__tiny-mce .tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header{box-shadow:0 2px 2px -2px rgba(34,47,62,.1),0 4px 4px -4px rgba(34,47,62,.07)}.qxs-tiny-mce-editor__tiny-mce .tox-tinymce .tox-sidebar-wrap{overflow-y:auto}.qxs-tiny-mce-editor__tiny-mce .tox-tinymce .tox-sidebar-wrap .tox-edit-area::before{border-width:1px;border-radius:0}.qxs-tiny-mce-editor .tox-tinymce-aux{z-index:2500 !important}.qxs-subject-list__list-exam .flex{display:flex;align-items:center}.qxs-subject-list__list-exam .flex-items-center{display:flex;align-items:center}.qxs-subject-list__list-exam .flex-justify-between{display:flex;justify-content:space-between}.qxs-subject-list__list-exam .flex-justify-center{display:flex;justify-content:center}.qxs-subject-list__list-exam .flex-justify-end{display:flex;justify-content:flex-end}.qxs-subject-list__list-exam .margin-left-10{margin-left:10px}.qxs-subject-list__list-exam .label{min-width:50px}.qxs-subject-list__list-exam .flex-1{flex:1}.qxs-subject-list__list-exam .subject-list-wrapper{width:100%;margin-bottom:20px}.qxs-subject-list__list-exam .margin-bottom{margin-bottom:20px}.qxs-subject-list__list-exam .auto-line{flex:1;height:1px;margin:0 15px;background-color:#c8c8c8}.qxs-subject-list__list-exam .title{font-size:14px;font-weight:500}.qxs-subject-list__list-exam .rich-text img{max-width:100%}.qxs-subject-single__single-exam .preview-answer{display:flex;flex-direction:column;margin-bottom:10px}.qxs-subject-single__single-exam .flex{display:flex;align-items:center}.qxs-subject-single__single-exam .margin-bottom{margin-bottom:20px}.qxs-subject-single__single-exam .answer-list .answer-item{margin-top:15px}.qxs-subject-single__single-exam .answer-list .answer-item .input{width:300px}.qxs-subject-single__single-exam .answer-list .answer-item .input [class$=-input]{font-weight:bold}.qxs-subject-single__single-exam .answer-list .answer-item .correct{margin:0 10px}.qxs-subject-single__single-exam .answer-list .answer-item .correct:hover{color:#3d61e3;cursor:pointer}.qxs-subject-single__single-exam .answer-list .answer-item .is-correct{color:#67c23a}.qxs-subject-single__single-exam .answer-list .answer-item .icon{margin-left:10px;font-size:18px;color:#a3a3a3;cursor:pointer}.qxs-subject-single__single-exam .answer-list .answer-item .disabled{color:#c0c4cc;cursor:not-allowed}.qxs-subject-single__single-exam .preview .answer-radio{padding-left:10px}.qxs-subject-single__single-exam .preview .answer-radio .radio{margin-top:10px}.qxs-subject-blank-fill__blank-fill-exam .flex{display:flex;align-items:center}.qxs-subject-blank-fill__blank-fill-exam .label{min-width:50px;margin-right:10px}.qxs-subject-blank-fill__blank-fill-exam .margin-bottom{margin-bottom:20px}.qxs-subject-blank-fill__blank-fill-exam .answer-list .answer-item{width:100%;margin-top:15px}.qxs-subject-blank-fill__blank-fill-exam .answer-list .answer-item .answer-tags{flex:1;padding:5px 15px;border:1px solid #eee;border-radius:4px}.qxs-subject-blank-fill__blank-fill-exam .answer-list .answer-item .answer-tags [class$=-tag]{margin-right:10px}.qxs-subject-blank-fill__blank-fill-exam .preview .content{min-height:100px;padding-top:10px;background-color:#fff}.qxs-subject-text-fill__text-fill-exam .flex{display:flex;align-items:center}.qxs-subject-text-fill__text-fill-exam .label{min-width:50px;margin-right:10px}.qxs-subject-text-fill__text-fill-exam .margin-bottom{margin-bottom:20px}.qxs-subject-text-fill__text-fill-exam .answer-list .answer-item{width:100%;margin-top:15px}.qxs-subject-text-fill__text-fill-exam .answer-list .answer-item .answer-tags{flex:1;padding:5px 15px;border:1px solid #eee;border-radius:4px}.qxs-subject-text-fill__text-fill-exam .answer-list .answer-item .operation .icon{margin-left:10px;font-size:16px;color:#a3a3a3;cursor:pointer}.qxs-subject-text-fill__text-fill-exam .answer-list .answer-item .operation .disabled{color:#c0c4cc;cursor:not-allowed}.qxs-subject-text-fill__text-fill-exam .preview .content{min-height:100px;margin-top:10px}.qxs-subject-scale__scale-exam .flex{display:flex;align-items:center}.qxs-subject-scale__scale-exam .label{min-width:50px}.qxs-subject-scale__scale-exam .margin-bottom{margin-bottom:20px}.qxs-subject-scale__scale-exam .answer{margin:20px 0}.qxs-subject-scale__scale-exam .answer .answer-list{margin-left:40px}.qxs-subject-scale__scale-exam .answer .answer-list .answer-item{margin-bottom:20px}.qxs-subject-scale__scale-exam .answer .answer-list .answer-item .order{width:16px;margin-right:10px}.qxs-subject-scale__scale-exam .answer .answer-list .answer-item .icon{margin-left:10px;font-size:16px;color:#a3a3a3;cursor:pointer}.qxs-subject-scale__scale-exam .answer .answer-list .answer-item .disabled{color:#c0c4cc;cursor:not-allowed}.qxs-subject-scale__scale-exam .preview .answer-radio .radio-item .qxs-radio-wrapper{margin-inline-end:0}.qxs-subject-layout__layout-exam{padding:10px;font-size:12px;color:#5a5a5a}.qxs-subject-layout__layout-exam .edit{position:relative;padding:20px 10px;padding-bottom:10px;margin-top:20px;background-color:#f6f7fb}.qxs-subject-layout__layout-exam .edit .triangle-up{position:absolute;top:-20px;left:100px;width:0;height:0;border-right:20px solid rgba(0,0,0,0);border-bottom:20px solid #f6f7fb;border-left:20px solid rgba(0,0,0,0)}.qxs-subject-action__action-exam .action{padding:20px 0}.qxs-subject-action__action-exam .active{padding-right:10px;padding-left:10px;background-color:#f6f7fb}.qxs-subject-action__action-exam .btn-margin{margin-right:10px}.qxs-subject-action__action-exam .has-set{display:flex;align-items:center;font-size:12px;color:#bbb}.qxs-subject-action__action-exam .vertical-radio-group{display:flex;flex-direction:column;align-items:flex-start;margin-left:20px}.qxs-subject-action__action-exam .vertical-radio-group ::v-deep(.qxs-radio){display:block;margin-right:0}.qxs-subject-type__type-list .type-item{margin-bottom:20px}.qxs-subject-type__type-list .base-subject{display:flex;flex-wrap:wrap;align-items:center}.qxs-subject-type__type-list .base-subject .item{width:50px;height:22px;margin-top:10px;margin-right:10px;font-size:14px;color:#5a5a5a;text-align:center;cursor:pointer;background:#fafafa}.qxs-subject-type__type-list .base-subject .item:hover{color:#3d61e3;background:rgba(61,97,227,.12)}.qxs-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;line-height:1em;vertical-align:-2px;color:currentColor;fill:currentColor}.qxs-icon.qxs-icon svg{width:1em !important;height:1em !important;display:block}.qxs-icon.qxs-icon svg *{fill:currentColor !important}.qxs-icon.qxs-icon svg [fill=none]{fill:none !important}
1
+ :root [data-fixed-calc-width]{position:fixed;right:0;left:0%}:root [data-mode=mobile] [data-fixed-calc-width]{width:100% !important}:where([class*=qxs-]){font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}:where([class*=qxs-]) *,:where([class*=qxs-]) *::before,:where([class*=qxs-]) *::after{box-sizing:border-box}:where([class*=qxs-]) h1,:where([class*=qxs-]) h2,:where([class*=qxs-]) h3,:where([class*=qxs-]) h4,:where([class*=qxs-]) h5,:where([class*=qxs-]) h6{margin:0;font-size:inherit;font-weight:inherit}:where([class*=qxs-]) p,:where([class*=qxs-]) div,:where([class*=qxs-]) span{padding:0;margin:0}:where([class*=qxs-]) ul,:where([class*=qxs-]) ol,:where([class*=qxs-]) li{padding:0;margin:0;list-style:none}:where([class*=qxs-]) a{color:inherit;text-decoration:none;background-color:rgba(0,0,0,0)}:where([class*=qxs-]) button,:where([class*=qxs-]) input,:where([class*=qxs-]) optgroup,:where([class*=qxs-]) select,:where([class*=qxs-]) textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}:where([class*=qxs-]) button,:where([class*=qxs-]) input{overflow:visible}:where([class*=qxs-]) button,:where([class*=qxs-]) select{text-transform:none}:where([class*=qxs-]) input,:where([class*=qxs-]) textarea,:where([class*=qxs-]) select{background:none;border:none;outline:none}:where([class*=qxs-]) img{max-width:100%;height:auto;border-style:none}:where([class*=qxs-]) table{border-spacing:0;border-collapse:collapse}:where([class*=qxs-]) hr{box-sizing:content-box;height:0;overflow:visible}:where([class*=qxs-]) pre{font-family:monospace,monospace;font-size:1em}:where([class*=qxs-]) code,:where([class*=qxs-]) kbd,:where([class*=qxs-]) samp{font-family:monospace,monospace;font-size:1em}:where([class*=qxs-]) small{font-size:80%}:where([class*=qxs-]) sub,:where([class*=qxs-]) sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}:where([class*=qxs-]) sub{bottom:-0.25em}:where([class*=qxs-]) sup{top:-0.5em}.qxs-data-chart__table{box-sizing:border-box;display:flex;flex-direction:column}.qxs-data-chart__table .title{display:flex;align-items:center;justify-content:space-between;padding:0 5px;margin-top:2px;margin-bottom:7px;font-family:sans-serif;font-size:14px;font-weight:bolder;color:#464646}.qxs-data-chart__table>div[class*=-table]{position:relative;display:flex;flex:1;flex-direction:column;overflow:hidden;background-color:rgba(0,0,0,0);border-top-left-radius:4px;border-top-right-radius:4px}.qxs-data-chart__table>div[class*=-table] [class*=-table__body-wrapper] [class*=-table__cell]{border-right:0}.qxs-data-chart__table>div[class*=-table] [class*=-table__body-wrapper] [class$=table__empty-text]{line-height:unset}.qxs-data-chart__empty{display:flex;align-items:center;justify-content:center;height:100%}.qxs-data-chart__empty-content{display:flex;flex-direction:column;align-items:center;margin-top:-2px;pointer-events:none}.qxs-data-chart__empty-description{margin-left:1px;font-size:14px;color:#74767e}.qxs-data-chart__wrapper{height:100%}.qxs-fixed-action-bar__actionbar{bottom:0;z-index:10;padding:var(--qxs-fixed-action-bar-actionbar-padding);padding-bottom:calc(env(safe-area-inset-bottom) + var(--qxs-fixed-action-bar-actionbar-padding-bottom));text-align:center;background-color:var(--qxs-bg-color, #fff);box-shadow:0 0 1px 0 var(--qxs-border-color, #f3f3f2);transition:box-shadow .3s,var(--qxs-transition-box-shadow, #f3f3f2)}.qxs-fixed-action-bar__actionbar.is-shadow{box-shadow:0 0 1px 0 var(--qxs-border-color, #f3f3f2)}.qxs-photo-crop-tool__img-box{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden;background-color:#fafafa}.qxs-photo-crop-tool__error-message{color:red}.qxs-photo-crop-tool__image{max-width:100%;max-height:100%;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none;-o-object-fit:contain;object-fit:contain;-webkit-user-drag:none}.qxs-photo-crop-tool__crop-tool-box{position:absolute;width:calc(var(--qxs-photo-crop-tool-width)*1px);max-width:100%;height:calc(var(--qxs-photo-crop-tool-height)*1px);max-height:100%;aspect-ratio:var(--qxs-photo-crop-tool-aspect-ratio);overflow:hidden;cursor:move;border:1px dashed #fff;box-shadow:0 0 0 9999px rgba(0,0,0,.4)}.qxs-photo-crop-tool__crop-tool-box>div{position:absolute;z-index:3;width:30%;aspect-ratio:1/1;background-color:rgba(2,2,2,.01);border-radius:50%;transition:all .3s}.qxs-photo-crop-tool__crop-tool-box>div::after{position:absolute;top:50%;left:50%;width:10px;height:10px;content:"";background-color:var(--qxs-color-primary, #3d61e3);border-radius:50%;transform:translate3d(-50%, -50%, 0)}.qxs-photo-crop-tool__crop-tool-box>div:hover,.qxs-photo-crop-tool__crop-tool-box>div:active{background-color:rgba(2,2,2,.5)}.qxs-photo-crop-tool__top-left{top:0;left:0;cursor:nwse-resize;transform:translate3d(-50%, -50%, 0)}.qxs-photo-crop-tool__top-right{top:0;right:0;cursor:nesw-resize;transform:translate3d(50%, -50%, 0)}.qxs-photo-crop-tool__bottom-right{right:0;bottom:0;cursor:nwse-resize;transform:translate3d(50%, 50%, 0)}.qxs-photo-crop-tool__bottom-left{bottom:0;left:0;cursor:nesw-resize;transform:translate3d(-50%, 50%, 0)}.el-image-upload__container{line-height:initial}.el-image-upload__control>.el-upload-list--picture-card{color:#969696}.el-image-upload__control>.el-upload-list--picture-card .el-upload-list__item{width:var(--el-image-upload-width);height:var(--el-image-upload-height)}.el-image-upload__control>.el-upload-list--picture-card .el-upload-list__item [role=progressbar]{width:calc(min(var(--el-image-upload-width),var(--el-image-upload-height))/4*3) !important}.el-image-upload__control>.el-upload-list--picture-card .el-upload-list__item [role=progressbar] .el-progress-circle{width:calc(min(var(--el-image-upload-width),var(--el-image-upload-height))/4*3) !important;height:calc(min(var(--el-image-upload-width),var(--el-image-upload-height))/4*3) !important}.el-image-upload__control>.el-upload-list--picture-card .is-drag{width:var(--el-image-upload-width);height:var(--el-image-upload-height)}.el-image-upload__control>.el-upload-list--picture-card .is-drag .el-upload-dragger{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:unset;border:unset}.el-image-upload__control>.el-upload-list--picture-card .is-drag .el-upload-dragger .image-slot{font-size:16px;font-weight:400}.el-image-upload__control>.el-upload-list--picture-card .is-drag .el-upload-dragger .image-slot :nth-child(1){margin-bottom:10px}.el-image-upload__more-than-limit .is-drag{display:none}.el-image-upload__container .el-upload__tip-text{font-size:14px;line-height:32px;color:#c8c8c8}.qxs-file-upload__control .is-drag{display:inline-block !important}.qxs-file-upload__control .is-drag [class$=-upload-dragger]{padding:0}.qxs-file-upload__control .is-drag [class$=-upload-dragger] [class$=-icon--upload]{margin-bottom:0;font-size:40px}.qxs-file-upload__control .is-drag [class$=-upload-dragger] [class$=-upload__text]{padding:0 6px;font-size:14px;line-height:1.5}.qxs-file-upload__control .is-drag.is-dragover{border-width:1px}.qxs-file-upload__control .is-drag .slot{width:160px;height:90px}.qxs-tiny-mce-editor__tiny-mce .tox-tinymce{border-width:1px;border-radius:var(--qxs-border-radius-base, 4px)}.qxs-tiny-mce-editor__tiny-mce .tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header{box-shadow:0 2px 2px -2px rgba(34,47,62,.1),0 4px 4px -4px rgba(34,47,62,.07)}.qxs-tiny-mce-editor__tiny-mce .tox-tinymce .tox-sidebar-wrap{overflow-y:auto}.qxs-tiny-mce-editor__tiny-mce .tox-tinymce .tox-sidebar-wrap .tox-edit-area::before{border-width:1px;border-radius:0}.qxs-tiny-mce-editor .tox-tinymce-aux{z-index:2500 !important}.qxs-subject-list__list-exam .flex{display:flex;align-items:center}.qxs-subject-list__list-exam .flex-items-center{display:flex;align-items:center}.qxs-subject-list__list-exam .flex-justify-between{display:flex;justify-content:space-between}.qxs-subject-list__list-exam .flex-justify-center{display:flex;justify-content:center}.qxs-subject-list__list-exam .flex-justify-end{display:flex;justify-content:flex-end}.qxs-subject-list__list-exam .margin-left-10{margin-left:10px}.qxs-subject-list__list-exam .label{min-width:50px}.qxs-subject-list__list-exam .flex-1{flex:1}.qxs-subject-list__list-exam .subject-list-wrapper{width:100%;margin-bottom:20px}.qxs-subject-list__list-exam .margin-bottom{margin-bottom:20px}.qxs-subject-list__list-exam .auto-line{flex:1;height:1px;margin:0 15px;background-color:#c8c8c8}.qxs-subject-list__list-exam .title{font-size:14px;font-weight:500}.qxs-subject-list__list-exam .rich-text img{max-width:100%}.qxs-subject-single__single-exam .preview-answer{display:flex;flex-direction:column;margin-bottom:10px}.qxs-subject-single__single-exam .flex{display:flex;align-items:center}.qxs-subject-single__single-exam .margin-bottom{margin-bottom:20px}.qxs-subject-single__single-exam .answer-list .answer-item{margin-top:15px}.qxs-subject-single__single-exam .answer-list .answer-item .input{width:300px}.qxs-subject-single__single-exam .answer-list .answer-item .input [class$=-input]{font-weight:bold}.qxs-subject-single__single-exam .answer-list .answer-item .correct{margin:0 10px}.qxs-subject-single__single-exam .answer-list .answer-item .correct:hover{color:#3d61e3;cursor:pointer}.qxs-subject-single__single-exam .answer-list .answer-item .is-correct{color:#67c23a}.qxs-subject-single__single-exam .answer-list .answer-item .icon{margin-left:10px;font-size:18px;color:#a3a3a3;cursor:pointer}.qxs-subject-single__single-exam .answer-list .answer-item .disabled{color:#c0c4cc;cursor:not-allowed}.qxs-subject-single__single-exam .preview .answer-radio{padding-left:10px}.qxs-subject-single__single-exam .preview .answer-radio .radio{margin-top:10px}.qxs-subject-blank-fill__blank-fill-exam .flex{display:flex;align-items:center}.qxs-subject-blank-fill__blank-fill-exam .label{min-width:50px;margin-right:10px}.qxs-subject-blank-fill__blank-fill-exam .margin-bottom{margin-bottom:20px}.qxs-subject-blank-fill__blank-fill-exam .answer-list .answer-item{width:100%;margin-top:15px}.qxs-subject-blank-fill__blank-fill-exam .answer-list .answer-item .answer-tags{flex:1;padding:5px 15px;border:1px solid #eee;border-radius:4px}.qxs-subject-blank-fill__blank-fill-exam .answer-list .answer-item .answer-tags [class$=-tag]{margin-right:10px}.qxs-subject-blank-fill__blank-fill-exam .preview .content{min-height:100px;padding-top:10px;background-color:#fff}.qxs-subject-text-fill__text-fill-exam .flex{display:flex;align-items:center}.qxs-subject-text-fill__text-fill-exam .label{min-width:50px;margin-right:10px}.qxs-subject-text-fill__text-fill-exam .margin-bottom{margin-bottom:20px}.qxs-subject-text-fill__text-fill-exam .answer-list .answer-item{width:100%;margin-top:15px}.qxs-subject-text-fill__text-fill-exam .answer-list .answer-item .answer-tags{flex:1;padding:5px 15px;border:1px solid #eee;border-radius:4px}.qxs-subject-text-fill__text-fill-exam .answer-list .answer-item .operation .icon{margin-left:10px;font-size:16px;color:#a3a3a3;cursor:pointer}.qxs-subject-text-fill__text-fill-exam .answer-list .answer-item .operation .disabled{color:#c0c4cc;cursor:not-allowed}.qxs-subject-text-fill__text-fill-exam .preview .content{min-height:100px;margin-top:10px}.qxs-subject-scale__scale-exam .flex{display:flex;align-items:center}.qxs-subject-scale__scale-exam .label{min-width:50px}.qxs-subject-scale__scale-exam .margin-bottom{margin-bottom:20px}.qxs-subject-scale__scale-exam .answer{margin:20px 0}.qxs-subject-scale__scale-exam .answer .answer-list{margin-left:40px}.qxs-subject-scale__scale-exam .answer .answer-list .answer-item{margin-bottom:20px}.qxs-subject-scale__scale-exam .answer .answer-list .answer-item .order{width:16px;margin-right:10px}.qxs-subject-scale__scale-exam .answer .answer-list .answer-item .icon{margin-left:10px;font-size:16px;color:#a3a3a3;cursor:pointer}.qxs-subject-scale__scale-exam .answer .answer-list .answer-item .disabled{color:#c0c4cc;cursor:not-allowed}.qxs-subject-scale__scale-exam .preview .answer-radio .radio-item .qxs-radio-wrapper{margin-inline-end:0}.qxs-subject-layout__layout-exam{padding:10px;font-size:12px;color:#5a5a5a}.qxs-subject-layout__layout-exam .edit{position:relative;padding:20px 10px;padding-bottom:10px;margin-top:20px;background-color:#f6f7fb}.qxs-subject-layout__layout-exam .edit .triangle-up{position:absolute;top:-20px;left:100px;width:0;height:0;border-right:20px solid rgba(0,0,0,0);border-bottom:20px solid #f6f7fb;border-left:20px solid rgba(0,0,0,0)}.qxs-subject-action__action-exam .action{padding:20px 0}.qxs-subject-action__action-exam .active{padding-right:10px;padding-left:10px;background-color:#f6f7fb}.qxs-subject-action__action-exam .btn-margin{margin-right:10px}.qxs-subject-action__action-exam .has-set{display:flex;align-items:center;font-size:12px;color:#bbb}.qxs-subject-action__action-exam .vertical-radio-group{display:flex;flex-direction:column;align-items:flex-start;margin-left:20px}.qxs-subject-action__action-exam .vertical-radio-group :deep(.qxs-radio){display:block;margin-right:0}.qxs-subject-type__type-list .type-item{margin-bottom:20px}.qxs-subject-type__type-list .base-subject{display:flex;flex-wrap:wrap;align-items:center}.qxs-subject-type__type-list .base-subject .item{width:50px;height:22px;margin-top:10px;margin-right:10px;font-size:14px;color:#5a5a5a;text-align:center;cursor:pointer;background:#fafafa}.qxs-subject-type__type-list .base-subject .item:hover{color:#3d61e3;background:rgba(61,97,227,.12)}.qxs-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;line-height:1em;color:currentcolor;vertical-align:-2px;fill:currentcolor}.qxs-icon.qxs-icon svg{display:block;width:1em !important;height:1em !important}.qxs-icon.qxs-icon svg *{fill:currentcolor !important}.qxs-icon.qxs-icon svg [fill=none]{fill:none !important}
@@ -12,4 +12,4 @@
12
12
  @use "./src/subject-layout";
13
13
  @use "./src/subject-action";
14
14
  @use "./src/subject-type";
15
- @use './src/icon';
15
+ @use "./src/icon";
@@ -1,4 +1,4 @@
1
- @use '../mixins/config' as *;
1
+ @use "../mixins/config" as *;
2
2
  // TODO:这里可以重置 element-plus 样式
3
3
  $ns: $namespace !default;
4
4
  $cs: "cs-in" !default; // 自定义样式对应不同的类型前缀
@@ -1 +1 @@
1
- .qxs-data-chart__empty{display:flex;align-items:center;justify-content:center;height:100%}.qxs-data-chart__empty-content{display:flex;flex-direction:column;align-items:center;pointer-events:none;margin-top:-2px}.qxs-data-chart__empty-description{font-size:14px;color:#74767e;margin-left:1px}
1
+ .qxs-data-chart__empty{display:flex;align-items:center;justify-content:center;height:100%}.qxs-data-chart__empty-content{display:flex;flex-direction:column;align-items:center;margin-top:-2px;pointer-events:none}.qxs-data-chart__empty-description{margin-left:1px;font-size:14px;color:#74767e}
@@ -11,14 +11,14 @@
11
11
  display: flex;
12
12
  flex-direction: column;
13
13
  align-items: center;
14
- pointer-events: none;
15
14
  margin-top: -2px;
15
+ pointer-events: none;
16
16
  }
17
17
 
18
18
  &-description {
19
- font-size: 14px;
20
- color: #74767E;
21
19
  margin-left: 1px;
20
+ font-size: 14px;
21
+ color: #74767e;
22
22
  }
23
23
  }
24
24
  }
@@ -1 +1 @@
1
- .qxs-data-chart__table{box-sizing:border-box;display:flex;flex-direction:column}.qxs-data-chart__table .title{display:flex;align-items:center;justify-content:space-between;padding:0 5px;margin-top:2px;margin-bottom:7px;font-family:sans-serif;font-size:14px;font-weight:bolder;color:#464646}.qxs-data-chart__table>div[class*=-table]{position:relative;display:flex;flex:1;flex-direction:column;overflow:hidden;background-color:rgba(0,0,0,0);border-top-left-radius:4px;border-top-right-radius:4px}.qxs-data-chart__table>div[class*=-table] [class*=-table__body-wrapper] [class*=-table__cell]{border-right:0}.qxs-data-chart__table>div[class*=-table] [class*=-table__body-wrapper] [class$=table__empty-text]{line-height:unset}.qxs-data-chart__empty{display:flex;align-items:center;justify-content:center;height:100%}.qxs-data-chart__empty-content{display:flex;flex-direction:column;align-items:center;pointer-events:none;margin-top:-2px}.qxs-data-chart__empty-description{font-size:14px;color:#74767e;margin-left:1px}.qxs-data-chart__wrapper{height:100%}
1
+ .qxs-data-chart__table{box-sizing:border-box;display:flex;flex-direction:column}.qxs-data-chart__table .title{display:flex;align-items:center;justify-content:space-between;padding:0 5px;margin-top:2px;margin-bottom:7px;font-family:sans-serif;font-size:14px;font-weight:bolder;color:#464646}.qxs-data-chart__table>div[class*=-table]{position:relative;display:flex;flex:1;flex-direction:column;overflow:hidden;background-color:rgba(0,0,0,0);border-top-left-radius:4px;border-top-right-radius:4px}.qxs-data-chart__table>div[class*=-table] [class*=-table__body-wrapper] [class*=-table__cell]{border-right:0}.qxs-data-chart__table>div[class*=-table] [class*=-table__body-wrapper] [class$=table__empty-text]{line-height:unset}.qxs-data-chart__empty{display:flex;align-items:center;justify-content:center;height:100%}.qxs-data-chart__empty-content{display:flex;flex-direction:column;align-items:center;margin-top:-2px;pointer-events:none}.qxs-data-chart__empty-description{margin-left:1px;font-size:14px;color:#74767e}.qxs-data-chart__wrapper{height:100%}
@@ -1 +1 @@
1
- .qxs-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;line-height:1em;vertical-align:-2px;color:currentColor;fill:currentColor}.qxs-icon.qxs-icon svg{width:1em !important;height:1em !important;display:block}.qxs-icon.qxs-icon svg *{fill:currentColor !important}.qxs-icon.qxs-icon svg [fill=none]{fill:none !important}
1
+ .qxs-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;line-height:1em;color:currentcolor;vertical-align:-2px;fill:currentcolor}.qxs-icon.qxs-icon svg{display:block;width:1em !important;height:1em !important}.qxs-icon.qxs-icon svg *{fill:currentcolor !important}.qxs-icon.qxs-icon svg [fill=none]{fill:none !important}
@@ -8,22 +8,22 @@
8
8
  width: 1em;
9
9
  height: 1em;
10
10
  line-height: 1em;
11
+ color: currentcolor;
11
12
  vertical-align: -2px;
12
- color: currentColor;
13
- fill: currentColor;
13
+ fill: currentcolor;
14
14
 
15
15
  // 直接应用到图标元素上的样式
16
16
  &.qxs-icon svg {
17
+ display: block;
17
18
  width: 1em !important;
18
19
  height: 1em !important;
19
- display: block;
20
20
  }
21
21
 
22
22
  &.qxs-icon svg * {
23
- fill: currentColor !important;
23
+ fill: currentcolor !important;
24
24
  }
25
25
 
26
26
  &.qxs-icon svg [fill="none"] {
27
27
  fill: none !important;
28
28
  }
29
- }
29
+ }
@@ -1 +1 @@
1
- .el-image-upload__container{line-height:initial}.el-image-upload__control>.el-upload-list--picture-card{color:#969696}.el-image-upload__control>.el-upload-list--picture-card .el-upload-list__item{width:var(--el-image-upload-width);height:var(--el-image-upload-height)}.el-image-upload__control>.el-upload-list--picture-card .el-upload-list__item [role=progressbar]{width:calc(min(var(--el-image-upload-width),var(--el-image-upload-height))/4*3) !important}.el-image-upload__control>.el-upload-list--picture-card .el-upload-list__item [role=progressbar] .el-progress-circle{width:calc(min(var(--el-image-upload-width),var(--el-image-upload-height))/4*3) !important;height:calc(min(var(--el-image-upload-width),var(--el-image-upload-height))/4*3) !important}.el-image-upload__control>.el-upload-list--picture-card .is-drag{width:var(--el-image-upload-width);height:var(--el-image-upload-height)}.el-image-upload__control>.el-upload-list--picture-card .is-drag .el-upload-dragger{border:unset;background-color:unset;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.el-image-upload__control>.el-upload-list--picture-card .is-drag .el-upload-dragger .image-slot{font-weight:400;font-size:16px}.el-image-upload__control>.el-upload-list--picture-card .is-drag .el-upload-dragger .image-slot :nth-child(1){margin-bottom:10px}.el-image-upload__more-than-limit .is-drag{display:none}.el-image-upload__container .el-upload__tip-text{font-size:14px;line-height:32px;color:#c8c8c8}
1
+ .el-image-upload__container{line-height:initial}.el-image-upload__control>.el-upload-list--picture-card{color:#969696}.el-image-upload__control>.el-upload-list--picture-card .el-upload-list__item{width:var(--el-image-upload-width);height:var(--el-image-upload-height)}.el-image-upload__control>.el-upload-list--picture-card .el-upload-list__item [role=progressbar]{width:calc(min(var(--el-image-upload-width),var(--el-image-upload-height))/4*3) !important}.el-image-upload__control>.el-upload-list--picture-card .el-upload-list__item [role=progressbar] .el-progress-circle{width:calc(min(var(--el-image-upload-width),var(--el-image-upload-height))/4*3) !important;height:calc(min(var(--el-image-upload-width),var(--el-image-upload-height))/4*3) !important}.el-image-upload__control>.el-upload-list--picture-card .is-drag{width:var(--el-image-upload-width);height:var(--el-image-upload-height)}.el-image-upload__control>.el-upload-list--picture-card .is-drag .el-upload-dragger{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:unset;border:unset}.el-image-upload__control>.el-upload-list--picture-card .is-drag .el-upload-dragger .image-slot{font-size:16px;font-weight:400}.el-image-upload__control>.el-upload-list--picture-card .is-drag .el-upload-dragger .image-slot :nth-child(1){margin-bottom:10px}.el-image-upload__more-than-limit .is-drag{display:none}.el-image-upload__container .el-upload__tip-text{font-size:14px;line-height:32px;color:#c8c8c8}
@@ -1,44 +1,46 @@
1
- @use 'element-plus/theme-chalk/src/mixins/mixins' as *;
2
- @use 'element-plus/theme-chalk/src/mixins/var' as *;
3
- @use 'element-plus/theme-chalk/src/common/var' as *;
1
+ @use "element-plus/theme-chalk/src/mixins/mixins" as *;
2
+ @use "element-plus/theme-chalk/src/mixins/var" as *;
3
+ @use "element-plus/theme-chalk/src/common/var" as *;
4
4
 
5
5
  @include b(image-upload) {
6
-
7
6
  @include e(container) {
8
7
  line-height: initial;
9
8
 
10
9
  @include e(control) {
11
10
  >.#{$namespace}-upload-list--picture-card {
12
11
  color: #969696;
13
-
12
+
14
13
  .#{$namespace}-upload-list__item {
15
- width: getCssVar('image-upload', 'width');
16
- height: getCssVar('image-upload', 'height');
14
+ width: getCssVar("image-upload", "width");
15
+ height: getCssVar("image-upload", "height");
16
+
17
17
  [role="progressbar"] {
18
- width: calc(min(getCssVar('image-upload', 'width'), getCssVar('image-upload', 'height')) / 4 * 3)!important;
18
+ width: calc(min(getCssVar("image-upload", "width"), getCssVar("image-upload", "height")) / 4 * 3) !important;
19
19
 
20
20
  .#{$namespace}-progress-circle {
21
- width: calc(min(getCssVar('image-upload', 'width'), getCssVar('image-upload', 'height')) / 4 * 3)!important;
22
- height: calc(min(getCssVar('image-upload', 'width'), getCssVar('image-upload', 'height')) / 4 * 3)!important;
21
+ width: calc(min(getCssVar("image-upload", "width"), getCssVar("image-upload", "height")) / 4 * 3) !important;
22
+ height: calc(min(getCssVar("image-upload", "width"), getCssVar("image-upload", "height")) / 4 * 3) !important;
23
23
  }
24
24
  }
25
25
  }
26
26
 
27
27
  .is-drag {
28
- width: getCssVar('image-upload', 'width');
29
- height: getCssVar('image-upload', 'height');
28
+ width: getCssVar("image-upload", "width");
29
+ height: getCssVar("image-upload", "height");
30
30
 
31
31
  .#{$namespace}-upload-dragger {
32
- border: unset;
33
- background-color: unset;
34
- width: 100%;
35
- height: 100%;
36
32
  display: flex;
37
- justify-content: center;
38
33
  align-items: center;
34
+ justify-content: center;
35
+ width: 100%;
36
+ height: 100%;
37
+ background-color: unset;
38
+ border: unset;
39
+
39
40
  .image-slot {
40
- font-weight: 400;
41
41
  font-size: 16px;
42
+ font-weight: 400;
43
+
42
44
  :nth-child(1) {
43
45
  margin-bottom: 10px;
44
46
  }
@@ -47,6 +49,7 @@
47
49
  }
48
50
  }
49
51
  }
52
+
50
53
  @include e(more-than-limit) {
51
54
  .is-drag {
52
55
  display: none;
@@ -3,12 +3,10 @@ $common-separator: "-" !default;
3
3
  $element-separator: "__" !default;
4
4
  $modifier-separator: "--" !default;
5
5
  $state-prefix: "is-" !default;
6
-
7
-
8
6
  $text-color-main: #333;
9
7
  $font-size-small: 12px;
10
8
  $color-danger: #f56c6c;
11
9
  $text-color-regular: #606266;
12
10
  $color-success: #30c691;
13
11
  $text-color-primary: #3d61e3;
14
- $color-primary: #3d61e3;
12
+ $color-primary: #3d61e3;
@@ -8,7 +8,6 @@
8
8
  $B: null;
9
9
  $E: null;
10
10
 
11
-
12
11
  // BEM
13
12
  @mixin b($block) {
14
13
  $B: $namespace + $common-separator + $block !global;
@@ -100,4 +99,4 @@ $E: null;
100
99
  @content;
101
100
  }
102
101
  }
103
- }
102
+ }
@@ -1 +1 @@
1
- :where([class*=qxs-]){font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}:where([class*=qxs-]) *,:where([class*=qxs-]) *::before,:where([class*=qxs-]) *::after{box-sizing:border-box}:where([class*=qxs-]) h1,:where([class*=qxs-]) h2,:where([class*=qxs-]) h3,:where([class*=qxs-]) h4,:where([class*=qxs-]) h5,:where([class*=qxs-]) h6{margin:0;font-size:inherit;font-weight:inherit}:where([class*=qxs-]) p,:where([class*=qxs-]) div,:where([class*=qxs-]) span{margin:0;padding:0}:where([class*=qxs-]) ul,:where([class*=qxs-]) ol,:where([class*=qxs-]) li{margin:0;padding:0;list-style:none}:where([class*=qxs-]) a{color:inherit;text-decoration:none;background-color:rgba(0,0,0,0)}:where([class*=qxs-]) button,:where([class*=qxs-]) input,:where([class*=qxs-]) optgroup,:where([class*=qxs-]) select,:where([class*=qxs-]) textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}:where([class*=qxs-]) button,:where([class*=qxs-]) input{overflow:visible}:where([class*=qxs-]) button,:where([class*=qxs-]) select{text-transform:none}:where([class*=qxs-]) input,:where([class*=qxs-]) textarea,:where([class*=qxs-]) select{border:none;outline:none;background:none}:where([class*=qxs-]) img{border-style:none;max-width:100%;height:auto}:where([class*=qxs-]) table{border-collapse:collapse;border-spacing:0}:where([class*=qxs-]) hr{box-sizing:content-box;height:0;overflow:visible}:where([class*=qxs-]) pre{font-family:monospace,monospace;font-size:1em}:where([class*=qxs-]) code,:where([class*=qxs-]) kbd,:where([class*=qxs-]) samp{font-family:monospace,monospace;font-size:1em}:where([class*=qxs-]) small{font-size:80%}:where([class*=qxs-]) sub,:where([class*=qxs-]) sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}:where([class*=qxs-]) sub{bottom:-0.25em}:where([class*=qxs-]) sup{top:-0.5em}
1
+ :where([class*=qxs-]){font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}:where([class*=qxs-]) *,:where([class*=qxs-]) *::before,:where([class*=qxs-]) *::after{box-sizing:border-box}:where([class*=qxs-]) h1,:where([class*=qxs-]) h2,:where([class*=qxs-]) h3,:where([class*=qxs-]) h4,:where([class*=qxs-]) h5,:where([class*=qxs-]) h6{margin:0;font-size:inherit;font-weight:inherit}:where([class*=qxs-]) p,:where([class*=qxs-]) div,:where([class*=qxs-]) span{padding:0;margin:0}:where([class*=qxs-]) ul,:where([class*=qxs-]) ol,:where([class*=qxs-]) li{padding:0;margin:0;list-style:none}:where([class*=qxs-]) a{color:inherit;text-decoration:none;background-color:rgba(0,0,0,0)}:where([class*=qxs-]) button,:where([class*=qxs-]) input,:where([class*=qxs-]) optgroup,:where([class*=qxs-]) select,:where([class*=qxs-]) textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}:where([class*=qxs-]) button,:where([class*=qxs-]) input{overflow:visible}:where([class*=qxs-]) button,:where([class*=qxs-]) select{text-transform:none}:where([class*=qxs-]) input,:where([class*=qxs-]) textarea,:where([class*=qxs-]) select{background:none;border:none;outline:none}:where([class*=qxs-]) img{max-width:100%;height:auto;border-style:none}:where([class*=qxs-]) table{border-spacing:0;border-collapse:collapse}:where([class*=qxs-]) hr{box-sizing:content-box;height:0;overflow:visible}:where([class*=qxs-]) pre{font-family:monospace,monospace;font-size:1em}:where([class*=qxs-]) code,:where([class*=qxs-]) kbd,:where([class*=qxs-]) samp{font-family:monospace,monospace;font-size:1em}:where([class*=qxs-]) small{font-size:80%}:where([class*=qxs-]) sub,:where([class*=qxs-]) sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}:where([class*=qxs-]) sub{bottom:-0.25em}:where([class*=qxs-]) sup{top:-0.5em}