11wqe1 пре 1 година
родитељ
комит
28341999e9

+ 151 - 79
src/components/pages/test/examine/conpoments/personPage.vue

@@ -14,11 +14,11 @@
           width="180"
         >
         </el-table-column>
-        <el-table-column align="center" label="提交情况">
+        <!-- <el-table-column align="center" label="提交情况">
           <template slot-scope="scope">
             <div>是</div>
           </template>
-        </el-table-column>
+        </el-table-column> -->
         <el-table-column align="center" label="考核进度">
           <template slot-scope="scope">
             <div>{{ scope.row.step }}/{{ scope.row.allStep }}</div>
@@ -34,6 +34,16 @@
           </template>
         </el-table-column>
       </el-table>
+
+      <el-pagination
+        @current-change="handleCurrentChange"
+        :page-size="20"
+        background
+        :current-page="page"
+        layout="prev, pager, next"
+        :total="total"
+      >
+      </el-pagination>
     </div>
     <!-- 点击评分 -->
     <el-dialog
@@ -43,9 +53,8 @@
       width="95%"
       :before-close="handleClose"
       class="dialog_diy"
-      v-loading="digLoading"
     >
-      <div class="testPersonExamine" >
+      <div v-loading="digLoading" class="testPersonExamine">
         <div class="testTit">
           <div class="teaLis">
             <div
@@ -85,7 +94,7 @@
             </div>
           </div>
           <div
-            style="width: 650px;display: flex;justify-content: space-between;"
+            style="width: 650px;display: flex;justify-content: space-between;margin-left: 6px;"
           >
             <div style="display: flex;">
               <span>教研室:</span
@@ -107,7 +116,7 @@
             <div>考核分数:{{ computedSco }}</div>
           </div>
         </div>
-        <div>
+        <div style="height:100%;overflow: hidden;padding-bottom: 80px;">
           <div class="sBox_table">
             <div class="table_title">
               <div style="width: 150px;">一级指标</div>
@@ -121,56 +130,62 @@
               <div style="flex: 1;">认定概述</div>
             </div>
             <div
-              class="table_Content"
-              v-for="item in PageBaseData"
-              :key="item.id"
+              style="height: 100%;overflow: auto;overflow-x: hidden;border-left: 1px #ccc solid;"
             >
-              <div class="twoCol">
-                <div class="ColTit">{{ item.name }}</div>
-                <div class="ColCon">
-                  <div class="twoCon" v-for="k in item.children" :key="k.id">
-                    <div>{{ k.name }}</div>
-                    <div style="padding: 10px;box-sizing: border-box;">
-                      {{ k.evaMethod }}
-                    </div>
-                    <div>{{ k.score }}</div>
-                    <div>
-                      {{ k.sco1 }}
-                    </div>
-                    <div>
-                      <div class="tArea">
-                        {{ k.selfSummary }}
+              <div
+                class="table_Content"
+                v-for="item in PageBaseData"
+                :key="item.id"
+              >
+                <div class="twoCol">
+                  <div class="ColTit">{{ item.name }}</div>
+                  <div class="ColCon">
+                    <div class="twoCon" v-for="k in item.children" :key="k.id">
+                      <div>{{ k.name }}</div>
+                      <div style="padding: 10px;box-sizing: border-box;">
+                        {{ k.evaMethod }}
                       </div>
-                    </div>
-                    <div>
-                      <div v-if="!k.testid.test.length">/</div>
-                      <div v-else style="padding-top: 10px;">
-                        <!-- {{ reverseString(k.testid.test) }} -->
-                        <div
-                          v-for="(item2, index) in k.testid.test"
-                          :key="item2.courseId"
-                          class="orgData"
-                        >
-                          <div @click="lookPrize(item2.courseId)">
-                            {{ item2.title }}:{{ item2.num }}份
+                      <div>{{ k.score }}</div>
+                      <div>
+                        {{ k.sco1 }}
+                      </div>
+                      <div>
+                        <div class="tArea">
+                          {{ k.selfSummary }}
+                        </div>
+                      </div>
+                      <div>
+                        <div v-if="!k.testid.test.length">/</div>
+                        <div v-else style="padding-top: 10px;">
+                          <!-- {{ reverseString(k.testid.test) }} -->
+                          <div
+                            v-for="(item2, index) in k.testid.test"
+                            :key="item2.courseId"
+                            class="orgData"
+                          >
+                            <div @click="lookUserPrize(item2.courseId)">
+                              {{ item2.title }}:{{ item2.num }}份
+                            </div>
                           </div>
                         </div>
                       </div>
-                    </div>
-                    <div style="display: flex;justify-content: center;">
-                      <div class="ScoreStep">
-                        <input
-                          @blur="
-                            saveTab(k.sco2 > k.score ? (k.sco2 = k.score) : '')
-                          "
-                          type="number"
-                          v-model="k.sco2"
-                        />
-                        <!-- @blur="Submit(scope.row)" -->
+                      <div style="display: flex;justify-content: center;">
+                        <div class="ScoreStep">
+                          <input
+                            @blur="
+                              saveTab(
+                                k.sco2 > k.score ? (k.sco2 = k.score) : ''
+                              )
+                            "
+                            type="number"
+                            v-model="k.sco2"
+                          />
+                          <!-- @blur="Submit(scope.row)" -->
+                        </div>
+                      </div>
+                      <div style="display: flex;justify-content: center;">
+                        <textarea @blur="saveTab()" v-model.trim="k.cogSum" />
                       </div>
