浏览代码

修改文本登录接口

plg 8 月之前
父节点
当前提交
fc460f0569
共有 9 个文件被更改,包括 540 次插入219 次删除
  1. 47 0
      src/api/plan.ts
  2. 二进制
      src/assets/kepu/woman.png
  3. 1 0
      src/components/CpmdHeader.vue
  4. 1 1
      src/router/index.ts
  5. 165 13
      src/views/Community.vue
  6. 5 3
      src/views/Plan.vue
  7. 130 49
      src/views/Report.vue
  8. 1 1
      src/views/ScaleMid.vue
  9. 190 152
      src/views/TestRecord.vue

+ 47 - 0
src/api/plan.ts

@@ -9,6 +9,16 @@ const saveSacleUrl = '/record/saveScaleRecord'
 const saveGoNoGoUrl = '/record/saveSuppressionRecord'
 
 const saveFaceDotUrl = '/record/saveEmotionRecord'
+const getDataUrl = '/plan/findCompletePlanByUser'
+
+//获取报告内容
+const queryReportUrl = '/userBriefing/findByPlanIdAndUserNo'
+
+//新增留言API
+const pubMsgUrl = '/comment/addComment'
+
+//分页查询留言
+const queryMsgUrl = '/comment/findAllByPage'
 //首页API
 export const homeApi = (val: any) => {
     return http<any>(
@@ -58,4 +68,41 @@ export const saveFaceDotApi = (val: any) => {
             url: saveFaceDotUrl,
             data: { ...val }
         })
+}
+
+//查询已完成的测试计划
+export const getDataApi = (val: any) => {
+    return http<any>(
+        {
+            method: 'get',
+            url: `${getDataUrl}?pageNum=${val.pageNum}&pageSize=${val.pageSize}&userNo=${val.userNo}`,
+        })
+}
+
+//查询报告信息
+export const queryReportApi = (val: any) => {
+    return http<any>(
+        {
+            method: 'get',
+            url: `${queryReportUrl}?planId=${val.planId}&userNo=${val.userNo}`,
+        })
+}
+
+//发布留言
+export const pubMsgApi = (val: any) => {
+    return http<any>(
+        {
+            method: 'post',
+            url: pubMsgUrl,
+            data: { ...val }
+        })
+}
+
+//分页查询留言
+export const queryMsgApi = (val: any) => {
+    return http<any>(
+        {
+            method: 'get',
+            url: `${queryMsgUrl}?pageNum=${val.pageNum}&pageSize=${val.pageSize}`,
+        })
 }

二进制
src/assets/kepu/woman.png


+ 1 - 0
src/components/CpmdHeader.vue

@@ -50,6 +50,7 @@ const leaveMenu = () => {
 }
 
 const updatePassFun = () => {
+    menuStatus.saveActiveIndex('6')
     router.push({ name: 'updatePas' })
 }
 

+ 1 - 1
src/router/index.ts

