@qxs-bns/components 0.0.80 → 0.0.82

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 (68) hide show
  1. package/es/package.json.mjs +1 -1
  2. package/es/src/subject-action/src/subject-action.vue.mjs +1 -1
  3. package/es/src/subject-action/src/subject-action.vue.mjs.map +1 -1
  4. package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs +1 -1
  5. package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs.map +1 -1
  6. package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs +1 -1
  7. package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs.map +1 -1
  8. package/es/src/subject-list/src/components/subject-scale.vue.mjs +1 -1
  9. package/es/src/subject-list/src/components/subject-scale.vue.mjs.map +1 -1
  10. package/es/src/subject-list/src/components/subject-single.vue.mjs +1 -1
  11. package/es/src/subject-list/src/components/subject-single.vue.mjs.map +1 -1
  12. package/es/src/subject-list/src/components/subject-text-fill.vue.mjs +1 -1
  13. package/es/src/subject-list/src/components/subject-text-fill.vue.mjs.map +1 -1
  14. package/es/src/subject-list/src/subject-list.vue.mjs +1 -1
  15. package/es/src/subject-list/src/subject-list.vue.mjs.map +1 -1
  16. package/lib/package.json.cjs +1 -1
  17. package/lib/src/subject-action/src/subject-action.vue.cjs +1 -1
  18. package/lib/src/subject-action/src/subject-action.vue.cjs.map +1 -1
  19. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs +1 -1
  20. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs.map +1 -1
  21. package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs +1 -1
  22. package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs.map +1 -1
  23. package/lib/src/subject-list/src/components/subject-scale.vue.cjs +1 -1
  24. package/lib/src/subject-list/src/components/subject-scale.vue.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/lib/src/subject-list/src/components/subject-text-fill.vue.cjs +1 -1
  28. package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs.map +1 -1
  29. package/lib/src/subject-list/src/subject-list.vue.cjs +1 -1
  30. package/lib/src/subject-list/src/subject-list.vue.cjs.map +1 -1
  31. package/package.json +4 -3
  32. package/theme-chalk/index.css +1 -1
  33. package/theme-chalk/src/image-upload.css +1 -1
  34. package/theme-chalk/src/image-upload.scss +2 -1
  35. package/theme-chalk/src/normalize.css +1 -1
  36. package/theme-chalk/src/normalize.scss +4 -132
  37. package/types/src/data-chart/src/components/area.vue.d.ts.map +1 -1
  38. package/types/src/data-chart/src/components/bar.vue.d.ts.map +1 -1
  39. package/types/src/data-chart/src/components/card.vue.d.ts.map +1 -1
  40. package/types/src/data-chart/src/components/empty.vue.d.ts.map +1 -1
  41. package/types/src/data-chart/src/components/funnel.vue.d.ts.map +1 -1
  42. package/types/src/data-chart/src/components/line.vue.d.ts.map +1 -1
  43. package/types/src/data-chart/src/components/pie.vue.d.ts.map +1 -1
  44. package/types/src/data-chart/src/components/radar.vue.d.ts.map +1 -1
  45. package/types/src/data-chart/src/components/scatter-simple.vue.d.ts.map +1 -1
  46. package/types/src/data-chart/src/components/scatter.vue.d.ts.map +1 -1
  47. package/types/src/data-chart/src/components/table.vue.d.ts.map +1 -1
  48. package/types/src/data-chart/src/data-chart.vue.d.ts.map +1 -1
  49. package/types/src/file-upload/src/file-upload.vue.d.ts.map +1 -1
  50. package/types/src/fixed-action-bar/src/fixed-action-bar.vue.d.ts.map +1 -1
  51. package/types/src/icon/src/icon.vue.d.ts.map +1 -1
  52. package/types/src/image-upload/src/image-upload.vue.d.ts +3 -3
  53. package/types/src/image-upload/src/image-upload.vue.d.ts.map +1 -1
  54. package/types/src/photo-crop-tool/src/photo-crop-tool.vue.d.ts.map +1 -1
  55. package/types/src/subject-action/src/subject-action.vue.d.ts.map +1 -1
  56. package/types/src/subject-layout/src/subject-layout.vue.d.ts.map +1 -1
  57. package/types/src/subject-list/src/components/SubjectPageEnd.vue.d.ts.map +1 -1
  58. package/types/src/subject-list/src/components/SubjectRichText.vue.d.ts.map +1 -1
  59. package/types/src/subject-list/src/components/subject-blank-fill.vue.d.ts.map +1 -1
  60. package/types/src/subject-list/src/components/subject-scale.vue.d.ts.map +1 -1
  61. package/types/src/subject-list/src/components/subject-single.vue.d.ts +1 -1
  62. package/types/src/subject-list/src/components/subject-single.vue.d.ts.map +1 -1
  63. package/types/src/subject-list/src/components/subject-text-fill.vue.d.ts.map +1 -1
  64. package/types/src/subject-list/src/subject-list.vue.d.ts.map +1 -1
  65. package/types/src/subject-type/src/subject-type.vue.d.ts.map +1 -1
  66. package/types/src/tiny-mce-editor/index.d.ts.map +1 -1
  67. package/types/src/tiny-mce-editor/src/tiny-mce-editor.vue.d.ts.map +1 -1
  68. package/types/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"subject-action.vue.cjs","sources":["../../../../../../packages/components/src/subject-action/src/subject-action.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Bottom, Delete, Edit, Top } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { computed, ref } from 'vue'\nimport SubjectType from '../../subject-type/src/subject-type.vue'\n\ndefineOptions({\n name: 'QxsSubjectAction',\n})\n\nconst props = defineProps({\n isEdit: Boolean,\n isSet: {\n type: Boolean,\n default: false,\n },\n isKey: {\n type: Boolean,\n default: false,\n },\n answerCheckType: {\n type: Number,\n default: 1,\n },\n showOtherOption: {\n type: Boolean,\n default: true,\n },\n examAnswerRelationType: {\n type: Number,\n default: null,\n },\n showRichText: {\n type: Boolean,\n default: true,\n },\n pageEnd: {\n type: Boolean,\n default: false,\n },\n})\n\nconst emits = defineEmits([\n 'moveUp',\n 'moveDown',\n 'delete',\n 'save',\n 'edit',\n 'add',\n 'onShowRichText',\n 'setKey',\n 'setAnswerSetting',\n])\nconst isKey = ref(props.isKey)\nconst showAnswerSetting = ref(false)\nconst answerType = ref(props.answerCheckType)\nconst ns = useNamespace('subject-action')\nconst checked = ref(true)\nconst answerTextList = [\n {\n value: 2,\n label: '必须全部都是支持选项,方可下一步',\n },\n {\n value: 1,\n label: '无需判断是否是支持选项',\n },\n {\n value: 3,\n label: '包含全部支持选项,即可下一步',\n },\n]\n\nconst answerText = computed(() => {\n return answerTextList.find(item => item.value === answerType.value)?.label\n})\n\nfunction onSaveSetting() {\n showAnswerSetting.value = false\n emits('setAnswerSetting', answerType.value)\n}\n\nfunction setKey() {\n emits('setKey', isKey.value)\n}\n\nfunction selectExam(type: string, canSet: boolean) {\n emits('add', type, canSet ? props.examAnswerRelationType : null)\n}\n</script>\n\n<template>\n <div :class=\"ns.e('action-exam')\">\n <div\n class=\"action flex flex-justify-between\"\n :class=\"{ active: isEdit }\"\n >\n <!-- 编辑模式 -->\n <div\n v-if=\"isEdit\"\n class=\"flex-justify-between\"\n >\n <el-popover trigger=\"click\">\n <template #reference>\n <el-link\n type=\"primary\"\n class=\"btn-margin\"\n >\n +在此题后加入新题\n </el-link>\n </template>\n <SubjectType @select=\"selectExam\" />\n </el-popover>\n <el-link\n v-if=\"showRichText\"\n type=\"primary\"\n class=\"btn-margin\"\n @click=\"emits('onShowRichText')\"\n >\n +添加题目描述(图文)\n </el-link>\n <el-link\n v-if=\"showOtherOption\"\n type=\"primary\"\n class=\"btn-margin\"\n @click=\"showAnswerSetting = true\"\n >\n 答题设置\n </el-link>\n <el-checkbox\n v-if=\"showOtherOption\"\n v-model=\"isKey\"\n label=\"核心题\"\n @change=\"setKey\"\n />\n </div>\n\n <!-- 非编辑模式 -->\n <div\n v-else\n class=\"flex-justify-between\"\n >\n <el-checkbox\n v-if=\"showOtherOption\"\n v-model=\"isKey\"\n label=\"核心题\"\n disabled\n />\n <el-checkbox\n v-if=\"showOtherOption\"\n v-model=\"checked\"\n :label=\"answerText\"\n disabled\n class=\"btn-margin\"\n />\n </div>\n\n <!-- 操作按钮 -->\n <div>\n <div\n v-if=\"isSet\"\n class=\"has-set\"\n >\n *此题设置了跳题逻辑\n </div>\n <div\n v-else\n class=\"flex flex-justify-end action-buttons\"\n >\n <template v-if=\"!isEdit\">\n <el-button\n v-if=\"!pageEnd\"\n @click=\"emits('edit')\"\n >\n <template #icon>\n <el-icon><Edit /></el-icon>\n </template>\n 编辑\n </el-button>\n <el-button @click=\"emits('delete')\">\n <template #icon>\n <el-icon><Delete /></el-icon>\n </template>\n 删除\n </el-button>\n <el-button @click=\"emits('moveUp')\">\n <template #icon>\n <el-icon><Top /></el-icon>\n </template>\n 上移\n </el-button>\n <el-button @click=\"emits('moveDown')\">\n <template #icon>\n <el-icon><Bottom /></el-icon>\n </template>\n 下移\n </el-button>\n </template>\n <template v-else>\n <el-button\n class=\"btn-margin\"\n @click=\"emits('delete')\"\n >\n 删除\n </el-button>\n <el-button\n type=\"primary\"\n @click=\"emits('save')\"\n >\n 完成编辑\n </el-button>\n </template>\n </div>\n </div>\n\n <!-- 答题设置弹窗 -->\n <el-dialog\n v-model=\"showAnswerSetting\"\n title=\"答题设置\"\n class=\"customize-dialog\"\n @close=\"showAnswerSetting = false\"\n >\n <el-radio-group\n v-model=\"answerType\"\n class=\"vertical-radio-group\"\n >\n <el-radio\n v-for=\"item in answerTextList\"\n :key=\"item.value\"\n :value=\"item.value\"\n >\n {{ item.label }}\n </el-radio>\n </el-radio-group>\n <template #footer>\n <el-button\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"showAnswerSetting = false\"\n >\n 取消\n </el-button>\n <el-button\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"onSaveSetting\"\n >\n 保存\n </el-button>\n </template>\n </el-dialog>\n </div>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","isKey","ref","showAnswerSetting","answerType","answerCheckType","ns","useNamespace","checked","answerTextList","value","label","answerText","computed","find","item","onSaveSetting","setKey","selectExam","type","canSet","examAnswerRelationType","_createElementBlock","class","_normalizeClass","_unref","e","_createElementVNode","active","isEdit","_createCommentVNode","_openBlock","_hoisted_1","_createVNode","_component_el_popover","trigger","reference","_component_el_link","_cache","SubjectType","onSelect","showRichText","_createBlock","onClick","showOtherOption","_component_el_checkbox","$event","onChange","_Fragment","key","_hoisted_2","disabled","isSet","_hoisted_3","_hoisted_4","_component_el_button","pageEnd","icon","_component_el_icon","Edit","Delete","Top","Bottom","_component_el_dialog","title","onClose","footer","plain","_component_el_radio_group","_renderList","_component_el_radio","_createTextVNode","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"subject-action.vue.cjs","sources":["../../../../../../packages/components/src/subject-action/src/subject-action.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Bottom, Delete, Edit, Top } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { ElButton, ElCheckbox, ElDialog, ElIcon, ElLink, ElPopover, ElRadio, ElRadioGroup } from 'element-plus'\nimport { computed, ref } from 'vue'\nimport SubjectType from '../../subject-type/src/subject-type.vue'\n\ndefineOptions({\n name: 'QxsSubjectAction',\n})\n\nconst props = defineProps({\n isEdit: Boolean,\n isSet: {\n type: Boolean,\n default: false,\n },\n isKey: {\n type: Boolean,\n default: false,\n },\n answerCheckType: {\n type: Number,\n default: 1,\n },\n showOtherOption: {\n type: Boolean,\n default: true,\n },\n examAnswerRelationType: {\n type: Number,\n default: null,\n },\n showRichText: {\n type: Boolean,\n default: true,\n },\n pageEnd: {\n type: Boolean,\n default: false,\n },\n})\n\nconst emits = defineEmits([\n 'moveUp',\n 'moveDown',\n 'delete',\n 'save',\n 'edit',\n 'add',\n 'onShowRichText',\n 'setKey',\n 'setAnswerSetting',\n])\nconst isKey = ref(props.isKey)\nconst showAnswerSetting = ref(false)\nconst answerType = ref(props.answerCheckType)\nconst ns = useNamespace('subject-action')\nconst checked = ref(true)\nconst answerTextList = [\n {\n value: 2,\n label: '必须全部都是支持选项,方可下一步',\n },\n {\n value: 1,\n label: '无需判断是否是支持选项',\n },\n {\n value: 3,\n label: '包含全部支持选项,即可下一步',\n },\n]\n\nconst answerText = computed(() => {\n return answerTextList.find(item => item.value === answerType.value)?.label\n})\n\nfunction onSaveSetting() {\n showAnswerSetting.value = false\n emits('setAnswerSetting', answerType.value)\n}\n\nfunction setKey() {\n emits('setKey', isKey.value)\n}\n\nfunction selectExam(type: string, canSet: boolean) {\n emits('add', type, canSet ? props.examAnswerRelationType : null)\n}\n</script>\n\n<template>\n <div :class=\"ns.e('action-exam')\">\n <div\n class=\"action flex flex-justify-between\"\n :class=\"{ active: isEdit }\"\n >\n <!-- 编辑模式 -->\n <div\n v-if=\"isEdit\"\n class=\"flex-justify-between\"\n >\n <ElPopover trigger=\"click\">\n <template #reference>\n <ElLink\n type=\"primary\"\n class=\"btn-margin\"\n >\n +在此题后加入新题\n </ElLink>\n </template>\n <SubjectType @select=\"selectExam\" />\n </ElPopover>\n <ElLink\n v-if=\"showRichText\"\n type=\"primary\"\n class=\"btn-margin\"\n @click=\"emits('onShowRichText')\"\n >\n +添加题目描述(图文)\n </ElLink>\n <ElLink\n v-if=\"showOtherOption\"\n type=\"primary\"\n class=\"btn-margin\"\n @click=\"showAnswerSetting = true\"\n >\n 答题设置\n </ElLink>\n <ElCheckbox\n v-if=\"showOtherOption\"\n v-model=\"isKey\"\n label=\"核心题\"\n @change=\"setKey\"\n />\n </div>\n\n <!-- 非编辑模式 -->\n <div\n v-else\n class=\"flex-justify-between\"\n >\n <ElCheckbox\n v-if=\"showOtherOption\"\n v-model=\"isKey\"\n label=\"核心题\"\n disabled\n />\n <ElCheckbox\n v-if=\"showOtherOption\"\n v-model=\"checked\"\n :label=\"answerText\"\n disabled\n class=\"btn-margin\"\n />\n </div>\n\n <!-- 操作按钮 -->\n <div>\n <div\n v-if=\"isSet\"\n class=\"has-set\"\n >\n *此题设置了跳题逻辑\n </div>\n <div\n v-else\n class=\"flex flex-justify-end action-buttons\"\n >\n <template v-if=\"!isEdit\">\n <ElButton\n v-if=\"!pageEnd\"\n @click=\"emits('edit')\"\n >\n <template #icon>\n <ElIcon><Edit /></ElIcon>\n </template>\n 编辑\n </ElButton>\n <ElButton @click=\"emits('delete')\">\n <template #icon>\n <ElIcon><Delete /></ElIcon>\n </template>\n 删除\n </ElButton>\n <ElButton @click=\"emits('moveUp')\">\n <template #icon>\n <ElIcon><Top /></ElIcon>\n </template>\n 上移\n </ElButton>\n <ElButton @click=\"emits('moveDown')\">\n <template #icon>\n <ElIcon><Bottom /></ElIcon>\n </template>\n 下移\n </ElButton>\n </template>\n <template v-else>\n <ElButton\n class=\"btn-margin\"\n @click=\"emits('delete')\"\n >\n 删除\n </ElButton>\n <ElButton\n type=\"primary\"\n @click=\"emits('save')\"\n >\n 完成编辑\n </ElButton>\n </template>\n </div>\n </div>\n\n <!-- 答题设置弹窗 -->\n <ElDialog\n v-model=\"showAnswerSetting\"\n title=\"答题设置\"\n class=\"customize-dialog\"\n @close=\"showAnswerSetting = false\"\n >\n <ElRadioGroup\n v-model=\"answerType\"\n class=\"vertical-radio-group\"\n >\n <ElRadio\n v-for=\"item in answerTextList\"\n :key=\"item.value\"\n :value=\"item.value\"\n >\n {{ item.label }}\n </ElRadio>\n </ElRadioGroup>\n <template #footer>\n <ElButton\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"showAnswerSetting = false\"\n >\n 取消\n </ElButton>\n <ElButton\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"onSaveSetting\"\n >\n 保存\n </ElButton>\n </template>\n </ElDialog>\n </div>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","isKey","ref","showAnswerSetting","answerType","answerCheckType","ns","useNamespace","checked","answerTextList","value","label","answerText","computed","find","item","onSaveSetting","setKey","selectExam","type","canSet","examAnswerRelationType","_createElementBlock","class","_normalizeClass","_unref","e","_createElementVNode","active","isEdit","_createCommentVNode","_openBlock","_hoisted_1","_createVNode","ElPopover","trigger","reference","ElLink","_cache","SubjectType","onSelect","showRichText","_createBlock","onClick","showOtherOption","ElCheckbox","$event","onChange","_Fragment","key","_hoisted_2","disabled","isSet","_hoisted_3","_hoisted_4","ElButton","pageEnd","icon","ElIcon","Edit","Delete","Top","Bottom","ElDialog","title","onClose","footer","plain","ElRadioGroup","_renderList","ElRadio","_createTextVNode","_toDisplayString"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@qxs-bns/hooks"),n=require("../../../subject-action/src/subject-action.vue.cjs"),o=e.defineComponent({name:"QxsSubjectScale",__name:"SubjectPageEnd",props:{currentPageIndex:{type:Number,required:!0},totalPage:{type:Number,required:!0},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},examAnswerRelationType:{type:Number,required:!1}},emits:["move","save","delete","edit","add"],setup(o,{emit:r}){const a=o,s=r;e.onMounted(function(){});const i=t.useNamespace("subject-end");return(t,o)=>{const r=e.resolveComponent("el-row");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(i).e("end-exam"))},[e.createVNode(r,{type:"flex",align:"middle"},{default:e.withCtx(()=>[o[5]||(o[5]=e.createElementVNode("span",{class:"auto-line"},null,-1)),e.createElementVNode("span",null,"第"+e.toDisplayString(a.currentPageIndex)+" / "+e.toDisplayString(t.totalPage)+"页",1),o[6]||(o[6]=e.createElementVNode("span",{class:"auto-line"},null,-1))]),_:1,__:[5,6]}),e.createVNode(n.default,{"is-edit":!1,"is-set":t.isSet,"page-end":!0,"exam-answer-relation-type":a.examAnswerRelationType,"show-other-option":!1,"show-rich-text":!1,onMoveUp:o[0]||(o[0]=e=>s("move","up")),onMoveDown:o[1]||(o[1]=e=>s("move","down")),onDelete:o[2]||(o[2]=e=>s("delete")),onEdit:o[3]||(o[3]=e=>s("edit")),onAdd:o[4]||(o[4]=e=>s("add",e))},null,8,["is-set","exam-answer-relation-type"])],2)}}});exports.default=o;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@qxs-bns/hooks"),n=require("element-plus"),o=require("../../../subject-action/src/subject-action.vue.cjs"),a=e.defineComponent({name:"QxsSubjectScale",__name:"SubjectPageEnd",props:{currentPageIndex:{type:Number,required:!0},totalPage:{type:Number,required:!0},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},examAnswerRelationType:{type:Number,required:!1}},emits:["move","save","delete","edit","add"],setup(a,{emit:r}){const s=a,i=r;e.onMounted(function(){});const l=t.useNamespace("subject-end");return(t,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(l).e("end-exam"))},[e.createVNode(e.unref(n.ElRow),{type:"flex",align:"middle"},{default:e.withCtx(()=>[a[5]||(a[5]=e.createElementVNode("span",{class:"auto-line"},null,-1)),e.createElementVNode("span",null,"第"+e.toDisplayString(s.currentPageIndex)+" / "+e.toDisplayString(t.totalPage)+"页",1),a[6]||(a[6]=e.createElementVNode("span",{class:"auto-line"},null,-1))]),_:1,__:[5,6]}),e.createVNode(o.default,{"is-edit":!1,"is-set":t.isSet,"page-end":!0,"exam-answer-relation-type":s.examAnswerRelationType,"show-other-option":!1,"show-rich-text":!1,onMoveUp:a[0]||(a[0]=e=>i("move","up")),onMoveDown:a[1]||(a[1]=e=>i("move","down")),onDelete:a[2]||(a[2]=e=>i("delete")),onEdit:a[3]||(a[3]=e=>i("edit")),onAdd:a[4]||(a[4]=e=>i("add",e))},null,8,["is-set","exam-answer-relation-type"])],2))}});exports.default=a;