-                    </div>
-                    <div style="display: flex;justify-content: center;">
-                      <textarea @blur="saveTab()" v-model.trim="k.cogSum" />
                     </div>
                   </div>
                 </div>
@@ -180,6 +195,26 @@
         </div>
       </div>
     </el-dialog>
+
+    <el-dialog
+      title=""
+      :visible.sync="diaIframe"
+      :append-to-body="true"
+      width="95%"
+      :before-close="handleClose"
+      class="dialog_diy"
+    >
+      <div style="height: 100%;">
+        <iframe
+          ref="viframe"
+          style="width: 100%; height: 99%; border: none"
+          :src="ifmUrl"
+        ></iframe>
+      </div>
+      <!-- <span slot="footer" class="dialog-footer">
+        <el-button @click="diaIframe = false">关 闭</el-button>
+      </span> -->
+    </el-dialog>
   </div>
 </template>
 
@@ -197,6 +232,8 @@ export default {
     return {
       digType: 2,
       diaSco: false,
+      diaIframe: false,
+      ifmUrl: false,
       PageBaseData: [],
       digUserid: "", //用户id
       digOid: "", //学校id
@@ -205,6 +242,8 @@ export default {
       cutTeaNum: 0, //第几位教师
       disTeaClass: "", //教研室
       digLoading: false,
+      total: 0,
+      page: 1,
       DigSelfSco: 0,
       digUsername: "",
       twoTarget: 0,
@@ -220,6 +259,7 @@ export default {
   },
   watch: {
     pType(newVal, oldVal) {
+      this.page = 1;
       this.getData();
     },
     digType(newVal, oldVal) {
@@ -242,6 +282,7 @@ export default {
               }
             });
           });
+          this.computedScoData = this.computedScoData.toFixed(2);
         }
         return this.computedScoData; // 返回累加结果
       };
@@ -275,6 +316,25 @@ export default {
     this.getData();
   },
   methods: {
+    // 点击评分
+    lookScore(val) {
+      this.digLoading = true;
+      // console.log("valvalvalval", val);
+      // 重置自评分,二级指标个数
+      this.DigSelfSco = 0;
+      this.twoTarget = 0;
+
+      this.digType = this.pType;
+
+      this.digTid = val.id;
+      this.diaSco = true;
+      this.digUserid = val.userid;
+      this.digOid = val.organizeid;
+      this.digOrg = val.org;
+      this.disTeaClass = val.tea;
+      this.cutPerson();
+      this.getPageBase();
+    },
     saveTab() {
       let PageBaseDataCopy = JSON.parse(JSON.stringify(this.PageBaseData));
 
@@ -304,6 +364,20 @@ export default {
           console.log(error);
         });
     },
