Переглянути джерело

添加任务开启/关闭 接口调用

lm 1 місяць тому
батько
коміт
1b3ececdaa

+ 9 - 0
src/api/reviewManagement.ts

@@ -35,3 +35,12 @@ export const addQuestionnaireTaskListApi = (data:any) => {
         data
     })
 }
+
+// 开启/关闭任务
+export const oppenOrCloseQuestionnaireTaskApi = (id:any,openStatus:any) => {
+    return request({
+        url: `${teacherPrefix}/api/v1/evaluation/openCloseEvaluation/${id}/${openStatus}`,
+        method: 'get',
+    })
+}
+

+ 136 - 163
src/components/questionnaireCard/QuestionnaireCard.vue

@@ -1,66 +1,59 @@
 <template>
-     <ul class="questionnaire_list">
-        <li v-for="quesitonnaire in dynamicQuestionnaireList" 
-            :key="quesitonnaire.id" class="card_item">
-            <!-- 顶部区域:图标 + 标题 -->
-            <div class="card_header">
-                <!-- 模拟图片中的文档图标 -->
-                <img src="" alt="" class="card-icon" />
-                <span class="card_title two_line_ellipsis">{{ quesitonnaire.assessmentTitle }}</span>
-                <el-switch
-                    v-model="quesitonnaire.cardOnOff"
-                    v-if="cardType == 'reviewManage'"
-                    :active-value="true"
-                    @change="(val)=>HandleOnOffChange(val,quesitonnaire)"
-                    style="--el-switch-on-color: #2e64fa; --el-switch-off-color: #bbbbbb"
-                />
+    <div
+        class="card_item">
+        <!-- 顶部区域:图标 + 标题 -->
+        <div class="card_header">
+            <!-- 模拟图片中的文档图标 -->
+            <img src="" alt="" class="card-icon" />
+            <span class="card_title two_line_ellipsis">{{ questionnaire.title }}</span>
+
+            <el-switch
+                :model-value="Boolean(questionnaire.openStatus)"
+                v-if="cardType == 'reviewManage'"
+                @change="(newVal)=>HandleOnOffChange(newVal,questionnaire.openStatus,questionnaire)"
+                style="--el-switch-on-color: #2e64fa; --el-switch-off-color: #bbbbbb"
+            />
+        </div>
+
+        <!-- 中间区域:元数据 (分数、创建人、状态、时间) -->
+        <div class="card_meta">
+            <div class="meta_row">
+                <!-- 问卷总分 -->
+                <span  v-if="cardType == 'questionnareManage'" class="score_text">{{ questionnaire.assessmentScore }}分</span>
+                <span class="creator_text">{{questionnaire.teacherName}}</span>
+                <!-- 评价类型 -->
+                <span v-if="cardType == 'reviewManage'">{{ typeNumToName(questionnaire.evaluationType).title }}</span>
+                <!-- 状态文本:根据 cardStatus 动态变色 -->
+                <span :class="['status_text', statusNumToName(questionnaire.cardStatus)?.themeClass ]">
+                    {{ statusNumToName(questionnaire.cardStatus)?.title  }}
+                </span>
             </div>
-
-            <!-- 中间区域:元数据 (分数、创建人、状态、时间) -->
-            <div class="card_meta">
-                <div class="meta_row">
-                    <!-- 问卷总分 -->
-                    <span  v-if="cardType == 'questionnareManage'" class="score_text">{{ quesitonnaire.assessmentScore }}分</span>
-                    <span class="creator_text">管理员</span>
-                    <!-- 评价类型 -->
-                    <span v-if="cardType == 'reviewManage'">{{ typeNumToName(quesitonnaire.reviewType).title }}</span>
-                    <!-- 状态文本:根据 cardStatus 动态变色 -->
-                    <span :class="['status_text', statusNumToName(quesitonnaire.cardStatus)?.themeClass ]">
-                        {{ statusNumToName(quesitonnaire.cardStatus)?.title  }}
-                    </span>
-                </div>
-                <div class="time_row">
-                    <span>{{ quesitonnaire.time }}</span>
-                </div>
-            </div>
-
-            <div class="page_solid_line"></div>
-
-            <!-- 底部区域:操作按钮 -->
-            <div class="card_footer">
-                <slot name="default" :row="quesitonnaire"></slot>
+            <div class="time_row">
+                <span>{{ questionnaire.time }}</span>
             </div>