2
2
  //# sourceMappingURL=SubjectPageEnd.vue.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubjectPageEnd.vue.cjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/SubjectPageEnd.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { onMounted } from 'vue'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\n\ndefineOptions({\n name: 'QxsSubjectScale',\n})\nconst props = defineProps<{\n currentPageIndex: number\n totalPage: number\n isSave: boolean\n showAction?: boolean\n isEdit: boolean\n isSet: boolean\n examAnswerRelationType?: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add'])\n\nfunction init() {\n\n}\n\nonMounted(init)\nconst ns = useNamespace('subject-end')\n</script>\n\n<template>\n <div :class=\"ns.e('end-exam')\">\n <el-row\n type=\"flex\"\n align=\"middle\"\n >\n <span class=\"auto-line\" />\n <span>第{{ props.currentPageIndex }} / {{ totalPage }}页</span>\n <span class=\"auto-line\" />\n </el-row>\n <SubjectAction\n :is-edit=\"false\"\n :is-set=\"isSet\"\n :page-end=\"true\"\n :exam-answer-relation-type=\"props.examAnswerRelationType\"\n :show-other-option=\"false\"\n :show-rich-text=\"false\"\n @move-up=\"emits('move', 'up')\"\n @move-down=\"emits('move', 'down')\"\n @delete=\"emits('delete')\"\n @edit=\"emits('edit')\"\n @add=\"type => emits('add', type)\"\n />\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","onMounted","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createVNode","_component_el_row","type","align","_createElementVNode","_toDisplayString","currentPageIndex","totalPage","SubjectAction","isSet","examAnswerRelationType","onMoveUp","onMoveDown","onDelete","onEdit","onAdd","_cache"],"mappings":"0kBAQA,MAAMA,EAAQC,EASRC,EAAQC,EAMdC,EAAAA,UAJA,WAEA,GAGA,MAAMC,EAAKC,EAAAA,aAAa,uFAItBC,EAAAA,mBAsBM,MAAA,CAtBAC,MAAKC,EAAAA,eAAEC,EAAAA,MAAAL,GAAGM,EAAC,eACfC,EAAAA,YAOSC,EAAA,CANPC,KAAK,OACLC,MAAM,6BAEN,IAA0B,aAA1BC,EAAAA,mBAA0B,OAAA,CAApBR,MAAM,aAAW,MAAA,IACvBQ,EAAAA,mBAA6D,OAAA,KAAvD,IAACC,EAAAA,gBAAGjB,EAAMkB,kBAAmB,MAAGD,kBAAGE,EAAAA,WAAY,IAAC,eACtDH,EAAAA,mBAA0B,OAAA,CAApBR,MAAM,aAAW,MAAA,qBAEzBI,EAAAA,YAYEQ,EAAAA,QAAA,CAXC,WAAS,EACT,SAAQC,EAAAA,MACR,YAAU,EACV,4BAA2BrB,EAAMsB,uBACjC,qBAAmB,EACnB,kBAAgB,EAChBC,wBAASrB,EAAK,OAAA,OACdsB,0BAAWtB,EAAK,OAAA,SAChBuB,wBAAQvB,EAAK,WACbwB,sBAAMxB,EAAK,SACXyB,MAAGC,EAAA,KAAAA,EAAA,GAAEd,GAAQZ,QAAaY"}
