This commit is contained in:
白了个白 2024-11-20 17:31:14 +08:00
parent 0f9c2a7d53
commit 41db306f77
1 changed files with 28 additions and 39 deletions

View File

@ -66,8 +66,7 @@
<div class="questForm-item-cover"> <div class="questForm-item-cover">
<el-form-item :label="questForm.worktype == '复合题' ? '背景材料' : questForm.worktype == '主观题' ? '背景资料' : '题目'" prop="title"> <el-form-item :label="questForm.worktype == '复合题' ? '背景材料' : questForm.worktype == '主观题' ? '背景资料' : '题目'" prop="title">
<div style="height: 100px"> q</div> <Tinymce v-model="questForm.title" :upFileParams="{
<!-- <Tinymce v-model="questForm.title" :upFileParams="{
deptId: userStore.deptId, deptId: userStore.deptId,
userId: userStore.userId, userId: userStore.userId,
edudegree: userStore.edudegree, edudegree: userStore.edudegree,
@ -75,7 +74,7 @@
lessionId: props.activeLession.id, lessionId: props.activeLession.id,
fileAlias: '单题上传', fileAlias: '单题上传',
}" }"
/> --> />
</el-form-item> </el-form-item>
<div class="item-cropper-btn"> <div class="item-cropper-btn">
<el-button v-show="isCropper" circle icon="Search" @click="cropperFormItem('title')"></el-button> <el-button v-show="isCropper" circle icon="Search" @click="cropperFormItem('title')"></el-button>
@ -87,15 +86,14 @@
<div v-for="(item,index) in questForm.list" :key='index'> <div v-for="(item,index) in questForm.list" :key='index'>
<el-form-item :label=Options(1,index) :prop="`list.${index}.text`" <el-form-item :label=Options(1,index) :prop="`list.${index}.text`"
:rules="{required: true, message: '选项不能为空', trigger: 'blur'}"> :rules="{required: true, message: '选项不能为空', trigger: 'blur'}">
<div style="height: 100px"> q</div> <Tinymce v-model="item.text" :minHeight="150" :upFileParams="{
<!-- <Tinymce v-model="item.text" :minHeight="150" :upFileParams="{
deptId: userStore.deptId, deptId: userStore.deptId,
userId: userStore.userId, userId: userStore.userId,
edudegree: userStore.edudegree, edudegree: userStore.edudegree,
edusubject: userStore.edusubject, edusubject: userStore.edusubject,
lessionId: props.activeLession.id, lessionId: props.activeLession.id,
fileAlias: '单题上传', fileAlias: '单题上传',
}" /> --> }" />
</el-form-item> </el-form-item>
<el-form-item prop="checkAnswer" > <el-form-item prop="checkAnswer" >
<el-checkbox-group v-model="questForm.checkAnswer" style="display:flex; width: 100%"> <el-checkbox-group v-model="questForm.checkAnswer" style="display:flex; width: 100%">
@ -120,8 +118,7 @@
:prop="`list.${index}.text`" :prop="`list.${index}.text`"
:rules="{required: true, message: '选项不能为空', trigger: 'blur'}" :rules="{required: true, message: '选项不能为空', trigger: 'blur'}"
> >
<div style="height: 100px"> q</div> <Tinymce
<!-- <Tinymce
v-model="item.text" v-model="item.text"
:minHeight="150" :minHeight="150"
:upFileParams = "{ :upFileParams = "{
@ -131,7 +128,7 @@
edusubject: userStore.edusubject, edusubject: userStore.edusubject,
lessionId: props.activeLession.id, lessionId: props.activeLession.id,
fileAlias: '单题上传', fileAlias: '单题上传',
}" /> --> }" />
</el-form-item> </el-form-item>
<el-form-item prop="checkAnswer"> <el-form-item prop="checkAnswer">
<el-checkbox-group v-model="questForm.checkAnswer" style="display:flex; width: 100%"> <el-checkbox-group v-model="questForm.checkAnswer" style="display:flex; width: 100%">
@ -153,15 +150,14 @@
<div v-for="(item,index) in questForm.list" :key='index'> <div v-for="(item,index) in questForm.list" :key='index'>
<el-form-item :label=Options(3,index) :prop="`list.${index}.text`" <el-form-item :label=Options(3,index) :prop="`list.${index}.text`"
:rules="{required: true, message: '填空选项不能为空', trigger: 'blur'}"> :rules="{required: true, message: '填空选项不能为空', trigger: 'blur'}">
<div style="height: 100px"> q</div> <Tinymce v-model="item.text" :minHeight="150" :upFileParams="{
<!-- <Tinymce v-model="item.text" :minHeight="150" :upFileParams="{
deptId: userStore.deptId, deptId: userStore.deptId,
userId: userStore.userId, userId: userStore.userId,
edudegree: userStore.edudegree, edudegree: userStore.edudegree,
edusubject: userStore.edusubject, edusubject: userStore.edusubject,
lessionId: props.activeLession.id, lessionId: props.activeLession.id,
fileAlias: '单题上传', fileAlias: '单题上传',
}" /> --> }" />
</el-form-item> </el-form-item>
<el-form-item :prop="checkAnswer"> <el-form-item :prop="checkAnswer">
<el-checkbox-group v-model="questForm.checkAnswer" style="display:flex; width: 100%"> <el-checkbox-group v-model="questForm.checkAnswer" style="display:flex; width: 100%">
@ -199,15 +195,14 @@
<!-- 主观题 --> <!-- 主观题 -->
<div v-if="questForm.worktype.indexOf('主观题') != -1" class="questForm-item-cover"> <div v-if="questForm.worktype.indexOf('主观题') != -1" class="questForm-item-cover">
<el-form-item label="答案"> <el-form-item label="答案">
<div style="height: 100px"> q</div> <Tinymce v-model="questForm.workanswer" :upFileParams="{
<!-- <Tinymce v-model="questForm.workanswer" :upFileParams="{
deptId: userStore.deptId, deptId: userStore.deptId,
userId: userStore.userId, userId: userStore.userId,
edudegree: userStore.edudegree, edudegree: userStore.edudegree,
edusubject: userStore.edusubject, edusubject: userStore.edusubject,
lessionId: props.activeLession.id, lessionId: props.activeLession.id,
fileAlias: '单题上传', fileAlias: '单题上传',
}" /> --> }" />
</el-form-item> </el-form-item>
<div class="item-cropper-btn"> <div class="item-cropper-btn">
<el-button v-show="isCropper" circle icon="Search" @click="cropperFormItem('workanswer')"></el-button> <el-button v-show="isCropper" circle icon="Search" @click="cropperFormItem('workanswer')"></el-button>
@ -285,8 +280,7 @@
<div v-for="(item,index) in questForm.mulList.params" :key='index' style="width: 100%; border: 2px dotted;"> <div v-for="(item,index) in questForm.mulList.params" :key='index' style="width: 100%; border: 2px dotted;">
<el-form-item :label="`${item.type}目${index+1}.`" :prop="`mulList.params.${index}.title`" :rules="{ <el-form-item :label="`${item.type}目${index+1}.`" :prop="`mulList.params.${index}.title`" :rules="{
required: true, message: '题目不能为空', trigger: 'blur'}" :key='index'> required: true, message: '题目不能为空', trigger: 'blur'}" :key='index'>
<div style="height: 100px"> q</div> <Tinymce v-model="item.title" :minHeight="150" :upFileParams="{
<!-- <Tinymce v-model="item.title" :minHeight="150" :upFileParams="{
deptId: userStore.deptId, deptId: userStore.deptId,
userId: userStore.userId, userId: userStore.userId,
edudegree: userStore.edudegree, edudegree: userStore.edudegree,
@ -294,15 +288,14 @@
lessionId: props.activeLession.id, lessionId: props.activeLession.id,
fileAlias: '单题上传', fileAlias: '单题上传',
}" }"
/> --> />
</el-form-item> </el-form-item>
<div v-for="(itemOp,indexOp) in item.options" :key='indexOp'> <div v-for="(itemOp,indexOp) in item.options" :key='indexOp'>
<!-- {"Key": 1, "Value": "单选题"}, --> <!-- {"Key": 1, "Value": "单选题"}, -->
<div v-if="item.type == '单选题'"> <div v-if="item.type == '单选题'">
<el-form-item :label=Options(1,indexOp) :prop="`mulList.params.${index}.options.${indexOp}.text`" <el-form-item :label=Options(1,indexOp) :prop="`mulList.params.${index}.options.${indexOp}.text`"
:rules="{ required: true, message: '单题不能为空', trigger: 'blur' }" :key='indexOp'> :rules="{ required: true, message: '单题不能为空', trigger: 'blur' }" :key='indexOp'>
<div style="height: 100px"> q</div> <Tinymce v-model="itemOp.text" :minHeight="150" :upFileParams="{
<!-- <Tinymce v-model="itemOp.text" :minHeight="150" :upFileParams="{
deptId: userStore.deptId, deptId: userStore.deptId,
userId: userStore.userId, userId: userStore.userId,
edudegree: userStore.edudegree, edudegree: userStore.edudegree,
@ -310,7 +303,7 @@
lessionId: props.activeLession.id, lessionId: props.activeLession.id,
fileAlias: '单题上传', fileAlias: '单题上传',
}" }"
/> --> />
</el-form-item> </el-form-item>
<el-form-item :prop="`mulList.params.${index}.checkAnswer`" :rules="cMulRules.checkAnswer"> <el-form-item :prop="`mulList.params.${index}.checkAnswer`" :rules="cMulRules.checkAnswer">
<el-checkbox-group v-model="item.checkAnswer" style="display:flex; width: 100%"> <el-checkbox-group v-model="item.checkAnswer" style="display:flex; width: 100%">
@ -326,8 +319,7 @@
<div v-if="item.type == '填空题'"> <div v-if="item.type == '填空题'">
<el-form-item :label=Options(3,indexOp) :prop="`mulList.params.${index}.options.${indexOp}.text`" <el-form-item :label=Options(3,indexOp) :prop="`mulList.params.${index}.options.${indexOp}.text`"
:rules="{required: true, message: '填空选项不能为空', trigger: 'blur'}"> :rules="{required: true, message: '填空选项不能为空', trigger: 'blur'}">
<div style="height: 100px"> q</div> <Tinymce v-model="itemOp.text" :minHeight="150" :upFileParams="{
<!-- <Tinymce v-model="itemOp.text" :minHeight="150" :upFileParams="{
deptId: userStore.deptId, deptId: userStore.deptId,
userId: userStore.userId, userId: userStore.userId,
edudegree: userStore.edudegree, edudegree: userStore.edudegree,
@ -335,7 +327,7 @@
lessionId: props.activeLession.id, lessionId: props.activeLession.id,
fileAlias: '单题上传', fileAlias: '单题上传',
}" }"
/> --> />
</el-form-item> </el-form-item>
<el-form-item :rules="checkAnswer"> <el-form-item :rules="checkAnswer">
<el-checkbox-group v-model="item.checkAnswer" style="display:flex; width: 100%"> <el-checkbox-group v-model="item.checkAnswer" style="display:flex; width: 100%">
@ -351,8 +343,7 @@
<div v-if="item.type == '多选题'"> <div v-if="item.type == '多选题'">
<el-form-item :label=Options(1,indexOp) :prop="`mulList.params.${index}.options.${indexOp}.text`" <el-form-item :label=Options(1,indexOp) :prop="`mulList.params.${index}.options.${indexOp}.text`"
:rules="{required: true, message: '多选不能为空', trigger: 'blur'}"> :rules="{required: true, message: '多选不能为空', trigger: 'blur'}">
<div style="height: 100px"> q</div> <Tinymce v-model="itemOp.text" :minHeight="150" :upFileParams="{
<!-- <Tinymce v-model="itemOp.text" :minHeight="150" :upFileParams="{
deptId: userStore.deptId, deptId: userStore.deptId,
userId: userStore.userId, userId: userStore.userId,
edudegree: userStore.edudegree, edudegree: userStore.edudegree,
@ -360,7 +351,7 @@
lessionId: props.activeLession.id, lessionId: props.activeLession.id,
fileAlias: '单题上传', fileAlias: '单题上传',
}" }"
/> --> />
</el-form-item> </el-form-item>
<el-form-item :prop="`mulList.params.${index}.checkAnswer`" :rules="cMulRules.checkAnswer"> <el-form-item :prop="`mulList.params.${index}.checkAnswer`" :rules="cMulRules.checkAnswer">
<el-checkbox-group v-model="item.checkAnswer" style="display:flex; width: 100%"> <el-checkbox-group v-model="item.checkAnswer" style="display:flex; width: 100%">
@ -386,15 +377,14 @@
<!-- {"Key": 6, "Value": "主观题"}, --> <!-- {"Key": 6, "Value": "主观题"}, -->
<div v-if="item.type == '主观题'"> <div v-if="item.type == '主观题'">
<el-form-item :label=Options(6,indexOp) :prop="`mulList.params.${index}.options.${indexOp}.text`"> <el-form-item :label=Options(6,indexOp) :prop="`mulList.params.${index}.options.${indexOp}.text`">
<div style="height: 100px"> q</div> <Tinymce v-model="itemOp.text" :upFileParams="{
<!-- <Tinymce v-model="itemOp.text" :upFileParams="{
deptId: userStore.deptId, deptId: userStore.deptId,
userId: userStore.userId, userId: userStore.userId,
edudegree: userStore.edudegree, edudegree: userStore.edudegree,
edusubject: userStore.edusubject, edusubject: userStore.edusubject,
lessionId: props.activeLession.id, lessionId: props.activeLession.id,
fileAlias: '单题上传', fileAlias: '单题上传',
}" /> --> }" />
</el-form-item> </el-form-item>
</div> </div>
</div> </div>
@ -404,8 +394,7 @@
<!-- 答案分析 --> <!-- 答案分析 -->
<div class="questForm-item-cover"> <div class="questForm-item-cover">
<el-form-item label="答案分析" prop="method"> <el-form-item label="答案分析" prop="method">
<div style="height: 100px"> q</div> <Tinymce v-model="questForm.method"
<!-- <Tinymce v-model="questForm.method"
:upFileParams = "{ :upFileParams = "{
deptId: userStore.deptId, deptId: userStore.deptId,
userId: userStore.userId, userId: userStore.userId,
@ -413,7 +402,7 @@
edusubject: userStore.edusubject, edusubject: userStore.edusubject,
lessionId: props.activeLession.id, lessionId: props.activeLession.id,
fileAlias: '单题上传', fileAlias: '单题上传',
}" /> --> }" />
</el-form-item> </el-form-item>
<div class="item-cropper-btn"> <div class="item-cropper-btn">
<el-button v-show="isCropper" circle icon="Search" @click="cropperFormItem('method')"></el-button> <el-button v-show="isCropper" circle icon="Search" @click="cropperFormItem('method')"></el-button>
@ -423,8 +412,7 @@
<!-- 答案解答 --> <!-- 答案解答 -->
<div class="questForm-item-cover"> <div class="questForm-item-cover">
<el-form-item label="答案解答" prop="analyse"> <el-form-item label="答案解答" prop="analyse">
<div style="height: 100px"> q</div> <Tinymce v-model="questForm.analyse"
<!-- <Tinymce v-model="questForm.analyse"
:upFileParams = "{ :upFileParams = "{
deptId: userStore.deptId, deptId: userStore.deptId,
userId: userStore.userId, userId: userStore.userId,
@ -432,7 +420,7 @@
edusubject: userStore.edusubject, edusubject: userStore.edusubject,
lessionId: props.activeLession.id, lessionId: props.activeLession.id,
fileAlias: '单题上传', fileAlias: '单题上传',
}" /> --> }" />
</el-form-item> </el-form-item>
<div class="item-cropper-btn"> <div class="item-cropper-btn">
<el-button v-show="isCropper" circle icon="Search" @click="cropperFormItem('analyse')"></el-button> <el-button v-show="isCropper" circle icon="Search" @click="cropperFormItem('analyse')"></el-button>
@ -442,8 +430,7 @@
<!-- 答案点评 --> <!-- 答案点评 -->
<div class="questForm-item-cover"> <div class="questForm-item-cover">
<el-form-item label="答案点评" prop="discuss"> <el-form-item label="答案点评" prop="discuss">
<div style="height: 100px"> q</div> <Tinymce v-model="questForm.discuss"
<!-- <Tinymce v-model="questForm.discuss"
:upFileParams = "{ :upFileParams = "{
deptId: userStore.deptId, deptId: userStore.deptId,
userId: userStore.userId, userId: userStore.userId,
@ -451,7 +438,7 @@
edusubject: userStore.edusubject, edusubject: userStore.edusubject,
lessionId: props.activeLession.id, lessionId: props.activeLession.id,
fileAlias: '单题上传', fileAlias: '单题上传',
}" /> --> }" />
</el-form-item> </el-form-item>
<div class="item-cropper-btn"> <div class="item-cropper-btn">
<el-button v-show="isCropper" circle icon="Search" @click="cropperFormItem('discuss')"></el-button> <el-button v-show="isCropper" circle icon="Search" @click="cropperFormItem('discuss')"></el-button>
@ -474,6 +461,7 @@ import { getBindlist } from '@/api/education/knowledgePoint'
import { listEntpcoursework, getEntpcoursework, delEntpcoursework, addEntpcoursework, updateEntpcoursework, uploadEntpcourseworkFile } from "@/api/education/entpCourseWork"; import { listEntpcoursework, getEntpcoursework, delEntpcoursework, addEntpcoursework, updateEntpcoursework, uploadEntpcourseworkFile } from "@/api/education/entpCourseWork";
import { isJson } from "@/hooks/useProcessList"; import { isJson } from "@/hooks/useProcessList";
import Tinymce from "@/components/tinymce/tinymce.vue"; //
import useUserStore from '@/store/modules/user' import useUserStore from '@/store/modules/user'
const userStore = useUserStore().user const userStore = useUserStore().user
const { proxy } = getCurrentInstance() const { proxy } = getCurrentInstance()
@ -1370,6 +1358,7 @@ const submitForm=(formName) =>{
// evalids = evalids.slice(0, -1); // evalids = evalids.slice(0, -1);
// [id](workKey) // [id](workKey)
console.log('当前的课程', props.bookobj)
let workKey = props.bookobj.textbookId; // ? id textbookId let workKey = props.bookobj.textbookId; // ? id textbookId
let evalids = props.bookobj.levelSecondId? props.bookobj.levelSecondId : props.bookobj.levelFirstId ; let evalids = props.bookobj.levelSecondId? props.bookobj.levelSecondId : props.bookobj.levelFirstId ;
// let workKey = ''; // let workKey = '';