浏览代码

修改问卷管理和评价管理的视图/列表展示逻辑

lm 3 周之前
父节点
当前提交
38430c5093
共有 2 个文件被更改,包括 117 次插入47 次删除
  1. 58 23
      src/views/reviewManagement/ReviewManagement.vue
  2. 59 24
      src/views/surveyManagement/SurveyManagement.vue

+ 58 - 23
src/views/reviewManagement/ReviewManagement.vue

@@ -33,14 +33,14 @@
 
             <!-- 视图展示数据 -->
             <QuestionnaireCard 
-                v-if="defaultViewMode == 'view' && questionnaireList?.length > 0"
-                :questionnaireList="questionnaireList"
+                v-if="defaultViewMode == 'view' && questionnaireViewList?.length > 0"
+                :questionnaireList="questionnaireViewList"
                 :cardStatusMsg="reviewManageCardStatusMsg" 
                 :cardTypeMsg="reviewManageTaskTypeMsg"
                 cardType="reviewManage"
                 @switchOnOff="HandleCardSwitchOnOff"
 
-                :pageSize="pageSize" 
+                :pageSize="viewPageSize" 
                 :totalNum="totalNum"
                 :scrollAimDom="scrollDom"
                 @loadMorePage="LoadMoreQuestionnaireTaskList"
@@ -64,15 +64,15 @@
             </QuestionnaireCard>
             <!-- 列表展示数据 -->
             <Table v-else-if="defaultViewMode == 'list'"
-                :currentPage="currentPage" 
-                :pageSize="pageSize" 
+                :currentPage="tableCurrentPage" 
+                :pageSize="tablePageSize" 
                 :totalNum="totalNum"
-                :tableData="questionnaireList"
+                :tableData="questionnaireTableList"
                 :tableColumns="questionnaireTableColumns"
                 @paginationChange="HandlePaginationChange"
             >
                 <template #num="{currentIndex}">
-                    {{ currentIndex + pageSize * (currentPage - 1)}}
+                    {{ currentIndex + tablePageSize * (tableCurrentPage - 1)}}
                 </template>
                 <template #evaluationType="{row}">
                     {{ reviewManageTaskTypeMsg.find(item=>{return item.type === row.evaluationType})?.title }}
@@ -203,6 +203,7 @@ const defaultViewMode = ref('view')
 const  HandleTabChage = (val)=>{    
     console.log('当前模式',val)
     defaultViewMode.value = val
+    GetQuestionnaireTaskList()
 }
 
 // 2. 查询参数
