|
|
@@ -29,29 +29,36 @@
|
|
|
<div class="page_jg_20"></div>
|
|
|
|
|
|
<!-- 视图展示数据 -->
|
|
|
- <QuestionnaireCard
|
|
|
- v-if="defaultViewMode == 'view'"
|
|
|
- :cardStatusMsg="questionnaireTaskStatusMsg"
|
|
|
- :cardTypeMsg="cardTypeMsg"
|
|
|
- :questionnaireList="questionnaireList"
|
|
|
- cardType="reviewManage"
|
|
|
- @switchOnOff="HandleCardSwitchOnOff"
|
|
|
- >
|
|
|
-
|
|
|
- <template #default="{row}">
|
|
|
-
|
|
|
- <el-button @click="GoToQuestionnaireReviewDetail(row)" class="button_background">查看详情</el-button>
|
|
|
- <el-button
|
|
|
- :class="['button_border']"
|
|
|
- @click="OpenQuestionnaireDialog(row)"
|
|
|
- >编辑</el-button>
|
|
|
- <el-button
|
|
|
- :class="[row.isDelete ? 'delete_button_border' : 'is-disabled' ]"
|
|
|
- @click="row.isDelete ? OpenDeleteDialog(row) : '' "
|
|
|
- >删除</el-button>
|
|
|
+ <div v-if="defaultViewMode == 'view' && questionnaireList?.length > 0"
|
|
|
+ class="questionnaire_list">
|
|
|
+ <template
|
|
|
+ v-for="questionnaire in questionnaireList"
|
|
|
+ :key="questionnaire.id"
|
|
|
+ >
|
|
|
+ <QuestionnaireCard
|
|
|
+ :cardStatusMsg="questionnaireTaskStatusMsg"
|
|
|
+ :cardTypeMsg="cardTypeMsg"
|
|
|
+ :questionnaire="questionnaire"
|
|
|
+ cardType="reviewManage"
|
|
|
+ @switchOnOff="HandleCardSwitchOnOff"
|
|
|
+ >
|
|
|
+ <template #default="{row}">
|
|
|
+ <el-button @click="GoToQuestionnaireReviewDetail(row)" class="button_background">查看详情</el-button>
|
|
|
+ <el-button
|
|
|
+ :class="['button_border']"
|
|
|
+ @click="OpenQuestionnaireDialog(row)"
|
|
|
+ >编辑</el-button>
|
|
|
+
|
|
|
+ <!-- row.status 0 可以删除/修改 1 不可以 删除/修改 -->
|
|
|
+ <el-button
|
|
|
+ :class="[!row.status ? 'delete_button_border' : 'is-disabled' ]"
|
|
|
+ @click="!row.status ? OpenDeleteDialog(row) : '' "
|
|
|
+ >删除</el-button>
|
|
|
+ </template>
|
|
|
+ </QuestionnaireCard>
|
|
|
</template>
|
|
|
- </QuestionnaireCard>
|
|
|
-
|
|
|
+
|
|
|
+ </div>
|
|
|
<!-- 列表展示数据 -->
|
|
|
<Table v-else
|
|
|
:currentPage="currentPage"
|
|
|
@@ -67,16 +74,15 @@
|
|
|
{{ cardTypeMsg.find(item=>{return item.type === row.evaluationType})?.title }}
|
|
|
</template>
|
|
|
|
|
|
- <template #useStatus="{row}">
|
|
|
- <TableRowStatus :useStatus="row.useStatus" :statusMsg="useStatusConvert"></TableRowStatus>
|
|
|
+ <template #evaluationStatus="{row}">
|
|
|
+ <TableRowStatus :useStatus="row.evaluationStatus" :statusMsg="useStatusConvert"></TableRowStatus>
|
|
|
</template>
|
|
|
|
|
|
- <template #isOpen="{row}">
|
|
|
+ <template #openStatus="{row}">
|
|
|
<span>
|
|
|
<el-switch
|
|
|
- v-model="row.cardOnOff"
|
|
|
- :active-value="true"
|
|
|
- @change="(val)=>HandleCardSwitchOnOff(val,row)"
|
|
|
+ :model-value="Boolean(row.openStatus)"
|
|
|
+ @change="(val)=>HandleCardSwitchOnOff({id:row.id,onOffVal:val})"
|
|
|
style="--el-switch-on-color: #2e64fa; --el-switch-off-color: #bbbbbb"
|
|
|
/>
|
|
|
</span>
|
|
|
@@ -91,8 +97,8 @@
|
|
|
@click="OpenQuestionnaireDialog(row)"
|
|
|
>编辑</span>
|
|
|
<span
|
|
|
- :class="[row.isDelete ? 'el_button_delete' : 'editor_disable' ]"
|
|
|
- @click="row.isDelete ? OpenDeleteDialog(row) : '' "
|
|
|
+ :class="[!row.status ? 'el_button_delete' : 'editor_disable' ]"
|
|
|
+ @click="!row.status ? OpenDeleteDialog(row) : '' "
|
|
|
>删除</span>
|
|
|
</div>
|
|
|
</template>
|
|
|
@@ -148,7 +154,7 @@ import {useStatusConvert, cardTypeMsg, questionnaireTaskStatusMsg} from '@/compo
|
|
|
|
|
|
import {
|
|
|
getGradeListApi,getQuestionnaireTaskListApi,addQuestionnaireTaskListApi,
|
|
|
- getSchoolYearListApi,
|
|
|
+ getSchoolYearListApi,oppenOrCloseQuestionnaireTaskApi
|
|
|
|
|
|
} from '@/api/reviewManagement'
|
|
|
|
|
|
@@ -167,15 +173,15 @@ interface QuestionnaireItm {
|
|
|
// createdAt:String, //创建时间
|
|
|
evaluationStartDatetime:String, //创建时间
|
|
|
evaluationEndDatetime:String, //创建时间
|
|
|
- useStatus:Number, //1 已使用 0 未使用
|
|
|
+ evaluationStatus:Number, //1 已使用 0 未使用
|
|
|
cardStatus:Number,
|
|
|
- cardOnOff:Boolean,
|
|
|
+ openStatus:Boolean,
|
|
|
evaluationType:Number|String,
|
|
|
|
|
|
time:String,
|
|
|
- isOpen:Boolean,
|
|
|
+ openStatus:Boolean,
|
|
|
evaluationGrade:Array<String>,
|
|
|
- isDelete:Boolean,
|
|
|
+ status:Boolean,
|
|
|
|
|
|
|
|
|
}
|
|
|
@@ -231,55 +237,16 @@ const GetSchoolYearList = async()=>{
|
|
|
const currentPage = ref(1)
|
|
|
const totalNum = ref(0)
|
|
|
const pageSize = ref(20)
|
|
|
-const questionnaireList = ref<QuestionnaireItm[]>([
|
|
|
- {
|
|
|
- "id": '655355453521268736',
|
|
|
- evaluationStartDatetime:'2026-06-29 16:00',
|
|
|
- evaluationEndDatetime:'2026-06-29 16:00',
|
|
|
- time:'2026-06-29 16:00 至 2026-06-29 16:00',
|
|
|
- "teacherName": "李敏",
|
|
|
- "evaluationName": "f制",
|
|
|
-
|
|
|
- "useStatus": 0,
|
|
|
- isOpen:true,
|
|
|
- 'cardOnOff':true,
|
|
|
- cardStatus:0,
|
|
|
- evaluationType:0,
|
|
|
- evaluationGrade:['grade_7','grade_8','grade_12'],
|
|
|
- isDelete:true,
|
|
|
- },
|
|
|
- {
|
|
|
- "id": '6553554535212687236',
|
|
|
- evaluationStartDatetime:'2026-06-29 16:00',
|
|
|
- evaluationEndDatetime:'2026-06-29 16:00',
|
|
|
- time:'2026-06-29 16:00 至 2026-06-29 16:00',
|
|
|
- "teacherName": "李敏",
|
|
|
- "evaluationName": "fd-复制",
|
|
|
- "useStatus": 1,
|
|
|
- isOpen:true,
|
|
|
- 'cardOnOff':false,
|
|
|
- cardStatus:0,
|
|
|
- evaluationType:1,
|
|
|
- evaluationGrade:['grade_7','grade_8','grade_12'],
|
|
|
- isDelete:false,
|
|
|
-
|
|
|
- },
|
|
|
-]);
|
|
|
+const questionnaireList = ref<QuestionnaireItm[]>([]);
|
|
|
// 问卷开关切换
|
|
|
-const HandleCardSwitchOnOff = (params)=>{
|
|
|
+const HandleCardSwitchOnOff = async(params)=>{
|
|
|
+ console.log('当前传递的参数---params',params)
|
|
|
const {id,onOffVal} = params
|
|
|
- console.log('当前值',onOffVal)
|
|
|
- // 实际需要调用接口
|
|
|
- questionnaireList.value = questionnaireList.value.map(item=>{
|
|
|
- if(item.id == id){
|
|
|
- return {
|
|
|
- ...item,
|
|
|
- cardOnOff:onOffVal
|
|
|
- }
|
|
|
- }else{
|
|
|
- return item
|
|
|
- }
|
|
|
- })
|
|
|
+ let res = await oppenOrCloseQuestionnaireTaskApi(id,onOffVal ? 1 : 0)
|
|
|
+ if(res?.code == 200){
|
|
|
+ // 重新查询表列
|
|
|
+ await GetQuestionnaireTaskList()
|
|
|
+ }
|
|
|
}
|
|
|
// 、获取问卷任务列表
|
|
|
const GetQuestionnaireTaskList = async ()=>{
|
|
|
@@ -293,12 +260,14 @@ const GetQuestionnaireTaskList = async ()=>{
|
|
|
let res = await getQuestionnaireTaskListApi(params)
|
|
|
|
|
|
if(res.code == 200){
|
|
|
- // questionnaireList.value = res.data.records.map(item=>{
|
|
|
- // return {
|
|
|
- // ...item,
|
|
|
- // cardStatus:item.useStatus
|
|
|
- // }
|
|
|
- // })
|
|
|
+ questionnaireList.value = res.data.records.map(item=>{
|
|
|
+ return {
|
|
|
+ ...item,
|
|
|
+ cardStatus:item.evaluationStatus,
|
|
|
+ title:item.evaluationName,
|
|
|
+ time:item.evaluationStartDatetime + ' 至 ' + item.evaluationEndDatetime
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -315,6 +284,7 @@ const defaultFormData = ref({ //表单默认值
|
|
|
evaluationType:0
|
|
|
})
|
|
|
const currentEditRow = ref({}) //当前编辑的行
|
|
|
+const currentEditGradeList = ref([]) //当前编辑/新增 弹窗中 的年级列表数据
|
|
|
|
|
|
|
|
|
// 更新form表单的隐藏和展示项
|
|
|
@@ -373,6 +343,7 @@ const OpenQuestionnaireDialog = async (row?:any)=>{
|
|
|
let res = await getGradeListApi()
|
|
|
// 赋值年级下拉
|
|
|
if(res?.code == 200){
|
|
|
+ currentEditGradeList.value = res.data || []
|
|
|
gradeListOption = res.data.map(item=>{
|
|
|
return {
|
|
|
label:item.gradeName,
|
|
|
@@ -410,9 +381,20 @@ const AddQuestionnaireTask = async (params?:any)=>{
|
|
|
const {formData,formRef} = params
|
|
|
console.log('表单信息',formData)
|
|
|
formSubmitLoading.value = true
|
|
|
- let gradeData = formData.evaluationGrade.map(item=>{
|
|
|
+ let selectedGradeData = formData.evaluationGrade?.map(item=>{
|
|
|
return JSON.parse(item)
|
|
|
+ }) || []
|
|
|
+
|
|
|
+ let gradeData = currentEditGradeList.value.map(item=>{
|
|
|
+ let exitAim = selectedGradeData.find(selectItm=>{
|
|
|
+ return selectItm.gradeId == item.gradeId
|
|
|
+ })
|
|
|
+ return {
|
|
|
+ ...item,
|
|
|
+ selectStatus: exitAim ? 1 : 0
|
|
|
+ }
|
|
|
})
|
|
|
+
|
|
|
let finalPrams = {
|
|
|
evaluationName: formData.evaluationName,
|
|
|
evaluationType: formData.evaluationType,
|
|
|
@@ -444,6 +426,7 @@ const CloseFormDialog = ()=>{
|
|
|
currentEditRow.value = {}
|
|
|
formDialogVisible.value = false
|
|
|
formSubmitLoading.value = false
|
|
|
+ currentEditGradeList.value = []
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -523,11 +506,4 @@ onMounted(async()=>{
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
</style>
|