浏览代码

第一次修改

lzw11 9 月之前
父节点
当前提交
9004ec8042
共有 2 个文件被更改,包括 463 次插入225 次删除
  1. 455 217
      src/components/pages/testPerson/examine/index.vue
  2. 8 8
      src/components/pages/testPerson/test/test.vue

+ 455 - 217
src/components/pages/testPerson/examine/index.vue

@@ -17,220 +17,101 @@
 
     </div>
     <div class="main">
-      <table>
-        <tr>
-          <th style="width: 122px;">一级指标</th>
-          <th style="width: 184px;">二级指标</th>
-          <th style="width: 122px;">评价方法</th>
-          <th style="width: 82px;">分值</th>
-          <th style="width: 82px;">自评</th>
-          <th style="width: 123px;">自评概述</th>
-          <th style="width: 203px;">数据来源</th>
-          <th style="width: 103px;">认定</th>
-          <th style="width: 103px;">认定概述</th>
-
-        </tr>
-        <tr>
-          <td rowspan="4" style="height: 318px;"></td>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td class="dataFrom" @click="handleClick"></td>
-          <td></td>
-          <td></td>
-        </tr>
-        <tr>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td class="dataFrom" @click="handleClick"></td>
-          <td></td>
-          <td></td>
-
-        </tr>
-        <tr>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td class="dataFrom" @click="handleClick"></td>
-          <td></td>
-          <td></td>
-
-        </tr>
-        <tr>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td class="dataFrom" @click="handleClick"></td>
-          <td></td>
-          <td></td>
-
-        </tr>
-        <tr>
-          <td rowspan="3" style="height: 244px;"></td>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td class="dataFrom" @click="handleClick"></td>
-          <td></td>
-          <td></td>
-
-        </tr>
-        <tr>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td class="dataFrom" @click="handleClick"></td>
-          <td></td>
-          <td></td>
-
-        </tr>
-        <tr>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td class="dataFrom" @click="handleClick">单元格 7-6</td>
-          <td></td>
-          <td></td>
-
-
-        </tr>
-
-
-      </table>
+      <div class="sBox_table">
+        <div class="table_title">
+          <div>一级指标</div>
+          <div>二级指标</div>
+          <div>评价方法</div>
+          <div>分值</div>
+          <div>自评</div>
+          <div>自评概述</div>
+          <div>数据来源</div>
+          <div>认定</div>
+          <div>认定概述</div>
+        </div>
+        <div class="table_Content" v-for="item in tableJsonCon" :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>
+                  {{ k.dep.join(",") }}
+                </div>
+                <div>{{ k.score }}</div>
+                <div></div>
+                <div>{{ k.sco1 }}</div>
+                <div style="color:blue;cursor: pointer;" @click="lookScore">{{ k.sco2 }}</div>
+                <div>
+                  <div v-if="!k.testid.test.length">/</div>
+                  <div v-else>
+                    <div v-for="(item2, index) in k.testid.test" :key="item2.courseId">
+                      {{ item2.title }}
+                    </div>
+                  </div>
+                </div>
+                <div style="display: flex;justify-content: space-around;padding: 0 10px;box-sizing: border-box;">
+                  <!-- <div class="TabBtn" @click="lookPrize">查看</div> -->
+
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
     </div>
     <!-- 弹窗 -->
-    <div v-if="showModal" class="modal">
-      <div class="modal_top">
-        <div>数据来源</div>
-        <div style="margin-right:25px" @click="closeModal">关闭</div>
+    <!-- 点击查看 -->
+    <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>
-      <div class="modal_top">
-        <div style="display: flex;">
-          <div>表单名称</div>
-          <div style="margin-left:15px">创建者</div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="diaIframe = false">关 闭</el-button>
+      </span>
+    </el-dialog>
+
+    <!-- 点击评分 -->
+    <el-dialog title="" :visible.sync="diaScore" :append-to-body="true" width="95%" :before-close="handleClose"
+      class="dialog_diy">
+      <div style="height: 100%;padding: 25px;">
+        <div class="diaScoreTop">
+          <div class="diaScoreLeft">
+            <div>数据来源</div>
+
+            <div>表格名称</div>
+            <div>创建者</div>
+          </div>
+          <div class="diaScoreRight">
+            <el-button size="small" type="primary">保存</el-button>
+            <el-button size="small" type="primary">提交</el-button>
+          </div>
         </div>