@@ -251,20 +252,22 @@ const GetSchoolYearList =  async()=>{
 
 
 //.3. 问卷列表
-const currentPage = ref(1)
-const totalNum = ref(0)
-const pageSize = ref(20)
-const questionnaireList = ref<QuestionnaireItm[]>([]);
 const addMoreUnit = ref(10)  //加载更多时,每次添加的量
 const scrollDom = ref()  //目标滚动元素
+const totalNum = ref(0)
 
-// 、获取问卷任务列表
-const GetQuestionnaireTaskList = async ()=>{
-    console.log('获取到的查询参数',searchParams.value)
-    let params = {
-        pageNum:currentPage.value,
-        pageSize: pageSize.value,
+const tableCurrentPage = ref(1)  
+const tablePageSize = ref(10)  //列表页单页大小
+const questionnaireTableList = ref<QuestionnaireItm[]>([]);
 
+const viewPageSize = ref(10)  //视图页单页大小
+const questionnaireViewList = ref<QuestionnaireItm[]>([]);
+
+// 获取评价管理视图列表信息
+const GetViewQuestionnaireTaskList = async ()=>{
+    let params = {
+        pageNum:1,
+        pageSize: viewPageSize.value,
         evaluationStatus: searchParams.value.evaluationStatus == 'all' ? '' : searchParams.value.evaluationStatus,
         evaluationName: searchParams.value.evaluationName,
         schoolYearCode: searchParams.value.schoolYear == 'all' ? '' : searchParams.value.schoolYear,
@@ -272,7 +275,7 @@ const GetQuestionnaireTaskList = async ()=>{
     let res = await getQuestionnaireTaskListApi(params)
 
     if(res?.code == 200){
-        questionnaireList.value = res.data.records.map(item=>{
+        questionnaireViewList.value = res.data.records.map(item=>{
             return {
                 ...item,
                 cardStatus:item.evaluationStatus,
@@ -290,11 +293,43 @@ const GetQuestionnaireTaskList = async ()=>{
     // 如果初始高度没有占满,就加载更多内容
     console.log('domTotalHeight',domTotalHeight,'domClientHeight',domClientHeight)
 
-    if(domTotalHeight <= domClientHeight && totalNum.value > pageSize.value){
+    if(domTotalHeight <= domClientHeight && totalNum.value > viewPageSize.value){
         console.log('emit-——more了')
         await LoadMoreQuestionnaireTaskList()
     }
+}
 
+// 获取评价管理表格列表信息
+const GetTableQuestionnaireTaskList = async ()=>{
+    let params = {
+        pageNum:tableCurrentPage.value,
+        pageSize: tablePageSize.value,
+        evaluationStatus: searchParams.value.evaluationStatus == 'all' ? '' : searchParams.value.evaluationStatus,
+        evaluationName: searchParams.value.evaluationName,
+        schoolYearCode: searchParams.value.schoolYear == 'all' ? '' : searchParams.value.schoolYear,
+    }
+    let res = await getQuestionnaireTaskListApi(params)
+
+    if(res?.code == 200){
+        questionnaireTableList.value = res.data.records.map(item=>{
+            return {
+                ...item,
+                cardStatus:item.evaluationStatus,
+                title:item.evaluationName,
+                time:item.evaluationStartDatetime + ' 至 ' + item.evaluationEndDatetime
+            }
+        })
+        totalNum.value = res.data.total
+    }
+}
+
+// 、获取问卷任务列表
+const GetQuestionnaireTaskList = async ()=>{
+    if(defaultViewMode.value == 'view'){
+        GetViewQuestionnaireTaskList()
+    }else if(defaultViewMode.value == 'list'){
+        GetTableQuestionnaireTaskList()
+    }
 }
 
 
@@ -302,7 +337,7 @@ const GetQuestionnaireTaskList = async ()=>{
 const HandlePaginationChange = async (params)=>{
     const {type, val} = params
     if(type == 'currentPage'){
-        currentPage.value = val
+        tableCurrentPage.value = val
         await GetQuestionnaireTaskList()
     }
 }
@@ -310,7 +345,7 @@ const HandlePaginationChange = async (params)=>{
 // 加载更多页面数据
 const LoadMoreQuestionnaireTaskList= async()=>{
     if(defaultViewMode.value == 'view'){
-        pageSize.value += addMoreUnit.value
+        viewPageSize.value += addMoreUnit.value
         await GetQuestionnaireTaskList()
     }
 }
@@ -586,7 +621,8 @@ onMounted(async()=>{
     await GetSchoolYearList()
     await GetQuestionnaireTaskList()
 
-    // 初始化赋值
+
+    // 初始化 新增/修改 评价弹窗的 时间禁选 赋值
     formDialogItmList.value = formDialogItmList.value.map(item=>{
         if(item.key == 'evaluationStartDatetime'){
             item.disabledDate = startDisabledDate
@@ -595,7 +631,6 @@ onMounted(async()=>{
         }
         return item
     })
-
 })
 
 

+ 59 - 24
src/views/surveyManagement/SurveyManagement.vue

@@ -24,11 +24,11 @@
 
             <!-- 视图展示数据 -->
             <QuestionnaireCard 
-                v-if="defaultViewMode == 'view' && questionnaireList?.length > 0"
-                :questionnaireList="questionnaireList"
+                v-if="defaultViewMode == 'view' && questionnaireCardList?.length > 0"
+                :questionnaireList="questionnaireCardList"
                 :cardStatusMsg="surveyManagementCardStatusMsg"
                 cardType="questionnareManage"
-                :pageSize="pageSize" 
+                :pageSize="viewPageSize" 
                 :totalNum="totalNum"
                 :scrollAimDom="scrollDom"
                 @loadMorePage="LoadMoreQuestionnaireList"
@@ -51,15 +51,15 @@
 
             <!-- 列表展示数据 -->
             <Table v-else-if="defaultViewMode == 'list'"
-                :currentPage="currentPage" 
-                :pageSize="pageSize" 
+                :currentPage="tableCurrentPage" 
+                :pageSize="tablePageSize" 
                 :totalNum="totalNum"
-                :tableData="questionnaireList"
+                :tableData="questionnaireTableList"
                 :tableColumns="questionnaireTableColumns"
                 @paginationChange="HandlePaginationChange"
             >
                 <template #num="{currentIndex}">
-                    {{ currentIndex + pageSize * (currentPage - 1)}}
+                    {{ currentIndex + tablePageSize * (tableCurrentPage - 1)}}
                 </template>
 
                 <template #useStatus="{row}">
@@ -131,30 +131,38 @@ const router = useRouter()
 
 // 1. 视图模式切换
 const defaultViewMode = ref('view')
-const  HandleTabChage = (val)=>{    
+const  HandleTabChage = async (val)=>{    
     defaultViewMode.value = val
+    await GetQuestionnaireList()
 }
 
 
 
 //. 问卷列表
-const currentPage = ref(1)
 const totalNum = ref(0)
-const pageSize = ref(20)
-const questionnaireList = ref<QuestionnaireItm[]>([]);
-const addMoreUnit = ref(10)  //加载更多时,每次添加的量
+
 const scrollDom = ref()  //目标滚动元素
+const viewPageSize = ref(10)  //视图模式的单页大小
+const addMoreUnit = ref(10)  //加载更多时,每次添加的量
+const questionnaireCardList = ref<QuestionnaireItm[]>([]);
 
-// 获取问卷列表数据
-const GetQuestionnaireList = async ()=>{
+const tablePageSize = ref(10)  //表格模式的单页大小
+const tableCurrentPage = ref(1)
+const questionnaireTableList = ref<QuestionnaireItm[]>([]);
+
+
+
+
+// 获取视图课程列表
+const GetViewQuestionnaireList = async ()=>{
     let params = {
-        pageNum:currentPage.value,
-        pageSize: pageSize.value
+        pageNum:1,
+        pageSize: viewPageSize.value
     }
     let res = await getQuestionnaireListApi(params)
-
-    if(res.code == 200){
-        questionnaireList.value = res.data.records.map(itm=>{
+    // __________________
+    if(res?.code == 200){
+        questionnaireCardList.value = res.data.records.map(itm=>{
             return {
                 ...itm,
                 cardStatus:itm.useStatus,
@@ -164,32 +172,59 @@ const GetQuestionnaireList = async ()=>{
         })
         totalNum.value = res.data.total
     }
-
-    
     // 获取完表格数据后,查看页面是否在滚动
     let domTotalHeight = scrollDom.value?.scrollHeight || 0
     let domClientHeight = scrollDom.value?.clientHeight || 0
     // 如果初始高度没有占满,就加载更多内容
     console.log('domTotalHeight',domTotalHeight,'domClientHeight',domClientHeight)
 
-    if(domTotalHeight <= domClientHeight && totalNum.value > pageSize.value){
+    if(domTotalHeight <= domClientHeight && totalNum.value > viewPageSize.value){
         console.log('emit-——more了')
         await LoadMoreQuestionnaireList()
     }
 }
 
+// 获取表格课程列表
+const GetTableQuestionnaireList = async ()=> {
+    let params = {
+        pageNum:tableCurrentPage.value,
+        pageSize: tablePageSize.value
+    }
+    let res = await getQuestionnaireListApi(params)
+    if(res?.code == 200){
+        questionnaireTableList.value = res.data.records.map(itm=>{
+            return {
+                ...itm,
+                cardStatus:itm.useStatus,
+                time:itm.createdAt,
+                title:itm.assessmentTitle,
+            }
+        })
+        totalNum.value = res.data.total
+    }
+}
+
+// 获取问卷列表数据
+const GetQuestionnaireList = async ()=>{
+    if(defaultViewMode.value == 'view'){
+        GetViewQuestionnaireList()
+    }else if(defaultViewMode.value == 'list'){
+        GetTableQuestionnaireList()
+    }
+}
+
 // 表格分页切换
 const HandlePaginationChange = async (params)=>{
     const {type, val} = params
     if(type == 'currentPage'){
-        currentPage.value = val
+        tableCurrentPage.value = val
         await GetQuestionnaireList()
     }
 }
 // 加载更多页面数据
 const LoadMoreQuestionnaireList= async()=>{
     if(defaultViewMode.value == 'view'){
-        pageSize.value += addMoreUnit.value
+        viewPageSize.value += addMoreUnit.value
         await GetQuestionnaireList()
     }
 }