11wqe1 hai 11 meses
pai
achega
136de8e62b
Modificáronse 1 ficheiros con 257 adicións e 234 borrados
  1. 257 234
      src/components/pages/components/exportDataDialog.vue

+ 257 - 234
src/components/pages/components/exportDataDialog.vue

@@ -31,7 +31,22 @@
             </div>
             <div>
               <span>班级:</span>
-              <div class="txt">{{ worksDialogCon2.class }}</div>
+              <div class="txt">
+                <el-select
+                  v-model="claV"
+                  @change="digNum == 0 ? downPdf() : lookPage()"
+                  placeholder="请选择"
+                >
+                  <el-option
+                    v-for="item in claOptions"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                  >
+                  </el-option>
+                </el-select>
+                <!-- {{ worksDialogCon2.class }} -->
+              </div>
             </div>
             <div>
               <span>学校:</span>
@@ -54,6 +69,7 @@
 
       <div
         class="coverPageCon"
+        v-if="claV"
         :style="{
           backgroundColor: schoolImg.bkColor ? schoolImg.bkColor : '#FFFBDC'
         }"
@@ -76,16 +92,16 @@
         </div>
 
         <div
-          style="display: flex;justify-content: space-between; height: 190px;margin-bottom: 40px"
+          style="display: flex;justify-content: space-between; height: 203px;margin-bottom: 40px"
         >
           <div style="width: 49%;height: 100%;">
             <div
               style="
                   text-align: center;
                   font-weight: 600;
-                  font-size: 14px;
+                  font-size: 16px;
                   color: rgba(0, 0, 0, 0.9);
-                  margin: 10px 0;
+                  margin: 10px 0 15px;
                   width: 100%;
                 "
             >
@@ -142,15 +158,15 @@
               style="
                   text-align: center;
                   font-weight: 600;
-                  font-size: 14px;
+                  font-size: 16px;
                   color: rgba(0, 0, 0, 0.9);
-                  margin: 10px 0;
+                  margin: 10px 0 15px;
                   width: 100%;
                 "
             >
               工具使用情况
             </div>
-            <div ref="ringChart" style="height: 200px; width: 100%"></div>
+            <div ref="ringChart" style="height: 203px; width: 100%"></div>
           </div>
         </div>
 
@@ -169,7 +185,6 @@
         <div class="zxt">
           <div style="height: 270px; width: 100%" ref="groupingEcharts"></div>
           <div class="zxtTxt" v-html="AiAnalysisCon2.zb"></div>
-
         </div>
         <!-- 师生互动次数  -->
         <div class="zxt">
@@ -178,7 +193,6 @@
             ref="interactionEcharts"
           ></div>
           <div class="zxtTxt" v-html="AiAnalysisCon2.shd"></div>
-
         </div>
         <!-- 互动次数主动  -->
         <div class="zxt">
@@ -187,7 +201,6 @@
             ref="stuInteractZdEcharts"
           ></div>
           <div class="zxtTxt" v-html="AiAnalysisCon2.sshZ"></div>
-
         </div>
         <!-- 互动次数主动  -->
         <div class="zxt">
@@ -196,15 +209,13 @@
             ref="bdStuInteractZdEcharts"
           ></div>
           <div class="zxtTxt" v-html="AiAnalysisCon2.sshB"></div>
-
         </div>
         <!-- 课程得分  -->
         <div class="zxt">
           <div style="height: 270px; width: 100%" ref="cScoEcharts"></div>
           <div class="zxtTxt" v-html="AiAnalysisCon2.ach"></div>
-
         </div>
-        <div v-if="cState == 5" style="width: 100%;">
+        <div v-if="cState == 5 && isShowSy" style="width: 100%;">
           <div
             style="font-weight: 600; font-size: 20px; color: rgba(0, 0, 0, 0.9);margin: 10px 0;"
           >
@@ -220,11 +231,11 @@
 
           <div class="suy">素养发展总览</div>
           <div