-
-        <div class="more">再填一份</div>
+        <el-table :data="tableData" style="width: 100%">
+          <el-table-column type="index" label="序号" width="180">
+          </el-table-column>
+          <el-table-column prop="name" label="提交人" width="180">
+          </el-table-column>
+          <el-table-column prop="tea" label="提交时间"> </el-table-column>
+          <el-table-column prop="evaScore" label="学年"> </el-table-column>
+          <el-table-column prop="evaluation" label="获奖内容">
+          </el-table-column>
+          <el-table-column prop="source" label="获奖级别"> </el-table-column>
+          <el-table-column prop="cognizance" label="获奖名次">
+          </el-table-column>
+          <el-table-column prop="cognizance" label="证书或相关资料">
+          </el-table-column>
+          <el-table-column prop="cognizance" label="操作">
+            <el-button size="mini" >编辑</el-button>
+            <el-button size="mini" type="danger">删除</el-button>
+          </el-table-column>
+        </el-table>
       </div>
-
-      <table style="width: 1950px;height: 616px;">
-        <thead>
-          <tr>
-            <th style="background-color:rgb(241, 241, 241);color:rgb(156, 159, 165)">序号</th>
-            <th style="background-color:rgb(241, 241, 241);color:rgb(156, 159, 165)">提交人</th>
-            <th style="background-color:rgb(241, 241, 241);color:rgb(156, 159, 165)">提交时间</th>
-            <th style="background-color:rgb(241, 241, 241);color:rgb(156, 159, 165)">学年</th>
-            <th style="background-color:rgb(241, 241, 241);color:rgb(156, 159, 165)">获奖内容</th>
-            <th style="background-color:rgb(241, 241, 241);color:rgb(156, 159, 165)">获奖级别</th>
-            <th style="background-color:rgb(241, 241, 241);color:rgb(156, 159, 165)">获奖名次</th>
-            <th style="background-color:rgb(241, 241, 241);color:rgb(156, 159, 165)">证书或相关资料</th>
-            <th style="background-color:rgb(241, 241, 241);color:rgb(156, 159, 165)">操作</th>
-          </tr>
-        </thead>
-        <tbody>
-          <tr>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td>
-              <el-button size="mini">编辑</el-button>
-              <el-button size="mini" type="danger">删除</el-button>
-            </td>
-          </tr>
-          <tr>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td>
-              <el-button size="mini">编辑</el-button>
-              <el-button size="mini" type="danger">删除</el-button>
-            </td>
-          </tr>
-          <tr>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td>
-              <el-button size="mini">编辑</el-button>
-              <el-button size="mini" type="danger">删除</el-button>
-            </td>
-          </tr>
-          <tr>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td>
-              <el-button size="mini">编辑</el-button>
-              <el-button size="mini" type="danger">删除</el-button>
-            </td>
-          </tr>
-          <tr>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td>
-              <el-button size="mini">编辑</el-button>
-              <el-button size="mini" type="danger">删除</el-button>
-            </td>
-          </tr>
-          <tr>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td></td>
-            <td>
-              <el-button size="mini">编辑</el-button>
-              <el-button size="mini" type="danger">删除</el-button>
-            </td>
-          </tr>
-        </tbody>
-      </table>
-
-    </div>
+      <!-- <span slot="footer" class="dialog-footer">
+        <el-button @click="diaScore = false">关 闭</el-button>
+      </span> -->
+    </el-dialog>
   </div>
 
 