1
+ {"version":3,"file":"SubjectPageEnd.vue.cjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/SubjectPageEnd.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { ElRow } from 'element-plus'\nimport { onMounted } from 'vue'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\n\ndefineOptions({\n name: 'QxsSubjectScale',\n})\nconst props = defineProps<{\n currentPageIndex: number\n totalPage: number\n isSave: boolean\n showAction?: boolean\n isEdit: boolean\n isSet: boolean\n examAnswerRelationType?: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add'])\n\nfunction init() {\n\n}\n\nonMounted(init)\nconst ns = useNamespace('subject-end')\n</script>\n\n<template>\n <div :class=\"ns.e('end-exam')\">\n <ElRow\n type=\"flex\"\n align=\"middle\"\n >\n <span class=\"auto-line\" />\n <span>第{{ props.currentPageIndex }} / {{ totalPage }}页</span>\n <span class=\"auto-line\" />\n </ElRow>\n <SubjectAction\n :is-edit=\"false\"\n :is-set=\"isSet\"\n :page-end=\"true\"\n :exam-answer-relation-type=\"props.examAnswerRelationType\"\n :show-other-option=\"false\"\n :show-rich-text=\"false\"\n @move-up=\"emits('move', 'up')\"\n @move-down=\"emits('move', 'down')\"\n @delete=\"emits('delete')\"\n @edit=\"emits('edit')\"\n @add=\"type => emits('add', type)\"\n />\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","onMounted","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createVNode","ElRow","type","align","_createElementVNode","_toDisplayString","currentPageIndex","totalPage","SubjectAction","isSet","examAnswerRelationType","onMoveUp","onMoveDown","onDelete","onEdit","onAdd","_cache"],"mappings":"omBASA,MAAMA,EAAQC,EASRC,EAAQC,EAMdC,EAAAA,UAJA,WAEA,GAGA,MAAMC,EAAKC,EAAAA,aAAa,2CAItBC,EAAAA,mBAsBM,MAAA,CAtBAC,MAAKC,EAAAA,eAAEC,EAAAA,MAAAL,GAAGM,EAAC,eACfC,cAOQF,EAAAA,MAAAG,EAAAA,OAAA,CANNC,KAAK,OACLC,MAAM,6BAEN,IAA0B,aAA1BC,EAAAA,mBAA0B,OAAA,CAApBR,MAAM,aAAW,MAAA,IACvBQ,EAAAA,mBAA6D,OAAA,KAAvD,IAACC,EAAAA,gBAAGjB,EAAMkB,kBAAmB,MAAGD,kBAAGE,EAAAA,WAAY,IAAC,eACtDH,EAAAA,mBAA0B,OAAA,CAApBR,MAAM,aAAW,MAAA,qBAEzBI,EAAAA,YAYEQ,EAAAA,QAAA,CAXC,WAAS,EACT,SAAQC,EAAAA,MACR,YAAU,EACV,4BAA2BrB,EAAMsB,uBACjC,qBAAmB,EACnB,kBAAgB,EAChBC,wBAASrB,EAAK,OAAA,OACdsB,0BAAWtB,EAAK,OAAA,SAChBuB,wBAAQvB,EAAK,WACbwB,sBAAMxB,EAAK,SACXyB,MAAGC,EAAA,KAAAA,EAAA,GAAEd,GAAQZ,QAAaY"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@element-plus/icons-vue"),l=require("@qxs-bns/hooks"),a=require("element-plus"),n=require("../../../subject-action/src/subject-action.vue.cjs"),o=require("../../../subject-layout/src/subject-layout.vue.cjs"),r=require("../../../tiny-mce-editor/src/tiny-mce-editor.vue.cjs");const i={class:"preview"},s={class:"content"},c={class:"title"},d={key:0},u=["innerHTML"],m={key:1,class:"flex flex-wrap",style:{"margin-top":"10px",color:"#a8abb2"}},v={class:"flex"},p={style:{flex:"1"}},f={class:"flex flex-justify-end"},x={class:"margin-bottom flex flex-items-center"},y={class:"margin-bottom answer-list"},V={class:"label flex flex-justify-end"},g={class:"answer-tags"},k={key:0,class:"margin-bottom flex"},w={style:{flex:"1"}},h={key:1,class:"margin-bottom flex"},N={style:{flex:"1"}},E={class:"flex flex-justify-end"};var C=e.defineComponent({__name:"subject-blank-fill",props:{orderIndex:{type:Number,required:!0},title:{type:String,required:!1},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},answerList:{type:null,required:!1},analysis:{type:String,required:!1},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},examAnswerSettingVO:{type:Object,required:!1},examRichTextContent:{type:String,required:!1},showAnalysis:{type:Boolean,required:!1},examAnswerRelationType:{type:Number,required:!1}},emits:["move","save","delete","edit","add"],setup(C,{emit:B}){const _=C,b=B,S=e.useAttrs(),j=e.ref([]),q=e.ref(""),I=e.ref(""),A=e.ref(!1),T=e.ref(""),O=[{label:"答案不分顺序",value:"isInOrder"},{label:"忽略大小写",value:"isIgnoreCase"}],D=e.ref(["isIgnoreCase"]);function L(){q.value+=" ______",j.value.push({title:"",tag:"",showInput:!1})}function R(){A.value=!1,T.value=""}function M(){q.value?j.value.length<1?a.ElMessage.error("至少添加一个填空符!"):b("save",{title:q.value.replaceAll(/ ______/g,"<filter></filter>"),answers:j.value.map(e=>({title:e.title,isCorrect:!0})),analysis:I.value,isSetCorrectAnswer:!0,examAnswerSettingBO:{isIgnoreCase:D.value?.includes("isIgnoreCase"),isInOrder:D.value?.includes("isInOrder")},examRichTextContent:A.value?T.value:""}):a.ElMessage.error("题目标题不能为空!")}e.watch(()=>q.value,()=>{const[...e]=q.value.matchAll(/ ______/g);if(e.length!==j.value.length){const t=j.value.length-e.length;j.value.splice(j.value.length-t,t)}}),e.onMounted(function(){_.title&&(q.value=_.title.replaceAll(/<filter><\/filter>/g," ______")),_.answerList&&_.answerList.length&&(j.value=_.answerList),_.examAnswerSettingVO&&(D.value=D.value.filter(e=>"isIgnoreCase"===e&&_.examAnswerSettingVO?.isIgnoreCase||"isInOrder"===e&&_.examAnswerSettingVO?.isInOrder)),_.analysis&&(I.value=_.analysis),_.examRichTextContent&&(T.value=_.examRichTextContent,A.value=!0)});const U=l.useNamespace("subject-blank-fill");return(l,a)=>{const C=e.resolveComponent("el-input"),B=e.resolveComponent("el-link"),F=e.resolveComponent("el-checkbox"),P=e.resolveComponent("el-checkbox-group"),z=e.resolveComponent("el-tag"),H=e.resolveComponent("el-icon"),G=e.resolveComponent("el-button");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(U).e("blank-fill-exam"))},[e.createVNode(o.default,{"show-edit":l.isEdit},{preview:e.withCtx(()=>[e.createElementVNode("div",i,[e.createElementVNode("div",s,[e.createElementVNode("span",c,e.toDisplayString(l.orderIndex+1)+"."+e.toDisplayString(q.value)+"(填空题)",1),A.value?(e.openBlock(),e.createElementBlock("div",d,[e.createElementVNode("div",{class:"rich-text",innerHTML:T.value},null,8,u)])):e.createCommentVNode("v-if",!0),j.value.some(e=>e.title)?(e.openBlock(),e.createElementBlock("div",m,[a[10]||(a[10]=e.createElementVNode("span",{class:"title"},"正确答案:",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(j.value,(t,l)=>(e.openBlock(),e.createElementBlock("div",{key:l,class:"flex flex-wrap flex-items-center",style:{"margin-right":"10px"}},[e.createElementVNode("span",null,"填空"+e.toDisplayString(l+1)+":",1),e.createElementVNode("span",null,e.toDisplayString(t.title),1)]))),128))])):e.createCommentVNode("v-if",!0)])])]),edit:e.withCtx(()=>[e.createElementVNode("div",v,[a[11]||(a[11]=e.createElementVNode("div",{class:"label flex flex-justify-end"},[e.createElementVNode("span",null,"题目:")],-1)),e.createElementVNode("div",p,[e.createVNode(C,{modelValue:q.value,"onUpdate:modelValue":a[0]||(a[0]=e=>q.value=e),type:"textarea",rows:7,"show-word-limit":"",maxlength:"400",placeholder:"【填空题】请输入问题",disabled:l.isSave},null,8,["modelValue","disabled"])])]),e.createElementVNode("div",f,[e.createCommentVNode(' <el-link\n v-if="!showRichText"\n type="primary"\n @click="showRichText = true"\n >\n 添加富文本\n </el-link> '),e.createVNode(B,{class:"margin-left-10",type:"primary",disabled:l.isSave,onClick:L},{default:e.withCtx(()=>a[12]||(a[12]=[e.createTextVNode(" 插入填空符 ",-1)])),_:1,__:[12]},8,["disabled"])]),e.createElementVNode("div",x,[a[13]||(a[13]=e.createElementVNode("div",{class:"label flex flex-justify-end"},[e.createElementVNode("span",null,"答题设置:")],-1)),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(O,t=>e.createVNode(P,{key:t.value,modelValue:D.value,"onUpdate:modelValue":a[1]||(a[1]=e=>D.value=e)},{default:e.withCtx(()=>[e.createVNode(F,{value:t.value,class:"margin-left-10"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]),_:2},1032,["value"])]),_:2},1032,["modelValue"])),64))]),e.createElementVNode("div",y,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(j.value,(a,n)=>(e.openBlock(),e.createElementBlock("div",{key:n,class:"answer-item flex flex-items-center"},[e.createElementVNode("div",V,[e.createElementVNode("span",null,"第"+e.toDisplayString(n+1)+"空答案:",1)]),e.createElementVNode("div",g,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.title.split(","),t=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:t},[t?(e.openBlock(),e.createBlock(z,{key:0,closable:"",onClose:e=>function(e,t){if(e){const l=t.title.split(","),a=l.findIndex(t=>t===e);a>-1&&(l.splice(a,1),t.title=l.join(","))}}(t,a)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t),1)]),_:2},1032,["onClose"])):e.createCommentVNode("v-if",!0)],64))),128)),l.isSave?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[a.showInput?(e.openBlock(),e.createBlock(C,{key:0,modelValue:a.tag,"onUpdate:modelValue":e=>a.tag=e,style:{width:"80px"},onBlur:()=>function(e){e.showInput=!1,e.tag&&(e.title=e.title?[e.title,e.tag].join(","):e.tag,e.tag="")}(a)},null,8,["modelValue","onUpdate:modelValue","onBlur"])):(e.openBlock(),e.createBlock(G,{key:1,size:"small",onClick:e=>a.showInput=!0},{default:e.withCtx(()=>[e.createVNode(H,null,{default:e.withCtx(()=>[e.createVNode(e.unref(t.Plus))]),_:1}),e.createElementVNode("span",null,e.toDisplayString(a.title?"添加同义词":"添加答案"),1)]),_:2},1032,["onClick"]))],64))])]))),128))]),l.showAnalysis?(e.openBlock(),e.createElementBlock("div",k,[a[14]||(a[14]=e.createElementVNode("div",{class:"label flex flex-justify-end"},[e.createElementVNode("span",null,"解析:")],-1)),e.createElementVNode("div",w,[e.createVNode(C,{modelValue:I.value,"onUpdate:modelValue":a[2]||(a[2]=e=>I.value=e),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])])):e.createCommentVNode("v-if",!0),A.value?(e.openBlock(),e.createElementBlock("div",h,[a[16]||(a[16]=e.createElementVNode("div",{class:"label flex flex-justify-center"},[e.createElementVNode("span",null,"富文本:")],-1)),e.createElementVNode("div",N,[e.createVNode(r.default,e.mergeProps({"model-value":T.value,"onUpdate:modelValue":a[3]||(a[3]=e=>T.value=e)},e.unref(S),{style:{width:"100%"}}),null,16,["model-value"]),e.createElementVNode("div",E,[e.createVNode(B,{type:"danger",onClick:R},{default:e.withCtx(()=>a[15]||(a[15]=[e.createTextVNode(" 删除富文本 ",-1)])),_:1,__:[15]})])])])):e.createCommentVNode("v-if",!0)]),default:e.withCtx(()=>[l.showAction?(e.openBlock(),e.createBlock(n.default,{key:0,"is-edit":l.isEdit,"is-set":l.isSet,"show-other-option":!1,"exam-answer-relation-type":_.examAnswerRelationType,onMoveUp:a[4]||(a[4]=e=>b("move","up")),onMoveDown:a[5]||(a[5]=e=>b("move","down")),onDelete:a[6]||(a[6]=e=>b("delete")),onSave:M,onEdit:a[7]||(a[7]=e=>b("edit")),onAdd:a[8]||(a[8]=e=>b("add",e)),onOnShowRichText:a[9]||(a[9]=e=>A.value=!0)},null,8,["is-edit","is-set","exam-answer-relation-type"])):e.createCommentVNode("v-if",!0)]),_:1},8,["show-edit"])],2)}}});exports.default=C;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@element-plus/icons-vue"),l=require("@qxs-bns/hooks"),a=require("element-plus"),n=require("../../../subject-action/src/subject-action.vue.cjs"),o=require("../../../subject-layout/src/subject-layout.vue.cjs"),r=require("../../../tiny-mce-editor/src/tiny-mce-editor.vue.cjs");const i={class:"preview"},s={class:"content"},c={class:"title"},u={key:0},d=["innerHTML"],m={key:1,class:"flex flex-wrap",style:{"margin-top":"10px",color:"#a8abb2"}},p={class:"flex"},v={style:{flex:"1"}},f={class:"flex flex-justify-end"},x={class:"margin-bottom flex flex-items-center"},y={class:"margin-bottom answer-list"},V={class:"label flex flex-justify-end"},k={class:"answer-tags"},g={key:0,class:"margin-bottom flex"},E={style:{flex:"1"}},w={key:1,class:"margin-bottom flex"},h={style:{flex:"1"}},N={class:"flex flex-justify-end"};var B=e.defineComponent({__name:"subject-blank-fill",props:{orderIndex:{type:Number,required:!0},title:{type:String,required:!1},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},answerList:{type:null,required:!1},analysis:{type:String,required:!1},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},examAnswerSettingVO:{type:Object,required:!1},examRichTextContent:{type:String,required:!1},showAnalysis:{type:Boolean,required:!1},examAnswerRelationType:{type:Number,required:!1}},emits:["move","save","delete","edit","add"],setup(B,{emit:C}){const _=B,b=C,S=e.useAttrs(),I=e.ref([]),j=e.ref(""),q=e.ref(""),A=e.ref(!1),T=e.ref(""),O=[{label:"答案不分顺序",value:"isInOrder"},{label:"忽略大小写",value:"isIgnoreCase"}],L=e.ref(["isIgnoreCase"]);function D(){j.value+=" ______",I.value.push({title:"",tag:"",showInput:!1})}function R(){A.value=!1,T.value=""}function M(){j.value?I.value.length<1?a.ElMessage.error("至少添加一个填空符!"):b("save",{title:j.value.replaceAll(/ ______/g,"<filter></filter>"),answers:I.value.map(e=>({title:e.title,isCorrect:!0})),analysis:q.value,isSetCorrectAnswer:!0,examAnswerSettingBO:{isIgnoreCase:L.value?.includes("isIgnoreCase"),isInOrder:L.value?.includes("isInOrder")},examRichTextContent:A.value?T.value:""}):a.ElMessage.error("题目标题不能为空!")}e.watch(()=>j.value,()=>{const[...e]=j.value.matchAll(/ ______/g);if(e.length!==I.value.length){const t=I.value.length-e.length;I.value.splice(I.value.length-t,t)}}),e.onMounted(function(){_.title&&(j.value=_.title.replaceAll(/<filter><\/filter>/g," ______")),_.answerList&&_.answerList.length&&(I.value=_.answerList),_.examAnswerSettingVO&&(L.value=L.value.filter(e=>"isIgnoreCase"===e&&_.examAnswerSettingVO?.isIgnoreCase||"isInOrder"===e&&_.examAnswerSettingVO?.isInOrder)),_.analysis&&(q.value=_.analysis),_.examRichTextContent&&(T.value=_.examRichTextContent,A.value=!0)});const U=l.useNamespace("subject-blank-fill");return(l,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(U).e("blank-fill-exam"))},[e.createVNode(o.default,{"show-edit":l.isEdit},{preview:e.withCtx(()=>[e.createElementVNode("div",i,[e.createElementVNode("div",s,[e.createElementVNode("span",c,e.toDisplayString(l.orderIndex+1)+"."+e.toDisplayString(j.value)+"(填空题)",1),A.value?(e.openBlock(),e.createElementBlock("div",u,[e.createElementVNode("div",{class:"rich-text",innerHTML:T.value},null,8,d)])):e.createCommentVNode("v-if",!0),I.value.some(e=>e.title)?(e.openBlock(),e.createElementBlock("div",m,[B[10]||(B[10]=e.createElementVNode("span",{class:"title"},"正确答案:",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,(t,l)=>(e.openBlock(),e.createElementBlock("div",{key:l,class:"flex flex-wrap flex-items-center",style:{"margin-right":"10px"}},[e.createElementVNode("span",null,"填空"+e.toDisplayString(l+1)+":",1),e.createElementVNode("span",null,e.toDisplayString(t.title),1)]))),128))])):e.createCommentVNode("v-if",!0)])])]),edit:e.withCtx(()=>[e.createElementVNode("div",p,[B[11]||(B[11]=e.createElementVNode("div",{class:"label flex flex-justify-end"},[e.createElementVNode("span",null,"题目:")],-1)),e.createElementVNode("div",v,[e.createVNode(e.unref(a.ElInput),{modelValue:j.value,"onUpdate:modelValue":B[0]||(B[0]=e=>j.value=e),type:"textarea",rows:7,"show-word-limit":"",maxlength:"400",placeholder:"【填空题】请输入问题",disabled:l.isSave},null,8,["modelValue","disabled"])])]),e.createElementVNode("div",f,[e.createCommentVNode(' <el-link\n v-if="!showRichText"\n type="primary"\n @click="showRichText = true"\n >\n 添加富文本\n </el-link> '),e.createVNode(e.unref(a.ElLink),{class:"margin-left-10",type:"primary",disabled:l.isSave,onClick:D},{default:e.withCtx(()=>B[12]||(B[12]=[e.createTextVNode(" 插入填空符 ",-1)])),_:1,__:[12]},8,["disabled"])]),e.createElementVNode("div",x,[B[13]||(B[13]=e.createElementVNode("div",{class:"label flex flex-justify-end"},[e.createElementVNode("span",null,"答题设置:")],-1)),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(O,t=>e.createVNode(e.unref(a.ElCheckboxGroup),{key:t.value,modelValue:L.value,"onUpdate:modelValue":B[1]||(B[1]=e=>L.value=e)},{default:e.withCtx(()=>[e.createVNode(e.unref(a.ElCheckbox),{value:t.value,class:"margin-left-10"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]),_:2},1032,["value"])]),_:2},1032,["modelValue"])),64))]),e.createElementVNode("div",y,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,(n,o)=>(e.openBlock(),e.createElementBlock("div",{key:o,class:"answer-item flex flex-items-center"},[e.createElementVNode("div",V,[e.createElementVNode("span",null,"第"+e.toDisplayString(o+1)+"空答案:",1)]),e.createElementVNode("div",k,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.title.split(","),t=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:t},[t?(e.openBlock(),e.createBlock(e.unref(a.ElTag),{key:0,closable:"",onClose:e=>function(e,t){if(e){const l=t.title.split(","),a=l.findIndex(t=>t===e);a>-1&&(l.splice(a,1),t.title=l.join(","))}}(t,n)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t),1)]),_:2},1032,["onClose"])):e.createCommentVNode("v-if",!0)],64))),128)),l.isSave?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[n.showInput?(e.openBlock(),e.createBlock(e.unref(a.ElInput),{key:0,modelValue:n.tag,"onUpdate:modelValue":e=>n.tag=e,style:{width:"80px"},onBlur:()=>function(e){e.showInput=!1,e.tag&&(e.title=e.title?[e.title,e.tag].join(","):e.tag,e.tag="")}(n)},null,8,["modelValue","onUpdate:modelValue","onBlur"])):(e.openBlock(),e.createBlock(e.unref(a.ElButton),{key:1,size:"small",onClick:e=>n.showInput=!0},{default:e.withCtx(()=>[e.createVNode(e.unref(a.ElIcon),null,{default:e.withCtx(()=>[e.createVNode(e.unref(t.Plus))]),_:1}),e.createElementVNode("span",null,e.toDisplayString(n.title?"添加同义词":"添加答案"),1)]),_:2},1032,["onClick"]))],64))])]))),128))]),l.showAnalysis?(e.openBlock(),e.createElementBlock("div",g,[B[14]||(B[14]=e.createElementVNode("div",{class:"label flex flex-justify-end"},[e.createElementVNode("span",null,"解析:")],-1)),e.createElementVNode("div",E,[e.createVNode(e.unref(a.ElInput),{modelValue:q.value,"onUpdate:modelValue":B[2]||(B[2]=e=>q.value=e),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])])):e.createCommentVNode("v-if",!0),A.value?(e.openBlock(),e.createElementBlock("div",w,[B[16]||(B[16]=e.createElementVNode("div",{class:"label flex flex-justify-center"},[e.createElementVNode("span",null,"富文本:")],-1)),e.createElementVNode("div",h,[e.createVNode(r.default,e.mergeProps({"model-value":T.value,"onUpdate:modelValue":B[3]||(B[3]=e=>T.value=e)},e.unref(S),{style:{width:"100%"}}),null,16,["model-value"]),e.createElementVNode("div",N,[e.createVNode(e.unref(a.ElLink),{type:"danger",onClick:R},{default:e.withCtx(()=>B[15]||(B[15]=[e.createTextVNode(" 删除富文本 ",-1)])),_:1,__:[15]})])])])):e.createCommentVNode("v-if",!0)]),default:e.withCtx(()=>[l.showAction?(e.openBlock(),e.createBlock(n.default,{key:0,"is-edit":l.isEdit,"is-set":l.isSet,"show-other-option":!1,"exam-answer-relation-type":_.examAnswerRelationType,onMoveUp:B[4]||(B[4]=e=>b("move","up")),onMoveDown:B[5]||(B[5]=e=>b("move","down")),onDelete:B[6]||(B[6]=e=>b("delete")),onSave:M,onEdit:B[7]||(B[7]=e=>b("edit")),onAdd:B[8]||(B[8]=e=>b("add",e)),onOnShowRichText:B[9]||(B[9]=e=>A.value=!0)},null,8,["is-edit","is-set","exam-answer-relation-type"])):e.createCommentVNode("v-if",!0)]),_:1},8,["show-edit"])],2))}});exports.default=B;
2
2
  //# sourceMappingURL=subject-blank-fill.vue.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"subject-blank-fill.vue.cjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/subject-blank-fill.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Plus } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { ElMessage } from 'element-plus'\nimport { onMounted, ref, useAttrs, watch } from 'vue'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\nimport SubjectLayout from '../../../subject-layout/src/subject-layout.vue'\nimport TinyMceEditor from '../../../tiny-mce-editor/src/tiny-mce-editor.vue'\n\nconst props = defineProps<{\n orderIndex: number\n title?: string\n isSave: boolean\n showAction?: boolean\n answerList?: any\n analysis?: string\n isEdit: boolean\n isSet: boolean\n examAnswerSettingVO?: {\n isInOrder: boolean\n isIgnoreCase: boolean\n }\n examRichTextContent?: string\n showAnalysis?: boolean\n examAnswerRelationType?: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add'])\n\nconst attrs = useAttrs()\n\nconst answers = ref<{\n title: string\n tag: string\n showInput: boolean\n}[]>([])\n\nconst title = ref('')\nconst analysis = ref('')\nconst showRichText = ref(false)\nconst richText = ref('')\n\nconst checkList = [\n {\n label: '答案不分顺序',\n value: 'isInOrder',\n },\n {\n label: '忽略大小写',\n value: 'isIgnoreCase',\n },\n]\n\nconst isCheckList = ref(['isIgnoreCase'])\n\nfunction handleAddTag(item: any) {\n item.showInput = false\n if (item.tag) {\n item.title = item.title ? [item.title, item.tag].join(',') : item.tag\n item.tag = ''\n }\n}\n\nfunction closeTag(tag: string, item: any) {\n if (tag) {\n const tags = item.title.split(',')\n const index = tags.findIndex((i: string) => i === tag)\n if (index > -1) {\n tags.splice(index, 1)\n item.title = tags.join(',')\n }\n }\n}\n\nfunction addBlank() {\n title.value += ' ______'\n answers.value.push({\n title: '',\n tag: '',\n showInput: false,\n })\n}\n\nfunction deleteRichText() {\n showRichText.value = false\n richText.value = ''\n}\n\nfunction save() {\n if (!title.value) {\n ElMessage.error('题目标题不能为空!')\n return\n }\n\n if (answers.value.length < 1) {\n ElMessage.error('至少添加一个填空符!')\n return\n }\n\n emits('save', {\n title: title.value.replaceAll(/ ______/g, '<filter></filter>'),\n answers: answers.value.map((item: any) => {\n return { title: item.title, isCorrect: true }\n }),\n analysis: analysis.value,\n isSetCorrectAnswer: true,\n examAnswerSettingBO: {\n isIgnoreCase: isCheckList.value?.includes('isIgnoreCase'),\n isInOrder: isCheckList.value?.includes('isInOrder'),\n },\n examRichTextContent: showRichText.value ? richText.value : '',\n })\n}\n\nfunction init() {\n if (props.title) {\n title.value = props.title.replaceAll(/<filter><\\/filter>/g, ' ______')\n }\n\n if (props.answerList && props.answerList.length) {\n answers.value = props.answerList\n }\n\n if (props.examAnswerSettingVO) {\n // 仅保留与设置匹配的选项\n isCheckList.value = isCheckList.value.filter((item: any) =>\n (item === 'isIgnoreCase' && props.examAnswerSettingVO?.isIgnoreCase)\n || (item === 'isInOrder' && props.examAnswerSettingVO?.isInOrder),\n )\n }\n\n if (props.analysis) {\n analysis.value = props.analysis\n }\n\n if (props.examRichTextContent) {\n richText.value = props.examRichTextContent\n showRichText.value = true\n }\n}\n\nwatch(() => title.value, () => {\n const [...matchs] = title.value.matchAll(/ ______/g)\n if (matchs.length !== answers.value.length) {\n const differ = answers.value.length - matchs.length\n answers.value.splice(answers.value.length - differ, differ)\n }\n})\n\nonMounted(init)\nconst ns = useNamespace('subject-blank-fill')\n</script>\n\n<template>\n <div :class=\"ns.e('blank-fill-exam')\">\n <SubjectLayout :show-edit=\"isEdit\">\n <template #preview>\n <div class=\"preview\">\n <div class=\"content\">\n <span class=\"title\">{{ orderIndex + 1 }}.{{ title }}(填空题)</span>\n <div v-if=\"showRichText\">\n <div\n class=\"rich-text\"\n v-html=\"richText\"\n />\n </div>\n <div\n v-if=\"answers.some((item) => item.title)\"\n class=\"flex flex-wrap\"\n style=\"margin-top: 10px;color: #a8abb2;\"\n >\n <span class=\"title\">正确答案:</span>\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"flex flex-wrap flex-items-center\"\n style=\"margin-right: 10px;\"\n >\n <span>填空{{ index + 1 }}:</span>\n <span>{{ item.title }}</span>\n </div>\n </div>\n </div>\n </div>\n </template>\n <template #edit>\n <div class=\"flex\">\n <div class=\"label flex flex-justify-end\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-input\n v-model=\"title\"\n type=\"textarea\"\n :rows=\"7\"\n show-word-limit\n maxlength=\"400\"\n placeholder=\"【填空题】请输入问题\"\n :disabled=\"isSave\"\n />\n </div>\n </div>\n <div class=\"flex flex-justify-end\">\n <!-- <el-link\n v-if=\"!showRichText\"\n type=\"primary\"\n @click=\"showRichText = true\"\n >\n 添加富文本\n </el-link> -->\n <el-link\n class=\"margin-left-10\"\n type=\"primary\"\n :disabled=\"isSave\"\n @click=\"addBlank\"\n >\n 插入填空符\n </el-link>\n </div>\n <div class=\"margin-bottom flex flex-items-center\">\n <div class=\"label flex flex-justify-end\">\n <span>答题设置:</span>\n </div>\n\n <el-checkbox-group\n v-for=\"item in checkList\"\n :key=\"item.value\"\n v-model=\"isCheckList\"\n >\n <el-checkbox\n :value=\"item.value\"\n class=\"margin-left-10\"\n >\n {{ item.label }}\n </el-checkbox>\n </el-checkbox-group>\n </div>\n <div class=\"margin-bottom answer-list\">\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"answer-item flex flex-items-center\"\n >\n <div class=\"label flex flex-justify-end\">\n <span>第{{ index + 1 }}空答案:</span>\n </div>\n\n <div class=\"answer-tags\">\n <template\n v-for=\"i in item.title.split(',')\"\n :key=\"i\"\n >\n <el-tag\n v-if=\"i\"\n closable\n @close=\"closeTag(i, item)\"\n >\n {{ i }}\n </el-tag>\n </template>\n <template v-if=\"!isSave\">\n <el-input\n v-if=\"item.showInput\"\n v-model=\"item.tag\"\n style=\"width: 80px;\"\n @blur=\"() => handleAddTag(item)\"\n />\n <el-button\n v-else\n size=\"small\"\n @click=\"item.showInput = true\"\n >\n <el-icon><Plus /></el-icon>\n <span>{{ item.title ? '添加同义词' : '添加答案' }}</span>\n </el-button>\n </template>\n </div>\n </div>\n </div>\n <div\n v-if=\"showAnalysis\"\n class=\"margin-bottom flex\"\n >\n <div class=\"label flex flex-justify-end\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-input\n v-model=\"analysis\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"请输入题目解析\"\n />\n </div>\n </div>\n <div\n v-if=\"showRichText\"\n class=\"margin-bottom flex\"\n >\n <div class=\"label flex flex-justify-center\">\n <span>富文本:</span>\n </div>\n <div style=\"flex: 1;\">\n <TinyMceEditor\n v-model:model-value=\"richText\"\n v-bind=\"attrs\"\n style=\"width: 100%;\"\n />\n <div class=\"flex flex-justify-end\">\n <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 :show-other-option=\"false\"\n :exam-answer-relation-type=\"props.examAnswerRelationType\"\n @move-up=\"emits('move', 'up')\"\n @move-down=\"emits('move', 'down')\"\n @delete=\"emits('delete')\"\n @save=\"save\"\n @edit=\"emits('edit')\"\n @add=\"type => emits('add', type)\"\n @on-show-rich-text=\"showRichText = true\"\n />\n </SubjectLayout>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","attrs","useAttrs","answers","ref","title","analysis","showRichText","richText","checkList","label","value","isCheckList","addBlank","push","tag","showInput","deleteRichText","save","length","ElMessage","error","replaceAll","map","item","isCorrect","isSetCorrectAnswer","examAnswerSettingBO","isIgnoreCase","includes","isInOrder","examRichTextContent","watch","matchs","matchAll","differ","splice","onMounted","answerList","examAnswerSettingVO","filter","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createVNode","SubjectLayout","isEdit","preview","_createElementVNode","_hoisted_1","_hoisted_2","_hoisted_3","_toDisplayString","orderIndex","_hoisted_4","innerHTML","some","_openBlock","_hoisted_6","_cache","_Fragment","_renderList","index","key","style","edit","_hoisted_7","_hoisted_8","_component_el_input","$event","type","rows","maxlength","placeholder","disabled","isSave","_hoisted_9","_createCommentVNode","_component_el_link","onClick","_hoisted_10","_component_el_checkbox_group","_component_el_checkbox","_createTextVNode","_hoisted_11","_hoisted_12","_hoisted_13","split","i","_createBlock","_component_el_tag","closable","onClose","tags","findIndex","join","closeTag","modelValue","width","onBlur","handleAddTag","_component_el_button","size","_component_el_icon","Plus","showAnalysis","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","TinyMceEditor","_mergeProps","_hoisted_18","showAction","SubjectAction","isSet","examAnswerRelationType","onMoveUp","onMoveDown","onDelete","onSave","onEdit","onAdd","onOnShowRichText"],"mappings":"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"}
