@qxs-bns/components 0.0.31 → 0.0.33

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 (181) hide show
  1. package/es/package.json.mjs +1 -1
  2. package/es/src/data-chart/src/components/bar.vue.mjs +1 -1
  3. package/es/src/data-chart/src/components/bar.vue.mjs.map +1 -1
  4. package/es/src/data-chart/src/components/line.vue2.mjs +1 -1
  5. package/es/src/data-chart/src/components/line.vue2.mjs.map +1 -1
  6. package/es/src/data-chart/src/components/pie.vue.mjs +1 -1
  7. package/es/src/data-chart/src/components/pie.vue.mjs.map +1 -1
  8. package/es/src/file-upload/src/file-upload.vue.mjs.map +1 -1
  9. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.mjs +1 -1
  10. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.mjs.map +1 -1
  11. package/es/src/subject-list/index.mjs.map +1 -1
  12. package/es/src/subject-list/src/components/subject-single.vue.mjs +1 -1
  13. package/es/src/subject-list/src/components/subject-single.vue.mjs.map +1 -1
  14. package/lib/package.json.cjs +1 -1
  15. package/lib/src/data-chart/src/components/bar.vue.cjs +1 -1
  16. package/lib/src/data-chart/src/components/bar.vue.cjs.map +1 -1
  17. package/lib/src/data-chart/src/components/line.vue2.cjs +1 -1
  18. package/lib/src/data-chart/src/components/line.vue2.cjs.map +1 -1
  19. package/lib/src/data-chart/src/components/pie.vue.cjs +1 -1
  20. package/lib/src/data-chart/src/components/pie.vue.cjs.map +1 -1
  21. package/lib/src/file-upload/src/file-upload.vue.cjs.map +1 -1
  22. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.cjs +1 -1
  23. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.cjs.map +1 -1
  24. package/lib/src/subject-list/index.cjs.map +1 -1
  25. package/lib/src/subject-list/src/components/subject-single.vue.cjs +1 -1
  26. package/lib/src/subject-list/src/components/subject-single.vue.cjs.map +1 -1
  27. package/package.json +1 -1
  28. package/theme-chalk/base.css +1 -1
  29. package/theme-chalk/index.css +1 -1
  30. package/types/index.d.ts +6 -1
  31. package/types/index.d.ts.map +1 -0
  32. package/types/src/base/style/css.d.ts +2 -0
  33. package/types/src/base/style/css.d.ts.map +1 -0
  34. package/types/src/base/style/index.d.ts +2 -0
  35. package/types/src/base/style/index.d.ts.map +1 -0
  36. package/types/src/components.d.ts +11 -1
  37. package/types/src/components.d.ts.map +1 -0
  38. package/types/src/data-chart/index.d.ts +20 -1
  39. package/types/src/data-chart/index.d.ts.map +1 -0
  40. package/types/src/data-chart/src/analyze.d.ts +23 -0
  41. package/types/src/data-chart/src/analyze.d.ts.map +1 -0
  42. package/types/src/data-chart/src/components/area.vue.d.ts +8 -1
  43. package/types/src/data-chart/src/components/area.vue.d.ts.map +1 -0
  44. package/types/src/data-chart/src/components/bar.vue.d.ts +9 -1
  45. package/types/src/data-chart/src/components/bar.vue.d.ts.map +1 -0
  46. package/types/src/data-chart/src/components/card.vue.d.ts +27 -1
  47. package/types/src/data-chart/src/components/card.vue.d.ts.map +1 -0
  48. package/types/src/data-chart/src/components/empty.vue.d.ts +11 -1
  49. package/types/src/data-chart/src/components/empty.vue.d.ts.map +1 -0
  50. package/types/src/data-chart/src/components/funnel.vue.d.ts +8 -1
  51. package/types/src/data-chart/src/components/funnel.vue.d.ts.map +1 -0
  52. package/types/src/data-chart/src/components/line.vue.d.ts +9 -1
  53. package/types/src/data-chart/src/components/line.vue.d.ts.map +1 -0
  54. package/types/src/data-chart/src/components/pie.vue.d.ts +9 -1
  55. package/types/src/data-chart/src/components/pie.vue.d.ts.map +1 -0
  56. package/types/src/data-chart/src/components/radar.vue.d.ts +8 -1
  57. package/types/src/data-chart/src/components/radar.vue.d.ts.map +1 -0
  58. package/types/src/data-chart/src/components/scatter-simple.vue.d.ts +8 -1
  59. package/types/src/data-chart/src/components/scatter-simple.vue.d.ts.map +1 -0
  60. package/types/src/data-chart/src/components/scatter.vue.d.ts +8 -1
  61. package/types/src/data-chart/src/components/scatter.vue.d.ts.map +1 -0
  62. package/types/src/data-chart/src/components/table.vue.d.ts +27 -1
  63. package/types/src/data-chart/src/components/table.vue.d.ts.map +1 -0
  64. package/types/src/data-chart/src/data-chart.vue.d.ts +16 -1
  65. package/types/src/data-chart/src/data-chart.vue.d.ts.map +1 -0
  66. package/types/src/data-chart/src/utils/config.d.ts +41 -1
  67. package/types/src/data-chart/src/utils/config.d.ts.map +1 -0
  68. package/types/src/data-chart/src/utils/injectionKeys.d.ts +3 -1
  69. package/types/src/data-chart/src/utils/injectionKeys.d.ts.map +1 -0
  70. package/types/src/data-chart/src/utils/useCharts.d.ts +16 -1
  71. package/types/src/data-chart/src/utils/useCharts.d.ts.map +1 -0
  72. package/types/src/data-chart/style/index.d.ts +3 -0
  73. package/types/src/data-chart/style/index.d.ts.map +1 -0
  74. package/types/src/defaults.d.ts +6 -1
  75. package/types/src/defaults.d.ts.map +1 -0
  76. package/types/src/file-upload/index.d.ts +30 -1
  77. package/types/src/file-upload/index.d.ts.map +1 -0
  78. package/types/src/file-upload/src/file-upload.vue.d.ts +20 -1
  79. package/types/src/file-upload/src/file-upload.vue.d.ts.map +1 -0
  80. package/types/src/file-upload/style/index.d.ts +3 -0
  81. package/types/src/file-upload/style/index.d.ts.map +1 -0
  82. package/types/src/fixed-action-bar/index.d.ts +56 -1
  83. package/types/src/fixed-action-bar/index.d.ts.map +1 -0
  84. package/types/src/fixed-action-bar/src/fixed-action-bar.vue.d.ts +31 -1
  85. package/types/src/fixed-action-bar/src/fixed-action-bar.vue.d.ts.map +1 -0
  86. package/types/src/fixed-action-bar/style/index.d.ts +3 -0
  87. package/types/src/fixed-action-bar/style/index.d.ts.map +1 -0
  88. package/types/src/image-upload/index.d.ts +47 -1
  89. package/types/src/image-upload/index.d.ts.map +1 -0
  90. package/types/src/image-upload/src/image-upload.vue.d.ts +34 -1
  91. package/types/src/image-upload/src/image-upload.vue.d.ts.map +1 -0
  92. package/types/src/image-upload/style/index.d.ts +3 -0
  93. package/types/src/image-upload/style/index.d.ts.map +1 -0
  94. package/types/src/make-installer.d.ts +9 -1
  95. package/types/src/make-installer.d.ts.map +1 -0
  96. package/types/src/photo-crop-tool/index.d.ts +55 -1
  97. package/types/src/photo-crop-tool/index.d.ts.map +1 -0
  98. package/types/src/photo-crop-tool/src/composables.d.ts +7 -1
  99. package/types/src/photo-crop-tool/src/composables.d.ts.map +1 -0
  100. package/types/src/photo-crop-tool/src/photo-crop-tool.vue.d.ts +65 -1
  101. package/types/src/photo-crop-tool/src/photo-crop-tool.vue.d.ts.map +1 -0
  102. package/types/src/photo-crop-tool/style/index.d.ts +3 -0
  103. package/types/src/photo-crop-tool/style/index.d.ts.map +1 -0
  104. package/types/src/subject-action/index.d.ts +88 -1
  105. package/types/src/subject-action/index.d.ts.map +1 -0
  106. package/types/src/subject-action/src/subject-action.vue.d.ts +87 -1
  107. package/types/src/subject-action/src/subject-action.vue.d.ts.map +1 -0
  108. package/types/src/subject-action/style/index.d.ts +3 -0
  109. package/types/src/subject-action/style/index.d.ts.map +1 -0
  110. package/types/src/subject-layout/index.d.ts +28 -1
  111. package/types/src/subject-layout/index.d.ts.map +1 -0
  112. package/types/src/subject-layout/src/subject-layout.vue.d.ts +42 -1
  113. package/types/src/subject-layout/src/subject-layout.vue.d.ts.map +1 -0
  114. package/types/src/subject-layout/style/index.d.ts +3 -0
  115. package/types/src/subject-layout/style/index.d.ts.map +1 -0
  116. package/types/src/subject-list/index.d.ts +20 -1
  117. package/types/src/subject-list/index.d.ts.map +1 -0
  118. package/types/src/subject-list/src/components/SubjectPageEnd.vue.d.ts +24 -1
  119. package/types/src/subject-list/src/components/SubjectPageEnd.vue.d.ts.map +1 -0
  120. package/types/src/subject-list/src/components/SubjectRichText.vue.d.ts +25 -1
  121. package/types/src/subject-list/src/components/SubjectRichText.vue.d.ts.map +1 -0
  122. package/types/src/subject-list/src/components/subject-blank-fill.vue.d.ts +32 -1
  123. package/types/src/subject-list/src/components/subject-blank-fill.vue.d.ts.map +1 -0
  124. package/types/src/subject-list/src/components/subject-scale.vue.d.ts +29 -1
  125. package/types/src/subject-list/src/components/subject-scale.vue.d.ts.map +1 -0
  126. package/types/src/subject-list/src/components/subject-single.vue.d.ts +37 -1
  127. package/types/src/subject-list/src/components/subject-single.vue.d.ts.map +1 -0
  128. package/types/src/subject-list/src/components/subject-text-fill.vue.d.ts +34 -1
  129. package/types/src/subject-list/src/components/subject-text-fill.vue.d.ts.map +1 -0
  130. package/types/src/subject-list/src/subject-list.vue.d.ts +21 -1
  131. package/types/src/subject-list/src/subject-list.vue.d.ts.map +1 -0
  132. package/types/src/subject-list/style/index.d.ts +3 -0
  133. package/types/src/subject-list/style/index.d.ts.map +1 -0
  134. package/types/src/subject-type/index.d.ts +8 -1
  135. package/types/src/subject-type/index.d.ts.map +1 -0
  136. package/types/src/subject-type/src/subject-type.vue.d.ts +7 -1
  137. package/types/src/subject-type/src/subject-type.vue.d.ts.map +1 -0
  138. package/types/src/subject-type/style/index.d.ts +3 -0
  139. package/types/src/subject-type/style/index.d.ts.map +1 -0
  140. package/types/src/tiny-mce-editor/index.d.ts +20 -1
  141. package/types/src/tiny-mce-editor/index.d.ts.map +1 -0
  142. package/types/src/tiny-mce-editor/src/tiny-mce-editor.vue.d.ts +32 -1
  143. package/types/src/tiny-mce-editor/src/tiny-mce-editor.vue.d.ts.map +1 -0
  144. package/types/src/tiny-mce-editor/style/index.d.ts +3 -0
  145. package/types/src/tiny-mce-editor/style/index.d.ts.map +1 -0
  146. package/types/src/withInstall.d.ts +4 -1
  147. package/types/src/withInstall.d.ts.map +1 -0
  148. package/types/_virtual/_plugin-vue_export-helper.d.ts +0 -1
  149. package/types/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.d.ts +0 -1
  150. package/types/package.json.d.ts +0 -1
  151. package/types/src/data-chart/src/components/area.vue.d2.ts +0 -1
  152. package/types/src/data-chart/src/components/area.vue.d3.ts +0 -1
  153. package/types/src/data-chart/src/components/bar.vue.d2.ts +0 -1
  154. package/types/src/data-chart/src/components/card.vue.d2.ts +0 -1
  155. package/types/src/data-chart/src/components/card.vue.d3.ts +0 -1
  156. package/types/src/data-chart/src/components/empty.svg.d.ts +0 -1
  157. package/types/src/data-chart/src/components/empty.vue.d2.ts +0 -1
  158. package/types/src/data-chart/src/components/funnel.vue.d2.ts +0 -1
  159. package/types/src/data-chart/src/components/line.vue.d2.ts +0 -1
  160. package/types/src/data-chart/src/components/line.vue.d3.ts +0 -1
  161. package/types/src/data-chart/src/components/pie.vue.d2.ts +0 -1
  162. package/types/src/data-chart/src/components/radar.vue.d2.ts +0 -1
  163. package/types/src/data-chart/src/components/scatter-simple.vue.d2.ts +0 -1
  164. package/types/src/data-chart/src/components/scatter.vue.d2.ts +0 -1
  165. package/types/src/data-chart/src/components/table.vue.d2.ts +0 -1
  166. package/types/src/data-chart/src/data-chart.vue.d2.ts +0 -1
  167. package/types/src/file-upload/src/file-upload.vue.d2.ts +0 -1
  168. package/types/src/fixed-action-bar/src/fixed-action-bar.vue.d2.ts +0 -1
  169. package/types/src/image-upload/src/image-upload.vue.d2.ts +0 -1
  170. package/types/src/photo-crop-tool/src/photo-crop-tool.vue.d2.ts +0 -1
  171. package/types/src/subject-action/src/subject-action.vue.d2.ts +0 -1
  172. package/types/src/subject-layout/src/subject-layout.vue.d2.ts +0 -1
  173. package/types/src/subject-list/src/components/SubjectPageEnd.vue.d2.ts +0 -1
  174. package/types/src/subject-list/src/components/SubjectRichText.vue.d2.ts +0 -1
  175. package/types/src/subject-list/src/components/subject-blank-fill.vue.d2.ts +0 -1
  176. package/types/src/subject-list/src/components/subject-scale.vue.d2.ts +0 -1
  177. package/types/src/subject-list/src/components/subject-single.vue.d2.ts +0 -1
  178. package/types/src/subject-list/src/components/subject-text-fill.vue.d2.ts +0 -1
  179. package/types/src/subject-list/src/subject-list.vue.d2.ts +0 -1
  180. package/types/src/subject-type/src/subject-type.vue.d2.ts +0 -1
  181. package/types/src/tiny-mce-editor/src/tiny-mce-editor.vue.d2.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"subject-single.vue.cjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/subject-single.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { CirclePlus, Remove } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\nimport SubjectLayout from '../../../subject-layout/src/subject-layout.vue'\nimport TinyMceEditor from '../../../tiny-mce-editor/src/tiny-mce-editor.vue'\nimport { setGuid } from '@qxs-bns/utils'\nimport { ElMessage } from 'element-plus'\n\ndefineOptions({\n name: 'QxsSubjectSingle',\n})\nconst props = defineProps<{\n orderIndex: number\n title?: string\n isSave: boolean\n showAction?: boolean\n type: 'single' | 'multiple' | 'sort'\n isEdit: boolean\n isSet: boolean\n answerList?: any\n leastAnswerCount?: number\n analysis?: string\n examExpand?: string\n examRichTextContent?: string\n showAnalysis?: boolean\n examAnswerRelationType?: number\n customId?: number\n examId?: number\n isKey: boolean\n answerCheckType: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add', 'setRelation'])\n\nconst attrs = useAttrs()\n\nconst answersIndex = ref(0)\nconst isKey = ref(false)\nconst answerCheckType = ref(1)\nconst examAnswerRelationType = ref(1)\nconst answers = ref<{\n title: string\n isCorrect: boolean\n orderIndex?: number\n resultItem?: string\n customAnswerId?: string\n answerRelations?: {\n relationExamId: number\n relationAnswers: {\n relationAnswerId: number\n relationAnswerIndex: number\n }[]\n }[]\n}[]>([{\n title: '',\n isCorrect: false,\n}, {\n title: '',\n isCorrect: false,\n}, {\n title: '',\n isCorrect: false,\n}, {\n title: '',\n isCorrect: false,\n}])\n\nconst leastAnswerCount = ref()\nconst title = ref('')\nconst analysis = ref('')\nconst showRichText = ref(false)\nconst richText = ref('')\nconst startTime = ref(0)\nconst showRichContent = ref(false)\nconst resultItem = ref<string>('')\nconst titlePlaceholder = computed(() => {\n if (props.type === 'single') {\n return '单选题'\n }\n else if (props.type === 'multiple') {\n return '多选题'\n }\n else {\n return '排序题'\n }\n})\n\nconst orderList = ref<string[]>([])\n\nconst leastAnswerOptions = computed(() => {\n const items = []\n const length = answers.value.length\n for (let count = length; count > 1; count--) {\n items.push({\n label: `至少选择${count}项`,\n value: count,\n })\n }\n return items.reverse()\n})\nfunction addAnswer() {\n if (props.isSave) {\n return\n }\n answers.value.push({\n title: '',\n isCorrect: false,\n customAnswerId: setGuid()\n })\n}\n\nfunction deleteAnswer(index: number) {\n if (answers.value.length < 3 || props.isSave) {\n return\n }\n answers.value.splice(index, 1)\n}\n\nfunction setCorrect(it: any, event: any) {\n if (props.type === 'single') {\n // 单选题:确保只有一个支持选项\n if (event) {\n answers.value.forEach((answer: any) => {\n if (answer !== it) {\n answer.isCorrect = false\n }\n })\n }\n it.isCorrect = event\n } else if (props.type === 'multiple') {\n // 多选题:可以有多个支持选项\n it.isCorrect = event\n }\n}\nfunction setRelation(item: any) {\n item.customAnswerId = item.examAnswerId || setGuid()\n emits('setRelation', props.customId, item)\n}\n\nfunction deleteRichText() {\n showRichText.value = false\n richText.value = ''\n}\n\nfunction save() {\n if (!title.value) {\n ElMessage.error('题目标题不能为空!')\n return\n }\n let msg = ''\n let isSetCorrectAnswer = false\n // let examAnswerRelationType = null\n let correctAnswerCount = 0\n if (props.type === 'multiple' || props.type === 'single') {\n answers.value.forEach((v: any, i: number) => {\n if (!v.title) {\n msg += `选项${String.fromCharCode(65 + i)}未填写。`\n }\n if (v.isCorrect) {\n isSetCorrectAnswer = true\n correctAnswerCount++\n }\n // if (v.resultItem) {\n // examAnswerRelationType = 1\n // }\n // if (v.answerRelations?.length) {\n // examAnswerRelationType = 2\n // }\n })\n }\n else if (props.type === 'sort') {\n // 如果设置了支持选项\n if (orderList.value.length) {\n isSetCorrectAnswer = true\n }\n }\n if (msg) {\n ElMessage.error(msg)\n return\n }\n\n const uniqueAnswer = new Set(answers.value.map((item: any) => item.title))\n\n if (uniqueAnswer.size !== answers.value.length) {\n ElMessage.error('选项不能重复')\n return\n }\n\n if (props.type === 'multiple') {\n if (correctAnswerCount === 1) {\n ElMessage.error('请至少设置两个支持选项')\n return\n }\n\n if (isSetCorrectAnswer && correctAnswerCount < leastAnswerCount.value) {\n ElMessage.error('至少选几项与支持选项数不符')\n return\n }\n }\n console.log(answerCheckType.value, 111)\n \n\n if(answerCheckType.value === 2 || answerCheckType.value === 3) {\n // 必须有设置支持选项\n if (!isSetCorrectAnswer) {\n ElMessage.error('请设置支持选项')\n return\n }\n }\n\n emits('save', {\n title: title.value,\n answers: answers.value.map((item: any, index: number) => {\n return { ...item, orderIndex: index + 1 }\n }),\n examExpand: orderList.value.map((i: string) => i.charCodeAt(0) - 65 + 1).join(','),\n analysis: analysis.value,\n isSetCorrectAnswer,\n leastAnswerCount: leastAnswerCount.value,\n examRichTextContent: showRichText.value ? richText.value : '',\n examAnswerRelationType: examAnswerRelationType.value,\n isKey: isKey.value,\n answerCheckType: answerCheckType.value\n })\n}\n\nfunction init() {\n if (props.title) {\n title.value = props.title\n }\n // const customId = props.id || setGuid()\n\n if (props.answerCheckType) {\n answerCheckType.value = props.answerCheckType\n }\n if (props.isKey) {\n isKey.value = props.isKey\n }\n\n if (props.examAnswerRelationType) {\n examAnswerRelationType.value = props.examAnswerRelationType\n }\n\n if (props.answerList && props.answerList.length) {\n answers.value = props.answerList\n }\n\n if (props.leastAnswerCount) {\n leastAnswerCount.value = props.leastAnswerCount\n }\n\n if (props.examExpand) {\n // 设置支持选项 props.examExpand里是答案id\n if (props.examExpand) {\n const correctAnswerIdList = props.examExpand.split(',')\n\n // 遍历 correctAnswerIdList,直接在 props.answerList 中查找对应的 orderIndex 并转换成字母\n orderList.value = correctAnswerIdList.map((id: string) => {\n const answer = props.answerList.find((item: any) => item.answerId?.toString() === id)\n return answer ? String.fromCharCode(65 + answer.orderIndex - 1) : id\n }).filter(Boolean) // 过滤掉任何可能的空字符串\n }\n }\n\n if (props.analysis) {\n analysis.value = props.analysis\n }\n\n if (props.examRichTextContent) {\n richText.value = props.examRichTextContent\n showRichText.value = true\n }\n}\nfunction onOpenResult(i: number) {\n answersIndex.value = i\n resultItem.value = answers.value[i].resultItem || ''\n showRichContent.value = true\n}\n\nfunction onSaveResult() {\n answers.value[answersIndex.value].resultItem = resultItem.value || ''\n showRichContent.value = false\n}\nfunction onCloseResult() {\n showRichContent.value = false\n resultItem.value = ''\n}\nfunction setKey(key: boolean) {\n isKey.value = key\n}\nfunction setAnswerSetting(type: number) {\n answerCheckType.value = type\n}\n\nfunction add(type: string, canSet: boolean) {\n emits('add', type, canSet? props.examAnswerRelationType: null)\n}\n// 监听isEdit\nwatch(() => props.isEdit, () => {\n if (props.isEdit) {\n startTime.value = new Date().getTime()\n }\n})\n\nconst relationLength = computed(() => {\n return (v: any) => {\n let count = 0\n v.forEach((item: any) => {\n if (item.relationAnswers) {\n count += item.relationAnswers.length\n }\n })\n return count\n }\n})\n\nconst ns = useNamespace('subject-single')\n\nonMounted(init)\n</script>\n\n<template>\n <div :class=\"ns.e('single-exam')\">\n <SubjectLayout\n :show-edit=\"isEdit\"\n >\n <template #preview>\n <div class=\"preview\">\n <div>\n <span class=\"title\">\n {{ orderIndex + 1 }}.{{ title }}\n <span v-if=\"type === 'single'\">(单选题)</span>\n <span v-else-if=\"['multiple', 'sort'].includes(type)\">\n ({{ titlePlaceholder }}{{ leastAnswerCount ? `至少选${leastAnswerCount}项${type === 'sort' ? '并排序' : ''}` : '' }})\n </span>\n </span>\n </div>\n <div v-if=\"showRichText\">\n <div v-html=\"richText\" />\n </div>\n <div class=\"preview-answer\">\n <template v-if=\"type === 'sort'\">\n <el-checkbox\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"radio\"\n :disabled=\"true\"\n >\n <span class=\"order\">\n {{ String.fromCharCode(65 + index) }}.\n </span>\n {{ item.title }}\n </el-checkbox>\n </template>\n <template v-else>\n <el-radio\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"radio\"\n value=\"disabled\"\n disabled\n >\n <span class=\"order\">\n {{ String.fromCharCode(65 + index) }}.\n </span>\n {{ item.title }} \n {{ item.isCorrect ? '(支持选项)' : '' }} \n {{ examAnswerRelationType === 1 ? (item.resultItem? '(已设置结果项)' : '(未设置结果项)' ) : ''}} \n {{ examAnswerRelationType === 2 ? (item.answerRelations?.length? '(已设置关联)' : '(未设置关联)') : '' }}\n </el-radio>\n </template>\n </div>\n </div>\n </template>\n <template v-if=\"isEdit\" #edit>\n <div class=\"flex\" :class=\"[{ 'margin-bottom': showRichText }]\">\n <div class=\"label flex flex-justify-center\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-input\n v-model=\"title\"\n type=\"textarea\"\n :rows=\"2\"\n :placeholder=\"`【${titlePlaceholder}】请输入问题`\"\n :disabled=\"isSave\"\n show-word-limit\n maxlength=\"200\"\n class=\"margin-bottom\"\n />\n </div>\n </div>\n <div class=\"margin-bottom flex flex-items-center\">\n <div class=\"label flex flex-justify-center\">\n <span>设置:</span>\n </div>\n <el-select\n v-if=\"['multiple', 'sort'].includes(type)\"\n v-model=\"leastAnswerCount\"\n style=\"width: 150px;\"\n placeholder=\"至少选择几项\"\n :disabled=\"isSave\"\n >\n <el-option\n v-for=\"item in leastAnswerOptions\"\n :key=\"item.value\"\n :value=\"item.value\"\n :label=\"item.label\"\n >\n </el-option>\n </el-select>\n </div>\n <div class=\"margin-bottom answer-list\">\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"answer-item flex flex-items-center\"\n >\n <span class=\"order\">{{ String.fromCharCode(65 + index) }}.</span>\n <el-input\n v-model=\"item.title\"\n class=\"input\"\n show-word-limit\n maxlength=\"100\"\n :placeholder=\"`选项${String.fromCharCode(65 + index)}`\"\n :disabled=\"isSave\"\n />\n <el-checkbox\n v-if=\"['single', 'multiple'].includes(type)\"\n v-model=\"item.isCorrect\"\n :class=\"[{ 'is-correct': item.isCorrect }]\"\n :disabled=\"isSave\"\n style=\"margin-left: 10px;\"\n @change=\"(event: any) => setCorrect(item, event)\"\n >\n 支持选项 \n </el-checkbox>\n <el-icon class=\"icon\">\n <CirclePlus\n :class=\"[{ disabled: isSave }]\"\n @click=\"addAnswer\"\n />\n </el-icon>\n <el-icon class=\"icon\">\n <Remove\n :class=\"[{ disabled: answers.length < 3 || isSave }]\"\n @click=\"deleteAnswer(index)\"\n />\n </el-icon>\n <el-link\n v-if=\"examAnswerRelationType === 1\"\n type=\"primary\"\n class=\"margin-left-10\"\n @click=\"onOpenResult(index)\"\n >\n <span>{{ item.resultItem ? '编辑结果' : '添加结果' }}</span>\n </el-link>\n <el-link\n v-if=\"examAnswerRelationType === 2\"\n type=\"primary\"\n class=\"margin-left-10\"\n @click=\"setRelation(item)\"\n >\n <span>{{ item.answerRelations?.length ? `关联了${relationLength(item.answerRelations)}项` : '关联检查' }}</span>\n </el-link>\n </div>\n </div>\n <div v-if=\"type === 'sort'\" class=\"margin-bottom flex flex-items-center\">\n <div class=\"label flex flex-justify-end\">\n <span>排序答案:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-select\n v-model=\"orderList\"\n mode=\"multiple\"\n style=\"width: 360px;\"\n placeholder=\"请按顺序选择排序答案\"\n :show-arrow=\"true\"\n >\n <!-- :options=\"[...Array(answers.length)].map((_, i) => ({ value: String.fromCharCode(65 + i) }))\" -->\n <el-option\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n :label=\"item.title\"\n :value=\"String.fromCharCode(65 + index)\"\n />\n </el-select>\n </div>\n </div>\n <div\n v-if=\"showAnalysis\"\n class=\"flex\"\n >\n <div class=\"label flex flex-justify-center\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-input\n v-model=\"analysis\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"请输入题目解析\"\n />\n </div>\n </div>\n <div v-if=\"showRichText\" class=\"margin-bottom flex\">\n <div class=\"label flex flex-justify-center\">\n <span>富文本:</span>\n </div>\n <div style=\"flex: 1;\">\n <TinyMceEditor v-model:model-value=\"richText\" v-bind=\"attrs\" style=\"width: 100%;\" />\n <div class=\"flex flex-justify-end\">\n <el-link\n type=\"danger\"\n @click=\"deleteRichText\"\n >\n 删除富文本\n </el-link>\n </div>\n </div>\n </div>\n </template>\n <SubjectAction\n v-if=\"showAction\"\n :is-edit=\"isEdit\"\n :is-set=\"isSet\"\n :isKey=\"isKey\"\n :examAnswerRelationType=\"props.examAnswerRelationType\"\n :answerCheckType=\"answerCheckType\"\n @move-up=\"emits('move', 'up')\"\n @move-down=\"emits('move', 'down')\"\n @delete=\"emits('delete')\"\n @save=\"save\"\n @edit=\"emits('edit')\"\n @add=\"add\"\n @onShowRichText=\"showRichText = true\"\n @setKey=\"setKey\"\n @setAnswerSetting=\"setAnswerSetting\"\n />\n </SubjectLayout>\n <el-dialog\n v-model=\"showRichContent\"\n title=\"添加结果\"\n class=\"customize-dialog\"\n >\n <TinyMceEditor\n :key=\"answersIndex\"\n v-model:model-value=\"resultItem\" \n v-bind=\"attrs\"\n style=\"width: 100%;\" />\n <template #footer>\n <el-button\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"onCloseResult\"\n >\n 取消\n </el-button>\n <el-button\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"onSaveResult\"\n >\n 保存\n </el-button>\n </template>\n </el-dialog>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","attrs","useAttrs","answersIndex","ref","isKey","answerCheckType","examAnswerRelationType","answers","title","isCorrect","leastAnswerCount","analysis","showRichText","richText","startTime","showRichContent","resultItem","titlePlaceholder","computed","type","orderList","leastAnswerOptions","items","count","value","length","push","label","reverse","addAnswer","isSave","customAnswerId","setGuid","deleteRichText","save","ElMessage","error","msg","isSetCorrectAnswer","correctAnswerCount","forEach","v","i","String","fromCharCode","Set","map","item","size","console","log","index","orderIndex","examExpand","charCodeAt","join","examRichTextContent","onSaveResult","onCloseResult","setKey","key","setAnswerSetting","add","canSet","watch","isEdit","Date","getTime","relationLength","relationAnswers","ns","useNamespace","onMounted","answerList","correctAnswerIdList","split","id","answer","find","answerId","toString","filter","Boolean","it","event","splice","examAnswerId","customId"],"mappings":"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"}