@@ -238,25 +119,382 @@
 
 <script>
 export default {
+  props: {
+    pType: {
+      //0专任教师 1班主任
+      type: Number,
+      default: 0
+    }
+  },
   data() {
     return {
-      showModal: false,
-
+      diaIframe: false,
+      diaScore: false,
+      ifmUrl: "",
+      userid: this.$route.query.userid,
+      tableJsonCon: [
+        {
+          id: "q",
+          name: "师德师风",
+          children: [
+            {
+              id: "1q",
+              sco1: "",
+              sco2: "德育获奖5份",
+              cogSum: "",
+              name: "廉洁从教",
+              dep: ["行政事务中心"],
+              score: 4,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "2q",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "爱岗敬业",
+              dep: ["行政事务中心"],
+              score: 4,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "3q",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "热爱学生",
+              dep: ["行政事务中心"],
+              score: 4,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "4q",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "安全教学",
+              dep: ["行政事务中心"],
+              score: 4,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "5q",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "团结协作",
+              dep: ["行政事务中心"],
+              score: 4,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            }
+          ]
+        },
+        {
+          id: "1a",
+          name: "考勤情况",
+          children: [
+            {
+              id: "1a",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "日常考勤",
+              dep: ["行政事务中心"],
+              score: 2,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "2a",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "会议活动考勤",
+              dep: ["行政事务中心"],
+              score: 2,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            }
+          ]
+        },
+
+      ],
+      tableData: [
+        {
+          name: "王小虎",
+          tea: "语文",
+          evaScore: 5,
+          evaluation: "优秀",
+          source: 5,
+          cognizance: 5
+        },
+        {
+          name: "张三",
+          tea: "语文",
+          evaScore: 5,
+          evaluation: "优秀",
+          source: 5,
+          cognizance: 5
+        },
+        {
+          name: "李四",
+          tea: "语文",
+          evaScore: 5,
+          evaluation: "优秀",
+          source: 5,
+          cognizance: 5
+        },
+        {
+          name: "王五",
+          tea: "语文",
+          evaScore: 5,
+          evaluation: "优秀",
+          source: 5,
+          cognizance: 5
+        },
+        {
+          name: "金兀术",
+          tea: "语文",
+          evaScore: 5,
+          evaluation: "优秀",
+          source: 5,
+          cognizance: 5
+        }
+      ]
     };
   },
+  computed: {},
+  mounted() {
+    this.getData();
+    console.log(JSON.stringify(this.tableJsonCon));
+  },
+
   methods: {
-    handleClick() {
-      this.showModal = true;
+    async getData() {
+      for (const e of this.tableJsonCon) {
+        for (const k of e.children) {
+          if (k.testid.test.length > 0) {
+            // console.log('computedTest',this.computedTest(k.testid));
+            k.testid.test = await this.computedTest(k.testid.test);
+            // console.log('k.testid', k.testid);
+          }
+        }
+      }
     },
-    closeModal() {
-      this.showModal = false;
+    computedTest(val) {
+      let params = [
+        {
+          testId: val.join(",")
+        }
+      ];
+      return new Promise(resolve => {
+        this.ajax
+          .post(this.$store.state.api + "selectExamineTestName", params)
+          .then(res => {
+            console.log("resresresres", res.data[0]);
+            // console.log(res.data[0]);
+            resolve(res.data[0]);
+          })
+          .catch(error => {
+            console.log(error);
+          });
+      });
     },
-
-  },
+    // 查看数据来源
+    lookPrize() {
+      // 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;
+    },
+    // 关闭弹框
+    handleClose(done) {
+      done();
+    },
+    // 查看分数
+    lookScore() {
+      this.diaScore = true;
+    }
+  }
 };
 </script>
 
 <style scoped>
+.diaScoreTop {
+  display: flex;
+  justify-content: space-between;
+  height: 60px;
+}
+
+.diaScoreLeft {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  font-size: 20px;
+}
+
+.diaScoreLeft>div {
+  margin-right: 30px;
+}
+
+.diaScoreRight {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+
+.TabBtn {
+  cursor: pointer;
+  color: #528df6;
+}
+
+.sBox_table {
+  width: 100%;
+  min-width: calc(150px * 7);
+  margin: 0 auto;
+  /* min-width: 1520px; */
+  font-size: 14px;
+}
+
+.table_title {
+  width: 100%;
+  min-width: calc(150px * 9);
+  height: 50px;
+  background: #e0eafb;
+  border: 1px solid #d5d8df;
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: center;
+}
+
+.table_title>div {
+  width: calc(100% / 9);
+  min-width: 150px;
+  text-align: center;
+  height: 100%;
+  line-height: 50px;
+  border-right: 1px solid #d5d8df;
+}
+
+.table_title>div:last-child {
+  border: none;
+}
+
+.table_Content {
+  width: 100%;
+  min-width: calc(150px * 9);
+  border: 1px solid #d5d8df;
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  text-align: center;
+  align-items: center;
+}
+
+.twoCol {
+  width: 100%;
+  display: flex;
+}
+
+.ColTit {
+  width: calc(100% / 9);
+  min-width: 150px;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+
+.twoCon {
+  display: flex;
+}
+
+.twoCon>div {
+  width: calc(100% / 8);
+  min-width: 150px;
+  min-height: 50px;
+  /* line-height: 50px; */
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  border-left: 1px #ccc solid;
+  border-bottom: 1px #ccc solid;
+}
+
+.ColCon {
+  flex: 1;
+}
+
+.dialog_diy>>>.el-dialog {
+  height: 95%;
+  margin: 0 auto !important;
+  margin-top: 20px !important;
+  overflow: hidden;
+}
+
+.dialog_diy>>>.el-dialog__header {
+  background: #454545 !important;
+  padding: 25px 20px;
+}
+
+.dialog_diy>>>.el-dialog__body {
+  height: calc(100% - 124px);
+  box-sizing: border-box;
+  padding: 0px;
+}
+
+.dialog_diy>>>.el-dialog__title {
+  color: #fff;
+}
+
+.dialog_diy>>>.el-dialog__headerbtn {
+  top: 19px;
+}
+
+.dialog_diy>>>.el-dialog__headerbtn .el-dialog__close {
+  color: #fff;
+}
+
+.dialog_diy>>>.el-dialog__headerbtn .el-dialog__close:hover {
+  color: #fff;
+}
+
+.dialog_diy>>>.el-dialog__body,
+.dialog_diy>>>.el-dialog__footer {
+  background: #fafafa;
+}
+
 .top {
   display: flex;
   justify-content: space-between;

+ 8 - 8
src/components/pages/testPerson/test/test.vue

@@ -1,7 +1,7 @@
 <template>
     <div class="i_body_box">
         <div class="check_nav">
-            <div class="nav all" v-show="true" :class="{ active: type == '1' }" @click="checkType('1')">
+            <div class="nav all" v-show="false" :class="{ active: type == '1' }" @click="checkType('1')">
                 年度考核
             </div>
             <div class="nav all" :class="{ active: type == '' }" @click="checkType('')">
@@ -57,7 +57,7 @@
                         <div class="test" v-for="(test, index) in item.array" :key="test.id">
                             <div class="time">
                                 <span>提交记录{{item.array.length - index}}</span>
-                            </div> 
+                            </div>
                             <!-- <img @click="deleteTest(test.id)" class="delete"
                                 src="../../../../assets/icon/test/delete.png" alt="" /> -->
                             <div class="utime">
@@ -92,7 +92,7 @@
                                 <el-tooltip :content="course.title+'-'+course.username" placement="top" effect="dark">
                                     <span>{{ course.title }}-{{ course.username }}</span>
                                 </el-tooltip>
-                            </div> 
+                            </div>
                             <div class="finishBox" :class="{is: course.array.length}">
                                 <span class="finish"></span>
                                 <span v-if="course.array.length">已评分</span>
@@ -481,7 +481,7 @@ export default {
                     course.courseid +
                     "&role=" +
                     this.role
-                ); 
+                );
             }
         },
         copyTest(tid) {
@@ -544,7 +544,7 @@ export default {
                                 if (
                                     item2.ttype == 1 &&
                                     item2.type == 6 &&
-                                    item2.json 
+                                    item2.json
                                 ) {
                                     courseJson = item2.json
                                     break s;
@@ -562,7 +562,7 @@ export default {
                 } else if (
                     el.ttype == 1 &&
                     el.type == 6 &&
-                    el.json 
+                    el.json
                 ) {
                     courseJson = el.json
                                     break s;
@@ -855,7 +855,7 @@ export default {
     align-items: center;
     padding: 0 15px;
     cursor: pointer;
-		
+
 }
 
 .test_panel_title>.time>span+span {
@@ -1045,7 +1045,7 @@ export default {
     margin-left: 15px;
 }
 
-/* 
+/*
 .test_add_box>.test>.mask>div>span:nth-child(1) {
   display: block;
   width: 13px;