+    handleCurrentChange(val) {
+      console.log(`当前页: ${val}`);
+      this.page = val;
+      this.getData();
+    },
+    // 查看数据来源
+    lookUserPrize(cid) {
+      // return console.log(val);
+      // this.ifmUrl = `https://beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/checkToTest?cid=${val}&oid=${this.oid}&org=${this.org}&type=2&role=0&peopleId=${this.userid}`;
+
+      this.ifmUrl = `https://beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/checkToTest?cid=${cid}&oid=${this.digOid}&org=${this.digOrg}&type=2&role=0&peopleId=${this.digUserid}`;
+      // this.ifmUrl = `https://beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/test?userid=${this.userid}&oid=45facc0a-1211-11ec-80ad-005056b86db5&org=&role=0`;
+      this.diaIframe = true;
+    },
     // 切换专任,班主任
     cutPage(e) {
       this.digType = e;
@@ -338,7 +412,7 @@ export default {
             e.json.forEach(i => {
               i.children.forEach(k => {
                 e.evaSca = e.evaSca + k.sco1 * 1;
-                e.cogSco = e.evaSca + k.sco2 * 1;
+                e.cogSco = e.cogSco + k.sco2 * 1;
                 e.allStep++;
                 if (!!k.sco2 * 1) {
                   e.step++;
@@ -348,6 +422,7 @@ export default {
           });
 
           this.tableData = data;
+          // 这一步是为了获取弹窗表单第一个人
           if (this.tableData.length > 0) {
             this.DigSelfSco = 0;
             this.twoTarget = 0;
@@ -386,13 +461,15 @@ export default {
       let params = {
         oid: this.oid,
         org: this.org,
-        type: this.pType
+        type: this.pType,
+        page: this.page
       };
       // console.log(params);
       this.ajax
-        .get(this.$store.state.api + "selectTestExamineSecondData", params)
+        .get(this.$store.state.api + "selectTestExaminePersonData", params)
         .then(res => {
           let data = res.data[0];
+          this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
 
           data.forEach(e => {
             e.json = JSON.parse(e.json);
@@ -408,7 +485,7 @@ export default {
             e.json.forEach(i => {
               i.children.forEach(k => {
                 e.evaSca = e.evaSca + k.sco1 * 1;
-                e.cogSco = e.evaSca + k.sco2 * 1;
+                e.cogSco = e.cogSco + k.sco2 * 1;
                 e.allStep++;
                 if (!!k.sco2 * 1) {
                   e.step++;
@@ -417,6 +494,10 @@ export default {
             });
           });
 
+          data.forEach(e => {
+            e.evaSca = e.evaSca.toFixed(2);
+            e.cogSco = e.cogSco.toFixed(2);
+          });
           this.tableData = data;
           console.log("this.tableData", this.tableData);
         })
@@ -479,6 +560,7 @@ export default {
           this.twoTarget++;
         });
       });
+      this.DigSelfSco = this.DigSelfSco.toFixed(2);
     },
     // 获取页面基础ui信息
     getPageBase() {
@@ -568,26 +650,6 @@ export default {
           this.digUsername = e.username;
         }
       });
-    },
-
-    // 点击评分
-    lookScore(val) {
-      this.digLoading = true;
-      // console.log("valvalvalval", val);
-      // 重置自评分,二级指标个数
-      this.DigSelfSco = 0;
-      this.twoTarget = 0;
-
-      this.digType = this.pType;
-
-      this.digTid = val.id;
-      this.diaSco = true;
-      this.digUserid = val.userid;
-      this.digOid = val.organizeid;
-      this.digOrg = val.org;
-      this.disTeaClass = val.tea;
-      this.cutPerson();
-      this.getPageBase();
     }
   }
 };
@@ -663,7 +725,8 @@ export default {
   text-align: center;
   box-sizing: border-box;
   border-radius: 4px;
-  border: 1px solid #dcdfe6 !important;
+  border: none !important;
+  /* border: 1px solid #dcdfe6 !important; */
 }
 
 .ScoreStep >>> .el-input-number {
@@ -679,11 +742,12 @@ export default {
 }
 .testPersonExamine {
   width: 100%;
-  overflow: auto;
   min-width: calc(50px * 10);
   height: 100%;
   padding: 10px;
-  overflow: auto;
+  display: flex;
+  flex-direction: column;
+  /* overflow: auto; */
   box-sizing: border-box;
   background-color: #fff;
 }
@@ -698,6 +762,7 @@ export default {
 .testPersonExamine > .testTit {
   height: 100px;
   display: flex;
+  padding: 15px 0;
   justify-content: space-between;
   align-items: center;
 }
@@ -725,13 +790,14 @@ export default {
 .sBox_table {
   width: 100%;
   min-width: 1500px;
+  height: 100%;
   margin: 0 auto;
   /* min-width: 1520px; */
   font-size: 14px;
 }
 
 .table_title {
-  width: 100%;
+  width: calc(100% - 6px);
   /* min-width: calc(100px * 9); */
   height: 50px;
   background: #e0eafb;
@@ -757,6 +823,8 @@ input[type="number"] {
   /* width: calc(100% / 9); */
   /* min-width: 110px; */
   text-align: center;
+  box-sizing: border-box;
+
   height: 100%;
   line-height: 50px;
   border-right: 1px solid #d5d8df;
@@ -769,7 +837,8 @@ input[type="number"] {
 .table_Content {
   width: 100%;
   min-width: calc(100px * 9);
-  border: 1px solid #d5d8df;
+  /* border: 1px solid #d5d8df; */
+  border: none;
   display: flex;
   flex-direction: row;
   flex-wrap: nowrap;
@@ -787,6 +856,7 @@ input[type="number"] {
   display: flex;
   justify-content: center;
   align-items: center;
+  border-bottom: 1px #ccc solid;
 }
 
 .twoCon {
@@ -819,6 +889,8 @@ input[type="number"] {
   min-height: 50px;
   /* line-height: 50px; */
   display: flex;
+  box-sizing: border-box;
+
   justify-content: center;
   align-items: center;
   border-left: 1px #ccc solid;

+ 93 - 22
src/components/pages/test/examine/conpoments/targetPage.vue

@@ -209,7 +209,17 @@
               <div class="ScoreStep">
                 <input
                   type="number"
-                  :style="{ color: scope.row.judge ? '#528DF7' : '' }"
+                  v-if="scope.row.judge == 1"
+                  style=" color :#A7AAB2;"
+                  @blur="Submit(scope.row)"
+                  v-model="scope.row.cogSco"
+                />
+                <input
+                  type="number"
+                  v-else
+                  :style="{
+                    color: scope.row.cogSco == scope.row.evaSca ? '#000' : 'red'
+                  }"
                   @blur="Submit(scope.row)"
                   v-model="scope.row.cogSco"
                 />
@@ -283,7 +293,8 @@ export default {
         //       evaMethod: "参考同行、学生、家长师德考核问卷结果", //评价方法
         //       sco2: "", //认定分
         //       score: 4, //分值
-        //       cogSum: "", //认定概述
+        //       cogSum: "",
+        //       cueWordType: 0, //认定概述
         //       name: "廉洁从教", //二级指标名字
         //       dep: ["行政事务中心"], // 部门
         //       selfSummary: "", // 自评概述
@@ -302,6 +313,7 @@ export default {
         //       evaMethod: "参考同行、学生、家长师德考核问卷结果", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 0,
         //       name: "爱岗敬业",
         //       dep: ["行政事务中心"],
         //       score: 4,
@@ -320,6 +332,7 @@ export default {
         //       evaMethod: "参考同行、学生、家长师德考核问卷结果", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 0,
         //       name: "热爱学生",
         //       dep: ["行政事务中心"],
         //       score: 4,
@@ -338,6 +351,7 @@ export default {
         //       evaMethod: "参考值周行政巡查反馈结果", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 0,
         //       name: "安全教学",
         //       dep: ["行政事务中心"],
         //       score: 4,
@@ -356,6 +370,7 @@ export default {
         //       evaMethod: "参考师德考核同行评价结果", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 0,
         //       name: "团结协作",
         //       dep: ["行政事务中心"],
         //       score: 4,
@@ -379,6 +394,7 @@ export default {
         //       evaMethod: "参考学年抽查情况(行政事务中心评价)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 0,
         //       name: "日常考勤",
         //       dep: ["行政事务中心"],
         //       score: 2,
@@ -397,6 +413,7 @@ export default {
         //       evaMethod: "参考学年会议活动签到考勤情况(行政事务中心评价)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 0,
         //       name: "会议活动考勤",
         //       dep: ["行政事务中心"],
         //       score: 2,
@@ -421,6 +438,7 @@ export default {
         //         "数量足2分;结构完整2分;有反思、个性化设计2分(科组评选30%为6分)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 0,
         //       name: "备课",
         //       dep: ["教学服务中心"],
         //       score: 6,
@@ -440,6 +458,7 @@ export default {
         //         "准备2分;秩序好2分;方法效果好2分(教学服务中心评价)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 0,
         //       name: "上课",
         //       dep: ["教学服务中心"],
         //       score: 6,
@@ -459,6 +478,7 @@ export default {
         //         "量适中规范2分;全批全改2 分;督促订正2 分(科组评选30%为6分)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 0,
         //       name: "批改作业",
         //       dep: ["教学服务中心"],
         //       score: 6,
@@ -477,6 +497,7 @@ export default {
         //       evaMethod: "跟进度测试2分,全部有批改讲评4分(科组评价)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 0,
         //       name: "学科测试",
         //       dep: ["教学服务中心"],
         //       score: 6,
@@ -496,6 +517,7 @@ export default {
         //         "迟交、少交一项扣1分,扣完6分为止。(教学服务中心评价)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 0,
         //       name: "资料提交",
         //       dep: ["教学服务中心"],
         //       score: 6,
@@ -517,6 +539,7 @@ export default {
         //       evaMethod: "数量足2分;有评课2分;记录完整1分(科组评价)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 0,
         //       name: "听课评课",
         //       dep: ["教学服务中心"],
         //       score: 5,
@@ -535,6 +558,7 @@ export default {
         //         "平均分、优秀率、及格率均与年级平均值比:平均分+-5分,优秀率+-10%,及格率+-10%,都符合以上条件得4分。平均分>5分,优秀率>10%,及格率>10%,符合其中1个及以上得5分。同时教几个班的,自选一个班计算。(教学服务中心评价)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 0,
         //       name: "教学质量",
         //       dep: ["教学服务中心"],
         //       score: 5,
@@ -560,6 +584,7 @@ export default {
         //         "纳入期初计划、科组及全校观摩,提交教案、PPT(教学服务中心评价)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 0,
         //       name: "研讨课",
         //       dep: ["教学服务中心"],
         //       score: 5,
@@ -578,6 +603,7 @@ export default {
         //         "按要求完成全年学时,没完成不计分。(教师发展中心评价)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 0,
         //       name: "继续教育",
         //       dep: ["教师发展中心"],
         //       score: 5,
@@ -597,6 +623,7 @@ export default {
         //         "准时,不无故缺席科组会。出席率超80%、70%、60%的分别计3、2、1分 (科组评价)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 0,
         //       name: "科组活动",
         //       dep: ["教学服务中心"],
         //       score: 5,
@@ -621,6 +648,7 @@ export default {
         //       evaMethod: "特色活动中承担指导、评价、布展等工作。(科组评价)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 1,
         //       name: "学科特色活动",
         //       dep: ["教学服务中心"],
         //       score: 2,
@@ -640,6 +668,7 @@ export default {
         //         "国、省、市、区、校级公开课每节(次)加5、4、3、2、1分(教学服务中心评价)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 1,
         //       name: "对外公开课、接待课、培训讲座",
         //       dep: ["教学服务中心"],
         //       score: 5,
@@ -659,6 +688,7 @@ export default {
         //         "主持国家、省、市、区、校级立项课题分别加5、4、3、2、1分,参与课题相应加分减半;指导学生课题等同于主持课题,相应加分参看主持课题加分。(教师发展中心评定)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 1,
         //       name: "课题研究",
         //       dep: ["教师发展中心"],
         //       score: 5,
@@ -678,6 +708,7 @@ export default {
         //         "省、市、区、校名师工作室主持人分别加4、3、2、1分;学员、成员分减半。(教师发展中心评定)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 1,
         //       name: "名师工作室",
         //       dep: ["教师发展中心"],
         //       score: 4,
@@ -697,6 +728,7 @@ export default {
         //         "国家级:2.5分/篇 省级:2分/篇市  级:1.5分/篇 区级:1分/篇校  级:0.5分/篇(教师发展中心评定)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 1,
         //       name: "老师发表学术成果",
         //       dep: ["教师发展中心"],
         //       score: 5,
@@ -715,6 +747,7 @@ export default {
         //         "期刊、报纸上发表1分/篇,公众号、网络平台减半,封顶5分。(教师发展中心评定)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 1,
         //       name: "指导学生发表学术成果",
         //       dep: ["教师发展中心"],
         //       score: 5,
@@ -734,8 +767,9 @@ export default {
         //         "国家级、省级、市级、区级、校级的加分依次是:一:5分、4.5分、4分、3.5分、3分 二:4分、3.5分、3分、2.5分 、2分三:3分、2.5分 、2分、1.5分、1分四:2分、1.5分、1分、0.5分、0.2五:1分、0.5分、0.2分(教师发展中心评定)国家级:2.5    2分   1.5分   省  级:2分   1.5分  1分    市  级:1.5分 1分    0.5分   区  级:1分   0.5分  0.2分(教师发展中心评定)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 1,
         //       name: "教师获奖",
-        //       dep: ["教师发展中心", "教学服务中心","课程与创新中心"],
+        //       dep: ["教师发展中心", "教学服务中心", "课程与创新中心"],
         //       score: 5,
         //       selfSummary: "",
         //       type: 1,
@@ -756,8 +790,9 @@ export default {
         //         "国家级、省级、市级、区级、校级的加分依次是:一:5分、4.5分、4分、3.5分、3分 二:4分、3.5分、3分、2.5分 、2分三:3分、2.5分 、2分、1.5分、1分四:2分、1.5分、1分、0.5分、0.2五:1分、0.5分、0.2分(教师发展中心评定)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 1,
         //       name: "指导学生获奖",
-        //       dep: ["教师发展中心", "教学服务中心","课程与创新中心"],
+        //       dep: ["教师发展中心", "教学服务中心", "课程与创新中心"],
         //       score: 5,
         //       selfSummary: "",
         //       type: 1,
@@ -780,6 +815,7 @@ export default {
         //         "按规定完成社团工作,无违纪违规现象:3分被评为校级“优秀社团”,或承办、作为主要成员参与区级及以上活动展示:2分(课程与创新中心评价)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 1,
         //       name: "社团课程",
         //       dep: ["课程与创新中心"],
         //       score: 5,
@@ -799,6 +835,7 @@ export default {
         //         "校级、区级、市级1篇分别加0.2、0.5分、1分,如为合作撰稿单篇分值需折算(排版与撰稿同分,审核折半计算,党建融媒中心评价)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 1,
         //       name: "新闻通讯",
         //       dep: ["党建融媒中心"],
         //       score: 5,
@@ -816,6 +853,7 @@ export default {
         //       evaMethod: "承担一次加0.5分(课程与创新中心评价)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 1,
         //       name: "校园文化",
         //       dep: ["课程与创新中心"],
         //       score: 2,
@@ -835,6 +873,7 @@ export default {
         //         "自主申报志愿活动且核实参加一次记0.5分,参与党建比赛或活动组织一次记2分(党建融媒中心评价)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 1,
         //       name: "党务建设",
         //       dep: ["党建融媒中心"],
         //       score: 5,
@@ -853,6 +892,7 @@ export default {
         //         "设计项目式学习课程至少1次,记1分(需提供课程设计单);开展项目式学习活动至少1次,记3分(需提供过程性材料)。(课程与创新中心评价)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 1,
         //       name: "项目式学习",
         //       dep: ["课程与创新中心"],
         //       score: 4,
@@ -872,6 +912,7 @@ export default {
         //         "参与至少1项特色项目,按时按量完成项目相关工作,表现积极,记3分。(由学校教学部门评价)", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 1,
         //       name: "学校特色项目",
         //       dep: ["教学服务中心", "教师发展中心", "课程与创新中心"],
         //       score: 3,
@@ -895,6 +936,7 @@ export default {
         //       evaMethod: "优秀:5 良好:4 合格:3 不合格:1", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 0,
         //       name: "学科组长打分",
         //       dep: ["行政事务中心"],
         //       score: 5,
@@ -919,6 +961,7 @@ export default {
         //       evaMethod: "优秀:5 良好:4 合格:3 不合格:1", //评价方法
         //       sco2: "",
         //       cogSum: "",
+        //       cueWordType: 0,
         //       name: "随机巡查",
         //       dep: ["行政事务中心"],
         //       score: 5,
@@ -947,6 +990,7 @@ export default {
       //         evaMethod: "查看资料", //评价方法
       //         sco2: "",
       //         cogSum: "",
+      //         cueWordType: 0,
       //         selfSummary: "",
       //         dep: [],
       //         type: 1,
@@ -969,6 +1013,7 @@ export default {
       //         evaMethod: "学校考评", //评价方法
       //         sco2: "",
       //         cogSum: "",
+      //         cueWordType: 0,
       //         selfSummary: "",
       //         dep: [],
       //         type: 1,
@@ -986,6 +1031,7 @@ export default {
       //         evaMethod: "查看资料", //评价方法
       //         sco2: "",
       //         cogSum: "",
+      //         cueWordType: 0,
       //         selfSummary: "",
       //         dep: [],
       //         type: 1,
@@ -1009,6 +1055,7 @@ export default {
       //         evaMethod: "学校考评", //评价方法
       //         sco2: "",
       //         cogSum: "",
+      //         cueWordType: 0,
       //         selfSummary: "",
       //         dep: [],
       //         type: 1,
@@ -1027,6 +1074,7 @@ export default {
       //         evaMethod: "查看资料", //评价方法
       //         sco2: "",
       //         cogSum: "",
+      //         cueWordType: 0,
       //         selfSummary: "",
       //         dep: [],
       //         type: 1,
@@ -1045,6 +1093,7 @@ export default {
       //         evaMethod: "查看资料", //评价方法
       //         sco2: "",
       //         cogSum: "",
+      //         cueWordType: 0,
       //         selfSummary: "",
       //         dep: [],
       //         type: 1,
@@ -1063,6 +1112,7 @@ export default {
       //         evaMethod: "学校考评", //评价方法
       //         sco2: "",
       //         cogSum: "",
+      //         cueWordType: 0,
       //         selfSummary: "",
       //         dep: [],
       //         type: 1,
@@ -1086,6 +1136,7 @@ export default {
       //         evaMethod: "学校考评", //评价方法
       //         sco2: "",
       //         cogSum: "",
+      //         cueWordType: 0,
       //         selfSummary: "",
       //         dep: [],
       //         type: 1,
@@ -1104,6 +1155,7 @@ export default {
       //         evaMethod: "学校考评", //评价方法
       //         sco2: "",
       //         cogSum: "",
+      //         cueWordType: 0,
       //         selfSummary: "",
       //         dep: [],
       //         type: 1,
@@ -1128,6 +1180,7 @@ export default {
       //         evaMethod: "查看资料", //评价方法
       //         sco2: "",
       //         cogSum: "",
+      //         cueWordType: 1,
       //         selfSummary: "",
       //         dep: [],
       //         type: 1,
@@ -1146,6 +1199,7 @@ export default {
       //         evaMethod: "查看资料", //评价方法
       //         sco2: "",
       //         cogSum: "",
+      //         cueWordType: 1,
       //         selfSummary: "",
       //         dep: [],
       //         type: 1,
@@ -1164,6 +1218,7 @@ export default {
       //         evaMethod: "查看资料", //评价方法
       //         sco2: "",
       //         cogSum: "",
+      //         cueWordType: 1,
       //         selfSummary: "",
       //         dep: [],
       //         type: 1,
@@ -1182,6 +1237,7 @@ export default {
       //         evaMethod: "查看资料", //评价方法
       //         sco2: "",
       //         cogSum: "",
+      //         cueWordType: 1,
       //         selfSummary: "",
       //         dep: [],
       //         type: 1,
@@ -1205,6 +1261,7 @@ export default {
       //         evaMethod: "优秀:5良好:4合格:3不合格:1", //评价方法
       //         sco2: "",
       //         cogSum: "",
+      //         cueWordType: 0,
       //         selfSummary: "",
       //         dep: [],
       //         type: 2,
@@ -1229,6 +1286,7 @@ export default {
       //         evaMethod: "优秀:5良好:4合格:3不合格:1", //评价方法
       //         sco2: "",
       //         cogSum: "",
+      //         cueWordType: 0,
       //         selfSummary: "",
       //         dep: [],
       //         type: 2,
@@ -1260,12 +1318,12 @@ export default {
     // 分数提交
     Submit(val) {
       console.log("Submit", val);
-      // val.cogSco = !val.cogSco ? 0 : val.cogSco;
       this.tableData.forEach(e => {
         if (e.id == val.id) {
           e.judge = 0;
         }
       });
+
       // return console.log(this.tableData);
 
       if (val.cogSco > val.score) {
@@ -1295,7 +1353,9 @@ export default {
         .post(this.$store.state.api + "updateExamineCogData", params)
         .then(res => {
           // console.log("updateExamineCogData", res);
-          this.CopDigSco();
+          this.getSecondData()
+          // this.CopDigSco();
+          
         })
         .catch(error => {
           console.log(error);
@@ -1328,6 +1388,8 @@ export default {
           // console.log("updateExamineCogData", res);
           // 计算评分弹框平均值等
           // this.CopDigSco();
+          this.getSecondData()
+
         })
         .catch(error => {
           console.log(error);
@@ -1381,7 +1443,7 @@ export default {
                   e.score = k.score;
                   // e.cogSco = k.sco2;
                   e.cogSummary = k.cogSum;
-                  console.log("k.sco2", typeof k.sco2);
+                  // console.log("k.sco2", typeof k.sco2);
                   if (!!k.sco2) {
                     e.cogSco = k.sco2;
                   } else {
@@ -1395,7 +1457,7 @@ export default {
           // console.log("data", data);
 
           this.tableData = data;
-          console.log("this.tableData", this.tableData);
+          // console.log("this.tableData", this.tableData);
 
           // 计算评分弹框平均值等
           this.CopDigSco();
@@ -1421,8 +1483,12 @@ export default {
         }
       });
 
-      this.evaScoDigSvg = this.evaScoDigSvg / this.tableData.length;
-      this.evaScoDigCog = this.evaScoDigCog / this.tableData.length;
+      this.evaScoDigSvg = (this.evaScoDigSvg / this.tableData.length).toFixed(
+        2
+      );
+      this.evaScoDigCog = (this.evaScoDigCog / this.tableData.length).toFixed(
+        2
+      );
     },
     async handleScoData() {
       for (const e of this.tableData) {
@@ -1463,7 +1529,13 @@ export default {
       this.ajax
         .get(this.$store.state.api + "selectTestExamineAllData", params)
         .then(res => {
-          console.log("selectTestExamineAllData", res.data[0]);
+          // pum是判断审核进度的计数器
+          this.tableJsonCon.forEach(e => {
+            e.children.forEach(i => {
+              i.pum = 0;
+            });
+          });
+          // console.log("selectTestExamineAllData", res.data[0]);
           if (!res.data[0].length) return (this.tabLoad = false);
 
           this.allData = res.data[0];
@@ -1472,7 +1544,7 @@ export default {
           data.forEach(e => {
             e.json = JSON.parse(e.json);
           });
-          console.log("data", data);
+          // console.log("data", data);
 
           this.tableJsonCon.forEach(a => {
             data.forEach(b => {
@@ -1495,11 +1567,11 @@ export default {
 
           this.tableJsonCon.forEach(e => {
             e.children.forEach(i => {
-              i.sco1 = i.sco1 / this.allData.length;
-              i.sco2 = i.sco2 / this.allData.length;
+              i.sco1 = (i.sco1 / this.allData.length).toFixed(2);
+              i.sco2 = (i.sco2 / this.allData.length).toFixed(2);
             });
           });
-          console.log("this.tableJsonCon", this.tableJsonCon);
+          // console.log("this.tableJsonCon", this.tableJsonCon);
           this.tabLoad = false;
 
           // this.tableJsonCon.forEach(e => {});
@@ -1532,13 +1604,8 @@ export default {
           // console.log("resresresres", res.data[0]);
           // console.log("selectTestExamineBase", res.data[0][0]);
 
-          // pum是判断审核进度的计数器
           this.tableJsonCon = JSON.parse(res.data[0][0].json);
-          this.tableJsonCon.forEach(e => {
-            e.children.forEach(i => {
-              i.pum = 0;
-            });
-          });
+
           this.handleData();
           this.getData();
         })
@@ -1634,6 +1701,7 @@ input[type="number"] {
   padding: 5px;
   box-sizing: border-box;
   border-radius: 4px;
+  text-align: center;
   border: 1px solid #dcdfe6 !important;
 }
 
@@ -1681,6 +1749,8 @@ input[type="number"] {
   margin: 0 auto;
   /* min-width: 1520px; */
   font-size: 14px;
+  border-left: 1px #ccc solid;
+  border-right: 1px #ccc solid;
 }
 
 .table_title {
@@ -1731,7 +1801,7 @@ input[type="number"] {
 .table_Content {
   width: 100%;
   min-width: calc(150px * 9);
-  border: 1px solid #d5d8df;
+  /* border: 1px solid #d5d8df; */
   display: flex;
   flex-direction: row;
   flex-wrap: nowrap;
@@ -1760,6 +1830,7 @@ input[type="number"] {
   display: flex;
   justify-content: center;
   align-items: center;
+  border-bottom: 1px #ccc solid;
 }
 .ColTit2 {
   width: calc(100% / 8);

+ 121 - 67
src/components/pages/testPerson/examine/index.vue

@@ -35,9 +35,11 @@
         >
       </div>
     </div>
-    <div class="notes">注:评价积分周期为2023年6月30日至2024年6月30日</div>
+    <div style="flex: 1;overflow: hidden;" class="notes">
+      注:评价积分周期为2023年6月30日至2024年6月30日
+    </div>
     <!-- v-if="pType == 2" -->
-    <div v-loading="tabLoad">
+    <div style="height:100%;overflow: hidden;" v-loading="tabLoad">
       <div class="sBox_table">
         <div class="table_title">
           <div style="width: 110px;">一级指标</div>
@@ -47,78 +49,97 @@
           <div style="width: 100px;">自评</div>
           <div style="flex: 1;">自评概述</div>
           <div style="flex: 1;">数据来源</div>
-          <div style="width: 100px;">认定</div>
-          <div style="flex: 1;">认定概述</div>
+          <!-- <div style="width: 100px;">认定</div>
+          <div style="flex: 1;">认定概述</div> -->
         </div>
-        <div class="table_Content" v-for="item in PageBaseData" :key="item.id">
-          <div class="twoCol">
-            <div class="ColTit">{{ item.name }}</div>
-            <div class="ColCon">
-              <div class="twoCon" v-for="k in item.children" :key="k.id">
-                <div>{{ k.name }}</div>
-                <div style="padding: 10px;box-sizing: border-box;">
-                  {{ k.evaMethod }}
-                </div>
-                <div>{{ k.score }}</div>
-                <div>
-                  <div v-if="k.type == 1" class="ScoreStep">
-                    <input
-                      v-if="allData.type * 1 != 2"
-                      type="number"
-                      @blur="
-                        saveTab(k.sco1 > k.score ? (k.sco1 = k.score) : '')
-                      "
-                      v-model="k.sco1"
-                    />
-                    <div v-else>{{ k.sco1 }}</div>
+        <div style="height: 100%;overflow: auto;border-left: 1px #ccc solid;">
+          <div
+            class="table_Content"
+            v-for="item in PageBaseData"
+            :key="item.id"
+          >
+            <div class="twoCol">
+              <div class="ColTit">{{ item.name }}</div>
+              <div class="ColCon">
+                <div class="twoCon" v-for="k in item.children" :key="k.id">
+                  <div>{{ k.name }}</div>
+                  <div style="padding: 10px;box-sizing: border-box;">
+                    {{ k.evaMethod }}
                   </div>
-                  <div v-else class="ScoreStep">/</div>
-                </div>
-                <div class="tArea">
-                  <div
-                    v-if="k.type == 1"
-                    style="height: 100%;height: 100%;width: 100%;text-align: left;"
-                  >
-                    <textarea
-                      v-if="allData.type * 1 != 2"
-                      @blur="saveTab"
-                      v-model.trim="k.selfSummary"
-                    />
-                    <div
-                      v-else
-                      style="width: 100%;padding: 5px;height: 100%;box-sizing: border-box;"
-                    >
-                      {{ k.selfSummary }}
+                  <div>{{ k.score }}</div>
+                  <div>
+                    <div v-if="k.type == 1" class="ScoreStep">
+                      <input
+                        v-if="allData.type * 1 != 2"
+                        type="number"
+                        @blur="
+                          saveTab(k.sco1 > k.score ? (k.sco1 = k.score) : '')
+                        "
+                        v-model="k.sco1"
+                      />
+                      <div v-else>{{ k.sco1 }}</div>
                     </div>
+                    <div v-else class="ScoreStep">/</div>
                   </div>
-                  <div v-else class="ScoreStep">/</div>
-                </div>
-                <div>
-                  <div v-if="!k.testid.test.length">/</div>
-                  <div v-else style="padding-top: 10px;">
-                    <!-- {{ reverseString(k.testid.test) }} -->
+                  <div class="tArea">
                     <div
-                      v-for="(item2, index) in k.testid.test"
-                      :key="item2.courseId"
-                      class="orgData"
+                      v-if="k.type == 1"
+                      style="height: 100%;height: 100%;width: 100%;text-align: left;"
                     >
-                      <div @click="lookPrize(item2.courseId)">
-                        {{ item2.title }}:{{ item2.num }}份
+                      <!-- <textarea
+                      v-if="allData.type * 1 != 2"
+                      @blur="saveTab"
+                      :placeholder="
+                        k.cueWordType == 1 ? '【自评后请简述测算过程】' : ''
+                      "
+                      v-model.trim="k.selfSummary"
+                    /> -->
+                      <el-input
+                        v-if="allData.type * 1 != 2"
+                        type="textarea"
+                        :rows="2"
+                        :placeholder="
+                          k.cueWordType == 1 ? '【自评后请简述测算过程】' : ''
+                        "
+                        v-model="k.selfSummary"
+                      >
+                      </el-input>
+                      <div
+                        v-else
+                        style="width: 100%;padding: 5px;height: 100%;box-sizing: border-box;"
+                      >
+                        {{ k.selfSummary }}
                       </div>
+                    </div>
+                    <div v-else class="ScoreStep">/</div>
+                  </div>
+                  <div>
+                    <div v-if="!k.testid.test.length">/</div>
+                    <div v-else style="padding-top: 10px;">
+                      <!-- {{ reverseString(k.testid.test) }} -->
                       <div
-                        style="color: black;"
-                        @click="goFillIn(item2.courseId)"
+                        v-for="(item2, index) in k.testid.test"
+                        :key="item2.courseId"
+                        class="orgData"
                       >
-                        去填写
+                        <div @click="lookPrize(item2.courseId)">
+                          {{ item2.title }}:{{ item2.num }}份
+                        </div>
+                        <div
+                          style="color: black;"
+                          @click="goFillIn(item2.courseId)"
+                        >
+                          去填写
+                        </div>
                       </div>
                     </div>
                   </div>
-                </div>
-                <div style="display: flex;justify-content: center;">
-                  {{ k.sco2 }}
-                </div>
-                <div style="display: flex;justify-content: center;">
-                  {{ k.cogSum }}
+                  <!-- <div style="display: flex;justify-content: center;">
+                    {{ k.sco2 }}
+                  </div>
+                  <div style="display: flex;justify-content: center;">
+                    {{ k.cogSum }}
+                  </div> -->
                 </div>
               </div>
             </div>
@@ -427,9 +448,11 @@ export default {
 .testPersonExamine {
   width: 100%;
   min-width: calc(100px * 10);
-  min-height: 100%;
+  height: 100%;
   /* overflow-x: scroll; */
-  overflow: auto;
+  /* overflow: auto; */
+  display: flex;
+  flex-direction: column;
   padding: 10px;
   box-sizing: border-box;
   background-color: #fff;
@@ -447,6 +470,15 @@ export default {
   padding: 5px;
   outline-style: none;
 }
+.tArea > div >>> .el-textarea {
+  height: 100%;
+}
+.tArea > div >>> .el-textarea__inner {
+  border: none !important;
+  height: 100%;
+  resize: none;
+}
+
 .testPersonExamine > .testTit {
   height: 100px;
   display: flex;
@@ -531,11 +563,14 @@ export default {
   width: 100%;
   min-width: 1300px;
   margin: 0 auto;
+  height: 100%;
   font-size: 14px;
+  border-left: 1px #ccc solid;
+  border-right: 1px #ccc solid;
 }
 
 .table_title {
-  width: 100%;
+  width: calc(100%  - 6px);
   min-width: calc(110px * 9);
   height: 50px;
   background: #e0eafb;
@@ -546,9 +581,26 @@ export default {
   align-items: center;
 }
 
+/* 容器不显示滚动条,但仍然可以滚动 */
+.container {
+  overflow: auto;
+  scrollbar-width: none; /* 对于Firefox */
+}
+
+/* 针对WebKit浏览器,比如Chrome和Safari,使滚动条不占据空间 */
+.container::-webkit-scrollbar {
+  display: none; /* 隐藏滚动条 */
+}
+
+/* 针对IE和Edge,使滚动条不占据空间 */
+.container {
+  -ms-overflow-style: none; /* IE 10+ */
+  scrollbar-width: none; /* Firefox */
+}
 .table_title > div {
-  width: calc(100% / 9);
+  /* width: calc(100% / 9); */
   min-width: 110px;
+  box-sizing: border-box;
   text-align: center;
   height: 100%;
   line-height: 50px;
@@ -582,7 +634,7 @@ export default {
 .table_Content {
   width: 100%;
   min-width: calc(110px * 9);
-  border: 1px solid #d5d8df;
+  /* border: 1px solid #d5d8df; */
   display: flex;
   flex-direction: row;
   flex-wrap: nowrap;
@@ -610,6 +662,7 @@ export default {
   display: flex;
   justify-content: center;
   align-items: center;
+  border-bottom: 1px #ccc solid;
 }
 
 /* 取消[type='number']的input的上下箭头 */
@@ -634,6 +687,7 @@ input[type="number"] {
   min-height: 50px;
   /* line-height: 50px; */
   display: flex;
+  box-sizing: border-box;
   justify-content: center;
   align-items: center;
   border-left: 1px #ccc solid;