|
|
@@ -21,7 +21,7 @@
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
-import { ref, computed, onMounted } from 'vue';
|
|
|
+import { ref, computed, onMounted,watch } from 'vue';
|
|
|
import { ElMessage } from 'element-plus';
|
|
|
import { useStore } from 'vuex'
|
|
|
|
|
|
@@ -48,8 +48,29 @@ interface TeacherItm {
|
|
|
* 2. 问卷整体数据
|
|
|
*/
|
|
|
|
|
|
+ // 问卷填写截止时间
|
|
|
+const deadlineTime = ref('')
|
|
|
+
|
|
|
+// 问卷是否结束
|
|
|
+const isQuestionnaireEnd = computed(()=>{
|
|
|
+ let timestamp = new Date(deadlineTime.value).getTime()
|
|
|
+ let currentTimestamp = new Date().getTime()
|
|
|
+ let sectionTime = timestamp - currentTimestamp
|
|
|
+ if(sectionTime > 0){
|
|
|
+ return false
|
|
|
+ }else{
|
|
|
+ return true
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
// 当前问卷任务是否全部完成 ———— 以及问卷是否结束
|
|
|
-const isCurrentQuestionnaireTaskFinish = ref(false) //true false
|
|
|
+const isCurrentQuestionnaireTaskFinish = computed(()=>{
|
|
|
+ // 判断教师列表是否全部完成
|
|
|
+ let allTaskFinish = !(teacherList.value.find(teacher=>{
|
|
|
+ return (teacher.evaluationStatus === 0 || teacher.evaluationStatus === 1)
|
|
|
+ }))
|
|
|
+ return allTaskFinish || isQuestionnaireEnd.value
|
|
|
+})
|
|
|
|
|
|
/**
|
|
|
* 3. 整卷填写相关变量 和操作
|
|
|
@@ -66,54 +87,6 @@ const teacherQuestionnaireData = ref([])
|
|
|
const currentActiveTeacherId = ref<number|string>('')
|
|
|
|
|
|
|
|
|
-// 接收问卷表单填写信息的变更
|
|
|
-const HandleQuestionnaireFormChange = (val)=>{
|
|
|
- fullQuestionnaireAnswer.value = val
|
|
|
-}
|
|
|
-// 问卷整卷提交
|
|
|
-const HandleFinishReview = async ()=>{
|
|
|
- console.log('整卷提交的问卷答案--',fullQuestionnaireAnswer.value)
|
|
|
-
|
|
|
- let params = {
|
|
|
- evaluationCodeRelationId: currentSelectedQuestionnaireData.value?.evaluationCodeRelationId,
|
|
|
- assessmentId: currentSelectedQuestionnaireData.value?.assessmentId,
|
|
|
- answerData: Object.values(fullQuestionnaireAnswer.value)
|
|
|
- }
|
|
|
-
|
|
|
- let res = await saveEvaluationQuestionDataApi(params)
|
|
|
-
|
|
|
- if(res?.code == 200){
|
|
|
- ElMessage({
|
|
|
- message: '问卷评价提交成功',
|
|
|
- type: 'success',
|
|
|
- customClass:'app_el_message',
|
|
|
- })
|
|
|
- // true 表示当前问卷全部填写完成,跳到下一个问卷( false 没有完成的留在当前问卷页)
|
|
|
- if(res.data){
|
|
|
- fullQuestionnaireAnswer.value = {}
|
|
|
- // 重新查询教师状态和问卷状态
|
|
|
- await ReloadPageData()
|
|
|
- // 重查和索引切换顺序不能颠倒
|
|
|
- // 找到当前选中的教师
|
|
|
- let currentIndex = teacherList.value.findIndex(item=>{
|
|
|
- return item.id == currentActiveTeacherId.value
|
|
|
- })
|
|
|
- // 如果不是最后一卷,跳转到下一卷
|
|
|
- if((currentIndex + 1) >= teacherList.value.length ){
|
|
|
- return
|
|
|
- }
|
|
|
- // 跳转到下一个教师的问卷
|
|
|
- currentActiveTeacherId.value = teacherList.value?.[currentIndex + 1]?.id || ''
|
|
|
- store.commit('updateSubjectQuestionnaireTitle',teacherList.value?.[currentIndex + 1]?.evaluationSubjectName + '-' + teacherList.value?.[currentIndex + 1]?.teacherName + '问卷')
|
|
|
- }else{
|
|
|
- // 重新查询教师状态和问卷状态
|
|
|
- await ReloadPageData()
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
// 当前选择的教师问卷(整卷填写) 或者 题目问卷(按题填写) 全部信息
|
|
|
const currentSelectedQuestionnaireData = computed(()=>{
|
|
|
return teacherQuestionnaireData.value.find((item:any)=>{
|
|
|
@@ -189,6 +162,57 @@ const questionaireMsg = computed(()=>{
|
|
|
})
|
|
|
|
|
|
|
|
|
+watch(()=>questionaireMsg?.value?.deadlineTime,async (newVal)=>{
|
|
|
+ deadlineTime.value = newVal
|
|
|
+})
|
|
|
+
|
|
|
+// 接收问卷表单填写信息的变更
|
|
|
+const HandleQuestionnaireFormChange = (val)=>{
|
|
|
+ fullQuestionnaireAnswer.value = val
|
|
|
+}
|
|
|
+// 问卷整卷提交
|
|
|
+const HandleFinishReview = async ()=>{
|
|
|
+ console.log('整卷提交的问卷答案--',fullQuestionnaireAnswer.value)
|
|
|
+
|
|
|
+ let params = {
|
|
|
+ evaluationCodeRelationId: currentSelectedQuestionnaireData.value?.evaluationCodeRelationId,
|
|
|
+ assessmentId: currentSelectedQuestionnaireData.value?.assessmentId,
|
|
|
+ answerData: Object.values(fullQuestionnaireAnswer.value)
|
|
|
+ }
|
|
|
+
|
|
|
+ let res = await saveEvaluationQuestionDataApi(params)
|
|
|
+
|
|
|
+ if(res?.code == 200){
|
|
|
+ ElMessage({
|
|
|
+ message: '问卷评价提交成功',
|
|
|
+ type: 'success',
|
|
|
+ customClass:'app_el_message',
|
|
|
+ })
|
|
|
+ // true 表示当前问卷全部填写完成,跳到下一个问卷( false 没有完成的留在当前问卷页)
|
|
|
+ if(res.data){
|
|
|
+ fullQuestionnaireAnswer.value = {}
|
|
|
+ // 重新查询教师状态和问卷状态
|
|
|
+ await ReloadPageData()
|
|
|
+ // 重查和索引切换顺序不能颠倒
|
|
|
+ // 找到当前选中的教师
|
|
|
+ let currentIndex = teacherList.value.findIndex(item=>{
|
|
|
+ return item.id == currentActiveTeacherId.value
|
|
|
+ })
|
|
|
+ // 如果不是最后一卷,跳转到下一卷
|
|
|
+ if((currentIndex + 1) >= teacherList.value.length ){
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 跳转到下一个教师的问卷
|
|
|
+ currentActiveTeacherId.value = teacherList.value?.[currentIndex + 1]?.id || ''
|
|
|
+ store.commit('updateSubjectQuestionnaireTitle',teacherList.value?.[currentIndex + 1]?.evaluationSubjectName + '-' + teacherList.value?.[currentIndex + 1]?.teacherName + '问卷')
|
|
|
+ }else{
|
|
|
+ // 重新查询教师状态和问卷状态
|
|
|
+ await ReloadPageData()
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
// 获取评价教师列表
|
|
|
const GetEvaluationProcessMsg = async ()=>{
|
|
|
let res = await getEvaluationProcessMsgApi()
|