-            style="overflow-x: auto; width: 100%;background-color: #fff;border-radius: 10px;"
+            style=" width: 100%;background-color: #fff;border-radius: 10px;"
           >
             <div
               ref="jsm"
-              style="width: 100%; min-height: 700px; overflow: auto"
+              style="width: 100%; min-height: 500px;"
             ></div>
           </div>
         </div>
@@ -283,13 +294,11 @@ export default {
       // 教师id
       userid: this.$route.query.userid,
 
-      // 五边形图开始
-      chartData: [
-        [1, 2, 3, 4, 5],
-        [2, 3, 4, 3, 2]
-      ],
-      categories: ["A", "B", "C", "D", "E"],
-      // 五边形图结束
+      isShowSy: true,
+
+      // 选择班级下拉框数据
+      claV: "",
+      claOptions: [],
 
       // 环形图数据开始
       toolData: [[], [], [], [], [], [], []],
@@ -306,7 +315,6 @@ export default {
       subject: [], //课程分类
 
       classStageListPer: [], //班级数据
-      classSco: [], //分数
       stageList: [], // 阶段or任务list
       toolPercentage: [], // 每个阶段有的工具
       taskList: [], //每个阶段下有几个任务
@@ -360,12 +368,12 @@ export default {
 
       AiAnalysisCon: "", //ai数据分析
       AiAnalysisCon2: {
-        zy: "",   //作业提交
-        zb: "",   //完成方式占比
-        shd: "",  //师生互动
+        zy: "", //作业提交
+        zb: "", //完成方式占比
+        shd: "", //师生互动
         sshZ: "", //生生互动主动
         sshB: "", //生生互动被动
-        ach: "",  //任务成绩
+        ach: "", //任务成绩
         allFx: "" //学习分析
       }, //ai数据分析
       data3: [],
@@ -401,22 +409,90 @@ export default {
 
       polygonData: [],
       polygonData2: [],
-      realData:[]
-      
+      realData: [],
+      mind: null
     };
   },
   mounted() {
-    if (this.digNum == 0) {
-      this.downPdf();
-    } else if (this.digNum == 1) {
-      this.getWorks1();
-    } else {
-      this.lookPage();
-    }
+    // if (this.digNum == 0) {
+    //   this.downPdf();
+    // } else if (this.digNum == 1) {
+    //   this.getWorks1();
+    // } else {
+    //   this.lookPage();
+    // }
+    this.getClass();
+
     // this.getCourseDetail();
   },
 
   methods: {
+    getClass() {
+      let params = {
+        courseId: this.cid
+      };
+      this.ajax
+        .get(this.$store.state.api + "selectCourseDetail2", params) //getCourseWorksReport
+        .then(res => {
+          let data = res.data[3];
+          this.worksDialogCon2 = this.worksDialogCon;
+
+          console.log("selectCourseDetail2", data);
+
+          let stuCla = [];
+          if (this.digNum == 0) {
+            if ( this.multipleSelection[0].classid) {
+              stuCla = this.multipleSelection[0].classid.split(",");
+            }
+          } else if (this.digNum == 1) {
+            this.getWorks1();
+          } else {
+            if ( this.worksDialogCon.classid) {
+              stuCla = this.worksDialogCon.classid.split(",");
+            }
+          }
+
+          data.forEach(e => {
+            stuCla.forEach(k => {
+              if (e.id == k) {
+                this.claOptions.push({ value: e.id, label: e.name });
+              }
+            });
+          });
+
+          // 班级只有一个时
+          if (this.claOptions.length == 1) {
+            this.claV = this.claOptions[0].value;
+            if (this.digNum == 0) {
+              this.downPdf();
+            } else if (this.digNum == 1) {
+              this.getWorks1();
+            } else {
+              this.lookPage();
+            }
+          }else if (this.claOptions.length == 0) {// 没有班级时
+            this.claV = '——';
+
+            if (this.digNum == 0) {
+              this.downPdf();
+            } else if (this.digNum == 1) {
+              this.getWorks1();
+            } else {
+              this.lookPage();
+            }
+          } else {
+            this.$message.info("请选择班级");
+          }
+
+          
+         
+
+          console.log("this.claOptions", this.claOptions);
+        })
+        .catch(err => {
+          console.error(err);
+        });
+    },
     getTarget(data) {
       if (this.cState != 5) return;
       // 素养与分数重组后的数据
@@ -430,6 +506,17 @@ export default {
         });
       });
 
+      console.log("tar", JSON.parse(JSON.stringify(tar)));
+      let zjm = [];
+      tar.forEach((e, i) => {
+        e.forEach(k => {
+          if (k.eList) {
+            zjm.push(k);
+          }
+        });
+      });
+      if (zjm.length == 0) return (this.isShowSy = false);
+
       // 将提交的作业塞进对应的数组素养内
       let data4Copy = JSON.parse(JSON.stringify(this.data4));
       data4Copy.forEach(e => {
@@ -438,7 +525,7 @@ export default {
       tar.forEach((k, ki) => {
         data4Copy.forEach((e, ei) => {
           if (ki == e.task) {
-            k[e.tool].rate = e.tarD;
+            k[e.tool ? e.tool : 0].rate = e.tarD;
           }
         });
       });
@@ -501,7 +588,7 @@ export default {
           }
         });
         e.sco = e.children.reduce(function(pre, next, index) {
-          return pre + next;
+          return pre + next * 1;
         });
         if (e.sco) {
           e.sco = (e.sco / e.children.length).toFixed(2);
@@ -631,7 +718,10 @@ export default {
       }, 500);
     },
     createMindMap() {
-      const mind = {
+      if (this.mind) {
+        this.mind.destroy(); // 销毁旧的实例
+      }
+      this.mind = {
         meta: {
           name: "jsmind",
           author: "hizzgdev@163.com",
@@ -663,133 +753,17 @@ export default {
       // 使用 new 关键字创建 jsMind 实例
       const jm = new jsMind(options);
       // 调用 show 方法显示思维导图
-      jm.show(mind);
+      jm.show(this.mind);
+
+        // 计算缩放比例并将思维导图缩放到合适大小
+      // const containerRect = this.$refs.jsm.getBoundingClientRect()
+      // const scale = Math.min(containerRect.width / jm.view.size.w, containerRect.height / jm.view.size.h)
+      // console.log('scale',scale);
+      
+      // // 设置缩放比例
+      // jm.view.setZoom(3)
     },
-    // ai评价分析
-    // async getAiAnalysisCon() {
-    //   // 师生在线互动次数
-    //   let tea = 0;
-    //   this.interactWork.forEach(e => {
-    //     tea += e.length;
-    //   });
-
-    //   let cla = 0;
-    //   this.classSco.forEach(e => {
-    //     cla += e * 1;
-    //   });
-
-    //   let cla2 = "";
-    //   this.classSco.forEach((e, index) => {
-    //     cla2 += `${this.cState == 1 ? "阶段" : "任务"}${index + 1}:${e}分,`;
-    //   });
-
-    //   let repeatWork = this.newArrFn(this.data3);
-
-    //   let toolSy = "";
-    //   this.stageListPer.forEach((e, index) => {
-    //     toolSy += `${this.cState == 1 ? "阶段" : "任务"}${index + 1}:${e},`;
-    //   });
-
-    //   let toolSy2 = "";
-    //   this.classStageListPer.forEach((e, index) => {
-    //     toolSy2 += `${this.cState == 1 ? "阶段" : "任务"}${index + 1}:${e},`;
-    //   });
-
-    //   let xieZuo = 0;
-    //   // 协作占比
-    //   if (
-    //     repeatWork.filter(item => item.type === 11).length == 0 ||
-    //     repeatWork.length == 0
-    //   ) {
-    //     xieZuo = 0;
-    //   } else {
-    //     xieZuo =
-    //       repeatWork.filter(item => item.type === 11).length /
-    //       repeatWork.length;
-    //   }
-
-    //   let duLi = 1 - xieZuo;
-
-    //   let int = [];
-    //   this.interactWork.forEach((e, index) => {
-    //     int[index] = e.length;
-    //   });
-    //   let intnum = 0;
-    //   int.forEach(e => {
-    //     intnum += e * 1;
-    //   });
-
-    //   // 任务的分
-    //   let renwu = "";
-    //   this.scoFoldLineData.forEach((e, index) => {
-    //     renwu += `${this.cState == 1 ? "阶段" : "任务"}${index + 1}:${e}分,`;
-    //   });
-
-    //   let messages = `Language: Please use the same language as the user requirement, if the user speaks Chinese, the specific text of your answer should also be in Chinese.
-
-    //     ##上下文##
-    //     学生进行了线上平台和线下授课相结合的混合式学习,线上平台会记录学生的学习行为,并对数据进行简单的分析。
-
-    //     ##目标##
-    //     你是一个学生学习行为分析专家,你要根据线上学习平台的数据分析,在学习状态、学习效果、学习动力、学习积极性等方面评估学生,评估后生成学生学习画像和学习建议。你可以自行扩充评估的角度,实现相对全面的评估。
-
-    //     ##风格##
-    //     专业的
-
-    //     ##语气##
-    //     陈述
-
-    //     ##受众##
-    //     教师和教育管理者
-
-    //     下面是线上平台的<<数据分析>>
-
-        
-
-    //     <<该课程学习过程中,学生登录时长共${this.loginTime},学习时长共${
-    //     this.studyTime
-    //   },使用平台工具${this.data3.length}次。
-    //     学生进行了${this.subject.join(",")}的学习与实践。
-    //     学生课程得分为${this.star}/5.0。
-    //     在课程的每个阶段,学生作业提交率${toolSy},班级平均值 ${toolSy2},
-    //     师生在线互动次数${intnum},班级平均值 ${cla},
-    //     生生在线互动次数${this.bdStuInterAllLike.length +
-    //       this.stuInterAllLike.length},班级平均值 ${cla},
-    //     协作完成的任务占总任务数量的${xieZuo},独立完成的任务占${duLi},
-    //     学生阶段任务得分${renwu},班级平均值${cla2}。>>
-    //   `;
-    //   // this.aiGet2(msg)
-    //   let params = {
-    //     assistant_id: "b19f1a1a-7586-11ef-8ce0-12e77c4cb76b",
-    //     message: [
-    //       {
-    //         type: "text",
-    //         text: messages.replaceAll("\n", " ").replaceAll("*", "")
-    //       }
-    //     ],
-    //     session_name: uuidv4(),
-    //     userId: this.userid,
-    //     file_ids: "",
-    //     model: "gpt-4o-2024-08-06"
-    //   };
-    //   return new Promise((resolve, reject) => {
-    //     this.ajax
-    //       .post("https://gpt4.cocorobo.cn/ai_agent_park_chat", params)
-    //       .then(response => {
-    //         let data = response.data.FunctionResponse;
-    //         let md = new MarkdownIt();
-    //         this.AiAnalysisCon = md.render(data.message);
-    //         console.log("data", data);
-    //         this.uploadData();
-
-    //         return resolve();
-    //       })
-    //       .catch(error => {
-    //         console.log(error);
-    //         return resolve();
-    //       });
-    //   });
-    // },
+
     async AIPdfComment(txt, dataVal) {
       console.log(txt, dataVal);
       let messages = `Language: Please use the same language as the user requirement, if the user speaks Chinese, the specific text of your answer should also be in Chinese.
@@ -925,7 +899,7 @@ export default {
       });
 
       console.log("realData", realData);
-      this.realData = realData
+      this.realData = realData;
 
       let forAllList = [];
 
@@ -937,42 +911,40 @@ export default {
         .then(values => {
           // console.log("values", values);
           console.log(" this.AiAnalysisCon2", this.AiAnalysisCon2);
-          this.updateFx()
+          this.updateFx();
         })
         .catch(reason => {
           console.error("reason", reason);
         });
     },
-    updateFx(){
-
-      let txtDesc = '' //图标描述
-      this.realData.forEach(e=>{
-        if (e.nam == 'zy') {
-          txtDesc+= `作业提交:个人数据:${e.per},班级数据:${e.cla}`
+    updateFx() {
+      let txtDesc = ""; //图标描述
+      this.realData.forEach(e => {
+        if (e.nam == "zy") {
+          txtDesc += `作业提交:个人数据:${e.per},班级数据:${e.cla}`;
         }
-        if (e.nam == 'zb') {
-          txtDesc+= `完成作业占比方式:个人数据:${e.per},班级数据:${e.cla}`
+        if (e.nam == "zb") {
+          txtDesc += `完成作业占比方式:个人数据:${e.per},班级数据:${e.cla}`;
         }
-        if (e.nam == 'shd') {
-          txtDesc+= `师生互动:个人数据:${e.per},班级数据:${e.cla}`
+        if (e.nam == "shd") {
+          txtDesc += `师生互动:个人数据:${e.per},班级数据:${e.cla}`;
         }
-        if (e.nam == 'sshZ') {
-          txtDesc+= `生生互动(主动):个人数据:${e.per},班级数据:${e.cla}`
+        if (e.nam == "sshZ") {
+          txtDesc += `生生互动(主动):个人数据:${e.per},班级数据:${e.cla}`;
         }
-        if (e.nam == 'sshB') {
-          txtDesc+= `生生互动(被动):个人数据:${e.per},班级数据:${e.cla}`
+        if (e.nam == "sshB") {
+          txtDesc += `生生互动(被动):个人数据:${e.per},班级数据:${e.cla}`;
         }
-        if (e.nam == 'ach') {
-          txtDesc+= `任务成绩:个人数据:${e.per},班级数据:${e.cla}`
+        if (e.nam == "ach") {
+          txtDesc += `任务成绩:个人数据:${e.per},班级数据:${e.cla}`;
         }
-      })
+      });
 
-      let qual = ''
+      let qual = "";
       for (let i = 0; i < this.polygonData.length; i++) {
-        qual += `${this.polygonData[i].topic}:${this.polygonData2[i]} `
+        qual += `${this.polygonData[i].topic}:${this.polygonData2[i]} `;
       }
 
-
       let messages = `Language: Please use the same language as the user requirement, if the user speaks Chinese, the specific text of your answer should also be in Chinese.
 
       #上下文#
@@ -995,12 +967,14 @@ export default {
       <师生互动分析:${this.AiAnalysisCon2.shd}>
       <生生互动(主动)分析:${this.AiAnalysisCon2.sshZ}>
       <生生互动(被动)分析:${this.AiAnalysisCon2.sshB}>
-      <${this.cState == 1 ? "阶段" : "任务"}成绩分析:${this.AiAnalysisCon2.ach}>
+      <${this.cState == 1 ? "阶段" : "任务"}成绩分析:${
+        this.AiAnalysisCon2.ach
+      }>
 
       <登录时长:${this.loginTime}>
       <学习时长:${this.studyTime}>
       <课程得分:${this.star}/5.0>
-      <学科:${this.subject.join(',')}>
+      <学科:${this.subject.join(",")}>
 
       #风格#
       专业的
@@ -1050,8 +1024,7 @@ export default {
       6.学习策略优化:尝试不同的学习方法,如主动学习、可视化学习等,找到最适合自己的学习策略。 
         `;
 
-
-        let params = {
+      let params = {
         assistant_id: "b19f1a1a-7586-11ef-8ce0-12e77c4cb76b",
         message: [
           {
@@ -1064,22 +1037,19 @@ export default {
         file_ids: "",
         model: "gpt-4o-2024-08-06"
       };
-        this.ajax
-          .post("https://gpt4.cocorobo.cn/ai_agent_park_chat", params)
-          .then(response => {
-            let data = response.data.FunctionResponse;
-            let md = new MarkdownIt();
-            this.AiAnalysisCon2.allFx = md.render(data.message);
-            this.loading = false;
-
-            this.uploadData()
-          })
-          .catch(error => {
-            console.log(error);
-          });
-
-
+      this.ajax
+        .post("https://gpt4.cocorobo.cn/ai_agent_park_chat", params)
+        .then(response => {
+          let data = response.data.FunctionResponse;
+          let md = new MarkdownIt();
+          this.AiAnalysisCon2.allFx = md.render(data.message);
+          this.loading = false;
 
+          this.uploadData();
+        })
+        .catch(error => {
+          console.log(error);
+        });
     },
     async uploadData() {
       let params = [
@@ -1103,17 +1073,15 @@ export default {
     // 查看pdf报告
     async lookPage() {
       this.loading = true;
-      this.worksDialogCon2 = this.worksDialogCon;
+
       await this.getData();
       if (this.data10 && this.data10.length) {
         let Asd = this.data10[0].jsonTxt;
         this.AiAnalysisCon2 = JSON.parse(Asd);
         this.loading = false;
-
       } else {
         // await this.getAiAnalysisCon();
         await this.getAiAnalysisCon2();
-
       }
     },
     // 下载单个文件
@@ -1217,15 +1185,6 @@ export default {
       for (let i = 0; i < this.tableData.length; i++) {
         this.loading = true;
 
-        this.toolRatio = [
-          { name: "互动类", value: 0 },
-          { name: "思维类", value: 0 },
-          { name: "协作类", value: 0 },
-          { name: "测评类", value: 0 },
-          { name: "评价类", value: 0 },
-          { name: "编程类", value: 0 },
-          { name: "学科类", value: 0 }
-        ];
         this.uid2 = this.tableData[i].userid;
         this.worksDialogCon2 = this.tableData[i];
         await this.getData();
@@ -1289,10 +1248,35 @@ export default {
     },
     async getData() {
       this.subject = [];
+      this.toolRatio = [
+        { name: "互动类", value: 0 },
+        { name: "思维类", value: 0 },
+        { name: "协作类", value: 0 },
+        { name: "测评类", value: 0 },
+        { name: "评价类", value: 0 },
+        { name: "编程类", value: 0 },
+        { name: "学科类", value: 0 }
+      ];
+      this.stageList = [];
+      this.toolPercentage = []; // 每个任务有的工具
+      this.stageListPer = []; // 作业提交率基础数据折线图
+      this.classStageListPer = [];
+
+      // 课程阶段下互动数据工具
+      this.interact = [];
+
+      this.interactWork = []; //每个工具下提交的作业
+
+      this.stuInterAllWork = []; // 生生互动阶段作业分类
+      this.stuInterAllLike = []; // 生生互动阶段点赞评论分类
+
+      this.bdStuInterAllWork = []; // 生生互动阶段被动作业分类
+      this.bdStuInterAllLike = []; // 生生互动阶段被动点赞评论分类
+
       let params = {
         cid: this.cid,
         uid: this.worksDialogCon2.userid,
-        cla: this.worksDialogCon2.classid
+        cla: this.claV
       };
       return new Promise((resolve, reject) => {
         this.ajax
@@ -1380,7 +1364,6 @@ export default {
           this.stageListPer.push(0); // 作业提交率基础数据折线图
           this.classStageListPer.push(0);
 
-          this.classSco.push(3);
           // 课程阶段下互动数据工具
           this.interact[iInd] = [];
 
@@ -1483,7 +1466,6 @@ export default {
 
         this.classStageListPer.push(0);
 
-        this.classSco.push(0);
         // 课程阶段下互动数据工具
         this.interact[eInd] = [];
         //每个工具下提交的作业
@@ -1633,7 +1615,11 @@ export default {
         });
       });
       this.claAtuInterAllLike = this.claAtuInterAllLike.map(e => {
-        return (e / this.data12[0].num).toFixed(1);
+        if (e == 0) {
+          return 0;
+        } else {
+          return (e / this.data12[0].num).toFixed(1);
+        }
       });
     },
     // 师生互动数据 阶段模式
@@ -1660,7 +1646,11 @@ export default {
       });
 
       let arr = hd.map(e => {
-        return (e / this.data12[0].num).toFixed(1);
+        if (e == 0) {
+          return 0;
+        } else {
+          return (e / this.data12[0].num).toFixed(1);
+        }
       });
 
       this.claInteractWork = arr;
@@ -1756,7 +1746,11 @@ export default {
       });
 
       this.claScoFoldLineData = scoList.map(e => {
-        return (e / this.data12[0].num).toFixed(2);
+        if (e == 0) {
+          return 0;
+        } else {
+          return (e / this.data12[0].num).toFixed(2);
+        }
       });
     },
 
@@ -1936,7 +1930,11 @@ export default {
       });
 
       this.claScoFoldLineData = scoList.map(e => {
-        return (e / this.data12[0].num).toFixed(2);
+        if (e == 0) {
+          return 0;
+        } else {
+          return (e / this.data12[0].num).toFixed(2);
+        }
       });
     },
 
@@ -1964,7 +1962,11 @@ export default {
       });
 
       let arr = hd.map(e => {
-        return (e / this.data12[0].num).toFixed(1);
+        if (e == 0) {
+          return 0;
+        } else {
+          return (e / this.data12[0].num).toFixed(1);
+        }
       });
       // console.log("arr", arr);
 
@@ -2011,7 +2013,11 @@ export default {
         });
       });
       this.claAtuInterAllLike = this.claAtuInterAllLike.map(e => {
-        return (e / this.data12[0].num).toFixed(1);
+        if (e == 0) {
+          return 0;
+        } else {
+          return (e / this.data12[0].num).toFixed(1);
+        }
       });
     },
     // 生生互动被动
@@ -2044,6 +2050,10 @@ export default {
             max: 5
           }))
         },
+        tooltip: {
+          trigger: "axis"
+          // formatter: "{b} : {c}"
+        },
         radius: "80%",
         nameGap: 5,
         series: [
@@ -2698,12 +2708,12 @@ export default {
 }
 .coverPageLogo {
   padding: 40px;
-  height: 135px;
+  height: 120px;
   width: 100%;
   display: flex;
   justify-content: flex-end;
   box-sizing: border-box;
-  margin-bottom: 30px;
+  margin-bottom: 45px;
 }
 .coverPageFrom {
   display: flex;
@@ -2724,7 +2734,7 @@ export default {
   padding: 40px 32px;
   width: 75%;
   font-family: PingFang SC;
-  margin: 40px 0;
+  margin: 40px 0 8px;
   color: rgba(35, 99, 205, 1);
 }
 .fromCss > div {
@@ -2746,6 +2756,19 @@ export default {
   border-bottom: 1px solid rgba(192, 210, 229, 1);
   text-align: center;
   color: #000;
+  height: 30px;
+}
+.txt >>> .el-select {
+  width: 100%;
+}
+.txt >>> .el-input__icon {
+  line-height: 0;
+}
+.txt >>> .el-input--suffix .el-input__inner {
+  text-align: center;
+  color: #000;
+  height: 100%;
+  border: none;
 }
 .coverPageCon {
   background-color: #e3edfe;
@@ -2759,7 +2782,7 @@ export default {
 .zhBlock {
   width: 48%;
   height: 42%;
-  padding: 10px 8px;
+  padding: 9px 12px;
   box-sizing: border-box;
   background-color: rgba(255, 255, 255, 1);
   border-radius: 8px;
@@ -2773,7 +2796,7 @@ export default {
   color: rgba(0, 0, 0, 0.6);
   display: flex;
   align-items: center;
-  margin-bottom: 6px;
+  margin-bottom: 10px;
 }
 .zhBlockCon {
   flex: 1;
@@ -2804,12 +2827,12 @@ export default {
   flex: 1;
 }
 .zhBlockCon2 > div > span {
-  font-size: 8px;
+  font-size: 9px;
   font-weight: 400;
   color: rgba(0, 0, 0, 0.9);
   background-color: rgba(243, 247, 253, 1);
   border-radius: 2px;
-  padding: 0px 4px;
+  padding: 0px 8px;
   height: 15px;
   line-height: 15px;
   box-sizing: border-box;