|
|
@@ -232,6 +232,10 @@ const currentEditQuestionId = ref()
|
|
|
// 当前问卷信息是否已经保存
|
|
|
const isSaveQuestionnaire = ref(true)
|
|
|
|
|
|
+
|
|
|
+// 单选/多选选项 临时唯一id索引从 4开始 _默认添加了四个选项
|
|
|
+const addedIndex = ref(4)
|
|
|
+
|
|
|
// 选中题型时的处理
|
|
|
const CheckedQuestionType = (type:any) => {
|
|
|
console.log('触发操作了',type)
|
|
|
@@ -259,12 +263,48 @@ const SyncQuestionnaireFormData = (params)=>{
|
|
|
|
|
|
// 重置试题表单数据
|
|
|
const resetQuestionForm = (questionType)=>{
|
|
|
+
|
|
|
+ // 重置逻辑要修改 _ 不同类型表单的重置逻辑不一样
|
|
|
+ let options:any[] = []
|
|
|
+ switch(Number(questionType)){
|
|
|
+ case 0:
|
|
|
+ case 1:
|
|
|
+ case 3:
|
|
|
+ {
|
|
|
+ options = [
|
|
|
+ {
|
|
|
+ content: '',
|
|
|
+ score: '',
|
|
|
+ id:1 ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ content: '',
|
|
|
+ score: '',
|
|
|
+ id:2 ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ content: '',
|
|
|
+ score: '',
|
|
|
+ id:3 ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ content: '',
|
|
|
+ score: '',
|
|
|
+ id:4 ,
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
defaultQuestionData.value = {
|
|
|
questionTitleName: '',
|
|
|
questionScore: '',
|
|
|
questionType: questionType,
|
|
|
- extraConfig: ['required'], //默认勾选必答题
|
|
|
- options: [],
|
|
|
+ extraConfig: Number(questionType) === 2 ? [] : ['required'], //默认勾选必答题
|
|
|
+ options: [...options],
|
|
|
evaluationType:0 //默认展示 数字式
|
|
|
}
|
|
|
}
|
|
|
@@ -274,7 +314,10 @@ const HandleQuestionChange = (params)=>{
|
|
|
switch(key){
|
|
|
case 'question_type':{
|
|
|
console.log('表单重置了--')
|
|
|
+
|
|
|
resetQuestionForm(val)
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -282,10 +325,18 @@ const HandleQuestionChange = (params)=>{
|
|
|
// 处理试题排序
|
|
|
const { HandleDragStart, HandleDragEnd } = useHandleMoveUpAndDown(addedQuestionList,42)
|
|
|
|
|
|
-
|
|
|
-const addedIndex = ref(1)
|
|
|
// 添加/修改 试题信息
|
|
|
const AddQuesiton = (params)=>{
|
|
|
+ // 评分题目 _ 要添加选项的分值判断 _待确认
|
|
|
+ // if(Number(params.questionType) === 3){
|
|
|
+ // params.options.map(itm=>{
|
|
|
+
|
|
|
+ // })
|
|
|
+
|
|
|
+ // }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
isSaveQuestionnaire.value = false
|
|
|
const {formRef,formData} = params
|
|
|
console.log('获取到试题信息了',formData)
|
|
|
@@ -399,11 +450,13 @@ const SaveQuestionnaire = async ()=>{
|
|
|
|
|
|
// 预览试卷
|
|
|
const PreviewQuestionnaire =()=>{
|
|
|
- if(route.query.id){
|
|
|
- router.push(`/main/previewQuestionnaire?id=${route.query.id}`)
|
|
|
- }else{
|
|
|
- ElMessage.warning('请先保存后再预览')
|
|
|
+ // 存储本地存储
|
|
|
+ let finalMsg = {
|
|
|
+ ...(questionnaireInfo.value),
|
|
|
+ questionData:addedQuestionList.value,
|
|
|
}
|
|
|
+ sessionStorage.setItem('questionnaireTmpMsg',JSON.stringify(finalMsg))
|
|
|
+ router.push(`/main/previewQuestionnaire`)
|
|
|
}
|
|
|
|
|
|
// 编辑状态 获取问卷信息
|
|
|
@@ -493,10 +546,36 @@ const GoBack = ()=>{
|
|
|
}
|
|
|
}
|
|
|
onMounted(async ()=>{
|
|
|
- if(route.query.id){
|
|
|
- await GetQuestionnaireDetail()
|
|
|
+
|
|
|
+
|
|
|
+ let localQuestionnaireMsg = sessionStorage.getItem('questionnaireTmpMsg')
|
|
|
+ // 先取本地数据__如果有,证明是从预览页返回来的
|
|
|
+ if(localQuestionnaireMsg){
|
|
|
+ let localMsg = JSON.parse(localQuestionnaireMsg)
|
|
|
+
|
|
|
+ const {assessmentTitle,assessmentIllustrate,questionData,
|
|
|
+ createdAt,teacherName,useStatus
|
|
|
+
|
|
|
+ } = localMsg
|
|
|
+
|
|
|
+ defaultQuestionnaireInfo.value = {
|
|
|
+ assessmentTitle,
|
|
|
+ assessmentIllustrate,
|
|
|
+ createdAt,
|
|
|
+ teacherName,
|
|
|
+ useStatus
|
|
|
+ }
|
|
|
+ addedQuestionList.value = questionData
|
|
|
+ // 获取到后清除数据_防止后续从列表页预览访问过程中的数据污染
|
|
|
+ sessionStorage.removeItem('questionnaireTmpMsg')
|
|
|
+
|
|
|
}else{
|
|
|
- // 创建问卷
|
|
|
+ // 正常编辑问卷
|
|
|
+ if(route.query.id){
|
|
|
+ await GetQuestionnaireDetail()
|
|
|
+ }else{
|
|
|
+ // 创建问卷 状态
|
|
|
+ }
|
|
|
}
|
|
|
})
|
|
|
</script>
|