소스 검색

Merge branch 'beta' of https://git.cocorobo.cn/CocoRoboLabs/pbl-teacher-table into beta

SanHQin 1 년 전
부모
커밋
59437058a9

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.d77257d7d6e226c97d8f6ad9ce790d0a.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.571c38d63f24b1ae9e16.js></script><script type=text/javascript src=./static/js/vendor.85f22e7b4ab99591785c.js></script><script type=text/javascript src=./static/js/app.82aba29f7eade0c11919.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.5e5245ce3a3a19a51ba3e3f9c7e6fd82.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.571c38d63f24b1ae9e16.js></script><script type=text/javascript src=./static/js/vendor.85f22e7b4ab99591785c.js></script><script type=text/javascript src=./static/js/app.d8fbf023e6945d7b6ff6.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/css/app.5e5245ce3a3a19a51ba3e3f9c7e6fd82.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/css/app.5e5245ce3a3a19a51ba3e3f9c7e6fd82.css.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/app.d8fbf023e6945d7b6ff6.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/app.d8fbf023e6945d7b6ff6.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/manifest.571c38d63f24b1ae9e16.js.map


+ 305 - 0
src/assets/css/markdownCss.css

@@ -0,0 +1,305 @@
+.vditor-reset ul ul ul {
+    list-style-type: square
+}
+
+.vditor-reset ul ul {
+    list-style-type: circle
+}
+
+.vditor-reset ul {
+    list-style-type: disc
+}
+
+.vditor-reset ol,.vditor-reset ul {
+    padding-left: 2em;
+    margin-top: 0;
+    margin-bottom: 16px
+}
+
+.vditor-reset li+li {
+    margin-top: .25em
+}
+
+.vditor-reset audio {
+    max-width: 100%
+}
+
+.vditor-reset audio:focus {
+    outline: none
+}
+
+.vditor-reset video {
+    max-height: 90vh;
+    max-width: 100%
+}
+
+.vditor-reset img {
+    max-width: 100%
+}
+
+.vditor-reset img.emoji {
+    cursor: auto;
+    max-width: 20px;
+    vertical-align: sub
+}
+
+.vditor-reset h1, .vditor-reset h2 {
+    padding-bottom: 0.3em;
+    border-bottom: 1px solid #eaecef;
+}
+
+.vditor-reset hr {
+    background-color: #eaecef;
+}
+
+.vditor-reset blockquote {
+    color: #6a737d;
+    border-left: .25em solid #eaecef
+}
+
+.vditor-reset iframe {
+    border: 1px solid #d1d5da
+}
+
+.vditor-reset table tr {
+    border-top: 1px solid #c6cbd1;
+    background-color: #fafbfc
+}
+
+.vditor-reset table td, .vditor-reset table th {
+    border: 1px solid #dfe2e5
+}
+
+.vditor-reset table tbody tr:nth-child(2n) {
+    background-color: #fff
+}
+
+.vditor-reset code:not(.hljs):not(.highlight-chroma) {
+    background-color: rgba(27, 31, 35, .05);
+}
+
+.vditor-reset kbd {
+    color: #24292e;
+    background-color: #fafbfc;
+    border: solid 1px #d1d5da;
+    box-shadow: inset 0 -1px 0 #d1d5da;
+}
+
+.vditor-speech {
+    background-color: #f6f8fa;
+    border: 1px solid #d1d5da;
+    color: #586069;
+}
+
+.vditor-speech--current, .vditor-speech:hover {
+    color: #4285f4;
+}
+
+.vditor-linkcard a {
+    background-color: #f6f8fa;
+}
+
+.vditor-linkcard a:visited .vditor-linkcard__abstract {
+    color: rgba(88, 96, 105, 0.36);
+}
+
+.vditor-linkcard__title {
+    color: #24292e;
+}
+
+.vditor-linkcard__abstract {
+    color: #586069;
+}
+
+.vditor-linkcard__site {
+    color: #4285f4;
+}
+
+.vditor-linkcard__image {
+    background-color: rgba(88, 96, 105, 0.36);
+}
+
+
+.vditor-reset h1,.vditor-reset h2,.vditor-reset h3,.vditor-reset h4,.vditor-reset h5,.vditor-reset h6 {
+    margin-top: 24px;
+    margin-bottom: 16px;
+    font-weight: 600;
+    line-height: 1.25
+}
+
+.vditor-reset h1:hover .vditor-anchor svg,.vditor-reset h2:hover .vditor-anchor svg,.vditor-reset h3:hover .vditor-anchor svg,.vditor-reset h4:hover .vditor-anchor svg,.vditor-reset h5:hover .vditor-anchor svg,.vditor-reset h6:hover .vditor-anchor svg {
+    visibility: visible
+}
+
+.vditor-reset h1 {
+    font-size: 1.75em
+}
+
+.vditor-reset h2 {
+    font-size: 1.55em
+}
+
+.vditor-reset h3 {
+    font-size: 1.38em
+}
+
+.vditor-reset h4 {
+    font-size: 1.25em
+}
+
+.vditor-reset h5 {
+    font-size: 1.13em
+}
+
+.vditor-reset h6 {
+    font-size: 1em
+}
+
+.vditor-reset hr {
+    height: 2px;
+    padding: 0;
+    margin: 24px 0;
+    background-color: #eaecef;
+    border: 0
+}
+
+.vditor-reset p {
+    margin-top: 0;
+    margin-bottom: 16px
+}
+
+.vditor-reset blockquote {
+    padding: 0 1em;
+    color: #6a737d;
+    border-left: .25em solid #eaecef;
+    margin: 0 0 16px 0
+}
+
+.vditor-reset blockquote>:first-child {
+    margin-top: 0
+}
+
+.vditor-reset blockquote>:last-child {
+    margin-bottom: 0
+}
+
+.vditor-reset ins>iframe {
+    border: 0
+}
+
+.vditor-reset iframe {
+    border: 1px solid #d1d5da;
+    max-width: 100%;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box
+}
+
+.vditor-reset iframe.iframe__video {
+    min-width: 80%;
+    min-height: 36vh
+}
+
+.vditor-reset table {
+    border-collapse: collapse;
+    empty-cells: show;
+    margin-bottom: 16px;
+    overflow: auto;
+    border-spacing: 0;
+    display: block;
+    word-break: keep-all;
+    width: 100%
+}
+
+.vditor-reset table tr {
+    background-color: #fafbfc;
+    border-top: 1px solid #c6cbd1
+}
+
+.vditor-reset table td,.vditor-reset table th {
+    padding: 6px 13px;
+    border: 1px solid #dfe2e5;
+    word-break: normal;
+    white-space: nowrap
+}
+
+.vditor-reset table td:first-child:after,.vditor-reset table th:first-child:after {
+    content: "";
+    display: inline-block;
+    vertical-align: top;
+    min-height: 24px
+}
+
+.vditor-reset table th {
+    font-weight: 600
+}
+
+.vditor-reset table tbody tr:nth-child(2n) {
+    background-color: #fff
+}
+
+.vditor-reset code:not(.hljs):not(.highlight-chroma) {
+    padding: .2em .4em;
+    margin: 0;
+    font-size: 85%;
+    border-radius: 3px;
+    font-family: mononoki,Consolas,Liberation Mono,Menlo,Courier,monospace,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,Segoe UI Symbol,Android Emoji,EmojiSymbols;
+    word-break: break-word;
+    background-size: 20px 20px;
+    white-space: pre-wrap
+}
+
+.vditor-reset pre {
+    margin: 1em 0
+}
+
+.vditor-reset pre>code {
+    margin: 0;
+    font-size: 85%;
+    padding: .5em;
+    border-radius: 5px;
+    display: block;
+    overflow: auto;
+    white-space: pre;
+    font-family: mononoki,Consolas,Liberation Mono,Menlo,Courier,monospace,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,Segoe UI Symbol,Android Emoji,EmojiSymbols;
+    background-size: 20px 20px;
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AgMAAABHkjHhAAAACVBMVEWAgIBaWlo+Pj7rTFvWAAAAA3RSTlMHCAw+VhR4AAAA+klEQVQoz4WSMW7EQAhFPxKWNh2FCx+HkaZI6RRb5DYbyVfIJXLKDCFoMbaTKSw/8ZnPAPjaH2xgZcUNUDADD7D9LtDBCLZ45fbkvo/30K8yeI64pPwl6znd/3n/Oe93P3ho9qeh72btTFzqkz0rsJle8Zr81OLEwZ1dv/713uWqvu2pl+k0fy7MWtj9r/tN5q/02z89qa/L4Dc2LvM93kezPfXlME/O86EbY/V9GB9ePX8G1/6W+/9h1dq/HGfTfzT3j/xNo7522Bfnqe5jO/fvhVthlfk434v3iO9zG/UOphyPeinPl1J8Gtaa7xPTa/Dk+RIs4deMvwGvcGsmsCvJ0AAAAABJRU5ErkJggg==);
+    word-break: normal;
+    word-wrap: normal
+}
+
+.vditor-reset pre:hover div.vditor-copy {
+    display: block
+}
+
+
+.vditor-reset kbd {
+    display: inline-block;
+    padding: 3px 5px;
+    font: 11px Consolas,Liberation Mono,Menlo,Courier,monospace;
+    line-height: 10px;
+    color: #24292e;
+    vertical-align: middle;
+    background-color: #fafbfc;
+    border: 1px solid #d1d5da;
+    border-radius: 3px;
+    -webkit-box-shadow: inset 0 -1px 0 #d1d5da;
+    box-shadow: inset 0 -1px 0 #d1d5da
+}
+
+.vditor-reset summary {
+    cursor: pointer
+}
+
+.vditor-reset summary:focus {
+    outline: none
+}
+
+.vditor-reset svg {
+    height: auto;
+    width: auto;
+    stroke-width: initial
+}
+
+.vditor-reset blockquote:last-child,.vditor-reset hr:last-child,.vditor-reset ol:last-child,.vditor-reset p:last-child,.vditor-reset pre:last-child,.vditor-reset ul:last-child {
+    margin-bottom: 0
+}

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 453 - 136
src/components/pages/aiAddCourse/addCourse.vue