1
+ {"version":3,"file":"subject-blank-fill.vue.cjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/subject-blank-fill.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Plus } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { ElButton, ElCheckbox, ElCheckboxGroup, ElIcon, ElInput, ElLink, ElMessage, ElTag } from 'element-plus'\nimport { onMounted, ref, useAttrs, watch } from 'vue'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\nimport SubjectLayout from '../../../subject-layout/src/subject-layout.vue'\nimport TinyMceEditor from '../../../tiny-mce-editor/src/tiny-mce-editor.vue'\n\nconst props = defineProps<{\n orderIndex: number\n title?: string\n isSave: boolean\n showAction?: boolean\n answerList?: any\n analysis?: string\n isEdit: boolean\n isSet: boolean\n examAnswerSettingVO?: {\n isInOrder: boolean\n isIgnoreCase: boolean\n }\n examRichTextContent?: string\n showAnalysis?: boolean\n examAnswerRelationType?: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add'])\n\nconst attrs = useAttrs()\n\nconst answers = ref<{\n title: string\n tag: string\n showInput: boolean\n}[]>([])\n\nconst title = ref('')\nconst analysis = ref('')\nconst showRichText = ref(false)\nconst richText = ref('')\n\nconst checkList = [\n {\n label: '答案不分顺序',\n value: 'isInOrder',\n },\n {\n label: '忽略大小写',\n value: 'isIgnoreCase',\n },\n]\n\nconst isCheckList = ref(['isIgnoreCase'])\n\nfunction handleAddTag(item: any) {\n item.showInput = false\n if (item.tag) {\n item.title = item.title ? [item.title, item.tag].join(',') : item.tag\n item.tag = ''\n }\n}\n\nfunction closeTag(tag: string, item: any) {\n if (tag) {\n const tags = item.title.split(',')\n const index = tags.findIndex((i: string) => i === tag)\n if (index > -1) {\n tags.splice(index, 1)\n item.title = tags.join(',')\n }\n }\n}\n\nfunction addBlank() {\n title.value += ' ______'\n answers.value.push({\n title: '',\n tag: '',\n showInput: false,\n })\n}\n\nfunction deleteRichText() {\n showRichText.value = false\n richText.value = ''\n}\n\nfunction save() {\n if (!title.value) {\n ElMessage.error('题目标题不能为空!')\n return\n }\n\n if (answers.value.length < 1) {\n ElMessage.error('至少添加一个填空符!')\n return\n }\n\n emits('save', {\n title: title.value.replaceAll(/ ______/g, '<filter></filter>'),\n answers: answers.value.map((item: any) => {\n return { title: item.title, isCorrect: true }\n }),\n analysis: analysis.value,\n isSetCorrectAnswer: true,\n examAnswerSettingBO: {\n isIgnoreCase: isCheckList.value?.includes('isIgnoreCase'),\n isInOrder: isCheckList.value?.includes('isInOrder'),\n },\n examRichTextContent: showRichText.value ? richText.value : '',\n })\n}\n\nfunction init() {\n if (props.title) {\n title.value = props.title.replaceAll(/<filter><\\/filter>/g, ' ______')\n }\n\n if (props.answerList && props.answerList.length) {\n answers.value = props.answerList\n }\n\n if (props.examAnswerSettingVO) {\n // 仅保留与设置匹配的选项\n isCheckList.value = isCheckList.value.filter((item: any) =>\n (item === 'isIgnoreCase' && props.examAnswerSettingVO?.isIgnoreCase)\n || (item === 'isInOrder' && props.examAnswerSettingVO?.isInOrder),\n )\n }\n\n if (props.analysis) {\n analysis.value = props.analysis\n }\n\n if (props.examRichTextContent) {\n richText.value = props.examRichTextContent\n showRichText.value = true\n }\n}\n\nwatch(() => title.value, () => {\n const [...matchs] = title.value.matchAll(/ ______/g)\n if (matchs.length !== answers.value.length) {\n const differ = answers.value.length - matchs.length\n answers.value.splice(answers.value.length - differ, differ)\n }\n})\n\nonMounted(init)\nconst ns = useNamespace('subject-blank-fill')\n</script>\n\n<template>\n <div :class=\"ns.e('blank-fill-exam')\">\n <SubjectLayout :show-edit=\"isEdit\">\n <template #preview>\n <div class=\"preview\">\n <div class=\"content\">\n <span class=\"title\">{{ orderIndex + 1 }}.{{ title }}(填空题)</span>\n <div v-if=\"showRichText\">\n <div\n class=\"rich-text\"\n v-html=\"richText\"\n />\n </div>\n <div\n v-if=\"answers.some((item) => item.title)\"\n class=\"flex flex-wrap\"\n style=\"margin-top: 10px;color: #a8abb2;\"\n >\n <span class=\"title\">正确答案:</span>\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"flex flex-wrap flex-items-center\"\n style=\"margin-right: 10px;\"\n >\n <span>填空{{ index + 1 }}:</span>\n <span>{{ item.title }}</span>\n </div>\n </div>\n </div>\n </div>\n </template>\n <template #edit>\n <div class=\"flex\">\n <div class=\"label flex flex-justify-end\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\">\n <ElInput\n v-model=\"title\"\n type=\"textarea\"\n :rows=\"7\"\n show-word-limit\n maxlength=\"400\"\n placeholder=\"【填空题】请输入问题\"\n :disabled=\"isSave\"\n />\n </div>\n </div>\n <div class=\"flex flex-justify-end\">\n <!-- <el-link\n v-if=\"!showRichText\"\n type=\"primary\"\n @click=\"showRichText = true\"\n >\n 添加富文本\n </el-link> -->\n <ElLink\n class=\"margin-left-10\"\n type=\"primary\"\n :disabled=\"isSave\"\n @click=\"addBlank\"\n >\n 插入填空符\n </ElLink>\n </div>\n <div class=\"margin-bottom flex flex-items-center\">\n <div class=\"label flex flex-justify-end\">\n <span>答题设置:</span>\n </div>\n\n <ElCheckboxGroup\n v-for=\"item in checkList\"\n :key=\"item.value\"\n v-model=\"isCheckList\"\n >\n <ElCheckbox\n :value=\"item.value\"\n class=\"margin-left-10\"\n >\n {{ item.label }}\n </ElCheckbox>\n </ElCheckboxGroup>\n </div>\n <div class=\"margin-bottom answer-list\">\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"answer-item flex flex-items-center\"\n >\n <div class=\"label flex flex-justify-end\">\n <span>第{{ index + 1 }}空答案:</span>\n </div>\n\n <div class=\"answer-tags\">\n <template\n v-for=\"i in item.title.split(',')\"\n :key=\"i\"\n >\n <ElTag\n v-if=\"i\"\n closable\n @close=\"closeTag(i, item)\"\n >\n {{ i }}\n </ElTag>\n </template>\n <template v-if=\"!isSave\">\n <ElInput\n v-if=\"item.showInput\"\n v-model=\"item.tag\"\n style=\"width: 80px;\"\n @blur=\"() => handleAddTag(item)\"\n />\n <ElButton\n v-else\n size=\"small\"\n @click=\"item.showInput = true\"\n >\n <ElIcon><Plus /></ElIcon>\n <span>{{ item.title ? '添加同义词' : '添加答案' }}</span>\n </ElButton>\n </template>\n </div>\n </div>\n </div>\n <div\n v-if=\"showAnalysis\"\n class=\"margin-bottom flex\"\n >\n <div class=\"label flex flex-justify-end\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <ElInput\n v-model=\"analysis\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"请输入题目解析\"\n />\n </div>\n </div>\n <div\n v-if=\"showRichText\"\n class=\"margin-bottom flex\"\n >\n <div class=\"label flex flex-justify-center\">\n <span>富文本:</span>\n </div>\n <div style=\"flex: 1;\">\n <TinyMceEditor\n v-model:model-value=\"richText\"\n v-bind=\"attrs\"\n style=\"width: 100%;\"\n />\n <div class=\"flex flex-justify-end\">\n <ElLink\n type=\"danger\"\n @click=\"deleteRichText\"\n >\n 删除富文本\n </ElLink>\n </div>\n </div>\n </div>\n </template>\n <SubjectAction\n v-if=\"showAction\"\n :is-edit=\"isEdit\"\n :is-set=\"isSet\"\n :show-other-option=\"false\"\n :exam-answer-relation-type=\"props.examAnswerRelationType\"\n @move-up=\"emits('move', 'up')\"\n @move-down=\"emits('move', 'down')\"\n @delete=\"emits('delete')\"\n @save=\"save\"\n @edit=\"emits('edit')\"\n @add=\"type => emits('add', type)\"\n @on-show-rich-text=\"showRichText = true\"\n />\n </SubjectLayout>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","attrs","useAttrs","answers","ref","title","analysis","showRichText","richText","checkList","label","value","isCheckList","addBlank","push","tag","showInput","deleteRichText","save","length","ElMessage","error","replaceAll","map","item","isCorrect","isSetCorrectAnswer","examAnswerSettingBO","isIgnoreCase","includes","isInOrder","examRichTextContent","watch","matchs","matchAll","differ","splice","onMounted","answerList","examAnswerSettingVO","filter","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createVNode","SubjectLayout","isEdit","preview","_createElementVNode","_hoisted_1","_hoisted_2","_hoisted_3","_toDisplayString","orderIndex","_hoisted_4","innerHTML","some","_openBlock","_hoisted_6","_cache","_Fragment","_renderList","index","key","style","edit","_hoisted_7","_hoisted_8","ElInput","$event","type","rows","maxlength","placeholder","disabled","isSave","_hoisted_9","_createCommentVNode","ElLink","onClick","_hoisted_10","ElCheckboxGroup","ElCheckbox","_createTextVNode","_hoisted_11","_hoisted_12","_hoisted_13","split","i","_createBlock","ElTag","closable","onClose","tags","findIndex","join","closeTag","modelValue","width","onBlur","handleAddTag","ElButton","size","ElIcon","Plus","showAnalysis","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","TinyMceEditor","_mergeProps","_hoisted_18","showAction","SubjectAction","isSet","examAnswerRelationType","onMoveUp","onMoveDown","onDelete","onSave","onEdit","onAdd","onOnShowRichText"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),l=require("@element-plus/icons-vue"),t=require("@qxs-bns/hooks"),a=require("element-plus"),n=require("../../../subject-action/src/subject-action.vue.cjs"),o=require("../../../subject-layout/src/subject-layout.vue.cjs"),s=require("../../../tiny-mce-editor/src/tiny-mce-editor.vue.cjs");const r={class:"preview"},i={class:"title"},c={key:0},d=["innerHTML"],u={class:"answer-radio flex-col"},m={style:{flex:"1"}},v={class:"answer flex"},p={class:"flex"},f={class:"answer-list flex-col"},x={class:"order"},V={class:"flex",style:{"margin-bottom":"20px"}},y={style:{flex:"1"}},h={key:0,class:"margin-bottom flex"},N={style:{flex:"1"}},w={class:"flex flex-justify-end"};var C=e.defineComponent({name:"QxsSubjectScale",__name:"subject-scale",props:{orderIndex:{type:Number,required:!0},title:{type:String,required:!1},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},answerList:{type:null,required:!1},analysis:{type:String,required:!1},rowTitle:{type:String,required:!1},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},scaleQuestionList:{type:null,required:!1},examRichTextContent:{type:String,required:!1},examAnswerRelationType:{type:Number,required:!1}},emits:["move","save","delete","edit","add"],setup(C,{emit:E}){const k=C,g=E,B=e.useAttrs(),b=e.ref([{title:""},{title:""},{title:""},{title:""},{title:""}]),S=e.ref(""),q=e.ref(""),j=e.ref(""),_=e.ref(!1),L=e.ref(""),M=e.ref([]),T=e.computed(()=>Math.ceil(24/(b.value.length+1)));function A(){5!==b.value.length&&b.value.push({title:""})}function R(){_.value=!1,L.value=""}function D(){if(!S.value)return void a.ElMessage.error("题目标题不能为空!");let e="";b.value.forEach((l,t)=>{l.title||(e+=`选项${String.fromCharCode(65+t)}未填写。`)}),e?a.ElMessage.error(e):j.value?(M.value=j.value.split("\n").filter(e=>e),g("save",{title:S.value,answers:b.value,analysis:q.value,scaleQuestionList:M.value,examRichTextContent:_.value?L.value:""})):a.ElMessage.error("行标题不能为空!")}e.onMounted(function(){k.title&&(S.value=k.title),k.answerList&&k.answerList.length&&(b.value=k.answerList),k.analysis&&(q.value=k.analysis),k.scaleQuestionList&&(M.value=k.scaleQuestionList,j.value=M.value.join("\n")),k.examRichTextContent&&(L.value=k.examRichTextContent,_.value=!0)});const U=t.useNamespace("subject-scale");return(t,a)=>{const C=e.resolveComponent("el-col"),E=e.resolveComponent("el-row"),Q=e.resolveComponent("el-radio"),z=e.resolveComponent("el-input"),F=e.resolveComponent("el-icon"),O=e.resolveComponent("el-link");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(U).e("scale-exam"))},[e.createVNode(o.default,{"show-edit":t.isEdit},{preview:e.withCtx(()=>[e.createElementVNode("div",r,[e.createElementVNode("div",null,[e.createElementVNode("span",i,e.toDisplayString(t.orderIndex+1)+"."+e.toDisplayString(S.value)+"(量表题)",1),_.value?(e.openBlock(),e.createElementBlock("div",c,[e.createElementVNode("div",{class:"rich-text",innerHTML:L.value},null,8,d)])):e.createCommentVNode("v-if",!0)]),e.createElementVNode("div",u,[e.createVNode(E,{style:{padding:"10px 0"}},{default:e.withCtx(()=>[e.createVNode(C,{span:T.value},null,8,["span"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,l=>(e.openBlock(),e.createBlock(C,{key:l.title,class:"flex flex-center",span:T.value},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(l.title),1)]),_:2},1032,["span"]))),128))]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value,l=>(e.openBlock(),e.createBlock(E,{key:l,style:{padding:"10px 0"}},{default:e.withCtx(()=>[e.createVNode(C,{span:T.value,class:"flex flex-center"},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(l),1)]),_:2},1032,["span"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value.length,l=>(e.openBlock(),e.createBlock(C,{key:l,class:"radio-item flex flex-center",span:T.value},{default:e.withCtx(()=>[e.createVNode(Q,{disabled:!0})]),_:2},1032,["span"]))),128))]),_:2},1024))),128))])])]),edit:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["flex",[{"margin-bottom":_.value}]])},[a[10]||(a[10]=e.createElementVNode("div",{class:"label flex flex-justify-center"},[e.createElementVNode("span",null,"题目:")],-1)),e.createElementVNode("div",m,[e.createVNode(z,{modelValue:S.value,"onUpdate:modelValue":a[0]||(a[0]=e=>S.value=e),type:"textarea",rows:2,placeholder:"【量表题】请输入问题",disabled:t.isSave},null,8,["modelValue","disabled"])])],2),e.createElementVNode("div",v,[a[11]||(a[11]=e.createElementVNode("div",{class:"label flex flex-justify-center"},[e.createElementVNode("span",null,"行标题:")],-1)),e.createElementVNode("div",p,[e.createVNode(z,{modelValue:j.value,"onUpdate:modelValue":a[1]||(a[1]=e=>j.value=e),type:"textarea",placeholder:"请输入行标题",style:{width:"160px"},rows:10},null,8,["modelValue"]),e.createElementVNode("div",f,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,(a,n)=>(e.openBlock(),e.createElementBlock("div",{key:n,class:"answer-item flex flex-items-center"},[e.createElementVNode("span",x,e.toDisplayString(String.fromCharCode(65+n))+".",1),e.createVNode(z,{modelValue:a.title,"onUpdate:modelValue":e=>a.title=e,class:"input","show-word-limit":"",maxlength:10,placeholder:`选项${String.fromCharCode(65+n)}`,disabled:t.isSave},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled"]),e.createCommentVNode(' <PlusCircleOutlined\n class="icon"\n :class="[{ disabled: answers.length === 5 }]"\n @click="addAnswer"\n />\n <MinusCircleOutlined\n class="icon"\n :class="[{ disabled: answers.length < 3 }]"\n @click="deleteAnswer(index)"\n /> '),e.createVNode(F,{class:"icon"},{default:e.withCtx(()=>[e.createVNode(e.unref(l.CirclePlus),{class:e.normalizeClass([{disabled:5===b.value.length}]),onClick:A},null,8,["class"])]),_:1}),e.createVNode(F,{class:"icon"},{default:e.withCtx(()=>[e.createVNode(e.unref(l.Remove),{class:e.normalizeClass([{disabled:b.value.length<3}]),onClick:e=>function(e){b.value.length<3||b.value.splice(e,1)}(n)},null,8,["class","onClick"])]),_:2},1024)]))),128))])])]),e.createElementVNode("div",V,[a[12]||(a[12]=e.createElementVNode("div",{class:"label flex flex-justify-center"},[e.createElementVNode("span",null,"解析:")],-1)),e.createElementVNode("div",y,[e.createVNode(z,{modelValue:q.value,"onUpdate:modelValue":a[2]||(a[2]=e=>q.value=e),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])]),_.value?(e.openBlock(),e.createElementBlock("div",h,[a[14]||(a[14]=e.createElementVNode("div",{class:"label flex flex-justify-center"},[e.createElementVNode("span",null,"富文本:")],-1)),e.createElementVNode("div",N,[e.createVNode(s.default,e.mergeProps({"model-value":L.value,"onUpdate:modelValue":a[3]||(a[3]=e=>L.value=e)},e.unref(B),{style:{width:"100%"}}),null,16,["model-value"]),e.createElementVNode("div",w,[e.createVNode(O,{type:"danger",onClick:R},{default:e.withCtx(()=>a[13]||(a[13]=[e.createTextVNode(" 删除富文本 ",-1)])),_:1,__:[13]})])])])):e.createCommentVNode("v-if",!0)]),default:e.withCtx(()=>[t.showAction?(e.openBlock(),e.createBlock(n.default,{key:0,"is-edit":t.isEdit,"is-set":t.isSet,"show-other-option":!1,"exam-answer-relation-type":k.examAnswerRelationType,onMoveUp:a[4]||(a[4]=e=>g("move","up")),onMoveDown:a[5]||(a[5]=e=>g("move","down")),onDelete:a[6]||(a[6]=e=>g("delete")),onSave:D,onEdit:a[7]||(a[7]=e=>g("edit")),onAdd:a[8]||(a[8]=e=>g("add",e)),onOnShowRichText:a[9]||(a[9]=e=>_.value=!0)},null,8,["is-edit","is-set","exam-answer-relation-type"])):e.createCommentVNode("v-if",!0)]),_:1},8,["show-edit"])],2)}}});exports.default=C;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),l=require("@element-plus/icons-vue"),t=require("@qxs-bns/hooks"),a=require("element-plus"),n=require("../../../subject-action/src/subject-action.vue.cjs"),r=require("../../../subject-layout/src/subject-layout.vue.cjs"),o=require("../../../tiny-mce-editor/src/tiny-mce-editor.vue.cjs");const s={class:"preview"},i={class:"title"},c={key:0},d=["innerHTML"],u={class:"answer-radio flex-col"},m={style:{flex:"1"}},v={class:"answer flex"},p={class:"flex"},f={class:"answer-list flex-col"},x={class:"order"},V={class:"flex",style:{"margin-bottom":"20px"}},E={style:{flex:"1"}},y={key:0,class:"margin-bottom flex"},h={style:{flex:"1"}},w={class:"flex flex-justify-end"};var N=e.defineComponent({name:"QxsSubjectScale",__name:"subject-scale",props:{orderIndex:{type:Number,required:!0},title:{type:String,required:!1},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},answerList:{type:null,required:!1},analysis:{type:String,required:!1},rowTitle:{type:String,required:!1},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},scaleQuestionList:{type:null,required:!1},examRichTextContent:{type:String,required:!1},examAnswerRelationType:{type:Number,required:!1}},emits:["move","save","delete","edit","add"],setup(N,{emit:C}){const k=N,g=C,B=e.useAttrs(),b=e.ref([{title:""},{title:""},{title:""},{title:""},{title:""}]),S=e.ref(""),q=e.ref(""),j=e.ref(""),L=e.ref(!1),_=e.ref(""),M=e.ref([]),R=e.computed(()=>Math.ceil(24/(b.value.length+1)));function T(){5!==b.value.length&&b.value.push({title:""})}function A(){L.value=!1,_.value=""}function I(){if(!S.value)return void a.ElMessage.error("题目标题不能为空!");let e="";b.value.forEach((l,t)=>{l.title||(e+=`选项${String.fromCharCode(65+t)}未填写。`)}),e?a.ElMessage.error(e):j.value?(M.value=j.value.split("\n").filter(e=>e),g("save",{title:S.value,answers:b.value,analysis:q.value,scaleQuestionList:M.value,examRichTextContent:L.value?_.value:""})):a.ElMessage.error("行标题不能为空!")}e.onMounted(function(){k.title&&(S.value=k.title),k.answerList&&k.answerList.length&&(b.value=k.answerList),k.analysis&&(q.value=k.analysis),k.scaleQuestionList&&(M.value=k.scaleQuestionList,j.value=M.value.join("\n")),k.examRichTextContent&&(_.value=k.examRichTextContent,L.value=!0)});const D=t.useNamespace("subject-scale");return(t,N)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(D).e("scale-exam"))},[e.createVNode(r.default,{"show-edit":t.isEdit},{preview:e.withCtx(()=>[e.createElementVNode("div",s,[e.createElementVNode("div",null,[e.createElementVNode("span",i,e.toDisplayString(t.orderIndex+1)+"."+e.toDisplayString(S.value)+"(量表题)",1),L.value?(e.openBlock(),e.createElementBlock("div",c,[e.createElementVNode("div",{class:"rich-text",innerHTML:_.value},null,8,d)])):e.createCommentVNode("v-if",!0)]),e.createElementVNode("div",u,[e.createVNode(e.unref(a.ElRow),{style:{padding:"10px 0"}},{default:e.withCtx(()=>[e.createVNode(e.unref(a.ElCol),{span:R.value},null,8,["span"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,l=>(e.openBlock(),e.createBlock(e.unref(a.ElCol),{key:l.title,class:"flex flex-center",span:R.value},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(l.title),1)]),_:2},1032,["span"]))),128))]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value,l=>(e.openBlock(),e.createBlock(e.unref(a.ElRow),{key:l,style:{padding:"10px 0"}},{default:e.withCtx(()=>[e.createVNode(e.unref(a.ElCol),{span:R.value,class:"flex flex-center"},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(l),1)]),_:2},1032,["span"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value.length,l=>(e.openBlock(),e.createBlock(e.unref(a.ElCol),{key:l,class:"radio-item flex flex-center",span:R.value},{default:e.withCtx(()=>[e.createVNode(e.unref(a.ElRadio),{disabled:!0})]),_:2},1032,["span"]))),128))]),_:2},1024))),128))])])]),edit:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["flex",[{"margin-bottom":L.value}]])},[N[10]||(N[10]=e.createElementVNode("div",{class:"label flex flex-justify-center"},[e.createElementVNode("span",null,"题目:")],-1)),e.createElementVNode("div",m,[e.createVNode(e.unref(a.ElInput),{modelValue:S.value,"onUpdate:modelValue":N[0]||(N[0]=e=>S.value=e),type:"textarea",rows:2,placeholder:"【量表题】请输入问题",disabled:t.isSave},null,8,["modelValue","disabled"])])],2),e.createElementVNode("div",v,[N[11]||(N[11]=e.createElementVNode("div",{class:"label flex flex-justify-center"},[e.createElementVNode("span",null,"行标题:")],-1)),e.createElementVNode("div",p,[e.createVNode(e.unref(a.ElInput),{modelValue:j.value,"onUpdate:modelValue":N[1]||(N[1]=e=>j.value=e),type:"textarea",placeholder:"请输入行标题",style:{width:"160px"},rows:10},null,8,["modelValue"]),e.createElementVNode("div",f,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,(n,r)=>(e.openBlock(),e.createElementBlock("div",{key:r,class:"answer-item flex flex-items-center"},[e.createElementVNode("span",x,e.toDisplayString(String.fromCharCode(65+r))+".",1),e.createVNode(e.unref(a.ElInput),{modelValue:n.title,"onUpdate:modelValue":e=>n.title=e,class:"input","show-word-limit":"",maxlength:10,placeholder:`选项${String.fromCharCode(65+r)}`,disabled:t.isSave},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled"]),e.createCommentVNode(' <PlusCircleOutlined\n class="icon"\n :class="[{ disabled: answers.length === 5 }]"\n @click="addAnswer"\n />\n <MinusCircleOutlined\n class="icon"\n :class="[{ disabled: answers.length < 3 }]"\n @click="deleteAnswer(index)"\n /> '),e.createVNode(e.unref(a.ElIcon),{class:"icon"},{default:e.withCtx(()=>[e.createVNode(e.unref(l.CirclePlus),{class:e.normalizeClass([{disabled:5===b.value.length}]),onClick:T},null,8,["class"])]),_:1}),e.createVNode(e.unref(a.ElIcon),{class:"icon"},{default:e.withCtx(()=>[e.createVNode(e.unref(l.Remove),{class:e.normalizeClass([{disabled:b.value.length<3}]),onClick:e=>function(e){b.value.length<3||b.value.splice(e,1)}(r)},null,8,["class","onClick"])]),_:2},1024)]))),128))])])]),e.createElementVNode("div",V,[N[12]||(N[12]=e.createElementVNode("div",{class:"label flex flex-justify-center"},[e.createElementVNode("span",null,"解析:")],-1)),e.createElementVNode("div",E,[e.createVNode(e.unref(a.ElInput),{modelValue:q.value,"onUpdate:modelValue":N[2]||(N[2]=e=>q.value=e),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])]),L.value?(e.openBlock(),e.createElementBlock("div",y,[N[14]||(N[14]=e.createElementVNode("div",{class:"label flex flex-justify-center"},[e.createElementVNode("span",null,"富文本:")],-1)),e.createElementVNode("div",h,[e.createVNode(o.default,e.mergeProps({"model-value":_.value,"onUpdate:modelValue":N[3]||(N[3]=e=>_.value=e)},e.unref(B),{style:{width:"100%"}}),null,16,["model-value"]),e.createElementVNode("div",w,[e.createVNode(e.unref(a.ElLink),{type:"danger",onClick:A},{default:e.withCtx(()=>N[13]||(N[13]=[e.createTextVNode(" 删除富文本 ",-1)])),_:1,__:[13]})])])])):e.createCommentVNode("v-if",!0)]),default:e.withCtx(()=>[t.showAction?(e.openBlock(),e.createBlock(n.default,{key:0,"is-edit":t.isEdit,"is-set":t.isSet,"show-other-option":!1,"exam-answer-relation-type":k.examAnswerRelationType,onMoveUp:N[4]||(N[4]=e=>g("move","up")),onMoveDown:N[5]||(N[5]=e=>g("move","down")),onDelete:N[6]||(N[6]=e=>g("delete")),onSave:I,onEdit:N[7]||(N[7]=e=>g("edit")),onAdd:N[8]||(N[8]=e=>g("add",e)),onOnShowRichText:N[9]||(N[9]=e=>L.value=!0)},null,8,["is-edit","is-set","exam-answer-relation-type"])):e.createCommentVNode("v-if",!0)]),_:1},8,["show-edit"])],2))}});exports.default=N;
2
2
  //# sourceMappingURL=subject-scale.vue.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"subject-scale.vue.cjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/subject-scale.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { CirclePlus, Remove } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { ElMessage } from 'element-plus'\nimport { computed, onMounted, ref, useAttrs } from 'vue'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\nimport SubjectLayout from '../../../subject-layout/src/subject-layout.vue'\nimport TinyMceEditor from '../../../tiny-mce-editor/src/tiny-mce-editor.vue'\n\ndefineOptions({\n name: 'QxsSubjectScale',\n})\nconst props = defineProps<{\n orderIndex: number\n title?: string\n isSave: boolean\n showAction?: boolean\n answerList?: any\n analysis?: string\n rowTitle?: string\n isEdit: boolean\n isSet: boolean\n scaleQuestionList?: any\n examRichTextContent?: string\n examAnswerRelationType?: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add'])\n\nconst attrs = useAttrs()\n\nconst answers = ref<{\n title: string\n}[]>([{\n title: '',\n}, {\n title: '',\n}, {\n title: '',\n}, {\n title: '',\n}, {\n title: '',\n}])\n\nconst title = ref('')\nconst analysis = ref('')\nconst rowTitle = ref('')\nconst showRichText = ref(false)\nconst richText = ref('')\nconst scaleQuestionList = ref<string[]>([])\nconst span = computed(() => Math.ceil(24 / (answers.value.length + 1)))\nfunction addAnswer() {\n if (answers.value.length === 5) {\n return\n }\n answers.value.push({\n title: '',\n })\n}\n\nfunction deleteAnswer(index: number) {\n if (answers.value.length < 3) {\n return\n }\n answers.value.splice(index, 1)\n}\n\nfunction deleteRichText() {\n showRichText.value = false\n richText.value = ''\n}\n\nfunction save() {\n if (!title.value) {\n ElMessage.error('题目标题不能为空!')\n return\n }\n let msg = ''\n answers.value.forEach((v, i) => {\n if (!v.title) {\n msg += `选项${String.fromCharCode(65 + i)}未填写。`\n }\n })\n\n if (msg) {\n ElMessage.error(msg)\n return\n }\n\n if (!rowTitle.value) {\n ElMessage.error('行标题不能为空!')\n return\n }\n\n scaleQuestionList.value = rowTitle.value.split('\\n').filter(i => i)\n\n emits('save', {\n title: title.value,\n answers: answers.value,\n analysis: analysis.value,\n scaleQuestionList: scaleQuestionList.value,\n examRichTextContent: showRichText.value ? richText.value : '',\n })\n}\n\nfunction init() {\n if (props.title) {\n title.value = props.title\n }\n\n if (props.answerList && props.answerList.length) {\n answers.value = props.answerList\n }\n\n if (props.analysis) {\n analysis.value = props.analysis\n }\n\n if (props.scaleQuestionList) {\n scaleQuestionList.value = props.scaleQuestionList\n rowTitle.value = scaleQuestionList.value.join('\\n')\n }\n if (props.examRichTextContent) {\n richText.value = props.examRichTextContent\n showRichText.value = true\n }\n}\n\nonMounted(init)\nconst ns = useNamespace('subject-scale')\n</script>\n\n<template>\n <div :class=\"ns.e('scale-exam')\">\n <SubjectLayout :show-edit=\"isEdit\">\n <template #preview>\n <div class=\"preview\">\n <div>\n <span class=\"title\">{{ orderIndex + 1 }}.{{ title }}(量表题)</span>\n <div v-if=\"showRichText\">\n <div\n class=\"rich-text\"\n v-html=\"richText\"\n />\n </div>\n </div>\n <div class=\"answer-radio flex-col\">\n <el-row style=\"padding: 10px 0;\">\n <el-col :span=\"span\" />\n <el-col\n v-for=\"item in answers\"\n :key=\"item.title\"\n class=\"flex flex-center\"\n :span=\"span\"\n >\n <span>{{ item.title }}</span>\n </el-col>\n </el-row>\n <el-row\n v-for=\"item in scaleQuestionList\"\n :key=\"item\"\n style=\"padding: 10px 0;\"\n >\n <el-col\n :span=\"span\"\n class=\"flex flex-center\"\n >\n <span>{{ item }}</span>\n </el-col>\n <el-col\n v-for=\"i in answers.length\"\n :key=\"i\"\n class=\"radio-item flex flex-center\"\n :span=\"span\"\n >\n <el-radio :disabled=\"true\" />\n </el-col>\n </el-row>\n </div>\n </div>\n </template>\n <template #edit>\n <div\n class=\"flex\"\n :class=\"[{ 'margin-bottom': showRichText }]\"\n >\n <div class=\"label flex flex-justify-center\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-input\n v-model=\"title\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"【量表题】请输入问题\"\n :disabled=\"isSave\"\n />\n </div>\n </div>\n <div class=\"answer flex\">\n <div class=\"label flex flex-justify-center\">\n <span>行标题:</span>\n </div>\n <div class=\"flex\">\n <el-input\n v-model=\"rowTitle\"\n type=\"textarea\"\n placeholder=\"请输入行标题\"\n style=\"width: 160px;\"\n :rows=\"10\"\n />\n <div class=\"answer-list flex-col\">\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"answer-item flex flex-items-center\"\n >\n <span class=\"order\">{{ String.fromCharCode(65 + index) }}.</span>\n <el-input\n v-model=\"item.title\"\n class=\"input\"\n show-word-limit\n :maxlength=\"10\"\n :placeholder=\"`选项${String.fromCharCode(65 + index)}`\"\n :disabled=\"isSave\"\n />\n <!-- <PlusCircleOutlined\n class=\"icon\"\n :class=\"[{ disabled: answers.length === 5 }]\"\n @click=\"addAnswer\"\n />\n <MinusCircleOutlined\n class=\"icon\"\n :class=\"[{ disabled: answers.length < 3 }]\"\n @click=\"deleteAnswer(index)\"\n /> -->\n <el-icon class=\"icon\">\n <CirclePlus\n :class=\"[{ disabled: answers.length === 5 }]\"\n @click=\"addAnswer\"\n />\n </el-icon>\n <el-icon class=\"icon\">\n <Remove\n :class=\"[{ disabled: answers.length < 3 }]\"\n @click=\"deleteAnswer(index)\"\n />\n </el-icon>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"flex\"\n style=\"margin-bottom: 20px;\"\n >\n <div class=\"label flex flex-justify-center\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-input\n v-model=\"analysis\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"请输入题目解析\"\n />\n </div>\n </div>\n <div\n v-if=\"showRichText\"\n class=\"margin-bottom flex\"\n >\n <div class=\"label flex flex-justify-center\">\n <span>富文本:</span>\n </div>\n <div style=\"flex: 1;\">\n <TinyMceEditor\n v-model:model-value=\"richText\"\n v-bind=\"attrs\"\n style=\"width: 100%;\"\n />\n <div class=\"flex flex-justify-end\">\n <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 :show-other-option=\"false\"\n :exam-answer-relation-type=\"props.examAnswerRelationType\"\n @move-up=\"emits('move', 'up')\"\n @move-down=\"emits('move', 'down')\"\n @delete=\"emits('delete')\"\n @save=\"save\"\n @edit=\"emits('edit')\"\n @add=\"(type: any) => emits('add', type)\"\n @on-show-rich-text=\"showRichText = true\"\n />\n </SubjectLayout>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","attrs","useAttrs","answers","ref","title","analysis","rowTitle","showRichText","richText","scaleQuestionList","span","computed","Math","ceil","value","length","addAnswer","push","deleteRichText","save","ElMessage","error","msg","forEach","v","i","String","fromCharCode","split","filter","examRichTextContent","onMounted","answerList","join","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createVNode","SubjectLayout","isEdit","preview","_createElementVNode","_hoisted_1","_hoisted_2","_toDisplayString","orderIndex","_hoisted_3","innerHTML","_hoisted_5","_component_el_row","style","padding","_component_el_col","_Fragment","_renderList","item","_createBlock","key","_openBlock","_component_el_radio","disabled","edit","_hoisted_6","_component_el_input","$event","type","rows","placeholder","isSave","_hoisted_7","_hoisted_8","width","_hoisted_9","index","_hoisted_10","modelValue","maxlength","_createCommentVNode","_component_el_icon","CirclePlus","onClick","Remove","splice","deleteAnswer","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","TinyMceEditor","_mergeProps","_hoisted_15","_component_el_link","_cache","showAction","SubjectAction","isSet","examAnswerRelationType","onMoveUp","onMoveDown","onDelete","onSave","onEdit","onAdd","onOnShowRichText"],"mappings":"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"}
