|
|
@@ -26,6 +26,9 @@ import {useInjectPaperFullCondition} from "@/views/dz/papers/hooks/usePaperFullC
|
|
|
import {useProvidePaperQuestionCondition} from "@/views/dz/papers/hooks/usePaperQuestionCondition.js";
|
|
|
import {useInjectLoading} from "@/views/hooks/useLoading.js";
|
|
|
import {ElMessage} from "element-plus";
|
|
|
+import {buildPaperAuto} from "@/api/dz/papers.js";
|
|
|
+import {sleep} from "@/utils/index.js";
|
|
|
+import router from "@/router/index.js";
|
|
|
|
|
|
const props = defineProps({
|
|
|
allowMultiple: Boolean,
|
|
|
@@ -37,12 +40,29 @@ const {knowledgeCheckNodes, removeKnowledge, paperArgs} = props.exactMode ? useI
|
|
|
const {qTypes} = useProvidePaperQuestionCondition(props.exactMode, props.allowMultiple, true)
|
|
|
const {loading} = useInjectLoading()
|
|
|
|
|
|
-const buildPaper = function () {
|
|
|
+const buildPaper = async function () {
|
|
|
// validation
|
|
|
const {batchId} = paperArgs.value
|
|
|
if (!batchId) return ElMessage.error('请选择批次')
|
|
|
if (!knowledgeCheckNodes.value.length) return ElMessage.error('请选择知识点')
|
|
|
if (!qTypes.value.length || qTypes.value.every(t => !t.count)) return ElMessage.error('请填写题量')
|
|
|
+
|
|
|
+ // build
|
|
|
+ const commit = {
|
|
|
+ ...paperArgs.value,
|
|
|
+ paperDef: {
|
|
|
+ knowIds: knowledgeCheckNodes.value.map(k => k.id),
|
|
|
+ types: qTypes.value.map(t => ({
|
|
|
+ type: t.dictValue,
|
|
|
+ title: t.dictLabel,
|
|
|
+ count: t.count
|
|
|
+ }))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ await buildPaperAuto(commit)
|
|
|
+ ElMessage.success('生成成功,即将打开组卷记录')
|
|
|
+ sleep(2000)
|
|
|
+ router.push('/paper/list')
|
|
|
}
|
|
|
</script>
|
|
|
|