+ 17 - 7
src/components/pages/aiAddCourse/aiCreateDialog.vue

@@ -57,6 +57,10 @@ export default {
             type: Array,
             default: "",
         },
+        CourseTypeJson: {
+            type: Object,
+            default: ()=>({}),
+        }
     },
     // 根据用户给你的参考资料
     data() {
@@ -205,12 +209,18 @@ Instruction: Based on the context, follow "Format example", write content.
 
 # Context 
 ## 任务
-将参考#参考资料,为教师生成这节课的教学ppt。PPT的内容主要是讲解该课程中所有可能涉及到的知识点,每个知识点用1页讲解。你的输出应该符合#Format example
+将参考#参考资料,为教师生成这节课的教学ppt。PPT的内容主要是讲解该课程中所有可能涉及到的知识点,每个知识点用1页讲解。
 
 ## 工作流
 1. 针对大纲中的每个知识点,生成200字左右的详细讲解。你的语气应该让小学或初中的学生清晰易懂的讲解。请尽可能的详细,这对我很重要。
 2. 针对大纲中的每个测试,详细设计不同测试题目,例如单选,多选,对错题等。
 
+# 每一页输出格式
+- 页数:序列数字
+- 标题:学科概念(请从给你的大纲中摘取)
+- 子标题:知识点(请从给你的大纲中摘取)
+- 知识点讲解:针对大纲中的每个知识点,生成200字左右的详细讲解。你的语气应该让小学或初中的学生清晰易懂的讲解。你的讲解词在200 token左右。请尽可能的详细,这对我很重要。
+
 ## 限制
 - 你不能输出错误的知识,如果你实在不清楚,修改大纲中的知识点。
 - 你不能输出违反伦理的内容
@@ -240,11 +250,11 @@ ${mclass.length ? "#参考资料\n面向年级:" + mclass.join(",") : ""}
 
 # 输出格式
 - 标题:学科概念1
-  --知识点:知识点1
-  --知识点:知识点2
-  --知识点:知识点3
-  --知识点:知识点4
-  --知识点:知识点5
+  1.知识点:知识点1
+  2.知识点:知识点2
+  3.知识点:知识点3
+  4.知识点:知识点4
+  5.知识点:知识点5
 
 # 限制
 - 你不能输出错误的知识,如果你实在不清楚,输出“对不起,我不确定”
@@ -406,7 +416,7 @@ ${mclass.length ? "#参考资料\n面向年级:" + mclass.join(",") : ""}
                 // 现在你有了一个 Blob 对象
                 console.log(blob);
 
-                const file = new File([blob], "aiPpt.pptx", {
+                const file = new File([blob], this.courseName+".pptx", {
                     type: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
                 });
                 console.log(pres);

+ 3 - 2
src/components/pages/aiAddCourse/aiCreateVideoDialog.vue

@@ -16,7 +16,7 @@
                     <span class="detail">{{ item.snippet.description }}</span> 
                     <div class="btn">
                         <span @click="openUrl(item.id.videoId)">查看</span>
-                        <span @click="checkUrl(item.snippet.title,item.id.videoId)">选择</span>
+                        <span @click="checkUrl(item.snippet.title,item.id.videoId)">加入</span>
                     </div>
                 </div>
             </div>
@@ -102,6 +102,7 @@ export default {
                 type: 8,
             }
             this.$emit('createAiVideo', json)
+            this.$message.success('加入成功')
         },
         changeRadio() {
             if (this.radio == 0) {
@@ -118,7 +119,7 @@ export default {
             let _this = this
             _this.loading = true
             this.ajax
-                .get(`https://www.googleapis.com/youtube/v3/search?key=AIzaSyBUvNQ5Wyua4PbStE2vp3t7MIY4htry-4M&part=snippet&q=${this.detail}&maxResults=10`)
+                .get(`https://www.googleapis.com/youtube/v3/search?key=AIzaSyBUvNQ5Wyua4PbStE2vp3t7MIY4htry-4M&part=snippet&q=${this.detail}&maxResults=10&type=video&order=relevance&regionCode=HK`)
                 .then((response) => {
                     console.log(response);
                     _this.data = response.data.items

+ 905 - 8
src/components/pages/test/examine/conpoments/targetPage.vue

@@ -1,15 +1,124 @@
 <template>
   <div>
-    <div v-if="pType==0">
-      按指标专任教师
+    <div v-if="pType == 0">
+      <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>{{ 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 class="TabBtn" @click="lookScore">评分</div>
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
     </div>
-    <div v-if="pType==1">
+
+    <div v-if="pType == 1">
       按指标班主任
     </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>
+      <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>
+        <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>
+      </div>
+      <!-- <span slot="footer" class="dialog-footer">
+        <el-button @click="diaScore = false">关 闭</el-button>
+      </span> -->
+    </el-dialog>
   </div>
 </template>
 
 <script>
+
 export default {
   props: {
     pType: {
@@ -19,13 +128,801 @@ export default {
     }
   },
   data() {
-    return {};
+    return {
+      diaIframe: false,
+      diaScore: false,
+      ifmUrl: "",
+      userid: this.$route.query.userid,
+      tableJsonCon: [
+        {
+          id: "q",
+          name: "师德师风",
+          children: [
+            {
+              id: "1q",
+              sco1: "",
+              sco2: "",
+              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: []
+              }
+            }
+          ]
+        },
+        {
+          id: "b",
+          name: "常规教学(备、教、改、考、评、辅)",
+          children: [
+            {
+              id: "1b",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "备课",
+              dep: ["教学服务中心"],
+              score: 6,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "2b",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "上课",
+              dep: ["教学服务中心"],
+              score: 6,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "3b",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "批改作业",
+              dep: ["教学服务中心"],
+              score: 6,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "4b",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "学科测试",
+              dep: ["教学服务中心"],
+              score: 6,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "5b",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "资料提交",
+              dep: ["教学服务中心"],
+              score: 6,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: [
+                  "1b6f078b-b673-11ee-b534-005056b86db5",
+                  "5eac308d-b66d-11ee-b534-005056b86db5"
+                ]
+              }
+            },
+            {
+              id: "6b",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "听课评课",
+              dep: ["教学服务中心"],
+              score: 5,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "7b",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "教学质量",
+              dep: ["教学服务中心"],
+              score: 5,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            }
+          ]
+        },
+        {
+          id: "c",
+          name: "科研工作",
+          children: [
+            {
+              id: "1c",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "研讨课",
+              dep: ["教学服务中心"],
+              score: 5,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: ["e9e6dc5a-89d1-11ee-b98c-005056b86db5"]
+              }
+            },
+            {
+              id: "2c",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "继续教育",
+              dep: ["教师发展中心"],
+              score: 5,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "3c",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "科组活动",
+              dep: ["教学服务中心"],
+              score: 5,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: ["2adfec67-b674-11ee-b534-005056b86db5"]
+              }
+            }
+          ]
+        },
+        {
+          id: "d",
+          name: "教学成果加分",
+          children: [
+            {
+              id: "1d",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "学科特色活动",
+              dep: ["教学服务中心"],
+              score: 2,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "2d",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "对外公开课、接待课、培训讲座",
+              dep: ["教学服务中心"],
+              score: 5,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "3d",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "课题研究",
+              dep: ["教师发展中心"],
+              score: 5,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "4d",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "名师工作室",
+              dep: ["教师发展中心"],
+              score: 4,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "5d",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "老师发表学术成果",
+              dep: ["教师发展中心"],
+              score: 5,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "6d",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "指导学生发表学术成果",
+              dep: ["教师发展中心"],
+              score: 5,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "7d",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "教师获奖",
+              dep: ["教师发展中心", "教学服务中心"],
+              score: 5,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: [
+                  "d47a6ab6-8a75-11ee-b98c-005056b86db5",
+                  "729dbb8e-292e-11ef-bee5-005056b86db5"
+                ]
+              }
+            },
+            {
+              id: "8d",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "指导学生获奖",
+              dep: ["教师发展中心", "教学服务中心"],
+              score: 5,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: ["d47a6ab6-8a75-11ee-b98c-005056b86db5"]
+              }
+            }
+          ]
+        },
+        {
+          id: "e",
+          name: "特色工作加分",
+          children: [
+            {
+              id: "1e",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "社团课程",
+              dep: ["课程与创新中心"],
+              score: 5,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "2e",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "新闻通讯",
+              dep: ["党建融媒中心"],
+              score: 3,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "3e",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "校园文化",
+              dep: ["课程与创新中心"],
+              score: 2,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "4e",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "志愿活动",
+              dep: ["党建融媒中心"],
+              score: 2,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "5e",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "项目式学习",
+              dep: ["课程与创新中心"],
+              score: 4,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            },
+            {
+              id: "6e",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "学校特色项目",
+              dep: ["教学服务中心", "教师发展中心", "课程与创新中心"],
+              score: 3,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            }
+          ]
+        },
+        {
+          id: "f",
+          name: "科组评价",
+          children: [
+            {
+              id: "1f",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "学科组长打分",
+              dep: ["行政事务中心"],
+              score: 5,
+              evaMethod: "自评概述",
+              type: 1,
+              testid: {
+                type: 1,
+                test: []
+              }
+            }
+          ]
+        },
+        {
+          id: "g",
+          name: "行政巡查",
+          children: [
+            {
+              id: "1g",
+              sco1: "",
+              sco2: "",
+              cogSum: "",
+              name: "随机巡查",
+              dep: ["行政事务中心"],
+              score: 5,
+              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));
   },
 
-  mounted() {},
-
-  methods: {}
+  methods: {
+    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);
+          }
+        }
+      }
+    },
+    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></style>
+<style scoped>
+.diaScoreTop {
+  display: flex;
+  justify-content: space-between;
+  height: 60px;
+}
+
+.diaScoreLeft {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+
+.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;
+}
+</style>

+ 2 - 1
src/components/pages/test/examine/index.vue

@@ -72,7 +72,7 @@ export default {
 <style scoped>
 .testExamine {
   width: 100%;
-  height: 100%;
+  min-height: 100%;
   padding: 10px;
   box-sizing: border-box;
   background-color: #fff;
@@ -92,6 +92,7 @@ export default {
 }
 .Tbor {
   border-bottom: 2px rgba(54, 129, 252, 1) solid;
+  font-weight: 600;
 }
 .testCon {
   box-sizing: border-box;

+ 372 - 4
src/components/pages/testPerson/examine/index.vue

@@ -1,13 +1,381 @@
 <template>
-  <div>审核</div>
+  <div class="all">
+    <div class="top">
+      <div class="top_left">
+        <div class="teacher">专任教师</div>
+        <div class="headteacher">班主任考核</div>
+      </div>
+
+      <div class="top_right">
+        <span style="margin-left:20px ;">审核进度:3/5</span>
+        <span style="margin-left:10px ;">认定分数:35.5分</span>
+        <div class="btn">
+          <div class="submit">提交</div>
+          <div class="save" style="margin-right: 15px;">保存</div>
+        </div>
+      </div>
+
+    </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>
+    <!-- 弹窗 -->
+    <div v-if="showModal" class="modal">
+      <div class="modal_top">
+        <div>数据来源</div>
+        <div style="margin-right:25px" @click="closeModal">关闭</div>
+      </div>
+      <div class="modal_top">
+        <div style="display: flex;">
+          <div>表单名称</div>
+          <div style="margin-left:15px">创建者</div>
+        </div>
+
+        <div class="more">再填一份</div>
+      </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>
+  </div>
+
+
 </template>
 
 <script>
 export default {
+  data() {
+    return {
+      showModal: false,
 
-}
+    };
+  },
+  methods: {
+    handleClick() {
+      this.showModal = true;
+    },
+    closeModal() {
+      this.showModal = false;
+    },
+
+  },
+};
 </script>
 
-<style>
+<style scoped>
+.top {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+
+}
+
+.top_left {
+  display: flex;
+}
+
+.top_right {
+  display: flex;
+  align-items: center;
+}
+
+.teacher {
+  width: 96px;
+  height: 44px;
+  line-height: 44px;
+  padding: 8px;
+  background-color: #FFFFFF;
+  font-size: 20px;
+  font-weight: 500;
+  border-bottom: 3px solid rgba(54, 129, 252, 1);
+  text-align: center;
 
-</style>
+}
+
+.headteacher {
+  width: 116px;
+  height: 44px;
+  line-height: 44px;
+  font-size: 20px;
+  font-weight: 400;
+  background-color: #FFFFFF;
+  text-align: center;
+  padding: 8px;
+  color: #ccc;
+  margin-left: 20px;
+}
+
+span {
+  font-size: 20px;
+  margin-right: 15px;
+}
+
+.btn {
+  margin-right: 20px;
+  display: flex;
+  flex-direction: row-reverse;
+  cursor: pointer;
+}
+
+.submit,
+.save {
+  width: 48px;
+  height: 28px;
+  background: rgba(54, 129, 252, 1);
+  border-radius: 6px;
+  text-align: center;
+  line-height: 28px;
+  color: #fff;
+}
+
+.main {
+  margin-top: 34px;
+}
+
+table {
+  width: 100%;
+  border-collapse: collapse;
+}
+
+th,
+td {
+  border: 1px solid gray;
+  text-align: center;
+  padding: 8px;
+  background-color: #fff;
+
+}
+
+.dataFrom {
+  color: rgba(0, 32, 228, 1);
+  cursor: pointer;
+
+}
+
+.modal {
+  position: fixed;
+  top: 50%;
+  left: 50%;
+  transform: translate(-50%, -50%);
+  background-color: white;
+
+  padding: 20px;
+  border-radius: 5px;
+  box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.2), 0px 4px 10px rgba(0, 0, 0, 0.1);
+
+  .modal_top {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    margin-bottom: 15px;
+    margin-top: 15px;
+    font-size: 22px;
+    cursor: pointer;
+  }
+}
+
+.more {
+  background-color: rgb(54, 129, 252);
+  color: #fff;
+  text-align: center;
+  width: 80px;
+  height: 40px;
+  line-height: 40px;
+  padding: 8px;
+  font-size: 17px
+}
+</style>

+ 1 - 1
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="false" :class="{ active: type == '1' }" @click="checkType('1')">
+            <div class="nav all" v-show="true" :class="{ active: type == '1' }" @click="checkType('1')">
                 年度考核
             </div>
             <div class="nav all" :class="{ active: type == '' }" @click="checkType('')">

+ 1 - 0
src/main.js

@@ -20,6 +20,7 @@ import Clipboard from "clipboard";
 import hevueImgPreview from './components/tools/hevue-img-preview'
 import './assets/css/button.css'
 import './assets/css/dialog.css'
+import './assets/css/markdownCss.css'
 import VueAudio from 'vue-audio-better'
 
 const echarts = require('echarts');

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.