1
+ {"version":3,"file":"subject-scale.vue.cjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/subject-scale.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { CirclePlus, Remove } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { ElCol, ElIcon, ElInput, ElLink, ElMessage, ElRadio, ElRow } from 'element-plus'\nimport { computed, onMounted, ref, useAttrs } from 'vue'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\nimport SubjectLayout from '../../../subject-layout/src/subject-layout.vue'\nimport TinyMceEditor from '../../../tiny-mce-editor/src/tiny-mce-editor.vue'\n\ndefineOptions({\n name: 'QxsSubjectScale',\n})\nconst props = defineProps<{\n orderIndex: number\n title?: string\n isSave: boolean\n showAction?: boolean\n answerList?: any\n analysis?: string\n rowTitle?: string\n isEdit: boolean\n isSet: boolean\n scaleQuestionList?: any\n examRichTextContent?: string\n examAnswerRelationType?: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add'])\n\nconst attrs = useAttrs()\n\nconst answers = ref<{\n title: string\n}[]>([{\n title: '',\n}, {\n title: '',\n}, {\n title: '',\n}, {\n title: '',\n}, {\n title: '',\n}])\n\nconst title = ref('')\nconst analysis = ref('')\nconst rowTitle = ref('')\nconst showRichText = ref(false)\nconst richText = ref('')\nconst scaleQuestionList = ref<string[]>([])\nconst span = computed(() => Math.ceil(24 / (answers.value.length + 1)))\nfunction addAnswer() {\n if (answers.value.length === 5) {\n return\n }\n answers.value.push({\n title: '',\n })\n}\n\nfunction deleteAnswer(index: number) {\n if (answers.value.length < 3) {\n return\n }\n answers.value.splice(index, 1)\n}\n\nfunction deleteRichText() {\n showRichText.value = false\n richText.value = ''\n}\n\nfunction save() {\n if (!title.value) {\n ElMessage.error('题目标题不能为空!')\n return\n }\n let msg = ''\n answers.value.forEach((v, i) => {\n if (!v.title) {\n msg += `选项${String.fromCharCode(65 + i)}未填写。`\n }\n })\n\n if (msg) {\n ElMessage.error(msg)\n return\n }\n\n if (!rowTitle.value) {\n ElMessage.error('行标题不能为空!')\n return\n }\n\n scaleQuestionList.value = rowTitle.value.split('\\n').filter(i => i)\n\n emits('save', {\n title: title.value,\n answers: answers.value,\n analysis: analysis.value,\n scaleQuestionList: scaleQuestionList.value,\n examRichTextContent: showRichText.value ? richText.value : '',\n })\n}\n\nfunction init() {\n if (props.title) {\n title.value = props.title\n }\n\n if (props.answerList && props.answerList.length) {\n answers.value = props.answerList\n }\n\n if (props.analysis) {\n analysis.value = props.analysis\n }\n\n if (props.scaleQuestionList) {\n scaleQuestionList.value = props.scaleQuestionList\n rowTitle.value = scaleQuestionList.value.join('\\n')\n }\n if (props.examRichTextContent) {\n richText.value = props.examRichTextContent\n showRichText.value = true\n }\n}\n\nonMounted(init)\nconst ns = useNamespace('subject-scale')\n</script>\n\n<template>\n <div :class=\"ns.e('scale-exam')\">\n <SubjectLayout :show-edit=\"isEdit\">\n <template #preview>\n <div class=\"preview\">\n <div>\n <span class=\"title\">{{ orderIndex + 1 }}.{{ title }}(量表题)</span>\n <div v-if=\"showRichText\">\n <div\n class=\"rich-text\"\n v-html=\"richText\"\n />\n </div>\n </div>\n <div class=\"answer-radio flex-col\">\n <ElRow style=\"padding: 10px 0;\">\n <ElCol :span=\"span\" />\n <ElCol\n v-for=\"item in answers\"\n :key=\"item.title\"\n class=\"flex flex-center\"\n :span=\"span\"\n >\n <span>{{ item.title }}</span>\n </ElCol>\n </ElRow>\n <ElRow\n v-for=\"item in scaleQuestionList\"\n :key=\"item\"\n style=\"padding: 10px 0;\"\n >\n <ElCol\n :span=\"span\"\n class=\"flex flex-center\"\n >\n <span>{{ item }}</span>\n </ElCol>\n <ElCol\n v-for=\"i in answers.length\"\n :key=\"i\"\n class=\"radio-item flex flex-center\"\n :span=\"span\"\n >\n <ElRadio :disabled=\"true\" />\n </ElCol>\n </ElRow>\n </div>\n </div>\n </template>\n <template #edit>\n <div\n class=\"flex\"\n :class=\"[{ 'margin-bottom': showRichText }]\"\n >\n <div class=\"label flex flex-justify-center\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\">\n <ElInput\n v-model=\"title\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"【量表题】请输入问题\"\n :disabled=\"isSave\"\n />\n </div>\n </div>\n <div class=\"answer flex\">\n <div class=\"label flex flex-justify-center\">\n <span>行标题:</span>\n </div>\n <div class=\"flex\">\n <ElInput\n v-model=\"rowTitle\"\n type=\"textarea\"\n placeholder=\"请输入行标题\"\n style=\"width: 160px;\"\n :rows=\"10\"\n />\n <div class=\"answer-list flex-col\">\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"answer-item flex flex-items-center\"\n >\n <span class=\"order\">{{ String.fromCharCode(65 + index) }}.</span>\n <ElInput\n v-model=\"item.title\"\n class=\"input\"\n show-word-limit\n :maxlength=\"10\"\n :placeholder=\"`选项${String.fromCharCode(65 + index)}`\"\n :disabled=\"isSave\"\n />\n <!-- <PlusCircleOutlined\n class=\"icon\"\n :class=\"[{ disabled: answers.length === 5 }]\"\n @click=\"addAnswer\"\n />\n <MinusCircleOutlined\n class=\"icon\"\n :class=\"[{ disabled: answers.length < 3 }]\"\n @click=\"deleteAnswer(index)\"\n /> -->\n <ElIcon class=\"icon\">\n <CirclePlus\n :class=\"[{ disabled: answers.length === 5 }]\"\n @click=\"addAnswer\"\n />\n </ElIcon>\n <ElIcon class=\"icon\">\n <Remove\n :class=\"[{ disabled: answers.length < 3 }]\"\n @click=\"deleteAnswer(index)\"\n />\n </ElIcon>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"flex\"\n style=\"margin-bottom: 20px;\"\n >\n <div class=\"label flex flex-justify-center\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <ElInput\n v-model=\"analysis\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"请输入题目解析\"\n />\n </div>\n </div>\n <div\n v-if=\"showRichText\"\n class=\"margin-bottom flex\"\n >\n <div class=\"label flex flex-justify-center\">\n <span>富文本:</span>\n </div>\n <div style=\"flex: 1;\">\n <TinyMceEditor\n v-model:model-value=\"richText\"\n v-bind=\"attrs\"\n style=\"width: 100%;\"\n />\n <div class=\"flex flex-justify-end\">\n <ElLink\n type=\"danger\"\n @click=\"deleteRichText\"\n >\n 删除富文本\n </ElLink>\n </div>\n </div>\n </div>\n </template>\n <SubjectAction\n v-if=\"showAction\"\n :is-edit=\"isEdit\"\n :is-set=\"isSet\"\n :show-other-option=\"false\"\n :exam-answer-relation-type=\"props.examAnswerRelationType\"\n @move-up=\"emits('move', 'up')\"\n @move-down=\"emits('move', 'down')\"\n @delete=\"emits('delete')\"\n @save=\"save\"\n @edit=\"emits('edit')\"\n @add=\"(type: any) => emits('add', type)\"\n @on-show-rich-text=\"showRichText = true\"\n />\n </SubjectLayout>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","attrs","useAttrs","answers","ref","title","analysis","rowTitle","showRichText","richText","scaleQuestionList","span","computed","Math","ceil","value","length","addAnswer","push","deleteRichText","save","ElMessage","error","msg","forEach","v","i","String","fromCharCode","split","filter","examRichTextContent","onMounted","answerList","join","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createVNode","SubjectLayout","isEdit","preview","_createElementVNode","_hoisted_1","_hoisted_2","_toDisplayString","orderIndex","_hoisted_3","innerHTML","_hoisted_5","ElRow","style","padding","ElCol","_Fragment","_renderList","item","_createBlock","key","_openBlock","ElRadio","disabled","edit","_hoisted_6","ElInput","$event","type","rows","placeholder","isSave","_hoisted_7","_hoisted_8","width","_hoisted_9","index","_hoisted_10","modelValue","maxlength","_createCommentVNode","ElIcon","CirclePlus","onClick","Remove","splice","deleteAnswer","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","TinyMceEditor","_mergeProps","_hoisted_15","ElLink","_cache","showAction","SubjectAction","isSet","examAnswerRelationType","onMoveUp","onMoveDown","onDelete","onSave","onEdit","onAdd","onOnShowRichText"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@element-plus/icons-vue"),l=require("@qxs-bns/hooks"),a=require("@qxs-bns/utils"),o=require("element-plus"),r=require("../../../subject-action/src/subject-action.vue.cjs"),n=require("../../../subject-layout/src/subject-layout.vue.cjs"),i=require("../../../tiny-mce-editor/src/tiny-mce-editor.vue.cjs");const s={class:"preview"},u={class:"title"},c={key:0},d={key:1},m={key:0},p=["innerHTML"],v={class:"preview-answer"},y={class:"order"},f={class:"order"},x={style:{flex:"1"}},C={class:"margin-bottom flex flex-items-center"},k={class:"margin-bottom answer-list"},w={class:"label flex flex-justify-center"},h={key:0,class:"margin-bottom flex flex-items-center"},V={style:{flex:"1"}},g={key:1,class:"flex"},N={style:{flex:"1"}},E={key:2,class:"margin-bottom flex"},B={style:{flex:"1"}},b={class:"flex flex-justify-end"};var S=e.defineComponent({name:"QxsSubjectSingle",__name:"subject-single",props:{orderIndex:{type:Number,required:!0},title:{type:String,required:!1},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},type:{type:String,required:!0},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},answerList:{type:null,required:!1},leastAnswerCount:{type:Number,required:!1},analysis:{type:String,required:!1},examExpand:{type:String,required:!1},examRichTextContent:{type:String,required:!1},showAnalysis:{type:Boolean,required:!1},examAnswerRelationType:{type:Number,required:!1},customId:{type:Number,required:!1},examId:{type:Number,required:!1},isKey:{type:Boolean,required:!0},answerCheckType:{type:Number,required:!0}},emits:["move","save","delete","edit","add","setRelation"],setup(S,{emit:q}){const T=S,_=q,A=e.useAttrs(),j=e.ref(0),R=e.ref(T.isKey),D=e.ref(1),I=e.ref(T.examAnswerRelationType),M=e.ref([{title:"",isCorrect:!1},{title:"",isCorrect:!1},{title:"",isCorrect:!1},{title:"",isCorrect:!1}]),L=e.ref(2),U=e.ref(""),z=e.ref(""),$=e.ref(!1),K=e.ref(""),F=e.ref(0),P=e.ref(!1),G=e.ref(""),H=e.computed(()=>"single"===T.type?"单选题":"multiple"===T.type?"多选题":"排序题"),O=e.ref([]),Q=e.computed(()=>{const e=[];for(let t=M.value.length;t>1;t--)e.push({label:`至少选择${t}项`,value:t});return e.reverse()});function J(){T.isSave||M.value.push({title:"",isCorrect:!1,customAnswerId:a.setGuid()})}function W(){$.value=!1,K.value=""}function X(){if(!U.value)return void o.ElMessage.error("题目标题不能为空!");if(!D.value)return void o.ElMessage.error("请选择答题设置");let e="",t=!1,l=0;if("multiple"===T.type||"single"===T.type?M.value.forEach((a,o)=>{a.title?.trim()||(e+=`选项${String.fromCharCode(65+o)}未填写。`),a.isCorrect&&(t=!0,l++),a.relationType=a.resultItem?1:a.answerRelations?.length?2:null}):"sort"===T.type&&O.value.length&&(t=!0),e)return void o.ElMessage.error(e);if(new Set(M.value.map(e=>e.title)).size===M.value.length){if("multiple"===T.type){if(1===l)return void o.ElMessage.error("请至少设置两个支持选项");if(t&&l<L.value)return void o.ElMessage.error("至少选几项与支持选项数不符")}2!==D.value&&3!==D.value||t?_("save",{title:U.value,answers:M.value.map((e,t)=>({...e,orderIndex:t+1})),examExpand:O.value.map(e=>e.charCodeAt(0)-65+1).join(","),analysis:z.value,isSetCorrectAnswer:t,leastAnswerCount:L.value,examRichTextContent:$.value?K.value:"",examAnswerRelationType:I.value,isKey:R.value,answerCheckType:D.value}):o.ElMessage.error("请设置支持选项")}else o.ElMessage.error("选项不能重复")}function Y(){M.value[j.value].resultItem=G.value||"",P.value=!1}function Z(){P.value=!1,G.value=""}function ee(e){R.value=e}function te(e){D.value=e}function le(e,t){_("add",e,t?T.examAnswerRelationType:null)}e.watch(()=>T.isEdit,()=>{T.isEdit&&(F.value=(new Date).getTime())});const ae=e.computed(()=>e=>{let t=0;return e.forEach(e=>{e.relationAnswers&&(t+=e.relationAnswers.length)}),t}),oe=l.useNamespace("subject-single");return e.onMounted(function(){if(T.title&&(U.value=T.title),T.answerCheckType&&(D.value=T.answerCheckType),T.isKey&&(R.value=T.isKey),T.examAnswerRelationType&&(I.value=T.examAnswerRelationType),T.answerList&&T.answerList.length&&(M.value=T.answerList),T.leastAnswerCount&&(L.value=T.leastAnswerCount),T.examExpand&&T.examExpand){const e=T.examExpand.split(",");O.value=e.map(e=>{const t=T.answerList.find(t=>t.answerId?.toString()===e);return t?String.fromCharCode(65+t.orderIndex-1):e}).filter(Boolean)}T.analysis&&(z.value=T.analysis),T.examRichTextContent&&(K.value=T.examRichTextContent,$.value=!0)}),(l,o)=>{const S=e.resolveComponent("el-checkbox"),q=e.resolveComponent("el-radio"),F=e.resolveComponent("el-input"),re=e.resolveComponent("el-option"),ne=e.resolveComponent("el-select"),ie=e.resolveComponent("el-icon"),se=e.resolveComponent("el-link"),ue=e.resolveComponent("el-button"),ce=e.resolveComponent("el-dialog");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(oe).e("single-exam"))},[e.createVNode(n.default,{"show-edit":l.isEdit},e.createSlots({preview:e.withCtx(()=>[e.createElementVNode("div",s,[e.createElementVNode("div",null,[e.createElementVNode("span",u,[e.createTextVNode(e.toDisplayString(l.orderIndex+1)+"."+e.toDisplayString(U.value)+" ",1),"single"===l.type?(e.openBlock(),e.createElementBlock("span",c,"(单选题)")):["multiple","sort"].includes(l.type)?(e.openBlock(),e.createElementBlock("span",d," ("+e.toDisplayString(H.value)+e.toDisplayString(L.value?`至少选${L.value}项${"sort"===l.type?"并排序":""}`:"")+") ",1)):e.createCommentVNode("v-if",!0)])]),$.value?(e.openBlock(),e.createElementBlock("div",m,[e.createElementVNode("div",{class:"rich-text",innerHTML:K.value},null,8,p)])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",v,["sort"===l.type?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(M.value,(t,l)=>(e.openBlock(),e.createBlock(S,{key:l,class:"radio",disabled:!0},{default:e.withCtx(()=>[e.createElementVNode("span",y,e.toDisplayString(String.fromCharCode(65+l))+". ",1),e.createTextVNode(" "+e.toDisplayString(t.title),1)]),_:2},1024))),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(M.value,(t,l)=>(e.openBlock(),e.createBlock(q,{key:l,class:"radio",value:"disabled",disabled:""},{default:e.withCtx(()=>[e.createElementVNode("span",f,e.toDisplayString(String.fromCharCode(65+l))+". ",1),e.createTextVNode(" "+e.toDisplayString(t.title)+" "+e.toDisplayString(t.isCorrect?"(支持选项)":"")+" "+e.toDisplayString(1===I.value?t.resultItem?"(已设置结果项)":"(未设置结果项)":"")+" "+e.toDisplayString(2===I.value?t.answerRelations?.length?"(已设置关联)":"(未设置关联)":""),1)]),_:2},1024))),128))])])]),default:e.withCtx(()=>[l.showAction?(e.openBlock(),e.createBlock(r.default,{key:0,"is-edit":l.isEdit,"is-set":l.isSet,"is-key":R.value,"show-other-option":"multiple"===T.type||"single"===T.type,"exam-answer-relation-type":T.examAnswerRelationType,"answer-check-type":D.value,onMoveUp:o[5]||(o[5]=e=>_("move","up")),onMoveDown:o[6]||(o[6]=e=>_("move","down")),onDelete:o[7]||(o[7]=e=>_("delete")),onSave:X,onEdit:o[8]||(o[8]=e=>_("edit")),onAdd:le,onOnShowRichText:o[9]||(o[9]=e=>$.value=!0),onSetKey:ee,onSetAnswerSetting:te},null,8,["is-edit","is-set","is-key","show-other-option","exam-answer-relation-type","answer-check-type"])):e.createCommentVNode("v-if",!0)]),_:2},[l.isEdit?{name:"edit",fn:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["flex",[{"margin-bottom":$.value}]])},[o[12]||(o[12]=e.createElementVNode("div",{class:"label flex flex-justify-center"},[e.createElementVNode("span",null,"题目:")],-1)),e.createElementVNode("div",x,[e.createVNode(F,{modelValue:U.value,"onUpdate:modelValue":o[0]||(o[0]=e=>U.value=e),type:"textarea",rows:2,placeholder:`【${H.value}】请输入问题`,disabled:l.isSave,"show-word-limit":"",maxlength:"200",class:"margin-bottom"},null,8,["modelValue","placeholder","disabled"])])],2),e.createElementVNode("div",C,[o[13]||(o[13]=e.createElementVNode("div",{class:"label flex flex-justify-center"},[e.createElementVNode("span",null,"设置:")],-1)),["multiple","sort"].includes(l.type)?(e.openBlock(),e.createBlock(ne,{key:0,modelValue:L.value,"onUpdate:modelValue":o[1]||(o[1]=e=>L.value=e),style:{width:"150px"},placeholder:"至少选择几项",disabled:l.isSave},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Q.value,t=>(e.openBlock(),e.createBlock(re,{key:t.value,value:t.value,label:t.label},null,8,["value","label"]))),128))]),_:1},8,["modelValue","disabled"])):e.createCommentVNode("v-if",!0)]),e.createElementVNode("div",k,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value,(r,n)=>(e.openBlock(),e.createElementBlock("div",{key:n,class:"answer-item flex flex-items-center"},[e.createElementVNode("span",w,e.toDisplayString(String.fromCharCode(65+n))+".",1),e.createVNode(F,{modelValue:r.title,"onUpdate:modelValue":e=>r.title=e,class:"input","show-word-limit":"",maxlength:"100",placeholder:`选项${String.fromCharCode(65+n)}`,disabled:l.isSave},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled"]),["single","multiple"].includes(l.type)?(e.openBlock(),e.createBlock(S,{key:0,modelValue:r.isCorrect,"onUpdate:modelValue":e=>r.isCorrect=e,class:e.normalizeClass([{"is-correct":r.isCorrect}]),disabled:l.isSave,style:{"margin-left":"10px"},onChange:e=>function(e,t){"single"===T.type?(t&&M.value.forEach(t=>{t!==e&&(t.isCorrect=!1)}),e.isCorrect=t):"multiple"===T.type&&(e.isCorrect=t)}(r,e)},{default:e.withCtx(()=>[...o[14]||(o[14]=[e.createTextVNode(" 支持选项 ",-1)])]),_:2,__:[14]},1032,["modelValue","onUpdate:modelValue","class","disabled","onChange"])):e.createCommentVNode("v-if",!0),e.createVNode(ie,{class:"icon"},{default:e.withCtx(()=>[e.createVNode(e.unref(t.CirclePlus),{class:e.normalizeClass([{disabled:l.isSave}]),onClick:J},null,8,["class"])]),_:1}),e.createVNode(ie,{class:"icon"},{default:e.withCtx(()=>[e.createVNode(e.unref(t.Remove),{class:e.normalizeClass([{disabled:M.value.length<3||l.isSave}]),onClick:e=>function(e){M.value.length<3||T.isSave||M.value.splice(e,1)}(n)},null,8,["class","onClick"])]),_:2},1024),1===I.value&&"sort"!==l.type?(e.openBlock(),e.createBlock(se,{key:1,type:"primary",class:"margin-left-10",onClick:e=>{return t=n,j.value=t,G.value=M.value[t].resultItem||"",void(P.value=!0);var t}},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(r.resultItem?"编辑结果":"添加结果"),1)]),_:2},1032,["onClick"])):e.createCommentVNode("v-if",!0),2===I.value&&"sort"!==l.type?(e.openBlock(),e.createBlock(se,{key:2,type:"primary",class:"margin-left-10",onClick:e=>function(e){e.customAnswerId=e.examAnswerId||a.setGuid(),_("setRelation",T.customId,e)}(r)},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(r.answerRelations?.length?`关联了${ae.value(r.answerRelations)}项`:"关联检查"),1)]),_:2},1032,["onClick"])):e.createCommentVNode("v-if",!0)]))),128))]),"sort"===l.type?(e.openBlock(),e.createElementBlock("div",h,[o[15]||(o[15]=e.createElementVNode("div",{class:"label flex flex-justify-end"},[e.createElementVNode("span",null,"排序答案:")],-1)),e.createElementVNode("div",V,[e.createVNode(ne,{modelValue:O.value,"onUpdate:modelValue":o[2]||(o[2]=e=>O.value=e),multiple:"",style:{width:"360px"},placeholder:"请按顺序选择排序答案","show-arrow":!0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value,(t,l)=>(e.openBlock(),e.createBlock(re,{key:l,label:t.title,value:String.fromCharCode(65+l)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])])):e.createCommentVNode("v-if",!0),l.showAnalysis?(e.openBlock(),e.createElementBlock("div",g,[o[16]||(o[16]=e.createElementVNode("div",{class:"label flex flex-justify-center"},[e.createElementVNode("span",null,"解析:")],-1)),e.createElementVNode("div",N,[e.createVNode(F,{modelValue:z.value,"onUpdate:modelValue":o[3]||(o[3]=e=>z.value=e),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])])):e.createCommentVNode("v-if",!0),$.value?(e.openBlock(),e.createElementBlock("div",E,[o[18]||(o[18]=e.createElementVNode("div",{class:"label flex flex-justify-center"},[e.createElementVNode("span",null,"富文本:")],-1)),e.createElementVNode("div",B,[e.createVNode(i.default,e.mergeProps({"model-value":K.value,"onUpdate:modelValue":o[4]||(o[4]=e=>K.value=e)},e.unref(A),{style:{width:"100%"}}),null,16,["model-value"]),e.createElementVNode("div",b,[e.createVNode(se,{type:"danger",onClick:W},{default:e.withCtx(()=>o[17]||(o[17]=[e.createTextVNode(" 删除富文本 ",-1)])),_:1,__:[17]})])])])):e.createCommentVNode("v-if",!0)]),key:"0"}:void 0]),1032,["show-edit"]),e.createVNode(ce,{modelValue:P.value,"onUpdate:modelValue":o[11]||(o[11]=e=>P.value=e),title:"添加结果",class:"customize-dialog"},{footer:e.withCtx(()=>[e.createVNode(ue,{class:"customize-button",type:"primary",plain:"",onClick:Z},{default:e.withCtx(()=>o[19]||(o[19]=[e.createTextVNode(" 取消 ",-1)])),_:1,__:[19]}),e.createVNode(ue,{class:"customize-button",type:"primary",plain:"",onClick:Y},{default:e.withCtx(()=>o[20]||(o[20]=[e.createTextVNode(" 保存 ",-1)])),_:1,__:[20]})]),default:e.withCtx(()=>[(e.openBlock(),e.createBlock(i.default,e.mergeProps({key:j.value,"model-value":G.value,"onUpdate:modelValue":o[10]||(o[10]=e=>G.value=e)},e.unref(A),{style:{width:"100%"}}),null,16,["model-value"]))]),_:1},8,["modelValue"])],2)}}});exports.default=S;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@element-plus/icons-vue"),l=require("@qxs-bns/hooks"),a=require("element-plus"),r=require("nanoid"),n=require("../../../subject-action/src/subject-action.vue.cjs"),o=require("../../../subject-layout/src/subject-layout.vue.cjs"),i=require("../../../tiny-mce-editor/src/tiny-mce-editor.vue.cjs");const s={class:"preview"},u={class:"title"},c={key:0},d={key:1},m={key:0},p=["innerHTML"],v={class:"preview-answer"},f={class:"order"},y={class:"order"},x={style:{flex:"1"}},k={class:"margin-bottom flex flex-items-center"},C={class:"margin-bottom answer-list"},w={class:"label flex flex-justify-center"},h={key:0,class:"margin-bottom flex flex-items-center"},V={style:{flex:"1"}},E={key:1,class:"flex"},g={style:{flex:"1"}},N={key:2,class:"margin-bottom flex"},B={style:{flex:"1"}},S={class:"flex flex-justify-end"};var b=e.defineComponent({name:"QxsSubjectSingle",__name:"subject-single",props:{orderIndex:{type:Number,required:!0},title:{type:String,required:!1},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},type:{type:String,required:!0},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},answerList:{type:null,required:!1},leastAnswerCount:{type:Number,required:!1},analysis:{type:String,required:!1},examExpand:{type:String,required:!1},examRichTextContent:{type:String,required:!1},showAnalysis:{type:Boolean,required:!1},examAnswerRelationType:{type:Number,required:!1},customId:{type:String,required:!1},examId:{type:Number,required:!1},isKey:{type:Boolean,required:!0},answerCheckType:{type:Number,required:!0}},emits:["move","save","delete","edit","add","setRelation"],setup(b,{emit:q}){const T=b,_=q,A=e.useAttrs(),I=e.ref(0),R=e.ref(T.isKey),j=e.ref(1),D=e.ref(T.examAnswerRelationType),L=e.ref([{title:"",isCorrect:!1},{title:"",isCorrect:!1},{title:"",isCorrect:!1},{title:"",isCorrect:!1}]),M=e.ref(2),U=e.ref(""),z=e.ref(""),$=e.ref(!1),K=e.ref(""),F=e.ref(0),O=e.ref(!1),P=e.ref(""),H=e.computed(()=>"single"===T.type?"单选题":"multiple"===T.type?"多选题":"排序题"),Q=e.ref([]),G=e.computed(()=>{const e=[];for(let t=L.value.length;t>1;t--)e.push({label:`至少选择${t}项`,value:t});return e.reverse()});function J(){T.isSave||L.value.push({title:"",isCorrect:!1,customAnswerId:r.nanoid()})}function W(){$.value=!1,K.value=""}function X(){if(!U.value)return void a.ElMessage.error("题目标题不能为空!");if(!j.value)return void a.ElMessage.error("请选择答题设置");let e="",t=!1,l=0;if("multiple"===T.type||"single"===T.type?L.value.forEach((a,r)=>{a.title?.trim()||(e+=`选项${String.fromCharCode(65+r)}未填写。`),a.isCorrect&&(t=!0,l++),a.relationType=a.resultItem?1:a.answerRelations?.length?2:null}):"sort"===T.type&&Q.value.length&&(t=!0),e)return void a.ElMessage.error(e);if(new Set(L.value.map(e=>e.title)).size===L.value.length){if("multiple"===T.type){if(1===l)return void a.ElMessage.error("请至少设置两个支持选项");if(t&&l<M.value)return void a.ElMessage.error("至少选几项与支持选项数不符")}2!==j.value&&3!==j.value||t?_("save",{title:U.value,answers:L.value.map((e,t)=>({...e,orderIndex:t+1})),examExpand:Q.value.map(e=>e.charCodeAt(0)-65+1).join(","),analysis:z.value,isSetCorrectAnswer:t,leastAnswerCount:M.value,examRichTextContent:$.value?K.value:"",examAnswerRelationType:D.value,isKey:R.value,answerCheckType:j.value}):a.ElMessage.error("请设置支持选项")}else a.ElMessage.error("选项不能重复")}function Y(){L.value[I.value].resultItem=P.value||"",O.value=!1}function Z(){O.value=!1,P.value=""}function ee(e){R.value=e}function te(e){j.value=e}function le(e,t){_("add",e,t?T.examAnswerRelationType:null)}e.watch(()=>T.isEdit,()=>{T.isEdit&&(F.value=(new Date).getTime())});const ae=e.computed(()=>e=>{let t=0;return e.forEach(e=>{e.relationAnswers&&(t+=e.relationAnswers.length)}),t}),re=l.useNamespace("subject-single");return e.onMounted(function(){if(T.title&&(U.value=T.title),T.answerCheckType&&(j.value=T.answerCheckType),T.isKey&&(R.value=T.isKey),T.examAnswerRelationType&&(D.value=T.examAnswerRelationType),T.answerList&&T.answerList.length&&(L.value=T.answerList),T.leastAnswerCount&&(M.value=T.leastAnswerCount),T.examExpand&&T.examExpand){const e=T.examExpand.split(",");Q.value=e.map(e=>{const t=T.answerList.find(t=>t.answerId?.toString()===e);return t?String.fromCharCode(65+t.orderIndex-1):e}).filter(Boolean)}T.analysis&&(z.value=T.analysis),T.examRichTextContent&&(K.value=T.examRichTextContent,$.value=!0)}),(l,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(re).e("single-exam"))},[e.createVNode(o.default,{"show-edit":l.isEdit},e.createSlots({preview:e.withCtx(()=>[e.createElementVNode("div",s,[e.createElementVNode("div",null,[e.createElementVNode("span",u,[e.createTextVNode(e.toDisplayString(l.orderIndex+1)+"."+e.toDisplayString(U.value)+" ",1),"single"===l.type?(e.openBlock(),e.createElementBlock("span",c,"(单选题)")):["multiple","sort"].includes(l.type)?(e.openBlock(),e.createElementBlock("span",d," ("+e.toDisplayString(H.value)+e.toDisplayString(M.value?`至少选${M.value}项${"sort"===l.type?"并排序":""}`:"")+") ",1)):e.createCommentVNode("v-if",!0)])]),$.value?(e.openBlock(),e.createElementBlock("div",m,[e.createElementVNode("div",{class:"rich-text",innerHTML:K.value},null,8,p)])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",v,["sort"===l.type?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(L.value,(t,l)=>(e.openBlock(),e.createBlock(e.unref(a.ElCheckbox),{key:l,class:"radio",disabled:!0},{default:e.withCtx(()=>[e.createElementVNode("span",f,e.toDisplayString(String.fromCharCode(65+l))+". ",1),e.createTextVNode(" "+e.toDisplayString(t.title),1)]),_:2},1024))),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(L.value,(t,l)=>(e.openBlock(),e.createBlock(e.unref(a.ElRadio),{key:l,class:"radio",value:"disabled",disabled:""},{default:e.withCtx(()=>[e.createElementVNode("span",y,e.toDisplayString(String.fromCharCode(65+l))+". ",1),e.createTextVNode(" "+e.toDisplayString(t.title)+" "+e.toDisplayString(t.isCorrect?"(支持选项)":"")+" "+e.toDisplayString(1===D.value?t.resultItem?"(已设置结果项)":"(未设置结果项)":"")+" "+e.toDisplayString(2===D.value?t.answerRelations?.length?"(已设置关联)":"(未设置关联)":""),1)]),_:2},1024))),128))])])]),default:e.withCtx(()=>[l.showAction?(e.openBlock(),e.createBlock(n.default,{key:0,"is-edit":l.isEdit,"is-set":l.isSet,"is-key":R.value,"show-other-option":"multiple"===T.type||"single"===T.type,"exam-answer-relation-type":T.examAnswerRelationType,"answer-check-type":j.value,onMoveUp:b[5]||(b[5]=e=>_("move","up")),onMoveDown:b[6]||(b[6]=e=>_("move","down")),onDelete:b[7]||(b[7]=e=>_("delete")),onSave:X,onEdit:b[8]||(b[8]=e=>_("edit")),onAdd:le,onOnShowRichText:b[9]||(b[9]=e=>$.value=!0),onSetKey:ee,onSetAnswerSetting:te},null,8,["is-edit","is-set","is-key","show-other-option","exam-answer-relation-type","answer-check-type"])):e.createCommentVNode("v-if",!0)]),_:2},[l.isEdit?{name:"edit",fn:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["flex",[{"margin-bottom":$.value}]])},[b[12]||(b[12]=e.createElementVNode("div",{class:"label flex flex-justify-center"},[e.createElementVNode("span",null,"题目:")],-1)),e.createElementVNode("div",x,[e.createVNode(e.unref(a.ElInput),{modelValue:U.value,"onUpdate:modelValue":b[0]||(b[0]=e=>U.value=e),type:"textarea",rows:2,placeholder:`【${H.value}】请输入问题`,disabled:l.isSave,"show-word-limit":"",maxlength:"200",class:"margin-bottom"},null,8,["modelValue","placeholder","disabled"])])],2),e.createElementVNode("div",k,[b[13]||(b[13]=e.createElementVNode("div",{class:"label flex flex-justify-center"},[e.createElementVNode("span",null,"设置:")],-1)),["multiple","sort"].includes(l.type)?(e.openBlock(),e.createBlock(e.unref(a.ElSelect),{key:0,modelValue:M.value,"onUpdate:modelValue":b[1]||(b[1]=e=>M.value=e),style:{width:"150px"},placeholder:"至少选择几项",disabled:l.isSave},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(G.value,t=>(e.openBlock(),e.createBlock(e.unref(a.ElOption),{key:t.value,value:t.value,label:t.label},null,8,["value","label"]))),128))]),_:1},8,["modelValue","disabled"])):e.createCommentVNode("v-if",!0)]),e.createElementVNode("div",C,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(L.value,(n,o)=>(e.openBlock(),e.createElementBlock("div",{key:o,class:"answer-item flex flex-items-center"},[e.createElementVNode("span",w,e.toDisplayString(String.fromCharCode(65+o))+".",1),e.createVNode(e.unref(a.ElInput),{modelValue:n.title,"onUpdate:modelValue":e=>n.title=e,class:"input","show-word-limit":"",maxlength:"100",placeholder:`选项${String.fromCharCode(65+o)}`,disabled:l.isSave},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled"]),["single","multiple"].includes(l.type)?(e.openBlock(),e.createBlock(e.unref(a.ElCheckbox),{key:0,modelValue:n.isCorrect,"onUpdate:modelValue":e=>n.isCorrect=e,class:e.normalizeClass([{"is-correct":n.isCorrect}]),disabled:l.isSave,style:{"margin-left":"10px"},onChange:e=>function(e,t){"single"===T.type?(t&&L.value.forEach(t=>{t!==e&&(t.isCorrect=!1)}),e.isCorrect=t):"multiple"===T.type&&(e.isCorrect=t)}(n,e)},{default:e.withCtx(()=>[...b[14]||(b[14]=[e.createTextVNode(" 支持选项 ",-1)])]),_:2,__:[14]},1032,["modelValue","onUpdate:modelValue","class","disabled","onChange"])):e.createCommentVNode("v-if",!0),e.createVNode(e.unref(a.ElIcon),{class:"icon"},{default:e.withCtx(()=>[e.createVNode(e.unref(t.CirclePlus),{class:e.normalizeClass([{disabled:l.isSave}]),onClick:J},null,8,["class"])]),_:1}),e.createVNode(e.unref(a.ElIcon),{class:"icon"},{default:e.withCtx(()=>[e.createVNode(e.unref(t.Remove),{class:e.normalizeClass([{disabled:L.value.length<3||l.isSave}]),onClick:e=>function(e){L.value.length<3||T.isSave||L.value.splice(e,1)}(o)},null,8,["class","onClick"])]),_:2},1024),1===D.value&&"sort"!==l.type?(e.openBlock(),e.createBlock(e.unref(a.ElLink),{key:1,type:"primary",class:"margin-left-10",onClick:e=>{return t=o,I.value=t,P.value=L.value[t].resultItem||"",void(O.value=!0);var t}},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(n.resultItem?"编辑结果":"添加结果"),1)]),_:2},1032,["onClick"])):e.createCommentVNode("v-if",!0),2===D.value&&"sort"!==l.type?(e.openBlock(),e.createBlock(e.unref(a.ElLink),{key:2,type:"primary",class:"margin-left-10",onClick:e=>function(e){e.customAnswerId=e.examAnswerId||r.nanoid(),_("setRelation",T.customId,e)}(n)},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(n.answerRelations?.length?`关联了${ae.value(n.answerRelations)}项`:"关联检查"),1)]),_:2},1032,["onClick"])):e.createCommentVNode("v-if",!0)]))),128))]),"sort"===l.type?(e.openBlock(),e.createElementBlock("div",h,[b[15]||(b[15]=e.createElementVNode("div",{class:"label flex flex-justify-end"},[e.createElementVNode("span",null,"排序答案:")],-1)),e.createElementVNode("div",V,[e.createVNode(e.unref(a.ElSelect),{modelValue:Q.value,"onUpdate:modelValue":b[2]||(b[2]=e=>Q.value=e),multiple:"",style:{width:"360px"},placeholder:"请按顺序选择排序答案","show-arrow":!0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(L.value,(t,l)=>(e.openBlock(),e.createBlock(e.unref(a.ElOption),{key:l,label:t.title,value:String.fromCharCode(65+l)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])])):e.createCommentVNode("v-if",!0),l.showAnalysis?(e.openBlock(),e.createElementBlock("div",E,[b[16]||(b[16]=e.createElementVNode("div",{class:"label flex flex-justify-center"},[e.createElementVNode("span",null,"解析:")],-1)),e.createElementVNode("div",g,[e.createVNode(e.unref(a.ElInput),{modelValue:z.value,"onUpdate:modelValue":b[3]||(b[3]=e=>z.value=e),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])])):e.createCommentVNode("v-if",!0),$.value?(e.openBlock(),e.createElementBlock("div",N,[b[18]||(b[18]=e.createElementVNode("div",{class:"label flex flex-justify-center"},[e.createElementVNode("span",null,"富文本:")],-1)),e.createElementVNode("div",B,[e.createVNode(i.default,e.mergeProps({"model-value":K.value,"onUpdate:modelValue":b[4]||(b[4]=e=>K.value=e)},e.unref(A),{style:{width:"100%"}}),null,16,["model-value"]),e.createElementVNode("div",S,[e.createVNode(e.unref(a.ElLink),{type:"danger",onClick:W},{default:e.withCtx(()=>b[17]||(b[17]=[e.createTextVNode(" 删除富文本 ",-1)])),_:1,__:[17]})])])])):e.createCommentVNode("v-if",!0)]),key:"0"}:void 0]),1032,["show-edit"]),e.createVNode(e.unref(a.ElDialog),{modelValue:O.value,"onUpdate:modelValue":b[11]||(b[11]=e=>O.value=e),title:"添加结果",class:"customize-dialog"},{footer:e.withCtx(()=>[e.createVNode(e.unref(a.ElButton),{class:"customize-button",type:"primary",plain:"",onClick:Z},{default:e.withCtx(()=>b[19]||(b[19]=[e.createTextVNode(" 取消 ",-1)])),_:1,__:[19]}),e.createVNode(e.unref(a.ElButton),{class:"customize-button",type:"primary",plain:"",onClick:Y},{default:e.withCtx(()=>b[20]||(b[20]=[e.createTextVNode(" 保存 ",-1)])),_:1,__:[20]})]),default:e.withCtx(()=>[(e.openBlock(),e.createBlock(i.default,e.mergeProps({key:I.value,"model-value":P.value,"onUpdate:modelValue":b[10]||(b[10]=e=>P.value=e)},e.unref(A),{style:{width:"100%"}}),null,16,["model-value"]))]),_:1},8,["modelValue"])],2))}});exports.default=b;
2
2
  //# sourceMappingURL=subject-single.vue.cjs.map