1
+ {"version":3,"file":"subject-single.vue.cjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/subject-single.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { CirclePlus, Remove } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\nimport SubjectLayout from '../../../subject-layout/src/subject-layout.vue'\nimport TinyMceEditor from '../../../tiny-mce-editor/src/tiny-mce-editor.vue'\nimport { setGuid } from '@qxs-bns/utils'\nimport { ElMessage } from 'element-plus'\n\ndefineOptions({\n name: 'QxsSubjectSingle',\n})\nconst props = defineProps<{\n orderIndex: number\n title?: string\n isSave: boolean\n showAction?: boolean\n type: 'single' | 'multiple' | 'sort'\n isEdit: boolean\n isSet: boolean\n answerList?: any\n leastAnswerCount?: number\n analysis?: string\n examExpand?: string\n examRichTextContent?: string\n showAnalysis?: boolean\n examAnswerRelationType?: number\n customId?: number\n examId?: number\n isKey: boolean\n answerCheckType: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add', 'setRelation'])\n\nconst attrs = useAttrs()\n\nconst answersIndex = ref(0)\nconst isKey = ref(false)\nconst answerCheckType = ref(1)\nconst examAnswerRelationType = ref(1)\nconst answers = ref<{\n title: string\n isCorrect: boolean\n orderIndex?: number\n resultItem?: string\n customAnswerId?: string\n answerRelations?: {\n relationExamId: number\n relationAnswers: {\n relationAnswerId: number\n relationAnswerIndex: number\n }[]\n }[]\n}[]>([{\n title: '',\n isCorrect: false,\n}, {\n title: '',\n isCorrect: false,\n}, {\n title: '',\n isCorrect: false,\n}, {\n title: '',\n isCorrect: false,\n}])\n\nconst leastAnswerCount = ref()\nconst title = ref('')\nconst analysis = ref('')\nconst showRichText = ref(false)\nconst richText = ref('')\nconst startTime = ref(0)\nconst showRichContent = ref(false)\nconst resultItem = ref<string>('')\nconst titlePlaceholder = computed(() => {\n if (props.type === 'single') {\n return '单选题'\n }\n else if (props.type === 'multiple') {\n return '多选题'\n }\n else {\n return '排序题'\n }\n})\n\nconst orderList = ref<string[]>([])\n\nconst leastAnswerOptions = computed(() => {\n const items = []\n const length = answers.value.length\n for (let count = length; count > 1; count--) {\n items.push({\n label: `至少选择${count}项`,\n value: count,\n })\n }\n return items.reverse()\n})\nfunction addAnswer() {\n if (props.isSave) {\n return\n }\n answers.value.push({\n title: '',\n isCorrect: false,\n customAnswerId: setGuid()\n })\n}\n\nfunction deleteAnswer(index: number) {\n if (answers.value.length < 3 || props.isSave) {\n return\n }\n answers.value.splice(index, 1)\n}\n\nfunction setCorrect(it: any, event: any) {\n if (props.type === 'single') {\n // 单选题:确保只有一个支持选项\n if (event) {\n answers.value.forEach((answer: any) => {\n if (answer !== it) {\n answer.isCorrect = false\n }\n })\n }\n it.isCorrect = event\n } else if (props.type === 'multiple') {\n // 多选题:可以有多个支持选项\n it.isCorrect = event\n }\n}\nfunction setRelation(item: any) {\n item.customAnswerId = item.examAnswerId || setGuid()\n emits('setRelation', props.customId, item)\n}\n\nfunction deleteRichText() {\n showRichText.value = false\n richText.value = ''\n}\n\nfunction save() {\n if (!title.value) {\n ElMessage.error('题目标题不能为空!')\n return\n }\n let msg = ''\n let isSetCorrectAnswer = false\n // let examAnswerRelationType = null\n let correctAnswerCount = 0\n if (props.type === 'multiple' || props.type === 'single') {\n answers.value.forEach((v: any, i: number) => {\n if (!v.title?.trim()) {\n msg += `选项${String.fromCharCode(65 + i)}未填写。`\n }\n if (v.isCorrect) {\n isSetCorrectAnswer = true\n correctAnswerCount++\n }\n v.examAnswerRelationType = v.resultItem ? 1 : (v.answerRelations?.length ? 2 : null)\n })\n }\n else if (props.type === 'sort') {\n // 如果设置了支持选项\n if (orderList.value.length) {\n isSetCorrectAnswer = true\n }\n }\n if (msg) {\n ElMessage.error(msg)\n return\n }\n\n const uniqueAnswer = new Set(answers.value.map((item: any) => item.title))\n\n if (uniqueAnswer.size !== answers.value.length) {\n ElMessage.error('选项不能重复')\n return\n }\n\n if (props.type === 'multiple') {\n if (correctAnswerCount === 1) {\n ElMessage.error('请至少设置两个支持选项')\n return\n }\n\n if (isSetCorrectAnswer && correctAnswerCount < leastAnswerCount.value) {\n ElMessage.error('至少选几项与支持选项数不符')\n return\n }\n } \n\n if(answerCheckType.value === 2 || answerCheckType.value === 3) {\n // 必须有设置支持选项\n if (!isSetCorrectAnswer) {\n ElMessage.error('请设置支持选项')\n return\n }\n }\n\n emits('save', {\n title: title.value,\n answers: answers.value.map((item: any, index: number) => {\n return { ...item, orderIndex: index + 1 }\n }),\n examExpand: orderList.value.map((i: string) => i.charCodeAt(0) - 65 + 1).join(','),\n analysis: analysis.value,\n isSetCorrectAnswer,\n leastAnswerCount: leastAnswerCount.value,\n examRichTextContent: showRichText.value ? richText.value : '',\n examAnswerRelationType: examAnswerRelationType.value,\n isKey: isKey.value,\n answerCheckType: answerCheckType.value\n })\n}\n\nfunction init() {\n if (props.title) {\n title.value = props.title\n }\n // const customId = props.id || setGuid()\n\n if (props.answerCheckType) {\n answerCheckType.value = props.answerCheckType\n }\n if (props.isKey) {\n isKey.value = props.isKey\n }\n\n if (props.examAnswerRelationType) {\n examAnswerRelationType.value = props.examAnswerRelationType\n }\n\n if (props.answerList && props.answerList.length) {\n answers.value = props.answerList\n }\n\n if (props.leastAnswerCount) {\n leastAnswerCount.value = props.leastAnswerCount\n }\n\n if (props.examExpand) {\n // 设置支持选项 props.examExpand里是答案id\n if (props.examExpand) {\n const correctAnswerIdList = props.examExpand.split(',')\n\n // 遍历 correctAnswerIdList,直接在 props.answerList 中查找对应的 orderIndex 并转换成字母\n orderList.value = correctAnswerIdList.map((id: string) => {\n const answer = props.answerList.find((item: any) => item.answerId?.toString() === id)\n return answer ? String.fromCharCode(65 + answer.orderIndex - 1) : id\n }).filter(Boolean) // 过滤掉任何可能的空字符串\n }\n }\n\n if (props.analysis) {\n analysis.value = props.analysis\n }\n\n if (props.examRichTextContent) {\n richText.value = props.examRichTextContent\n showRichText.value = true\n }\n}\nfunction onOpenResult(i: number) {\n answersIndex.value = i\n resultItem.value = answers.value[i].resultItem || ''\n showRichContent.value = true\n}\n\nfunction onSaveResult() {\n answers.value[answersIndex.value].resultItem = resultItem.value || ''\n showRichContent.value = false\n}\nfunction onCloseResult() {\n showRichContent.value = false\n resultItem.value = ''\n}\nfunction setKey(key: boolean) {\n isKey.value = key\n}\nfunction setAnswerSetting(type: number) {\n answerCheckType.value = type\n}\n\nfunction add(type: string, canSet: boolean) {\n emits('add', type, canSet? props.examAnswerRelationType: null)\n}\n// 监听isEdit\nwatch(() => props.isEdit, () => {\n if (props.isEdit) {\n startTime.value = new Date().getTime()\n }\n})\n\nconst relationLength = computed(() => {\n return (v: any) => {\n let count = 0\n v.forEach((item: any) => {\n if (item.relationAnswers) {\n count += item.relationAnswers.length\n }\n })\n return count\n }\n})\n\nconst ns = useNamespace('subject-single')\n\nonMounted(init)\n</script>\n\n<template>\n <div :class=\"ns.e('single-exam')\">\n <SubjectLayout\n :show-edit=\"isEdit\"\n >\n <template #preview>\n <div class=\"preview\">\n <div>\n <span class=\"title\">\n {{ orderIndex + 1 }}.{{ title }}\n <span v-if=\"type === 'single'\">(单选题)</span>\n <span v-else-if=\"['multiple', 'sort'].includes(type)\">\n ({{ titlePlaceholder }}{{ leastAnswerCount ? `至少选${leastAnswerCount}项${type === 'sort' ? '并排序' : ''}` : '' }})\n </span>\n </span>\n </div>\n <div v-if=\"showRichText\">\n <div v-html=\"richText\" />\n </div>\n <div class=\"preview-answer\">\n <template v-if=\"type === 'sort'\">\n <el-checkbox\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"radio\"\n :disabled=\"true\"\n >\n <span class=\"order\">\n {{ String.fromCharCode(65 + index) }}.\n </span>\n {{ item.title }}\n </el-checkbox>\n </template>\n <template v-else>\n <el-radio\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"radio\"\n value=\"disabled\"\n disabled\n >\n <span class=\"order\">\n {{ String.fromCharCode(65 + index) }}.\n </span>\n {{ item.title }} \n {{ item.isCorrect ? '(支持选项)' : '' }} \n {{ examAnswerRelationType === 1 ? (item.resultItem? '(已设置结果项)' : '(未设置结果项)' ) : ''}} \n {{ examAnswerRelationType === 2 ? (item.answerRelations?.length? '(已设置关联)' : '(未设置关联)') : '' }}\n </el-radio>\n </template>\n </div>\n </div>\n </template>\n <template v-if=\"isEdit\" #edit>\n <div class=\"flex\" :class=\"[{ 'margin-bottom': showRichText }]\">\n <div class=\"label flex flex-justify-center\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-input\n v-model=\"title\"\n type=\"textarea\"\n :rows=\"2\"\n :placeholder=\"`【${titlePlaceholder}】请输入问题`\"\n :disabled=\"isSave\"\n show-word-limit\n maxlength=\"200\"\n class=\"margin-bottom\"\n />\n </div>\n </div>\n <div class=\"margin-bottom flex flex-items-center\">\n <div class=\"label flex flex-justify-center\">\n <span>设置:</span>\n </div>\n <el-select\n v-if=\"['multiple', 'sort'].includes(type)\"\n v-model=\"leastAnswerCount\"\n style=\"width: 150px;\"\n placeholder=\"至少选择几项\"\n :disabled=\"isSave\"\n >\n <el-option\n v-for=\"item in leastAnswerOptions\"\n :key=\"item.value\"\n :value=\"item.value\"\n :label=\"item.label\"\n >\n </el-option>\n </el-select>\n </div>\n <div class=\"margin-bottom answer-list\">\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"answer-item flex flex-items-center\"\n >\n <span class=\"order\">{{ String.fromCharCode(65 + index) }}.</span>\n <el-input\n v-model=\"item.title\"\n class=\"input\"\n show-word-limit\n maxlength=\"100\"\n :placeholder=\"`选项${String.fromCharCode(65 + index)}`\"\n :disabled=\"isSave\"\n />\n <el-checkbox\n v-if=\"['single', 'multiple'].includes(type)\"\n v-model=\"item.isCorrect\"\n :class=\"[{ 'is-correct': item.isCorrect }]\"\n :disabled=\"isSave\"\n style=\"margin-left: 10px;\"\n @change=\"(event: any) => setCorrect(item, event)\"\n >\n 支持选项 \n </el-checkbox>\n <el-icon class=\"icon\">\n <CirclePlus\n :class=\"[{ disabled: isSave }]\"\n @click=\"addAnswer\"\n />\n </el-icon>\n <el-icon class=\"icon\">\n <Remove\n :class=\"[{ disabled: answers.length < 3 || isSave }]\"\n @click=\"deleteAnswer(index)\"\n />\n </el-icon>\n <el-link\n v-if=\"examAnswerRelationType === 1\"\n type=\"primary\"\n class=\"margin-left-10\"\n @click=\"onOpenResult(index)\"\n >\n <span>{{ item.resultItem ? '编辑结果' : '添加结果' }}</span>\n </el-link>\n <el-link\n v-if=\"examAnswerRelationType === 2\"\n type=\"primary\"\n class=\"margin-left-10\"\n @click=\"setRelation(item)\"\n >\n <span>{{ item.answerRelations?.length ? `关联了${relationLength(item.answerRelations)}项` : '关联检查' }}</span>\n </el-link>\n </div>\n </div>\n <div v-if=\"type === 'sort'\" class=\"margin-bottom flex flex-items-center\">\n <div class=\"label flex flex-justify-end\">\n <span>排序答案:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-select\n v-model=\"orderList\"\n mode=\"multiple\"\n style=\"width: 360px;\"\n placeholder=\"请按顺序选择排序答案\"\n :show-arrow=\"true\"\n >\n <!-- :options=\"[...Array(answers.length)].map((_, i) => ({ value: String.fromCharCode(65 + i) }))\" -->\n <el-option\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n :label=\"item.title\"\n :value=\"String.fromCharCode(65 + index)\"\n />\n </el-select>\n </div>\n </div>\n <div\n v-if=\"showAnalysis\"\n class=\"flex\"\n >\n <div class=\"label flex flex-justify-center\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-input\n v-model=\"analysis\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"请输入题目解析\"\n />\n </div>\n </div>\n <div v-if=\"showRichText\" class=\"margin-bottom flex\">\n <div class=\"label flex flex-justify-center\">\n <span>富文本:</span>\n </div>\n <div style=\"flex: 1;\">\n <TinyMceEditor v-model:model-value=\"richText\" v-bind=\"attrs\" style=\"width: 100%;\" />\n <div class=\"flex flex-justify-end\">\n <el-link\n type=\"danger\"\n @click=\"deleteRichText\"\n >\n 删除富文本\n </el-link>\n </div>\n </div>\n </div>\n </template>\n <SubjectAction\n v-if=\"showAction\"\n :is-edit=\"isEdit\"\n :is-set=\"isSet\"\n :isKey=\"isKey\"\n :examAnswerRelationType=\"props.examAnswerRelationType\"\n :answerCheckType=\"answerCheckType\"\n @move-up=\"emits('move', 'up')\"\n @move-down=\"emits('move', 'down')\"\n @delete=\"emits('delete')\"\n @save=\"save\"\n @edit=\"emits('edit')\"\n @add=\"add\"\n @onShowRichText=\"showRichText = true\"\n @setKey=\"setKey\"\n @setAnswerSetting=\"setAnswerSetting\"\n />\n </SubjectLayout>\n <el-dialog\n v-model=\"showRichContent\"\n title=\"添加结果\"\n class=\"customize-dialog\"\n >\n <TinyMceEditor\n :key=\"answersIndex\"\n v-model:model-value=\"resultItem\" \n v-bind=\"attrs\"\n style=\"width: 100%;\" />\n <template #footer>\n <el-button\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"onCloseResult\"\n >\n 取消\n </el-button>\n <el-button\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"onSaveResult\"\n >\n 保存\n </el-button>\n </template>\n </el-dialog>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","attrs","useAttrs","answersIndex","ref","isKey","answerCheckType","examAnswerRelationType","answers","title","isCorrect","leastAnswerCount","analysis","showRichText","richText","startTime","showRichContent","resultItem","titlePlaceholder","computed","type","orderList","leastAnswerOptions","items","count","value","length","push","label","reverse","addAnswer","isSave","customAnswerId","setGuid","deleteRichText","save","ElMessage","error","msg","isSetCorrectAnswer","correctAnswerCount","forEach","v","i","trim","String","fromCharCode","answerRelations","Set","map","item","size","index","orderIndex","examExpand","charCodeAt","join","examRichTextContent","onSaveResult","onCloseResult","setKey","key","setAnswerSetting","add","canSet","watch","isEdit","Date","getTime","relationLength","relationAnswers","ns","useNamespace","onMounted","answerList","correctAnswerIdList","split","id","answer","find","answerId","toString","filter","Boolean","it","event","splice","examAnswerId","customId"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@qxs-bns/components",
3
3
  "type": "module",
4
- "version": "0.0.31",
4
+ "version": "0.0.33",
5
5
  "description": "Vue 3 Component Library",
6
6
  "license": "MIT",
7
7
  "homepage": "https://trry-hub.github.io/qxs-bns/",
@@ -1 +1 @@
1
- @charset "UTF-8";.customize-input-number.qxs-input-number{width:98px}.customize-input-number.qxs-input-number [class*=qxs-input-number__]{background-color:#fbfbfb;font-weight:500;height:21px;line-height:22px;overflow:hidden;top:2px;width:24px}.customize-input-number.qxs-input-number [class*=qxs-input-number__] i{font-size:16px;font-weight:600;padding-top:1px}.customize-input-number.qxs-input-number [class*=qxs-input-number__]:hover{color:#3d61e3}.customize-input-number.qxs-input-number .qxs-input__inner{border:1px solid #e1e1e1;border-radius:3px;height:24px;line-height:24px;padding-left:28px;padding-right:28px}.customize-input-number.qxs-input-number .qxs-input__inner::-moz-placeholder{color:#5a5a5a}.customize-input-number.qxs-input-number .qxs-input__inner::placeholder{color:#5a5a5a}.customize-date-picker:not([class*=cs-in]).qxs-date-editor{background-color:#fbfbfb}.customize-date-picker:not([class*=cs-in]).qxs-date-editor .qxs-icon:first-child{margin-left:4px;order:1}.customize-dialog:not([class*=cs-in]).qxs-dialog{padding:0}.customize-dialog:not([class*=cs-in]).qxs-dialog .qxs-dialog__header{border-bottom:var(--qxs-border);font-weight:600;height:40px;margin-right:0;padding:0 calc(var(--qxs-dialog-padding-primary) - 3px);position:relative}.customize-dialog:not([class*=cs-in]).qxs-dialog .qxs-dialog__header .qxs-dialog__title{font-size:14px;line-height:40px}.customize-dialog:not([class*=cs-in]).qxs-dialog .qxs-dialog__header .qxs-dialog__headerbtn{font-size:22px;height:40px;top:2px;width:40px}.customize-dialog:not([class*=cs-in]).qxs-dialog .qxs-dialog__body{padding:var(--qxs-dialog-padding-primary)}.customize-dialog:not([class*=cs-in]).qxs-dialog .qxs-dialog__footer{padding:var(--qxs-dialog-padding-primary);padding-top:0;text-align:center}.customize-dialog:not([class*=cs-in]).qxs-dialog .qxs-dialog__footer .qxs-button{min-width:90px}.customize-button.cs-in-info{background-color:#fbfbfb}.customize-button:not([class*=cs-in]).qxs-button{--qxs-button-size:28px;--qxs-border-radius-base:4px;min-width:90px}.customize-tree.qxs-tree .qxs-tree-node__content{--qxs-tree-node-content-height:30px}.customize-tree.qxs-tree .qxs-tree-node__content .qxs-checkbox{--qxs-color-primary:#30c691}.customize-tree.qxs-tree .qxs-tree-node__content .qxs-checkbox .qxs-checkbox__inner{height:14px;width:14px}.customize-tree.qxs-tree .qxs-tree-node__content .qxs-checkbox .qxs-checkbox__inner:after{height:7px;width:3px}.customize-input.cs-in-line.qxs-input .qxs-input__wrapper{border-radius:0;box-shadow:0 1px 0 0 var(--qxs-input-border-color,var(--qxs-border-color))}.customize-input.cs-in-line.qxs-input .qxs-input__wrapper:hover{box-shadow:0 1px 0 0 var(--qxs-input-hover-border-color)}.customize-input.cs-in-line.qxs-input .qxs-input__wrapper.is-focus{box-shadow:0 1px 0 0 var(--qxs-input-focus-border-color)}.customize-input.cs-in-line.qxs-input .qxs-input__wrapper .qxs-input__count .qxs-input__count-inner{background-color:transparent}.customize-input:not([class*=cs-in]).qxs-input{width:160px}.customize-input:not([class*=cs-in]).qxs-input .qxs-input__wrapper{background-color:var(--qxs-fill-color-lighter);border-radius:20px}.customize-input:not([class*=cs-in]).qxs-input .qxs-input__wrapper .qxs-input__count .qxs-input__count-inner{background-color:transparent}.customize-message-box.qxs-message-box{--qxs-messagebox-border-radius:0px;padding:0}.customize-message-box.qxs-message-box .qxs-message-box__header{padding:0}.customize-message-box.qxs-message-box .qxs-message-box__header .qxs-message-box__title{border-bottom:1px solid var(--qxs-color-info-light-9);font-size:14px;font-weight:600;height:36px;line-height:36px;padding-left:12px}.customize-message-box.qxs-message-box .qxs-message-box__content{padding:35px 10px 23px}.customize-message-box.qxs-message-box .qxs-message-box__content .qxs-message-box__container{justify-content:center}.customize-message-box.qxs-message-box .qxs-message-box__btns{justify-content:center;padding-bottom:20px}.customize-message-box.qxs-message-box .qxs-message-box__btns .qxs-button{min-width:90px}.customize-tooltip.qxs-popper.is-light{border:none;box-shadow:0 1px 8px 0 rgba(0,0,0,.2);font-size:14px;font-weight:700;padding:5px 10px}.customize-tooltip.qxs-popper.is-light .qxs-popper__arrow:before{border-color:transparent!important;height:8px;width:8px}.customize-dropdown.cs-in-noarrow.qxs-dropdown__popper .qxs-popper__arrow{display:none}.customize-table.qxs-table{border:1px solid var(--qxs-color-info-light-9)!important;border-bottom:none!important;border-radius:var(--qxs-border-radius-base)}.customize-table.qxs-table thead th{padding:10px 0}.customize-table.qxs-table thead th,.customize-table.qxs-table thead th.qxs-table-fixed-column--left,.customize-table.qxs-table thead th.qxs-table-fixed-column--right{background-color:var(--qxs-color-info-light-9)}.customize-table.qxs-table .qxs-scrollbar__view .qxs-table__empty-block{width:calc(100% - 2px)!important}.customize-table.qxs-table .qxs-scrollbar__view .qxs-table__body tbody{width:calc(100% - 2px)}.customize-table.qxs-table .qxs-scrollbar__view .qxs-table__body tbody .qxs-table__row .qxs-table__cell .cell:empty:before{content:"——"}.customize-table.qxs-table+.customize-pagination{margin-top:20px}.customize-select.cs-in-line.qxs-select .qxs-select__wrapper{border-radius:0;box-shadow:0 1px 0 0 var(--qxs-border-color)}.customize-select.cs-in-line.qxs-select .qxs-select__wrapper.is-hovering:not(.is-focused){box-shadow:0 1px 0 0 var(--qxs-border-color-hover)}.customize-select.cs-in-line.qxs-select .qxs-select__wrapper.is-focused{box-shadow:0 1px 0 0 var(--qxs-color-primary)}.customize-select:not([class*=cs-in]).qxs-select .qxs-select__wrapper{background:#fbfbfb;color:#5a5a5a;padding:0 10px}.customize-select:not([class*=cs-in]).qxs-select .qxs-select__wrapper .qxs-select__selection::-moz-placeholder{color:#5a5a5a}.customize-select:not([class*=cs-in]).qxs-select .qxs-select__wrapper .qxs-select__selection::placeholder{color:#5a5a5a}.customize-select:not([class*=cs-in]).qxs-select .qxs-select__wrapper .qxs-input__suffix{right:0}.customize-select:not([class*=cs-in]).qxs-select .qxs-select__wrapper .qxs-input__suffix .qxs-icon-arrow-up:before{border-color:transparent transparent #a3a3a3;border-style:solid;border-width:5px 4px;content:"";left:50%;position:absolute;top:50%;transform:translate3d(-50%,-75%,0);transform-origin:-25% center}.customize-pagination.qxs-pagination{color:#5a5a5a}.customize-pagination.qxs-pagination .qxs-pagination__sizes .qxs-select{width:95px!important}.customize-pagination.qxs-pagination .btn-next,.customize-pagination.qxs-pagination .btn-prev{background-color:transparent!important;border:1px solid #e1e1e1;border-radius:var(--qxs-border-radius-base)}.customize-pagination.qxs-pagination .qxs-pager .more,.customize-pagination.qxs-pagination .qxs-pager>.number{background-color:transparent;border:1px solid #e1e1e1;border-radius:var(--qxs-border-radius-base);color:#5a5a5a}.customize-pagination.qxs-pagination .qxs-pager .more.active,.customize-pagination.qxs-pagination .qxs-pager>.number.active{border-color:#3d61e3}.customize-pagination.qxs-pagination .qxs-pager li:not(.disabled):hover{border-color:var(--qxs-color-primary)}.customize-pagination.qxs-pagination .qxs-pager .is-active{border:1px solid var(--qxs-color-primary)}.customize-pagination.qxs-pagination .qxs-pagination__jump .qxs-pagination__goto{font-size:0;margin-right:5px}.customize-pagination.qxs-pagination .qxs-pagination__jump .qxs-pagination__goto:after{content:"跳转至";font-size:14px}.customize-pagination.qxs-pagination .qxs-pagination__jump .qxs-pagination__classifier{margin-left:5px}.customize-pagination.qxs-pagination .qxs-pagination__jump .qxs-pagination__editor{width:40px}.customize-form[class*=cs-in].cs-in-bold-title .title-input .qxs-input__inner{color:#0f0f0f;font-weight:600}.customize-form[class*=cs-in].cs-in-bold-title .title-input .qxs-textarea__inner{color:#0f0f0f}.customize-form.qxs-form.qxs-form--inline .qxs-form-item{margin-right:10px}.customize-tabs.qxs-tabs .qxs-tabs__header .qxs-tabs__nav-wrap:after{height:1px}.customize-tabs.qxs-tabs .qxs-tabs__item{--qxs-tabs-header-height:36px;color:#7784a1;font-size:14px}.customize-tabs.qxs-tabs .qxs-tabs__item.is-active{color:#272e40;font-weight:700}.customize-tabs.qxs-tabs .qxs-tabs__active-bar{height:3px}.customize-page-main{padding-top:0!important}.customize-page-main .qxs-tabs{position:sticky;top:0;z-index:10}.customize-page-main .qxs-tabs .qxs-tabs__header{margin:0;position:relative}.customize-page-main .qxs-tabs .qxs-tabs__header .qxs-tabs__nav-wrap{overflow:inherit}.customize-page-main .qxs-tabs .qxs-tabs__header .qxs-tabs__nav-wrap .qxs-tabs__nav .qxs-tabs__item{box-sizing:content-box;height:40px;line-height:40px;min-width:48px;padding:0 16px;text-align:center}.customize-page-main .qxs-tabs .qxs-tabs__header .qxs-tabs__nav-wrap .qxs-tabs__nav .qxs-tabs__item:nth-child(2){padding-left:8px}.customize-page-main .qxs-tabs .qxs-tabs__header .qxs-tabs__nav-wrap:after{display:none}.customize-page-main .qxs-tabs .qxs-tabs__header:after{background-color:#e4e7ed;bottom:0;content:"";height:1px;left:-10px;position:absolute;width:calc(100% + 20px);z-index:1}.customize-page-main .qxs-tabs .qxs-tabs__content{margin-top:11px;padding-left:5px;padding-right:2px}.customize-search-form.qxs-form--inline{align-items:flex-start;background-color:#f5f5f5;display:flex;flex-wrap:wrap;margin:10px 0;padding:10px 10px 0}.customize-search-form.qxs-form--inline .qxs-form-item{display:inline-flex;flex:0 1 auto;margin-bottom:10px!important}.customize-search-form.qxs-form--inline .qxs-form-item.last-box{margin-left:auto;margin-right:0}.customize-search-form.qxs-form--inline .new-line-placeholder{margin-right:100%}.customize-driver{box-shadow:unset}.customize-driver .driver-popover-arrow:before{background-color:#fff;content:"";position:absolute}.customize-driver .driver-popover-arrow.driver-popover-arrow-side-left:before{height:1px;left:-3px;transform:translateY(-50%);width:var(--popover-offset)}.customize-driver .driver-popover-arrow.driver-popover-arrow-side-right:before{height:1px;right:-3px;transform:translateY(-50%);width:var(--popover-offset)}.customize-driver .driver-popover-arrow.driver-popover-arrow-side-top:before{height:var(--popover-offset);top:-1px;transform:translateX(-50%);width:1px}.customize-driver .driver-popover-arrow.driver-popover-arrow-side-bottom:before{bottom:-1px;height:var(--popover-offset);transform:translateX(-50%);width:1px}.customize-driver .driver-popover-footer .driver-popover-navigation-btns button{background-color:transparent;border:none;color:var(--qxs-color-primary)}:root [data-fixed-calc-width]{left:0;position:fixed;right:0}:root [data-mode=mobile] [data-fixed-calc-width]{width:100%!important}
1
+ :root [data-fixed-calc-width]{left:0;position:fixed;right:0}:root [data-mode=mobile] [data-fixed-calc-width]{width:100%!important}
@@ -1 +1 @@
1
- @charset "UTF-8";.customize-input-number.qxs-input-number{width:98px}.customize-input-number.qxs-input-number [class*=qxs-input-number__]{background-color:#fbfbfb;font-weight:500;height:21px;line-height:22px;overflow:hidden;top:2px;width:24px}.customize-input-number.qxs-input-number [class*=qxs-input-number__] i{font-size:16px;font-weight:600;padding-top:1px}.customize-input-number.qxs-input-number [class*=qxs-input-number__]:hover{color:#3d61e3}.customize-input-number.qxs-input-number .qxs-input__inner{border:1px solid #e1e1e1;border-radius:3px;height:24px;line-height:24px;padding-left:28px;padding-right:28px}.customize-input-number.qxs-input-number .qxs-input__inner::-moz-placeholder{color:#5a5a5a}.customize-input-number.qxs-input-number .qxs-input__inner::placeholder{color:#5a5a5a}.customize-date-picker:not([class*=cs-in]).qxs-date-editor{background-color:#fbfbfb}.customize-date-picker:not([class*=cs-in]).qxs-date-editor .qxs-icon:first-child{margin-left:4px;order:1}.customize-dialog:not([class*=cs-in]).qxs-dialog{padding:0}.customize-dialog:not([class*=cs-in]).qxs-dialog .qxs-dialog__header{border-bottom:var(--qxs-border);font-weight:600;height:40px;margin-right:0;padding:0 calc(var(--qxs-dialog-padding-primary) - 3px);position:relative}.customize-dialog:not([class*=cs-in]).qxs-dialog .qxs-dialog__header .qxs-dialog__title{font-size:14px;line-height:40px}.customize-dialog:not([class*=cs-in]).qxs-dialog .qxs-dialog__header .qxs-dialog__headerbtn{font-size:22px;height:40px;top:2px;width:40px}.customize-dialog:not([class*=cs-in]).qxs-dialog .qxs-dialog__body{padding:var(--qxs-dialog-padding-primary)}.customize-dialog:not([class*=cs-in]).qxs-dialog .qxs-dialog__footer{padding:var(--qxs-dialog-padding-primary);padding-top:0;text-align:center}.customize-dialog:not([class*=cs-in]).qxs-dialog .qxs-dialog__footer .qxs-button{min-width:90px}.customize-button.cs-in-info{background-color:#fbfbfb}.customize-button:not([class*=cs-in]).qxs-button{--qxs-button-size:28px;--qxs-border-radius-base:4px;min-width:90px}.customize-tree.qxs-tree .qxs-tree-node__content{--qxs-tree-node-content-height:30px}.customize-tree.qxs-tree .qxs-tree-node__content .qxs-checkbox{--qxs-color-primary:#30c691}.customize-tree.qxs-tree .qxs-tree-node__content .qxs-checkbox .qxs-checkbox__inner{height:14px;width:14px}.customize-tree.qxs-tree .qxs-tree-node__content .qxs-checkbox .qxs-checkbox__inner:after{height:7px;width:3px}.customize-input.cs-in-line.qxs-input .qxs-input__wrapper{border-radius:0;box-shadow:0 1px 0 0 var(--qxs-input-border-color,var(--qxs-border-color))}.customize-input.cs-in-line.qxs-input .qxs-input__wrapper:hover{box-shadow:0 1px 0 0 var(--qxs-input-hover-border-color)}.customize-input.cs-in-line.qxs-input .qxs-input__wrapper.is-focus{box-shadow:0 1px 0 0 var(--qxs-input-focus-border-color)}.customize-input.cs-in-line.qxs-input .qxs-input__wrapper .qxs-input__count .qxs-input__count-inner{background-color:transparent}.customize-input:not([class*=cs-in]).qxs-input{width:160px}.customize-input:not([class*=cs-in]).qxs-input .qxs-input__wrapper{background-color:var(--qxs-fill-color-lighter);border-radius:20px}.customize-input:not([class*=cs-in]).qxs-input .qxs-input__wrapper .qxs-input__count .qxs-input__count-inner{background-color:transparent}.customize-message-box.qxs-message-box{--qxs-messagebox-border-radius:0px;padding:0}.customize-message-box.qxs-message-box .qxs-message-box__header{padding:0}.customize-message-box.qxs-message-box .qxs-message-box__header .qxs-message-box__title{border-bottom:1px solid var(--qxs-color-info-light-9);font-size:14px;font-weight:600;height:36px;line-height:36px;padding-left:12px}.customize-message-box.qxs-message-box .qxs-message-box__content{padding:35px 10px 23px}.customize-message-box.qxs-message-box .qxs-message-box__content .qxs-message-box__container{justify-content:center}.customize-message-box.qxs-message-box .qxs-message-box__btns{justify-content:center;padding-bottom:20px}.customize-message-box.qxs-message-box .qxs-message-box__btns .qxs-button{min-width:90px}.customize-tooltip.qxs-popper.is-light{border:none;box-shadow:0 1px 8px 0 rgba(0,0,0,.2);font-size:14px;font-weight:700;padding:5px 10px}.customize-tooltip.qxs-popper.is-light .qxs-popper__arrow:before{border-color:transparent!important;height:8px;width:8px}.customize-dropdown.cs-in-noarrow.qxs-dropdown__popper .qxs-popper__arrow{display:none}.customize-table.qxs-table{border:1px solid var(--qxs-color-info-light-9)!important;border-bottom:none!important;border-radius:var(--qxs-border-radius-base)}.customize-table.qxs-table thead th{padding:10px 0}.customize-table.qxs-table thead th,.customize-table.qxs-table thead th.qxs-table-fixed-column--left,.customize-table.qxs-table thead th.qxs-table-fixed-column--right{background-color:var(--qxs-color-info-light-9)}.customize-table.qxs-table .qxs-scrollbar__view .qxs-table__empty-block{width:calc(100% - 2px)!important}.customize-table.qxs-table .qxs-scrollbar__view .qxs-table__body tbody{width:calc(100% - 2px)}.customize-table.qxs-table .qxs-scrollbar__view .qxs-table__body tbody .qxs-table__row .qxs-table__cell .cell:empty:before{content:"——"}.customize-table.qxs-table+.customize-pagination{margin-top:20px}.customize-select.cs-in-line.qxs-select .qxs-select__wrapper{border-radius:0;box-shadow:0 1px 0 0 var(--qxs-border-color)}.customize-select.cs-in-line.qxs-select .qxs-select__wrapper.is-hovering:not(.is-focused){box-shadow:0 1px 0 0 var(--qxs-border-color-hover)}.customize-select.cs-in-line.qxs-select .qxs-select__wrapper.is-focused{box-shadow:0 1px 0 0 var(--qxs-color-primary)}.customize-select:not([class*=cs-in]).qxs-select .qxs-select__wrapper{background:#fbfbfb;color:#5a5a5a;padding:0 10px}.customize-select:not([class*=cs-in]).qxs-select .qxs-select__wrapper .qxs-select__selection::-moz-placeholder{color:#5a5a5a}.customize-select:not([class*=cs-in]).qxs-select .qxs-select__wrapper .qxs-select__selection::placeholder{color:#5a5a5a}.customize-select:not([class*=cs-in]).qxs-select .qxs-select__wrapper .qxs-input__suffix{right:0}.customize-select:not([class*=cs-in]).qxs-select .qxs-select__wrapper .qxs-input__suffix .qxs-icon-arrow-up:before{border-color:transparent transparent #a3a3a3;border-style:solid;border-width:5px 4px;content:"";left:50%;position:absolute;top:50%;transform:translate3d(-50%,-75%,0);transform-origin:-25% center}.customize-pagination.qxs-pagination{color:#5a5a5a}.customize-pagination.qxs-pagination .qxs-pagination__sizes .qxs-select{width:95px!important}.customize-pagination.qxs-pagination .btn-next,.customize-pagination.qxs-pagination .btn-prev{background-color:transparent!important;border:1px solid #e1e1e1;border-radius:var(--qxs-border-radius-base)}.customize-pagination.qxs-pagination .qxs-pager .more,.customize-pagination.qxs-pagination .qxs-pager>.number{background-color:transparent;border:1px solid #e1e1e1;border-radius:var(--qxs-border-radius-base);color:#5a5a5a}.customize-pagination.qxs-pagination .qxs-pager .more.active,.customize-pagination.qxs-pagination .qxs-pager>.number.active{border-color:#3d61e3}.customize-pagination.qxs-pagination .qxs-pager li:not(.disabled):hover{border-color:var(--qxs-color-primary)}.customize-pagination.qxs-pagination .qxs-pager .is-active{border:1px solid var(--qxs-color-primary)}.customize-pagination.qxs-pagination .qxs-pagination__jump .qxs-pagination__goto{font-size:0;margin-right:5px}.customize-pagination.qxs-pagination .qxs-pagination__jump .qxs-pagination__goto:after{content:"跳转至";font-size:14px}.customize-pagination.qxs-pagination .qxs-pagination__jump .qxs-pagination__classifier{margin-left:5px}.customize-pagination.qxs-pagination .qxs-pagination__jump .qxs-pagination__editor{width:40px}.customize-form[class*=cs-in].cs-in-bold-title .title-input .qxs-input__inner{color:#0f0f0f;font-weight:600}.customize-form[class*=cs-in].cs-in-bold-title .title-input .qxs-textarea__inner{color:#0f0f0f}.customize-form.qxs-form.qxs-form--inline .qxs-form-item{margin-right:10px}.customize-tabs.qxs-tabs .qxs-tabs__header .qxs-tabs__nav-wrap:after{height:1px}.customize-tabs.qxs-tabs .qxs-tabs__item{--qxs-tabs-header-height:36px;color:#7784a1;font-size:14px}.customize-tabs.qxs-tabs .qxs-tabs__item.is-active{color:#272e40;font-weight:700}.customize-tabs.qxs-tabs .qxs-tabs__active-bar{height:3px}.customize-page-main{padding-top:0!important}.customize-page-main .qxs-tabs{position:sticky;top:0;z-index:10}.customize-page-main .qxs-tabs .qxs-tabs__header{margin:0;position:relative}.customize-page-main .qxs-tabs .qxs-tabs__header .qxs-tabs__nav-wrap{overflow:inherit}.customize-page-main .qxs-tabs .qxs-tabs__header .qxs-tabs__nav-wrap .qxs-tabs__nav .qxs-tabs__item{box-sizing:content-box;height:40px;line-height:40px;min-width:48px;padding:0 16px;text-align:center}.customize-page-main .qxs-tabs .qxs-tabs__header .qxs-tabs__nav-wrap .qxs-tabs__nav .qxs-tabs__item:nth-child(2){padding-left:8px}.customize-page-main .qxs-tabs .qxs-tabs__header .qxs-tabs__nav-wrap:after{display:none}.customize-page-main .qxs-tabs .qxs-tabs__header:after{background-color:#e4e7ed;bottom:0;content:"";height:1px;left:-10px;position:absolute;width:calc(100% + 20px);z-index:1}.customize-page-main .qxs-tabs .qxs-tabs__content{margin-top:11px;padding-left:5px;padding-right:2px}.customize-search-form.qxs-form--inline{align-items:flex-start;background-color:#f5f5f5;display:flex;flex-wrap:wrap;margin:10px 0;padding:10px 10px 0}.customize-search-form.qxs-form--inline .qxs-form-item{display:inline-flex;flex:0 1 auto;margin-bottom:10px!important}.customize-search-form.qxs-form--inline .qxs-form-item.last-box{margin-left:auto;margin-right:0}.customize-search-form.qxs-form--inline .new-line-placeholder{margin-right:100%}.customize-driver{box-shadow:unset}.customize-driver .driver-popover-arrow:before{background-color:#fff;content:"";position:absolute}.customize-driver .driver-popover-arrow.driver-popover-arrow-side-left:before{height:1px;left:-3px;transform:translateY(-50%);width:var(--popover-offset)}.customize-driver .driver-popover-arrow.driver-popover-arrow-side-right:before{height:1px;right:-3px;transform:translateY(-50%);width:var(--popover-offset)}.customize-driver .driver-popover-arrow.driver-popover-arrow-side-top:before{height:var(--popover-offset);top:-1px;transform:translateX(-50%);width:1px}.customize-driver .driver-popover-arrow.driver-popover-arrow-side-bottom:before{bottom:-1px;height:var(--popover-offset);transform:translateX(-50%);width:1px}.customize-driver .driver-popover-footer .driver-popover-navigation-btns button{background-color:transparent;border:none;color:var(--qxs-color-primary)}:root [data-fixed-calc-width]{left:0;position:fixed;right:0}:root [data-mode=mobile] [data-fixed-calc-width]{width:100%!important}.qxs-data-chart__data-chart-table{box-sizing:border-box;display:flex;flex-direction:column}.qxs-data-chart__data-chart-table .title{align-items:center;color:#464646;display:flex;font-family:sans-serif;font-size:14px;font-weight:bolder;justify-content:space-between;margin-bottom:7px;margin-top:2px;padding:0 5px}.qxs-data-chart__data-chart-table :deep(.qxs-table){background-color:transparent;border-top-left-radius:4px;border-top-right-radius:4px;display:flex;flex:1;flex-direction:column;overflow:hidden;position:relative}.qxs-data-chart__data-chart-table :deep(.qxs-table) .qxs-table__body-wrapper .qxs-table__cell{border-right:0}.qxs-data-chart__empty{align-items:center;display:flex;height:100%;justify-content:center}.qxs-data-chart__empty-content{align-items:center;display:flex;flex-direction:column;pointer-events:none}.qxs-data-chart__empty-description{color:var(--qxs-text-color-secondary,#909399);font-size:14px;line-height:1.4;margin-top:8px}.qxs-data-chart__wrapper{height:100%}.qxs-fixed-action-bar__actionbar{background-color:var(--qxs-bg-color,#fff);bottom:0;box-shadow:0 0 1px 0 var(--qxs-border-color,#f3f3f2);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;transition:box-shadow .3s,var(--qxs-transition-box-shadow,#f3f3f2);z-index:10}.qxs-fixed-action-bar__actionbar.is-shadow{box-shadow:0 -10px 10px -10px var(--qxs-border-color,#fff)}.qxs-photo-crop-tool__img-box{align-items:center;background-color:#fafafa;display:flex;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.qxs-photo-crop-tool__error-message{color:red}.qxs-photo-crop-tool__image{-webkit-user-drag:none;max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.qxs-photo-crop-tool__crop-tool-box{aspect-ratio:var(--qxs-photo-crop-tool-aspect-ratio);border:1px dashed #fff;box-shadow:0 0 0 9999px rgba(0,0,0,.4);cursor:move;height:calc(var(--qxs-photo-crop-tool-height)*1px);max-height:100%;max-width:100%;overflow:hidden;position:absolute;width:calc(var(--qxs-photo-crop-tool-width)*1px)}.qxs-photo-crop-tool__crop-tool-box>div{aspect-ratio:1/1;background-color:rgba(2,2,2,.01);border-radius:50%;position:absolute;transition:all .3s;width:30%;z-index:3}.qxs-photo-crop-tool__crop-tool-box>div:active,.qxs-photo-crop-tool__crop-tool-box>div:hover{background-color:rgba(2,2,2,.5)}.qxs-photo-crop-tool__top-left{cursor:nwse-resize;left:0;top:0;transform:translate3d(-50%,-50%,0)}.qxs-photo-crop-tool__top-right{cursor:nesw-resize;right:0;top:0;transform:translate3d(50%,-50%,0)}.qxs-photo-crop-tool__bottom-right{bottom:0;cursor:nwse-resize;right:0;transform:translate3d(50%,50%,0)}.qxs-photo-crop-tool__bottom-left{bottom:0;cursor:nesw-resize;left:0;transform:translate3d(-50%,50%,0)}.qxs-image-upload__upload-container{line-height:normal}.qxs-image-upload__upload-container [class*=-upload__tip-text]{color:#c8c8c8;font-size:14px;line-height:32px}.qxs-image-upload__upload-container [class*=-image]{display:block}.qxs-image-upload__upload-container .image{border-radius:6px;overflow:hidden;position:relative}.qxs-image-upload__upload-container .image .mask{background-color:var(--qxs-overlay-color-lighter);height:100%;opacity:0;position:absolute;top:0;transition:opacity .3s;width:100%}.qxs-image-upload__upload-container .image .mask .actions{align-items:center;display:flex;flex-wrap:wrap;height:100px;justify-content:center;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:100px}.qxs-image-upload__upload-container .image .mask .actions span{color:var(--qxs-color-white);cursor:pointer;text-align:center;transition:color .1s,transform .1s;width:50%}.qxs-image-upload__upload-container .image .mask .actions span:hover{transform:scale(1.5)}.qxs-image-upload__upload-container .image .mask .actions span [class*=-icon]{font-size:24px}.qxs-image-upload__upload-container .image:hover .mask{opacity:1}.qxs-image-upload__image-upload{display:inline-block;vertical-align:top}.qxs-image-upload__upload-container [class*=-upload]{font-size:0}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger]{display:inline-block;font-size:0;padding:0}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger].is-dragover{border-width:1px}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger] .image-slot{align-items:center;background-color:#f5f5f5;color:var(--qxs-text-color-placeholder);display:flex;flex-direction:column;font-size:14px;height:100%;justify-content:center;transition:all .3s;width:100%}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger] .image-slot:hover{background-color:#eee}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger] .image-slot [class*=-icon]{font-size:28px}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger] .image-slot p{color:#5a5a5a;line-height:1em;margin-bottom:0;margin-top:10px}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger] .progress{position:absolute;top:0}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger] .progress:after{background-color:var(--qxs-overlay-color-lighter);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger] .progress [class*=-progress]{left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);z-index:1}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger] .progress [class*=-progress] [class*=-progress__text]{color:var(--qxs-text-color-placeholder)}.qxs-file-upload__control [class*=-upload].is-drag{display:inline-block}.qxs-file-upload__control [class*=-upload].is-drag [class*=-upload-dragger]{padding:0}.qxs-file-upload__control [class*=-upload].is-drag [class*=-upload-dragger] [class*=-icon--upload]{font-size:40px;margin-bottom:0}.qxs-file-upload__control [class*=-upload].is-drag [class*=-upload-dragger] [class*=-upload__text]{font-size:14px;line-height:1.5;padding:0 6px}.qxs-file-upload__control [class*=-upload].is-drag.is-dragover{border-width:1px}.qxs-file-upload__control [class*=-upload].is-drag .slot{height:90px;width:160px}.qxs-tiny-mce-editor :deep(.tox-tinymce){border-radius:4px;border-width:1px}.qxs-tiny-mce-editor :deep(.tox-tinymce) .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 :deep(.tox-tinymce) :deep(.tox-sidebar-wrap){max-height:600px;overflow-y:auto}.tox-tinymce-aux{z-index:2500!important}.qxs-subject-list__list-exam .flex-items-center{align-items:center;display:flex}.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 .preview-answer{display:flex;flex-direction:column;margin-bottom:10px}.qxs-subject-list__list-exam .flex{align-items:center;display:flex}.qxs-subject-list__list-exam .flex-1{flex:1}.qxs-subject-list__list-exam .subject-list-wrapper{margin-bottom:20px;width:100%}.qxs-subject-list__list-exam .margin-bottom{margin-bottom:20px}.qxs-subject-list__list-exam .label{margin-right:10px;min-width:50px}.qxs-subject-list__list-exam .auto-line{background-color:#c8c8c8;flex:1;height:1px;margin:0 15px}.qxs-subject-single__single-exam .flex{align-items:center;display:flex}.qxs-subject-single__single-exam .margin-bottom{margin-bottom:20px}.qxs-subject-single__single-exam .answer-list{padding-left:24px}.qxs-subject-single__single-exam .answer-list .answer-item{margin-top:15px}.qxs-subject-single__single-exam .answer-list .answer-item .order{margin-right:8px;width:16px}.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:700}.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{color:#3d61e3;cursor:pointer;font-size:18px;margin-left:5px}.qxs-subject-single__single-exam .answer-list .answer-item .disabled{color:#c0c4cc;cursor:not-allowed}.qxs-subject-single__single-exam .preview .title{font-weight:500}.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{align-items:center;display:flex}.qxs-subject-blank-fill__blank-fill-exam .label{margin-right:10px;min-width:50px}.qxs-subject-blank-fill__blank-fill-exam .margin-bottom{margin-bottom:20px}.qxs-subject-blank-fill__blank-fill-exam .answer-list .answer-item{margin-top:15px;width:100%}.qxs-subject-blank-fill__blank-fill-exam .answer-list .answer-item .answer-tags{border:1px solid #eee;border-radius:4px;flex:1;padding:5px 15px}.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 .title{font-weight:500}.qxs-subject-blank-fill__blank-fill-exam .preview .content{background-color:#fff;min-height:100px;padding-top:10px}.qxs-subject-text-fill__text-fill-exam .flex{align-items:center;display:flex}.qxs-subject-text-fill__text-fill-exam .label{margin-right:10px;min-width:50px}.qxs-subject-text-fill__text-fill-exam .margin-bottom{margin-bottom:20px}.qxs-subject-text-fill__text-fill-exam .answer-list .answer-item{margin-top:15px;width:100%}.qxs-subject-text-fill__text-fill-exam .answer-list .answer-item .answer-tags{border:1px solid #eee;border-radius:4px;flex:1;padding:5px 15px}.qxs-subject-text-fill__text-fill-exam .answer-list .answer-item .operation .icon{color:#3d61e3;cursor:pointer;font-size:16px;margin:0 5px}.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 .title{font-weight:500}.qxs-subject-text-fill__text-fill-exam .preview .content{margin-top:10px;min-height:100px}.qxs-subject-scale__scale-exam .flex{align-items:center;display:flex}.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{margin-right:8px;width:16px}.qxs-subject-scale__scale-exam .answer .answer-list .answer-item .icon{color:#3d61e3;cursor:pointer;font-size:16px;margin:0 5px}.qxs-subject-scale__scale-exam .answer .answer-list .answer-item .disabled{color:#c0c4cc;cursor:not-allowed}.qxs-subject-scale__scale-exam .preview .title{font-weight:500}.qxs-subject-scale__scale-exam .preview .answer-radio .radio-item .qxs-radio-wrapper{margin-inline-end:0}.qxs-subject-layout__layout-exam{color:#5a5a5a;font-size:12px;padding:10px}.qxs-subject-layout__layout-exam .edit{background-color:#f6f7fb;margin-top:20px;padding:20px 10px 10px;position:relative}.qxs-subject-layout__layout-exam .edit .triangle-up{border-bottom:20px solid #f6f7fb;border-left:20px solid transparent;border-right:20px solid transparent;height:0;left:100px;position:absolute;top:-20px;width:0}.qxs-subject-action__action-exam .action{padding:20px 10px}.qxs-subject-action__action-exam .active{background-color:#f6f7fb}.qxs-subject-action__action-exam .btn-margin{margin-right:10px}.qxs-subject-action__action-exam .has-set{align-items:center;color:#bbb;display:flex;font-size:12px}.qxs-subject-action__action-exam .vertical-radio-group{align-items:flex-start;display:flex;flex-direction:column;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{align-items:center;display:flex;flex-wrap:wrap}.qxs-subject-type__type-list .base-subject .item{background:#fafafa;color:#5a5a5a;cursor:pointer;font-size:12px;height:22px;margin-right:10px;margin-top:10px;text-align:center;width:50px}.qxs-subject-type__type-list .base-subject .item:hover{background:rgba(61,97,227,.12);color:#3d61e3}
1
+ :root [data-fixed-calc-width]{left:0;position:fixed;right:0}:root [data-mode=mobile] [data-fixed-calc-width]{width:100%!important}.qxs-data-chart__data-chart-table{box-sizing:border-box;display:flex;flex-direction:column}.qxs-data-chart__data-chart-table .title{align-items:center;color:#464646;display:flex;font-family:sans-serif;font-size:14px;font-weight:bolder;justify-content:space-between;margin-bottom:7px;margin-top:2px;padding:0 5px}.qxs-data-chart__data-chart-table :deep(.qxs-table){background-color:transparent;border-top-left-radius:4px;border-top-right-radius:4px;display:flex;flex:1;flex-direction:column;overflow:hidden;position:relative}.qxs-data-chart__data-chart-table :deep(.qxs-table) .qxs-table__body-wrapper .qxs-table__cell{border-right:0}.qxs-data-chart__empty{align-items:center;display:flex;height:100%;justify-content:center}.qxs-data-chart__empty-content{align-items:center;display:flex;flex-direction:column;pointer-events:none}.qxs-data-chart__empty-description{color:var(--qxs-text-color-secondary,#909399);font-size:14px;line-height:1.4;margin-top:8px}.qxs-data-chart__wrapper{height:100%}.qxs-fixed-action-bar__actionbar{background-color:var(--qxs-bg-color,#fff);bottom:0;box-shadow:0 0 1px 0 var(--qxs-border-color,#f3f3f2);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;transition:box-shadow .3s,var(--qxs-transition-box-shadow,#f3f3f2);z-index:10}.qxs-fixed-action-bar__actionbar.is-shadow{box-shadow:0 -10px 10px -10px var(--qxs-border-color,#fff)}.qxs-photo-crop-tool__img-box{align-items:center;background-color:#fafafa;display:flex;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.qxs-photo-crop-tool__error-message{color:red}.qxs-photo-crop-tool__image{-webkit-user-drag:none;max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.qxs-photo-crop-tool__crop-tool-box{aspect-ratio:var(--qxs-photo-crop-tool-aspect-ratio);border:1px dashed #fff;box-shadow:0 0 0 9999px rgba(0,0,0,.4);cursor:move;height:calc(var(--qxs-photo-crop-tool-height)*1px);max-height:100%;max-width:100%;overflow:hidden;position:absolute;width:calc(var(--qxs-photo-crop-tool-width)*1px)}.qxs-photo-crop-tool__crop-tool-box>div{aspect-ratio:1/1;background-color:rgba(2,2,2,.01);border-radius:50%;position:absolute;transition:all .3s;width:30%;z-index:3}.qxs-photo-crop-tool__crop-tool-box>div:active,.qxs-photo-crop-tool__crop-tool-box>div:hover{background-color:rgba(2,2,2,.5)}.qxs-photo-crop-tool__top-left{cursor:nwse-resize;left:0;top:0;transform:translate3d(-50%,-50%,0)}.qxs-photo-crop-tool__top-right{cursor:nesw-resize;right:0;top:0;transform:translate3d(50%,-50%,0)}.qxs-photo-crop-tool__bottom-right{bottom:0;cursor:nwse-resize;right:0;transform:translate3d(50%,50%,0)}.qxs-photo-crop-tool__bottom-left{bottom:0;cursor:nesw-resize;left:0;transform:translate3d(-50%,50%,0)}.qxs-image-upload__upload-container{line-height:normal}.qxs-image-upload__upload-container [class*=-upload__tip-text]{color:#c8c8c8;font-size:14px;line-height:32px}.qxs-image-upload__upload-container [class*=-image]{display:block}.qxs-image-upload__upload-container .image{border-radius:6px;overflow:hidden;position:relative}.qxs-image-upload__upload-container .image .mask{background-color:var(--qxs-overlay-color-lighter);height:100%;opacity:0;position:absolute;top:0;transition:opacity .3s;width:100%}.qxs-image-upload__upload-container .image .mask .actions{align-items:center;display:flex;flex-wrap:wrap;height:100px;justify-content:center;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:100px}.qxs-image-upload__upload-container .image .mask .actions span{color:var(--qxs-color-white);cursor:pointer;text-align:center;transition:color .1s,transform .1s;width:50%}.qxs-image-upload__upload-container .image .mask .actions span:hover{transform:scale(1.5)}.qxs-image-upload__upload-container .image .mask .actions span [class*=-icon]{font-size:24px}.qxs-image-upload__upload-container .image:hover .mask{opacity:1}.qxs-image-upload__image-upload{display:inline-block;vertical-align:top}.qxs-image-upload__upload-container [class*=-upload]{font-size:0}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger]{display:inline-block;font-size:0;padding:0}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger].is-dragover{border-width:1px}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger] .image-slot{align-items:center;background-color:#f5f5f5;color:var(--qxs-text-color-placeholder);display:flex;flex-direction:column;font-size:14px;height:100%;justify-content:center;transition:all .3s;width:100%}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger] .image-slot:hover{background-color:#eee}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger] .image-slot [class*=-icon]{font-size:28px}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger] .image-slot p{color:#5a5a5a;line-height:1em;margin-bottom:0;margin-top:10px}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger] .progress{position:absolute;top:0}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger] .progress:after{background-color:var(--qxs-overlay-color-lighter);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger] .progress [class*=-progress]{left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);z-index:1}.qxs-image-upload__upload-container [class*=-upload] [class*=-upload-dragger] .progress [class*=-progress] [class*=-progress__text]{color:var(--qxs-text-color-placeholder)}.qxs-file-upload__control [class*=-upload].is-drag{display:inline-block}.qxs-file-upload__control [class*=-upload].is-drag [class*=-upload-dragger]{padding:0}.qxs-file-upload__control [class*=-upload].is-drag [class*=-upload-dragger] [class*=-icon--upload]{font-size:40px;margin-bottom:0}.qxs-file-upload__control [class*=-upload].is-drag [class*=-upload-dragger] [class*=-upload__text]{font-size:14px;line-height:1.5;padding:0 6px}.qxs-file-upload__control [class*=-upload].is-drag.is-dragover{border-width:1px}.qxs-file-upload__control [class*=-upload].is-drag .slot{height:90px;width:160px}.qxs-tiny-mce-editor :deep(.tox-tinymce){border-radius:4px;border-width:1px}.qxs-tiny-mce-editor :deep(.tox-tinymce) .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 :deep(.tox-tinymce) :deep(.tox-sidebar-wrap){max-height:600px;overflow-y:auto}.tox-tinymce-aux{z-index:2500!important}.qxs-subject-list__list-exam .flex-items-center{align-items:center;display:flex}.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 .preview-answer{display:flex;flex-direction:column;margin-bottom:10px}.qxs-subject-list__list-exam .flex{align-items:center;display:flex}.qxs-subject-list__list-exam .flex-1{flex:1}.qxs-subject-list__list-exam .subject-list-wrapper{margin-bottom:20px;width:100%}.qxs-subject-list__list-exam .margin-bottom{margin-bottom:20px}.qxs-subject-list__list-exam .label{margin-right:10px;min-width:50px}.qxs-subject-list__list-exam .auto-line{background-color:#c8c8c8;flex:1;height:1px;margin:0 15px}.qxs-subject-single__single-exam .flex{align-items:center;display:flex}.qxs-subject-single__single-exam .margin-bottom{margin-bottom:20px}.qxs-subject-single__single-exam .answer-list{padding-left:24px}.qxs-subject-single__single-exam .answer-list .answer-item{margin-top:15px}.qxs-subject-single__single-exam .answer-list .answer-item .order{margin-right:8px;width:16px}.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:700}.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{color:#3d61e3;cursor:pointer;font-size:18px;margin-left:5px}.qxs-subject-single__single-exam .answer-list .answer-item .disabled{color:#c0c4cc;cursor:not-allowed}.qxs-subject-single__single-exam .preview .title{font-weight:500}.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{align-items:center;display:flex}.qxs-subject-blank-fill__blank-fill-exam .label{margin-right:10px;min-width:50px}.qxs-subject-blank-fill__blank-fill-exam .margin-bottom{margin-bottom:20px}.qxs-subject-blank-fill__blank-fill-exam .answer-list .answer-item{margin-top:15px;width:100%}.qxs-subject-blank-fill__blank-fill-exam .answer-list .answer-item .answer-tags{border:1px solid #eee;border-radius:4px;flex:1;padding:5px 15px}.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 .title{font-weight:500}.qxs-subject-blank-fill__blank-fill-exam .preview .content{background-color:#fff;min-height:100px;padding-top:10px}.qxs-subject-text-fill__text-fill-exam .flex{align-items:center;display:flex}.qxs-subject-text-fill__text-fill-exam .label{margin-right:10px;min-width:50px}.qxs-subject-text-fill__text-fill-exam .margin-bottom{margin-bottom:20px}.qxs-subject-text-fill__text-fill-exam .answer-list .answer-item{margin-top:15px;width:100%}.qxs-subject-text-fill__text-fill-exam .answer-list .answer-item .answer-tags{border:1px solid #eee;border-radius:4px;flex:1;padding:5px 15px}.qxs-subject-text-fill__text-fill-exam .answer-list .answer-item .operation .icon{color:#3d61e3;cursor:pointer;font-size:16px;margin:0 5px}.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 .title{font-weight:500}.qxs-subject-text-fill__text-fill-exam .preview .content{margin-top:10px;min-height:100px}.qxs-subject-scale__scale-exam .flex{align-items:center;display:flex}.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{margin-right:8px;width:16px}.qxs-subject-scale__scale-exam .answer .answer-list .answer-item .icon{color:#3d61e3;cursor:pointer;font-size:16px;margin:0 5px}.qxs-subject-scale__scale-exam .answer .answer-list .answer-item .disabled{color:#c0c4cc;cursor:not-allowed}.qxs-subject-scale__scale-exam .preview .title{font-weight:500}.qxs-subject-scale__scale-exam .preview .answer-radio .radio-item .qxs-radio-wrapper{margin-inline-end:0}.qxs-subject-layout__layout-exam{color:#5a5a5a;font-size:12px;padding:10px}.qxs-subject-layout__layout-exam .edit{background-color:#f6f7fb;margin-top:20px;padding:20px 10px 10px;position:relative}.qxs-subject-layout__layout-exam .edit .triangle-up{border-bottom:20px solid #f6f7fb;border-left:20px solid transparent;border-right:20px solid transparent;height:0;left:100px;position:absolute;top:-20px;width:0}.qxs-subject-action__action-exam .action{padding:20px 10px}.qxs-subject-action__action-exam .active{background-color:#f6f7fb}.qxs-subject-action__action-exam .btn-margin{margin-right:10px}.qxs-subject-action__action-exam .has-set{align-items:center;color:#bbb;display:flex;font-size:12px}.qxs-subject-action__action-exam .vertical-radio-group{align-items:flex-start;display:flex;flex-direction:column;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{align-items:center;display:flex;flex-wrap:wrap}.qxs-subject-type__type-list .base-subject .item{background:#fafafa;color:#5a5a5a;cursor:pointer;font-size:12px;height:22px;margin-right:10px;margin-top:10px;text-align:center;width:50px}.qxs-subject-type__type-list .base-subject .item:hover{background:rgba(61,97,227,.12);color:#3d61e3}
package/types/index.d.ts CHANGED
@@ -1 +1,6 @@
1
- import t from"./src/defaults.d.ts";export{QxsDataChart}from"./src/data-chart/index.d.ts";export{QxsFileUpload}from"./src/file-upload/index.d.ts";export{QxsFixedActionBar}from"./src/fixed-action-bar/index.d.ts";export{QxsImageUpload}from"./src/image-upload/index.d.ts";export{QxsPhotoCropTool}from"./src/photo-crop-tool/index.d.ts";export{QxsSubjectAction}from"./src/subject-action/index.d.ts";export{QxsSubjectLayout}from"./src/subject-layout/index.d.ts";export{QxsSubjectList}from"./src/subject-list/index.d.ts";export{QxsSubjectType}from"./src/subject-type/index.d.ts";export{QxsTinyMceEditor}from"./src/tiny-mce-editor/index.d.ts";const o=t.install,e=t.version;export{t as default,o as install,e as version};
1
+ import installer from './src/defaults';
2
+ export * from './src/components';
3
+ export declare const install: (app: any) => void;
4
+ export declare const version: string;
5
+ export default installer;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAEtC,cAAc,kBAAkB,CAAA;AAEhC,eAAO,MAAM,OAAO,oBAAoB,CAAA;AACxC,eAAO,MAAM,OAAO,QAAoB,CAAA;AACxC,eAAe,SAAS,CAAA"}
@@ -0,0 +1,2 @@
1
+ import '../../../../theme-chalk/base.css';
2
+ //# sourceMappingURL=css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css.d.ts","sourceRoot":"","sources":["../../../../../../packages/components/src/base/style/css.ts"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import '../../../../theme-chalk/src/base.scss';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/components/src/base/style/index.ts"],"names":[],"mappings":"AAAA,OAAO,uCAAuC,CAAA"}
@@ -1 +1,11 @@
1
- export{QxsDataChart}from"./data-chart/index.d.ts";export{QxsFileUpload}from"./file-upload/index.d.ts";export{QxsFixedActionBar}from"./fixed-action-bar/index.d.ts";export{QxsImageUpload}from"./image-upload/index.d.ts";export{QxsPhotoCropTool}from"./photo-crop-tool/index.d.ts";export{QxsSubjectAction}from"./subject-action/index.d.ts";export{QxsSubjectLayout}from"./subject-layout/index.d.ts";export{QxsSubjectList}from"./subject-list/index.d.ts";export{QxsSubjectType}from"./subject-type/index.d.ts";export{QxsTinyMceEditor}from"./tiny-mce-editor/index.d.ts";
1
+ export * from './data-chart/index';
2
+ export * from './file-upload/index';
3
+ export * from './fixed-action-bar/index';
4
+ export * from './image-upload/index';
5
+ export * from './photo-crop-tool/index';
6
+ export * from './subject-action/index';
7
+ export * from './subject-layout/index';
8
+ export * from './subject-list/index';
9
+ export * from './subject-type/index';
10
+ export * from './tiny-mce-editor/index';
11
+ //# sourceMappingURL=components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../../packages/components/src/components.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAElC,cAAc,qBAAqB,CAAA;AAEnC,cAAc,0BAA0B,CAAA;AAExC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,yBAAyB,CAAA;AAEvC,cAAc,wBAAwB,CAAA;AAEtC,cAAc,wBAAwB,CAAA;AAEtC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,yBAAyB,CAAA"}
@@ -1 +1,20 @@
1
- import{withInstall as t}from"../withInstall.d.ts";import r from"./src/data-chart.vue.d.ts";const a=t(r);export{a as QxsDataChart,a as default};
1
+ declare const QxsDataChart: import("../withInstall").SFCWithInstall<import("vue").DefineComponent<{
2
+ modelName?: string;
3
+ showTypeName?: import("./src/types/index").IconRow["showTypeName"];
4
+ subShowType?: string;
5
+ data?: import("./src/types/index").EChartData;
6
+ chartOptions?: import("echarts").EChartsOption;
7
+ jsCodeSnippet?: string;
8
+ }, {
9
+ exportExal: () => void;
10
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
11
+ modelName?: string;
12
+ showTypeName?: import("./src/types/index").IconRow["showTypeName"];
13
+ subShowType?: string;
14
+ data?: import("./src/types/index").EChartData;
15
+ chartOptions?: import("echarts").EChartsOption;
16
+ jsCodeSnippet?: string;
17
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>> & Record<string, any>;
18
+ export { QxsDataChart, };
19
+ export default QxsDataChart;
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/components/src/data-chart/index.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;wHAAyB,CAAA;AAE3C,OAAO,EACL,YAAY,GACb,CAAA;AACD,eAAe,YAAY,CAAA"}
@@ -0,0 +1,23 @@
1
+ import type { EChartData } from './types';
2
+ export declare function getObjectValue(obj: any, pathArr: string[]): any;
3
+ interface IHandlerFunction {
4
+ handler?: ({ sourceData, dealJson }: {
5
+ sourceData: EChartData['data'];
6
+ dealJson: any;
7
+ }) => string | number;
8
+ dealOptSchema?: {
9
+ label: string;
10
+ cascaderProps: {
11
+ value: string;
12
+ label: string;
13
+ };
14
+ select: any[];
15
+ interactionType?: 'select' | 'input';
16
+ }[];
17
+ }
18
+ export interface IkeysMap {
19
+ [key: string]: IHandlerFunction | IkeysMap;
20
+ }
21
+ export declare const keysMap: IkeysMap;
22
+ export {};
23
+ //# sourceMappingURL=analyze.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../../../../../packages/components/src/data-chart/src/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAEzD;AAGD,UAAU,gBAAgB;IACxB,OAAO,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAA;KAAE,KAAK,MAAM,GAAG,MAAM,CAAA;IAC1G,aAAa,CAAC,EAAE;QACd,KAAK,EAAE,MAAM,CAAA;QACb,aAAa,EAAE;YACb,KAAK,EAAE,MAAM,CAAA;YACb,KAAK,EAAE,MAAM,CAAA;SACd,CAAA;QACD,MAAM,EAAE,GAAG,EAAE,CAAA;QACb,eAAe,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;KACrC,EAAE,CAAA;CACJ;AACD,MAAM,WAAW,QAAQ;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,QAAQ,CAAA;CAC3C;AACD,eAAO,MAAM,OAAO,EAAE,QAqcrB,CAAA"}
@@ -1 +1,8 @@
1
- import r from"./area.vue.d2.ts";import"./area.vue.d3.ts";import e from"../../../../_virtual/_plugin-vue_export-helper.d.ts";var t=e(r,[["__scopeId","data-v-51660d7b"]]);export{t as default};
1
+ import type { EChartsOption, IFormatPublicData } from '../types';
2
+ type __VLS_Props = {
3
+ chartOptions: EChartsOption;
4
+ chartData?: IFormatPublicData;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
+ export default _default;
8
+ //# sourceMappingURL=area.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"area.vue.d.ts","sourceRoot":"","sources":["../../../../../../../packages/components/src/data-chart/src/components/area.vue"],"names":[],"mappings":"AAuPA,OAAO,KAAK,EAAE,aAAa,EAAW,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAUzE,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,aAAa,CAAA;IAC3B,SAAS,CAAC,EAAE,iBAAiB,CAAA;CAC9B,CAAC;;AA6OF,wBAMG"}
@@ -1 +1,9 @@
1
- import{defineComponent as e,inject as a,ref as t,computed as s,createElementBlock as r,openBlock as o}from"vue";import{uniq as c}from"lodash-es";import{InjectionChartMerge as l}from"../utils/injectionKeys.d.ts";import{useCharts as i}from"../utils/useCharts.d.ts";var p=e({name:"DataChartBar",__name:"bar",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},subShowType:{type:String,required:!0,default:"bar-simple"},chartOptions:{type:null,required:!0}},setup(e){const p=a(l,(e=>e),!0),u=t(null),n=s((()=>{const{colDesc:a,xGroupByDesc:t,groupByDesc:s,data:r=[],modelName:o}=e.chartData,l=Array.from(new Set(r.map((e=>e[t.colDesc||""]))))||[],i=s.find((e=>!e.xAxis))||{groupByValues:[],colDesc:""};i.groupByValues=c(r.map((e=>i.colDesc?String(e[i.colDesc]):""))),t&&t.groupByValues&&(t.groupByValues=c(r.map((e=>t.colDesc?String(e[t.colDesc]):""))));const u={title:{text:o},xAxis:{name:"",type:"category",axisLabel:{interval:0,formatter:e=>e.length>5?`${e.substring(0,5)}...`:e},data:l},yAxis:{type:"value"},legend:{data:[]},dataZoom:[{type:"inside",disabled:l.length<15}]};if(1===s.length)u.series=a.map((e=>({name:e,data:r.map((a=>a[e])),type:"bar",emphasis:{focus:"series"},label:{show:!0,position:"inside"}}))),u.legend.data=a;else if(2===s.length){const e=a.map((e=>i.groupByValues?.map((a=>{const s={name:`${a||"/"}-${e}`,type:"bar",stack:e,emphasis:{focus:"series"},data:[],label:{show:!0,position:"inside"}};return s.data=(t.groupByValues||[]).map((e=>{let o=null;return r.forEach((r=>{i.colDesc&&r[i.colDesc]===a&&t.colDesc&&r[t.colDesc]===e&&s.stack&&(o=r[s.stack]??null)})),o||""})).filter((e=>""!==e)),s}))||[])).flat();u.series=e,delete u.legend}function n(e,a,t,s){Array.isArray(e)?e.forEach((e=>{e&&(e.type=a,"category"===a&&(e.data=t||[],e.name=s||""))})):e&&(e.type=a,"category"===a&&(e.data=t||[],e.name=s||""))}switch(e.subShowType){case"bar-simple":case"default":n(u.xAxis,"category",l,t.colDesc||""),n(u.yAxis,"value");break;case"bar-y-category":n(u.xAxis,"value"),n(u.yAxis,"category",l,t.colDesc||"")}return p(u,e.chartOptions)}));return i({chartDOM:u,chartOptions:n,chartData:s((()=>e.chartData))}),(e,a)=>(o(),r("div",{ref_key:"dataChartBar",ref:u,class:"data-chart-bar"},null,512))}});export{p as default};
1
+ import type { EChartsOption, IFormatPublicData } from '../types';
2
+ type __VLS_Props = {
3
+ chartData: IFormatPublicData;
4
+ subShowType: string;
5
+ chartOptions: EChartsOption;
6
+ };
7
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
+ export default _default;
9
+ //# sourceMappingURL=bar.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bar.vue.d.ts","sourceRoot":"","sources":["../../../../../../../packages/components/src/data-chart/src/components/bar.vue"],"names":[],"mappings":"AAwMA,OAAO,KAAK,EAEV,aAAa,EACb,iBAAiB,EAElB,MAAM,UAAU,CAAA;AAWjB,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,aAAa,CAAA;CAC5B,CAAC;;AA+MF,wBAMG"}
@@ -1 +1,27 @@
1
- import r from"./card.vue.d2.ts";import"./card.vue.d3.ts";import t from"../../../../_virtual/_plugin-vue_export-helper.d.ts";var e=t(r,[["__scopeId","data-v-1c14c088"]]);export{e as default};
1
+ import type { PropType } from 'vue';
2
+ import type { IFormatPublicData } from '../types';
3
+ declare const _default: import("vue").DefineComponent<globalThis.ExtractPropTypes<{
4
+ chartData: {
5
+ type: PropType<IFormatPublicData>;
6
+ default: () => {
7
+ colDesc: never[];
8
+ xGroupByDesc: never[];
9
+ data: never[];
10
+ modelName: string;
11
+ };
12
+ };
13
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<{
14
+ chartData: {
15
+ type: PropType<IFormatPublicData>;
16
+ default: () => {
17
+ colDesc: never[];
18
+ xGroupByDesc: never[];
19
+ data: never[];
20
+ modelName: string;
21
+ };
22
+ };
23
+ }>> & Readonly<{}>, {
24
+ chartData: IFormatPublicData;
25
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
26
+ export default _default;
27
+ //# sourceMappingURL=card.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.vue.d.ts","sourceRoot":"","sources":["../../../../../../../packages/components/src/data-chart/src/components/card.vue"],"names":[],"mappings":"AAuJA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,KAAK,EAAc,iBAAiB,EAAE,MAAM,UAAU,CAAA;;;cAwLzC,QAAQ,CAAC,iBAAiB,CAAC;;;;;;;;;;cAA3B,QAAQ,CAAC,iBAAiB,CAAC;;;;;;;;;;;AAP/C,wBAgBG"}
@@ -1 +1,11 @@
1
- import{defineComponent as e,createElementBlock as t,openBlock as i,normalizeClass as r,unref as s,createElementVNode as p,normalizeStyle as a,toDisplayString as m}from"vue";import o from"./empty.svg.d.ts";import{useNamespace as d}from"@qxs-bns/hooks";const n={class:"empty-content"},c=["src","alt"],l={class:"empty-description"};var u=e({name:"Empty",__name:"empty",props:{image:{type:String,required:!1,default:()=>o},description:{type:String,required:!1,default:"暂无数据"},imageSize:{type:Object,required:!1,default:()=>({width:"200px",height:"80px"})}},setup(e){const o=d("data-chart");return(e,d)=>(i(),t("div",{class:r([s(o).e("empty")])},[p("div",n,[p("img",{style:a(e.imageSize),src:e.image,alt:e.description},null,12,c),p("span",l,m(e.description),1)])],2))}});export{u as default};
1
+ interface Props {
2
+ image?: string;
3
+ description?: string;
4
+ imageSize?: {
5
+ width: string;
6
+ height: string;
7
+ };
8
+ }
9
+ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ export default _default;
11
+ //# sourceMappingURL=empty.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty.vue.d.ts","sourceRoot":"","sources":["../../../../../../../packages/components/src/data-chart/src/components/empty.vue"],"names":[],"mappings":"AAmDA,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;;AAoDD,wBAMG"}
@@ -1 +1,8 @@
1
- import{defineComponent as e,ref as t,inject as a,computed as r,createElementBlock as l,openBlock as s}from"vue";import{InjectionChartMerge as n}from"../utils/injectionKeys.d.ts";import{useCharts as o}from"../utils/useCharts.d.ts";var c=e({name:"DataChartFunnel",__name:"funnel",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},chartOptions:{type:null,required:!0}},setup(e){const c=t(),i=a(n,(e=>e),!0),u=r((()=>{const{colDesc:t,xGroupByDesc:a,modelName:r,data:l}=e.chartData,s={title:{text:r},legend:{},series:t.map((e=>({name:e,type:"funnel",left:"10%",width:"80%",label:{formatter:"{c}"},labelLine:{show:!1},itemStyle:{opacity:.7},emphasis:{label:{position:"inside",formatter:`{b}${e}: {c}`}},data:l.map((t=>({name:t[a?.colDesc||""],value:t[e]})))})))};return 1!==t.length&&(s.legend.data=t),i(s,e.chartOptions)}));return o({chartDOM:c,chartOptions:u,chartData:r((()=>e.chartData))}),(e,t)=>(s(),l("div",{ref_key:"dataChartFunnel",ref:c,class:"data-chart-funnel"},null,512))}});export{c as default};
1
+ import type { EChartsOption, IFormatPublicData } from '../types';
2
+ type __VLS_Props = {
3
+ chartData: IFormatPublicData;
4
+ chartOptions: EChartsOption;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
+ export default _default;
8
+ //# sourceMappingURL=funnel.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"funnel.vue.d.ts","sourceRoot":"","sources":["../../../../../../../packages/components/src/data-chart/src/components/funnel.vue"],"names":[],"mappings":"AA+EA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAOhE,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,YAAY,EAAE,aAAa,CAAA;CAC5B,CAAC;;AAgGF,wBAMG"}
@@ -1 +1,9 @@
1
- import e from"./line.vue.d2.ts";import"./line.vue.d3.ts";import t from"../../../../_virtual/_plugin-vue_export-helper.d.ts";var r=t(e,[["__scopeId","data-v-397864aa"]]);export{r as default};
1
+ import type { EChartsOption, IFormatPublicData } from '../types';
2
+ type __VLS_Props = {
3
+ chartData: IFormatPublicData;
4
+ subShowType: string;
5
+ chartOptions: EChartsOption;
6
+ };
7
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
+ export default _default;
9
+ //# sourceMappingURL=line.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line.vue.d.ts","sourceRoot":"","sources":["../../../../../../../packages/components/src/data-chart/src/components/line.vue"],"names":[],"mappings":"AAwJA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAOhE,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,aAAa,CAAA;CAC5B,CAAC;;AAqKF,wBAMG"}
@@ -1 +1,9 @@
1
- import{defineComponent as e,inject as t,ref as r,computed as a,createElementBlock as o,openBlock as s}from"vue";import{orderBy as c,cloneDeep as i}from"lodash-es";import{InjectionChartMerge as l}from"../utils/injectionKeys.d.ts";import{useCharts as n}from"../utils/useCharts.d.ts";var u=e({name:"DataChartPie",__name:"pie",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},subShowType:{type:String,required:!0,default:"pie-simple"},chartOptions:{type:null,required:!0}},setup(e){const u=t(l,(e=>e),!0),p=r(null),h=a((()=>{const{colDesc:t,xGroupByDesc:r,data:a,modelName:o}=e.chartData,s=t.length,l={title:{text:o},series:t.map(((t,o)=>{const l={name:t,type:"pie",center:["50%","50%"],data:[],emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}},label:{formatter:"{b}:{c}({d}%)",rich:{b:{color:"#4C5058",fontSize:14,fontWeight:"bold",lineHeight:33}}}};let n=5;const u=c(i(a),[t],["desc"]),p=u.reduce(((e,r)=>e+Number(r[t])),0);if(a.length>n)for(;n<9;){const e=u.slice(0,n);if(e.reduce(((e,r)=>e+Number(r[t])),0)/p>.9||8===n){const o=u.slice(n,u.length-1);l.data=a.map((a=>{let o={};return e.forEach((e=>{JSON.stringify(e)===JSON.stringify(a)&&(o={name:r?.colDesc?a[r.colDesc]:"",value:a[t]})})),o})).filter((e=>e)),l.data.push({name:"其它",value:o.reduce(((e,r)=>e+Number(r[t])),0)});break}n++}else l.data=a.map((e=>({name:r?.colDesc?e[r.colDesc]:"",value:Number(e[t])})));if(1===s?l.center=["50%","60%"]:2===s?0===o?(l.right="40%",l.left="",l.center=["40%","60%"]):(l.right="",l.left="40%",l.center=["60%","60%"]):3===s?0===o?(l.right="40%",l.bottom="50%",l.top="",l.left="",l.center=["40%","78%"]):1===o?(l.right="",l.bottom="50%",l.top="",l.left="40%",l.center=["60%","78%"]):(l.right="40%",l.bottom="",l.top="50%",l.left="",l.center=["40%","60%"]):4===s&&(0===o?(l.right="40%",l.bottom="50%",l.top="",l.left="",l.center=["40%","78%"]):1===o?(l.right="",l.bottom="50%",l.top="",l.left="40%",l.center=["60%","78%"]):2===o?(l.right="40%",l.bottom="",l.top="50%",l.left="",l.center=["40%","60%"]):(l.right="",l.bottom="",l.top="50%",l.left="40%",l.center=["60%","60%"])),"pie-borderRadius"===e.subShowType)l.radius=["50%","70%"];else l.radius="50%";return l}))};return u(l,e.chartOptions)}));return n({chartDOM:p,chartOptions:h,chartData:a((()=>e.chartData))}),(e,t)=>(s(),o("div",{ref_key:"dataChartPie",ref:p,class:"data-chart-pie"},null,512))}});export{u as default};
1
+ import type { EChartsOption, IFormatPublicData } from "../types";
2
+ type __VLS_Props = {
3
+ chartData: IFormatPublicData;
4
+ subShowType: string;
5
+ chartOptions: EChartsOption;
6
+ };
7
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
+ export default _default;
9
+ //# sourceMappingURL=pie.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pie.vue.d.ts","sourceRoot":"","sources":["../../../../../../../packages/components/src/data-chart/src/components/pie.vue"],"names":[],"mappings":"AAuNA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAQjE,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,aAAa,CAAC;CAC7B,CAAC;;AAsOF,wBAMG"}
@@ -1 +1,8 @@
1
- import{defineComponent as a,ref as r,inject as e,computed as t,createElementBlock as o,openBlock as s}from"vue";import{uniq as u}from"lodash-es";import{InjectionChartMerge as c}from"../utils/injectionKeys.d.ts";import{useCharts as l}from"../utils/useCharts.d.ts";var p=a({name:"DataChartRadar",__name:"radar",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},chartOptions:{type:null,required:!0}},setup(a){const p=r(),m=e(c,(a=>a),!0),i=t((()=>{const{colDesc:r,xGroupByDesc:e,modelName:t,data:o}=a.chartData;e?.groupByValues&&(e.groupByValues=[]),e.groupByValues=u(o.map((a=>a[e.colDesc||""])).filter((a=>a)));const s={title:{text:t},radar:{indicator:e?.groupByValues?.map((a=>({name:a,max:Math.max(...o.map((a=>Number(a[r[0]]))))})))||[]},series:[{name:e?.colDesc,type:"radar",tooltip:{trigger:"item"},data:r.map((a=>({name:a,value:e?.groupByValues?.map((r=>o.map((t=>r===t[e.colDesc||""]?t[a]:null)).filter((a=>a)).reduce(((a,r)=>Number(a||0)+Number(r||0)),0)))})))}]};return m(s,a.chartOptions)}));return l({chartDOM:p,chartOptions:i,chartData:t((()=>a.chartData))}),(a,r)=>(s(),o("div",{ref_key:"dataChartRadar",ref:p,class:"data-chart-radar"},null,512))}});export{p as default};
1
+ import type { EChartsOption, IFormatPublicData } from '../types';
2
+ type __VLS_Props = {
3
+ chartData: IFormatPublicData;
4
+ chartOptions: EChartsOption;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
+ export default _default;
8
+ //# sourceMappingURL=radar.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radar.vue.d.ts","sourceRoot":"","sources":["../../../../../../../packages/components/src/data-chart/src/components/radar.vue"],"names":[],"mappings":"AAmFA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAShE,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,YAAY,EAAE,aAAa,CAAA;CAC5B,CAAC;;AAoGF,wBAMG"}
@@ -1 +1,8 @@
1
- import{defineComponent as e,ref as t,inject as a,computed as r,createElementBlock as s,openBlock as c}from"vue";import{InjectionChartMerge as o}from"../utils/injectionKeys.d.ts";import{useCharts as l}from"../utils/useCharts.d.ts";var p=e({name:"DataChartScatterSimple",__name:"scatter-simple",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},chartOptions:{type:null,required:!0}},setup(e){const p=t(),i=a(o,(e=>e),!0),m=r((()=>{const{colDesc:t,xGroupByDesc:a,modelName:r,data:s}=e.chartData,c={title:{text:r},tooltip:{formatter:e=>e.value.length>1?`${e.seriesName} :<br/>${e.value[0]} ${e.value[1]} `:`${e.seriesName} :<br/>${e.name} : ${e.value} `},series:t.map((e=>({symbolSize:20,name:e,data:s.map((t=>[t[e],t[a?.colDesc||""]])),type:"scatter"})))};return i(c,e.chartOptions)}));return l({chartDOM:p,chartOptions:m,chartData:r((()=>e.chartData))}),(e,t)=>(c(),s("div",{ref_key:"dataChartScatterSimple",ref:p,class:"data-chart-scatter-simple"},null,512))}});export{p as default};
1
+ import type { EChartsOption, IFormatPublicData } from '../types';
2
+ type __VLS_Props = {
3
+ chartData: IFormatPublicData;
4
+ chartOptions: EChartsOption;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
+ export default _default;
8
+ //# sourceMappingURL=scatter-simple.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scatter-simple.vue.d.ts","sourceRoot":"","sources":["../../../../../../../packages/components/src/data-chart/src/components/scatter-simple.vue"],"names":[],"mappings":"AA4EA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAOhE,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,YAAY,EAAE,aAAa,CAAA;CAC5B,CAAC;;AA+FF,wBAMG"}
@@ -1 +1,8 @@
1
- import{defineComponent as t,ref as a,inject as e,computed as r,createElementBlock as s,openBlock as c}from"vue";import{InjectionChartMerge as o}from"../utils/injectionKeys.d.ts";import{useCharts as i}from"../utils/useCharts.d.ts";var p=t({name:"DataChartScatter",__name:"scatter",props:{chartData:{type:Object,required:!0,default:()=>({colDesc:[],xGroupByDesc:{colDesc:"",groupByDesc:"",groupByValues:[],xAxis:!1},groupByDesc:[],data:[],modelName:""})},chartOptions:{type:null,required:!0}},setup(t){const p=a(),u=e(o,(t=>t),!0),l=r((()=>u({xAxis:{},yAxis:{},series:[{symbolSize:20,data:[[10,8.04],[8.07,6.95],[13,7.58],[9.05,8.81],[11,8.33],[14,7.66],[13.4,6.81],[10,6.33],[14,8.96],[12.5,6.82],[9.15,7.2],[11.5,7.2],[3.03,4.23],[12.2,7.83],[2.02,4.47],[1.05,3.33],[4.05,4.96],[6.03,7.24],[12,6.26],[12,8.84],[7.08,5.82],[5.02,5.68]],type:"scatter"}]},t.chartOptions)));return i({chartDOM:p,chartOptions:l,chartData:r((()=>t.chartData))}),(t,a)=>(c(),s("div",{ref_key:"dataChartScatter",ref:p,class:"data-chart-scatter"},null,512))}});export{p as default};
1
+ import type { EChartsOption, IFormatPublicData } from '../types';
2
+ type __VLS_Props = {
3
+ chartData: IFormatPublicData;
4
+ chartOptions: EChartsOption;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
+ export default _default;
8
+ //# sourceMappingURL=scatter.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scatter.vue.d.ts","sourceRoot":"","sources":["../../../../../../../packages/components/src/data-chart/src/components/scatter.vue"],"names":[],"mappings":"AA6EA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAQhE,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,YAAY,EAAE,aAAa,CAAA;CAC5B,CAAC;;AA+FF,wBAMG"}