-        </li>
-    </ul>
-
+        </div>
 
+        <div class="page_solid_line"></div>
 
+        <!-- 底部区域:操作按钮 -->
+        <div class="card_footer">
+            <slot name="default" :row="questionnaire"></slot>
+        </div>
+    </div>
 </template>
 
 
 <script setup lang="ts">
-import { ref ,watch} from 'vue'
 interface QuestionnaireItm {
     id:Number,
-    assessmentTitle:String,  //标题
+    title:String,  //标题
     assessmentScore?:Number|String,  //总分
     teacherName:String,  //创建人
     time:String,  //卡片展示的时间
     cardStatus:Number,   //1 已使用   0 未使用
-    cardOnOff?:Boolean,
-    reviewType?:Number|String,  //卡片类型
-    isDelete?:Boolean,
-
+    openStatus?:Boolean,
+    evaluationType?:Number|String,  //卡片类型
+    status?:Boolean,
 }
 
 interface StatusItm {
@@ -79,9 +72,9 @@ type CardType = 'questionnareManage' | 'reviewManage'
 
 
 const props = defineProps({
-    questionnaireList:{   //卡片数据
-        type:Array<QuestionnaireItm>,
-        required:true,
+    questionnaire:{
+        type:Object as ()=>QuestionnaireItm,
+        requried:true,
     },
     cardStatusMsg:{  //卡片状态信息
         required:true,
@@ -90,21 +83,19 @@ const props = defineProps({
     cardTypeMsg:{
         type:Array<TypeItm>,
     },
-    showSwitch:{   //展示卡片开关
-        type:Boolean,
-        default:false
-    },
     cardType:{
         type:String as ()=>CardType,  
         required:true
     }
 })
 
-const dynamicQuestionnaireList = ref<QuestionnaireItm[]>([])
 const emit = defineEmits(['switchOnOff'])
 // 处理卡片的开关状态
-const HandleOnOffChange = (val,row)=>{
-    emit('switchOnOff',{id:row.id,onOffVal:val })
+const HandleOnOffChange = (newVal,oldVal,row)=>{
+    // console.log('newVal',newVal,'oldVal',oldVal)
+    // if(Boolean(newVal) !== Boolean(oldVal)){
+        emit('switchOnOff',{id:row.id,onOffVal:newVal })
+    // }
 }
 const statusNumToName=(status:String|Number|null|undefined)=>{
   let result =  props?.cardStatusMsg?.find(item=>item.statusFlag === status)
@@ -128,140 +119,122 @@ const typeNumToName=(type:String|Number|null|undefined)=>{
     }
   }
 }
-
-
-watch(()=>props.questionnaireList,(newVal)=>{
-    dynamicQuestionnaireList.value = newVal
-},{deep:true,immediate:true})
 </script>
 
 
 <style lang="scss" scoped>
-
-/* 列表容器:横向排列,允许换行 */
-.questionnaire_list {
-        
+/* 单个卡片样式 */
+.card_item {
+    width: 325px; /* 固定宽度以匹配图片比例 */
+    background: #F8FAFE;
+    border: 1px solid #EBEEF5;
+    border-radius: 10px;
+    padding: 16px 0;
     display: flex;
-    flex-wrap: wrap;
-    gap: 20px;
-    list-style: none;
-    padding: 0;
-
+    flex-direction: column;
+    justify-content: space-between;
+    gap:12px;
     
-    /* 单个卡片样式 */
-    .card_item {
-        width: 325px; /* 固定宽度以匹配图片比例 */
-        background: #F8FAFE;
-        border: 1px solid #EBEEF5;
-        border-radius: 10px;
-        padding: 16px 0;
+    /* 头部:图标和标题 */
+    .card_header {
+        display: flex;
+        align-items: center;
+        gap:8px;
+        padding:0 16px;
+
+        .card-icon {
+            width: 40px;
+            height: 40px;
+            background-color: #e6f7ff; /* 浅蓝背景 */
+            border-radius: 4px;
+            padding: 4px;
+        }
+        .card_title {
+            font-size: 14px;
+            font-weight: 600;
+            color: #333;
+            line-height: 1;
+            // max-width: 240px;
+        }
+    }
+
+
+    /* 中部:元数据信息 */
+    .card_meta {
+        font-size: 12px;
+        line-height: 16px;
+        color: #666;
         display: flex;
         flex-direction: column;
-        justify-content: space-between;
         gap:12px;
-      
-        /* 头部:图标和标题 */
-        .card_header {
+        padding:0 16px;
+
+        .meta_row {
             display: flex;
             align-items: center;
-            gap:8px;
-            padding:0 16px;
+            gap: 12px;
 
-            .card-icon {
-                width: 40px;
-                height: 40px;
-                background-color: #e6f7ff; /* 浅蓝背景 */
-                border-radius: 4px;
-                padding: 4px;
-            }
-            .card_title {
-                font-size: 14px;
-                font-weight: 600;
+            .score_text {
                 color: #333;
-                line-height: 1;
-                // max-width: 240px;
             }
-        }
-
-
-        /* 中部:元数据信息 */
-        .card_meta {
-            font-size: 12px;
-            line-height: 16px;
-            color: #666;
-            display: flex;
-            flex-direction: column;
-            gap:12px;
-            padding:0 16px;
-
-            .meta_row {
+                
+            /* 状态颜色控制 */
+            .status_text {
                 display: flex;
                 align-items: center;
-                gap: 12px;
 
-                .score_text {
-                    color: #333;
+                &::before {
+                    content: "";
+                    display: inline-block;
+                    width: 6px;
+                    height: 6px;
+                    border-radius: 50%;
+                    margin-right: 6px;
                 }
-                    
-                /* 状态颜色控制 */
-                .status_text {
-                    display: flex;
-                    align-items: center;
 
+                /* 已使用 (蓝色) */
+                &.used {
+                    color: #1890ff;
                     &::before {
-                        content: "";
-                        display: inline-block;
-                        width: 6px;
-                        height: 6px;
-                        border-radius: 50%;
-                        margin-right: 6px;
+                        background-color: #1890ff;
                     }
-
-                    /* 已使用 (蓝色) */
-                    &.used {
-                        color: #1890ff;
-                        &::before {
-                            background-color: #1890ff;
-                        }
-                    }
-                    /* 未使用 (灰色) */
-                    &.unused,
-                    &.end {
-                        color: #999;
-                        &::before {
-                            background-color: #ccc;
-                        }
+                }
+                /* 未使用 (灰色) */
+                &.unused,
+                &.end {
+                    color: #999;
+                    &::before {
+                        background-color: #ccc;
                     }
+                }
 
-                    &.ongoing {
-                        color: #2BC644;
-                        &::before {
-                            background-color: #2BC644;
-                        }
+                &.ongoing {
+                    color: #2BC644;
+                    &::before {
+                        background-color: #2BC644;
                     }
-
                 }
-            }
-            .time_row {
-                color: #999;
+
             }
         }
+        .time_row {
+            color: #999;
+        }
+    }
 
-        /* 底部:按钮组 */
-        .card_footer {
-            display: flex;
-            justify-content: flex-start;
-            gap: 12px;
-            padding:0 16px;
-            // margin-top: auto; /* 将按钮推到底部 */
-            :deep(.el-button){
-                height: 32px;
-                padding: 6px 12px;
-                font-size: 14px;
-                margin-left: 0px;
-            }
+    /* 底部:按钮组 */
+    .card_footer {
+        display: flex;
+        justify-content: flex-start;
+        gap: 12px;
+        padding:0 16px;
+        // margin-top: auto; /* 将按钮推到底部 */
+        :deep(.el-button){
+            height: 32px;
+            padding: 6px 12px;
+            font-size: 14px;
+            margin-left: 0px;
         }
     }
 }
-
 </style>

+ 11 - 0
src/styles/page.scss

@@ -44,4 +44,15 @@
   overflow: hidden;
   text-overflow: ellipsis; /* 超出显示省略号 */
   white-space: nowrap;
+}
+
+
+
+.questionnaire_list {
+    display: flex;
+    align-items: flex-start;
+    flex-wrap: wrap;
+    gap: 20px;
+    list-style: none;
+    padding: 0;
 }

+ 72 - 96
src/views/reviewManagement/ReviewManagement.vue

@@ -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>

+ 2 - 2
src/views/reviewManagement/table.ts

@@ -47,7 +47,7 @@ export const questionnaireTableColumns = ref([
         hidden: false,
     },
     {
-        name: 'useStatus',
+        name: 'evaluationStatus',
         label: '状态',
         width: '120',
         fixed: '',
@@ -57,7 +57,7 @@ export const questionnaireTableColumns = ref([
     },
 
     {
-        name: 'isOpen',
+        name: 'openStatus',
         label: '对学生开放',
         width: '120',
         fixed: '',

+ 27 - 19
src/views/surveyManagement/SurveyManagement.vue

@@ -20,25 +20,32 @@
             <div class="page_jg_20"></div>
 
             <!-- 视图展示数据 -->
-            <QuestionnaireCard 
-                v-if="defaultViewMode == 'view'" 
-                :questionnaireList="questionnaireList"
-                :cardStatusMsg="cardStatusMsg"
-                cardType="questionnareManage"
-            >
-                <template #default="{row}">
-                    <el-button 
-                        :class="[Number(row.useStatus) === 1 ? 'is-disabled' : 'button_background']"
-                        @click="Number(row.useStatus) === 1 ?  '' : GoToCreateQuestionnaire(row)"    
-                    >编辑</el-button>
-                    <el-button class="button_border" @click="GoToPreviewQuestionnaire(row)">预览</el-button>
-                    <el-button class="button_refresh" @click="CopyQuestionnaire(row)">复制</el-button>
-                    <el-button 
-                        :class="[Number(row.useStatus) === 1 ? 'is-disabled' : 'delete_button_border']"
-                        @click="Number(row.useStatus) === 1 ?  '' : 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 
+                        :questionnaire="questionnaire"
+                        :cardStatusMsg="cardStatusMsg"
+                        cardType="questionnareManage"
+                    >
+                        <template #default="{row}">
+                            <el-button 
+                                :class="[Number(row.useStatus) === 1 ? 'is-disabled' : 'button_background']"
+                                @click="Number(row.useStatus) === 1 ?  '' : GoToCreateQuestionnaire(row)"    
+                            >编辑</el-button>
+                            <el-button class="button_border" @click="GoToPreviewQuestionnaire(row)">预览</el-button>
+                            <el-button class="button_refresh" @click="CopyQuestionnaire(row)">复制</el-button>
+                            <el-button 
+                                :class="[Number(row.useStatus) === 1 ? 'is-disabled' : 'delete_button_border']"
+                                @click="Number(row.useStatus) === 1 ?  '' : OpenDeleteDialog(row)"
+                            >删除</el-button>
+                        </template>
+                    </QuestionnaireCard>
                 </template>
-            </QuestionnaireCard>
+            </div>
 
 
             <!-- 列表展示数据 -->
@@ -159,7 +166,8 @@ const GetQuestionnaireList = async ()=>{
             return {
                 ...itm,
                 cardStatus:itm.useStatus,
-                time:itm.createdAt
+                time:itm.createdAt,
+                title:itm.assessmentTitle,
             }
         })
     }