@@ -53,7 +53,7 @@ const routes = [
       component: () => import('@/views/TestRecord.vue')
 
     }, {
-      path: 'report/:id',
+      path: 'report/:planId/:goFlag',
       name: 'report',
       component: () => import('@/views/Report.vue')
 

+ 165 - 13
src/views/Community.vue

@@ -2,32 +2,91 @@
 import CpmdHeader from '@/components/CpmdHeader.vue';
 import { onMounted, onUnmounted, ref } from 'vue'
 
+import { userInfoStore } from '@/stores'
+
 //持久化设置 菜单状态
 import { menuStatusStore } from '@/stores'
+import { ElMessage } from 'element-plus';
+import { pubMsgApi, queryMsgApi } from '@/api/plan';
+import { number } from 'echarts';
 const menuStatus = menuStatusStore();
 menuStatus.saveActiveIndex('3')
 
-const homeHeaderOut = ref<any>()
-const height = ref<number>()
-//心灵探索高度
-const xlts = ref<number>()
+//获取缓存用户信息
+const userInfo = userInfoStore();
+const pub_visible = ref<boolean>(false)
+
+//用户姓名
+const userName = ref<string>('')
+//用户性别
+const userSex = ref<string>('')
+//用户编号
+const userNo = ref<string>('')
+//用户发送的信息
+const user_msg = ref<string>('')
+//输入框样式
+const des_input = ref<any>()
+//防止重复点
 
-//计划提醒的高度
-const plan_jihua = ref<number>()
+const isLock = ref<boolean>(false)
 
-//显示标题及文本的标志
-const flag_text = ref<number>(1)
-//定时器标志
-const flag_time = ref<any>()
 
 //刚进入页面就将高度设置为页面需要的
 onMounted(() => {
-
+    userName.value = userInfo.userInfo.userName;
+    userNo.value = userInfo.userInfo.userNo;
+    userSex.value = userInfo.userInfo.gender;
     //进到界面开始轮询
 })
 //界面销毁函数
 
+const pageNum = ref<number>()
+const pageSize = ref<number>()
+const queryMsg = async () => {
+    let params = {
+        pageNum: pageNum.value,
+        pageSize: pageSize.value
+    }
+    let res = await queryMsgApi(params)
+}
+
+//点击发布留言按钮  打开弹出框
+const openPubMsg = () => {
+    //重置输入框
+
+    user_msg.value = ''
+    //调用填写的内容
+    pub_visible.value = true
+}
+
+//点击进行发布信息
+const pubMsg = async () => {
+
+    console.log(des_input.value.value)
+
+    if (des_input.value == '') {
+        ElMessage({
+            message: '留言不能为空',
+            type: 'warning'
+        })
+        return
+    }
+    if (isLock.value) {
+        return
+    }
+    isLock.value = true
+    let params = {
+        userNo: userNo.value,
+        userName: userName.value,
+        commentContent: des_input.value.value
+    }
+    let res = await pubMsgApi(params)
+    des_input.value.value = ''
+    isLock.value = false
+    pub_visible.value = false
+    //调用新增留言的方法
 
+}
 //轮旋切换页面的方法
 
 
@@ -43,7 +102,7 @@ onUnmounted(() => {
 </script>
 
 <template>
-    <div class="home_header_out" ref="homeHeaderOut">
+    <div class="home_header_out">
         <div class=" home_header_inner">
             <CpmdHeader />
             <div style="text-align: center;">
@@ -53,6 +112,9 @@ onUnmounted(() => {
         <div class="kply">
             <div class="kply_inner">
                 <div style="padding :20px 40px">
+                    <!-- <div style="padding:10% 20% ;" v-show="true">
+                        <img width="100%" src="../assets/planNo.png">
+                    </div> -->
                     <div class="kepu_title">
                         <div class="kepu_title_des">
                             留言社区
@@ -60,7 +122,7 @@ onUnmounted(() => {
                         <div>
                             <div class="home_mid_plan_button">
 
-                                <div class="pub_button"> <img width="30px"
+                                <div class="pub_button" @click="openPubMsg"> <img width="30px"
                                         src="../assets/kepu/pub.png" />&nbsp;&nbsp;发布留言
                                 </div>
                             </div>
@@ -97,10 +159,100 @@ onUnmounted(() => {
         </div>
 
     </div>
+    <el-dialog v-model="pub_visible" :show-close="true" width="60%" style="border-radius: 40px;">
+        <template #header="{ close, titleId, titleClass }">
+            <div class="my-header">
+                <div class="msg_dig">
+                    <img width="40px" v-show="userSex == '1'" src="../assets/kepu/man.png" />
+                    <img width="40px" v-show="userSex == '0'" src="../assets/kepu/woman.png" />
+                    <div style="margin-left:20px">{{ userName }}</div>
+                </div>
+
+                <textarea ref="des_input" rows="5" cols="43" placeholder="写下你珍贵的留言" />
+
+
+                <div class="home_mid_plan_button">
+
+                    <div class="pub_button" @click="pubMsg"> 发布留言
+                    </div>
+                </div>
 
+            </div>
+        </template>
+
+    </el-dialog>
 
 </template>
+<style></style>
 <style lang="scss" scoped>
+// :v-deep(.el-textarea__inner) {
+//     color: var(--textarea-color)
+// }
+// textarea {
+//     font-size: 0.8rem;
+//     letter-spacing: 1px;
+// }
+
+textarea {
+    margin-top: 30px;
+    outline: none;
+    padding: 10px;
+    max-width: 100%;
+    line-height: 1.5;
+    border-radius: 5px;
+    border: none;
+    background-color: #F7F7F7;
+}
+
+textarea:focus {
+    outline: none;
+    border: none !important;
+}
+
+
+
+label {
+    display: block;
+    margin-bottom: 10px;
+}
+
+
+.my-header {
+    padding: 60px 60px 10px 60px;
+
+    display: flex;
+    flex-direction: column;
+
+    .home_mid_plan_button {
+        width: 100%;
+        display: flex;
+        flex-direction: row;
+        justify-content: end;
+        margin-top: 40px;
+
+        // text-align: right;
+        .pub_button {
+            cursor: pointer;
+            // width: 100px;
+            border-radius: 12px;
+            border: 3px solid #48D68E;
+            color: #ffffff;
+            background-color: #000000;
+
+            padding: 8px 30px;
+            cursor: pointer;
+            display: flex;
+            align-items: center;
+        }
+    }
+
+    .msg_dig {
+        display: flex;
+        flex-direction: row;
+        align-items: center;
+    }
+}
+
 .home_header_out {
     // position: relative;
     padding-bottom: 60px;

+ 5 - 3
src/views/Plan.vue

@@ -165,10 +165,13 @@ onUnmounted(() => {
         <div class="kply">
             <div class="kply_inner">
                 <div>
-                    <div style="padding:10% 20%" v-show="planList.length == 0">
-                        <img width="100%" src="../assets/planNo.png">
+                    <div style="padding: 20px 40px;">
+                        <div style="padding:10% 20% ;" v-show="planList.length == 0">
+                            <img width="100%" src="../assets/planNo.png">
+                        </div>
                     </div>
 
+
                     <!-- 测试记录列表 -->
                     <div class="test_record_out" v-for="item in planList">
                         <div class="record_tip">
@@ -246,7 +249,6 @@ onUnmounted(() => {
                                     <span style="display: flex;align-items: center;"><span
                                             class="test_des">测试用时:</span><span class="test_time1">{{
                                                 item.list[3].useTime }}</span></span>
-
                                 </div>
                             </div>
                         </div>

+ 130 - 49
src/views/Report.vue

@@ -5,14 +5,36 @@ import * as echarts from 'echarts'
 
 import CpmdHeader from '@/components/CpmdHeader.vue';
 import { onMounted, onUnmounted, reactive, ref } from 'vue'
-
+import { userInfoStore } from '@/stores'
+const userInfo = userInfoStore()
 import { useRoute, useRouter } from 'vue-router'
+import { queryReportApi } from '@/api/plan';
+import { ElMessage } from 'element-plus';
 
 //雷达图
 const echarts_ld = ref<any>()
 
 //设置
+const route = useRoute()
 
+//此处应该是唯一的报告ID
+const planId = ref<string>('')
+
+//定义一个参数判断测试报告需要跳转到哪
+const goFlag = ref('0')
+
+//获取到报告的总数据
+const reportData = ref<any>([])
+const echarts_des_list = ref<string[]>(['', '', '', '', '', ''])
+const echarts_data_list = ref<number[]>([10, 20, 30, 40, 0, 0])
+const echarts_name_list = ref<any>([
+    { name: '阳光指数', max: 100 },
+    { name: '情绪稳定指数', max: 100 },
+    { name: '社交能力', max: 100 },
+    { name: '自律能力', max: 100 },
+    { name: '爱情观', max: 100 },
+    { name: '人生观', max: 100 }
+])
 
 const option = reactive({
     title: {
@@ -25,14 +47,7 @@ const option = reactive({
         shape: 'square', //设置雷达图形状,值有circle、square,默认为方形
         splitNumber: 3, // 雷达图圈数设置
         // shape: 'circle',
-        indicator: [
-            { name: '阳光指数', max: 100 },
-            { name: '社交能力', max: 100 },
-            { name: '爱情观', max: 100 },
-            { name: '人生观', max: 100 },
-            { name: '自律能力', max: 100 },
-            { name: '应变能力', max: 100 }
-        ],
+        indicator: echarts_name_list.value,
         name: { //修改indicator文字的颜色
             textStyle: {
                 color: "#999999"
@@ -92,7 +107,7 @@ const option = reactive({
             symbolSize: 6,
             data: [
                 {
-                    value: [90, 10, 30, 20, 10, 60],
+                    value: echarts_data_list.value,
                     itemStyle: { //该数值区域样式设置
                         normal: {
                             color: 'red', //背景颜色,还需设置areaStyle   //修改线条颜色
@@ -113,26 +128,87 @@ const option = reactive({
     ]
 })
 
-const route = useRoute()
 
-//此处应该是唯一的报告ID
-const id = ref<string>('')
 //持久化设置 菜单状态
 //刚进入页面就将高度设置为页面需要的
 onMounted(() => {
     console.log(route.params)
     const params = route.params
+    //当等于0时则跳转到测试计划页面
+    //当等于1时则跳转到上一页
+    goFlag.value = params.goFlag as string
+    //获取用户编号
+    planId.value = params.planId as string
+    //获取用户编号
+
+    let pa = {
+        planId: planId.value,
+        userNo: userInfo.userInfo.userNo
+    }
+    queryReport(pa)
+    //调用方法
+    //进行量表信息查询
 
-    id.value = params.id as string
     //进到界面开始轮询
 
-    const myChart = echarts.init(echarts_ld.value)
-    myChart.setOption(option);
+
+
+
 })
+const queryReport = async (pa: any) => {
+    let res: any = await queryReportApi(pa)
+    console.log('返回的报告记录')
+    console.log(res)
+    //得到返回的数据
+    if (res.code == 200) {
+        reportData.value = res.data
+
+        // let a =[res.data[0].]    
+        if (res.data.length == 7) {
+            let a = [
+                parseInt(res.data[1].dimensionScore),
+                parseInt(res.data[2].dimensionScore),
+                parseInt(res.data[3].dimensionScore),
+                parseInt(res.data[4].dimensionScore),
+                parseInt(res.data[5].dimensionScore),
+                parseInt(res.data[6].dimensionScore)
+            ]
+            let des = [
+                res.data[1].dimensionAnalysis,
+                res.data[2].dimensionAnalysis,
+                res.data[3].dimensionAnalysis,
+                res.data[4].dimensionAnalysis,
+                res.data[5].dimensionAnalysis,
+                res.data[6].dimensionAnalysis
+            ]
+            echarts_des_list.value = des
+            echarts_data_list.value = a
+            const myChart = echarts.init(echarts_ld.value)
+            option.series[0].data[0].value = a
+
+            myChart.setOption(option);
+        }
+
+
+    } else {
+        ElMessage({
+            message: res.msg,
+            type: 'error'
+        })
+    }
+}
+
+
 //界面销毁函数
 const router = useRouter()
 const backFun = () => {
-    router.go(-1)
+    if (goFlag.value == '1') {
+        router.go(-1)
+    }
+    if (goFlag.value == '0') {
+        router.push({ name: 'plan' })
+    }
+
 }
 
 
@@ -163,48 +239,52 @@ onUnmounted(() => {
         <div class="kply">
             <div class="kply_inner">
                 <div style="padding: 20px 40px;">
-                    <div class="report_totol_score">
-                        <div class="report_bei">
-                            <img height="200xp" src="../assets/report/bei.png" />
-                            <div class="score">360</div>
-                        </div>
-                        <div class="totol_result_des">
-                            结论:潜力无限,未来因挑战而更加精彩。你有着巨大的成长空间,只要勇于面对挑战,不断努力,你的人生必将绽放出璀璨的光芒。
+                    <div>
+                        <div class="report_totol_score">
+                            <div class="report_bei">
+                                <img height="200xp" src="../assets/report/bei.png" />
+                                <div class="score" v-if="reportData.length > 0">{{ reportData[0].dimensionScore }}</div>
+                            </div>
+                            <div class="totol_result_des" v-if="reportData.length > 0">
+                                结论:{{ reportData[0].dimensionConclusion }},{{ reportData[0].dimensionAnalysis }}
+                            </div>
                         </div>
-                    </div>
-                    <div class="report_echarts_out">
-                        <div ref="echarts_ld" style="width:500px;height:600px">
+                        <div class="report_echarts_out">
+                            <div ref="echarts_ld" style="width:500px;height:600px">
 
-                        </div>
-                        <div
-                            style="display: flex;flex-direction: column;align-items: center;width: 50%; justify-content: space-around;padding-top: 40px;padding-bottom: 40px;">
-                            <div class="progress_out" v-for="item in 6">
-                                <span class="progress_out_name" style="width:150px">
-                                    阳光指数
-                                </span>
-                                <span class="progress_out_score">40</span>
-                                <el-progress :percentage="40" style="width:100%" :stroke-width="18" :show-text='false'
-                                    color="linear-gradient(to right,#FF4E00 ,#ffffff)" />
                             </div>
+                            <div
+                                style="display: flex;flex-direction: column;align-items: center;width: 50%; justify-content: space-around;padding-top: 40px;padding-bottom: 40px;">
+                                <div class="progress_out" v-for="item, index in echarts_name_list">
+                                    <span class="progress_out_name" style="width:150px">
+                                        {{ item.name }}
+                                    </span>
 
+                                    <el-progress :percentage="echarts_data_list[index]" style="width:100%"
+                                        :stroke-width="18" :show-text='false'
+                                        color="linear-gradient(to right,#FF4E00 ,#ffffff)" />
+                                    <span class="progress_out_score">{{ echarts_data_list[index] }}<span
+                                            style="color:#000000;font-size: 12px;opacity: 0.4;">/100</span></span>
+                                </div>
 
-                        </div>
-                    </div>
 
-                    <div v-for="item in 4" style="padding-top:60px">
-                        <div class="des_zhishu">阳光指数</div>
-                        <div class="report_des_out">
-                            <div class="score">分数:30.00</div>
-                            <div class="score">分析报告:</div>
-                            <div class="des">就像一颗刚破土的嫩芽,满载着成长的无限可能。每一次挑战都是阳光雨露,滋养着你向上生长。保持乐观,加把劲,未来的天空因你而更加绚烂!</div>
+                            </div>
                         </div>
-                    </div>
 
-                    <div class="start_button_out">
-                        <div @click="backFun" class="start_button_self">返回</div>
-                    </div>
+                        <div v-for="item, index in echarts_name_list" style="padding-top:60px">
+                            <div class="des_zhishu">{{ item.name }}</div>
+                            <div class="report_des_out">
+                                <div class="score">分数:{{ echarts_data_list[index] }}</div>
+                                <div class="score">分析报告:</div>
+                                <div class="des">{{ echarts_des_list[index] }}</div>
+                            </div>
+                        </div>
 
+                        <div class="start_button_out">
+                            <div @click="backFun" class="start_button_self">返回</div>
+                        </div>
 
+                    </div>
                 </div>
 
             </div>
@@ -339,6 +419,7 @@ onUnmounted(() => {
                         color: #FF1E00;
                         font-weight: 600;
                         margin-right: 5px;
+                        margin-left: 15px;
 
                     }
                 }

+ 1 - 1
src/views/ScaleMid.vue

@@ -92,7 +92,7 @@ const nextTask = () => {
 
         //
         router.push({
-            name: 'report', params: { id: 'xx1000xx' }
+            name: 'report', params: { planId: planId.value, goFlag: '0' }
         })
     }
 

+ 190 - 152
src/views/TestRecord.vue

@@ -3,26 +3,94 @@ import CpmdHeader from '@/components/CpmdHeader.vue';
 import { onMounted, onUnmounted, ref } from 'vue'
 
 //持久化设置 菜单状态
-import { menuStatusStore } from '@/stores'
+import { menuStatusStore, userInfoStore } from '@/stores'
 // import router from '@/router';
 import { useRouter } from 'vue-router';
+import { getDataApi } from '@/api/plan';
 const router = useRouter()
 const menuStatus = menuStatusStore();
 menuStatus.saveActiveIndex('5')
+const userInfo = userInfoStore()
+//分页设计
+//当前页
+//是哪一页
+const pageNum = ref<number>(1)
+//一页显示多少条
+const pageSize = ref<number>(5)
+//数据总共多少条
+const totol = ref<number>(0)
+
+//显示是否是在加载中
+const isLoading = ref<boolean>(false)
+//是否显示noMore
+const noMore = ref<boolean>(false)
+//页面返回的数据
+const list = ref<any>([])
+
+//获取数据报
+const getData = async () => {
+    //判断总条数是否大于当前页面的数据
+    console.log(totol.value == list.value.length)
+    //先判断
+    if (totol.value == list.value.length) {
+        //显示noMore
+        if (totol.value == 0) {
+            noMore.value = true;
+        } else {
+            noMore.value = false;
+        }
+
+        return
+    }
 
+    //先是加载中的话就不加载了
+    if (isLoading.value) {
+        return
+    }
+    isLoading.value = true;
+    //参数构造
+    pageNum.value++
+    //到这里就可以显示加载中
+    let res = await initData()
+    isLoading.value = false;
+
+}
+
+const initData = async () => {
+    let params = {
+        pageNum: pageNum.value,
+        pageSize: pageSize.value,
+        userNo: userInfo.userInfo.userNo
+    }
+    let res: any = await getDataApi(params)
+    if (res.code == 200) {
+        // list.value.push(...res.data)
+        if (res.data.content.length > 0) {
+            list.value.push(...res.data.content)
+            totol.value = res.data.totalElements
+        } else {
+            list.value = []
+            totol.value = 0
+            // totalElements
+        }
+    }
+}
 
+//先判断总条数是否等于 当前页面的参数
+//如果等于的话--显示nomore
+//如果总条数大于 当前页面的总条数就显示loading
 
 
 //刚进入页面就将高度设置为页面需要的
 onMounted(() => {
-
+    initData()
     //进到界面开始轮询
 })
 //界面销毁函数
 
 //跳转页面切换页面
-const viewReport = () => {
-    router.push({ name: 'report', params: { id: 'xx1000xx' } })
+const viewReport = (planId: string) => {
+    router.push({ name: 'report', params: { planId: planId, goFlag: '1' } })
 }
 
 //轮旋切换页面的方法
@@ -47,79 +115,41 @@ onUnmounted(() => {
         </div>
         <div class="kply">
             <div class="kply_inner">
+                <!--  -->
                 <div style="padding: 20px 40px;">
-
-                    <!-- 测试记录列表 -->
-                    <div>
-                        <div class="test_record">
-                            <img src="../assets/kepu/task_1.png" />
-                            <span>科技学院普查计划</span>
-                        </div>
-                        <div class="test_time">
-                            <span>测试时间:2024/07/23 20:05:24~2024/07/28 20:05:24:</span>
-                            <div @click="viewReport">查看报告</div>
-                        </div>
-                        <div class="record_out">
-                            <div class="record_score">
-                                <span>得&nbsp;&nbsp;&nbsp;&nbsp;分:</span>
-                                <span>32.00</span>
-                            </div>
-
-                            <div class="record_result">
-                                <span>结&nbsp;&nbsp;&nbsp;&nbsp;论:</span>
-                                <span>潜力无限,未来因挑战而更加精彩。你有着巨大的成长空间,只要勇于面
-                                    对挑战,不断努力,你的人生必将绽放出璀璨的光芒。</span>
-                            </div>
-
-                        </div>
+                    <div style="padding:10% 20%" v-show="list.length == 0">
+                        <img width="100%" src="../assets/planNo.png">
                     </div>
-                    <div>
-                        <div class="test_record">
-                            <img src="../assets/kepu/task_1.png" />
-                            <span>科技学院普查计划</span>
-                        </div>
-                        <div class="test_time">
-                            <span>测试时间:2024/07/23 20:05:24~2024/07/28 20:05:24:</span>
-                            <div>查看报告</div>
-                        </div>
-                        <div class="record_out">
-                            <div class="record_score">
-                                <span>得&nbsp;&nbsp;&nbsp;&nbsp;分:</span>
-                                <span>32.00</span>
+                    <div class="infinite-list-wrapper" style="overflow: auto" v-infinite-scroll="getData">
+                        <div v-for="item in list">
+                            <div class="test_record">
+                                <img src="../assets/kepu/task_1.png" />
+                                <span>{{ item.planName }}</span>
                             </div>
-
-                            <div class="record_result">
-                                <span>结&nbsp;&nbsp;&nbsp;&nbsp;论:</span>
-                                <span>潜力无限,未来因挑战而更加精彩。你有着巨大的成长空间,只要勇于面
-                                    对挑战,不断努力,你的人生必将绽放出璀璨的光芒。</span>
-                            </div>
-
-                        </div>
-                    </div>
-                    <div>
-                        <div class="test_record">
-                            <img src="../assets/kepu/task_1.png" />
-                            <span>科技学院普查计划</span>
-                        </div>
-                        <div class="test_time">
-                            <span>测试时间:2024/07/23 20:05:24~2024/07/28 20:05:24:</span>
-                            <div>查看报告</div>
-                        </div>
-                        <div class="record_out">
-                            <div class="record_score">
-                                <span>得&nbsp;&nbsp;&nbsp;&nbsp;分:</span>
-                                <span>32.00</span>
+                            <div class="test_time">
+                                <span>测试时间:{{ item.taskStartTime }}~{{ item.taskEndTime }}</span>
+                                <div @click="viewReport(item.id)">查看报告</div>
                             </div>
+                            <div class="record_out">
+                                <div class="record_score">
+                                    <span>得&nbsp;&nbsp;&nbsp;&nbsp;分:</span>
+                                    <span>{{ item.score }}</span>
+                                </div>
+
+                                <div class="record_result">
+                                    <span>结&nbsp;&nbsp;&nbsp;&nbsp;论:</span>
+                                    <span>{{ item.briefingList[0].dimensionConclusion
+                                        }},{{ item.briefingList[0].dimensionAnalysis }}</span>
+                                </div>
 
-                            <div class="record_result">
-                                <span>结&nbsp;&nbsp;&nbsp;&nbsp;论:</span>
-                                <span>潜力无限,未来因挑战而更加精彩。你有着巨大的成长空间,只要勇于面
-                                    对挑战,不断努力,你的人生必将绽放出璀璨的光芒。</span>
                             </div>
-
                         </div>
+                        <div style="text-align: center;margin-top:20px" v-show="isLoading">努力加载中...</div>
+                        <div style="text-align: center;;margin-top:20px" v-show="noMore">没有更多了</div>
                     </div>
 
+                    <!-- 测试记录列表 -->
+
                 </div>
 
             </div>
@@ -169,38 +199,93 @@ onUnmounted(() => {
 
             background-color: #ffffff;
             border-radius: 40px;
+
             // height: 1000px;
+            .infinite-list-wrapper {
+                // max-height: 900px;
+                max-height: 500px;
+                min-height: 500px;
 
-            // margin-bottom: 60px;
-            .kepu_title {
-                display: flex;
-                flex-direction: row;
-                justify-content: space-between;
-                align-items: center;
-
-                .kepu_title_des {
-                    font-family: Alibaba PuHuiTi 2.0;
-                    font-weight: 600;
-                    font-size: 30px;
-                    color: #000000;
+                .kepu_title {
+                    display: flex;
+                    flex-direction: row;
+                    justify-content: space-between;
+                    align-items: center;
 
+                    .kepu_title_des {
+                        font-family: Alibaba PuHuiTi 2.0;
+                        font-weight: 600;
+                        font-size: 30px;
+                        color: #000000;
+
+                    }
+
+                    .home_mid_plan_button {
+                        width: 100%;
+                        display: flex;
+                        flex-direction: row;
+                        justify-content: end;
+
+                        // text-align: right;
+                        .pub_button {
+                            cursor: pointer;
+                            // width: 100px;
+                            border-radius: 12px;
+                            border: 3px solid #48D68E;
+                            color: #ffffff;
+                            background-color: #000000;
+
+                            padding: 8px 30px;
+                            cursor: pointer;
+                            display: flex;
+                            align-items: center;
+                        }
+                    }
+
+                }
+
+                .com_out {
+                    min-height: 500px;
+                    padding: 20px 20px;
+                }
+
+                .test_record {
+                    margin-top: 20px;
+                    display: flex;
+                    align-items: center;
+
+                    img {
+                        width: 70px;
+                    }
+
+                    span {
+                        margin-left: 20px;
+                        font-size: 30px;
+                        font-weight: 700;
+                        letter-spacing: 3px;
+                    }
                 }
 
-                .home_mid_plan_button {
-                    width: 100%;
+                .test_time {
                     display: flex;
                     flex-direction: row;
-                    justify-content: end;
+                    justify-content: space-between;
+                    align-items: center;
 
-                    // text-align: right;
-                    .pub_button {
+                    span {
+                        color: #000000;
+                        opacity: 0.4;
+                        font-size: 20px;
+                    }
+
+                    div {
                         cursor: pointer;
                         // width: 100px;
                         border-radius: 12px;
                         border: 3px solid #48D68E;
                         color: #ffffff;
                         background-color: #000000;
-
+                        margin-right: 20px;
                         padding: 8px 30px;
                         cursor: pointer;
                         display: flex;
@@ -208,80 +293,33 @@ onUnmounted(() => {
                     }
                 }
 
-            }
-
-            .com_out {
-                min-height: 500px;
-                padding: 20px 20px;
-            }
-
-            .test_record {
-                margin-top: 20px;
-                display: flex;
-                align-items: center;
-
-                img {
-                    width: 70px;
-                }
+                .record_out {
+                    margin-top: 30px;
+                    background-color: #F7F7F7;
 
-                span {
-                    margin-left: 20px;
-                    font-size: 30px;
-                    font-weight: 700;
-                    letter-spacing: 3px;
-                }
-            }
+                    padding: 30px 40px;
+                    border-radius: 40px;
 
-            .test_time {
-                display: flex;
-                flex-direction: row;
-                justify-content: space-between;
-                align-items: center;
+                    .record_score {
+                        color: #48D68E;
+                        margin-bottom: 15px;
+                        font-size: 26px;
+                        letter-spacing: 3px;
+                    }
 
-                span {
-                    color: #000000;
-                    opacity: 0.4;
-                    font-size: 20px;
-                }
+                    .record_result {
+                        line-height: 50px;
+                        color: #48D68E;
+                        margin-bottom: 20px;
+                        font-size: 26px;
+                        letter-spacing: 3px;
 
-                div {
-                    cursor: pointer;
-                    // width: 100px;
-                    border-radius: 12px;
-                    border: 3px solid #48D68E;
-                    color: #ffffff;
-                    background-color: #000000;
-                    margin-right: 20px;
-                    padding: 8px 30px;
-                    cursor: pointer;
-                    display: flex;
-                    align-items: center;
+                    }
                 }
             }
 
-            .record_out {
-                margin-top: 30px;
-                background-color: #F7F7F7;
-
-                padding: 30px 40px;
-                border-radius: 40px;
-
-                .record_score {
-                    color: #48D68E;
-                    margin-bottom: 15px;
-                    font-size: 26px;
-                    letter-spacing: 3px;
-                }
-
-                .record_result {
-                    line-height: 50px;
-                    color: #48D68E;
-                    margin-bottom: 20px;
-                    font-size: 26px;
-                    letter-spacing: 3px;
+            // margin-bottom: 60px;
 
-                }
-            }
         }
     }